mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +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.bAlertStatus = STATUS_GREEN;
|
||||||
pSoldier->aiData.bUnderFire = 0;
|
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 necessary, revive boxer so he can leave ring
|
||||||
if (pSoldier->stats.bLife > 0 && (pSoldier->stats.bLife < OKLIFE || pSoldier->bBreath < OKBREATH ) )
|
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 the previous turn, then the player has apparently forgotten that he was moving.
|
||||||
// In this case, abort the character's action.
|
// In this case, abort the character's action.
|
||||||
|
|
||||||
// If haven't moved since the start of last round
|
// If hasn't moved since the start of last round
|
||||||
if (!this->bTilesMoved)
|
// 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
|
// but are doing a movement animation
|
||||||
if ( !( gAnimControl[ this->usAnimState ].uiFlags & ANIM_STATIONARY ) )
|
if ( !( gAnimControl[ this->usAnimState ].uiFlags & ANIM_STATIONARY ) )
|
||||||
{
|
{
|
||||||
// Stop the merc
|
// Stop the merc
|
||||||
this->EVENT_StopMerc( this->sGridNo, this->ubDirection );
|
this->EVENT_StopMerc( this->sGridNo, this->ubDirection );
|
||||||
|
this->pathing.sFinalDestination = NOWHERE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset destination
|
// Reset destination
|
||||||
this->pathing.sFinalDestination = this->sGridNo;
|
//this->pathing.sFinalDestination = this->sGridNo;
|
||||||
}
|
}
|
||||||
|
|
||||||
this->bTilesMoved = 0;
|
this->bTilesMoved = 0;
|
||||||
|
|||||||
@@ -738,8 +738,10 @@ INT8 DecideActionGreen(SOLDIERTYPE *pSoldier)
|
|||||||
// character then didn't trigger the end of boxing record
|
// character then didn't trigger the end of boxing record
|
||||||
// (and we know from the if statement above that we're
|
// (and we know from the if statement above that we're
|
||||||
// still in a boxing state of some sort...)
|
// 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