Experimental tweak: stop muzzle flash at the end of the attack, to allow visibility check and interrupt to work correctly.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8954 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Sevenfm
2021-03-14 18:33:06 +00:00
parent 8822bfcb8f
commit 4cab0e2bdf
4 changed files with 16 additions and 2 deletions
+2 -1
View File
@@ -6361,7 +6361,8 @@ UINT32 UIHandleLAEndLockOurTurn( UI_EVENT *pUIEvent )
guiPendingOverrideEvent = M_ON_TERRAIN;
HandleTacticalUI( );
TurnOffTeamsMuzzleFlashes( gbPlayerNum );
// sevenfm: stop muzzle flash in InternalReduceAttackBusyCount instead
//TurnOffTeamsMuzzleFlashes( gbPlayerNum );
// UnPause time!
UnLockPauseState();
+2 -1
View File
@@ -9762,7 +9762,8 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( )
DequeueAllDemandGameEvents( TRUE );
// if we're in realtime, turn off the attacker's muzzle flash at this point
if ( !(gTacticalStatus.uiFlags & INCOMBAT) && pSoldier )
// sevenfm: always stop muzzle flash at the end of attack
if (pSoldier) // &&!(gTacticalStatus.uiFlags & INCOMBAT)
{
EndMuzzleFlash( pSoldier );
}
+6
View File
@@ -992,6 +992,12 @@ void DeductPoints( SOLDIERTYPE *pSoldier, INT16 sAPCost, INT32 iBPCost, UINT8 ub
pSoldier->usSoldierFlagMask2 |= SOLDIER_SPENT_AP;
pSoldier->StopChatting();
// sevenfm: stop muzzle flash
if (pSoldier->flags.fMuzzleFlash)
{
EndMuzzleFlash(pSoldier);
}
}
// in real time, there IS no AP cost, (only breath cost)
+6
View File
@@ -17946,6 +17946,12 @@ void SOLDIERTYPE::SoldierPropertyUpkeep( )
HandleInitialRedAlert( ENEMY_TEAM, FALSE );
}
// sevenfm: stop muzzle flash
if (this->flags.fMuzzleFlash)
{
EndMuzzleFlash(this);
}
if ( HasBackgroundFlag( BACKGROUND_EXP_UNDERGROUND ) && this->bSectorZ )
++bExtraExpLevel;