Fix: boxing exception to covert behaviour only works between 2 boxers

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8482 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2017-09-28 19:40:49 +00:00
parent dc4846a464
commit dfc55c286d
2 changed files with 13 additions and 1 deletions
+12
View File
@@ -273,7 +273,14 @@ void CountPeopleInBoxingRingAndDoActions( void )
{
// time to go to pre-boxing
SetBoxingState( PRE_BOXING );
// Flugente: in order for boxing to work while covert, we require the boxer to recognize our covert merc as a boxer, but that flag is not yet set
// so temporarily set the flag, recognize our merc, and then remove the flag again. it will be properly set later
pInRing[0]->flags.uiStatusFlags |= SOLDIER_BOXER;
PickABoxer();
pInRing[0]->DeleteBoxingFlag();
}
}
else
@@ -555,8 +562,13 @@ void ClearAllBoxerFlags( void )
{
if ( MercSlots[ uiSlot ] && MercSlots[ uiSlot ]->flags.uiStatusFlags & SOLDIER_BOXER )
{
// Flugente: nuke the entire opponent count, remove boxing flag, reevaluate opponent list
DecayIndividualOpplist(MercSlots[uiSlot]);
MercSlots[ uiSlot ]->DeleteBoxingFlag();
ManLooksForOtherTeams(MercSlots[uiSlot]);
if ( MercSlots[uiSlot]->bTeam == gbPlayerNum )
MercSlots[uiSlot]->flags.uiStatusFlags &= (~SOLDIER_PCUNDERAICONTROL);
}