mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +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
|
// 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
|
// By this, we wont have to spend additional APs when we continue to run
|
||||||
if ( gTacticalStatus.uiFlags & TURNBASED && gTacticalStatus.uiFlags & INCOMBAT && gGameExternalOptions.fNoStandingAnimAdjustInCombat &&
|
if ((gTacticalStatus.uiFlags & TURNBASED && gTacticalStatus.uiFlags & INCOMBAT) &&
|
||||||
!pSoldier->bCollapsed && !pSoldier->bBreathCollapsed )
|
(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.
|
// 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;
|
BOOLEAN dontadjustanim = FALSE;
|
||||||
@@ -1670,11 +1673,15 @@ BOOLEAN ExecuteOverhead( )
|
|||||||
pSoldier->ubPendingDirection = NO_PENDING_DIRECTION;
|
pSoldier->ubPendingDirection = NO_PENDING_DIRECTION;
|
||||||
pSoldier->aiData.ubPendingAction = NO_PENDING_ACTION;
|
pSoldier->aiData.ubPendingAction = NO_PENDING_ACTION;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
pSoldier->SoldierGotoStationaryStance( );
|
{
|
||||||
|
pSoldier->SoldierGotoStationaryStance();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
pSoldier->SoldierGotoStationaryStance( );
|
{
|
||||||
|
pSoldier->SoldierGotoStationaryStance();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7411,7 +7411,7 @@ void SOLDIERTYPE::StopSoldier( void )
|
|||||||
this->EVENT_StopMerc( this->sGridNo, this->ubDirection );
|
this->EVENT_StopMerc( this->sGridNo, this->ubDirection );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set desination
|
// Set destination
|
||||||
this->pathing.sFinalDestination = this->sGridNo;
|
this->pathing.sFinalDestination = this->sGridNo;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -19403,9 +19403,16 @@ BOOLEAN SOLDIERTYPE::AIDoctorFriend( )
|
|||||||
|
|
||||||
if ( gAnimControl[this->usAnimState].ubEndHeight == ANIM_CROUCH )
|
if ( gAnimControl[this->usAnimState].ubEndHeight == ANIM_CROUCH )
|
||||||
{
|
{
|
||||||
|
// sevenfm: first change to stationary
|
||||||
|
this->SoldierGotoStationaryStance();
|
||||||
|
|
||||||
this->EVENT_InitNewSoldierAnim( START_AID, 0, FALSE );
|
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
|
// AI medics always perform surgery
|
||||||
this->fDoingSurgery = TRUE;
|
this->fDoingSurgery = TRUE;
|
||||||
|
|
||||||
@@ -19448,6 +19455,9 @@ BOOLEAN SOLDIERTYPE::AIDoctorSelf( )
|
|||||||
|
|
||||||
if ( gAnimControl[this->usAnimState].ubEndHeight == ANIM_CROUCH )
|
if ( gAnimControl[this->usAnimState].ubEndHeight == ANIM_CROUCH )
|
||||||
{
|
{
|
||||||
|
// sevenfm: first change to stationary
|
||||||
|
this->SoldierGotoStationaryStance();
|
||||||
|
|
||||||
this->EVENT_InitNewSoldierAnim( START_AID, 0, FALSE );
|
this->EVENT_InitNewSoldierAnim( START_AID, 0, FALSE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9515,8 +9515,8 @@ UINT32 CalcChanceHTH( SOLDIERTYPE * pAttacker,SOLDIERTYPE *pDefender, INT16 ubAi
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Changed from DG by CJC to give higher chances of hitting with a stab or punch
|
// Changed from DG by CJC to give higher chances of hitting with a stab or punch
|
||||||
// sevenfm: lowered chance for HTH
|
// sevenfm: lowered chance for boxers
|
||||||
if (ubMode == HTH_MODE_PUNCH)
|
if (pAttacker->flags.uiStatusFlags & SOLDIER_BOXER)
|
||||||
iChance = 50 + (iAttRating - iDefRating) / 3;
|
iChance = 50 + (iAttRating - iDefRating) / 3;
|
||||||
else
|
else
|
||||||
iChance = 67 + (iAttRating - iDefRating) / 3;
|
iChance = 67 + (iAttRating - iDefRating) / 3;
|
||||||
|
|||||||
Reference in New Issue
Block a user