mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
fixed AI freeze on creatures attacking crows
fixed some broken debug messages git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8508 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+2
-1
@@ -7645,7 +7645,8 @@ UINT16 MagazineClassIndexToItemType(UINT16 usMagIndex)
|
||||
|
||||
// WANNE: Now ammo can be inserted anywhere in Items.xml (before only on index > 70 [FIRST_AMMO] (fix by Realist)
|
||||
//for (usLoop = FIRST_AMMO; usLoop < MAXITEMS; usLoop++)
|
||||
for ( UINT16 usLoop = 0; usLoop < gMAXITEMS_READ; ++usLoop )
|
||||
UINT16 usLoop;
|
||||
for (usLoop = 0; usLoop < gMAXITEMS_READ; ++usLoop )
|
||||
{
|
||||
if (Item[usLoop].ubClassIndex == usMagIndex && Item[usLoop].usItemClass == IC_AMMO )
|
||||
{
|
||||
|
||||
@@ -638,9 +638,10 @@ extern CLOTHES_STRUCT Clothes[CLOTHES_MAX];
|
||||
// This macro should be used whenever we want to see if someone is neutral
|
||||
// IF WE ARE CONSIDERING ATTACKING THEM. Creatures & bloodcats will attack neutrals
|
||||
// but they can't attack empty vehicles!!
|
||||
// the_bob: also, creatures won't attack crows, because it seems to confuse the AI and cause freezes
|
||||
#define CONSIDERED_NEUTRAL( me, them ) (\
|
||||
( them->aiData.bNeutral || them->usSoldierFlagMask & (SOLDIER_COVERT_CIV|SOLDIER_COVERT_SOLDIER|SOLDIER_POW) || (them->flags.uiStatusFlags & SOLDIER_PC && them->stats.bLife < OKLIFE) ) \
|
||||
&& ( me->bTeam != CREATURE_TEAM || (them->flags.uiStatusFlags & SOLDIER_VEHICLE) ) \
|
||||
&& ( me->bTeam != CREATURE_TEAM || ( (them->flags.uiStatusFlags & SOLDIER_VEHICLE) || (them->ubBodyType == CROW) ) ) \
|
||||
&& !( me->flags.uiStatusFlags & SOLDIER_BOXER && them->flags.uiStatusFlags & SOLDIER_BOXER ) \
|
||||
)
|
||||
|
||||
|
||||
@@ -1570,6 +1570,10 @@ void CalcBestStab(SOLDIERTYPE *pSoldier, ATTACKTYPE *pBestStab, BOOLEAN fBladeAt
|
||||
if ( pOpponent->ubWhatKindOfMercAmI == MERC_TYPE__VEHICLE && GetNumberInVehicle( pOpponent->bVehicleID ) == 0 )
|
||||
continue;
|
||||
|
||||
// the_bob: don't stab the bird!
|
||||
if (pOpponent->ubBodyType == CROW)
|
||||
continue;
|
||||
|
||||
// Special stuff for Carmen the bounty hunter
|
||||
if (pSoldier->aiData.bAttitude == ATTACKSLAYONLY && pOpponent->ubProfile != SLAY)
|
||||
continue; // next opponent
|
||||
|
||||
@@ -118,9 +118,9 @@ TILE_IMAGERY *LoadTileSurface( STR8 cFilename )
|
||||
}
|
||||
strcat( cAdditionalPropertiesFilename, ADDITIONAL_TILE_PROPERTIES_EXTENSION );
|
||||
// first in /Tilesets/XX/
|
||||
if (FileExists( cAdditionalPropertiesFilename ))
|
||||
if (FileExists(cAdditionalPropertiesFilename))
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", cAdditionalPropertiesFilename));
|
||||
SGP_THROW_IFFALSE(ReadInAdditionalTileProperties(cAdditionalPropertiesFilename), cAdditionalPropertiesFilename);
|
||||
}
|
||||
else
|
||||
@@ -130,7 +130,7 @@ TILE_IMAGERY *LoadTileSurface( STR8 cFilename )
|
||||
sprintf( cCommonAdditionalPropertiesFilename, "TILESETS\\ADDITIONALPROPERTIES%s", cEndOfName );
|
||||
if (FileExists( cCommonAdditionalPropertiesFilename ))
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName));
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", cAdditionalPropertiesFilename));
|
||||
SGP_THROW_IFFALSE(ReadInAdditionalTileProperties(cCommonAdditionalPropertiesFilename), cCommonAdditionalPropertiesFilename);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user