New ammotype: cryo ammo deals no damage, but freezes a soldier for two turns (stackable effect). A frozen soldier cannot perform actions, and has drastically lowered damage resistance. For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&th=22926&start=0&

Requires GameDir >= r2284.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8034 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2016-01-24 22:54:13 +00:00
parent a9778435dd
commit 811f18009f
21 changed files with 360 additions and 185 deletions
+20 -12
View File
@@ -1476,28 +1476,25 @@ BOOLEAN GetSnitchDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, UINT32 iData
BOOLEAN DelayedTacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteNum )
{
if ( pSoldier->ubProfile == NO_PROFILE )
{
return( FALSE );
}
if (pSoldier->stats.bLife < CONSCIOUSNESS )
return( FALSE );
return( FALSE );
if ( pSoldier->usSkillCooldown[SOLDIER_COOLDOWN_CRYO] )
return FALSE;
if ( pSoldier->flags.uiStatusFlags & SOLDIER_GASSED )
return( FALSE );
if ( (AM_A_ROBOT( pSoldier )) )
{
return( FALSE );
}
if (pSoldier->stats.bLife < OKLIFE && usQuoteNum != QUOTE_SERIOUSLY_WOUNDED )
return( FALSE );
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_POW )
{
return( FALSE );
}
return( CharacterDialogue( pSoldier->ubProfile, usQuoteNum, pSoldier->iFaceIndex, DIALOGUE_TACTICAL_UI, TRUE, TRUE ) );
}
@@ -1513,11 +1510,13 @@ BOOLEAN TacticalCharacterDialogueWithSpecialEvent( SOLDIERTYPE *pSoldier, UINT16
if ( uiFlag != DIALOGUE_SPECIAL_EVENT_DO_BATTLE_SND && uiData1 != BATTLE_SOUND_DIE1 )
{
if (pSoldier->stats.bLife < CONSCIOUSNESS )
return( FALSE );
return( FALSE );
if ( pSoldier->usSkillCooldown[SOLDIER_COOLDOWN_CRYO] )
return FALSE;
if ( pSoldier->flags.uiStatusFlags & SOLDIER_GASSED )
return( FALSE );
}
return( CharacterDialogueWithSpecialEvent( pSoldier->ubProfile, usQuoteNum, pSoldier->iFaceIndex, DIALOGUE_TACTICAL_UI, TRUE, FALSE, uiFlag, uiData1, uiData2 ) );
@@ -1533,7 +1532,10 @@ BOOLEAN TacticalCharacterDialogueWithSpecialEventEx( SOLDIERTYPE *pSoldier, UINT
if ( uiFlag != DIALOGUE_SPECIAL_EVENT_DO_BATTLE_SND && uiData1 != BATTLE_SOUND_DIE1 )
{
if (pSoldier->stats.bLife < CONSCIOUSNESS )
return( FALSE );
return( FALSE );
if ( pSoldier->usSkillCooldown[SOLDIER_COOLDOWN_CRYO] )
return FALSE;
if ( pSoldier->flags.uiStatusFlags & SOLDIER_GASSED )
return( FALSE );
@@ -1578,7 +1580,10 @@ BOOLEAN TacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteNum )
}
#endif
if (pSoldier->stats.bLife < CONSCIOUSNESS )
return( FALSE );
return( FALSE );
if ( pSoldier->usSkillCooldown[SOLDIER_COOLDOWN_CRYO] )
return FALSE;
if (pSoldier->stats.bLife < OKLIFE && usQuoteNum != QUOTE_SERIOUSLY_WOUNDED )
return( FALSE );
@@ -1931,6 +1936,9 @@ BOOLEAN ExecuteCharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32
return( FALSE );
}
if ( pSoldier->usSkillCooldown[SOLDIER_COOLDOWN_CRYO] )
return FALSE;
if ( pSoldier->flags.uiStatusFlags & SOLDIER_GASSED )
return( FALSE );