mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
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:
@@ -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 #################
|
||||
|
||||
|
||||
@@ -360,6 +360,7 @@ typedef struct
|
||||
BOOLEAN fEnableChanceOfEnemyAmbushes;
|
||||
INT8 bChanceModifierEnemyAmbushes;
|
||||
UINT8 usSpecialNPCStronger;
|
||||
BOOLEAN fAssassinsAreDisguised; // added by Flugente
|
||||
///////////////////////////////////////
|
||||
|
||||
// System settings
|
||||
|
||||
@@ -3938,6 +3938,7 @@ void HandleNPCTeamMemberDeath( SOLDIERTYPE *pSoldierOld )
|
||||
case T_REX:
|
||||
case DRUGGIST:
|
||||
case GENERAL:
|
||||
case JIM:
|
||||
case JACK:
|
||||
case OLAF:
|
||||
case RAY:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user