mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
Merged from revision: 7262
Fixes (by anv) - fix: comparison feature would sometimes show comparison with empty sector inventory slots, - fix: enemy taunts aimed at NOBODY could cause out of range, - fix: list of boxers fought per day is properly reset when fight club reopens, - fix: Van Haussen won't offer a fight or accept bets if all boxers are dead (even if our mercs stand on corpses), - fix: boxing opponents won't try to call reinforcements any more. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7263 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -8246,8 +8246,8 @@ int i;
|
||||
|
||||
for (i= 1; i<=n; i++ )
|
||||
{
|
||||
if (i == 1 ) id = lua_tointeger(L,n);
|
||||
if (i == 2 ) Bool = lua_toboolean(L,n);
|
||||
if (i == 1 ) id = lua_tointeger(L,i);
|
||||
if (i == 2 ) Bool = lua_toboolean(L,i);
|
||||
}
|
||||
|
||||
gfBoxerFought[id] = Bool;
|
||||
|
||||
@@ -1144,7 +1144,8 @@ BOOLEAN CheckFact( UINT16 usFact, UINT8 ubProfileID )
|
||||
break;
|
||||
|
||||
case FACT_NO_CLUB_FIGHTING_ALLOWED:
|
||||
gubFact[usFact] = ( gubQuest[ QUEST_KINGPIN_MONEY ] == QUESTINPROGRESS || gfBoxersResting );// plus other conditions
|
||||
// anv: added !BoxersAvailable, otherwise van Haussen would offer fight even when all boxers are dead
|
||||
gubFact[usFact] = ( gubQuest[ QUEST_KINGPIN_MONEY ] == QUESTINPROGRESS || gfBoxersResting || !BoxersAvailable() );// plus other conditions
|
||||
break;
|
||||
|
||||
case FACT_MADDOG_IS_SPEAKER:
|
||||
|
||||
@@ -474,6 +474,8 @@ enum Facts
|
||||
|
||||
FACT_MADDOG_IS_SPEAKER = 280,
|
||||
|
||||
FACT_VAN_HAUSSEN_EXPLAINED_BOXING_RULES = 281,
|
||||
|
||||
FACT_ANGEL_MENTIONED_DEED = 282,
|
||||
FACT_IGGY_AVAILABLE_TO_ARMY,// 283
|
||||
FACT_PC_HAS_CONRADS_RECRUIT_OPINION,// 284
|
||||
|
||||
+4
-2
@@ -436,7 +436,8 @@ BOOLEAN BoxerAvailable( void )
|
||||
{
|
||||
if ( gubBoxerID[ ubLoop ] != NOBODY && !gfBoxerFought[ ubLoop ] )
|
||||
{
|
||||
return( TRUE );
|
||||
if( MercPtrs[ gubBoxerID[ ubLoop ] ]->bActive && MercPtrs[ gubBoxerID[ ubLoop ] ]->bInSector && MercPtrs[ gubBoxerID[ ubLoop ] ]->stats.bLife >= OKLIFE )
|
||||
return( TRUE );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -453,7 +454,8 @@ UINT8 BoxersAvailable( void )
|
||||
{
|
||||
if ( gubBoxerID[ ubLoop ] != NOBODY && !gfBoxerFought[ ubLoop ] )
|
||||
{
|
||||
++ubCount;
|
||||
if( MercPtrs[ gubBoxerID[ ubLoop ] ]->bActive && MercPtrs[ gubBoxerID[ ubLoop ] ]->bInSector && MercPtrs[ gubBoxerID[ ubLoop ] ]->stats.bLife >= OKLIFE )
|
||||
++ubCount;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1053,8 +1053,13 @@ BOOLEAN LoadCivQuotesFromLoadGameFile( HWFILE hFile )
|
||||
//--------------------------------------------------------------
|
||||
|
||||
// anv: start enemy taunt with probabilty depending on taunt settings
|
||||
void PossiblyStartEnemyTaunt( SOLDIERTYPE *pCiv, TAUNTTYPE iTauntType, SOLDIERTYPE *pTarget )
|
||||
void PossiblyStartEnemyTaunt( SOLDIERTYPE *pCiv, TAUNTTYPE iTauntType, UINT32 uiTargetID )
|
||||
{
|
||||
SOLDIERTYPE *pTarget = NULL;
|
||||
if( uiTargetID != NOBODY )
|
||||
{
|
||||
pTarget = MercPtrs[uiTargetID];
|
||||
}
|
||||
if (is_networked) // No taunts in multiplayer
|
||||
return;
|
||||
|
||||
|
||||
@@ -154,7 +154,7 @@ enum TAUNTTYPE//enemy taunts - SANDRO
|
||||
TAUNT_RIPOSTE
|
||||
};
|
||||
|
||||
void PossiblyStartEnemyTaunt( SOLDIERTYPE *pCiv, TAUNTTYPE iTauntType, SOLDIERTYPE *pTarget = NULL );
|
||||
void PossiblyStartEnemyTaunt( SOLDIERTYPE *pCiv, TAUNTTYPE iTauntType, UINT32 uiTargetID = NOBODY );
|
||||
void StartEnemyTaunt( SOLDIERTYPE *pCiv, TAUNTTYPE iTauntType, SOLDIERTYPE *pTarget = NULL ); //enemy taunts - SANDRO // anv: added pTarget argument
|
||||
void ShowTauntPopupBox( SOLDIERTYPE *pCiv, STR16 gzTauntQuote );
|
||||
|
||||
|
||||
@@ -3118,7 +3118,7 @@ void HandleDialogueEnd( FACETYPE *pFace )
|
||||
case QUOTE_UNDER_HEAVY_FIRE:
|
||||
case QUOTE_TAKEN_A_BREATING:
|
||||
if( pSoldier->ubPreviousAttackerID != NOBODY && !( MercPtrs[pSoldier->ubPreviousAttackerID]->bDeafenedCounter > 0 ) )
|
||||
PossiblyStartEnemyTaunt( MercPtrs[pSoldier->ubPreviousAttackerID], TAUNT_RIPOSTE, FindSoldierByProfileID( gTacticalStatus.ubLastQuoteProfileNUm, FALSE ) );
|
||||
PossiblyStartEnemyTaunt( MercPtrs[pSoldier->ubPreviousAttackerID], TAUNT_RIPOSTE, gTacticalStatus.ubLastQuoteProfileNUm );
|
||||
break;
|
||||
default:
|
||||
// select random enemy, who we see, who sees us and isn't deaf
|
||||
@@ -3132,7 +3132,7 @@ void HandleDialogueEnd( FACETYPE *pFace )
|
||||
}
|
||||
}
|
||||
if( ubSeenEnemiesCnt > 0 )
|
||||
PossiblyStartEnemyTaunt( MercPtrs[ubSeenEnemies[ Random(ubSeenEnemiesCnt) ]], TAUNT_RIPOSTE, FindSoldierByProfileID( gTacticalStatus.ubLastQuoteProfileNUm, FALSE ) );
|
||||
PossiblyStartEnemyTaunt( MercPtrs[ubSeenEnemies[ Random(ubSeenEnemiesCnt) ]], TAUNT_RIPOSTE, gTacticalStatus.ubLastQuoteProfileNUm );
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -4229,7 +4229,8 @@ void DrawWeaponStats( OBJECTTYPE * gpItemDescObject )
|
||||
BOOLEAN fComparisonMode = FALSE;
|
||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
||||
{
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object.usItem )
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( gpComparedItemDescObject != NULL && gpComparedItemDescObject->usItem )
|
||||
{
|
||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & (IC_GUN|IC_LAUNCHER|IC_THROWING_KNIFE|IC_BLADE|IC_PUNCH) )
|
||||
@@ -4685,7 +4686,8 @@ void DrawExplosiveStats( OBJECTTYPE * gpItemDescObject )
|
||||
BOOLEAN fComparisonMode = FALSE;
|
||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
||||
{
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object.usItem )
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( gpComparedItemDescObject != NULL )
|
||||
{
|
||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_EXPLOSV )
|
||||
@@ -4874,7 +4876,8 @@ void DrawArmorStats( OBJECTTYPE * gpItemDescObject )
|
||||
BOOLEAN fComparisonMode = FALSE;
|
||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
||||
{
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object.usItem )
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( gpComparedItemDescObject != NULL )
|
||||
{
|
||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_ARMOUR )
|
||||
@@ -4971,7 +4974,8 @@ void DrawAdvancedStats( OBJECTTYPE * gpItemDescObject )
|
||||
BOOLEAN fComparisonMode = FALSE;
|
||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
||||
{
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object.usItem )
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( gpComparedItemDescObject != NULL )
|
||||
{
|
||||
if( Item[ gpItemDescObject->usItem ].usItemClass == Item[ gpComparedItemDescObject->usItem ].usItemClass )
|
||||
@@ -5888,7 +5892,8 @@ void DrawMiscStats( OBJECTTYPE * gpItemDescObject )
|
||||
BOOLEAN fComparisonMode = FALSE;
|
||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
||||
{
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object.usItem )
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( gpComparedItemDescObject != NULL )
|
||||
{
|
||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass == Item[ gpItemDescObject->usItem ].usItemClass )
|
||||
@@ -5950,7 +5955,8 @@ void DrawSecondaryStats( OBJECTTYPE * gpItemDescObject )
|
||||
BOOLEAN fComparisonMode = FALSE;
|
||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
||||
{
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object.usItem )
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( gpComparedItemDescObject != NULL )
|
||||
{
|
||||
if( Item[ gpItemDescObject->usItem ].usItemClass == Item[ gpComparedItemDescObject->usItem ].usItemClass )
|
||||
@@ -6537,7 +6543,8 @@ void DrawWeaponValues( OBJECTTYPE * gpItemDescObject )
|
||||
BOOLEAN fComparisonMode = FALSE;
|
||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
||||
{
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object.usItem )
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( gpComparedItemDescObject != NULL && gpComparedItemDescObject->usItem )
|
||||
{
|
||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & (IC_GUN|IC_LAUNCHER|IC_THROWING_KNIFE|IC_BLADE|IC_PUNCH) )
|
||||
@@ -8665,7 +8672,8 @@ void DrawAmmoValues( OBJECTTYPE * gpItemDescObject, int shotsLeft )
|
||||
BOOLEAN fComparisonMode = FALSE;
|
||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
||||
{
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object.usItem )
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( gpComparedItemDescObject != NULL )
|
||||
{
|
||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_AMMO )
|
||||
@@ -8946,7 +8954,8 @@ void DrawExplosiveValues( OBJECTTYPE * gpItemDescObject )
|
||||
BOOLEAN fComparisonMode = FALSE;
|
||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
||||
{
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object.usItem )
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( gpComparedItemDescObject != NULL )
|
||||
{
|
||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_EXPLOSV )
|
||||
@@ -9594,7 +9603,8 @@ void DrawArmorValues( OBJECTTYPE * gpItemDescObject )
|
||||
BOOLEAN fComparisonMode = FALSE;
|
||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
||||
{
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object.usItem )
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( gpComparedItemDescObject != NULL )
|
||||
{
|
||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_ARMOUR )
|
||||
@@ -9834,7 +9844,8 @@ void DrawAdvancedValues( OBJECTTYPE *gpItemDescObject )
|
||||
BOOLEAN fComparisonMode = FALSE;
|
||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
||||
{
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object.usItem )
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( gpComparedItemDescObject != NULL )
|
||||
{
|
||||
if( Item[ gpItemDescObject->usItem ].usItemClass == Item[ gpComparedItemDescObject->usItem ].usItemClass )
|
||||
@@ -14338,7 +14349,8 @@ void DrawMiscValues( OBJECTTYPE * gpItemDescObject )
|
||||
BOOLEAN fComparisonMode = FALSE;
|
||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
||||
{
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object.usItem )
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( gpComparedItemDescObject != NULL )
|
||||
{
|
||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass == Item[ gpItemDescObject->usItem ].usItemClass )
|
||||
|
||||
@@ -6979,11 +6979,12 @@ void RenderItemDescriptionBox( )
|
||||
{
|
||||
if ( Item[ gpItemDescObject->usItem ].usItemClass & IC_GUN || Item[ gpItemDescObject->usItem ].usItemClass & IC_LAUNCHER )
|
||||
{
|
||||
OBJECTTYPE *gpComparedItemDescObject;
|
||||
OBJECTTYPE *gpComparedItemDescObject = NULL;
|
||||
BOOLEAN fComparisonMode = FALSE;
|
||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
||||
{
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object.usItem )
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( gpComparedItemDescObject != NULL )
|
||||
{
|
||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & (IC_GUN|IC_LAUNCHER|IC_THROWING_KNIFE|IC_BLADE|IC_PUNCH) )
|
||||
@@ -7445,11 +7446,12 @@ void RenderItemDescriptionBox( )
|
||||
}
|
||||
else
|
||||
{
|
||||
OBJECTTYPE *gpComparedItemDescObject;
|
||||
OBJECTTYPE *gpComparedItemDescObject = NULL;
|
||||
BOOLEAN fComparisonMode = FALSE;
|
||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
||||
{
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object.usItem )
|
||||
gpComparedItemDescObject = &pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCurrentlyHighLightedItem].object;// = pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object;
|
||||
if( gpComparedItemDescObject != NULL )
|
||||
{
|
||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & (IC_GUN|IC_LAUNCHER|IC_THROWING_KNIFE|IC_BLADE|IC_PUNCH) )
|
||||
|
||||
@@ -3787,17 +3787,17 @@ BOOLEAN HandleSoldierDeath( SOLDIERTYPE *pSoldier , BOOLEAN *pfMadeCorpse )
|
||||
if(pKillerSoldier != NULL)
|
||||
{
|
||||
if( pSoldier->usAnimState == JFK_HITDEATH )
|
||||
PossiblyStartEnemyTaunt( pKillerSoldier, TAUNT_HEAD_POP, pSoldier );
|
||||
PossiblyStartEnemyTaunt( pKillerSoldier, TAUNT_HEAD_POP, pSoldier->ubID );
|
||||
else if( Item[pKillerSoldier->usAttackingWeapon].usItemClass & IC_GUN )
|
||||
PossiblyStartEnemyTaunt( pKillerSoldier, TAUNT_KILL_GUNFIRE, pSoldier );
|
||||
PossiblyStartEnemyTaunt( pKillerSoldier, TAUNT_KILL_GUNFIRE, pSoldier->ubID );
|
||||
else if( Item[pKillerSoldier->usAttackingWeapon].usItemClass & IC_BLADE )
|
||||
PossiblyStartEnemyTaunt( pKillerSoldier, TAUNT_KILL_BLADE, pSoldier );
|
||||
PossiblyStartEnemyTaunt( pKillerSoldier, TAUNT_KILL_BLADE, pSoldier->ubID );
|
||||
else if( Item[pKillerSoldier->usAttackingWeapon].usItemClass & IC_PUNCH )
|
||||
PossiblyStartEnemyTaunt( pKillerSoldier, TAUNT_KILL_HTH, pSoldier );
|
||||
PossiblyStartEnemyTaunt( pKillerSoldier, TAUNT_KILL_HTH, pSoldier->ubID );
|
||||
else if( Item[pKillerSoldier->usAttackingWeapon].usItemClass & IC_THROWING_KNIFE )
|
||||
PossiblyStartEnemyTaunt( pKillerSoldier, TAUNT_KILL_THROWING_KNIFE, pSoldier );
|
||||
PossiblyStartEnemyTaunt( pKillerSoldier, TAUNT_KILL_THROWING_KNIFE, pSoldier ->ubID);
|
||||
else
|
||||
PossiblyStartEnemyTaunt( pKillerSoldier, TAUNT_KILL, pSoldier );
|
||||
PossiblyStartEnemyTaunt( pKillerSoldier, TAUNT_KILL, pSoldier->ubID );
|
||||
}
|
||||
|
||||
// Cancel services here...
|
||||
|
||||
@@ -5944,30 +5944,30 @@ void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT1
|
||||
}
|
||||
}
|
||||
DecayIndividualOpplist( this );
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_BLINDED, MercPtrs[ubAttackerID]);
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_DEAFENED, MercPtrs[ubAttackerID]);
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_BLINDED, ubAttackerID );
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_DEAFENED, ubAttackerID );
|
||||
break;
|
||||
|
||||
case FIRE_WEAPON_BLINDED:
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_BLINDED, MercPtrs[ubAttackerID]);
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_BLINDED, ubAttackerID );
|
||||
break;
|
||||
|
||||
case FIRE_WEAPON_DEAFENED:
|
||||
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Soldier is deafened" );
|
||||
this->bDeafenedCounter = bDeafValue;
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_DEAFENED, MercPtrs[ubAttackerID]);
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_DEAFENED, ubAttackerID );
|
||||
break;
|
||||
};
|
||||
|
||||
if ( usWeaponIndex == STRUCTURE_EXPLOSION )
|
||||
{
|
||||
ubReason = TAKE_DAMAGE_STRUCTURE_EXPLOSION;
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_STRUCTURE_EXPLOSION, MercPtrs[ubAttackerID]);
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_STRUCTURE_EXPLOSION, ubAttackerID );
|
||||
}
|
||||
else
|
||||
{
|
||||
ubReason = TAKE_DAMAGE_EXPLOSION;
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_EXPLOSION, MercPtrs[ubAttackerID]);
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_EXPLOSION, ubAttackerID );
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -6297,13 +6297,13 @@ void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT1
|
||||
SoldierGotHitGunFire( this, usWeaponIndex, sDamage, bDirection, sRange, ubAttackerID, ubSpecial, ubHitLocation );
|
||||
if( Item[ usWeaponIndex ].usItemClass & IC_GUN )
|
||||
{
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_GUNFIRE, MercPtrs[ubAttackerID] );
|
||||
PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_GUNFIRE, this );
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_GUNFIRE, ubAttackerID );
|
||||
PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_GUNFIRE, this->ubID );
|
||||
}
|
||||
else
|
||||
{
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_THROWING_KNIFE, MercPtrs[ubAttackerID] );
|
||||
PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_THROWING_KNIFE, this );
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_THROWING_KNIFE, ubAttackerID );
|
||||
PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_THROWING_KNIFE, this->ubID );
|
||||
}
|
||||
}
|
||||
if ( Item[ usWeaponIndex ].usItemClass & IC_BLADE )
|
||||
@@ -6317,12 +6317,12 @@ void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT1
|
||||
SoldierGotHitExplosion( this, usWeaponIndex, sDamage, bDirection, sRange, ubAttackerID, ubSpecial, ubHitLocation );
|
||||
if( Item[ usWeaponIndex ].usItemClass & IC_EXPLOSV || ubReason == TAKE_DAMAGE_EXPLOSION )
|
||||
{
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_EXPLOSION, MercPtrs[ubAttackerID] );
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_EXPLOSION, ubAttackerID );
|
||||
//PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_EXPLOSION, this );
|
||||
}
|
||||
else if(Item[ usWeaponIndex ].usItemClass & IC_TENTACLES)
|
||||
{
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_TENTACLES, MercPtrs[ubAttackerID] );
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_TENTACLES, ubAttackerID );
|
||||
//PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_TENTACLES, this );
|
||||
}
|
||||
}
|
||||
|
||||
+21
-21
@@ -3056,7 +3056,7 @@ BOOLEAN UseBlade( SOLDIERTYPE *pSoldier , INT32 sTargetGridNo )
|
||||
}
|
||||
|
||||
// anv: taunt on attack
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_ATTACK_BLADE, pTargetSoldier );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_ATTACK_BLADE, pTargetSoldier->ubID );
|
||||
|
||||
// WDS 07/19/2008 - Random number use fix
|
||||
if ( iDiceRoll < iHitChance )
|
||||
@@ -3064,8 +3064,8 @@ BOOLEAN UseBlade( SOLDIERTYPE *pSoldier , INT32 sTargetGridNo )
|
||||
fGonnaHit = TRUE;
|
||||
|
||||
// anv: taunts on hit
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_HIT_BLADE, pTargetSoldier );
|
||||
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_HIT_BLADE, pSoldier );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_HIT_BLADE, pTargetSoldier->ubID );
|
||||
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_HIT_BLADE, pSoldier->ubID );
|
||||
|
||||
// CALCULATE DAMAGE!
|
||||
// attack HITS, calculate damage (base damage is 1-maximum knife sImpact)
|
||||
@@ -3134,9 +3134,9 @@ BOOLEAN UseBlade( SOLDIERTYPE *pSoldier , INT32 sTargetGridNo )
|
||||
else
|
||||
{
|
||||
// anv: taunts on miss
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_MISS_BLADE, pTargetSoldier );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_MISS_BLADE, pTargetSoldier->ubID );
|
||||
if( pTargetSoldier->aiData.bOppList[ pSoldier->ubID ] == SEEN_CURRENTLY )
|
||||
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_MISSED_BLADE, pSoldier );
|
||||
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_MISSED_BLADE, pSoldier->ubID );
|
||||
|
||||
// if it was another team shooting at someone under our control
|
||||
if ( (pSoldier->bTeam != Menptr[ pTargetSoldier->ubID ].bTeam ) )
|
||||
@@ -3628,7 +3628,7 @@ BOOLEAN UseHandToHand( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo, BOOLEAN fStea
|
||||
}
|
||||
|
||||
// anv: enemy taunt on getting robbed
|
||||
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_ROBBED, pSoldier );
|
||||
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_ROBBED, pSoldier->ubID );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3661,7 +3661,7 @@ BOOLEAN UseHandToHand( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo, BOOLEAN fStea
|
||||
// FreeUpAttacker( (UINT8) pSoldier->ubID );
|
||||
|
||||
// anv: enemy taunt on steal
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_STEAL, pTargetSoldier );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_STEAL, pTargetSoldier->ubID );
|
||||
|
||||
}
|
||||
|
||||
@@ -3671,7 +3671,7 @@ BOOLEAN UseHandToHand( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo, BOOLEAN fStea
|
||||
else
|
||||
{
|
||||
// anv: enemy taunt on attack
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_ATTACK_HTH, pTargetSoldier );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_ATTACK_HTH, pTargetSoldier->ubID );
|
||||
|
||||
// SANDRO - new mercs' records
|
||||
if ( pSoldier->bTeam == gbPlayerNum && pSoldier->ubProfile != NO_PROFILE )
|
||||
@@ -3866,15 +3866,15 @@ BOOLEAN UseHandToHand( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo, BOOLEAN fStea
|
||||
AddGameEvent( S_WEAPONHIT, (UINT16) 20, &SWeaponHit );
|
||||
|
||||
// anv: enemy taunts on hit
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_HIT_HTH, pTargetSoldier );
|
||||
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_HIT_HTH, pSoldier );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_HIT_HTH, pTargetSoldier->ubID );
|
||||
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_HIT_HTH, pSoldier->ubID );
|
||||
}
|
||||
else
|
||||
{
|
||||
// anv: enemy taunts on miss
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_MISS_HTH, pTargetSoldier );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_MISS_HTH, pTargetSoldier->ubID );
|
||||
if( pTargetSoldier->aiData.bOppList[ pSoldier->ubID ] == SEEN_CURRENTLY )
|
||||
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_MISSED_HTH, pSoldier );
|
||||
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_MISSED_HTH, pSoldier->ubID );
|
||||
}
|
||||
// 0verhaul: And this too
|
||||
// else
|
||||
@@ -4981,14 +4981,14 @@ void StructureHit( INT32 iBullet, UINT16 usWeaponIndex, INT16 bWeaponStatus, UIN
|
||||
if( Item[ pBullet->pFirer->usAttackingWeapon ].usItemClass & IC_GUN )
|
||||
{
|
||||
if( MercPtrs[ pBullet->pFirer->ubOppNum ]->aiData.bOppList[ pBullet->pFirer->ubID ] == SEEN_CURRENTLY )
|
||||
PossiblyStartEnemyTaunt( MercPtrs[ pBullet->pFirer->ubOppNum ], TAUNT_GOT_MISSED_GUNFIRE, pBullet->pFirer );
|
||||
PossiblyStartEnemyTaunt( pBullet->pFirer, TAUNT_MISS_GUNFIRE, MercPtrs[ pBullet->pFirer->ubOppNum ] );
|
||||
PossiblyStartEnemyTaunt( MercPtrs[ pBullet->pFirer->ubOppNum ], TAUNT_GOT_MISSED_GUNFIRE, pBullet->pFirer->ubID );
|
||||
PossiblyStartEnemyTaunt( pBullet->pFirer, TAUNT_MISS_GUNFIRE, pBullet->pFirer->ubOppNum );
|
||||
}
|
||||
else if( Item[ pBullet->pFirer->usAttackingWeapon ].usItemClass & IC_THROWING_KNIFE )
|
||||
{
|
||||
if( MercPtrs[ pBullet->pFirer->ubOppNum ]->aiData.bOppList[ pBullet->pFirer->ubID ] == SEEN_CURRENTLY )
|
||||
PossiblyStartEnemyTaunt( MercPtrs[ pBullet->pFirer->ubOppNum ], TAUNT_GOT_MISSED_THROWING_KNIFE, pBullet->pFirer );
|
||||
PossiblyStartEnemyTaunt( pBullet->pFirer, TAUNT_MISS_THROWING_KNIFE,MercPtrs[ pBullet->pFirer->ubOppNum ] );
|
||||
PossiblyStartEnemyTaunt( MercPtrs[ pBullet->pFirer->ubOppNum ], TAUNT_GOT_MISSED_THROWING_KNIFE, pBullet->pFirer->ubID );
|
||||
PossiblyStartEnemyTaunt( pBullet->pFirer, TAUNT_MISS_THROWING_KNIFE, pBullet->pFirer->ubOppNum );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6806,7 +6806,7 @@ UINT32 CalcChanceToHitGun(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTime,
|
||||
sDistVis = pSoldier->GetMaxDistanceVisible(sGridNo, pSoldier->bTargetLevel, CALC_FROM_ALL_DIRS ) * CELL_X_SIZE;
|
||||
iScopeVisionRangeBonus = GetTotalVisionRangeBonus(pSoldier, bLightLevel); // not an actual range value, simply a modifier for range calculations
|
||||
|
||||
if (ubTargetID != NOBODY && pSoldier->aiData.bOppList[ubTargetID] == SEEN_CURRENTLY || gbPublicOpplist[pSoldier->bTeam][ubTargetID] == SEEN_CURRENTLY)
|
||||
if (ubTargetID != NOBODY && ( pSoldier->aiData.bOppList[ubTargetID] == SEEN_CURRENTLY || gbPublicOpplist[pSoldier->bTeam][ubTargetID] == SEEN_CURRENTLY ) )
|
||||
iSightRange = SoldierToSoldierLineOfSightTest( pSoldier, MercPtrs[ubTargetID], TRUE, NO_DISTANCE_LIMIT, pSoldier->bAimShotLocation, false );
|
||||
|
||||
if (iSightRange == 0)
|
||||
@@ -10392,14 +10392,14 @@ void ShotMiss( UINT8 ubAttackerID, INT32 iBullet )
|
||||
if( Item[ pAttacker->usAttackingWeapon ].usItemClass & IC_GUN )
|
||||
{
|
||||
if( MercPtrs[pAttacker->ubOppNum]->aiData.bOppList[ pAttacker->ubID ] == SEEN_CURRENTLY )
|
||||
PossiblyStartEnemyTaunt( MercPtrs[pAttacker->ubOppNum], TAUNT_GOT_MISSED_GUNFIRE, pAttacker );
|
||||
PossiblyStartEnemyTaunt( pAttacker, TAUNT_MISS_GUNFIRE, MercPtrs[pAttacker->ubOppNum] );
|
||||
PossiblyStartEnemyTaunt( MercPtrs[pAttacker->ubOppNum], TAUNT_GOT_MISSED_GUNFIRE, pAttacker->ubID );
|
||||
PossiblyStartEnemyTaunt( pAttacker, TAUNT_MISS_GUNFIRE, pAttacker->ubOppNum );
|
||||
}
|
||||
else if( Item[ pAttacker->usAttackingWeapon ].usItemClass & IC_THROWING_KNIFE )
|
||||
{
|
||||
if( MercPtrs[pAttacker->ubOppNum]->aiData.bOppList[ pAttacker->ubID ] == SEEN_CURRENTLY )
|
||||
PossiblyStartEnemyTaunt( MercPtrs[pAttacker->ubOppNum], TAUNT_GOT_MISSED_THROWING_KNIFE, pAttacker );
|
||||
PossiblyStartEnemyTaunt( pAttacker, TAUNT_MISS_THROWING_KNIFE, MercPtrs[pAttacker->ubOppNum] );
|
||||
PossiblyStartEnemyTaunt( MercPtrs[pAttacker->ubOppNum], TAUNT_GOT_MISSED_THROWING_KNIFE, pAttacker->ubID );
|
||||
PossiblyStartEnemyTaunt( pAttacker, TAUNT_MISS_THROWING_KNIFE, pAttacker->ubOppNum );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2551,12 +2551,12 @@ void ManSeesMan(SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOpponent, INT32 sOppGridNo,
|
||||
// SANDRO - if this is an enemy guy, who was unaware of us till now, and the combat didn't started yet, throw "taunt" and indicator we have been seen
|
||||
if ( pSoldier->aiData.bOppList[pOpponent->ubID] <= NOT_HEARD_OR_SEEN && pSoldier->aiData.bAlertStatus != STATUS_RED && pSoldier->aiData.bAlertStatus != STATUS_BLACK )
|
||||
{
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_NOTICED_UNSEEN, pOpponent );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_NOTICED_UNSEEN, pOpponent->ubID );
|
||||
}
|
||||
// anv: we're already in fight, but we still can say hi to new enemy
|
||||
else if ( pSoldier->aiData.bOppList[pOpponent->ubID] <= NOT_HEARD_OR_SEEN )
|
||||
{
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_SAY_HI, pOpponent );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_SAY_HI, pOpponent->ubID );
|
||||
}
|
||||
|
||||
ShowRadioLocator( pSoldier->ubID, 1 );
|
||||
@@ -2598,7 +2598,7 @@ void ManSeesMan(SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOpponent, INT32 sOppGridNo,
|
||||
SetNewSituation( pSoldier ); // force the looker to re-evaluate
|
||||
// anv: simulate informing buddies about detected enemy's position
|
||||
if(gbPublicOpplist[pSoldier->bTeam][pOpponent->ubID] != SEEN_CURRENTLY)
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_INFORM_ABOUT, pOpponent );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_INFORM_ABOUT, pOpponent->ubID );
|
||||
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1950,11 +1950,11 @@ INT8 ExecuteAction(SOLDIERTYPE *pSoldier)
|
||||
// randomly decide whether to say civ quote
|
||||
|
||||
if (Item[pSoldier->inv[HANDPOS].usItem].usItemClass == IC_GUN )
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_FIRE_GUN, MercPtrs[pSoldier->ubOppNum] );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_FIRE_GUN, pSoldier->ubOppNum );
|
||||
else if (Item[pSoldier->inv[HANDPOS].usItem].grenadelauncher || Item[pSoldier->inv[HANDPOS].usItem].mortar || Item[pSoldier->inv[HANDPOS].usItem].rocketlauncher )
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_FIRE_LAUNCHER, MercPtrs[pSoldier->ubOppNum] );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_FIRE_LAUNCHER, pSoldier->ubOppNum );
|
||||
else if (pSoldier->aiData.bAction == AI_ACTION_TOSS_PROJECTILE && Item[pSoldier->inv[HANDPOS].usItem].usItemClass == IC_THROWN && !Item[pSoldier->inv[HANDPOS].usItem].flare )
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_THROW_KNIFE, MercPtrs[pSoldier->ubOppNum] );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_THROW_KNIFE, pSoldier->ubOppNum );
|
||||
else if (pSoldier->aiData.bAction == AI_ACTION_KNIFE_MOVE )
|
||||
{
|
||||
if (Item[pSoldier->inv[HANDPOS].usItem].usItemClass == IC_BLADE )
|
||||
@@ -2266,7 +2266,7 @@ INT8 ExecuteAction(SOLDIERTYPE *pSoldier)
|
||||
if ( usSoldierIndex != NOBODY )
|
||||
{
|
||||
MercStealFromMerc( pSoldier, MercPtrs[usSoldierIndex] );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_STEAL, MercPtrs[usSoldierIndex] );
|
||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_STEAL, usSoldierIndex );
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user