mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Various Bugfixes by Headrock:
- Fixed: NPC and PC movement errors - Fixed: Boxers in San Mona do not leave the boxing ring after the fight - Fixed: Darren does not pay the cash after you won the boxing fight git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@3320 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -83,6 +83,14 @@ void ExitBoxing( void )
|
||||
pSoldier->aiData.bAlertStatus = STATUS_GREEN;
|
||||
pSoldier->aiData.bUnderFire = 0;
|
||||
|
||||
// HEADROCK HAM 3.6: Make sure all boxers' APs have been reset to a reasonable number. Otherwise,
|
||||
// the AI combatant may fail several conditions in subsequent functions, and fail to leave the ring
|
||||
// as a result.
|
||||
if (pSoldier->bActionPoints < (APBPConstants[AP_MAXIMUM]*6)/10)
|
||||
{
|
||||
pSoldier->bActionPoints = (APBPConstants[AP_MAXIMUM]*6)/10;
|
||||
}
|
||||
|
||||
// if necessary, revive boxer so he can leave ring
|
||||
if (pSoldier->stats.bLife > 0 && (pSoldier->stats.bLife < OKLIFE || pSoldier->bBreath < OKBREATH ) )
|
||||
{
|
||||
|
||||
@@ -6616,18 +6616,21 @@ void SOLDIERTYPE::EVENT_BeginMercTurn( BOOLEAN fFromRealTime, INT32 iRealTimeCou
|
||||
// in the previous turn, then the player has apparently forgotten that he was moving.
|
||||
// In this case, abort the character's action.
|
||||
|
||||
// If haven't moved since the start of last round
|
||||
if (!this->bTilesMoved)
|
||||
// If hasn't moved since the start of last round
|
||||
// AND this function is being executed in Turn Based mode
|
||||
// AND character is a player-controlled merc
|
||||
if (!fFromRealTime && !this->bTilesMoved && this->bTeam == OUR_TEAM )
|
||||
{
|
||||
// but are doing a movement animation
|
||||
if ( !( gAnimControl[ this->usAnimState ].uiFlags & ANIM_STATIONARY ) )
|
||||
{
|
||||
// Stop the merc
|
||||
this->EVENT_StopMerc( this->sGridNo, this->ubDirection );
|
||||
this->pathing.sFinalDestination = NOWHERE;
|
||||
}
|
||||
|
||||
// Reset destination
|
||||
this->pathing.sFinalDestination = this->sGridNo;
|
||||
//this->pathing.sFinalDestination = this->sGridNo;
|
||||
}
|
||||
|
||||
this->bTilesMoved = 0;
|
||||
|
||||
@@ -738,8 +738,10 @@ INT8 DecideActionGreen(SOLDIERTYPE *pSoldier)
|
||||
// character then didn't trigger the end of boxing record
|
||||
// (and we know from the if statement above that we're
|
||||
// still in a boxing state of some sort...)
|
||||
TriggerEndOfBoxingRecord( NULL );
|
||||
//TriggerEndOfBoxingRecord( NULL );
|
||||
|
||||
// HEADROCK HAM 3.6: This should trigger Darren's script
|
||||
TriggerEndOfBoxingRecord( pSoldier );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user