mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +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++ )
|
for (i= 1; i<=n; i++ )
|
||||||
{
|
{
|
||||||
if (i == 1 ) id = lua_tointeger(L,n);
|
if (i == 1 ) id = lua_tointeger(L,i);
|
||||||
if (i == 2 ) Bool = lua_toboolean(L,n);
|
if (i == 2 ) Bool = lua_toboolean(L,i);
|
||||||
}
|
}
|
||||||
|
|
||||||
gfBoxerFought[id] = Bool;
|
gfBoxerFought[id] = Bool;
|
||||||
|
|||||||
@@ -1144,7 +1144,8 @@ BOOLEAN CheckFact( UINT16 usFact, UINT8 ubProfileID )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case FACT_NO_CLUB_FIGHTING_ALLOWED:
|
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;
|
break;
|
||||||
|
|
||||||
case FACT_MADDOG_IS_SPEAKER:
|
case FACT_MADDOG_IS_SPEAKER:
|
||||||
|
|||||||
@@ -474,6 +474,8 @@ enum Facts
|
|||||||
|
|
||||||
FACT_MADDOG_IS_SPEAKER = 280,
|
FACT_MADDOG_IS_SPEAKER = 280,
|
||||||
|
|
||||||
|
FACT_VAN_HAUSSEN_EXPLAINED_BOXING_RULES = 281,
|
||||||
|
|
||||||
FACT_ANGEL_MENTIONED_DEED = 282,
|
FACT_ANGEL_MENTIONED_DEED = 282,
|
||||||
FACT_IGGY_AVAILABLE_TO_ARMY,// 283
|
FACT_IGGY_AVAILABLE_TO_ARMY,// 283
|
||||||
FACT_PC_HAS_CONRADS_RECRUIT_OPINION,// 284
|
FACT_PC_HAS_CONRADS_RECRUIT_OPINION,// 284
|
||||||
|
|||||||
+4
-2
@@ -436,7 +436,8 @@ BOOLEAN BoxerAvailable( void )
|
|||||||
{
|
{
|
||||||
if ( gubBoxerID[ ubLoop ] != NOBODY && !gfBoxerFought[ ubLoop ] )
|
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 ] )
|
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
|
// 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
|
if (is_networked) // No taunts in multiplayer
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ enum TAUNTTYPE//enemy taunts - SANDRO
|
|||||||
TAUNT_RIPOSTE
|
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 StartEnemyTaunt( SOLDIERTYPE *pCiv, TAUNTTYPE iTauntType, SOLDIERTYPE *pTarget = NULL ); //enemy taunts - SANDRO // anv: added pTarget argument
|
||||||
void ShowTauntPopupBox( SOLDIERTYPE *pCiv, STR16 gzTauntQuote );
|
void ShowTauntPopupBox( SOLDIERTYPE *pCiv, STR16 gzTauntQuote );
|
||||||
|
|
||||||
|
|||||||
@@ -3118,7 +3118,7 @@ void HandleDialogueEnd( FACETYPE *pFace )
|
|||||||
case QUOTE_UNDER_HEAVY_FIRE:
|
case QUOTE_UNDER_HEAVY_FIRE:
|
||||||
case QUOTE_TAKEN_A_BREATING:
|
case QUOTE_TAKEN_A_BREATING:
|
||||||
if( pSoldier->ubPreviousAttackerID != NOBODY && !( MercPtrs[pSoldier->ubPreviousAttackerID]->bDeafenedCounter > 0 ) )
|
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;
|
break;
|
||||||
default:
|
default:
|
||||||
// select random enemy, who we see, who sees us and isn't deaf
|
// select random enemy, who we see, who sees us and isn't deaf
|
||||||
@@ -3132,7 +3132,7 @@ void HandleDialogueEnd( FACETYPE *pFace )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if( ubSeenEnemiesCnt > 0 )
|
if( ubSeenEnemiesCnt > 0 )
|
||||||
PossiblyStartEnemyTaunt( MercPtrs[ubSeenEnemies[ Random(ubSeenEnemiesCnt) ]], TAUNT_RIPOSTE, FindSoldierByProfileID( gTacticalStatus.ubLastQuoteProfileNUm, FALSE ) );
|
PossiblyStartEnemyTaunt( MercPtrs[ubSeenEnemies[ Random(ubSeenEnemiesCnt) ]], TAUNT_RIPOSTE, gTacticalStatus.ubLastQuoteProfileNUm );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4229,7 +4229,8 @@ void DrawWeaponStats( OBJECTTYPE * gpItemDescObject )
|
|||||||
BOOLEAN fComparisonMode = FALSE;
|
BOOLEAN fComparisonMode = FALSE;
|
||||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
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( gpComparedItemDescObject != NULL && gpComparedItemDescObject->usItem )
|
||||||
{
|
{
|
||||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & (IC_GUN|IC_LAUNCHER|IC_THROWING_KNIFE|IC_BLADE|IC_PUNCH) )
|
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;
|
BOOLEAN fComparisonMode = FALSE;
|
||||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
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( gpComparedItemDescObject != NULL )
|
||||||
{
|
{
|
||||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_EXPLOSV )
|
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_EXPLOSV )
|
||||||
@@ -4874,7 +4876,8 @@ void DrawArmorStats( OBJECTTYPE * gpItemDescObject )
|
|||||||
BOOLEAN fComparisonMode = FALSE;
|
BOOLEAN fComparisonMode = FALSE;
|
||||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
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( gpComparedItemDescObject != NULL )
|
||||||
{
|
{
|
||||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_ARMOUR )
|
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_ARMOUR )
|
||||||
@@ -4971,7 +4974,8 @@ void DrawAdvancedStats( OBJECTTYPE * gpItemDescObject )
|
|||||||
BOOLEAN fComparisonMode = FALSE;
|
BOOLEAN fComparisonMode = FALSE;
|
||||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
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( gpComparedItemDescObject != NULL )
|
||||||
{
|
{
|
||||||
if( Item[ gpItemDescObject->usItem ].usItemClass == Item[ gpComparedItemDescObject->usItem ].usItemClass )
|
if( Item[ gpItemDescObject->usItem ].usItemClass == Item[ gpComparedItemDescObject->usItem ].usItemClass )
|
||||||
@@ -5888,7 +5892,8 @@ void DrawMiscStats( OBJECTTYPE * gpItemDescObject )
|
|||||||
BOOLEAN fComparisonMode = FALSE;
|
BOOLEAN fComparisonMode = FALSE;
|
||||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
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( gpComparedItemDescObject != NULL )
|
||||||
{
|
{
|
||||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass == Item[ gpItemDescObject->usItem ].usItemClass )
|
if( Item[ gpComparedItemDescObject->usItem ].usItemClass == Item[ gpItemDescObject->usItem ].usItemClass )
|
||||||
@@ -5950,7 +5955,8 @@ void DrawSecondaryStats( OBJECTTYPE * gpItemDescObject )
|
|||||||
BOOLEAN fComparisonMode = FALSE;
|
BOOLEAN fComparisonMode = FALSE;
|
||||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
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( gpComparedItemDescObject != NULL )
|
||||||
{
|
{
|
||||||
if( Item[ gpItemDescObject->usItem ].usItemClass == Item[ gpComparedItemDescObject->usItem ].usItemClass )
|
if( Item[ gpItemDescObject->usItem ].usItemClass == Item[ gpComparedItemDescObject->usItem ].usItemClass )
|
||||||
@@ -6537,7 +6543,8 @@ void DrawWeaponValues( OBJECTTYPE * gpItemDescObject )
|
|||||||
BOOLEAN fComparisonMode = FALSE;
|
BOOLEAN fComparisonMode = FALSE;
|
||||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
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( gpComparedItemDescObject != NULL && gpComparedItemDescObject->usItem )
|
||||||
{
|
{
|
||||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & (IC_GUN|IC_LAUNCHER|IC_THROWING_KNIFE|IC_BLADE|IC_PUNCH) )
|
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;
|
BOOLEAN fComparisonMode = FALSE;
|
||||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
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( gpComparedItemDescObject != NULL )
|
||||||
{
|
{
|
||||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_AMMO )
|
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_AMMO )
|
||||||
@@ -8946,7 +8954,8 @@ void DrawExplosiveValues( OBJECTTYPE * gpItemDescObject )
|
|||||||
BOOLEAN fComparisonMode = FALSE;
|
BOOLEAN fComparisonMode = FALSE;
|
||||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
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( gpComparedItemDescObject != NULL )
|
||||||
{
|
{
|
||||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_EXPLOSV )
|
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_EXPLOSV )
|
||||||
@@ -9594,7 +9603,8 @@ void DrawArmorValues( OBJECTTYPE * gpItemDescObject )
|
|||||||
BOOLEAN fComparisonMode = FALSE;
|
BOOLEAN fComparisonMode = FALSE;
|
||||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
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( gpComparedItemDescObject != NULL )
|
||||||
{
|
{
|
||||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_ARMOUR )
|
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_ARMOUR )
|
||||||
@@ -9834,7 +9844,8 @@ void DrawAdvancedValues( OBJECTTYPE *gpItemDescObject )
|
|||||||
BOOLEAN fComparisonMode = FALSE;
|
BOOLEAN fComparisonMode = FALSE;
|
||||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
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( gpComparedItemDescObject != NULL )
|
||||||
{
|
{
|
||||||
if( Item[ gpItemDescObject->usItem ].usItemClass == Item[ gpComparedItemDescObject->usItem ].usItemClass )
|
if( Item[ gpItemDescObject->usItem ].usItemClass == Item[ gpComparedItemDescObject->usItem ].usItemClass )
|
||||||
@@ -14338,7 +14349,8 @@ void DrawMiscValues( OBJECTTYPE * gpItemDescObject )
|
|||||||
BOOLEAN fComparisonMode = FALSE;
|
BOOLEAN fComparisonMode = FALSE;
|
||||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
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( gpComparedItemDescObject != NULL )
|
||||||
{
|
{
|
||||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass == Item[ gpItemDescObject->usItem ].usItemClass )
|
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 )
|
if ( Item[ gpItemDescObject->usItem ].usItemClass & IC_GUN || Item[ gpItemDescObject->usItem ].usItemClass & IC_LAUNCHER )
|
||||||
{
|
{
|
||||||
OBJECTTYPE *gpComparedItemDescObject;
|
OBJECTTYPE *gpComparedItemDescObject = NULL;
|
||||||
BOOLEAN fComparisonMode = FALSE;
|
BOOLEAN fComparisonMode = FALSE;
|
||||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
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( gpComparedItemDescObject != NULL )
|
||||||
{
|
{
|
||||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & (IC_GUN|IC_LAUNCHER|IC_THROWING_KNIFE|IC_BLADE|IC_PUNCH) )
|
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & (IC_GUN|IC_LAUNCHER|IC_THROWING_KNIFE|IC_BLADE|IC_PUNCH) )
|
||||||
@@ -7445,11 +7446,12 @@ void RenderItemDescriptionBox( )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
OBJECTTYPE *gpComparedItemDescObject;
|
OBJECTTYPE *gpComparedItemDescObject = NULL;
|
||||||
BOOLEAN fComparisonMode = FALSE;
|
BOOLEAN fComparisonMode = FALSE;
|
||||||
if( _KeyDown( CTRL ) && gfCheckForCursorOverMapSectorInventoryItem )
|
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( gpComparedItemDescObject != NULL )
|
||||||
{
|
{
|
||||||
if( Item[ gpComparedItemDescObject->usItem ].usItemClass & (IC_GUN|IC_LAUNCHER|IC_THROWING_KNIFE|IC_BLADE|IC_PUNCH) )
|
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(pKillerSoldier != NULL)
|
||||||
{
|
{
|
||||||
if( pSoldier->usAnimState == JFK_HITDEATH )
|
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 )
|
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 )
|
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 )
|
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 )
|
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
|
else
|
||||||
PossiblyStartEnemyTaunt( pKillerSoldier, TAUNT_KILL, pSoldier );
|
PossiblyStartEnemyTaunt( pKillerSoldier, TAUNT_KILL, pSoldier->ubID );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cancel services here...
|
// Cancel services here...
|
||||||
|
|||||||
@@ -5944,30 +5944,30 @@ void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT1
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
DecayIndividualOpplist( this );
|
DecayIndividualOpplist( this );
|
||||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_BLINDED, MercPtrs[ubAttackerID]);
|
PossiblyStartEnemyTaunt( this, TAUNT_GOT_BLINDED, ubAttackerID );
|
||||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_DEAFENED, MercPtrs[ubAttackerID]);
|
PossiblyStartEnemyTaunt( this, TAUNT_GOT_DEAFENED, ubAttackerID );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FIRE_WEAPON_BLINDED:
|
case FIRE_WEAPON_BLINDED:
|
||||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_BLINDED, MercPtrs[ubAttackerID]);
|
PossiblyStartEnemyTaunt( this, TAUNT_GOT_BLINDED, ubAttackerID );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FIRE_WEAPON_DEAFENED:
|
case FIRE_WEAPON_DEAFENED:
|
||||||
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Soldier is deafened" );
|
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Soldier is deafened" );
|
||||||
this->bDeafenedCounter = bDeafValue;
|
this->bDeafenedCounter = bDeafValue;
|
||||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_DEAFENED, MercPtrs[ubAttackerID]);
|
PossiblyStartEnemyTaunt( this, TAUNT_GOT_DEAFENED, ubAttackerID );
|
||||||
break;
|
break;
|
||||||
};
|
};
|
||||||
|
|
||||||
if ( usWeaponIndex == STRUCTURE_EXPLOSION )
|
if ( usWeaponIndex == STRUCTURE_EXPLOSION )
|
||||||
{
|
{
|
||||||
ubReason = TAKE_DAMAGE_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
|
else
|
||||||
{
|
{
|
||||||
ubReason = TAKE_DAMAGE_EXPLOSION;
|
ubReason = TAKE_DAMAGE_EXPLOSION;
|
||||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_EXPLOSION, MercPtrs[ubAttackerID]);
|
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_EXPLOSION, ubAttackerID );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -6297,13 +6297,13 @@ void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT1
|
|||||||
SoldierGotHitGunFire( this, usWeaponIndex, sDamage, bDirection, sRange, ubAttackerID, ubSpecial, ubHitLocation );
|
SoldierGotHitGunFire( this, usWeaponIndex, sDamage, bDirection, sRange, ubAttackerID, ubSpecial, ubHitLocation );
|
||||||
if( Item[ usWeaponIndex ].usItemClass & IC_GUN )
|
if( Item[ usWeaponIndex ].usItemClass & IC_GUN )
|
||||||
{
|
{
|
||||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_GUNFIRE, MercPtrs[ubAttackerID] );
|
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_GUNFIRE, ubAttackerID );
|
||||||
PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_GUNFIRE, this );
|
PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_GUNFIRE, this->ubID );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_THROWING_KNIFE, MercPtrs[ubAttackerID] );
|
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_THROWING_KNIFE, ubAttackerID );
|
||||||
PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_THROWING_KNIFE, this );
|
PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_THROWING_KNIFE, this->ubID );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( Item[ usWeaponIndex ].usItemClass & IC_BLADE )
|
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 );
|
SoldierGotHitExplosion( this, usWeaponIndex, sDamage, bDirection, sRange, ubAttackerID, ubSpecial, ubHitLocation );
|
||||||
if( Item[ usWeaponIndex ].usItemClass & IC_EXPLOSV || ubReason == TAKE_DAMAGE_EXPLOSION )
|
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 );
|
//PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_EXPLOSION, this );
|
||||||
}
|
}
|
||||||
else if(Item[ usWeaponIndex ].usItemClass & IC_TENTACLES)
|
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 );
|
//PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_TENTACLES, this );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+21
-21
@@ -3056,7 +3056,7 @@ BOOLEAN UseBlade( SOLDIERTYPE *pSoldier , INT32 sTargetGridNo )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// anv: taunt on attack
|
// 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
|
// WDS 07/19/2008 - Random number use fix
|
||||||
if ( iDiceRoll < iHitChance )
|
if ( iDiceRoll < iHitChance )
|
||||||
@@ -3064,8 +3064,8 @@ BOOLEAN UseBlade( SOLDIERTYPE *pSoldier , INT32 sTargetGridNo )
|
|||||||
fGonnaHit = TRUE;
|
fGonnaHit = TRUE;
|
||||||
|
|
||||||
// anv: taunts on hit
|
// anv: taunts on hit
|
||||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_HIT_BLADE, pTargetSoldier );
|
PossiblyStartEnemyTaunt( pSoldier, TAUNT_HIT_BLADE, pTargetSoldier->ubID );
|
||||||
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_HIT_BLADE, pSoldier );
|
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_HIT_BLADE, pSoldier->ubID );
|
||||||
|
|
||||||
// CALCULATE DAMAGE!
|
// CALCULATE DAMAGE!
|
||||||
// attack HITS, calculate damage (base damage is 1-maximum knife sImpact)
|
// attack HITS, calculate damage (base damage is 1-maximum knife sImpact)
|
||||||
@@ -3134,9 +3134,9 @@ BOOLEAN UseBlade( SOLDIERTYPE *pSoldier , INT32 sTargetGridNo )
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// anv: taunts on miss
|
// 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 )
|
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 it was another team shooting at someone under our control
|
||||||
if ( (pSoldier->bTeam != Menptr[ pTargetSoldier->ubID ].bTeam ) )
|
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
|
// anv: enemy taunt on getting robbed
|
||||||
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_ROBBED, pSoldier );
|
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_ROBBED, pSoldier->ubID );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -3661,7 +3661,7 @@ BOOLEAN UseHandToHand( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo, BOOLEAN fStea
|
|||||||
// FreeUpAttacker( (UINT8) pSoldier->ubID );
|
// FreeUpAttacker( (UINT8) pSoldier->ubID );
|
||||||
|
|
||||||
// anv: enemy taunt on steal
|
// 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
|
else
|
||||||
{
|
{
|
||||||
// anv: enemy taunt on attack
|
// anv: enemy taunt on attack
|
||||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_ATTACK_HTH, pTargetSoldier );
|
PossiblyStartEnemyTaunt( pSoldier, TAUNT_ATTACK_HTH, pTargetSoldier->ubID );
|
||||||
|
|
||||||
// SANDRO - new mercs' records
|
// SANDRO - new mercs' records
|
||||||
if ( pSoldier->bTeam == gbPlayerNum && pSoldier->ubProfile != NO_PROFILE )
|
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 );
|
AddGameEvent( S_WEAPONHIT, (UINT16) 20, &SWeaponHit );
|
||||||
|
|
||||||
// anv: enemy taunts on hit
|
// anv: enemy taunts on hit
|
||||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_HIT_HTH, pTargetSoldier );
|
PossiblyStartEnemyTaunt( pSoldier, TAUNT_HIT_HTH, pTargetSoldier->ubID );
|
||||||
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_HIT_HTH, pSoldier );
|
PossiblyStartEnemyTaunt( pTargetSoldier, TAUNT_GOT_HIT_HTH, pSoldier->ubID );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// anv: enemy taunts on miss
|
// 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 )
|
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
|
// 0verhaul: And this too
|
||||||
// else
|
// else
|
||||||
@@ -4981,14 +4981,14 @@ void StructureHit( INT32 iBullet, UINT16 usWeaponIndex, INT16 bWeaponStatus, UIN
|
|||||||
if( Item[ pBullet->pFirer->usAttackingWeapon ].usItemClass & IC_GUN )
|
if( Item[ pBullet->pFirer->usAttackingWeapon ].usItemClass & IC_GUN )
|
||||||
{
|
{
|
||||||
if( MercPtrs[ pBullet->pFirer->ubOppNum ]->aiData.bOppList[ pBullet->pFirer->ubID ] == SEEN_CURRENTLY )
|
if( MercPtrs[ pBullet->pFirer->ubOppNum ]->aiData.bOppList[ pBullet->pFirer->ubID ] == SEEN_CURRENTLY )
|
||||||
PossiblyStartEnemyTaunt( MercPtrs[ pBullet->pFirer->ubOppNum ], TAUNT_GOT_MISSED_GUNFIRE, pBullet->pFirer );
|
PossiblyStartEnemyTaunt( MercPtrs[ pBullet->pFirer->ubOppNum ], TAUNT_GOT_MISSED_GUNFIRE, pBullet->pFirer->ubID );
|
||||||
PossiblyStartEnemyTaunt( pBullet->pFirer, TAUNT_MISS_GUNFIRE, MercPtrs[ pBullet->pFirer->ubOppNum ] );
|
PossiblyStartEnemyTaunt( pBullet->pFirer, TAUNT_MISS_GUNFIRE, pBullet->pFirer->ubOppNum );
|
||||||
}
|
}
|
||||||
else if( Item[ pBullet->pFirer->usAttackingWeapon ].usItemClass & IC_THROWING_KNIFE )
|
else if( Item[ pBullet->pFirer->usAttackingWeapon ].usItemClass & IC_THROWING_KNIFE )
|
||||||
{
|
{
|
||||||
if( MercPtrs[ pBullet->pFirer->ubOppNum ]->aiData.bOppList[ pBullet->pFirer->ubID ] == SEEN_CURRENTLY )
|
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( MercPtrs[ pBullet->pFirer->ubOppNum ], TAUNT_GOT_MISSED_THROWING_KNIFE, pBullet->pFirer->ubID );
|
||||||
PossiblyStartEnemyTaunt( pBullet->pFirer, TAUNT_MISS_THROWING_KNIFE,MercPtrs[ pBullet->pFirer->ubOppNum ] );
|
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;
|
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
|
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 );
|
iSightRange = SoldierToSoldierLineOfSightTest( pSoldier, MercPtrs[ubTargetID], TRUE, NO_DISTANCE_LIMIT, pSoldier->bAimShotLocation, false );
|
||||||
|
|
||||||
if (iSightRange == 0)
|
if (iSightRange == 0)
|
||||||
@@ -10392,14 +10392,14 @@ void ShotMiss( UINT8 ubAttackerID, INT32 iBullet )
|
|||||||
if( Item[ pAttacker->usAttackingWeapon ].usItemClass & IC_GUN )
|
if( Item[ pAttacker->usAttackingWeapon ].usItemClass & IC_GUN )
|
||||||
{
|
{
|
||||||
if( MercPtrs[pAttacker->ubOppNum]->aiData.bOppList[ pAttacker->ubID ] == SEEN_CURRENTLY )
|
if( MercPtrs[pAttacker->ubOppNum]->aiData.bOppList[ pAttacker->ubID ] == SEEN_CURRENTLY )
|
||||||
PossiblyStartEnemyTaunt( MercPtrs[pAttacker->ubOppNum], TAUNT_GOT_MISSED_GUNFIRE, pAttacker );
|
PossiblyStartEnemyTaunt( MercPtrs[pAttacker->ubOppNum], TAUNT_GOT_MISSED_GUNFIRE, pAttacker->ubID );
|
||||||
PossiblyStartEnemyTaunt( pAttacker, TAUNT_MISS_GUNFIRE, MercPtrs[pAttacker->ubOppNum] );
|
PossiblyStartEnemyTaunt( pAttacker, TAUNT_MISS_GUNFIRE, pAttacker->ubOppNum );
|
||||||
}
|
}
|
||||||
else if( Item[ pAttacker->usAttackingWeapon ].usItemClass & IC_THROWING_KNIFE )
|
else if( Item[ pAttacker->usAttackingWeapon ].usItemClass & IC_THROWING_KNIFE )
|
||||||
{
|
{
|
||||||
if( MercPtrs[pAttacker->ubOppNum]->aiData.bOppList[ pAttacker->ubID ] == SEEN_CURRENTLY )
|
if( MercPtrs[pAttacker->ubOppNum]->aiData.bOppList[ pAttacker->ubID ] == SEEN_CURRENTLY )
|
||||||
PossiblyStartEnemyTaunt( MercPtrs[pAttacker->ubOppNum], TAUNT_GOT_MISSED_THROWING_KNIFE, pAttacker );
|
PossiblyStartEnemyTaunt( MercPtrs[pAttacker->ubOppNum], TAUNT_GOT_MISSED_THROWING_KNIFE, pAttacker->ubID );
|
||||||
PossiblyStartEnemyTaunt( pAttacker, TAUNT_MISS_THROWING_KNIFE, MercPtrs[pAttacker->ubOppNum] );
|
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
|
// 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 )
|
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
|
// 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 )
|
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 );
|
ShowRadioLocator( pSoldier->ubID, 1 );
|
||||||
@@ -2598,7 +2598,7 @@ void ManSeesMan(SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOpponent, INT32 sOppGridNo,
|
|||||||
SetNewSituation( pSoldier ); // force the looker to re-evaluate
|
SetNewSituation( pSoldier ); // force the looker to re-evaluate
|
||||||
// anv: simulate informing buddies about detected enemy's position
|
// anv: simulate informing buddies about detected enemy's position
|
||||||
if(gbPublicOpplist[pSoldier->bTeam][pOpponent->ubID] != SEEN_CURRENTLY)
|
if(gbPublicOpplist[pSoldier->bTeam][pOpponent->ubID] != SEEN_CURRENTLY)
|
||||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_INFORM_ABOUT, pOpponent );
|
PossiblyStartEnemyTaunt( pSoldier, TAUNT_INFORM_ABOUT, pOpponent->ubID );
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -1950,11 +1950,11 @@ INT8 ExecuteAction(SOLDIERTYPE *pSoldier)
|
|||||||
// randomly decide whether to say civ quote
|
// randomly decide whether to say civ quote
|
||||||
|
|
||||||
if (Item[pSoldier->inv[HANDPOS].usItem].usItemClass == IC_GUN )
|
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 )
|
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 )
|
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 )
|
else if (pSoldier->aiData.bAction == AI_ACTION_KNIFE_MOVE )
|
||||||
{
|
{
|
||||||
if (Item[pSoldier->inv[HANDPOS].usItem].usItemClass == IC_BLADE )
|
if (Item[pSoldier->inv[HANDPOS].usItem].usItemClass == IC_BLADE )
|
||||||
@@ -2266,7 +2266,7 @@ INT8 ExecuteAction(SOLDIERTYPE *pSoldier)
|
|||||||
if ( usSoldierIndex != NOBODY )
|
if ( usSoldierIndex != NOBODY )
|
||||||
{
|
{
|
||||||
MercStealFromMerc( pSoldier, MercPtrs[usSoldierIndex] );
|
MercStealFromMerc( pSoldier, MercPtrs[usSoldierIndex] );
|
||||||
PossiblyStartEnemyTaunt( pSoldier, TAUNT_STEAL, MercPtrs[usSoldierIndex] );
|
PossiblyStartEnemyTaunt( pSoldier, TAUNT_STEAL, usSoldierIndex );
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user