Fix: Jim was missing in several assassin-related checks

The assassins now come in random clothes and are covert initially, making it harder for the player to detect them. Ini option: ASSASSINS_DISGUISED = TRUE/FALSE

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5666 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2012-11-05 02:03:10 +00:00
parent 3124310a74
commit b9615ff597
7 changed files with 84 additions and 0 deletions
+3
View File
@@ -1059,6 +1059,9 @@ void LoadGameExternalOptions()
// SANDRO - Special NPCs strength increased by percent
gGameExternalOptions.usSpecialNPCStronger = iniReader.ReadInteger("Tactical Difficulty Settings", "SPECIAL_NPCS_STRONGER",0, 0, 200);
// Flugente: the assassins are disguised initially, so it is harder for the player to detect them
gGameExternalOptions.fAssassinsAreDisguised = iniReader.ReadBoolean("Tactical Difficulty Settings", "ASSASSINS_DISGUISED", TRUE);
//################# Tactical Vision Settings #################
+1
View File
@@ -360,6 +360,7 @@ typedef struct
BOOLEAN fEnableChanceOfEnemyAmbushes;
INT8 bChanceModifierEnemyAmbushes;
UINT8 usSpecialNPCStronger;
BOOLEAN fAssassinsAreDisguised; // added by Flugente
///////////////////////////////////////
// System settings
+1
View File
@@ -3938,6 +3938,7 @@ void HandleNPCTeamMemberDeath( SOLDIERTYPE *pSoldierOld )
case T_REX:
case DRUGGIST:
case GENERAL:
case JIM:
case JACK:
case OLAF:
case RAY:
+3
View File
@@ -2114,6 +2114,7 @@ INT16 SOLDIERTYPE::CalcActionPoints( void )
case T_REX:
case DRUGGIST:
case GENERAL:
case JIM:
case JACK:
case OLAF:
case RAY:
@@ -2232,6 +2233,7 @@ void SOLDIERTYPE::CalcNewActionPoints( void )
case T_REX:
case DRUGGIST:
case GENERAL:
case JIM:
case JACK:
case OLAF:
case RAY:
@@ -13893,6 +13895,7 @@ INT32 SOLDIERTYPE::GetDamageResistance(BOOLEAN fAutoResolve, BOOLEAN fCalcBreath
case T_REX:
case DRUGGIST:
case GENERAL:
case JIM:
case JACK:
case OLAF:
case RAY:
+72
View File
@@ -1248,6 +1248,78 @@ BOOLEAN TacticalCopySoldierFromProfile( SOLDIERTYPE *pSoldier, SOLDIERCREATE_STR
// pSoldier->snowCamo = 100;
//}
}
// Flugente: if playing with the covert trait, the assasins come covert, so they are tougher to find
if ( gGameExternalOptions.fAssassinsAreDisguised && gGameOptions.fNewTraitSystem && pSoldier->ubProfile >= JIM && pSoldier->ubProfile <= TYRONE )
{
pSoldier->bSoldierFlagMask |= (SOLDIER_COVERT_SOLDIER|SOLDIER_COVERT_NPC_SPECIAL|SOLDIER_NEW_VEST|SOLDIER_NEW_PANTS);
UINT8 rnd = Random(11);
// Vest
switch ( rnd )
{
case 0:
SET_PALETTEREP_ID( pSoldier->VestPal, "BROWNVEST" );
break;
case 1:
SET_PALETTEREP_ID( pSoldier->VestPal, "greyVEST" );
break;
case 2:
SET_PALETTEREP_ID( pSoldier->VestPal, "GREENVEST" );
break;
case 3:
SET_PALETTEREP_ID( pSoldier->VestPal, "JEANVEST" );
break;
case 4:
SET_PALETTEREP_ID( pSoldier->VestPal, "REDVEST" );
break;
case 5:
SET_PALETTEREP_ID( pSoldier->VestPal, "BLUEVEST" );
break;
case 6:
SET_PALETTEREP_ID( pSoldier->VestPal, "YELLOWVEST" );
break;
case 7:
SET_PALETTEREP_ID( pSoldier->VestPal, "WHITEVEST" );
break;
case 8:
SET_PALETTEREP_ID( pSoldier->VestPal, "BLACKSHIRT" );
break;
case 9:
SET_PALETTEREP_ID( pSoldier->VestPal, "GYELLOWSHIRT" );
break;
default:
SET_PALETTEREP_ID( pSoldier->VestPal, "PURPLESHIRT" );
break;
}
rnd = Random(6);
// Pants
switch ( rnd )
{
case 0:
SET_PALETTEREP_ID( pSoldier->PantsPal, "GREENPANTS" );
break;
case 1:
SET_PALETTEREP_ID( pSoldier->PantsPal, "JEANPANTS" );
break;
case 2:
SET_PALETTEREP_ID( pSoldier->PantsPal, "TANPANTS" );
break;
case 3:
SET_PALETTEREP_ID( pSoldier->PantsPal, "BLACKPANTS" );
break;
case 4:
SET_PALETTEREP_ID( pSoldier->PantsPal, "BLUEPANTS" );
break;
default:
SET_PALETTEREP_ID( pSoldier->PantsPal, "BEIGEPANTS" );
break;
}
}
return( TRUE );
}
+3
View File
@@ -5165,6 +5165,7 @@ UINT32 CalcNewChanceToHitGun(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTi
case T_REX:
case DRUGGIST:
case GENERAL:
case JIM:
case JACK:
case OLAF:
case RAY:
@@ -7087,6 +7088,7 @@ UINT32 CalcChanceToHitGun(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTime,
case T_REX:
case DRUGGIST:
case GENERAL:
case JIM:
case JACK:
case OLAF:
case RAY:
@@ -8513,6 +8515,7 @@ UINT32 CalcChanceToHitGun(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTime,
case T_REX:
case DRUGGIST:
case GENERAL:
case JIM:
case JACK:
case OLAF:
case RAY:
+1
View File
@@ -1833,6 +1833,7 @@ BOOLEAN DamageSoldierFromBlast( UINT8 ubPerson, UINT8 ubOwner, INT32 sBombGridNo
case T_REX:
case DRUGGIST:
case GENERAL:
case JIM:
case JACK:
case OLAF:
case RAY: