mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +02:00
Stop cowering when merc starts to move.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8929 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -1745,7 +1745,6 @@ UINT16 PickSoldierReadyAnimation( SOLDIERTYPE *pSoldier, BOOLEAN fEndReady, BOOL
|
|||||||
BOOLEAN CheckForFullStruct( INT32 sGridNo, UINT16 *pusIndex );
|
BOOLEAN CheckForFullStruct( INT32 sGridNo, UINT16 *pusIndex );
|
||||||
void SetSoldierLocatorOffsets( SOLDIERTYPE *pSoldier );
|
void SetSoldierLocatorOffsets( SOLDIERTYPE *pSoldier );
|
||||||
void CheckForFullStructures( SOLDIERTYPE *pSoldier );
|
void CheckForFullStructures( SOLDIERTYPE *pSoldier );
|
||||||
BOOLEAN InitNewSoldierState( SOLDIERTYPE *pSoldier, UINT8 ubNewState, UINT16 usStartingAniCode );
|
|
||||||
UINT16 GetNewSoldierStateFromNewStance( SOLDIERTYPE *pSoldier, UINT8 ubDesiredStance );
|
UINT16 GetNewSoldierStateFromNewStance( SOLDIERTYPE *pSoldier, UINT8 ubDesiredStance );
|
||||||
void SetSoldierAniSpeed( SOLDIERTYPE *pSoldier );
|
void SetSoldierAniSpeed( SOLDIERTYPE *pSoldier );
|
||||||
void AdjustForFastTurnAnimation( SOLDIERTYPE *pSoldier );
|
void AdjustForFastTurnAnimation( SOLDIERTYPE *pSoldier );
|
||||||
@@ -2999,9 +2998,9 @@ void CheckForFreeupFromHit( SOLDIERTYPE *pSoldier, UINT32 uiOldAnimFlags, UINT32
|
|||||||
BOOLEAN SOLDIERTYPE::EVENT_InitNewSoldierAnim( UINT16 usNewState, UINT16 usStartingAniCode, BOOLEAN fForce )
|
BOOLEAN SOLDIERTYPE::EVENT_InitNewSoldierAnim( UINT16 usNewState, UINT16 usStartingAniCode, BOOLEAN fForce )
|
||||||
{
|
{
|
||||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, "EVENT_InitNewSoldierAnim" );
|
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, "EVENT_InitNewSoldierAnim" );
|
||||||
INT32 usNewGridNo = 0;
|
INT32 usNewGridNo = 0;
|
||||||
INT16 sAPCost = 0;
|
INT16 sAPCost = 0;
|
||||||
INT32 sBPCost = 0;
|
INT32 sBPCost = 0;
|
||||||
UINT32 uiOldAnimFlags;
|
UINT32 uiOldAnimFlags;
|
||||||
UINT32 uiNewAnimFlags;
|
UINT32 uiNewAnimFlags;
|
||||||
UINT16 usSubState;
|
UINT16 usSubState;
|
||||||
@@ -3340,7 +3339,7 @@ BOOLEAN SOLDIERTYPE::EVENT_InitNewSoldierAnim( UINT16 usNewState, UINT16 usStart
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Are we cowering and are tyring to move, getup first...
|
// Are we cowering and are trying to move, getup first...
|
||||||
//if ( gAnimControl[ usNewState ].uiFlags & ANIM_MOVING && this->usAnimState == COWERING && gAnimControl[ usNewState ].ubEndHeight == ANIM_STAND )
|
//if ( gAnimControl[ usNewState ].uiFlags & ANIM_MOVING && this->usAnimState == COWERING && gAnimControl[ usNewState ].ubEndHeight == ANIM_STAND )
|
||||||
if ( this->usAnimState == COWERING )
|
if ( this->usAnimState == COWERING )
|
||||||
{
|
{
|
||||||
@@ -7221,6 +7220,14 @@ BOOLEAN SOLDIERTYPE::EVENT_InternalGetNewSoldierPath( INT32 sDestGridNo, UINT16
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// sevenfm: stop cowering for mercs
|
||||||
|
if (fFromUI &&
|
||||||
|
IS_MERC_BODY_TYPE(this) &&
|
||||||
|
//!(this->flags.uiStatusFlags & SOLDIER_COWERING) &&
|
||||||
|
this->IsCowering())
|
||||||
|
{
|
||||||
|
this->StopCoweringAnimation();
|
||||||
|
}
|
||||||
|
|
||||||
this->bGoodContPath = FALSE;
|
this->bGoodContPath = FALSE;
|
||||||
|
|
||||||
@@ -7564,8 +7571,7 @@ void SOLDIERTYPE::ChangeSoldierStance( UINT8 ubDesiredStance )
|
|||||||
// Set desired stance
|
// Set desired stance
|
||||||
this->ubDesiredHeight = ubDesiredStance;
|
this->ubDesiredHeight = ubDesiredStance;
|
||||||
|
|
||||||
// Now change to appropriate animation
|
this->EVENT_InitNewSoldierAnim(usNewState, 0, FALSE);
|
||||||
this->EVENT_InitNewSoldierAnim( usNewState, 0, FALSE );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this->usSoldierFlagMask |= SOLDIER_REDOFLASHLIGHT;
|
this->usSoldierFlagMask |= SOLDIER_REDOFLASHLIGHT;
|
||||||
@@ -25935,6 +25941,34 @@ BOOLEAN SOLDIERTYPE::IsCowering(void)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SOLDIERTYPE::StopCoweringAnimation(void)
|
||||||
|
{
|
||||||
|
if (this->usAnimState == COWERING)
|
||||||
|
{
|
||||||
|
if (gAnimControl[this->usAnimState].ubEndHeight == ANIM_STAND)
|
||||||
|
{
|
||||||
|
this->ubDesiredHeight = ANIM_STAND;
|
||||||
|
this->EVENT_InitNewSoldierAnim(END_COWER, 0, FALSE);
|
||||||
|
}
|
||||||
|
else if (gAnimControl[this->usAnimState].ubEndHeight == ANIM_CROUCH)
|
||||||
|
{
|
||||||
|
this->ubDesiredHeight = ANIM_CROUCH;
|
||||||
|
this->EVENT_InitNewSoldierAnim(END_COWER_CROUCHED, 0, FALSE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (this->usAnimState == COWERING_PRONE)
|
||||||
|
{
|
||||||
|
if (gAnimControl[this->usAnimState].ubEndHeight == ANIM_PRONE)
|
||||||
|
{
|
||||||
|
this->ubDesiredHeight = ANIM_PRONE;
|
||||||
|
this->EVENT_InitNewSoldierAnim(END_COWER_PRONE, 0, FALSE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// remove AI cowering flag
|
||||||
|
this->flags.uiStatusFlags &= ~SOLDIER_COWERING;
|
||||||
|
}
|
||||||
|
|
||||||
BOOLEAN SOLDIERTYPE::IsGivingAid(void)
|
BOOLEAN SOLDIERTYPE::IsGivingAid(void)
|
||||||
{
|
{
|
||||||
if (this->usAnimState == GIVING_AID || this->usAnimState == GIVING_AID_PRN || this->usAnimState == START_AID || this->usAnimState == START_AID_PRN)
|
if (this->usAnimState == GIVING_AID || this->usAnimState == GIVING_AID_PRN || this->usAnimState == START_AID || this->usAnimState == START_AID_PRN)
|
||||||
|
|||||||
@@ -1869,6 +1869,9 @@ public:
|
|||||||
BOOLEAN IsCowering(void);
|
BOOLEAN IsCowering(void);
|
||||||
BOOLEAN IsGivingAid(void);
|
BOOLEAN IsGivingAid(void);
|
||||||
|
|
||||||
|
// sevenfm: for player mercs
|
||||||
|
void StopCoweringAnimation(void);
|
||||||
|
|
||||||
void RetreatCounterStart(UINT16 usValue);
|
void RetreatCounterStart(UINT16 usValue);
|
||||||
void RetreatCounterStop(void);
|
void RetreatCounterStop(void);
|
||||||
UINT16 RetreatCounterValue(void);
|
UINT16 RetreatCounterValue(void);
|
||||||
|
|||||||
Reference in New Issue
Block a user