mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
If COVERT_ELITES_DETECT_NEXTTILE is set to TRUE, elite soldiers will uncover spies disguised as soldiers next to them if more experienced.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6249 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -2271,6 +2271,7 @@ void LoadSkillTraitsExternalSettings()
|
||||
gSkillTraitValues.sCODisguiseAPReduction = iniReader.ReadInteger("Covert Ops","COVERT_DISGUISE_PERCENT_AP_REDUCTION", 20, 0, 50);
|
||||
gSkillTraitValues.sCOCloseDetectionRange = iniReader.ReadInteger("Covert Ops","COVERT_CLOSE_DETECTION_RANGE", 10, 0, 100);
|
||||
gSkillTraitValues.sCOCloseDetectionRangeSoldierCorpse = iniReader.ReadInteger("Covert Ops","COVERT_CLOSE_DETECTION_RANGE_SOLDIER_CORPSE", 5, 0, 100);
|
||||
gSkillTraitValues.fCOElitesDetectNextTile = iniReader.ReadBoolean("Covert Ops","COVERT_ELITES_DETECT_NEXTTILE", TRUE);
|
||||
}
|
||||
//DBrot: Grids
|
||||
void LoadModSettings(){
|
||||
|
||||
@@ -1520,6 +1520,7 @@ typedef struct
|
||||
INT16 sCODisguiseAPReduction;
|
||||
INT16 sCOCloseDetectionRange;
|
||||
INT16 sCOCloseDetectionRangeSoldierCorpse;
|
||||
BOOLEAN fCOElitesDetectNextTile;
|
||||
|
||||
} SKILL_TRAIT_VALUES;
|
||||
|
||||
|
||||
@@ -15156,6 +15156,16 @@ BOOLEAN SOLDIERTYPE::SeemsLegit( UINT8 ubObserverID )
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// if we are a soldier, elites can uncover us if we are VERY close, and more experienced
|
||||
if ( this->bSoldierFlagMask & SOLDIER_COVERT_SOLDIER && gSkillTraitValues.fCOElitesDetectNextTile && distance < 2 && EffectiveExpLevel(pSoldier) > EffectiveExpLevel(this) + covertlevel )
|
||||
{
|
||||
if ( pSoldier->ubSoldierClass == SOLDIER_CLASS_ELITE )
|
||||
{
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szCovertTextStr[STR_COVERT_TOO_CLOSE_TO_ELITE], this->GetName() );
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( this->bSoldierFlagMask & SOLDIER_COVERT_CIV )
|
||||
|
||||
@@ -692,6 +692,7 @@ enum
|
||||
STR_COVERT_TEST_FAIL,
|
||||
STR_COVERT_STEAL_FAIL,
|
||||
STR_COVERT_APPLYITEM_STEAL_FAIL,
|
||||
STR_COVERT_TOO_CLOSE_TO_ELITE,
|
||||
TEXT_NUM_COVERT_STR
|
||||
};
|
||||
|
||||
|
||||
@@ -7522,6 +7522,7 @@ STR16 szCovertTextStr[]=
|
||||
L"%s的伪装要被识破了。", // L"%s's disguise will not hold.",
|
||||
L"%s在偷窃的时候被抓了!", // L"%s was caught stealing!",
|
||||
L"%s在试图调整%s的物品栏。", // L"%s tried to manipulate %s's inventory."
|
||||
L"%s is too close to an elite soldier!", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 szCorpseTextStr[]=
|
||||
|
||||
@@ -7519,7 +7519,8 @@ STR16 szCovertTextStr[]=
|
||||
L"%s's disguise seems to be ok...",
|
||||
L"%s's disguise will not hold.",
|
||||
L"%s was caught stealing!",
|
||||
L"%s tried to manipulate %s's inventory."
|
||||
L"%s tried to manipulate %s's inventory.",
|
||||
L"%s is too close to an elite soldier!", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 szCorpseTextStr[]=
|
||||
|
||||
@@ -7507,7 +7507,8 @@ STR16 szCovertTextStr[]=
|
||||
L"%s's disguise seems to be ok...",
|
||||
L"%s's disguise will not hold.",
|
||||
L"%s was caught stealing!",
|
||||
L"%s tried to manipulate %s's inventory."
|
||||
L"%s tried to manipulate %s's inventory.",
|
||||
L"%s is too close to an elite soldier!",
|
||||
};
|
||||
|
||||
STR16 szCorpseTextStr[]=
|
||||
|
||||
@@ -7503,7 +7503,8 @@ STR16 szCovertTextStr[]=
|
||||
L"%s's disguise seems to be ok...",
|
||||
L"%s's disguise will not hold.",
|
||||
L"%s was caught stealing!",
|
||||
L"%s tried to manipulate %s's inventory."
|
||||
L"%s tried to manipulate %s's inventory.",
|
||||
L"%s is too close to an elite soldier!", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 szCorpseTextStr[]=
|
||||
|
||||
@@ -7330,7 +7330,8 @@ STR16 szCovertTextStr[]=
|
||||
L"%s's Verkleidung sollte überzeugen",
|
||||
L"%s's Verkleidung wird auffliegen!",
|
||||
L"%s wurde beim Stehlen erwischt!",
|
||||
L"%s tried to manipulate %s's inventory."
|
||||
L"%s hat versucht, %s's Azsrüstung zu verändern.",
|
||||
L"%s ist zu nah an einem Elitesoldat!",
|
||||
};
|
||||
|
||||
STR16 szCorpseTextStr[]=
|
||||
|
||||
@@ -7505,7 +7505,8 @@ STR16 szCovertTextStr[]=
|
||||
L"%s's disguise seems to be ok...",
|
||||
L"%s's disguise will not hold.",
|
||||
L"%s was caught stealing!",
|
||||
L"%s tried to manipulate %s's inventory."
|
||||
L"%s tried to manipulate %s's inventory.",
|
||||
L"%s is too close to an elite soldier!", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 szCorpseTextStr[]=
|
||||
|
||||
@@ -7525,7 +7525,8 @@ STR16 szCovertTextStr[]=
|
||||
L"%s's disguise seems to be ok...",
|
||||
L"%s's disguise will not hold.",
|
||||
L"%s was caught stealing!",
|
||||
L"%s tried to manipulate %s's inventory."
|
||||
L"%s tried to manipulate %s's inventory.",
|
||||
L"%s is too close to an elite soldier!", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 szCorpseTextStr[]=
|
||||
|
||||
@@ -7506,7 +7506,8 @@ STR16 szCovertTextStr[]=
|
||||
L"%s's disguise seems to be ok...",
|
||||
L"%s's disguise will not hold.",
|
||||
L"%s was caught stealing!",
|
||||
L"%s tried to manipulate %s's inventory."
|
||||
L"%s tried to manipulate %s's inventory.",
|
||||
L"%s is too close to an elite soldier!", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 szCorpseTextStr[]=
|
||||
|
||||
@@ -7523,7 +7523,8 @@ STR16 szCovertTextStr[]=
|
||||
L"%s's disguise seems to be ok...",
|
||||
L"%s's disguise will not hold.",
|
||||
L"%s was caught stealing!",
|
||||
L"%s tried to manipulate %s's inventory."
|
||||
L"%s tried to manipulate %s's inventory.",
|
||||
L"%s is too close to an elite soldier!", // TODO.Translate
|
||||
};
|
||||
|
||||
STR16 szCorpseTextStr[]=
|
||||
|
||||
Reference in New Issue
Block a user