- Fix: applying canteens/camo/clothes on persons still cost them APs

- Fix: planting bombs was impossible

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5964 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2013-03-29 22:32:13 +00:00
parent 9cc873368d
commit 1435e4a679
6 changed files with 80 additions and 42 deletions
+27 -12
View File
@@ -16985,15 +16985,15 @@ void SOLDIERTYPE::EVENT_SoldierApplyItemToPerson( INT32 sGridNo, UINT8 ubDirecti
{
this->LooseDisguise();
this->Strip();
// alert the soldier
pSoldier->aiData.bAlertStatus = min(pSoldier->aiData.bAlertStatus, STATUS_RED);
ProcessImplicationsOfPCAttack( this, &pSoldier, REASON_NORMAL_ATTACK );
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szCovertTextStr[STR_COVERT_APPLYITEM_STEAL_FAIL], this->name, pSoldier->name );
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szCovertTextStr[STR_COVERT_UNCOVERED], pSoldier->name, this->name );
}
// alert the soldier
pSoldier->aiData.bAlertStatus = min(pSoldier->aiData.bAlertStatus, STATUS_RED);
ProcessImplicationsOfPCAttack( this, &pSoldier, REASON_NORMAL_ATTACK );
}
}
@@ -17002,7 +17002,7 @@ void SOLDIERTYPE::EVENT_SoldierApplyItemToPerson( INT32 sGridNo, UINT8 ubDirecti
if ( !gGameOptions.fFoodSystem && Item[ usItem ].canteen )
{
BOOLEAN tmp = FALSE;
success = ApplyCanteen( pSoldier, pObj, &tmp );
success = ApplyCanteen( pSoldier, pObj, &tmp, FALSE );
}
else if ( Item[ usItem ].drugtype || Item[ usItem ].canteen )
{
@@ -17012,7 +17012,7 @@ void SOLDIERTYPE::EVENT_SoldierApplyItemToPerson( INT32 sGridNo, UINT8 ubDirecti
else if ( Item[ usItem ].camouflagekit )
{
BOOLEAN tmp = FALSE;
success = ApplyCammo( pSoldier, pObj, &tmp );
success = ApplyCammo( pSoldier, pObj, &tmp, FALSE );
if ( success )
{
@@ -17055,7 +17055,7 @@ void SOLDIERTYPE::EVENT_SoldierApplyItemToPerson( INT32 sGridNo, UINT8 ubDirecti
}
else if ( Item[ usItem ].clothestype )
{
ApplyClothes( pSoldier, pObj );
ApplyClothes( pSoldier, pObj, FALSE );
// Dirty
fInterfacePanelDirty = DIRTYLEVEL2;
@@ -17083,10 +17083,25 @@ void SOLDIERTYPE::EVENT_SoldierApplyItemToPerson( INT32 sGridNo, UINT8 ubDirecti
return;
}
}
// Say NOTHING quote...
this->DoMercBattleSound( BATTLE_SOUND_NOTHING );
// Say NOTHING quote...
this->DoMercBattleSound( BATTLE_SOUND_NOTHING );
}
else
{
// if this is bomb, but nobody is there, plant the bomb instead
OBJECTTYPE* pObj = &(this->inv[ HANDPOS ]);
if ( pObj->exists() )
{
UINT16 usItem = pObj->usItem;
if ( Item[ usItem ].usItemClass == IC_BOMB )
{
this->EVENT_SoldierBeginDropBomb( );
}
}
}
}
void SOLDIERTYPE::EVENT_SoldierBeginReloadRobot( INT32 sGridNo, UINT8 ubDirection, UINT8 ubMercSlot )