mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
NO_STANDING_ANIM_ADJUSTMENT_IN_COMBAT: apply only for player mercs, to avoid possible problems with AI.
CalcChanceHTH: only use reduced chance for boxers. AIDoctorFriend, AIDoctorSelf: first change soldier to stationary. AIDoctorFriend: change target to stationary. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8928 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+13
-6
@@ -1628,8 +1628,11 @@ BOOLEAN ExecuteOverhead( )
|
||||
{
|
||||
// Flugente: if in turnbased combat and option is selected, do not go to standing animation
|
||||
// By this, we wont have to spend additional APs when we continue to run
|
||||
if ( gTacticalStatus.uiFlags & TURNBASED && gTacticalStatus.uiFlags & INCOMBAT && gGameExternalOptions.fNoStandingAnimAdjustInCombat &&
|
||||
!pSoldier->bCollapsed && !pSoldier->bBreathCollapsed )
|
||||
if ((gTacticalStatus.uiFlags & TURNBASED && gTacticalStatus.uiFlags & INCOMBAT) &&
|
||||
(pSoldier->flags.uiStatusFlags & SOLDIER_PC) && // sevenfm: this option works only for player
|
||||
gGameExternalOptions.fNoStandingAnimAdjustInCombat &&
|
||||
!pSoldier->bCollapsed &&
|
||||
!pSoldier->bBreathCollapsed)
|
||||
{
|
||||
// Flugente: We have to decide depending on the animation we have, otherwise we can cause bugs if we do this after being hit by an explosion etc.
|
||||
BOOLEAN dontadjustanim = FALSE;
|
||||
@@ -1670,11 +1673,15 @@ BOOLEAN ExecuteOverhead( )
|
||||
pSoldier->ubPendingDirection = NO_PENDING_DIRECTION;
|
||||
pSoldier->aiData.ubPendingAction = NO_PENDING_ACTION;
|
||||
}
|
||||
else
|
||||
pSoldier->SoldierGotoStationaryStance( );
|
||||
else
|
||||
{
|
||||
pSoldier->SoldierGotoStationaryStance();
|
||||
}
|
||||
}
|
||||
else
|
||||
pSoldier->SoldierGotoStationaryStance( );
|
||||
else
|
||||
{
|
||||
pSoldier->SoldierGotoStationaryStance();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7411,7 +7411,7 @@ void SOLDIERTYPE::StopSoldier( void )
|
||||
this->EVENT_StopMerc( this->sGridNo, this->ubDirection );
|
||||
}
|
||||
|
||||
// Set desination
|
||||
// Set destination
|
||||
this->pathing.sFinalDestination = this->sGridNo;
|
||||
|
||||
}
|
||||
@@ -19403,9 +19403,16 @@ BOOLEAN SOLDIERTYPE::AIDoctorFriend( )
|
||||
|
||||
if ( gAnimControl[this->usAnimState].ubEndHeight == ANIM_CROUCH )
|
||||
{
|
||||
// sevenfm: first change to stationary
|
||||
this->SoldierGotoStationaryStance();
|
||||
|
||||
this->EVENT_InitNewSoldierAnim( START_AID, 0, FALSE );
|
||||
}
|
||||
|
||||
// sevenfm: change target to stationary
|
||||
if (pSoldier->stats.bLife >= OKLIFE && pSoldier->bBreath >= OKBREATH && !pSoldier->bCollapsed)
|
||||
pSoldier->SoldierGotoStationaryStance();
|
||||
|
||||
// AI medics always perform surgery
|
||||
this->fDoingSurgery = TRUE;
|
||||
|
||||
@@ -19448,6 +19455,9 @@ BOOLEAN SOLDIERTYPE::AIDoctorSelf( )
|
||||
|
||||
if ( gAnimControl[this->usAnimState].ubEndHeight == ANIM_CROUCH )
|
||||
{
|
||||
// sevenfm: first change to stationary
|
||||
this->SoldierGotoStationaryStance();
|
||||
|
||||
this->EVENT_InitNewSoldierAnim( START_AID, 0, FALSE );
|
||||
}
|
||||
|
||||
|
||||
@@ -9515,8 +9515,8 @@ UINT32 CalcChanceHTH( SOLDIERTYPE * pAttacker,SOLDIERTYPE *pDefender, INT16 ubAi
|
||||
else
|
||||
{
|
||||
// Changed from DG by CJC to give higher chances of hitting with a stab or punch
|
||||
// sevenfm: lowered chance for HTH
|
||||
if (ubMode == HTH_MODE_PUNCH)
|
||||
// sevenfm: lowered chance for boxers
|
||||
if (pAttacker->flags.uiStatusFlags & SOLDIER_BOXER)
|
||||
iChance = 50 + (iAttRating - iDefRating) / 3;
|
||||
else
|
||||
iChance = 67 + (iAttRating - iDefRating) / 3;
|
||||
|
||||
Reference in New Issue
Block a user