From db6b0cb917da32420d027fc4a5f915d876a8dbf4 Mon Sep 17 00:00:00 2001 From: Flugente Date: Sat, 16 Mar 2013 02:28:04 +0000 Subject: [PATCH] spies can now test their disguise by using option #6 in the tactical function selection menu - they will evaluate their disguise (see the resulting messages for hints on how to improve disguise) git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5922 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Tactical/Handle Items.cpp | 12 +++++++++++- Tactical/Soldier Control.cpp | 9 +++++++++ Tactical/Soldier Control.h | 5 ++++- Utils/Text.h | 3 +++ Utils/_ChineseText.cpp | 2 ++ Utils/_DutchText.cpp | 2 ++ Utils/_EnglishText.cpp | 3 +++ Utils/_FrenchText.cpp | 2 ++ Utils/_GermanText.cpp | 28 +++++++++++++++------------- Utils/_ItalianText.cpp | 2 ++ Utils/_PolishText.cpp | 2 ++ Utils/_RussianText.cpp | 2 ++ Utils/_TaiwaneseText.cpp | 2 ++ 13 files changed, 59 insertions(+), 15 deletions(-) diff --git a/Tactical/Handle Items.cpp b/Tactical/Handle Items.cpp index 912d3b72..cf256e09 100644 --- a/Tactical/Handle Items.cpp +++ b/Tactical/Handle Items.cpp @@ -4742,7 +4742,13 @@ void StartTacticalFunctionSelectionMessageBox( SOLDIERTYPE * pSoldier, INT32 sGr wcscpy( gzUserDefinedButton[2], TacticalStr[ CLEAN_ALL_GUNS_STR ] ); wcscpy( gzUserDefinedButton[3], TacticalStr[ TAKE_OFF_CLOTHES_STR ] ); wcscpy( gzUserDefinedButton[4], TacticalStr[ MILITIA_DROP_EQ_STR ] ); - wcscpy( gzUserDefinedButton[5], TacticalStr[ UNUSED_STR ] ); + + // if disguised, allow testing our disguise + if ( gpTempSoldier->bSoldierFlagMask & (SOLDIER_COVERT_CIV|SOLDIER_COVERT_SOLDIER) ) + wcscpy( gzUserDefinedButton[5], TacticalStr[ SPY_SELFTEST_STR ] ); + else + wcscpy( gzUserDefinedButton[5], TacticalStr[ UNUSED_STR ] ); + wcscpy( gzUserDefinedButton[6], TacticalStr[ UNUSED_STR ] ); wcscpy( gzUserDefinedButton[7], TacticalStr[ UNUSED_STR ] ); DoMessageBox( MSG_BOX_BASIC_MEDIUM_BUTTONS, TacticalStr[ FUNCTION_SELECTION_STR ], GAME_SCREEN, MSG_BOX_FLAG_GENERIC_EIGHT_BUTTONS, TacticalFunctionSelectionMessageBoxCallBack, NULL ); @@ -4920,6 +4926,10 @@ void TacticalFunctionSelectionMessageBoxCallBack( UINT8 ubExitValue ) // militia drops all gear taken from sector inventory TeamDropAll( MILITIA_TEAM ); break; + case 6: + // test our disguise + gpTempSoldier->SpySelfTest(); + break; default: break; } diff --git a/Tactical/Soldier Control.cpp b/Tactical/Soldier Control.cpp index 7a9c208f..f59224bd 100644 --- a/Tactical/Soldier Control.cpp +++ b/Tactical/Soldier Control.cpp @@ -15385,6 +15385,15 @@ void SOLDIERTYPE::Strip() } } +// check wether our disguise is any good +void SOLDIERTYPE::SpySelfTest() +{ + if ( SeemsLegit(this->ubID) ) + ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szCovertTextStr[STR_COVERT_TEST_OK], this->name ); + else + ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szCovertTextStr[STR_COVERT_TEST_FAIL], this->name ); +} + // can we process prisoners in this sector? BOOLEAN SOLDIERTYPE::CanProcessPrisoners() { diff --git a/Tactical/Soldier Control.h b/Tactical/Soldier Control.h index 5882c2a5..d99f1747 100644 --- a/Tactical/Soldier Control.h +++ b/Tactical/Soldier Control.h @@ -1489,7 +1489,7 @@ public: // Flugente: return a cleaning kit from our inventory OBJECTTYPE* GetCleaningKit(); - // use cleaning kits to clean weapons in inventory. fCleanAll = TRUE: clean all eapons found, otherwise just the first one + // use cleaning kits to clean weapons in inventory. fCleanAll = TRUE: clean all weapons found, otherwise just the first one void CleanWeapon( BOOLEAN fCleanAll ); // Flugente: functions for the covert ops trait @@ -1518,6 +1518,9 @@ public: // lose disguise or take off any clothes item and switch back to original clothes void Strip(); + // check wether our disguise is any good + void SpySelfTest(); + // Flugente: prisoner system BOOLEAN CanProcessPrisoners(); UINT32 GetSurrenderStrength(); diff --git a/Utils/Text.h b/Utils/Text.h index 7e926ad0..05bc9217 100644 --- a/Utils/Text.h +++ b/Utils/Text.h @@ -686,6 +686,8 @@ enum STR_COVERT_UNIFORM_NOORDER, STR_COVERT_SURRENDER_FAILED, STR_COVERT_UNCOVER_SINGLE, + STR_COVERT_TEST_OK, + STR_COVERT_TEST_FAIL, TEXT_NUM_COVERT_STR }; @@ -963,6 +965,7 @@ enum PRISONER_OFFER_SURRENDER_STR, PRISONER_TALK_STR, MILITIA_DROP_EQ_STR, + SPY_SELFTEST_STR, UNUSED_STR, TEXT_NUM_TACTICAL_STR diff --git a/Utils/_ChineseText.cpp b/Utils/_ChineseText.cpp index 191a074c..d3688457 100644 --- a/Utils/_ChineseText.cpp +++ b/Utils/_ChineseText.cpp @@ -7490,6 +7490,8 @@ STR16 szCovertTextStr[]= L"%s wears a disorderly uniform!",// TODO.Translate L"In retrospect, asking for surrender in disguise wasn't the best idea...", L"%s was uncovered!", + L"%s's disguise seems to be ok...", + L"%s's disguise will not hold.", }; STR16 szCorpseTextStr[]= diff --git a/Utils/_DutchText.cpp b/Utils/_DutchText.cpp index 2bda1568..66721132 100644 --- a/Utils/_DutchText.cpp +++ b/Utils/_DutchText.cpp @@ -7487,6 +7487,8 @@ STR16 szCovertTextStr[]= L"%s wears a disorderly uniform!", L"In retrospect, asking for surrender in disguise wasn't the best idea...", L"%s was uncovered!", + L"%s's disguise seems to be ok...", + L"%s's disguise will not hold.", }; STR16 szCorpseTextStr[]= diff --git a/Utils/_EnglishText.cpp b/Utils/_EnglishText.cpp index 13f47bbb..6442f760 100644 --- a/Utils/_EnglishText.cpp +++ b/Utils/_EnglishText.cpp @@ -2944,6 +2944,7 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] = L"Offer surrender", L"Talk", L"Militia inspection", + L"Test disguise", L"unused", }; @@ -7475,6 +7476,8 @@ STR16 szCovertTextStr[]= L"%s wears a disorderly uniform!", L"In retrospect, asking for surrender in disguise wasn't the best idea...", L"%s was uncovered!", + L"%s's disguise seems to be ok...", + L"%s's disguise will not hold.", }; STR16 szCorpseTextStr[]= diff --git a/Utils/_FrenchText.cpp b/Utils/_FrenchText.cpp index 5ed56018..819ceec5 100644 --- a/Utils/_FrenchText.cpp +++ b/Utils/_FrenchText.cpp @@ -7471,6 +7471,8 @@ STR16 szCovertTextStr[]= L"%s wears a disorderly uniform!", L"In retrospect, asking for surrender in disguise wasn't the best idea...", L"%s was uncovered!", + L"%s's disguise seems to be ok...", + L"%s's disguise will not hold.", }; STR16 szCorpseTextStr[]= diff --git a/Utils/_GermanText.cpp b/Utils/_GermanText.cpp index 90978988..7dff722d 100644 --- a/Utils/_GermanText.cpp +++ b/Utils/_GermanText.cpp @@ -7269,26 +7269,26 @@ STR16 gszPocketPopupText[]= // Flugente: externalised texts for some features STR16 szCovertTextStr[]= { - L"%s hat Tarnung!", + L"%s hat Feldtarnung!", L"%s hat einen Rucksack!", L"%s wurde gesichtet beim Tragen einer Leiche!", - L"%s's %s ist misstrauisch!", - L"%s's %s ist eine militätische Ausrüstung!", + L"%s's %s ist verdächtig!", + L"%s's %s ist eine militärische Ausrüstung!", L"%s trägt zu viele Waffen!", - L"%s's %s ist zu fortgeschriten für einen Soldaten dieser Armee!", + L"%s's %s ist zu fortgeschritten für einen Soldaten dieser Armee!", L"%s's %s hat zu viele Anbauten!", L"%s wurde gesichtet bei verdächtigen Handlungen!", L"%s schaut nicht wie ein Zivilist aus!", L"%s Blutung wurde entdeckt!", L"%s ist betrunken und verhält sich deshalb nicht wie ein Soldat!", - L"Bei genauerer Betrachtungweise ist %s's Verschleierungstaktik nicht wirksam!", + L"Bei genauerer Betrachtungweise ist %s's Verkleidung nicht wirksam!", L"%s sollte nicht hier sein!", - L"%s sollte nicht hier sein zu dieser Zeit!", - L"%s wurde in der nähe einer frischen Leiche gesichtet!", - L"%s Ausrüstung lässt die Augenbrauchen hochgehen!", + L"%s sollte um diese Uhrzeit nicht hier sein!", + L"%s wurde in der Nähe einer frischen Leiche gesichtet!", + L"%s Ausrüstung sorgt für Erstaunen!", L"%s visiert %s an!", - L"%s wurde gesehen durch %s's Verschleierung!", - L"Keine Kleidungsgegenstände wuden in der Datei Items.xml gefunden!", + L"%s hat durch %s's Verkleidung gesehen!", + L"In der Items.xml wurde keine Kleidung gefunden!", L"Dies funktioniert nicht mit dem alten Fertigkeitensystem!", L"Zu wenig Bewegungspunkte!", L"Fehlerhafte Farbpalette!", @@ -7296,9 +7296,11 @@ STR16 szCovertTextStr[]= L"Keine Uniform gefunden!", L"%s ist jetzt verkleidet als ein Zivilist.", L"%s ist jetzt verkleidet als ein Soldat.", - L"%s trägt eine unordentliche Uniform!", - L"Im Nachhinein betrachtet, war das Angebot zur Aufgabe in der Verkleidung sicher nicht die beste Idee ...", - L"%s wurde aufgedeckt!", + L"%s trägt keine korrekte Uniform!", + L"Verkleidet zur Kapitulation aufzufordern, war im Nachhinein nicht ganz so klug ...", + L"%s wurde enttarnt!", + L"%s's Verkleidung sollte überzeugen", + L"%s's Verkleidung wird auffliegen!", }; STR16 szCorpseTextStr[]= diff --git a/Utils/_ItalianText.cpp b/Utils/_ItalianText.cpp index ecf85563..34621908 100644 --- a/Utils/_ItalianText.cpp +++ b/Utils/_ItalianText.cpp @@ -7473,6 +7473,8 @@ STR16 szCovertTextStr[]= L"%s wears a disorderly uniform!", L"In retrospect, asking for surrender in disguise wasn't the best idea...", L"%s was uncovered!", + L"%s's disguise seems to be ok...", + L"%s's disguise will not hold.", }; STR16 szCorpseTextStr[]= diff --git a/Utils/_PolishText.cpp b/Utils/_PolishText.cpp index 906ac20c..81fa0fb9 100644 --- a/Utils/_PolishText.cpp +++ b/Utils/_PolishText.cpp @@ -7494,6 +7494,8 @@ STR16 szCovertTextStr[]= L"%s wears a disorderly uniform!", L"In retrospect, asking for surrender in disguise wasn't the best idea...", L"%s was uncovered!", + L"%s's disguise seems to be ok...", + L"%s's disguise will not hold.", }; STR16 szCorpseTextStr[]= diff --git a/Utils/_RussianText.cpp b/Utils/_RussianText.cpp index ff2ce004..0eedb3b2 100644 --- a/Utils/_RussianText.cpp +++ b/Utils/_RussianText.cpp @@ -7475,6 +7475,8 @@ STR16 szCovertTextStr[]= L"%s wears a disorderly uniform!", L"In retrospect, asking for surrender in disguise wasn't the best idea...", L"%s was uncovered!", + L"%s's disguise seems to be ok...", + L"%s's disguise will not hold.", }; STR16 szCorpseTextStr[]= diff --git a/Utils/_TaiwaneseText.cpp b/Utils/_TaiwaneseText.cpp index 174be6e4..cd8766b2 100644 --- a/Utils/_TaiwaneseText.cpp +++ b/Utils/_TaiwaneseText.cpp @@ -7491,6 +7491,8 @@ STR16 szCovertTextStr[]= L"%s wears a disorderly uniform!", L"In retrospect, asking for surrender in disguise wasn't the best idea...", L"%s was uncovered!", + L"%s's disguise seems to be ok...", + L"%s's disguise will not hold.", }; STR16 szCorpseTextStr[]=