mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
Removed ENABLE_ZOMBIES-define
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8047 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+1
-7
@@ -274,9 +274,7 @@ BOOLEAN LoadGameSettings()
|
||||
if (!IsHiSpeedClockMode())
|
||||
gGameSettings.fOptions[TOPTION_AUTO_FAST_FORWARD_MODE] = FALSE;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
gGameSettings.fOptions[TOPTION_ZOMBIES] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_ZOMBIES" , FALSE );
|
||||
#endif
|
||||
|
||||
gGameSettings.fOptions[TOPTION_ENABLE_INVENTORY_POPUPS] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_ENABLE_INVENTORY_POPUPS" , TRUE ); // the_bob : enable popups for picking items from sector inv
|
||||
|
||||
@@ -446,9 +444,7 @@ BOOLEAN SaveGameSettings()
|
||||
settings << "TOPTION_SHOW_LBE_CONTENT = " << (gGameSettings.fOptions[TOPTION_SHOW_LBE_CONTENT] ? "TRUE" : "FALSE" ) << endl;
|
||||
settings << "TOPTION_INVERT_WHEEL = " << (gGameSettings.fOptions[TOPTION_INVERT_WHEEL] ? "TRUE" : "FALSE" ) << endl;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
settings << "TOPTION_ZOMBIES = " << (gGameSettings.fOptions[TOPTION_ZOMBIES] ? "TRUE" : "FALSE" ) << endl;
|
||||
#endif
|
||||
settings << "TOPTION_ENABLE_INVENTORY_POPUPS = " << (gGameSettings.fOptions[TOPTION_ENABLE_INVENTORY_POPUPS] ? "TRUE" : "FALSE" ) << endl; // the_bob : enable popups for picking items from sector inv
|
||||
settings << "TOPTION_MERCENARY_FORMATIONS = " << (gGameSettings.fOptions[TOPTION_MERCENARY_FORMATIONS] ? "TRUE" : "FALSE" ) << endl;
|
||||
|
||||
@@ -581,9 +577,7 @@ void InitGameSettings()
|
||||
|
||||
gGameSettings.fOptions[ TOPTION_AUTO_FAST_FORWARD_MODE ] = FALSE;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
gGameSettings.fOptions[ TOPTION_ZOMBIES ] = FALSE; // Flugente Zombies 1.0
|
||||
#endif
|
||||
gGameSettings.fOptions[ TOPTION_ZOMBIES ] = FALSE; // Flugente Zombies
|
||||
|
||||
gGameSettings.fOptions[ TOPTION_ENABLE_INVENTORY_POPUPS ] = TRUE; // the_bob : enable popups for picking items from sector inv
|
||||
|
||||
|
||||
+1
-3
@@ -89,9 +89,7 @@ enum
|
||||
|
||||
TOPTION_AUTO_FAST_FORWARD_MODE, // automatically fast forward through AI turns
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
TOPTION_ZOMBIES, // Flugente Zombies 1.0: allow zombies
|
||||
#endif
|
||||
TOPTION_ZOMBIES, // Flugente Zombies: allow zombies
|
||||
|
||||
TOPTION_ENABLE_INVENTORY_POPUPS, // the_bob : enable popups for picking items from sector inv
|
||||
|
||||
|
||||
+2
-12
@@ -5075,11 +5075,8 @@ void DisplayDepartedCharStats(INT32 iId, INT32 iSlot, INT32 iState)
|
||||
// kills
|
||||
mprintf((INT16)(pPersonnelScreenPoints[20].x+(iSlot*TEXT_BOX_WIDTH)),(pPersonnelScreenPoints[20].y - 12),pPersonnelScreenStrings[PRSNL_TXT_KILLS]);
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
swprintf(sString, L"%d",(gMercProfiles[iId].records.usKillsElites + gMercProfiles[iId].records.usKillsRegulars + gMercProfiles[iId].records.usKillsAdmins + gMercProfiles[iId].records.usKillsHostiles + gMercProfiles[iId].records.usKillsCreatures + gMercProfiles[iId].records.usKillsZombies + gMercProfiles[iId].records.usKillsTanks + gMercProfiles[iId].records.usKillsOthers));
|
||||
#else
|
||||
swprintf(sString, L"%d",(gMercProfiles[iId].records.usKillsElites + gMercProfiles[iId].records.usKillsRegulars + gMercProfiles[iId].records.usKillsAdmins + gMercProfiles[iId].records.usKillsHostiles + gMercProfiles[iId].records.usKillsCreatures + gMercProfiles[iId].records.usKillsTanks + gMercProfiles[iId].records.usKillsOthers));
|
||||
#endif
|
||||
|
||||
FindFontRightCoordinates((INT16)(pPersonnelScreenPoints[20].x+(iSlot*TEXT_BOX_WIDTH)),0,TEXT_BOX_WIDTH-20,0,sString, PERS_FONT, &sX, &sY);
|
||||
mprintf(sX,(pPersonnelScreenPoints[20].y - 12),sString);
|
||||
|
||||
@@ -7053,11 +7050,8 @@ DEF:3/19/99:
|
||||
// kills
|
||||
mprintf((INT16)(pPersonnelScreenPoints[20].x+(iSlot*TEXT_BOX_WIDTH)),(pPersonnelScreenPoints[20].y - 12),pPersonnelScreenStrings[PRSNL_TXT_KILLS]);
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
swprintf(sString, L"%d",(gMercProfiles[Menptr[iId].ubProfile].records.usKillsElites + gMercProfiles[Menptr[iId].ubProfile].records.usKillsRegulars + gMercProfiles[Menptr[iId].ubProfile].records.usKillsAdmins + gMercProfiles[Menptr[iId].ubProfile].records.usKillsHostiles + gMercProfiles[Menptr[iId].ubProfile].records.usKillsCreatures + gMercProfiles[Menptr[iId].ubProfile].records.usKillsZombies + gMercProfiles[Menptr[iId].ubProfile].records.usKillsTanks + gMercProfiles[Menptr[iId].ubProfile].records.usKillsOthers));
|
||||
#else
|
||||
swprintf(sString, L"%d",(gMercProfiles[Menptr[iId].ubProfile].records.usKillsElites + gMercProfiles[Menptr[iId].ubProfile].records.usKillsRegulars + gMercProfiles[Menptr[iId].ubProfile].records.usKillsAdmins + gMercProfiles[Menptr[iId].ubProfile].records.usKillsHostiles + gMercProfiles[Menptr[iId].ubProfile].records.usKillsCreatures + gMercProfiles[Menptr[iId].ubProfile].records.usKillsTanks + gMercProfiles[Menptr[iId].ubProfile].records.usKillsOthers));
|
||||
#endif
|
||||
|
||||
FindFontRightCoordinates((INT16)(pPersonnelScreenPoints[20].x+(iSlot*TEXT_BOX_WIDTH)),0,TEXT_BOX_WIDTH-20,0,sString, PERS_FONT, &sX, &sY);
|
||||
mprintf(sX,(pPersonnelScreenPoints[20].y - 12),sString);
|
||||
|
||||
@@ -8612,7 +8606,6 @@ void AssignPersonnelKillsHelpText( INT32 ubProfile )
|
||||
wcscat( apStr, atStr );
|
||||
}
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
if (gGameSettings.fOptions[TOPTION_ZOMBIES] )
|
||||
{
|
||||
if (gMercProfiles[ubProfile].records.usKillsZombies > 0 || fShowRecordsIfZero)
|
||||
@@ -8621,13 +8614,10 @@ void AssignPersonnelKillsHelpText( INT32 ubProfile )
|
||||
wcscat( apStr, atStr );
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// Set region help text
|
||||
SetRegionFastHelpText( &(gSkillTraitHelpTextRegion[7]), apStr );
|
||||
SetRegionHelpEndCallback( &gSkillTraitHelpTextRegion[7], MSYS_NO_CALLBACK );
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void AssignPersonnelAssistsHelpText( INT32 ubProfile )
|
||||
|
||||
@@ -34,10 +34,10 @@ namespace AI
|
||||
find_supper->add_subplan(peck);
|
||||
return find_supper;
|
||||
}
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
|
||||
if(npc->IsZombie())
|
||||
return new LegacyZombiePlan(npc);
|
||||
#endif
|
||||
|
||||
return new LegacyAIPlan(npc); // no special plan for other cases yet, return default legacy AI wrapper
|
||||
}
|
||||
|
||||
|
||||
@@ -1398,9 +1398,7 @@ void HandleOptionToggle( UINT8 Button_UserData_0, UINT8 Button_UserData_1, BOOLE
|
||||
case TOPTION_ALLOW_SOLDIER_TOOLTIPS:
|
||||
case TOPTION_USE_AUTO_SAVE:
|
||||
case TOPTION_TOGGLE_TURN_MODE:
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
case TOPTION_ZOMBIES:
|
||||
#endif
|
||||
gGameSettings.fOptions[ Button_UserData_1 ] = FALSE;
|
||||
break;
|
||||
}
|
||||
@@ -1465,9 +1463,7 @@ void HandleOptionToggle( UINT8 Button_UserData_0, UINT8 Button_UserData_1, BOOLE
|
||||
case TOPTION_ALLOW_SOLDIER_TOOLTIPS:
|
||||
case TOPTION_USE_AUTO_SAVE:
|
||||
case TOPTION_TOGGLE_TURN_MODE:
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
case TOPTION_ZOMBIES:
|
||||
#endif
|
||||
gGameSettings.fOptions[ Button_UserData_1 ] = FALSE;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -4640,11 +4640,9 @@ void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
|
||||
case SOLDIER_CLASS_CREATURE :
|
||||
gMercProfiles[ pAttacker->pSoldier->ubProfile ].records.usKillsCreatures++;
|
||||
break;
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
case SOLDIER_CLASS_ZOMBIE :
|
||||
gMercProfiles[ pAttacker->pSoldier->ubProfile ].records.usKillsZombies++;
|
||||
break;
|
||||
#endif
|
||||
default :
|
||||
if ( CREATURE_OR_BLOODCAT( pTarget->pSoldier ) )
|
||||
gMercProfiles[ pAttacker->pSoldier->ubProfile ].records.usKillsCreatures++;
|
||||
@@ -4856,11 +4854,9 @@ void TargetHitCallback( SOLDIERCELL *pTarget, INT32 index )
|
||||
case SOLDIER_CLASS_CREATURE :
|
||||
gMercProfiles[ pKiller->pSoldier->ubProfile ].records.usKillsCreatures++;
|
||||
break;
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
case SOLDIER_CLASS_ZOMBIE :
|
||||
gMercProfiles[ pKiller->pSoldier->ubProfile ].records.usKillsZombies++;
|
||||
break;
|
||||
#endif
|
||||
default :
|
||||
if ( CREATURE_OR_BLOODCAT( pTarget->pSoldier ) )
|
||||
gMercProfiles[ pKiller->pSoldier->ubProfile ].records.usKillsCreatures++;
|
||||
|
||||
@@ -844,9 +844,7 @@ void EndMeanwhile( )
|
||||
{
|
||||
// We leave this sector open for our POWs to escape!
|
||||
// Set music mode to enemy present!
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
UseCreatureMusic(HostileZombiesPresent());
|
||||
#endif
|
||||
|
||||
SetMusicMode( MUSIC_TACTICAL_ENEMYPRESENT );
|
||||
|
||||
|
||||
@@ -921,16 +921,14 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
|
||||
//Disable the options button when the auto resolve screen comes up
|
||||
EnableDisAbleMapScreenOptionsButton( FALSE );
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
UseCreatureMusic(HostileZombiesPresent());
|
||||
#endif
|
||||
|
||||
#ifdef NEWMUSIC
|
||||
#ifdef NEWMUSIC
|
||||
GlobalSoundID = MusicSoundValues[ SECTOR( gubPBSectorX, gubPBSectorY ) ].SoundTacticalTensor[gubPBSectorZ];
|
||||
if ( MusicSoundValues[ SECTOR( gubPBSectorX, gubPBSectorY ) ].SoundTacticalTensor[gubPBSectorZ] != -1 )
|
||||
SetMusicModeID( MUSIC_TACTICAL_ENEMYPRESENT, MusicSoundValues[ SECTOR( gubPBSectorX, gubPBSectorY ) ].SoundTacticalTensor[gubPBSectorZ] );
|
||||
else
|
||||
#endif
|
||||
#endif
|
||||
SetMusicMode( MUSIC_TACTICAL_ENEMYPRESENT );
|
||||
|
||||
#ifdef JA2UB
|
||||
|
||||
@@ -1059,15 +1059,14 @@ void PrepareForPreBattleInterface( GROUP *pPlayerDialogGroup, GROUP *pInitiating
|
||||
}
|
||||
|
||||
//Set music
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
UseCreatureMusic(HostileZombiesPresent());
|
||||
#endif
|
||||
#ifdef NEWMUSIC
|
||||
|
||||
#ifdef NEWMUSIC
|
||||
GlobalSoundID = MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ];
|
||||
if ( MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ] != -1 )
|
||||
SetMusicModeID( MUSIC_TACTICAL_ENEMYPRESENT, MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ] );
|
||||
else
|
||||
#endif
|
||||
#endif
|
||||
SetMusicMode( MUSIC_TACTICAL_ENEMYPRESENT );
|
||||
|
||||
if( gfTacticalTraversal && pInitiatingBattleGroup == gpTacticalTraversalGroup ||
|
||||
|
||||
@@ -862,11 +862,9 @@ void GenerateRandomEquipment( SOLDIERCREATE_STRUCT *pp, INT8 bSoldierClass, INT8
|
||||
}
|
||||
break;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
case SOLDIER_CLASS_ZOMBIE:
|
||||
// zombies get no items at all...
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
UINT32 invsize = pp->Inv.size();
|
||||
@@ -1086,11 +1084,8 @@ void ChooseWeaponForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bWeaponC
|
||||
bStatus += (INT8)(HighestPlayerProgressPercentage() / 10);
|
||||
bStatus = (INT8)min( 100, bStatus );
|
||||
break;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
case SOLDIER_CLASS_ZOMBIE:
|
||||
bStatus = (INT8)(1); // if a zombie gets anything, it'll be broken
|
||||
#endif
|
||||
bStatus = 1; // if a zombie gets anything, it'll be broken
|
||||
default:
|
||||
bStatus = (INT8)(50 + Random( 51 ) );
|
||||
break;
|
||||
@@ -2144,9 +2139,7 @@ void ChooseFaceGearForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp )
|
||||
break;
|
||||
case SOLDIER_CLASS_ADMINISTRATOR:
|
||||
case SOLDIER_CLASS_GREEN_MILITIA:
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
case SOLDIER_CLASS_ZOMBIE:
|
||||
#endif
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
@@ -993,15 +993,14 @@ void HandleFirstHeliDropOfGame( )
|
||||
SayQuoteFromAnyBodyInSector( QUOTE_ENEMY_PRESENCE );
|
||||
|
||||
// Start music
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
UseCreatureMusic(HostileZombiesPresent());
|
||||
#endif
|
||||
#ifdef NEWMUSIC
|
||||
|
||||
#ifdef NEWMUSIC
|
||||
GlobalSoundID = MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ];
|
||||
if ( MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ] != -1 )
|
||||
SetMusicModeID( MUSIC_TACTICAL_ENEMYPRESENT, MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ] );
|
||||
else
|
||||
#endif
|
||||
#endif
|
||||
SetMusicMode( MUSIC_TACTICAL_ENEMYPRESENT );
|
||||
|
||||
}
|
||||
|
||||
+8
-18
@@ -6242,16 +6242,14 @@ void ExitCombatMode( )
|
||||
// unused
|
||||
//gfForceMusicToTense = TRUE;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
UseCreatureMusic(HostileZombiesPresent());
|
||||
#endif
|
||||
|
||||
#ifdef NEWMUSIC
|
||||
#ifdef NEWMUSIC
|
||||
GlobalSoundID = MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ];
|
||||
if ( MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ] != -1 )
|
||||
SetMusicModeID( MUSIC_TACTICAL_ENEMYPRESENT, MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ] );
|
||||
else
|
||||
#endif
|
||||
#endif
|
||||
SetMusicMode( MUSIC_TACTICAL_ENEMYPRESENT );
|
||||
|
||||
BetweenTurnsVisibilityAdjustments();
|
||||
@@ -6311,15 +6309,14 @@ void SetEnemyPresence( )
|
||||
#endif
|
||||
{
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
UseCreatureMusic(HostileZombiesPresent());
|
||||
#endif
|
||||
#ifdef NEWMUSIC
|
||||
|
||||
#ifdef NEWMUSIC
|
||||
GlobalSoundID = MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ];
|
||||
if ( MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ] != -1 )
|
||||
SetMusicModeID( MUSIC_TACTICAL_ENEMYPRESENT, MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ] );
|
||||
else
|
||||
#endif
|
||||
#endif
|
||||
SetMusicMode( MUSIC_TACTICAL_ENEMYPRESENT );
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("SetEnemyPresence: warnings = false"));
|
||||
@@ -6658,15 +6655,14 @@ BOOLEAN CheckForEndOfCombatMode( BOOLEAN fIncrementTurnsNotSeen )
|
||||
// Begin tense music....
|
||||
// unused
|
||||
//gfForceMusicToTense = TRUE;
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
UseCreatureMusic(HostileZombiesPresent());
|
||||
#endif
|
||||
#ifdef NEWMUSIC
|
||||
|
||||
#ifdef NEWMUSIC
|
||||
GlobalSoundID = MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ];
|
||||
if ( MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ] != -1 )
|
||||
SetMusicModeID( MUSIC_TACTICAL_ENEMYPRESENT, MusicSoundValues[ SECTOR( gWorldSectorX, gWorldSectorY ) ].SoundTacticalTensor[gbWorldSectorZ] );
|
||||
else
|
||||
#endif
|
||||
#endif
|
||||
SetMusicMode( MUSIC_TACTICAL_ENEMYPRESENT );
|
||||
|
||||
return( TRUE );
|
||||
@@ -7082,10 +7078,8 @@ BOOLEAN CheckForEndOfBattle( BOOLEAN fAnEnemyRetreated )
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
if ( HostileZombiesPresent() ) //Madd: got tired of the victory music playing right after the zombies arose
|
||||
return FALSE;
|
||||
#endif
|
||||
|
||||
// OK, this is to releave infinate looping...becasue we can kill guys in this function
|
||||
if ( gfKillingGuysForLosingBattle )
|
||||
@@ -7802,7 +7796,6 @@ UINT8 NumEnemyInSector( )
|
||||
|
||||
}
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
UINT8 NumZombiesInSector( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
@@ -7822,7 +7815,6 @@ UINT8 NumZombiesInSector( )
|
||||
|
||||
return( ubNumZombies );
|
||||
}
|
||||
#endif
|
||||
|
||||
UINT8 NumEnemyInSectorExceptCreatures()
|
||||
{
|
||||
@@ -10056,7 +10048,6 @@ BOOLEAN HostileBloodcatsPresent( )
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
BOOLEAN HostileZombiesPresent( )
|
||||
{
|
||||
INT32 iLoop;
|
||||
@@ -10079,7 +10070,6 @@ BOOLEAN HostileZombiesPresent( )
|
||||
|
||||
return( FALSE );
|
||||
}
|
||||
#endif
|
||||
|
||||
void HandleCreatureTenseQuote( )
|
||||
{
|
||||
|
||||
@@ -318,10 +318,7 @@ void DoPOWPathChecks( );
|
||||
BOOLEAN HostileCiviliansWithGunsPresent( );
|
||||
BOOLEAN HostileCiviliansPresent( );
|
||||
BOOLEAN HostileBloodcatsPresent( );
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
BOOLEAN HostileZombiesPresent( );
|
||||
#endif
|
||||
|
||||
UINT8 NumPCsInSector( );
|
||||
void SetSoldierNonNeutral( SOLDIERTYPE * pSoldier );
|
||||
@@ -353,10 +350,8 @@ BOOLEAN WillAirRaidBeStopped( INT16 sSectorX, INT16 sSectorY );
|
||||
// HEADROCK HAM 3.5: Externalized for First Arrival enemy check
|
||||
extern UINT8 NumEnemyInSector();
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Flugente
|
||||
extern UINT8 NumZombiesInSector();
|
||||
#endif
|
||||
|
||||
// Flugente: offer the enemy the chance to surrender
|
||||
void HandleSurrenderOffer( SOLDIERTYPE* pSoldier );
|
||||
|
||||
@@ -590,11 +590,9 @@ INT32 AddRottingCorpse( ROTTING_CORPSE_DEFINITION *pCorpseDef )
|
||||
pCorpse->pAniTile->uiUserData = iIndex;
|
||||
pCorpse->iID = iIndex;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// copy name of corpse definition...
|
||||
memcpy( &(pCorpse->name), &(pCorpseDef->name), sizeof(CHAR16) * 10 );
|
||||
pCorpse->name[9] = '\0';
|
||||
#endif
|
||||
|
||||
pCorpse->fActivated = TRUE;
|
||||
|
||||
@@ -865,7 +863,6 @@ BOOLEAN TurnSoldierIntoCorpse( SOLDIERTYPE *pSoldier, BOOLEAN fRemoveMerc, BOOLE
|
||||
Corpse.usFlags |= ROTTING_CORPSE_USE_SNOW_CAMO_PALETTE;
|
||||
}
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Flugente Zombies: Determine if a zombie can rise from this corpse
|
||||
switch ( gGameExternalOptions.sZombieRiseBehaviour )
|
||||
{
|
||||
@@ -900,7 +897,6 @@ BOOLEAN TurnSoldierIntoCorpse( SOLDIERTYPE *pSoldier, BOOLEAN fRemoveMerc, BOOLE
|
||||
// Flugente: copy name of soldier...
|
||||
memcpy( &(Corpse.name), &(pSoldier->name), sizeof(CHAR16) * 10 );
|
||||
Corpse.name[9] = '\0';
|
||||
#endif
|
||||
|
||||
// if this soldier's uniform was damaged (gunfire, blade attacks, explosions) then don't allow to take the uniform. We can't stay hidden if we're covered in blood :-)
|
||||
if ( pSoldier->usSoldierFlagMask & SOLDIER_DAMAGED_VEST )
|
||||
@@ -2090,10 +2086,8 @@ BOOLEAN TakeCorpse( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel )
|
||||
if ( pCorpse->def.usFlags & ROTTING_CORPSE_NO_PANTS )
|
||||
gTempObject[0]->data.sObjectFlag |= CORPSE_NO_PANTS;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
if ( pCorpse->def.usFlags & ROTTING_CORPSE_NEVER_RISE_AGAIN )
|
||||
gTempObject[0]->data.sObjectFlag |= CORPSE_NO_ZOMBIE_RISE;
|
||||
#endif
|
||||
|
||||
// now we have to get the correct flags for the object from the corpse, so that upon recreating the corpse, it looks the same
|
||||
UINT8 headpal = 0, skinpal = 0, vestpal = 0, pantspal = 0;
|
||||
@@ -2341,11 +2335,9 @@ BOOLEAN AddCorpseFromObject(OBJECTTYPE* pObj, INT32 sGridNo, INT8 bLevel )
|
||||
Corpse.fHeadTaken = FALSE;
|
||||
Corpse.ubAIWarningValue = 20;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Flugente: use zombie name (it's the only way this will ever be relevant again anyway)
|
||||
swprintf( Corpse.name, TacticalStr[ ZOMBIE_TEAM_MERC_NAME ] );
|
||||
Corpse.name[9] = '\0';
|
||||
#endif
|
||||
|
||||
INT32 iCorpseID = AddRottingCorpse( &Corpse );
|
||||
|
||||
@@ -2361,11 +2353,9 @@ BOOLEAN AddCorpseFromObject(OBJECTTYPE* pObj, INT32 sGridNo, INT8 bLevel )
|
||||
|
||||
if ( (*pObj)[0]->data.sObjectFlag & CORPSE_NO_PANTS )
|
||||
gRottingCorpse[ iCorpseID ].def.usFlags |= ROTTING_CORPSE_NO_PANTS;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
|
||||
if ( (*pObj)[0]->data.sObjectFlag & CORPSE_NO_ZOMBIE_RISE )
|
||||
gRottingCorpse[ iCorpseID ].def.usFlags |= ROTTING_CORPSE_NEVER_RISE_AGAIN;
|
||||
#endif
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -2585,7 +2575,6 @@ UINT8 GetNearestRottingCorpseAIWarning( INT32 sGridNo )
|
||||
return( ubHighestWarning );
|
||||
}
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Flugente Zombies: resurrect zombies
|
||||
void RaiseZombies( void )
|
||||
{
|
||||
@@ -3011,7 +3000,6 @@ BOOLEAN CorpseOkToSpawnZombie( ROTTING_CORPSE * pCorpse, UINT16* pAnimState )
|
||||
|
||||
return( canbezombie );
|
||||
}
|
||||
#endif
|
||||
|
||||
// Flugente: can we take the clothes of this corpse?
|
||||
// calling this with NULL for soldier will give a general answer for any bodytype
|
||||
|
||||
@@ -86,9 +86,7 @@ enum RottingCorpseDefines
|
||||
#define ROTTING_CORPSE_USE_DESERT_CAMO_PALETTE 0x00000200 //We use desert palette here....
|
||||
#define ROTTING_CORPSE_USE_SNOW_CAMO_PALETTE 0x00000400 //We use snow palette here....
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
#define ROTTING_CORPSE_NEVER_RISE_AGAIN 0x00000800 //a zombie cannot be created from this corpse (if not set, it'll eventually rise again )
|
||||
#endif
|
||||
#define ROTTING_CORPSE_NEVER_RISE_AGAIN 0x00000800 //a zombie cannot be created from this corpse (if not set, it'll eventually rise again )
|
||||
|
||||
// Flugente: corpses can now be gutted after they have been decapitated. Atm there is no corpse that can be both gutted and decapitated (to be done later)
|
||||
#define ROTTING_CORPSE_HEAD_TAKEN 0x00001000 // head has been taken off
|
||||
@@ -125,10 +123,8 @@ typedef struct
|
||||
|
||||
UINT8 ubFiller[ 10 ]; // Flugente: 12 -> 10, because usFlags was cahnged from UINT16 to UINT32
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Flugente: added name so we can display individual name if corpse gets resurrected...
|
||||
CHAR16 name[ 10 ];
|
||||
#endif
|
||||
|
||||
} ROTTING_CORPSE_DEFINITION;
|
||||
|
||||
@@ -151,10 +147,8 @@ typedef struct
|
||||
BOOLEAN fAttractCrowsOnlyWhenOnScreen;
|
||||
INT32 iID;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Flugente: added name so we can display individual name if corpse gets resurrected...
|
||||
CHAR16 name[ 10 ];
|
||||
#endif
|
||||
|
||||
} ROTTING_CORPSE;
|
||||
|
||||
@@ -226,16 +220,14 @@ INT32 GetGridNoOfCorpseGivenProfileID( UINT8 ubProfileID );
|
||||
void DecayRottingCorpseAIWarnings( void );
|
||||
UINT8 GetNearestRottingCorpseAIWarning( INT32 sGridNo );
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Flugente: Raise zombies
|
||||
void RaiseZombies( void );
|
||||
// Flugente: Raise zombies
|
||||
void RaiseZombies( void );
|
||||
|
||||
// Flugente: create a zombie from a corpse
|
||||
void CreateZombiefromCorpse( ROTTING_CORPSE * pCorpse, UINT16 usAnimState );
|
||||
// Flugente: create a zombie from a corpse
|
||||
void CreateZombiefromCorpse( ROTTING_CORPSE * pCorpse, UINT16 usAnimState );
|
||||
|
||||
// Flugente: returns true if a zombie can be raised from this corpse, and returns the correct pAnimState for the new zombie
|
||||
BOOLEAN CorpseOkToSpawnZombie( ROTTING_CORPSE * pCorpse, UINT16* pAnimState );
|
||||
#endif
|
||||
// Flugente: returns true if a zombie can be raised from this corpse, and returns the correct pAnimState for the new zombie
|
||||
BOOLEAN CorpseOkToSpawnZombie( ROTTING_CORPSE * pCorpse, UINT16* pAnimState );
|
||||
|
||||
// Flugente: can we take the clothes of this corpse?
|
||||
BOOLEAN CorpseOkToDress( ROTTING_CORPSE* pCorpse );
|
||||
|
||||
@@ -3943,11 +3943,9 @@ BOOLEAN HandleSoldierDeath( SOLDIERTYPE *pSoldier , BOOLEAN *pfMadeCorpse )
|
||||
case SOLDIER_CLASS_CREATURE :
|
||||
gMercProfiles[ MercPtrs[ ubAttacker ]->ubProfile ].records.usKillsCreatures++;
|
||||
break;
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
case SOLDIER_CLASS_ZOMBIE :
|
||||
gMercProfiles[ MercPtrs[ ubAttacker ]->ubProfile ].records.usKillsZombies++;
|
||||
break;
|
||||
#endif
|
||||
default :
|
||||
if ( CREATURE_OR_BLOODCAT( pSoldier ) )
|
||||
gMercProfiles[ MercPtrs[ ubAttacker ]->ubProfile ].records.usKillsCreatures++;
|
||||
|
||||
@@ -150,10 +150,8 @@ extern BOOLEAN gfShiftBombPlant;
|
||||
#define MIN_SUBSEQUENT_SNDS_DELAY 2000
|
||||
#include "connect.h"
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
extern void TeleportSelectedSoldier( void );
|
||||
extern BOOLEAN AddSoldierToSectorNoCalculateDirectionUseAnimation( UINT8 ubID, UINT16 usAnimState, UINT16 usAnimCode );
|
||||
#endif
|
||||
|
||||
// Flugente: external sector data
|
||||
extern SECTOR_EXT_DATA SectorExternalData[256][4];
|
||||
@@ -1369,11 +1367,7 @@ MERCPROFILESTRUCT& MERCPROFILESTRUCT::operator=(const OLD_MERCPROFILESTRUCT_101&
|
||||
this->records.usKillsAdmins = (src.usKills / 4);
|
||||
this->records.usKillsHostiles = 0;
|
||||
this->records.usKillsCreatures = 0;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
this->records.usKillsZombies = 0;
|
||||
#endif
|
||||
|
||||
this->records.usKillsTanks = 0;
|
||||
this->records.usKillsOthers = 0;
|
||||
this->records.usAssistsMercs = (src.usAssists * 3 / 4);
|
||||
@@ -9363,7 +9357,6 @@ void SOLDIERTYPE::BeginSoldierClimbUpRoof( void )
|
||||
this->ubPendingDirection = bNewDirection;
|
||||
//this->usPendingAnimation = CLIMBUPROOF;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Flugente: In case an animation is missing (zombies with bodytype of civilians), we TELEPORT instead
|
||||
if ( IsAnimationValidForBodyType( this, CLIMBUPROOF ) == FALSE )
|
||||
{
|
||||
@@ -9373,9 +9366,6 @@ void SOLDIERTYPE::BeginSoldierClimbUpRoof( void )
|
||||
}
|
||||
else
|
||||
this->EVENT_InitNewSoldierAnim( CLIMBUPROOF, 0, FALSE );
|
||||
#else
|
||||
this->EVENT_InitNewSoldierAnim( CLIMBUPROOF, 0, FALSE );
|
||||
#endif
|
||||
|
||||
this->InternalReceivingSoldierCancelServices( FALSE );
|
||||
this->InternalGivingSoldierCancelServices( FALSE );
|
||||
@@ -10059,15 +10049,12 @@ UINT8 SOLDIERTYPE::SoldierTakeDamage( INT8 bHeight, INT16 sLifeDeduct, INT16 sBr
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
else if ( this->IsZombie( ) && this->stats.bLife > 0 && this->stats.bLife < OKLIFE )
|
||||
{
|
||||
// a zombie doesn't automatically die, so he would normally stand up again after being hit.
|
||||
// We don't want that, because he is dying, so we manually skip that animation
|
||||
this->usPendingAnimation = NO_PENDING_ANIMATION;
|
||||
}
|
||||
#endif
|
||||
|
||||
if ( fShowDamage )
|
||||
{
|
||||
@@ -10776,7 +10763,6 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
|
||||
}
|
||||
}
|
||||
}
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
else if ( pSoldier->IsZombie( ) ) // Madd: add zombie sounds
|
||||
{
|
||||
if ( ubSoundID == BATTLE_SOUND_DIE1 )
|
||||
@@ -10796,7 +10782,6 @@ BOOLEAN SOLDIERTYPE::InternalDoMercBattleSound( UINT8 ubBattleSoundID, INT8 bSpe
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
if ( ubSoundID == BATTLE_SOUND_DIE1 )
|
||||
@@ -11054,7 +11039,6 @@ void SOLDIERTYPE::BeginSoldierClimbDownRoof( void )
|
||||
|
||||
this->ubPendingDirection = bNewDirection;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Flugente: In case an animation is missing (zombies with bodytype of civilians), we TELEPORT instead
|
||||
if ( IsAnimationValidForBodyType( this, JUMPDOWNWALL ) == FALSE )
|
||||
{
|
||||
@@ -11064,9 +11048,6 @@ void SOLDIERTYPE::BeginSoldierClimbDownRoof( void )
|
||||
}
|
||||
else
|
||||
this->EVENT_InitNewSoldierAnim( JUMPDOWNWALL, 0, FALSE );
|
||||
#else
|
||||
this->EVENT_InitNewSoldierAnim( JUMPDOWNWALL, 0, FALSE );
|
||||
#endif
|
||||
|
||||
this->InternalReceivingSoldierCancelServices( FALSE );
|
||||
this->InternalGivingSoldierCancelServices( FALSE );
|
||||
@@ -12330,7 +12311,6 @@ void SOLDIERTYPE::EVENT_SoldierBeginPunchAttack( INT32 sGridNo, UINT8 ubDirectio
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Flugente: civilians can be zombies too, but they do not have a 'punch' animation. Simple fix: They 'attack' without animation...
|
||||
// CHECK IF WE CAN DO THIS ANIMATION!
|
||||
if ( this->IsZombie( ) && IsAnimationValidForBodyType( this, PUNCH ) == FALSE )
|
||||
@@ -12397,13 +12377,10 @@ void SOLDIERTYPE::EVENT_SoldierBeginPunchAttack( INT32 sGridNo, UINT8 ubDirectio
|
||||
}
|
||||
else
|
||||
{
|
||||
#endif
|
||||
// Flugente: zombies do not kick
|
||||
BOOLEAN nokick = FALSE;
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
if ( this->IsZombie( ) )
|
||||
nokick = TRUE;
|
||||
#endif
|
||||
|
||||
// Look at stance of target
|
||||
switch ( gAnimControl[pTSoldier->usAnimState].ubEndHeight )
|
||||
@@ -12547,9 +12524,7 @@ void SOLDIERTYPE::EVENT_SoldierBeginPunchAttack( INT32 sGridNo, UINT8 ubDirectio
|
||||
}
|
||||
break;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14543,8 +14518,6 @@ INT32 SOLDIERTYPE::GetDamageResistance( BOOLEAN fAutoResolve, BOOLEAN fCalcBreat
|
||||
resistance += gGameExternalOptions.sEnemyRegularDamageResistance;
|
||||
else if ( this->ubSoldierClass == SOLDIER_CLASS_ELITE && gGameExternalOptions.sEnemyEliteDamageResistance != 0 )
|
||||
resistance += gGameExternalOptions.sEnemyEliteDamageResistance;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
else if ( IsZombie( ) )
|
||||
{
|
||||
if ( fCalcBreathLoss )
|
||||
@@ -14552,7 +14525,6 @@ INT32 SOLDIERTYPE::GetDamageResistance( BOOLEAN fAutoResolve, BOOLEAN fCalcBreat
|
||||
else
|
||||
resistance += gGameExternalOptions.sEnemyZombieDamageResistance;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -14652,11 +14624,7 @@ INT16 SOLDIERTYPE::GetSoldierCriticalDamageBonus( void )
|
||||
|
||||
BOOLEAN SOLDIERTYPE::IsZombie( void )
|
||||
{
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
return(ubSoldierClass == SOLDIER_CLASS_ZOMBIE);
|
||||
#else
|
||||
return FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
// reset the extra stat variables
|
||||
|
||||
+41
-59
@@ -2399,9 +2399,7 @@ void CreateDetailedPlacementGivenBasicPlacementInfo( SOLDIERCREATE_STRUCT *pp, B
|
||||
switch( ubSoldierClass )
|
||||
{
|
||||
case SOLDIER_CLASS_ADMINISTRATOR:
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
case SOLDIER_CLASS_ZOMBIE:
|
||||
#endif
|
||||
pp->bExpLevel = (INT8) 2 + bExpLevelModifier;
|
||||
break;
|
||||
case SOLDIER_CLASS_ARMY:
|
||||
@@ -2553,21 +2551,18 @@ void CreateDetailedPlacementGivenBasicPlacementInfo( SOLDIERCREATE_STRUCT *pp, B
|
||||
//If it is a detailed placement, don't do this yet, as detailed placements may have their
|
||||
//own equipment.
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("CreateDetailedPlacementGivenBasicPlacementInfo: generate random equipment"));
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
|
||||
if( !bp->fDetailedPlacement && ubSoldierClass != SOLDIER_CLASS_NONE && ubSoldierClass != SOLDIER_CLASS_CREATURE && ubSoldierClass != SOLDIER_CLASS_MINER && ubSoldierClass != SOLDIER_CLASS_ZOMBIE )
|
||||
#else
|
||||
if( !bp->fDetailedPlacement && ubSoldierClass != SOLDIER_CLASS_NONE && ubSoldierClass != SOLDIER_CLASS_CREATURE && ubSoldierClass != SOLDIER_CLASS_MINER )
|
||||
#endif
|
||||
{
|
||||
GenerateRandomEquipment( pp, ubSoldierClass, bp->bRelativeEquipmentLevel);
|
||||
GenerateRandomEquipment( pp, ubSoldierClass, bp->bRelativeEquipmentLevel);
|
||||
|
||||
// Flugente testing: militia get equipment in a different way
|
||||
if ( pp->bTeam == MILITIA_TEAM && sX > 0 && sX < 17 && sY > 0 && sY < 17 )
|
||||
{
|
||||
INT8 sZ = gbWorldSectorZ > -1 ? gbWorldSectorZ : 0;
|
||||
// Flugente testing: militia get equipment in a different way
|
||||
if ( pp->bTeam == MILITIA_TEAM && sX > 0 && sX < 17 && sY > 0 && sY < 17 )
|
||||
{
|
||||
INT8 sZ = gbWorldSectorZ > -1 ? gbWorldSectorZ : 0;
|
||||
|
||||
TakeMilitiaEquipmentfromSector(sX, sY, sZ, pp, ubSoldierClass);
|
||||
}
|
||||
TakeMilitiaEquipmentfromSector(sX, sY, sZ, pp, ubSoldierClass);
|
||||
}
|
||||
}
|
||||
|
||||
DecideToAssignSniperOrders(pp);
|
||||
@@ -2739,11 +2734,7 @@ void CreateDetailedPlacementGivenStaticDetailedPlacementAndBasicPlacementInfo(
|
||||
// ReplaceExtendedGuns( pp, bp->ubSoldierClass );
|
||||
//}
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
if( bp->ubSoldierClass != SOLDIER_CLASS_NONE && bp->ubSoldierClass != SOLDIER_CLASS_CREATURE && bp->ubSoldierClass != SOLDIER_CLASS_MINER && bp->ubSoldierClass != SOLDIER_CLASS_ZOMBIE )
|
||||
#else
|
||||
if( bp->ubSoldierClass != SOLDIER_CLASS_NONE && bp->ubSoldierClass != SOLDIER_CLASS_CREATURE && bp->ubSoldierClass != SOLDIER_CLASS_MINER )
|
||||
#endif
|
||||
{
|
||||
GenerateRandomEquipment( pp, bp->ubSoldierClass, bp->bRelativeEquipmentLevel);
|
||||
|
||||
@@ -2946,12 +2937,9 @@ SOLDIERTYPE* ReserveTacticalSoldierForAutoresolve( UINT8 ubSoldierClass )
|
||||
//returns the pointer to that soldier. This is used when copying the exact status of
|
||||
//all remaining enemy troops (or creatures) to finish the battle in autoresolve. To
|
||||
//signify that the troop has already been reserved, we simply set their gridno to NOWHERE.
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
if( ubSoldierClass != SOLDIER_CLASS_CREATURE && ubSoldierClass != SOLDIER_CLASS_ZOMBIE )
|
||||
#else
|
||||
if( ubSoldierClass != SOLDIER_CLASS_CREATURE )
|
||||
#endif
|
||||
{ //use the enemy team
|
||||
{
|
||||
//use the enemy team
|
||||
iStart = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID;
|
||||
iEnd = gTacticalStatus.Team[ ENEMY_TEAM ].bLastID;
|
||||
}
|
||||
@@ -3171,41 +3159,39 @@ SOLDIERTYPE* TacticalCreateJeep()
|
||||
return( pSoldier );
|
||||
}
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
//USED BY STRATEGIC AI and AUTORESOLVE
|
||||
SOLDIERTYPE* TacticalCreateZombie()
|
||||
//USED BY STRATEGIC AI and AUTORESOLVE
|
||||
SOLDIERTYPE* TacticalCreateZombie()
|
||||
{
|
||||
BASIC_SOLDIERCREATE_STRUCT bp;
|
||||
SOLDIERCREATE_STRUCT pp;
|
||||
UINT8 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
if( guiCurrentScreen == AUTORESOLVE_SCREEN && !gfPersistantPBI )
|
||||
{
|
||||
BASIC_SOLDIERCREATE_STRUCT bp;
|
||||
SOLDIERCREATE_STRUCT pp;
|
||||
UINT8 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
if( guiCurrentScreen == AUTORESOLVE_SCREEN && !gfPersistantPBI )
|
||||
{
|
||||
pSoldier = ReserveTacticalSoldierForAutoresolve( SOLDIER_CLASS_ZOMBIE );
|
||||
if( pSoldier ) return pSoldier;
|
||||
}
|
||||
|
||||
memset( &bp, 0, sizeof( BASIC_SOLDIERCREATE_STRUCT ) );
|
||||
RandomizeRelativeLevel( &( bp.bRelativeAttributeLevel ), SOLDIER_CLASS_ZOMBIE );
|
||||
RandomizeRelativeLevel( &( bp.bRelativeEquipmentLevel ), SOLDIER_CLASS_ZOMBIE );
|
||||
bp.bTeam = CREATURE_TEAM;//ZOMBIE_TEAM;
|
||||
bp.bOrders = SEEKENEMY;
|
||||
bp.bAttitude = AGGRESSIVE;
|
||||
bp.ubBodyType = -1;
|
||||
bp.ubSoldierClass = SOLDIER_CLASS_ZOMBIE;
|
||||
CreateDetailedPlacementGivenBasicPlacementInfo( &pp, &bp );
|
||||
pSoldier = TacticalCreateSoldier( &pp, &ubID );
|
||||
if ( pSoldier )
|
||||
{
|
||||
// send soldier to centre of map, roughly
|
||||
pSoldier->aiData.sNoiseGridno = (CENTRAL_GRIDNO + ( Random( CENTRAL_RADIUS * 2 + 1 ) - CENTRAL_RADIUS ) + ( Random( CENTRAL_RADIUS * 2 + 1 ) - CENTRAL_RADIUS ) * WORLD_COLS);
|
||||
pSoldier->aiData.ubNoiseVolume = MAX_MISC_NOISE_DURATION;
|
||||
}
|
||||
|
||||
return( pSoldier );
|
||||
pSoldier = ReserveTacticalSoldierForAutoresolve( SOLDIER_CLASS_ZOMBIE );
|
||||
if( pSoldier ) return pSoldier;
|
||||
}
|
||||
#endif
|
||||
|
||||
memset( &bp, 0, sizeof( BASIC_SOLDIERCREATE_STRUCT ) );
|
||||
RandomizeRelativeLevel( &( bp.bRelativeAttributeLevel ), SOLDIER_CLASS_ZOMBIE );
|
||||
RandomizeRelativeLevel( &( bp.bRelativeEquipmentLevel ), SOLDIER_CLASS_ZOMBIE );
|
||||
bp.bTeam = CREATURE_TEAM;//ZOMBIE_TEAM;
|
||||
bp.bOrders = SEEKENEMY;
|
||||
bp.bAttitude = AGGRESSIVE;
|
||||
bp.ubBodyType = -1;
|
||||
bp.ubSoldierClass = SOLDIER_CLASS_ZOMBIE;
|
||||
CreateDetailedPlacementGivenBasicPlacementInfo( &pp, &bp );
|
||||
pSoldier = TacticalCreateSoldier( &pp, &ubID );
|
||||
if ( pSoldier )
|
||||
{
|
||||
// send soldier to centre of map, roughly
|
||||
pSoldier->aiData.sNoiseGridno = (CENTRAL_GRIDNO + ( Random( CENTRAL_RADIUS * 2 + 1 ) - CENTRAL_RADIUS ) + ( Random( CENTRAL_RADIUS * 2 + 1 ) - CENTRAL_RADIUS ) * WORLD_COLS);
|
||||
pSoldier->aiData.ubNoiseVolume = MAX_MISC_NOISE_DURATION;
|
||||
}
|
||||
|
||||
return( pSoldier );
|
||||
}
|
||||
|
||||
SOLDIERTYPE* ReserveTacticalMilitiaSoldierForAutoresolve( UINT8 ubSoldierClass )
|
||||
{
|
||||
@@ -5085,10 +5071,8 @@ BOOLEAN AssignTraitsToSoldier( SOLDIERTYPE *pSoldier, SOLDIERCREATE_STRUCT *pCre
|
||||
iChance = 10 + ubProgress / 4; // 10-35% chance
|
||||
else if ( ubSolClass == SOLDIER_CLASS_ADMINISTRATOR || ubSolClass == SOLDIER_CLASS_GREEN_MILITIA )
|
||||
iChance = ubProgress / 4; // 0-25% chance
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
else if ( ubSolClass == SOLDIER_CLASS_ZOMBIE )
|
||||
iChance = 100; // 100% chance
|
||||
#endif
|
||||
|
||||
if ( foundHtH ) // if found brass knuckless, increase the chance (doesn't happen often)
|
||||
iChance += 35;
|
||||
@@ -5132,10 +5116,8 @@ BOOLEAN AssignTraitsToSoldier( SOLDIERTYPE *pSoldier, SOLDIERCREATE_STRUCT *pCre
|
||||
iChance = 25 + ubProgress * 2 / 5; // 25-65% chance
|
||||
else if ( ubSolClass == SOLDIER_CLASS_ADMINISTRATOR || ubSolClass == SOLDIER_CLASS_GREEN_MILITIA )
|
||||
iChance = 10 + ubProgress * 2 / 5; // 10-50% chance
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
else if ( ubSolClass == SOLDIER_CLASS_ZOMBIE )
|
||||
iChance = 100; // 100% chance
|
||||
#endif
|
||||
|
||||
// modify the chance by preset ini setting
|
||||
if ( gGameExternalOptions.bAssignedTraitsRarity != 0 )
|
||||
|
||||
@@ -439,9 +439,7 @@ SOLDIERTYPE* TacticalCreateSoldier( SOLDIERCREATE_STRUCT *pCreateStruct, UINT8 *
|
||||
SOLDIERTYPE* TacticalCreateAdministrator();
|
||||
SOLDIERTYPE* TacticalCreateEliteEnemy();
|
||||
SOLDIERTYPE* TacticalCreateArmyTroop();
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
SOLDIERTYPE* TacticalCreateZombie(); // Flugente Zombies
|
||||
#endif
|
||||
SOLDIERTYPE* TacticalCreateZombie(); // Flugente Zombies
|
||||
SOLDIERTYPE* TacticalCreateMilitia( UINT8 ubMilitiaClass, INT16 sX, INT16 sY ); // Flugente: added sector coordinates
|
||||
SOLDIERTYPE* TacticalCreateCreature( INT8 bCreatureBodyType );
|
||||
SOLDIERTYPE* TacticalCreateEnemyTank();
|
||||
|
||||
@@ -277,13 +277,11 @@ void HandleTacticalEndTurn( )
|
||||
// Flugente: Cool down/decay all items not in a soldier's inventory
|
||||
CoolDownWorldItems();
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Flugente: raise zombies if in gamescreen and option set
|
||||
if ( guiCurrentScreen == GAME_SCREEN )
|
||||
{
|
||||
RaiseZombies();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -477,13 +477,11 @@ void EndTurnEvents( void )
|
||||
// Flugente: Cool down/decay all items not in a soldier's inventory
|
||||
CoolDownWorldItems( );
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Flugente: raise zombies if in gamescreen and option set
|
||||
if ( guiCurrentScreen == GAME_SCREEN )
|
||||
{
|
||||
RaiseZombies();
|
||||
}
|
||||
#endif
|
||||
|
||||
// decay AI warning values from corpses
|
||||
DecayRottingCorpseAIWarnings();
|
||||
|
||||
@@ -4859,10 +4859,7 @@ void DebugSoldierPage4( )
|
||||
case SOLDIER_CLASS_REG_MILITIA: gprintf( 320, LINE_HEIGHT * ubLine, L"(Reg Militia)" ); break;
|
||||
case SOLDIER_CLASS_ELITE_MILITIA: gprintf( 320, LINE_HEIGHT * ubLine, L"(Elite Militia)" ); break;
|
||||
case SOLDIER_CLASS_MINER: gprintf( 320, LINE_HEIGHT * ubLine, L"(Miner)" ); break;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
case SOLDIER_CLASS_ZOMBIE: gprintf( 320, LINE_HEIGHT * ubLine, L"(Zombie)" ); break;
|
||||
#endif
|
||||
|
||||
default: break; //don't care (don't write anything)
|
||||
}
|
||||
|
||||
@@ -213,11 +213,9 @@ void CreatureCall( SOLDIERTYPE * pCaller );
|
||||
INT8 CreatureDecideAction( SOLDIERTYPE * pCreature );
|
||||
void CreatureDecideAlertStatus( SOLDIERTYPE *pCreature );
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Flugente: Zombie AI
|
||||
INT8 ZombieDecideAction( SOLDIERTYPE * pZombie );
|
||||
void ZombieDecideAlertStatus( SOLDIERTYPE *pZombie );
|
||||
#endif
|
||||
// Flugente: Zombie AI
|
||||
INT8 ZombieDecideAction( SOLDIERTYPE * pZombie );
|
||||
void ZombieDecideAlertStatus( SOLDIERTYPE *pZombie );
|
||||
|
||||
// a variant of ClosestSeenOpponent(...), that allows to find enemies on a roof
|
||||
INT32 ClosestSeenOpponentWithRoof(SOLDIERTYPE *pSoldier, INT32 * psGridNo, INT8 * pbLevel);
|
||||
|
||||
@@ -1284,8 +1284,6 @@ INT16 ActionInProgress(SOLDIERTYPE *pSoldier)
|
||||
|
||||
void TurnBasedHandleNPCAI(SOLDIERTYPE *pSoldier)
|
||||
{
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
|
||||
// added by Flugente: static pointers, used to break out of an endless circles (currently only used for zombie AI)
|
||||
static SOLDIERTYPE* pLastDecisionSoldier = NULL;
|
||||
static INT16 lastdecisioncount = 0;
|
||||
@@ -1312,7 +1310,7 @@ void TurnBasedHandleNPCAI(SOLDIERTYPE *pSoldier)
|
||||
pLastDecisionSoldier = pSoldier;
|
||||
lastdecisioncount = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
// yikes, this shouldn't occur! we should be trying to finish our move!
|
||||
// pSoldier->flags.fNoAPToFinishMove = FALSE;
|
||||
|
||||
@@ -1475,9 +1473,7 @@ void TurnBasedHandleNPCAI(SOLDIERTYPE *pSoldier)
|
||||
{
|
||||
// turn based... abort this guy's turn
|
||||
EndAIGuysTurn( pSoldier );
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
lastdecisioncount = 0;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -2716,11 +2716,9 @@ UINT8 SoldierDifficultyLevel( SOLDIERTYPE * pSoldier )
|
||||
bDifficulty = 4;
|
||||
break;
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
case SOLDIER_CLASS_ZOMBIE:
|
||||
bDifficulty = bDifficultyBase;
|
||||
break;
|
||||
#endif
|
||||
|
||||
default:
|
||||
if (pSoldier->bTeam == CREATURE_TEAM)
|
||||
|
||||
+1926
-1932
File diff suppressed because it is too large
Load Diff
@@ -1846,40 +1846,7 @@ BOOLEAN DamageSoldierFromBlast( UINT8 ubPerson, UINT8 ubOwner, INT32 sBombGridNo
|
||||
sNewWoundAmt = max(1, sNewWoundAmt);
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// Nothing to do here
|
||||
#else
|
||||
////////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - option to make special NPCs stronger - damage resistance
|
||||
if (gGameExternalOptions.usSpecialNPCStronger > 0)
|
||||
{
|
||||
switch( pSoldier->ubProfile )
|
||||
{
|
||||
case CARMEN:
|
||||
case QUEEN:
|
||||
case JOE:
|
||||
case ANNIE:
|
||||
case CHRIS:
|
||||
case KINGPIN:
|
||||
case TIFFANY:
|
||||
case T_REX:
|
||||
case DRUGGIST:
|
||||
case GENERAL:
|
||||
case JIM:
|
||||
case JACK:
|
||||
case OLAF:
|
||||
case RAY:
|
||||
case OLGA:
|
||||
case TYRONE:
|
||||
case MIKE:
|
||||
sNewWoundAmt -= (sNewWoundAmt * gGameExternalOptions.usSpecialNPCStronger / 200);
|
||||
sNewWoundAmt = max( 1, sNewWoundAmt);
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// SANDRO - new merc records - times wounded (blasted by explosion)
|
||||
if ( ( sNewWoundAmt > 1 || sBreathAmt > 1000 ) && pSoldier->ubProfile != NO_PROFILE )
|
||||
gMercProfiles[ pSoldier->ubProfile ].records.usTimesWoundedBlasted++;
|
||||
@@ -2008,12 +1975,8 @@ BOOLEAN DishOutGasDamage( SOLDIERTYPE * pSoldier, EXPLOSIVETYPE * pExplosive, IN
|
||||
}
|
||||
else if ( pExplosive->ubType == EXPLOSV_MUSTGAS )
|
||||
{
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
// zombies and robots are unaffected by mustard gas
|
||||
if ( AM_A_ROBOT( pSoldier ) || pSoldier->IsZombie() )
|
||||
#else
|
||||
if ( AM_A_ROBOT( pSoldier ) )
|
||||
#endif
|
||||
{
|
||||
return( fRecompileMovementCosts );
|
||||
}
|
||||
|
||||
@@ -289,10 +289,8 @@ void SetNewLoadScreenHint()
|
||||
fShow = TRUE;
|
||||
else if ( zLoadScreenHint[cnt].usFlags & LOADSCREEN_FOOD && gGameOptions.fFoodSystem )
|
||||
fShow = TRUE;
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
else if ( zLoadScreenHint[cnt].usFlags & LOADSCREEN_ZOMBIE && gGameSettings.fOptions[TOPTION_ZOMBIES] )
|
||||
fShow = TRUE;
|
||||
#endif
|
||||
else if ( zLoadScreenHint[cnt].usFlags & LOADSCREEN_OVERHEAT_DIRT && (gGameExternalOptions.fWeaponOverheating || gGameExternalOptions.fDirtSystem) )
|
||||
fShow = TRUE;
|
||||
else if ( zLoadScreenHint[cnt].usFlags & LOADSCREEN_NCTH && UsingNewCTHSystem() )
|
||||
|
||||
@@ -6256,9 +6256,7 @@ STR16 zOptionsToggleText[] =
|
||||
L"佣兵修理时保持沉默", // Madd: mercs don't say quotes while repairing
|
||||
L"佣兵医疗时保持沉默", // Madd: mercs don't say quotes while doctoring
|
||||
L"自动加速敌军回合", // Automatic fast forward through AI turns
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"僵尸模式",
|
||||
#endif
|
||||
L"区域物品栏弹窗匹配拾取", // the_bob : enable popups for picking items from sector inv
|
||||
L"标记剩余敌人",
|
||||
L"显示LBE(携行具)物品",
|
||||
@@ -6373,9 +6371,7 @@ STR16 zOptionsScreenHelpText[] =
|
||||
L"打开时,佣兵医疗时不会随时汇报进程。",
|
||||
L"打开时,敌军回合将被大幅加速。",
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"打开时,被击毙的敌人将有可能变成僵尸!杀出个黎明!",
|
||||
#endif
|
||||
L"打开时,在区域物品栏界面,点击佣兵身上空白的携行具位置会弹窗匹配拾取物品。",
|
||||
L"打开时,会直接显示该区域最后一个敌人的大致位置。",
|
||||
L"打开时,在区域物品栏界面,右键点击装有物品的携行具时可直接显示包含的物品。",
|
||||
|
||||
@@ -6257,9 +6257,7 @@ STR16 zOptionsToggleText[] =
|
||||
L"Quiet Repairing", // Madd: mercs don't say quotes while repairing // TODO.Translate
|
||||
L"Quiet Doctoring", // Madd: mercs don't say quotes while doctoring // TODO.Translate
|
||||
L"Auto Fast Forward AI Turns", // Automatic fast forward through AI turns // TODO.Translate
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"Allow Zombies", // TODO.Translate
|
||||
#endif
|
||||
L"Enable inventory popups", // the_bob : enable popups for picking items from sector inv // TODO.Translate
|
||||
L"Mark Remaining Hostiles", // TODO.Translate
|
||||
L"Show LBE Content", // TODO.Translate
|
||||
@@ -6374,9 +6372,7 @@ STR16 zOptionsScreenHelpText[] =
|
||||
L"When ON, mercs will not report progress during doctoring.", // TODO.Translate
|
||||
L"When ON, AI turns will be much faster.", // TODO.Translate
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"When ON, zombies will spawn. Beware!", // allow zombies // TODO.Translate
|
||||
#endif
|
||||
L"When ON, enables popup boxes that appear when you left click on empty merc inventory slots while viewing sector inventory in mapscreen.", // TODO.Translate
|
||||
L"When ON, approximate locations of the last enemies in the sector are highlighted.", // TODO.Translate
|
||||
L"When ON, show the contents of an LBE item, otherwise show the regular NAS interface.", // TODO.Translate
|
||||
|
||||
@@ -6253,9 +6253,7 @@ STR16 zOptionsToggleText[] =
|
||||
L"Quiet Repairing", // Madd: mercs don't say quotes while repairing
|
||||
L"Quiet Doctoring", // Madd: mercs don't say quotes while doctoring
|
||||
L"Auto Fast Forward AI Turns", // Automatic fast forward through AI turns
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"Allow Zombies", // Flugente Zombies 1.0
|
||||
#endif
|
||||
L"Allow Zombies", // Flugente Zombies
|
||||
L"Enable Inventory Popups", // the_bob : enable popups for picking items from sector inv
|
||||
L"Mark Remaining Hostiles",
|
||||
L"Show LBE Content",
|
||||
@@ -6370,9 +6368,7 @@ STR16 zOptionsScreenHelpText[] =
|
||||
L"When ON, mercs will not report progress during doctoring.",
|
||||
L"When ON, AI turns will be much faster.",
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"When ON, zombies will spawn. Beware!", // allow zombies
|
||||
#endif
|
||||
L"When ON, enables popup boxes that appear when left-click on empty merc inventory slots in mapscreen sector inventory.",
|
||||
L"When ON, approximate locations of the last enemies in the sector will be highlighted.",
|
||||
L"When ON, will show the contents of an LBE item; otherwise, regular NAS interface will be shown.",
|
||||
|
||||
@@ -6265,9 +6265,7 @@ STR16 zOptionsToggleText[] =
|
||||
L"Réparer en silence", // Madd: mercs don't say quotes while repairing
|
||||
L"Soigner en silence", // Madd: mercs don't say quotes while doctoring
|
||||
L"Accélérer les tours ennemis", // Automatic fast forward through AI turns
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"Avec zombis", // Flugente Zombies 1.0
|
||||
#endif
|
||||
L"Avec zombis", // Flugente Zombies
|
||||
L"Propose objet/inventaire", // the_bob : enable popups for picking items from sector inv
|
||||
L"Situer ennemi restant",
|
||||
L"Afficher contenu LBE/DESC.",
|
||||
@@ -6381,9 +6379,7 @@ STR16 zOptionsScreenHelpText[] =
|
||||
L"Si activé, les mercenaires ne feront pas de compte rendu des progrès sur les réparations.",
|
||||
L"Si activé, les mercenaires ne feront pas de compte rendu des progrès sur les soins.",
|
||||
L"Si activé, les tours de l'IA seront plus rapides.",
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"Si activé, les zombis seront présents. Soyez au courant !", // allow zombies
|
||||
#endif
|
||||
L"Si activé, ouvrir inventaire d'un mercenaire et celui du secteur.\nClic gauche sur un emplacement vide inv/obj/arme et une fenêtre \nproposera des choix.",
|
||||
L"Si activé, la zone où se trouve le reste des ennemis dans le secteur, est mis en évidence.",
|
||||
L"Si activé, montre le contenu d'un élément LBE quand la fenêtre de description est ouverte.",
|
||||
|
||||
@@ -6105,9 +6105,7 @@ STR16 zOptionsToggleText[] =
|
||||
L"Stummes Reparieren", // Madd: mercs don't say quotes while repairing
|
||||
L"Stumme Behandlung", // Madd: mercs don't say quotes while doctoring
|
||||
L"Autom. schnelle Gegner-Züge", // Automatic fast forward through AI turns
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"Zombies erlauben", // Flugente Zombies 1.0
|
||||
#endif
|
||||
L"Zombies erlauben", // Flugente Zombies
|
||||
L"Inventar Popup-Menüs", // the_bob : enable popups for picking items from sector inv
|
||||
L"Übrige Feinde markieren",
|
||||
L"Tascheninhalt anzeigen",
|
||||
@@ -6222,9 +6220,7 @@ STR16 zOptionsScreenHelpText[] =
|
||||
L"Wenn diese Funktion aktiviert ist, werden die Söldner über den ärztlichen Fortschritt nicht mehr berichten.",
|
||||
L"Wenn diese Funktion aktiviert ist, werden gegnerische Züge schneller durchgeführt.",
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"Wenn diese Funktion aktiviert ist, können Tote als Zombies wieder auferstehen. Seien Sie auf der Hut!",
|
||||
#endif
|
||||
L"Wenn diese Funktion aktiviert ist, und Sie mit der linken Maustaste auf einen freien Söldner-Inventarplatz klicken (während das Sektor-Inventar angezeigt wird), wird ein hilfreiches Popup-Menü eingeblendet.",
|
||||
L"Wenn diese Funktion aktiviert ist, wird die ungefähre Postion der verbleibenden Feinde auf der Übersichtskarte schraffiert",
|
||||
L"Wenn diese Funktion aktiviert ist, wird in der erweiterten Beschreibung von Tashen statt den Anbauteilen deren Inhalt angezeigt.",
|
||||
|
||||
@@ -6243,9 +6243,7 @@ STR16 zOptionsToggleText[] =
|
||||
L"Quiet Repairing", // Madd: mercs don't say quotes while repairing // TODO.Translate
|
||||
L"Quiet Doctoring", // Madd: mercs don't say quotes while doctoring // TODO.Translate
|
||||
L"Auto Fast Forward AI Turns", // Automatic fast forward through AI turns // TODO.Translate
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"Allow Zombies", // Flugente Zombies 1.0
|
||||
#endif
|
||||
L"Allow Zombies", // Flugente Zombies
|
||||
L"Enable inventory popups", // the_bob : enable popups for picking items from sector inv // TODO.Translate
|
||||
L"Mark Remaining Hostiles", // TODO.Translate
|
||||
L"Show LBE Content", // TODO.Translate
|
||||
@@ -6360,9 +6358,7 @@ STR16 zOptionsScreenHelpText[] =
|
||||
L"When ON, mercs will not report progress during doctoring.", // TODO.Translate
|
||||
L"When ON, AI turns will be much faster.", // TODO.Translate
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"When ON, zombies will spawn. Beware!", // allow zombies // TODO.Translate
|
||||
#endif
|
||||
L"When ON, enables popup boxes that appear when you left click on empty merc inventory slots while viewing sector inventory in mapscreen.", // TODO.Translate
|
||||
L"When ON, approximate locations of the last enemies in the sector are highlighted.", // TODO.Translate
|
||||
L"When ON, show the contents of an LBE item, otherwise show the regular NAS interface.", // TODO.Translate
|
||||
|
||||
@@ -6262,9 +6262,7 @@ STR16 zOptionsToggleText[] =
|
||||
L"Quiet Doctoring", // Madd: mercs don't say quotes while doctoring // TODO.Translate
|
||||
L"Auto Fast Forward AI Turns", // Automatic fast forward through AI turns // TODO.Translate
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"Allow Zombies", // Flugente Zombies 1.0
|
||||
#endif
|
||||
L"Allow Zombies", // Flugente Zombies
|
||||
L"Enable inventory popups", // the_bob : enable popups for picking items from sector inv // TODO.Translate
|
||||
L"Mark Remaining Hostiles", // TODO.Translate
|
||||
L"Show LBE Content", // TODO.Translate
|
||||
@@ -6379,9 +6377,7 @@ STR16 zOptionsScreenHelpText[] =
|
||||
L"When ON, mercs will not report progress during doctoring.", // TODO.Translate
|
||||
L"When ON, AI turns will be much faster.", // TODO.Translate
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"When ON, zombies will spawn. Beware!", // allow zombies // TODO.Translate
|
||||
#endif
|
||||
L"When ON, enables popup boxes that appear when you left click on empty merc inventory slots while viewing sector inventory in mapscreen.", // TODO.Translate
|
||||
L"When ON, approximate locations of the last enemies in the sector are highlighted.", // TODO.Translate
|
||||
L"When ON, show the contents of an LBE item, otherwise show the regular NAS interface.", // TODO.Translate
|
||||
|
||||
@@ -6253,9 +6253,7 @@ STR16 zOptionsToggleText[] =
|
||||
L"Тихий ремонт", // Madd: mercs don't say quotes while repairing
|
||||
L"Тихое лечение", // Madd: mercs don't say quotes while doctoring
|
||||
L"Быстрый ход компьютера", // Automatic fast forward through AI turns
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"Зомби в игре!", // Flugente Zombies 1.0
|
||||
#endif
|
||||
L"Зомби в игре!", // Flugente Zombies
|
||||
L"Меню в инвентаре бойца", // the_bob : enable popups for picking items from sector inv
|
||||
L"Отметить оставшихся врагов",
|
||||
L"Показать содержимое разгрузки",
|
||||
@@ -6370,9 +6368,7 @@ STR16 zOptionsScreenHelpText[] =
|
||||
L"Если включено, бойцы не будут\nсообщать о статусе лечения.",
|
||||
L"Если включено, ожидание,\nпока сделают ход противник,\nгражданские и другие существа,\nбудет значительно меньше.",
|
||||
|
||||
#ifdef ENABLE_ZOMBIES
|
||||
L"Если включено, убитые враги\nбудут превращаться в зомби. Веселитесь!",
|
||||
#endif
|
||||
L"Если включено, при просмотре\nпредметов сектора в инвентаре бойца\nбудет доступно меню по нажатии\nлевой кнопки на пустой карман.",
|
||||
L"Если включено, указывается примерное\nположение последних врагов в секторе.",
|
||||
L"Если включено, показывает содержимое разгрузки,\nиначе - обычный интерфейс новой системы навески.",
|
||||
|
||||
@@ -32,14 +32,6 @@
|
||||
// *****************************
|
||||
// -----------------------------
|
||||
|
||||
|
||||
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
// -----------------------------
|
||||
// WANNE: Enable this define, to build an executable where you can enable/disable zombies in tactical (ingame option screen).
|
||||
#define ENABLE_ZOMBIES
|
||||
// -----------------------------
|
||||
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
// Map Editor version - you should use the MapEditor configuration instead of messing with these defines (ChrisL)
|
||||
//#define JA2BETAVERSION
|
||||
//#define JA2EDITOR
|
||||
|
||||
Reference in New Issue
Block a user