diff --git a/Tactical/SkillMenu.cpp b/Tactical/SkillMenu.cpp index 614d84f8f..3ecd4aecd 100644 --- a/Tactical/SkillMenu.cpp +++ b/Tactical/SkillMenu.cpp @@ -150,12 +150,13 @@ TraitSelection::Setup( UINT32 aVal ) CHAR16 pStr[300]; // create entries for the sub-menus for each trait - const UINT8 num = 4; + const UINT8 num = 5; UINT8 traitarray[num]; traitarray[0] = RADIO_OPERATOR_NT; traitarray[1] = INTEL; - traitarray[2] = VARIOUSSKILLS; - traitarray[3] = AUTOBANDAGESKILLS; + traitarray[2] = DISGUISE; + traitarray[3] = VARIOUSSKILLS; + traitarray[4] = AUTOBANDAGESKILLS; for ( int i = 0; i < num; ++i) { @@ -260,7 +261,7 @@ SkillSelection::Setup( UINT32 aVal ) } break; - case INTEL: + case INTEL: { for ( UINT32 uiCounter = SKILLS_INTEL_FIRST; uiCounter <= SKILLS_INTEL_LAST; ++uiCounter ) { @@ -280,6 +281,26 @@ SkillSelection::Setup( UINT32 aVal ) } break; + case DISGUISE: + { + for ( UINT32 uiCounter = SKILLS_DISGUISE_FIRST; uiCounter <= SKILLS_DISGUISE_LAST; ++uiCounter ) + { + swprintf( pStr, pTraitSkillsMenuStrings[uiCounter] ); + + pOption = new POPUP_OPTION( &std::wstring( pStr ), new popupCallbackFunction( &Wrapper_Function_SkillSelection, uiCounter ) ); + + // if we cannot perform this skill, grey it out + if ( !( pSoldier->CanUseSkill( uiCounter, TRUE, sTraitsMenuTargetGridNo ) ) ) + { + // Set this option off. + pOption->setAvail( new popupCallbackFunction( &Popup_OptionOff, NULL ) ); + } + + GetPopup()->addOption( *pOption ); + } + } + break; + case VARIOUSSKILLS: { for(UINT32 uiCounter = SKILLS_VARIOUS_FIRST; uiCounter <= SKILLS_VARIOUS_LAST; ++uiCounter) @@ -343,6 +364,13 @@ SkillSelection::Setup( UINT32 aVal ) } break; + case DISGUISE: + for ( UINT32 uiCounter = SKILLS_DISGUISE_FIRST; uiCounter <= SKILLS_DISGUISE_LAST; ++uiCounter ) + { + SetRegionFastHelpText( &( GetPopup()->MenuRegion[cnt++] ), pSoldier->PrintSkillDesc( uiCounter, sTraitsMenuTargetGridNo ) ); + } + break; + case VARIOUSSKILLS: { for(UINT32 uiCounter = SKILLS_VARIOUS_FIRST; uiCounter <= SKILLS_VARIOUS_LAST; ++uiCounter) diff --git a/Tactical/Soldier Control.cpp b/Tactical/Soldier Control.cpp index aa6be1754..9adc7f0f4 100644 --- a/Tactical/Soldier Control.cpp +++ b/Tactical/Soldier Control.cpp @@ -18292,6 +18292,18 @@ BOOLEAN SOLDIERTYPE::CanUseSkill( INT8 iSkill, BOOLEAN fAPCheck, INT32 sGridNo ) } break; + case SKILLS_DISGUISE_APPLY_DISGUISE: + case SKILLS_DISGUISE_REMOVE_CLOTHES: + if (IS_MERC_BODY_TYPE(this) && !(usSoldierFlagMask & (SOLDIER_COVERT_CIV | SOLDIER_COVERT_SOLDIER))) + canuse = TRUE; + break; + + case SKILLS_DISGUISE_REMOVE_DISGUISE: + case SKILLS_DISGUISE_TEST_DISGUISE: + if (IS_MERC_BODY_TYPE(this) && usSoldierFlagMask & (SOLDIER_COVERT_CIV | SOLDIER_COVERT_SOLDIER)) + canuse = TRUE; + break; + case SKILLS_SPOTTER: if ( (!fAPCheck || EnoughPoints( this, APBPConstants[AP_SPOTTER], 0, FALSE )) && CanSpot( ) ) canuse = TRUE; @@ -18314,6 +18326,11 @@ BOOLEAN SOLDIERTYPE::CanUseSkill( INT8 iSkill, BOOLEAN fAPCheck, INT32 sGridNo ) canuse = TRUE; break; + case SKILLS_FILL_CANTEENS: + if ( !((guiCurrentScreen != GAME_SCREEN && guiCurrentScreen != MSG_BOX_SCREEN) || (gTacticalStatus.uiFlags & INCOMBAT) || gTacticalStatus.fEnemyInSector || gusSelectedSoldier == NOBODY) ) + canuse = TRUE; + break; + default: break; } @@ -18410,6 +18427,23 @@ BOOLEAN SOLDIERTYPE::UseSkill( UINT8 iSkill, INT32 usMapPos, UINT32 ID ) return TRUE; break; + case SKILLS_DISGUISE_APPLY_DISGUISE: + this->Disguise(); + this->SpySelfTest(); + return TRUE; + + case SKILLS_DISGUISE_REMOVE_DISGUISE: + this->LooseDisguise(); + return TRUE; + + case SKILLS_DISGUISE_TEST_DISGUISE: + this->SpySelfTest(); + return TRUE; + + case SKILLS_DISGUISE_REMOVE_CLOTHES: + this->Strip(); + return TRUE; + case SKILLS_SPOTTER: return BecomeSpotter( usMapPos ); break; @@ -18443,6 +18477,10 @@ BOOLEAN SOLDIERTYPE::UseSkill( UINT8 iSkill, INT32 usMapPos, UINT32 ID ) return TRUE; break; + case SKILLS_FILL_CANTEENS: + SectorFillCanteens(); + break; + default: break; } @@ -18574,6 +18612,18 @@ STR16 SOLDIERTYPE::PrintSkillDesc( INT8 iSkill, INT32 sGridNo ) break; + case SKILLS_DISGUISE_APPLY_DISGUISE: + case SKILLS_DISGUISE_REMOVE_CLOTHES: + swprintf( atStr, pTraitSkillsDenialStrings[TEXT_SKILL_DENIAL_NOT_DISGUISED] ); + wcscat( skilldescarray, atStr ); + break; + + case SKILLS_DISGUISE_REMOVE_DISGUISE: + case SKILLS_DISGUISE_TEST_DISGUISE: + swprintf( atStr, pTraitSkillsDenialStrings[TEXT_SKILL_DENIAL_DISGUISE_CIV_OR_MIL] ); + wcscat( skilldescarray, atStr ); + break; + case SKILLS_SPOTTER: swprintf( atStr, pTraitSkillsDenialStrings[TEXT_SKILL_DENIAL_X_AP], APBPConstants[AP_SPOTTER] ); wcscat( skilldescarray, atStr ); @@ -18608,6 +18658,15 @@ STR16 SOLDIERTYPE::PrintSkillDesc( INT8 iSkill, INT32 sGridNo ) break; + case SKILLS_FILL_CANTEENS: + swprintf( atStr, pTraitSkillsDenialStrings[TEXT_SKILL_DENIAL_NOT_IN_COMBAT] ); + wcscat( skilldescarray, atStr ); + + swprintf( atStr, pTraitSkillsDenialStrings[TEXT_SKILL_DENIAL_FRIENDLY_SECTOR] ); + wcscat( skilldescarray, atStr ); + + break; + default: break; } @@ -24361,7 +24420,7 @@ BOOLEAN HAS_SKILL_TRAIT( SOLDIERTYPE * pSoldier, UINT8 uiSkillTraitNumber ) return FALSE; // Flugente: compatibility with skills - if ( uiSkillTraitNumber == INTEL || uiSkillTraitNumber == VARIOUSSKILLS ) + if ( uiSkillTraitNumber == INTEL || uiSkillTraitNumber == DISGUISE || uiSkillTraitNumber == VARIOUSSKILLS ) return TRUE; // sevenfm: add Autobandage option to skills menu diff --git a/Tactical/Soldier Control.h b/Tactical/Soldier Control.h index f3d2b65c8..9d2503f56 100644 --- a/Tactical/Soldier Control.h +++ b/Tactical/Soldier Control.h @@ -617,12 +617,21 @@ enum{ SKILLS_ACTIVATE_TURNCOATS_ALL, // order all enemy turncoats to turn into militia right now SKILLS_INTEL_LAST = SKILLS_ACTIVATE_TURNCOATS_ALL, + // disguise + SKILLS_DISGUISE_FIRST, + SKILLS_DISGUISE_APPLY_DISGUISE = SKILLS_DISGUISE_FIRST, + SKILLS_DISGUISE_REMOVE_DISGUISE, + SKILLS_DISGUISE_TEST_DISGUISE, + SKILLS_DISGUISE_REMOVE_CLOTHES, + SKILLS_DISGUISE_LAST = SKILLS_DISGUISE_REMOVE_CLOTHES, + // various SKILLS_VARIOUS_FIRST, SKILLS_SPOTTER = SKILLS_VARIOUS_FIRST, SKILLS_FOCUS, SKILLS_DRAG, - SKILLS_VARIOUS_LAST = SKILLS_DRAG, + SKILLS_FILL_CANTEENS, + SKILLS_VARIOUS_LAST = SKILLS_FILL_CANTEENS, SKILLS_MAX, }; diff --git a/Tactical/soldier profile type.h b/Tactical/soldier profile type.h index 9b05c90ac..a85653eae 100644 --- a/Tactical/soldier profile type.h +++ b/Tactical/soldier profile type.h @@ -181,7 +181,8 @@ typedef enum // Flugente: these aren't really traits, but it is convenient to pretend so #define INTEL (2 * NEWTRAIT_MERCSKILL_EXPERTOFFSET + 2) -#define VARIOUSSKILLS (INTEL + 1) +#define DISGUISE (INTEL + 1) +#define VARIOUSSKILLS (DISGUISE + 1) // sevenfm: add autobandage to skills menu #define AUTOBANDAGESKILLS (VARIOUSSKILLS + 1) diff --git a/Utils/Text.h b/Utils/Text.h index 4fde38c14..a628cf55c 100644 --- a/Utils/Text.h +++ b/Utils/Text.h @@ -2704,6 +2704,9 @@ enum TEXT_SKILL_DENIAL_ENEMY, TEXT_SKILL_DENIAL_SURFACELEVEL, TEXT_SKILL_DENIAL_STRATEGIC_SUSPICION, + TEXT_SKILL_DENIAL_NOT_DISGUISED, + TEXT_SKILL_DENIAL_NOT_IN_COMBAT, + TEXT_SKILL_DENIAL_FRIENDLY_SECTOR, TEXT_SKILL_DENIAL_MAX, }; diff --git a/Utils/_ChineseText.cpp b/Utils/_ChineseText.cpp index e6eccddf2..e3d541944 100644 --- a/Utils/_ChineseText.cpp +++ b/Utils/_ChineseText.cpp @@ -2831,10 +2831,17 @@ STR16 pTraitSkillsMenuStrings[] = L"激活被策反的敌军", // L"Activate turncoat", L"激活所有被策反的敌军", // L"Activate all turncoats", + // disguise + L"Disguise", + L"Remove disguise", + L"Test disguise", + L"Remove clothes", + // various L"侦查员", L"聚焦", //L"Focus", L"拖拽", //L"Drag", + L"Fill canteens", }; //Flugente: short description of the above skills for the skill selection menu @@ -2856,10 +2863,17 @@ STR16 pTraitSkillsMenuDescStrings[] = L"命令所有已被策反的敌军叛变并加入你的部队。", // L"Order previously turned soldier to betray their comrades and join you.", L"命令战区内所有已被策反的敌军叛变并加入你的部队。", // L"Order all previously turned soldiers in the sector to betray their comrades and join you.", + // disguise + L"Try to disguise with the merc's current clothes.", + L"Remove the disguise, but clothes remain worn.", + L"Test the viability of the disguise.", + L"Remove any extra clothes.", + // various L"侦查一个区域,友军狙击手在瞄准你所观察到的目标时会增加命中率。", L"增加标记区域内中断几率(标记区域外减少中断几率)", //L"Increase interrupt modifier (malus outside of area)", L"移动时拖人或尸体。", //L"Drag a person, corpse or structure while you move.", + L"Refill your squad's canteens with water from this sector.", }; STR16 pTraitSkillsDenialStrings[] = @@ -2888,6 +2902,9 @@ STR16 pTraitSkillsDenialStrings[] = L" - 敌军士兵\n", //L" - enemy soldier\n", L" - 显露伪装\n", //L" - surface sector\n", L" - 没有被怀疑\n", //L" - not being under suspicion\n", + L" - not disguised\n", + L" - not in combat\n", + L" - friendly controlled sector\n", }; STR16 pSkillMenuStrings[] = @@ -3241,6 +3258,7 @@ STR16 gzMercSkillTextNew[] = L"生还者", // for survival (minor trait) L"更多...", // 47 L"情报", //L"Intel", for INTEL + L"Disguise", // for DISGUISE L"多种技能", // for VARIOUSSKILLS L"治疗佣兵", //L"Bandage Mercs", for AUTOBANDAGESKILLS }; diff --git a/Utils/_DutchText.cpp b/Utils/_DutchText.cpp index dc6932217..1a3855699 100644 --- a/Utils/_DutchText.cpp +++ b/Utils/_DutchText.cpp @@ -2821,15 +2821,26 @@ STR16 pTraitSkillsMenuStrings[] = // TODO.Translate L"Eavesdrop", L"Call reinforcements", L"Switch off radio set", + L"Radio: Activate all turncoats", // spy L"Hide assignment", // TODO.Translate L"Get Intel assignment", + L"Recruit turncoat", + L"Activate turncoat", + L"Activate all turncoats", + // disguise + L"Disguise", + L"Remove disguise", + L"Test disguise", + L"Remove clothes", + // various L"Spotter", // TODO.Translate L"Focus", L"Drag", + L"Fill canteens", }; //Flugente: short description of the above skills for the skill selection menu @@ -2842,15 +2853,26 @@ STR16 pTraitSkillsMenuDescStrings[] = L"Use your radio equipment to continously listen for enemy movement.", L"Call in reinforcements from neighbouring sectors.", L"Turn off radio set.", // TODO.Translate + L"Order all previously turned soldiers in the sector to betray their comrades and join you.", // spy L"Assignment: hide among the population.", // TODO.Translate L"Assignment: hide among the population and gather intel.", + L"Try to turn an enemy into a turncoat.", + L"Order previously turned soldier to betray their comrades and join you.", + L"Order all previously turned soldiers in the sector to betray their comrades and join you.", + + // disguise + L"Try to disguise with the merc's current clothes.", + L"Remove the disguise, but clothes remain worn.", + L"Test the viability of the disguise.", + L"Remove any extra clothes.", // various L"Observe an area, granting allied snipers a bonus to cth on anything you see.", // TODO.Translate L"Increase interrupt modifier (penalty outside of area).", // TODO.Translate L"Drag a person, corpse or structure while you move.", + L"Refill your squad's canteens with water from this sector.", }; STR16 pTraitSkillsDenialStrings[] = @@ -2874,6 +2896,14 @@ STR16 pTraitSkillsDenialStrings[] = L" - single merc\n", L" - no alarm raised\n", L" - civilian or soldier disguise\n", + L" - being our turn\n", + L" - turned enemy soldier\n", + L" - enemy soldier\n", + L" - surface sector\n", + L" - not being under suspicion\n", + L" - not disguised\n", + L" - not in combat\n", + L" - friendly controlled sector\n", }; STR16 pSkillMenuStrings[] = // TODO.Translate @@ -3227,6 +3257,7 @@ STR16 gzMercSkillTextNew[] = L"Placeholder", // for survival (minor trait) L"More...", // 47 L"Intel", // for INTEL // TODO.Translate + L"Disguise", // for DISGUISE L"various", // for VARIOUSSKILLS L"Bandage Mercs", // for AUTOBANDAGESKILLS //TODO.Translate }; diff --git a/Utils/_EnglishText.cpp b/Utils/_EnglishText.cpp index 63e646a24..55ff952dd 100644 --- a/Utils/_EnglishText.cpp +++ b/Utils/_EnglishText.cpp @@ -2831,10 +2831,17 @@ STR16 pTraitSkillsMenuStrings[] = L"Activate turncoat", L"Activate all turncoats", + // disguise + L"Disguise", + L"Remove disguise", + L"Test disguise", + L"Remove clothes", + // various L"Spotter", L"Focus", L"Drag", + L"Fill canteens", }; //Flugente: short description of the above skills for the skill selection menu @@ -2856,10 +2863,17 @@ STR16 pTraitSkillsMenuDescStrings[] = L"Order previously turned soldier to betray their comrades and join you.", L"Order all previously turned soldiers in the sector to betray their comrades and join you.", + // disguise + L"Try to disguise with the merc's current clothes.", + L"Remove the disguise, but clothes remain worn.", + L"Test the viability of the disguise.", + L"Remove any extra clothes.", + // various L"Observe an area, granting allied snipers a bonus to cth on anything you see.", L"Increase interrupt modifier (penalty outside of area).", L"Drag a person, corpse or structure while you move.", + L"Refill your squad's canteens with water from this sector.", }; STR16 pTraitSkillsDenialStrings[] = @@ -2888,6 +2902,9 @@ STR16 pTraitSkillsDenialStrings[] = L" - enemy soldier\n", L" - surface sector\n", L" - not being under suspicion\n", + L" - not disguised\n", + L" - not in combat\n", + L" - friendly controlled sector\n", }; STR16 pSkillMenuStrings[] = @@ -3241,6 +3258,7 @@ STR16 gzMercSkillTextNew[] = L"Placeholder", // for survival (minor trait) L"More...", // 47 L"Intel", // for INTEL + L"Disguise", // for DISGUISE L"various", // for VARIOUSSKILLS L"Bandage Mercs", // for AUTOBANDAGESKILLS }; diff --git a/Utils/_FrenchText.cpp b/Utils/_FrenchText.cpp index 686a1a042..c8be801e3 100644 --- a/Utils/_FrenchText.cpp +++ b/Utils/_FrenchText.cpp @@ -2830,15 +2830,26 @@ STR16 pTraitSkillsMenuStrings[] = L"Écouter les alentours", L"Appeler des renforts", L"Éteindre la radio", + L"Radio: Activate all turncoats", // spy L"Hide assignment", // TODO.Translate L"Get Intel assignment", + L"Recruit turncoat", + L"Activate turncoat", + L"Activate all turncoats", + // disguise + L"Disguise", + L"Remove disguise", + L"Test disguise", + L"Remove clothes", + // various L"Guetteur", L"Focus", // TODO.Translate L"Drag", + L"Fill canteens", }; //Flugente: short description of the above skills for the skill selection menu @@ -2851,15 +2862,26 @@ STR16 pTraitSkillsMenuDescStrings[] = L"Utiliser votre radio pour connaître les mouvements de l'ennemi.", L"Appeler des renforts des secteurs voisins.", L"Éteindre la radio.", + L"Order all previously turned soldiers in the sector to betray their comrades and join you.", // spy L"Assignment: hide among the population.", // TODO.Translate L"Assignment: hide among the population and gather intel.", + L"Try to turn an enemy into a turncoat.", + L"Order previously turned soldier to betray their comrades and join you.", + L"Order all previously turned soldiers in the sector to betray their comrades and join you.", + + // disguise + L"Try to disguise with the merc's current clothes.", + L"Remove the disguise, but clothes remain worn.", + L"Test the viability of the disguise.", + L"Remove any extra clothes.", // various L"Observer une zone avec un tireur d'élite donne un bonus de CDT sur tout ce que vous voyez.", L"Increase interrupt modifier (penalty outside of area).", // TODO.Translate L"Drag a person, corpse or structure while you move.", + L"Refill your squad's canteens with water from this sector.", }; STR16 pTraitSkillsDenialStrings[] = @@ -2883,6 +2905,14 @@ STR16 pTraitSkillsDenialStrings[] = L" - single merc\n", L" - no alarm raised\n", L" - civilian or soldier disguise\n", + L" - being our turn\n", + L" - turned enemy soldier\n", + L" - enemy soldier\n", + L" - surface sector\n", + L" - not being under suspicion\n", + L" - not disguised\n", + L" - not in combat\n", + L" - friendly controlled sector\n", }; STR16 pSkillMenuStrings[] = @@ -3236,7 +3266,8 @@ STR16 gzMercSkillTextNew[] = L"Placeholder", // for survival (minor trait) L"Plus...", // 47 L"Intel", // for INTEL // TODO.Translate - L"Divers", // for VARIOUSSKILLS + L"Disguise", // for DISGUISE + L"divers", // for VARIOUSSKILLS L"Bandage Mercs", // for AUTOBANDAGESKILLS //TODO.Translate }; ////////////////////////////////////////////////////////// diff --git a/Utils/_GermanText.cpp b/Utils/_GermanText.cpp index d992d9612..2d099790d 100644 --- a/Utils/_GermanText.cpp +++ b/Utils/_GermanText.cpp @@ -2851,15 +2851,26 @@ STR16 pTraitSkillsMenuStrings[] = L"Abhöraktion starten", L"Verstärkung rufen", L"Radiogerät ausschalten", + L"Radio: Activate all turncoats", // spy L"Hide assignment", // TODO.Translate L"Get Intel assignment", + L"Recruit turncoat", + L"Activate turncoat", + L"Activate all turncoats", + + // disguise + L"Disguise", + L"Remove disguise", + L"Test disguise", + L"Remove clothes", // various L"Spotter", L"Fokus", L"Greifen", + L"Fill canteens", }; //Flugente: short description of the above skills for the skill selection menu @@ -2872,15 +2883,26 @@ STR16 pTraitSkillsMenuDescStrings[] = L"Das Radiogerät verwenden, um feindliche Bewegungen zu orten.", L"Verstärkung aus dem Nachbarsektor anfordern.", L"Radiogerät ausschalten.", + L"Order all previously turned soldiers in the sector to betray their comrades and join you.", // spy L"Assignment: hide among the population.", // TODO.Translate L"Assignment: hide among the population and gather intel.", + L"Try to turn an enemy into a turncoat.", + L"Order previously turned soldier to betray their comrades and join you.", + L"Order all previously turned soldiers in the sector to betray their comrades and join you.", + + // disguise + L"Try to disguise with the merc's current clothes.", + L"Remove the disguise, but clothes remain worn.", + L"Test the viability of the disguise.", + L"Remove any extra clothes.", // various L"Bestimmtes Gebiet beobachten, damit Scharfschützen einen Bonus auf deren Treffsicherheit erhalten.", L"Increase interrupt modifier (penalty outside of area).", // TODO.Translate L"Drag a person, corpse or structure while you move.", + L"Refill your squad's canteens with water from this sector.", }; STR16 pTraitSkillsDenialStrings[] = @@ -2904,6 +2926,14 @@ STR16 pTraitSkillsDenialStrings[] = L" - single merc\n", L" - no alarm raised\n", L" - civilian or soldier disguise\n", + L" - being our turn\n", + L" - turned enemy soldier\n", + L" - enemy soldier\n", + L" - surface sector\n", + L" - not being under suspicion\n", + L" - not disguised\n", + L" - not in combat\n", + L" - friendly controlled sector\n", }; STR16 pSkillMenuStrings[] = // TODO.Translate @@ -3270,6 +3300,7 @@ STR16 gzMercSkillTextNew[] = L"Placeholder", // for survival (minor trait) L"Mehr...", // 47 L"Intel", // for INTEL // TODO.Translate + L"Disguise", // for DISGUISE L"diverse", // for VARIOUSSKILLS L"Bandage Mercs", // for AUTOBANDAGESKILLS //TODO.Translate }; diff --git a/Utils/_ItalianText.cpp b/Utils/_ItalianText.cpp index 2d8d9cab4..e3386dc6a 100644 --- a/Utils/_ItalianText.cpp +++ b/Utils/_ItalianText.cpp @@ -2816,15 +2816,26 @@ STR16 pTraitSkillsMenuStrings[] = // TODO.Translate L"Eavesdrop", L"Call reinforcements", L"Switch off radio set", + L"Radio: Activate all turncoats", // spy L"Hide assignment", // TODO.Translate L"Get Intel assignment", + L"Recruit turncoat", + L"Activate turncoat", + L"Activate all turncoats", + // disguise + L"Disguise", + L"Remove disguise", + L"Test disguise", + L"Remove clothes", + // various L"Spotter", // TODO.Translate L"Focus", // TODO.Translate L"Drag", + L"Fill canteens", }; //Flugente: short description of the above skills for the skill selection menu @@ -2837,15 +2848,26 @@ STR16 pTraitSkillsMenuDescStrings[] = L"Use your radio equipment to continously listen for enemy movement.", L"Call in reinforcements from neighbouring sectors.", L"Turn off radio set.", // TODO.Translate + L"Order all previously turned soldiers in the sector to betray their comrades and join you.", // spy L"Assignment: hide among the population.", // TODO.Translate L"Assignment: hide among the population and gather intel.", + L"Try to turn an enemy into a turncoat.", + L"Order previously turned soldier to betray their comrades and join you.", + L"Order all previously turned soldiers in the sector to betray their comrades and join you.", + + // disguise + L"Try to disguise with the merc's current clothes.", + L"Remove the disguise, but clothes remain worn.", + L"Test the viability of the disguise.", + L"Remove any extra clothes.", // various L"Observe an area, granting allied snipers a bonus to cth on anything you see.", // TODO.Translate L"Increase interrupt modifier (penalty outside of area).", // TODO.Translate L"Drag a person, corpse or structure while you move.", + L"Refill your squad's canteens with water from this sector.", }; STR16 pTraitSkillsDenialStrings[] = @@ -2869,6 +2891,14 @@ STR16 pTraitSkillsDenialStrings[] = L" - single merc\n", L" - no alarm raised\n", L" - civilian or soldier disguise\n", + L" - being our turn\n", + L" - turned enemy soldier\n", + L" - enemy soldier\n", + L" - surface sector\n", + L" - not being under suspicion\n", + L" - not disguised\n", + L" - not in combat\n", + L" - friendly controlled sector\n", }; STR16 pSkillMenuStrings[] = // TODO.Translate @@ -3223,6 +3253,7 @@ STR16 gzMercSkillTextNew[] = L"Placeholder", // for survival (minor trait) L"More...", // 47 L"Intel", // for INTEL // TODO.Translate + L"Disguise", // for DISGUISE L"various", // for VARIOUSSKILLS L"Bandage Mercs", // for AUTOBANDAGESKILLS //TODO.Translate }; diff --git a/Utils/_PolishText.cpp b/Utils/_PolishText.cpp index 2826c175c..0407f08e1 100644 --- a/Utils/_PolishText.cpp +++ b/Utils/_PolishText.cpp @@ -2828,15 +2828,26 @@ STR16 pTraitSkillsMenuStrings[] = // TODO.Translate L"Eavesdrop", L"Call reinforcements", L"Switch off radio set", + L"Radio: Activate all turncoats", // spy L"Hide assignment", // TODO.Translate L"Get Intel assignment", + L"Recruit turncoat", + L"Activate turncoat", + L"Activate all turncoats", + // disguise + L"Disguise", + L"Remove disguise", + L"Test disguise", + L"Remove clothes", + // various L"Spotter", // TODO.Translate L"Focus", // TODO.Translate L"Drag", + L"Fill canteens", }; //Flugente: short description of the above skills for the skill selection menu @@ -2849,15 +2860,26 @@ STR16 pTraitSkillsMenuDescStrings[] = L"Use your radio equipment to continously listen for enemy movement.", L"Call in reinforcements from neighbouring sectors.", L"Turn off radio set.", // TODO.Translate + L"Order all previously turned soldiers in the sector to betray their comrades and join you.", // spy L"Assignment: hide among the population.", // TODO.Translate L"Assignment: hide among the population and gather intel.", + L"Try to turn an enemy into a turncoat.", + L"Order previously turned soldier to betray their comrades and join you.", + L"Order all previously turned soldiers in the sector to betray their comrades and join you.", + + // disguise + L"Try to disguise with the merc's current clothes.", + L"Remove the disguise, but clothes remain worn.", + L"Test the viability of the disguise.", + L"Remove any extra clothes.", // various L"Observe an area, granting allied snipers a bonus to cth on anything you see.", // TODO.Translate L"Increase interrupt modifier (penalty outside of area).", // TODO.Translate L"Drag a person, corpse or structure while you move.", + L"Refill your squad's canteens with water from this sector.", }; STR16 pTraitSkillsDenialStrings[] = @@ -2881,6 +2903,14 @@ STR16 pTraitSkillsDenialStrings[] = L" - single merc\n", L" - no alarm raised\n", L" - civilian or soldier disguise\n", + L" - being our turn\n", + L" - turned enemy soldier\n", + L" - enemy soldier\n", + L" - surface sector\n", + L" - not being under suspicion\n", + L" - not disguised\n", + L" - not in combat\n", + L" - friendly controlled sector\n", }; STR16 pSkillMenuStrings[] = // TODO.Translate @@ -3233,6 +3263,7 @@ STR16 gzMercSkillTextNew[] = L"Placeholder", // for survival (minor trait) L"Więcej...", // 47 L"Intel", // for INTEL // TODO.Translate + L"Disguise", // for DISGUISE L"różne", // for VARIOUSSKILLS L"Bandage Mercs", // for AUTOBANDAGESKILLS //TODO.Translate }; diff --git a/Utils/_RussianText.cpp b/Utils/_RussianText.cpp index d7d83a57a..462dbdb2a 100644 --- a/Utils/_RussianText.cpp +++ b/Utils/_RussianText.cpp @@ -2831,10 +2831,17 @@ STR16 pTraitSkillsMenuStrings[] = L"Activate turncoat", L"Activate all turncoats", + // disguise + L"Disguise", + L"Remove disguise", + L"Test disguise", + L"Remove clothes", + // various L"Наблюдатель", L"Focus", // TODO.Translate L"Drag", + L"Fill canteens", }; //Flugente: short description of the above skills for the skill selection menu @@ -2856,10 +2863,17 @@ STR16 pTraitSkillsMenuDescStrings[] = L"Order previously turned soldier to betray their comrades and join you.", L"Order all previously turned soldiers in the sector to betray their comrades and join you.", + // disguise + L"Try to disguise with the merc's current clothes.", + L"Remove the disguise, but clothes remain worn.", + L"Test the viability of the disguise.", + L"Remove any extra clothes.", + // various L"Наблюдать за местностью, чтобы обеспечить более меткую стрельбу своим снайперам.", L"Increase interrupt modifier (penalty outside of area).", // TODO.Translate L"Drag a person, corpse or structure while you move.", + L"Refill your squad's canteens with water from this sector.", }; STR16 pTraitSkillsDenialStrings[] = @@ -2888,6 +2902,9 @@ STR16 pTraitSkillsDenialStrings[] = L" - enemy soldier\n", L" - surface sector\n", L" - not being under suspicion\n", + L" - not disguised\n", + L" - not in combat\n", + L" - friendly controlled sector\n", }; STR16 pSkillMenuStrings[] = @@ -3241,6 +3258,7 @@ STR16 gzMercSkillTextNew[] = L"Placeholder", // for survival (minor trait) L"Ещё...", // 47 L"Intel", // for INTEL // TODO.Translate + L"Disguise", // for DISGUISE L"Различные", // for VARIOUSSKILLS L"Автоперевязка", // for AUTOBANDAGESKILLS };