new cheat command CTRL+SHIFT+g = god mode (invulnerability) requested by Parkan, works in both tactical and strategic

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9097 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Shadooow
2021-06-21 21:15:17 +00:00
parent fd528e418c
commit bdbe1ffe65
4 changed files with 34 additions and 2 deletions
+9 -1
View File
@@ -90,6 +90,7 @@ INT32 giMaxMilitiaToRender = 20;//Changes depending on merc amount
extern UINT8 gubReinforcementMinEnemyStaticGroupSize;
extern BOOLEAN gfStrategicMilitiaChangesMade;
extern BOOLEAN gfGodModeCheat;
extern void ResetMilitia();
extern BOOLEAN AutoReload( SOLDIERTYPE *pSoldier );
@@ -5001,7 +5002,14 @@ void TargetHitCallback( SOLDIERCELL *pTarget, INT32 index )
break;
}
iNewLife = pTarget->pSoldier->stats.bLife - pTarget->usHitDamage[index];
if (gfGodModeCheat && pTarget->pSoldier->bTeam == OUR_TEAM)
{
iNewLife = pTarget->pSoldier->stats.bLife;
}
else
{
iNewLife = pTarget->pSoldier->stats.bLife - pTarget->usHitDamage[index];
}
if( !pTarget->usHitDamage[index] )
{ //bullet missed -- play a ricochet sound.
if( pTarget->uiFlags & CELL_MERC )
+11
View File
@@ -708,6 +708,7 @@ extern CHAR16 gzUserDefinedButton1[ 128 ];
extern CHAR16 gzUserDefinedButton2[ 128 ];
extern BOOLEAN gfMilitiaPopupCreated;
extern BOOLEAN gfGodModeCheat;
#ifdef JA2TESTVERSION
extern INT16 MSYS_CurrentMX;
@@ -7775,6 +7776,16 @@ void GetMapKeyboardInput( UINT32 *puiNewEvent )
}
}
break;
case 'G':
if (fCtrl)
{
if (CHEATER_CHEAT_LEVEL())
{
ScreenMsg(FONT_MCOLOR_RED, MSG_INTERFACE, gfGodModeCheat ? L"God mode deactivated." : L"God mode activated.");
gfGodModeCheat = !gfGodModeCheat;
}
}
break;
case 'g':
break;
case 'h':
+7
View File
@@ -1713,6 +1713,7 @@ PaletteReplacementType *guipPaletteReplacements = NULL;
extern BOOLEAN fReDrawFace;
extern UINT8 gubWaitingForAllMercsToExitCode;
BOOLEAN gfGetNewPathThroughPeople = FALSE;
BOOLEAN gfGodModeCheat = FALSE;
// LOCAL FUNCTIONS
// DO NOT CALL UNLESS THROUGH EVENT_SetSoldierPosition
@@ -10315,6 +10316,12 @@ UINT8 SOLDIERTYPE::SoldierTakeDamage( INT8 bHeight, INT16 sLifeDeduct, INT16 sBr
}
}
}
if (gfGodModeCheat && this->bTeam == OUR_TEAM)
{
sLifeDeduct = 0;
sBreathLoss = 0;
}
// Deduct life!, Show damage if we want!
bOldLife = this->stats.bLife;
+7 -1
View File
@@ -218,6 +218,7 @@ extern int iWindowedMode;
extern OBJECTTYPE *gpItemDescObject;
extern BOOLEAN gfInItemStackPopup;
extern BOOLEAN gfInKeyRingPopup;
extern BOOLEAN gfGodModeCheat;
//Little functions called by keyboard input
@@ -3512,7 +3513,12 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
case 'G':
if( fCtrl )
{
{
if (CHEATER_CHEAT_LEVEL())
{
ScreenMsg(FONT_MCOLOR_RED, MSG_INTERFACE, gfGodModeCheat ? L"God mode deactivated." : L"God mode activated.");
gfGodModeCheat = !gfGodModeCheat;
}
}
else if ( gGameSettings.fOptions[TOPTION_GL_BURST_CURSOR] )
{