Merged from revision: 6905

Improved Snitch Trait (by anv)
- The snitch actions can be selected in the strategy view "Assignment" menu
o Spreading Propaganda: Accessible in town sectors
o Gathering Rumours: Accessible in town sectors
o Undercover Prison Snitch: Accessible from Facilities menu (Prison)
o Preventing Misbehaviour: New Snitch Menu
o Passive Reputation Increase
see: http://www.bears-pit.com/board/ubbthreads.php/topics/329412/1.html

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6906 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2014-02-12 17:22:40 +00:00
parent 3c95f4c9c2
commit 11037729f0
46 changed files with 3463 additions and 59 deletions
+7
View File
@@ -2473,6 +2473,12 @@ void LoadSkillTraitsExternalSettings()
gSkillTraitValues.bSNTLonerMercBonus = iniReader.ReadInteger("Snitch","LONER_MERC_BONUS", -10, -100, 100);
gSkillTraitValues.bSNTSameAssignmentBonus = iniReader.ReadInteger("Snitch","LONER_MERC_BONUS", -20, -100, 100);
gSkillTraitValues.bSNTMercOpinionAboutMercTreshold = iniReader.ReadInteger("Snitch","MERC_OPINION_ABOUT_MERC_TRESHOLD", -10, -25, 25);
gSkillTraitValues.ubSNTPassiveReputationGain = iniReader.ReadInteger("Snitch","PASSIVE_REPUTATION_GAIN", 3, 0, 100);
gSkillTraitValues.ubSNTHearingRangeBonus = iniReader.ReadInteger("Snitch","HEARING_RANGE_BONUS", 1, 0, 100);
gSkillTraitValues.fSNTPrisonSnitchInterrogationMultiplier = iniReader.ReadFloat("Snitch","PRISON_SNITCH_INTERROGATION_MULTIPLIER", 3.0, 0.0, 10.0);
gSkillTraitValues.fSNTPrisonSnitchGuardStrengthMultiplier = iniReader.ReadFloat("Snitch","PRISON_SNITCH_GUARD_STRENGTH_MULTIPLIER", 3.0, 0.0, 10.0);
}
//DBrot: Grids
void LoadModSettings(){
@@ -3450,6 +3456,7 @@ void LoadMoraleSettings()
gMoraleSettings.bValues[MORALE_PLAYER_INACTIVE_DAYS] = iniReader.ReadInteger("Strategic Morale Settings","MORALE_PLAYER_INACTIVE_DAYS", 3, 0, 100);
gMoraleSettings.bValues[MORALE_PLAYER_INACTIVE_DAYS_AGGRESSIVE_BONUS] = iniReader.ReadInteger("Strategic Morale Settings","MORALE_PLAYER_INACTIVE_DAYS_AGGRESSIVE_BONUS", -1, -100, 100);
gMoraleSettings.bValues[MORALE_PLAYER_INACTIVE_DAYS_PACIFIST_BONUS] = iniReader.ReadInteger("Strategic Morale Settings","MORALE_PLAYER_INACTIVE_DAYS_PACIFIST_BONUS", 2, -100, 100);
gMoraleSettings.bValues[MORALE_PREVENTED_MISBEHAVIOUR] = iniReader.ReadInteger("Strategic Morale Settings","MORALE_PREVENTED_MISBEHAVIOUR", -1, -100, 100);
gMoraleSettings.bModifiers[MORALE_MOD_MAX] = iniReader.ReadInteger("Morale Modifiers Settings","MORALE_MOD_MAX", -1, 0, 100);
+4 -1
View File
@@ -1799,7 +1799,10 @@ typedef struct
INT8 bSNTLonerMercBonus; // Bonus to chance if merc is loner
INT8 bSNTSameAssignmentBonus; // Bonus to chance if snitch and merc are on the same assignment
INT8 bSNTMercOpinionAboutMercTreshold; // For reports "merc hates merc" final chance is proportional to dislike in range between treshold (0%) and -25(100%)
UINT8 ubSNTPassiveReputationGain; // Reputation gain per day if snitch is happy
UINT8 ubSNTHearingRangeBonus; // Hearing range bonus
FLOAT fSNTPrisonSnitchInterrogationMultiplier; // Undercover snitch interrogation effectivness multiplier (compared to normal interrogation)
FLOAT fSNTPrisonSnitchGuardStrengthMultiplier; // Undercover snitch guarding effectivness multiplier (compared to normal guards)
} SKILL_TRAIT_VALUES;
// HEADROCK HAM 4: Constants used as coefficients by the various parts of the new CTH system.
+2 -1
View File
@@ -21,6 +21,7 @@ extern CHAR16 zTrackingNumber[16];
// Keeps track of the saved game version. Increment the saved game version whenever
// you will invalidate the saved game file
#define SNITCH_TRAIT_EXTENDED 151 // anv: more soldier flags, remembering exposition of snitch
#define CAMPAIGNSTATS 150 // Flugente: store campaign statistics
#define WALDO_CAN_REPAIR_HELICOPTER 149 // anv: have to refresh Waldo records
#define ENCYCLOPEDIA_ITEM_VISIBILITY 148 // Moa: Items discovered during compain have to be saved.
@@ -69,7 +70,7 @@ extern CHAR16 zTrackingNumber[16];
#define AP100_SAVEGAME_DATATYPE_CHANGE 105 // Before this, we didn't have the 100AP structure changes
#define NIV_SAVEGAME_DATATYPE_CHANGE 102 // Before this, we used the old structure system
#define SAVE_GAME_VERSION CAMPAIGNSTATS
#define SAVE_GAME_VERSION SNITCH_TRAIT_EXTENDED
//#define RUSSIANGOLD
#ifdef __cplusplus
+18
View File
@@ -8232,6 +8232,24 @@ void AssignPersonnelSkillTraitHelpText( UINT8 ubTraitNumber, BOOLEAN fExpertLeve
swprintf( apStr, L"" );
swprintf( atStr, gzIMPMinorTraitsHelpTextsSnitch[0]);
wcscat( apStr, atStr );
swprintf( atStr, gzIMPMinorTraitsHelpTextsSnitch[1]);
wcscat( apStr, atStr );
swprintf( atStr, gzIMPMinorTraitsHelpTextsSnitch[2]);
wcscat( apStr, atStr );
swprintf( atStr, gzIMPMinorTraitsHelpTextsSnitch[3]);
wcscat( apStr, atStr );
swprintf( atStr, gzIMPMinorTraitsHelpTextsSnitch[4]);
wcscat( apStr, atStr );
if( gSkillTraitValues.ubSNTPassiveReputationGain )
{
swprintf( atStr, gzIMPMinorTraitsHelpTextsSnitch[5],gSkillTraitValues.ubSNTPassiveReputationGain);
wcscat( apStr, atStr );
}
if( gSkillTraitValues.ubSNTHearingRangeBonus )
{
swprintf( atStr, gzIMPMinorTraitsHelpTextsSnitch[6],gSkillTraitValues.ubSNTHearingRangeBonus);
wcscat( apStr, atStr );
}
break;
}
case NO_SKILLTRAIT_NT:
+43 -7
View File
@@ -1505,22 +1505,34 @@ BOOLEAN MERCPROFILESTRUCT::Load(HWFILE hFile, bool forceLoadOldVersion, bool for
// Flugente: backgrounds
if(guiCurrentSaveGameVersion >= BACKGROUNDS)
{
if(guiCurrentSaveGameVersion >= BACKGROUNDS_FIX_UINT8)
{
if ( !FileRead( hFile, &this->usBackground, sizeof(UINT16), &uiNumBytesRead ) )
if(guiCurrentSaveGameVersion >= BACKGROUNDS_FIX_UINT8)
{
if ( !FileRead( hFile, &this->usBackground, sizeof(UINT16), &uiNumBytesRead ) )
{
return(FALSE);
}
}
else
{
if ( !FileRead( hFile, &this->usBackground, sizeof(UINT8), &uiNumBytesRead ) )
{
return(FALSE);
}
}
else
{
if ( !FileRead( hFile, &this->usBackground, sizeof(UINT8), &uiNumBytesRead ) )
}
if(guiCurrentSaveGameVersion >= SNITCH_TRAIT_EXTENDED)
{
//if ( !FileRead( hFile, &this->ubExposedInSector, sizeof(ubExposedInSector), &uiNumBytesRead ) )
//{
// return(FALSE);
//}
if ( !FileRead( hFile, &this->ubSnitchExposedCooldown, sizeof(ubSnitchExposedCooldown), &uiNumBytesRead ) )
{
return(FALSE);
}
}
}
}
if ( this->uiProfileChecksum != this->GetChecksum() )
{
return( FALSE );
@@ -1605,6 +1617,16 @@ BOOLEAN MERCPROFILESTRUCT::Save(HWFILE hFile)
return(FALSE);
}
//if ( !FileWrite( hFile, &this->ubExposedInSector, sizeof(ubExposedInSector), &uiNumBytesWritten ) )
//{
// return(FALSE);
//}
if ( !FileWrite( hFile, &this->ubSnitchExposedCooldown, sizeof(ubSnitchExposedCooldown), &uiNumBytesWritten ) )
{
return(FALSE);
}
return TRUE;
}
@@ -2203,6 +2225,20 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
buffer -= 6;
}
if ( guiCurrentSaveGameVersion >= SNITCH_TRAIT_EXTENDED )
{
numBytesRead = ReadFieldByField(hFile, &this->bSoldierFlagMask2, sizeof(bSoldierFlagMask2), sizeof(INT32), numBytesRead);
}
else
{
this->bSoldierFlagMask2 = 0;
for(int i = 0; i < sizeof(bSoldierFlagMask2); ++i)
buffer++;
while((buffer%4) > 0)
buffer++;
}
/*if ( guiCurrentSaveGameVersion >= FOOD_CHANGES )
{
numBytesRead = ReadFieldByField(hFile, &this->bFoodLevel, sizeof(bFoodLevel), sizeof(INT32), numBytesRead);
+2131 -29
View File
File diff suppressed because it is too large Load Diff
+60 -1
View File
@@ -71,10 +71,44 @@ enum
ASSIGNMENT_UNCONCIOUS, // unused
ASSIGNMENT_POW,
ASSIGNMENT_HOSPITAL,
ASSIGNMENT_EMPTY,
ASSIGNMENT_EMPTY,
FACILITY_PRISON_SNITCH,
FACILITY_SPREAD_PROPAGANDA,
FACILITY_SPREAD_PROPAGANDA_GLOBAL,
FACILITY_GATHER_RUMOURS,
SNITCH_SPREAD_PROPAGANDA,
SNITCH_GATHER_RUMOURS,
NUM_ASSIGNMENTS,
};
// strings for snitch exposition
enum
{
SNITCH_PRISON_EXPOSED_FINE_WISDOM,
SNITCH_PRISON_EXPOSED_FINE_LEADERSHIP,
SNITCH_PRISON_EXPOSED_FINE_EXPLEVEL,
SNITCH_PRISON_EXPOSED_FINE_GUARDS,
SNITCH_PRISON_EXPOSED_WOUNDED_DROWN,
SNITCH_PRISON_EXPOSED_WOUNDED_BEATEN,
SNITCH_PRISON_EXPOSED_WOUNDED_KNIFED,
SNITCH_PRISON_EXPOSED_WOUNDED_STRANGLED,
SNITCH_PRISON_EXPOSED_DEAD_DROWN,
SNITCH_PRISON_EXPOSED_DEAD_BEATEN,
SNITCH_PRISON_EXPOSED_DEAD_KNIFED,
SNITCH_PRISON_EXPOSED_DEAD_STRANGLED,
NUM_SNITCH_PRISON_EXPOSED,
};
// strings for snitch gathering rumours
enum
{
SNITCH_GATHERING_RUMOURS_RESULT,
NUM_SNITCH_GATHERING_RUMOURS_RESULT,
};
#define NO_ASSIGNMENT 127 //used when no pSoldier->ubDesiredSquad
// Train stats defines (must match ATTRIB_MENU_ defines, and pAttributeMenuStrings )
@@ -150,6 +184,9 @@ BOOLEAN CanCharacterVehicle( SOLDIERTYPE *pCharacter );
// can character be added to squad
INT8 CanCharacterSquad( SOLDIERTYPE *pCharacter, INT8 bSquadValue );
// can character snitch
BOOLEAN CanCharacterSnitch( SOLDIERTYPE *pCharacter );
// if merc could train militia here, do they have sufficient loyalty?
BOOLEAN DoesSectorMercIsInHaveSufficientLoyaltyToTrainMilitia( SOLDIERTYPE *pSoldier );
BOOLEAN DoesTownHaveRatingToTrainMilitia( INT8 bTownId );
@@ -196,6 +233,8 @@ UINT8 CalculateRepairPointsForRepairman(SOLDIERTYPE *pSoldier, UINT16 *pusMaxPts
UINT32 CalculateInterrogationValue(SOLDIERTYPE *pSoldier, UINT16 *pusMaxPts );
UINT32 CalculatePrisonGuardValue(SOLDIERTYPE *pSoldier, UINT16 *pusMaxPts );
UINT32 CalculateSnitchInterrogationValue(SOLDIERTYPE *pSoldier, UINT16 *pusMaxPts );
// Flugente: determine max items we can move, and the sector distance
// get bonus tarining pts due to an instructor for this student
@@ -230,6 +269,10 @@ extern INT32 ghMoveBox;
extern INT32 ghFacilityBox;
extern INT32 ghFacilityAssignmentBox;
//extern INT32 ghUpdateBox;
// anv: snitch menus
extern INT32 ghSnitchBox;
extern INT32 ghSnitchToggleBox;
extern INT32 ghSnitchSectorBox;
extern MOUSE_REGION gAssignmentScreenMaskRegion;
@@ -301,6 +344,17 @@ void CreateDestroyMouseRegionsForFacilityAssignmentMenu( void );
void FacilityAssignmentMenuMvtCallBack( MOUSE_REGION * pRegion, INT32 iReason );
void FacilityAssignmentMenuBtnCallback( MOUSE_REGION * pRegion, INT32 iReason );
// anv: snitch menus
void CreateDestroyMouseRegionsForSnitchMenu( void );
void SnitchMenuMvtCallBack(MOUSE_REGION * pRegion, INT32 iReason );
void SnitchMenuBtnCallback( MOUSE_REGION * pRegion, INT32 iReason );
void CreateDestroyMouseRegionsForSnitchToggleMenu( void );
void SnitchToggleMenuMvtCallBack(MOUSE_REGION * pRegion, INT32 iReason );
void SnitchToggleMenuBtnCallback( MOUSE_REGION * pRegion, INT32 iReason );
void CreateDestroyMouseRegionsForSnitchSectorMenu( void );
void SnitchSectorMenuMvtCallBack(MOUSE_REGION * pRegion, INT32 iReason );
void SnitchSectorMenuBtnCallback( MOUSE_REGION * pRegion, INT32 iReason );
// contract menu
void CreateDestroyMouseRegionsForContractMenu( void );
void ContractMenuBtnCallback( MOUSE_REGION * pRegion, INT32 iReason );
@@ -392,6 +446,11 @@ extern SOLDIERTYPE *gpFacilityStaffer;
// SANDRO - function to award record points for militia training
void RecordNumMilitiaTrainedForMercs( INT16 sX, INT16 sY, INT8 sZ, UINT8 ubMilitiaTrained, BOOLEAN fMobile );
// anv: decrease town loyalty hits
UINT32 HandlePropagandaBlockingBadNewsInTown( INT8 bTownId, UINT32 uiLoyaltyDecrease );
void HandleGatheringInformationBySoldier( SOLDIERTYPE* pSoldier );
#endif
+4
View File
@@ -187,6 +187,10 @@ enum
FAC_TRAINER_LEADERSHIP,
FAC_TRAINER_EXPLOSIVES,
FAC_INTERROGATE_PRISONERS,
FAC_PRISON_SNITCH,
FAC_SPREAD_PROPAGANDA,
FAC_SPREAD_PROPAGANDA_GLOBAL,
FAC_GATHER_RUMOURS,
NUM_FACILITY_ASSIGNMENTS,
};
+13 -1
View File
@@ -769,7 +769,7 @@ INT8 GetSoldierFacilityAssignmentIndex( SOLDIERTYPE *pSoldier )
bAssignment == IN_TRANSIT ||
bAssignment == TRAIN_TOWN ||
bAssignment == TRAIN_MOBILE ||
bAssignment > FACILITY_REST )
( bAssignment > FACILITY_REST && ( bAssignment < FACILITY_PRISON_SNITCH || bAssignment > FACILITY_GATHER_RUMOURS ) ))
{
// Soldier is performing a distinctly NON-FACILITY assignment.
return (-1);
@@ -921,6 +921,18 @@ INT8 GetSoldierFacilityAssignmentIndex( SOLDIERTYPE *pSoldier )
case FACILITY_INTERROGATE_PRISONERS:
bAssignmentIndex = FAC_INTERROGATE_PRISONERS;
break;
case FACILITY_PRISON_SNITCH:
bAssignmentIndex = FAC_PRISON_SNITCH;
break;
case FACILITY_SPREAD_PROPAGANDA:
bAssignmentIndex = FAC_SPREAD_PROPAGANDA;
break;
case FACILITY_SPREAD_PROPAGANDA_GLOBAL:
bAssignmentIndex = FAC_SPREAD_PROPAGANDA;
break;
case FACILITY_GATHER_RUMOURS:
bAssignmentIndex = FAC_GATHER_RUMOURS;
break;
default:
bAssignmentIndex = -1;
break;
+103 -1
View File
@@ -39,6 +39,7 @@
void HourlyQuestUpdate();
void HourlyLarryUpdate();
void HourlyStealUpdate(); // Flugente: certain characters might steal equipment (backgrounds)
void HourlySnitchUpdate(); // anv: decreasing cooldown after exposition
extern INT32 GetCurrentBalance( void );
extern void PayOffSkyriderDebtIfAny( );
@@ -54,6 +55,8 @@ void HourlyCheckIfSlayAloneSoHeCanLeave();
void HourlyHelicopterRepair();
#endif
void HourlyGatheringInformation();
void UpdateRegenCounters( void );
void HandleMinuteUpdate()
@@ -113,6 +116,10 @@ CHAR16 zString[128];
HourlyStealUpdate();
HourlySnitchUpdate();
HourlyGatheringInformation();
#ifdef JA2UB
// no UB
#else
@@ -334,6 +341,7 @@ UINT16 LarryItems[ NUM_LARRY_ITEMS ][ 3 ] =
void HourlyLarryUpdate()
{
SOLDIERTYPE * pSoldier = NULL;
SOLDIERTYPE * pOtherSoldier = NULL;
INT8 bSlot = NO_SLOT, bBoozeSlot;
INT8 bLarryItemLoop;
UINT16 usTemptation = 0;
@@ -386,6 +394,41 @@ void HourlyLarryUpdate()
if ( usTemptation > 0 )
{
// anv: snitches stop mercs from getting wasted
for( INT32 cnt2 = gTacticalStatus.Team[ OUR_TEAM ].bFirstID; cnt2 <= gTacticalStatus.Team[ OUR_TEAM ].bLastID; ++cnt2 )
{
pOtherSoldier = MercPtrs[ cnt ];
// note - snitches stop others, but can get wasted themselves (if they have drug use specifically set in background...)
if( pOtherSoldier && !pOtherSoldier->flags.fBetweenSectors && pOtherSoldier->bActive && pOtherSoldier->bInSector && !pOtherSoldier->flags.fMercAsleep && pSoldier->ubProfile != pOtherSoldier->ubProfile )
{
if ( ProfileHasSkillTrait( pOtherSoldier->ubProfile, SNITCH_NT ) && !( pSoldier->bSoldierFlagMask2 & SOLDIER_PREVENT_MISBEHAVIOUR_OFF ) )
{
if( pSoldier->sSectorX == pOtherSoldier->sSectorX && pSoldier->sSectorY == pOtherSoldier->sSectorY && pSoldier->bSectorZ == pOtherSoldier->bSectorZ )
{
UINT16 bPreventChance = ( EffectiveLeadership( pOtherSoldier ) + EffectiveExpLevel( pOtherSoldier ) / 2);
if (gGameOptions.fNewTraitSystem)
{
bPreventChance += 25 * NUM_SKILL_TRAITS( pOtherSoldier, SQUADLEADER_NT );
bPreventChance -= 25 * NUM_SKILL_TRAITS( pSoldier, STEALTHY_NT );
}
else
{
bPreventChance -= 25 * NUM_SKILL_TRAITS( pSoldier, STEALTHY_OT );
}
// keep 1% chance no matter what
bPreventChance = max( 0, min( 99, bPreventChance ) );
if( bPreventChance > PreRandom( 100 ) )
{
// merc is not amused by being prevented
HandleMoraleEvent( pSoldier, MORALE_PREVENTED_MISBEHAVIOUR, pSoldier->sSectorX, pSoldier->sSectorX, pSoldier->bSectorZ );
// also here would be a place for dynamic relationship decrease between them
continue;
}
}
}
}
}
if ( pSoldier->ubProfile == LARRY_DRUNK )
{
// NB store all drunkenness info in LARRY_NORMAL profile (to use same values)
@@ -449,10 +492,20 @@ void HourlyLarryUpdate()
}
}
// Flugente: certain characters might steal equipment (backgrounds)
// anv: decrease exposed snitch cooldown (for simplified exposition handling)
void HourlySnitchUpdate()
{
for( INT32 cnt = 0; cnt <= NUM_PROFILES; ++cnt )
{
if( gMercProfiles[cnt].ubSnitchExposedCooldown > 0 )
gMercProfiles[cnt].ubSnitchExposedCooldown--;
}
}
void HourlyStealUpdate()
{
SOLDIERTYPE * pSoldier = NULL;
SOLDIERTYPE * pOtherSoldier = NULL;
INT8 bSlot = NO_SLOT;
UINT16 usTemptation = 0;
BOOLEAN fBar = FALSE;
@@ -469,6 +522,40 @@ void HourlyStealUpdate()
// 20% chance that we'll steal something
if ( Chance(20) )
{
// anv: snitches prevent scrounging in the same sector
for( INT32 cnt2 = gTacticalStatus.Team[ OUR_TEAM ].bFirstID; cnt2 <= gTacticalStatus.Team[ OUR_TEAM ].bLastID; ++cnt2 )
{
pOtherSoldier = MercPtrs[ cnt ];
// note - snitches stop others, but can scrounge themselves (if they have scrounging specifically set in background...)
if( pOtherSoldier && !pOtherSoldier->flags.fBetweenSectors && pOtherSoldier->bActive && pOtherSoldier->bInSector && !pOtherSoldier->flags.fMercAsleep && pSoldier->ubProfile != pOtherSoldier->ubProfile )
{
if ( ProfileHasSkillTrait( pOtherSoldier->ubProfile, SNITCH_NT ) && !( pSoldier->bSoldierFlagMask2 & SOLDIER_PREVENT_MISBEHAVIOUR_OFF ) )
{
if( pSoldier->sSectorX == pOtherSoldier->sSectorX && pSoldier->sSectorY == pOtherSoldier->sSectorY && pSoldier->bSectorZ == pOtherSoldier->bSectorZ )
{
UINT16 bPreventChance = ( EffectiveLeadership( pOtherSoldier ) + EffectiveExpLevel( pOtherSoldier ) / 2);
if (gGameOptions.fNewTraitSystem)
{
bPreventChance += 25 * NUM_SKILL_TRAITS( pOtherSoldier, SQUADLEADER_NT );
bPreventChance -= 25 * NUM_SKILL_TRAITS( pSoldier, STEALTHY_NT );
}
else
{
bPreventChance -= 25 * NUM_SKILL_TRAITS( pSoldier, STEALTHY_OT );
}
// keep 1% chance no matter what
bPreventChance = max( 0, min( 99, bPreventChance ) );
if( bPreventChance > PreRandom( 100 ) )
{
// merc is not amused by being prevented
HandleMoraleEvent( pSoldier, MORALE_PREVENTED_MISBEHAVIOUR, pSoldier->sSectorX, pSoldier->sSectorX, pSoldier->bSectorZ );
// also here would be a place for dynamic relationship decrease between them
continue;
}
}
}
}
}
// we loop over this sector's inventory and look for something shiny. We will pick it up if we hae enough space in our inventory
// open sector inv
UINT32 uiTotalNumberOfRealItems = 0;
@@ -611,3 +698,18 @@ void HourlyHelicopterRepair()
}
}
#endif
void HourlyGatheringInformation()
{
SOLDIERTYPE *pSoldier;
INT32 cnt=0;
// go through list of characters, find all snicthes gathering info
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ pSoldier->bTeam ].bLastID; cnt++,pSoldier++)
{
if( ( pSoldier->bActive ) && ( pSoldier->bAssignment == SNITCH_GATHER_RUMOURS || pSoldier->bAssignment == FACILITY_GATHER_RUMOURS ) )
{
HandleGatheringInformationBySoldier( pSoldier );
}
}
}
+2 -1
View File
@@ -6396,7 +6396,8 @@ void HandleShowingOfEnemyForcesInSector( INT16 sSectorX, INT16 sSectorY, INT8 bS
if( !sNumberOfEnemies )
{
// nope - display nothing
return;
// anv: probability of false enemy reports!
//return;
}
+22 -1
View File
@@ -342,6 +342,13 @@ SGPPoint FacilityAssignmentPosition={220,150};
SGPPoint RepairPosition={160,150};
SGPRect RepairDimensions={0,0,80,80};
SGPPoint SnitchPosition={160,150};
SGPRect SnitchDimensions={0,0,80,80};
SGPPoint SnitchTogglePosition={320,150};
SGPRect SnitchToggleDimensions={0,0,80,80};
SGPPoint SnitchSectorPosition={320,150};
SGPRect SnitchSectorDimensions={0,0,80,80};
//lal
SGPPoint MilitiaControlPosition={120,150};
SGPRect MilitiaControlDimensions={0,0,100,95};
@@ -366,6 +373,9 @@ SGPPoint OrigMilitiaControlPosition = { 120, 150 }; //lal
SGPPoint OrigFacilityPosition = { 160, 150 }; // HEADROCK HAM 3.6
SGPPoint OrigFacilityAssignmentPosition = { 220,150 }; // HEADROCK HAM 3.6
//SGPPoint OrigTalkToAllPosition = { 160, 150 };
SGPPoint OrigSnitchPosition={160,150};
SGPPoint OrigSnitchTogglePosition={320,150};
SGPPoint OrigSnitchSectorPosition={320,150};
SQUAD_NAMES SquadNames[20];
@@ -917,7 +927,18 @@ void RestoreBackgroundForAssignmentGlowRegionList( void )
{
ForceUpDateOfBox( ghTrainingBox );
}
else if( fShowSnitchMenu == TRUE )
{
ForceUpDateOfBox( ghSnitchBox );
if( fShowSnitchToggleMenu == TRUE )
{
ForceUpDateOfBox( ghSnitchToggleBox );
}
else if( fShowSnitchSectorMenu == TRUE )
{
ForceUpDateOfBox( ghSnitchSectorBox );
}
}
}
if( fDisableDueToBattleRoster )
+38
View File
@@ -126,6 +126,7 @@ enum {
ASSIGN_MENU_VEHICLE,
ASSIGN_MENU_REPAIR,
ASSIGN_MENU_RADIO_SCAN, // added by Flugente
ASSIGN_MENU_SNITCH,
ASSIGN_MENU_TRAIN,
ASSIGN_MENU_MOVE_ITEMS, // added by Flugente
ASSIGN_MENU_FACILITY, // HEAROCK HAM 3.6: Facility List menu
@@ -133,6 +134,29 @@ enum {
MAX_ASSIGN_STRING_COUNT,
};
// snitch menu defines
enum{
SNITCH_MENU_TOGGLE = 0,
SNITCH_MENU_SECTOR,
SNITCH_MENU_CANCEL,
MAX_SNITCH_MENU_STRING_COUNT,
};
enum {
SNITCH_MENU_TOGGLE_ON = 0,
SNITCH_MENU_TOGGLE_OFF,
SNITCH_MENU_MISBEHAVIOUR_ON,
SNITCH_MENU_MISBEHAVIOUR_OFF,
SNITCH_MENU_TOGGLE_CANCEL,
MAX_SNITCH_TOGGLE_MENU_STRING_COUNT,
};
enum {
SNITCH_MENU_SECTOR_PROPAGANDA = 0,
SNITCH_MENU_SECTOR_GATHER_RUMOURS,
SNITCH_MENU_SECTOR_CANCEL,
MAX_SNITCH_SECTOR_MENU_STRING_COUNT,
};
// training assignment menu defines
enum {
@@ -276,6 +300,10 @@ extern BOOLEAN fShowMilitiaControlMenu ; //lal
//extern BOOLEAN fShowTalkToAllMenu ;
extern BOOLEAN fShowFacilityMenu; // HEADROCK HAM 3.6
extern BOOLEAN fShowFacilityAssignmentMenu; // HEADROCK HAM 3.6
// anv: snitch menus
extern BOOLEAN fShowSnitchMenu;
extern BOOLEAN fShowSnitchToggleMenu;
extern BOOLEAN fShowSnitchSectorMenu;
extern BOOLEAN fFirstTimeInMapScreen;
extern BOOLEAN fLockOutMapScreenInterface;
@@ -330,6 +358,13 @@ extern SGPRect FacilityAssignmentDimensions;
extern SGPPoint RepairPosition;
extern SGPRect RepairDimensions;
extern SGPPoint SnitchPosition;
extern SGPRect SnitchDimensions;
extern SGPPoint SnitchTogglePosition;
extern SGPRect SnitchToggleDimensions;
extern SGPPoint SnitchSectorPosition;
extern SGPRect SnitchSectorDimensions;
extern SGPPoint MilitiaControlPosition; //lal
extern SGPRect MilitiaControlDimensions;
@@ -346,6 +381,9 @@ extern SGPPoint OrigMilitiaControlPosition ; //lal
extern SGPPoint OrigFacilityPosition; // HEADROCK HAM 3.6: Facility Menu
extern SGPPoint OrigFacilityAssignmentPosition; // HEADROCK HAM 3.6
//extern SGPPoint OrigTalkToAllPosition ;
extern SGPPoint OrigSnitchPosition;
extern SGPPoint OrigSnitchTogglePosition;
extern SGPPoint OrigSnitchSectorPosition;
// disble team info panel due to showing of battle roster
extern BOOLEAN fDisableDueToBattleRoster;
+4
View File
@@ -356,6 +356,10 @@ void MercDailyUpdate()
}
}
if( !MercThinksHisMoraleIsTooLow( pSoldier ) && ProfileHasSkillTrait( pSoldier->ubProfile, SNITCH_NT ) )
{
ModifyPlayerReputation( gSkillTraitValues.ubSNTPassiveReputationGain );
}
DailyMoraleUpdate( pSoldier );
+3
View File
@@ -342,6 +342,9 @@ void DecrementTownLoyalty( INT8 bTownId, UINT32 uiLoyaltyDecrease )
return;
}
// anv: snitches spreading propaganda affect decrease amount
uiLoyaltyDecrease = HandlePropagandaBlockingBadNewsInTown( bTownId, uiLoyaltyDecrease );
// modify loyalty change by town's individual attitude toward rebelling (20 is typical)
uiLoyaltyDecrease *= 100;
uiLoyaltyDecrease /= (5 * gubTownRebelSentiment[ bTownId ]);
+21 -1
View File
@@ -832,7 +832,27 @@ facilitytypeEndElementHandle(void *userData, const XML_Char *name)
{
//pData->curAssignmentType = (INT16) atol(pData->szCharData);
pData->curAssignmentType = FAC_INTERROGATE_PRISONERS;
}
}
else if (strcmp(pData->szCharData, "PRISON_SNITCH") == 0)
{
//pData->curAssignmentType = (INT16) atol(pData->szCharData);
pData->curAssignmentType = FAC_PRISON_SNITCH;
}
else if (strcmp(pData->szCharData, "SPREAD_PROPAGANDA") == 0)
{
//pData->curAssignmentType = (INT16) atol(pData->szCharData);
pData->curAssignmentType = FAC_SPREAD_PROPAGANDA;
}
else if (strcmp(pData->szCharData, "SPREAD_PROPAGANDA_GLOBAL") == 0)
{
//pData->curAssignmentType = (INT16) atol(pData->szCharData);
pData->curAssignmentType = FAC_SPREAD_PROPAGANDA_GLOBAL;
}
else if (strcmp(pData->szCharData, "GATHER_RUMOURS") == 0)
{
//pData->curAssignmentType = (INT16) atol(pData->szCharData);
pData->curAssignmentType = FAC_GATHER_RUMOURS;
}
else
{
CHAR16 sErrorString[256];
+21
View File
@@ -2335,6 +2335,27 @@ void HandleRenderFaceAdjustments( FACETYPE *pFace, BOOLEAN fDisplayBuffer, BOOLE
fShowNumber = TRUE;
fShowMaximum = TRUE;
break;
case FACILITY_PRISON_SNITCH:
sIconIndex_Assignment = 27;
fDoIcon_Assignment = TRUE;
sPtsAvailable = (INT16)( CalculateSnitchInterrogationValue(pSoldier, &usMaximumPts ) );
fShowNumber = TRUE;
fShowMaximum = TRUE;
break;
case SNITCH_SPREAD_PROPAGANDA:
case FACILITY_SPREAD_PROPAGANDA:
case FACILITY_SPREAD_PROPAGANDA_GLOBAL:
sIconIndex_Assignment = 25;
fDoIcon_Assignment = TRUE;
break;
case SNITCH_GATHER_RUMOURS:
case FACILITY_GATHER_RUMOURS:
sIconIndex_Assignment = 26;
fDoIcon_Assignment = TRUE;
break;
}
// Check for being serviced...
+1
View File
@@ -251,5 +251,6 @@ extern INT8 EffectiveExpLevel( SOLDIERTYPE * pSoldier );
extern INT16 EffectiveDexterity( SOLDIERTYPE * pSoldier, BOOLEAN fTrainer );
extern INT16 EffectiveStrength( SOLDIERTYPE * pSoldier, BOOLEAN fTrainer );
extern INT16 EffectiveAgility( SOLDIERTYPE * pSoldier, BOOLEAN fTrainer );
extern INT8 EffectiveLeadership( SOLDIERTYPE * pSoldier ); // anv: and passed to Hourly Update.cpp apparently, so added this one too
#endif
+23
View File
@@ -105,6 +105,7 @@ MoraleEvent gbMoraleEvent[NUM_MORALE_EVENTS] =
{ STRATEGIC_MORALE_EVENT, -2}, //MORALE_BAD_EQUIPMENT,
{ STRATEGIC_MORALE_EVENT, -3}, //MORALE_OWED_MONEY,
{ STRATEGIC_MORALE_EVENT, -3}, //MORALE_PLAYER_INACTIVE,
{ STRATEGIC_MORALE_EVENT, -1}, //MORALE_PREVENTED_MISBEHAVIOUR,
};
BOOLEAN gfSomeoneSaidMoraleQuote = FALSE;
@@ -1384,6 +1385,12 @@ void HandleSnitchesReports( SnitchEvent *SnitchEvents, UINT8 ubSnitchEventsCount
bSnitchID = SnitchEvents[bCounter].ubSnitchID;
pSnitch = FindSoldierByProfileID(bSnitchID,TRUE);
if( pSnitch == NULL )
continue;
if( !(pSnitch->bActive) )
continue;
if( pSnitch->flags.fMercAsleep )
fSleepingSnitch = TRUE;
@@ -1399,6 +1406,18 @@ void HandleSnitchesReports( SnitchEvent *SnitchEvents, UINT8 ubSnitchEventsCount
{
if( SnitchEvents[bCounter2].ubSnitchID == bSnitchID )
{
// check if relevant mercs are well
SOLDIERTYPE *pSoldier, *pOtherSoldier;
pSoldier = FindSoldierByProfileID(SnitchEvents[bCounter2].ubTargetProfile,TRUE);
if( pSoldier == NULL || !(pSoldier->bActive) )
continue;
if( SnitchEvents[bCounter2].ubEventType == SNITCH_HATED_PERSON )
{
pOtherSoldier = FindSoldierByProfileID(SnitchEvents[bCounter2].ubSecondaryTargetProfile,TRUE);
if( pOtherSoldier == NULL || !(pOtherSoldier->bActive) )
continue;
}
// say this info
SnitchTacticalCharacterDialogue(FindSoldierByProfileID(bSnitchID,TRUE),SnitchEvents[bCounter2].ubEventType,SnitchEvents[bCounter2].ubEventType,
SnitchEvents[bCounter2].ubTargetProfile,SnitchEvents[bCounter2].ubSecondaryTargetProfile);
@@ -1497,6 +1516,10 @@ UINT8 RememberSnitchableEvent( UINT8 ubTargetProfile, UINT8 ubSecondaryTargetPro
(FLOAT)( gSkillTraitValues.bSNTMercOpinionAboutMercTreshold - HATED_OPINION ) ) );
}
}
if ( gMercProfiles[pSnitch->ubProfile].bDisability == DEAF )
{
sSnitchingChance /= 2;
}
sSnitchingChance = max(0, sSnitchingChance);
if( Random(100) < (UINT8)sSnitchingChance )
{
+2 -1
View File
@@ -63,9 +63,10 @@ typedef enum
MORALE_OWED_MONEY,
MORALE_OWED_MONEY_DAYS,
MORALE_PLAYER_INACTIVE,
MORALE_PLAYER_INACTIVE_DAYS,
MORALE_PLAYER_INACTIVE_DAYS, //50
MORALE_PLAYER_INACTIVE_DAYS_AGGRESSIVE_BONUS,
MORALE_PLAYER_INACTIVE_DAYS_PACIFIST_BONUS,
MORALE_PREVENTED_MISBEHAVIOUR,
NUM_MORALE_EVENTS,
} MoraleEventNames;
+14 -1
View File
@@ -10525,7 +10525,7 @@ UINT16 GetNumberOfPrisoners( UNDERGROUND_SECTORINFO *pSectorInfo, UINT8* apSpeci
return (UINT16)(pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_SPECIAL] + pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_ELITE] + pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_REGULAR] + pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_ADMIN]);
}
void ChangeNumberOfPrisoners( SECTORINFO *pSectorInfo, INT16 aSpecial, INT16 aElite, INT16 aRegular, INT16 aAdmin )
void ChangeNumberOfPrisoners( SECTORINFO *pSectorInfo, INT16 aSpecial, INT16 aElite, INT16 aRegular, INT16 aAdmin, INT16 sX, INT16 sY )
{
if ( !pSectorInfo )
return;
@@ -10534,6 +10534,19 @@ void ChangeNumberOfPrisoners( SECTORINFO *pSectorInfo, INT16 aSpecial, INT16 aEl
pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_ELITE] = max(0, min(255, pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_ELITE] + aElite) );
pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_REGULAR] = max(0, min(255, pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_REGULAR] + aRegular) );
pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_ADMIN] = max(0, min(255, pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_ADMIN] + aAdmin) );
// anv: handle change of number of prisoners knowing snitch's identity
//if( sX != 0 && sY != 0 )
//{
// for( UINT8 cnt = 0; cnt < NUM_PROFILES; cnt++ )
// {
// if( gMercProfiles[ cnt ].ubExposedInSector[ SECTOR(sX, sY) ] != 0 )
// {
// gMercProfiles[ cnt ].ubExposedInSector[ SECTOR(sX, sY) ] = max( 0, min( 255, gMercProfiles[ cnt ].ubExposedInSector[ SECTOR(sX, sY) ] + aSpecial + aElite + aRegular + aAdmin ) );
// }
// }
//}
}
void ChangeNumberOfPrisoners( UNDERGROUND_SECTORINFO *pSectorInfo, INT16 aSpecial, INT16 aElite, INT16 aRegular, INT16 aAdmin )
+1 -1
View File
@@ -376,7 +376,7 @@ BOOLEAN IsProfileInUse(UINT8 usTeam, INT8 aType, UINT16 aNr);
UINT16 GetNumberOfPrisoners( SECTORINFO *pSectorInfo, UINT8* apSpecial, UINT8* apElite, UINT8* apRegular, UINT8* apAdmin );
UINT16 GetNumberOfPrisoners( UNDERGROUND_SECTORINFO *pSectorInfo, UINT8* apSpecial, UINT8* apElite, UINT8* apRegular, UINT8* apAdmin );
void ChangeNumberOfPrisoners( SECTORINFO *pSectorInfo, INT16 aSpecial, INT16 aElite, INT16 aRegular, INT16 aAdmin );
void ChangeNumberOfPrisoners( SECTORINFO *pSectorInfo, INT16 aSpecial, INT16 aElite, INT16 aRegular, INT16 aAdmin, INT16 sX = 0, INT16 sY = 0 );
void ChangeNumberOfPrisoners( UNDERGROUND_SECTORINFO *pSectorInfo, INT16 aSpecial, INT16 aElite, INT16 aRegular, INT16 aAdmin );
void DeleteAllPrisoners( SECTORINFO *pSectorInfo );
+8
View File
@@ -393,6 +393,11 @@ enum
#define WH40K_SOLDIER_KILLTHISTURN 0x80000000 //2147483648 // Soldier is on a kill streak*/
// ----------------------------------------------------------------
// ------------------- more flags for soldiers --------------------
#define SOLDIER_SNITCHING_OFF 0x00000001 //1 // isn't allowed to snitch
#define SOLDIER_PREVENT_MISBEHAVIOUR_OFF 0x00000002 //2 // isn't allowed to prevent misbehaviour
// ----------------------------------------------------------------
// -------- added by Flugente: background property flags --------
// easier than adding 32 differently named variables. DO NOT CHANGE THEM, UNLESS YOU KNOW WHAT YOU ARE DOING!!!
// a merc's background info reveals data about his previous life, like former regiments. These backgrounds add small abilities/disabilities. Nothing substantial, just small bits do
@@ -1453,6 +1458,9 @@ public:
// Flugente: Decrease this filler by 1 for each new UINT8 / BOOLEAN variable, so we can maintain savegame compatibility!!
// Note that we also have to account for padding, so you might need to substract more than just the size of the new variables
UINT8 ubFiller[20];
INT32 bSoldierFlagMask2; // anv: another bSoldierFlagMask
#ifdef JA2UB
//ja25
+2
View File
@@ -1566,6 +1566,8 @@ INT8 DecideHearing( SOLDIERTYPE * pSoldier )
{
if (HAS_SKILL_TRAIT( pSoldier, NIGHT_OPS_NT ))
bHearing += gSkillTraitValues.ubNOHearingRangeBonus;
if (HAS_SKILL_TRAIT( pSoldier, SNITCH_NT ))
bHearing += gSkillTraitValues.ubSNTHearingRangeBonus;
}
else
{
+7
View File
@@ -3,6 +3,7 @@
#include "overhead types.h"
#include "Soldier Control.h"
#include "mapscreen.h"
#define NUM_PROFILES 255 //170 new profiles by Jazz
#define NUM_PROFILES_v111 170
@@ -945,6 +946,12 @@ public:
// Flugente: background
UINT16 usBackground;
// anv: for snitches, remember if he was exposed and by how many people (could be used for covert purposes too)
//UINT8 ubExposedInSector[MAP_WORLD_X * MAP_WORLD_Y];
// anv: simplified ubExposedInSector, hours until snitch can go undercover after exposition
UINT8 ubSnitchExposedCooldown;
}; // MERCPROFILESTRUCT;
// WANNE - BMP: DONE!
+10
View File
@@ -136,6 +136,16 @@ bool Loc::ExportStrings()
ExportSection(props, L"AttributeMenu", Loc::pAttributeMenuStrings, 0, MAX_ATTRIBUTE_STRING_COUNT);
ExportSection(props, L"TrainingMenu", Loc::pTrainingMenuStrings, 0, MAX_TRAIN_STRING_COUNT);
ExportSection(props, L"SquadMenu", Loc::pSquadMenuStrings, 0, MAX_SQUAD_MENU_STRING_COUNT);
ExportSection(props, L"SnitchMenu", Loc::pSnitchMenuStrings, 0, MAX_SNITCH_MENU_STRING_COUNT);
ExportSection(props, L"SnitchMenuDesc", Loc::pSnitchMenuDescStrings, 0, MAX_SNITCH_MENU_STRING_COUNT-1);
ExportSection(props, L"SnitchToggleMenu", Loc::pSnitchToggleMenuStrings, 0, MAX_SNITCH_TOGGLE_MENU_STRING_COUNT);
ExportSection(props, L"SnitchToggleMenuDesc", Loc::pSnitchToggleMenuDescStrings, 0, MAX_SNITCH_TOGGLE_MENU_STRING_COUNT-1);
ExportSection(props, L"SnitchSectorMenu", Loc::pSnitchSectorMenuStrings, 0, MAX_SNITCH_SECTOR_MENU_STRING_COUNT);
ExportSection(props, L"SnitchSectorMenuDesc", Loc::pSnitchSectorMenuDescStrings, 0, MAX_SNITCH_SECTOR_MENU_STRING_COUNT-1);
ExportSection(props, L"SnitchPrisonExposed", Loc::pSnitchPrisonExposedStrings, 0, NUM_SNITCH_PRISON_EXPOSED);
ExportSection(props, L"SnitchGatheringRumoursResult", Loc::pSnitchGatheringRumoursResultStrings, 0, NUM_SNITCH_GATHERING_RUMOURS_RESULT);
ExportSection(props, L"PersonnelTitle", Loc::pPersonnelTitle, 0, 1);
ExportSection(props, L"PersonnelScreen", Loc::pPersonnelScreenStrings, 0, TEXT_NUM_PRSNL);
+1 -1
View File
@@ -27,7 +27,7 @@
#define MERC_TEXT_POPUP_WINDOW_TEXT_OFFSET_Y 10
#define MERC_BACKGROUND_WIDTH 350
#define MERC_BACKGROUND_HEIGHT 200
#define MERC_BACKGROUND_HEIGHT 207
// the max number of pop up boxes availiable to user
#define MAX_NUMBER_OF_POPUP_BOXES 10
+8
View File
@@ -156,6 +156,14 @@ extern STR16 pTraitSkillsMenuStrings[]; //Flugente
extern STR16 pTraitSkillsMenuDescStrings[]; //Flugente
extern STR16 pTraitSkillsDenialStrings[]; //Flugente
//extern STR16 pTalkToAllMenuStrings[];
extern STR16 pSnitchMenuStrings[];
extern STR16 pSnitchMenuDescStrings[];
extern STR16 pSnitchToggleMenuStrings[];
extern STR16 pSnitchToggleMenuDescStrings[];
extern STR16 pSnitchSectorMenuStrings[];
extern STR16 pSnitchSectorMenuDescStrings[];
extern STR16 pSnitchPrisonExposedStrings[];
extern STR16 pSnitchGatheringRumoursResultStrings[];
extern STR16 pAssignMenuStrings[];
extern STR16 pTrainingStrings[];
extern STR16 pTrainingMenuStrings[];
+91
View File
@@ -1933,6 +1933,12 @@ STR16 pPersonnelAssignmentStrings[] =
L"战俘",
L"医院",
L"空车", // Vehicle is empty
L"Undercover Snitch", // TODO.Translate // facility: undercover prisoner (snitch)
L"Spreading Propaganda",// TODO.Translate // facility: spread propaganda
L"Spreading Propaganda",// TODO.Translate // facility: spread propaganda (globally)
L"Gathering Rumours",// TODO.Translate // facility: gather rumours
L"Spreading Propaganda",// TODO.Translate // spread propaganda
L"Gathering Rumours",// TODO.Translate // gather information
};
@@ -1981,6 +1987,12 @@ STR16 pLongAssignmentStrings[] =
L"战俘",
L"医院",// patient in a hospital
L"空车", // Vehicle is empty
L"Undercover Snitch", // TODO.Translate // facility: undercover prisoner (snitch)
L"Spread Propaganda",// TODO.Translate // facility: spread propaganda
L"Spread Propaganda",// TODO.Translate // facility: spread propaganda (globally)
L"Gather Rumours",// TODO.Translate // facility: gather rumours
L"Spread Propaganda",// TODO.Translate // spread propaganda
L"Gather Rumours",// TODO.Translate // gather information
};
@@ -2097,6 +2109,7 @@ STR16 pAssignMenuStrings[] =
L"交通工具",
L"修理",
L"无线电扫描", // Flugente: the merc is scanning for patrols in neighbouring sectors
L"Snitch", // TODO.Translate // anv: snitch actions
L"训练",
L"搬运物品", // move items
L"设施", // L"Facility", // the merc is using/staffing a facility //ham3.6
@@ -2168,6 +2181,82 @@ STR16 pTraitSkillsDenialStrings[] =
L" - 恶魔的财产", //L" - posession by a demon"
};
// TODO.Translate
STR16 pSnitchMenuStrings[] =
{
// snitch
L"Team Informant",
L"Town Assignment",
L"Cancel",
};
STR16 pSnitchMenuDescStrings[] =
{
// snitch
L"Discuss snitch's behaviour towards his teammates.",
L"Take an assignment in this sector.",
L"Cancel",
};
STR16 pSnitchToggleMenuStrings[] =
{
// toggle snitching
L"Report complaints",
L"Don't report",
L"Prevent misbehaviour",
L"Ignore misbehaviour",
L"Cancel",
};
STR16 pSnitchToggleMenuDescStrings[] =
{
L"Report any complaints you hear from other mercs to your commander.",
L"Don't report anything.",
L"Try to stop other mercs from getting wasted and scrounging.",
L"Don't care what other mercs do.",
L"Cancel",
};
STR16 pSnitchSectorMenuStrings[] =
{
// sector assignments
L"Spread propaganda",
L"Gather rumours",
L"Cancel",
};
STR16 pSnitchSectorMenuDescStrings[] =
{
L"Glorify mercs' actions to increase town loyalty and suppress any bad news. ",
L"Keep an ear to the ground on any rumours about enemy forces activity.",
L"",
};
STR16 pSnitchPrisonExposedStrings[] =
{
L"%s was exposed as a snitch but managed to notice it and get out alive.",
L"%s was exposed as a snitch but managed to defuse situation and get out alive.",
L"%s was exposed as a snitch but managed to avoid assassination attempt.",
L"%s was exposed as a snitch but guards managed to prevent any violence outbursts.",
L"%s was exposed as a snitch and almost drowned by other inmates before guards saved him.",
L"%s was exposed as a snitch and almost beaten to death before guards saved him.",
L"%s was exposed as a snitch and almost stabbed to death before guards saved him.",
L"%s was exposed as a snitch and strangled to death before guards saved him.",
L"%s was exposed as a snitch and drowned in toilet by other inmates.",
L"%s was exposed as a snitch and beaten to death by other inmates.",
L"%s was exposed as a snitch and shanked to death by other inmates.",
L"%s was exposed as a snitch and strangled to death by other inmates.",
};
STR16 pSnitchGatheringRumoursResultStrings[] =
{
L"%s heard rumours about enemy activity in %d sectors.",
};
// /TODO.Translate
STR16 pRemoveMercStrings[] =
{
L"移除佣兵", // remove dead merc from current team
@@ -7007,6 +7096,8 @@ STR16 gzFacilityErrorMessage[]=
L"%s在%s负伤了。", // <--- This is a log message string.
// 31 - 35
L"%s在%s负了重伤。", //<--- This is a log message string.
L"There are currently prisoners here who are aware of %s's identity.", // TODO.Translate
L"%s is currently well known as a mercenary snitch. Wait at least %d more hours.", // TODO.Translate
};
+91
View File
@@ -1930,6 +1930,12 @@ STR16 pPersonnelAssignmentStrings[] =
L"POW", // Prisoner of war - captured
L"Kliniek", // patient in a hospital
L"Leeg", // Vehicle is empty
L"Undercover Snitch", // TODO.Translate // facility: undercover prisoner (snitch)
L"Spreading Propaganda",// TODO.Translate // facility: spread propaganda
L"Spreading Propaganda",// TODO.Translate // facility: spread propaganda (globally)
L"Gathering Rumours",// TODO.Translate // facility: gather rumours
L"Spreading Propaganda",// TODO.Translate // spread propaganda
L"Gathering Rumours",// TODO.Translate // gather information
};
@@ -1978,6 +1984,12 @@ STR16 pLongAssignmentStrings[] =
L"POW", // Prisoner of war - captured
L"Kliniek", // patient in a hospital
L"Leeg", // Vehicle is empty
L"Undercover Snitch", // TODO.Translate // facility: undercover prisoner (snitch)
L"Spread Propaganda",// TODO.Translate // facility: spread propaganda
L"Spread Propaganda",// TODO.Translate // facility: spread propaganda (globally)
L"Gather Rumours",// TODO.Translate // facility: gather rumours
L"Spread Propaganda",// TODO.Translate // spread propaganda
L"Gather Rumours",// TODO.Translate // gather information
};
@@ -2094,6 +2106,7 @@ STR16 pAssignMenuStrings[] =
L"Vehicle", // the merc is in a vehicle
L"Repair", // the merc is repairing items
L"Radio Scan", // Flugente: the merc is scanning for patrols in neighbouring sectors
L"Snitch", // TODO.Translate // anv: snitch actions
L"Train", // the merc is training
L"Move Item", // move items // TODO.Translate
L"Facility", // the merc is using/staffing a facility // TODO.Translate
@@ -2165,6 +2178,82 @@ STR16 pTraitSkillsDenialStrings[] =
L" - possession by a demon",
};
// TODO.Translate
STR16 pSnitchMenuStrings[] =
{
// snitch
L"Team Informant",
L"Town Assignment",
L"Cancel",
};
STR16 pSnitchMenuDescStrings[] =
{
// snitch
L"Discuss snitch's behaviour towards his teammates.",
L"Take an assignment in this sector.",
L"Cancel",
};
STR16 pSnitchToggleMenuStrings[] =
{
// toggle snitching
L"Report complaints",
L"Don't report",
L"Prevent misbehaviour",
L"Ignore misbehaviour",
L"Cancel",
};
STR16 pSnitchToggleMenuDescStrings[] =
{
L"Report any complaints you hear from other mercs to your commander.",
L"Don't report anything.",
L"Try to stop other mercs from getting wasted and scrounging.",
L"Don't care what other mercs do.",
L"Cancel",
};
STR16 pSnitchSectorMenuStrings[] =
{
// sector assignments
L"Spread propaganda",
L"Gather rumours",
L"Cancel",
};
STR16 pSnitchSectorMenuDescStrings[] =
{
L"Glorify mercs' actions to increase town loyalty and suppress any bad news. ",
L"Keep an ear to the ground on any rumours about enemy forces activity.",
L"",
};
STR16 pSnitchPrisonExposedStrings[] =
{
L"%s was exposed as a snitch but managed to notice it and get out alive.",
L"%s was exposed as a snitch but managed to defuse situation and get out alive.",
L"%s was exposed as a snitch but managed to avoid assassination attempt.",
L"%s was exposed as a snitch but guards managed to prevent any violence outbursts.",
L"%s was exposed as a snitch and almost drowned by other inmates before guards saved him.",
L"%s was exposed as a snitch and almost beaten to death before guards saved him.",
L"%s was exposed as a snitch and almost stabbed to death before guards saved him.",
L"%s was exposed as a snitch and strangled to death before guards saved him.",
L"%s was exposed as a snitch and drowned in toilet by other inmates.",
L"%s was exposed as a snitch and beaten to death by other inmates.",
L"%s was exposed as a snitch and shanked to death by other inmates.",
L"%s was exposed as a snitch and strangled to death by other inmates.",
};
STR16 pSnitchGatheringRumoursResultStrings[] =
{
L"%s heard rumours about enemy activity in %d sectors.",
};
// /TODO.Translate
STR16 pRemoveMercStrings[] =
{
L"Verw.Huurl.", // remove dead merc from current team
@@ -7013,6 +7102,8 @@ STR16 gzFacilityErrorMessage[]=
L"%s was injured in sector %s.", // <--- This is a log message string.
// 31 - 35
L"%s was severely injured in sector %s.", //<--- This is a log message string.
L"There are currently prisoners here who are aware of %s's identity.", // TODO.Translate
L"%s is currently well known as a mercenary snitch. Wait at least %d more hours.", // TODO.Translate
};
+105 -5
View File
@@ -1844,7 +1844,13 @@ STR16 pAssignmentStrings[] =
L"Incap.", // abbreviation for incapacitated
L"POW", // Prisoner of war - captured
L"Hospital", // patient in a hospital
L"Empty", // Vehicle is empty
L"Empty", // Vehicle is empty
L"Snitch", // facility: undercover prisoner (snitch)
L"Propag.", // facility: spread propaganda
L"Propag.", // facility: spread propaganda (globally)
L"Rumours", // facility: gather information
L"Propag.", // spread propaganda
L"Rumours", // gather information
};
@@ -1934,6 +1940,12 @@ STR16 pPersonnelAssignmentStrings[] =
L"POW",
L"Hospital",
L"Empty", // Vehicle is empty
L"Undercover Snitch", // facility: undercover prisoner (snitch)
L"Spreading Propaganda", // facility: spread propaganda
L"Spreading Propaganda", // facility: spread propaganda (globally)
L"Gathering Rumours", // facility: gather rumours
L"Spreading Propaganda", // spread propaganda
L"Gathering Rumours", // gather information
};
@@ -1973,7 +1985,7 @@ STR16 pLongAssignmentStrings[] =
L"Train Mobiles", // Missing
L"Train Teammate",
L"Student",
L"MoveItem", // move items
L"Move Item", // move items
L"Staff Facility", // Missing
L"Rest at Facility", // Missing
L"Interrogate prisoners", // Flugente: interrogate prisoners
@@ -1982,6 +1994,12 @@ STR16 pLongAssignmentStrings[] =
L"POW",
L"Hospital", // patient in a hospital
L"Empty", // Vehicle is empty
L"Undercover Snitch", // facility: undercover prisoner (snitch)
L"Spread Propaganda", // facility: spread propaganda
L"Spread Propaganda", // facility: spread propaganda (globally)
L"Gather Rumours", // facility: gather rumours
L"Spread Propaganda", // spread propaganda
L"Gather Rumours", // gather information
};
@@ -2098,8 +2116,9 @@ STR16 pAssignMenuStrings[] =
L"Vehicle", // the merc is in a vehicle
L"Repair", // the merc is repairing items
L"Radio Scan", // Flugente: the merc is scanning for patrols in neighbouring sectors
L"Snitch", // anv: snitch actions
L"Train", // the merc is training
L"MoveItem", // move items
L"Move Item", // move items
L"Facility", // the merc is using/staffing a facility
L"Cancel", // cancel this menu
};
@@ -2169,6 +2188,80 @@ STR16 pTraitSkillsDenialStrings[] =
L" - possession by a demon",
};
STR16 pSnitchMenuStrings[] =
{
// snitch
L"Team Informant",
L"Town Assignment",
L"Cancel",
};
STR16 pSnitchMenuDescStrings[] =
{
// snitch
L"Discuss snitch's behaviour towards his teammates.",
L"Take an assignment in this sector.",
L"Cancel",
};
STR16 pSnitchToggleMenuStrings[] =
{
// toggle snitching
L"Report complaints",
L"Don't report",
L"Prevent misbehaviour",
L"Ignore misbehaviour",
L"Cancel",
};
STR16 pSnitchToggleMenuDescStrings[] =
{
L"Report any complaints you hear from other mercs to your commander.",
L"Don't report anything.",
L"Try to stop other mercs from getting wasted and scrounging.",
L"Don't care what other mercs do.",
L"Cancel",
};
STR16 pSnitchSectorMenuStrings[] =
{
// sector assignments
L"Spread propaganda",
L"Gather rumours",
L"Cancel",
};
STR16 pSnitchSectorMenuDescStrings[] =
{
L"Glorify mercs' actions to increase town loyalty and suppress any bad news. ",
L"Keep an ear to the ground on any rumours about enemy forces activity.",
L"",
};
STR16 pSnitchPrisonExposedStrings[] =
{
L"%s was exposed as a snitch but managed to notice it and get out alive.",
L"%s was exposed as a snitch but managed to defuse situation and get out alive.",
L"%s was exposed as a snitch but managed to avoid assassination attempt.",
L"%s was exposed as a snitch but guards managed to prevent any violence outbursts.",
L"%s was exposed as a snitch and almost drowned by other inmates before guards saved him.",
L"%s was exposed as a snitch and almost beaten to death before guards saved him.",
L"%s was exposed as a snitch and almost stabbed to death before guards saved him.",
L"%s was exposed as a snitch and strangled to death before guards saved him.",
L"%s was exposed as a snitch and drowned in toilet by other inmates.",
L"%s was exposed as a snitch and beaten to death by other inmates.",
L"%s was exposed as a snitch and shanked to death by other inmates.",
L"%s was exposed as a snitch and strangled to death by other inmates.",
};
STR16 pSnitchGatheringRumoursResultStrings[] =
{
L"%s heard rumours about enemy activity in %d sectors.",
};
STR16 pRemoveMercStrings[] =
{
L"Remove Merc", // remove dead merc from current team
@@ -7006,6 +7099,8 @@ STR16 gzFacilityErrorMessage[]=
L"%s was injured in sector %s.", // <--- This is a log message string.
// 31 - 35
L"%s was severely injured in sector %s.", //<--- This is a log message string.
L"There are currently prisoners here who are aware of %s's identity.",
L"%s is currently well known as a mercenary snitch. Wait at least %d more hours.",
};
@@ -7070,6 +7165,11 @@ STR16 gzFacilityAssignmentStrings[]=
L"Trainer Leadership",
L"Trainer Explosives",
L"Interrogate Prisoners", // added by Flugente
L"Undercover Snitch",
// 36-40
L"Spread Propaganda",
L"Spread Propaganda", // spread propaganda (globally)
L"Gather Rumours",
};
STR16 Additional113Text[]=
{
@@ -7885,10 +7985,10 @@ STR16 szFoodTextStr[]=
STR16 szPrisonerTextStr[]=
{
L"%d elites, %d regulars and %d amins were interrogated.",
L"%d elites, %d regulars and %d admins were interrogated.",
L"%d prisoners paid ransom money.",
L"%d prisoners revealed enemy positions.",
L"%d elites, %d regulars and %d amins joined our cause.",
L"%d elites, %d regulars and %d admins joined our cause.",
L"Prisoners start a massive riot in %s!",
L"%d prisoners were sent to %s!",
L"Prisoners have been released!",
+91
View File
@@ -1937,6 +1937,12 @@ STR16 pPersonnelAssignmentStrings[] =
L"Capturé(e)",
L"Hôpital",
L"Vide", // Vehicle is empty
L"Undercover Snitch", // TODO.Translate // facility: undercover prisoner (snitch)
L"Spreading Propaganda",// TODO.Translate // facility: spread propaganda
L"Spreading Propaganda",// TODO.Translate // facility: spread propaganda (globally)
L"Gathering Rumours",// TODO.Translate // facility: gather rumours
L"Spreading Propaganda",// TODO.Translate // spread propaganda
L"Gathering Rumours",// TODO.Translate // gather information
};
@@ -1985,6 +1991,12 @@ STR16 pLongAssignmentStrings[] =
L"Capturé(e)",
L"Hôpital", // patient in a hospital
L"Vide", // Vehicle is empty
L"Undercover Snitch", // TODO.Translate // facility: undercover prisoner (snitch)
L"Spread Propaganda",// TODO.Translate // facility: spread propaganda
L"Spread Propaganda",// TODO.Translate // facility: spread propaganda (globally)
L"Gather Rumours",// TODO.Translate // facility: gather rumours
L"Spread Propaganda",// TODO.Translate // spread propaganda
L"Gather Rumours",// TODO.Translate // gather information
};
@@ -2101,6 +2113,7 @@ STR16 pAssignMenuStrings[] =
L"Transport", // the merc is in a vehicle
L"Réparat.", // the merc is repairing items
L"Radio", // Flugente: the merc is scanning for patrols in neighbouring sectors
L"Snitch", // TODO.Translate // anv: snitch actions
L"Formation", // the merc is training
L"Dépl obj.", // move items
L"Affectat.", // the merc is using/staffing a facility
@@ -2172,6 +2185,82 @@ STR16 pTraitSkillsDenialStrings[] =
L" - possession par un démon",
};
// TODO.Translate
STR16 pSnitchMenuStrings[] =
{
// snitch
L"Team Informant",
L"Town Assignment",
L"Cancel",
};
STR16 pSnitchMenuDescStrings[] =
{
// snitch
L"Discuss snitch's behaviour towards his teammates.",
L"Take an assignment in this sector.",
L"Cancel",
};
STR16 pSnitchToggleMenuStrings[] =
{
// toggle snitching
L"Report complaints",
L"Don't report",
L"Prevent misbehaviour",
L"Ignore misbehaviour",
L"Cancel",
};
STR16 pSnitchToggleMenuDescStrings[] =
{
L"Report any complaints you hear from other mercs to your commander.",
L"Don't report anything.",
L"Try to stop other mercs from getting wasted and scrounging.",
L"Don't care what other mercs do.",
L"Cancel",
};
STR16 pSnitchSectorMenuStrings[] =
{
// sector assignments
L"Spread propaganda",
L"Gather rumours",
L"Cancel",
};
STR16 pSnitchSectorMenuDescStrings[] =
{
L"Glorify mercs' actions to increase town loyalty and suppress any bad news. ",
L"Keep an ear to the ground on any rumours about enemy forces activity.",
L"",
};
STR16 pSnitchPrisonExposedStrings[] =
{
L"%s was exposed as a snitch but managed to notice it and get out alive.",
L"%s was exposed as a snitch but managed to defuse situation and get out alive.",
L"%s was exposed as a snitch but managed to avoid assassination attempt.",
L"%s was exposed as a snitch but guards managed to prevent any violence outbursts.",
L"%s was exposed as a snitch and almost drowned by other inmates before guards saved him.",
L"%s was exposed as a snitch and almost beaten to death before guards saved him.",
L"%s was exposed as a snitch and almost stabbed to death before guards saved him.",
L"%s was exposed as a snitch and strangled to death before guards saved him.",
L"%s was exposed as a snitch and drowned in toilet by other inmates.",
L"%s was exposed as a snitch and beaten to death by other inmates.",
L"%s was exposed as a snitch and shanked to death by other inmates.",
L"%s was exposed as a snitch and strangled to death by other inmates.",
};
STR16 pSnitchGatheringRumoursResultStrings[] =
{
L"%s heard rumours about enemy activity in %d sectors.",
};
// /TODO.Translate
STR16 pRemoveMercStrings[] =
{
L"Enlever Merc", // remove dead merc from current team
@@ -7007,6 +7096,8 @@ STR16 gzFacilityErrorMessage[]=
L"%s a été blessé dans le secteur %s.", // <--- This is a log message string.
// 31 - 35
L"%s a été gravement blessé dans le secteur %s.", //<--- This is a log message string.
L"There are currently prisoners here who are aware of %s's identity.", // TODO.Translate
L"%s is currently well known as a mercenary snitch. Wait at least %d more hours.", // TODO.Translate
};
+91
View File
@@ -1938,6 +1938,12 @@ STR16 pPersonnelAssignmentStrings[] =
L"Gefangen",
L"Hospital",
L"Leer", // Vehicle is empty
L"Undercover Snitch", // TODO.Translate // facility: undercover prisoner (snitch)
L"Spreading Propaganda",// TODO.Translate // facility: spread propaganda
L"Spreading Propaganda",// TODO.Translate // facility: spread propaganda (globally)
L"Gathering Rumours",// TODO.Translate // facility: gather rumours
L"Spreading Propaganda",// TODO.Translate // spread propaganda
L"Gathering Rumours",// TODO.Translate // gather information
};
// refer to above for comments
@@ -1984,6 +1990,12 @@ STR16 pLongAssignmentStrings[] =
L"Gefangen",
L"Hospital", // patient in a hospital
L"Leer", // Vehicle is empty
L"Undercover Snitch", // TODO.Translate // facility: undercover prisoner (snitch)
L"Spread Propaganda",// TODO.Translate // facility: spread propaganda
L"Spread Propaganda",// TODO.Translate // facility: spread propaganda (globally)
L"Gather Rumours",// TODO.Translate // facility: gather rumours
L"Spread Propaganda",// TODO.Translate // spread propaganda
L"Gather Rumours",// TODO.Translate // gather information
};
// the contract options
@@ -2096,6 +2108,7 @@ STR16 pAssignMenuStrings[] =
L"Fahrzeug", // the merc is in a vehicle
L"Repar.", // the merc is repairing items
L"Radio Scan", // Flugente: the merc is scanning for patrols in neighbouring sectors
L"Snitch", // TODO.Translate // anv: snitch actions
L"Training", // the merc is training
L"Umzug", // move items
L"Betrieb", // the merc is using/staffing a facility
@@ -2167,6 +2180,82 @@ STR16 pTraitSkillsDenialStrings[] =
L" - besessen von einem Dämon",
};
// TODO.Translate
STR16 pSnitchMenuStrings[] =
{
// snitch
L"Team Informant",
L"Town Assignment",
L"Cancel",
};
STR16 pSnitchMenuDescStrings[] =
{
// snitch
L"Discuss snitch's behaviour towards his teammates.",
L"Take an assignment in this sector.",
L"Cancel",
};
STR16 pSnitchToggleMenuStrings[] =
{
// toggle snitching
L"Report complaints",
L"Don't report",
L"Prevent misbehaviour",
L"Ignore misbehaviour",
L"Cancel",
};
STR16 pSnitchToggleMenuDescStrings[] =
{
L"Report any complaints you hear from other mercs to your commander.",
L"Don't report anything.",
L"Try to stop other mercs from getting wasted and scrounging.",
L"Don't care what other mercs do.",
L"Cancel",
};
STR16 pSnitchSectorMenuStrings[] =
{
// sector assignments
L"Spread propaganda",
L"Gather rumours",
L"Cancel",
};
STR16 pSnitchSectorMenuDescStrings[] =
{
L"Glorify mercs' actions to increase town loyalty and suppress any bad news. ",
L"Keep an ear to the ground on any rumours about enemy forces activity.",
L"",
};
STR16 pSnitchPrisonExposedStrings[] =
{
L"%s was exposed as a snitch but managed to notice it and get out alive.",
L"%s was exposed as a snitch but managed to defuse situation and get out alive.",
L"%s was exposed as a snitch but managed to avoid assassination attempt.",
L"%s was exposed as a snitch but guards managed to prevent any violence outbursts.",
L"%s was exposed as a snitch and almost drowned by other inmates before guards saved him.",
L"%s was exposed as a snitch and almost beaten to death before guards saved him.",
L"%s was exposed as a snitch and almost stabbed to death before guards saved him.",
L"%s was exposed as a snitch and strangled to death before guards saved him.",
L"%s was exposed as a snitch and drowned in toilet by other inmates.",
L"%s was exposed as a snitch and beaten to death by other inmates.",
L"%s was exposed as a snitch and shanked to death by other inmates.",
L"%s was exposed as a snitch and strangled to death by other inmates.",
};
STR16 pSnitchGatheringRumoursResultStrings[] =
{
L"%s heard rumours about enemy activity in %d sectors.",
};
// /TODO.Translate
STR16 pRemoveMercStrings[] ={
L"Söldner entfernen", // remove dead merc from current team
L"Abbrechen",
@@ -6831,6 +6920,8 @@ STR16 gzFacilityErrorMessage[]=
L"%s wurde verletzt in Sektor %s.", // <--- This is a log message string.
// 31 - 35
L"%s wurde ernsthaft im Sektor %s verletzt.", //<--- This is a log message string.
L"There are currently prisoners here who are aware of %s's identity.", // TODO.Translate
L"%s is currently well known as a mercenary snitch. Wait at least %d more hours.", // TODO.Translate
};
+91
View File
@@ -1926,6 +1926,12 @@ STR16 pPersonnelAssignmentStrings[] =
L"PDG",
L"Ospedale",
L"Vuoto", // Vehicle is empty
L"Undercover Snitch", // TODO.Translate // facility: undercover prisoner (snitch)
L"Spreading Propaganda",// TODO.Translate // facility: spread propaganda
L"Spreading Propaganda",// TODO.Translate // facility: spread propaganda (globally)
L"Gathering Rumours",// TODO.Translate // facility: gather rumours
L"Spreading Propaganda",// TODO.Translate // spread propaganda
L"Gathering Rumours",// TODO.Translate // gather information
};
@@ -1974,6 +1980,12 @@ STR16 pLongAssignmentStrings[] =
L"PDG",
L"Ospedale", // patient in a hospital
L"Vuoto", // Vehicle is empty
L"Undercover Snitch", // TODO.Translate // facility: undercover prisoner (snitch)
L"Spread Propaganda",// TODO.Translate // facility: spread propaganda
L"Spread Propaganda",// TODO.Translate // facility: spread propaganda (globally)
L"Gather Rumours",// TODO.Translate // facility: gather rumours
L"Spread Propaganda",// TODO.Translate // spread propaganda
L"Gather Rumours",// TODO.Translate // gather information
};
@@ -2090,6 +2102,7 @@ STR16 pAssignMenuStrings[] =
L"Veicolo", // the merc is in a vehicle
L"Ripara", // the merc is repairing items
L"Radio Scan", // Flugente: the merc is scanning for patrols in neighbouring sectors
L"Snitch", // TODO.Translate // anv: snitch actions
L"Si esercita", // the merc is training
L"Move Item", // move items // TODO.Translate
L"Facility", // the merc is using/staffing a facility // TODO.Translate
@@ -2161,6 +2174,82 @@ STR16 pTraitSkillsDenialStrings[] =
L" - possession by a demon",
};
// TODO.Translate
STR16 pSnitchMenuStrings[] =
{
// snitch
L"Team Informant",
L"Town Assignment",
L"Cancel",
};
STR16 pSnitchMenuDescStrings[] =
{
// snitch
L"Discuss snitch's behaviour towards his teammates.",
L"Take an assignment in this sector.",
L"Cancel",
};
STR16 pSnitchToggleMenuStrings[] =
{
// toggle snitching
L"Report complaints",
L"Don't report",
L"Prevent misbehaviour",
L"Ignore misbehaviour",
L"Cancel",
};
STR16 pSnitchToggleMenuDescStrings[] =
{
L"Report any complaints you hear from other mercs to your commander.",
L"Don't report anything.",
L"Try to stop other mercs from getting wasted and scrounging.",
L"Don't care what other mercs do.",
L"Cancel",
};
STR16 pSnitchSectorMenuStrings[] =
{
// sector assignments
L"Spread propaganda",
L"Gather rumours",
L"Cancel",
};
STR16 pSnitchSectorMenuDescStrings[] =
{
L"Glorify mercs' actions to increase town loyalty and suppress any bad news. ",
L"Keep an ear to the ground on any rumours about enemy forces activity.",
L"",
};
STR16 pSnitchPrisonExposedStrings[] =
{
L"%s was exposed as a snitch but managed to notice it and get out alive.",
L"%s was exposed as a snitch but managed to defuse situation and get out alive.",
L"%s was exposed as a snitch but managed to avoid assassination attempt.",
L"%s was exposed as a snitch but guards managed to prevent any violence outbursts.",
L"%s was exposed as a snitch and almost drowned by other inmates before guards saved him.",
L"%s was exposed as a snitch and almost beaten to death before guards saved him.",
L"%s was exposed as a snitch and almost stabbed to death before guards saved him.",
L"%s was exposed as a snitch and strangled to death before guards saved him.",
L"%s was exposed as a snitch and drowned in toilet by other inmates.",
L"%s was exposed as a snitch and beaten to death by other inmates.",
L"%s was exposed as a snitch and shanked to death by other inmates.",
L"%s was exposed as a snitch and strangled to death by other inmates.",
};
STR16 pSnitchGatheringRumoursResultStrings[] =
{
L"%s heard rumours about enemy activity in %d sectors.",
};
// /TODO.Translate
STR16 pRemoveMercStrings[] =
{
L"Rimuovi Mercenario", // remove dead merc from current team
@@ -7004,6 +7093,8 @@ STR16 gzFacilityErrorMessage[]=
L"%s was injured in sector %s.", // <--- This is a log message string.
// 31 - 35
L"%s was severely injured in sector %s.", //<--- This is a log message string.
L"There are currently prisoners here who are aware of %s's identity.", // TODO.Translate
L"%s is currently well known as a mercenary snitch. Wait at least %d more hours.", // TODO.Translate
};
+8 -1
View File
@@ -374,9 +374,16 @@ STR16 gzIMPMinorTraitsHelpTextsScouting[]=
L"防止血猫偷袭你的队伍\n",// L"Prevents the bloodcats to ambush your squad\n",
};
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
{
L"有时候会告诉你所在队伍队员的意见。\n", // TODO.Translate
L"Will occasionally inform you about his teammates' opinions.\n", // TODO.Translate
L"Prevents teammates' misbehaviour (drugs, alcohol, scrounging).\n", // TODO.Translate
L"Can spread propaganda in towns.\n", // TODO.Translate
L"Can gather rumours in towns.\n", // TODO.Translate
L"Can be put undercover in prisons.\n", // TODO.Translate
L"Increases your reputation by %d every day if in good morale.\n", // TODO.Translate
L"+%d to effective hearing range\n", // TODO.Translate
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
+6
View File
@@ -379,6 +379,12 @@ STR16 gzIMPMinorTraitsHelpTextsScouting[]=
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
{
L"Will occasionally inform you about his teammates' opinions.\n", // TODO.Translate
L"Prevents teammates' misbehaviour (drugs, alcohol, scrounging).\n", // TODO.Translate
L"Can spread propaganda in towns.\n", // TODO.Translate
L"Can gather rumours in towns.\n", // TODO.Translate
L"Can be put undercover in prisons.\n", // TODO.Translate
L"Increases your reputation by %d every day if in good morale.\n", // TODO.Translate
L"+%d to effective hearing range\n", // TODO.Translate
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
+6 -1
View File
@@ -376,10 +376,15 @@ STR16 gzIMPMinorTraitsHelpTextsScouting[]=
L"Prevents enemy ambushes on your squad\n",
L"Prevents bloodcat ambushes on your squad\n",
};
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
{
L"Will occasionally inform you about his teammates' opinions.\n",
L"Prevents teammates' misbehaviour (drugs, alcohol, scrounging).\n",
L"Can spread propaganda in towns.\n",
L"Can gather rumours in towns.\n",
L"Can be put undercover in prisons.\n",
L"Increases your reputation by %d every day if in good morale.\n",
L"+%d to effective hearing range\n",
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
+6 -1
View File
@@ -373,11 +373,16 @@ STR16 gzIMPMinorTraitsHelpTextsScouting[]=
L"Si vous êtes dans le secteur, vous saurez la présence au non d'ennemis dans les secteurs alentours\n",
L"Empêche l'ennemi de prendre en embuscade votre escouade\n",
L"Empêche les chats sauvages de prendre en embuscade votre escouade\n",
};
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
{
L"Vous informera à l'occasion sur les opinions de ses coéquipiers.\n",
L"Prevents teammates' misbehaviour (drugs, alcohol, scrounging).\n", // TODO.Translate
L"Can spread propaganda in towns.\n", // TODO.Translate
L"Can gather rumours in towns.\n", // TODO.Translate
L"Can be put undercover in prisons.\n", // TODO.Translate
L"Increases your reputation by %d every day if in good morale.\n", // TODO.Translate
L"+%d to effective hearing range\n", // TODO.Translate
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
{
+6 -1
View File
@@ -370,11 +370,16 @@ STR16 gzIMPMinorTraitsHelpTextsScouting[]=
L"Auf der Weltkarte wird in angrenzenden Sektoren die Präsenz von vorhandenem Feind enthüllt\n",
L"Verhindert, dass der Feind die Gruppe in den Hinterhalt lockt\n",
L"Verhindert, das Umzingeln der Gruppe durch Bloodcats\n",
};
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
{
L"Will occasionally inform you about his teammates' opinions.\n", // TODO.Translate
L"Prevents teammates' misbehaviour (drugs, alcohol, scrounging).\n", // TODO.Translate
L"Can spread propaganda in towns.\n", // TODO.Translate
L"Can gather rumours in towns.\n", // TODO.Translate
L"Can be put undercover in prisons.\n", // TODO.Translate
L"Increases your reputation by %d every day if in good morale.\n", // TODO.Translate
L"+%d to effective hearing range\n", // TODO.Translate
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
{
+6
View File
@@ -377,6 +377,12 @@ STR16 gzIMPMinorTraitsHelpTextsScouting[]=
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
{
L"Will occasionally inform you about his teammates' opinions.\n", // TODO.Translate
L"Prevents teammates' misbehaviour (drugs, alcohol, scrounging).\n", // TODO.Translate
L"Can spread propaganda in towns.\n", // TODO.Translate
L"Can gather rumours in towns.\n", // TODO.Translate
L"Can be put undercover in prisons.\n", // TODO.Translate
L"Increases your reputation by %d every day if in good morale.\n", // TODO.Translate
L"+%d to effective hearing range\n", // TODO.Translate
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
{
+7
View File
@@ -379,6 +379,13 @@ STR16 gzIMPMinorTraitsHelpTextsScouting[]=
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
{
L"Okazyjnie poinformuje cię o opiniach kolegów z oddziału.\n",
L"Zapobiega złemu zachowaniu kolegów z oddziału (narkotyki, alkohol, kradzieże).\n",
L"Może szerzyć propagandę w miastach.\n",
L"Może zbierać plotki w miastach.\n",
L"Może zostać umieszczony w więzieniu jako tajniak.\n",
L"Jeżeli w dobrym nastroju, poprawia twoją reputację o %d każdego dnia.\n",
L"+%d zasięg słuchu\n",
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
{
+7 -1
View File
@@ -371,11 +371,17 @@ STR16 gzIMPMinorTraitsHelpTextsScouting[]=
L"Если в секторе, в смежных секторах будет показано наличие врагов\n",
L"Предотвращает попадание отряда во вражеские засады\n",
L"Предотвращает попадание отряда в засады кошек-убийц\n",
};
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
{
L"Will occasionally inform you about his teammates' opinions.\n", // TODO.Translate
L"Prevents teammates' misbehaviour (drugs, alcohol, scrounging).\n", // TODO.Translate
L"Can spread propaganda in towns.\n", // TODO.Translate
L"Can gather rumours in towns.\n", // TODO.Translate
L"Can be put undercover in prisons.\n", // TODO.Translate
L"Increases your reputation by %d every day if in good morale.\n", // TODO.Translate
L"+%d to effective hearing range\n", // TODO.Translate
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
{
+6
View File
@@ -380,6 +380,12 @@ STR16 gzIMPMinorTraitsHelpTextsScouting[]=
STR16 gzIMPMinorTraitsHelpTextsSnitch[]=
{
L"Will occasionally inform you about his teammates' opinions.\n", // TODO.Translate
L"Prevents teammates' misbehaviour (drugs, alcohol, scrounging).\n", // TODO.Translate
L"Can spread propaganda in towns.\n", // TODO.Translate
L"Can gather rumours in towns.\n", // TODO.Translate
L"Can be put undercover in prisons.\n", // TODO.Translate
L"Increases your reputation by %d every day if in good morale.\n", // TODO.Translate
L"+%d to effective hearing range\n", // TODO.Translate
};
STR16 gzIMPMinorTraitsHelpTextsNone[]=
{
+90 -1
View File
@@ -1942,6 +1942,12 @@ STR16 pPersonnelAssignmentStrings[] =
L"Jeniec",
L"Szpital",
L"Pusty", // Vehicle is empty
L"Więzienny kapuś", // facility: undercover prisoner (snitch)
L"Szerzy propagandę", // facility: spread propaganda
L"Szerzy propagandę", // facility: spread propaganda (globally)
L"Zbiera plotki", // facility: gather rumours
L"Szerzy propagandę", // spread propaganda
L"Zbiera plotki", // gather information
};
@@ -1990,6 +1996,12 @@ STR16 pLongAssignmentStrings[] =
L"Jeniec",
L"W szpitalu", // patient in a hospital
L"Pusty", // Vehicle is empty
L"Więzienny kapuś", // facility: undercover prisoner (snitch)
L"Szerz propagandę", // facility: spread propaganda
L"Szerz propagandę", // facility: spread propaganda (globally)
L"Zbieraj plotki", // facility: gather rumours
L"Szerz propagandę", // spread propaganda
L"Zbieraj plotki", // gather information
};
@@ -2105,7 +2117,8 @@ STR16 pAssignMenuStrings[] =
L"Pacjent", // the merc is receiving medical attention
L"Pojazd", // the merc is in a vehicle
L"Naprawa", // the merc is repairing items
L"Radio Scan", // Flugente: the merc is scanning for patrols in neighbouring sectors
L"Nasłuch", // Flugente: the merc is scanning for patrols in neighbouring sectors
L"Kapuś", // anv: snitch actions
L"Szkolenie", // the merc is training
L"Move Item", // move items // TODO.Translate
L"Facility", // the merc is using/staffing a facility // TODO.Translate
@@ -2177,6 +2190,80 @@ STR16 pTraitSkillsDenialStrings[] =
L" - possession by a demon",
};
STR16 pSnitchMenuStrings[] =
{
// snitch
L"Drużynowy kapuś",
L"Zlecenie w mieście",
L"Anuluj",
};
STR16 pSnitchMenuDescStrings[] =
{
// snitch
L"Przedyskutuj zachowanie kapusia względem jego kolegów.",
L"Podejmij zlecenie w sektorze miejskim.",
L"Anuluj",
};
STR16 pSnitchToggleMenuStrings[] =
{
// toggle snitching
L"Zgłaszaj skargi",
L"Nie zgłaszaj skarg",
L"Zapobiegaj złemu zachowaniu",
L"Nie zapobiegaj złemu zachowaniu",
L"Anuluj",
};
STR16 pSnitchToggleMenuDescStrings[] =
{
L"Zgłaszaj swojemu dowódcy wszelkie skargi jakie usłyszysz ze strony pozostałych najemników.",
L"Niczego nie zgłaszaj.",
L"Próbuj powstrzymywać pozostałych najemników przed pijaństwem czy kradzieżami.",
L"Nie zwracaj uwagi na zachowanie pozostałych najemników.",
L"Anuluj",
};
STR16 pSnitchSectorMenuStrings[] =
{
// sector assignments
L"Szerz propagandę",
L"Zbieraj plotki",
L"Anuluj",
};
STR16 pSnitchSectorMenuDescStrings[] =
{
L"Wychwalaj postępowanie najemników aby podnieść lojalność miasta i zaprzeczaj wszelkim negatywnym doniesieniom.",
L"Nasłuchuj wszelkich pogłosek o wrogiej aktywności.",
L"",
};
STR16 pSnitchPrisonExposedStrings[] =
{
L"%s został zdemaskowany jako kapuś, ale w porę to spostrzegł i zdołał ujść z życiem.",
L"%s został zdemaskowany jako kapuś, ale zdołał załagodzić sytuację i ujść z życiem.",
L"%s został zdemaskowany jako kapuś, ale zdołał uniknąć próby zamachu.",
L"%s został zdemaskowany jako kapuś, ale strażnicy zdołali zapobiec wybuchowi agresji wśród więźniów.",
L"%s został zdemaskowany jako kapuś i niemal utopiony przez współwięźniów nim strażnicy zdołali go uratować.",
L"%s został zdemaskowany jako kapuś i niemal pobity na śmierć przez współwięźniów nim strażnicy zdołali go uratować.",
L"%s został zdemaskowany jako kapuś i niemal zasztyletowany przez współwięźniów nim strażnicy zdołali go uratować.",
L"%s został zdemaskowany jako kapuś i niemal uduszony przez współwięźniów nim strażnicy zdołali go uratować.",
L"%s został zdemaskowany jako kapuś i utopiony w kiblu przez współwięźniów.",
L"%s został zdemaskowany jako kapuś i pobity na śmierć przez współwięźniów.",
L"%s został zdemaskowany jako kapuś i zasztyletowany przez współwięźniów.",
L"%s został zdemaskowany jako kapuś i uduszony przez współwięźniów.",
};
STR16 pSnitchGatheringRumoursResultStrings[] =
{
L"%s słyszał pogłoski o aktywnośći wroga w %d sektorach.",
};
STR16 pRemoveMercStrings[] =
{
L"Usuń najemnika", // remove dead merc from current team
@@ -7025,6 +7112,8 @@ STR16 gzFacilityErrorMessage[]=
L"%s doznaje ciężkich obrażeń w sektorze %s", // %s was injured in sector %s. // <--- This is a log message string.
// 31 - 35
L"%s doznaje ciężkich obrażeń w sektorze %s", //<--- This is a log message string.
L"Obecni więźniowie zdają sobie sprawę, iż %s jest najemnikiem.",
L"%s jest obecnie powszechnie znany jako kapuś. Odczekaj przynajmniej %d godzin(ę).",
};
+91
View File
@@ -1934,6 +1934,12 @@ STR16 pPersonnelAssignmentStrings[] =
L"В плену",
L"Госпиталь",
L"Пуст", // Vehicle is empty
L"Undercover Snitch", // TODO.Translate // facility: undercover prisoner (snitch)
L"Spreading Propaganda",// TODO.Translate // facility: spread propaganda
L"Spreading Propaganda",// TODO.Translate // facility: spread propaganda (globally)
L"Gathering Rumours",// TODO.Translate // facility: gather rumours
L"Spreading Propaganda",// TODO.Translate // spread propaganda
L"Gathering Rumours",// TODO.Translate // gather information
};
@@ -1982,6 +1988,12 @@ STR16 pLongAssignmentStrings[] =
L"В плену",
L"В госпитале", // patient in a hospital
L"Без пассажиров", // Vehicle is empty
L"Undercover Snitch", // TODO.Translate // facility: undercover prisoner (snitch)
L"Spread Propaganda",// TODO.Translate // facility: spread propaganda
L"Spread Propaganda",// TODO.Translate // facility: spread propaganda (globally)
L"Gather Rumours",// TODO.Translate // facility: gather rumours
L"Spread Propaganda",// TODO.Translate // spread propaganda
L"Gather Rumours",// TODO.Translate // gather information
};
@@ -2098,6 +2110,7 @@ STR16 pAssignMenuStrings[] =
L"Машина", // the merc is in a vehicle
L"Ремонт", // the merc is repairing items
L"Radio Scan", // Flugente: the merc is scanning for patrols in neighbouring sectors
L"Snitch", // TODO.Translate // anv: snitch actions
L"Обучение", // the merc is training
L"Move Item", // move items // TODO.Translate
L"Удобства", // the merc is using/staffing a facility //Facility
@@ -2169,6 +2182,82 @@ STR16 pTraitSkillsDenialStrings[] =
L" - possession by a demon",
};
// TODO.Translate
STR16 pSnitchMenuStrings[] =
{
// snitch
L"Team Informant",
L"Town Assignment",
L"Cancel",
};
STR16 pSnitchMenuDescStrings[] =
{
// snitch
L"Discuss snitch's behaviour towards his teammates.",
L"Take an assignment in this sector.",
L"Cancel",
};
STR16 pSnitchToggleMenuStrings[] =
{
// toggle snitching
L"Report complaints",
L"Don't report",
L"Prevent misbehaviour",
L"Ignore misbehaviour",
L"Cancel",
};
STR16 pSnitchToggleMenuDescStrings[] =
{
L"Report any complaints you hear from other mercs to your commander.",
L"Don't report anything.",
L"Try to stop other mercs from getting wasted and scrounging.",
L"Don't care what other mercs do.",
L"Cancel",
};
STR16 pSnitchSectorMenuStrings[] =
{
// sector assignments
L"Spread propaganda",
L"Gather rumours",
L"Cancel",
};
STR16 pSnitchSectorMenuDescStrings[] =
{
L"Glorify mercs' actions to increase town loyalty and suppress any bad news. ",
L"Keep an ear to the ground on any rumours about enemy forces activity.",
L"",
};
STR16 pSnitchPrisonExposedStrings[] =
{
L"%s was exposed as a snitch but managed to notice it and get out alive.",
L"%s was exposed as a snitch but managed to defuse situation and get out alive.",
L"%s was exposed as a snitch but managed to avoid assassination attempt.",
L"%s was exposed as a snitch but guards managed to prevent any violence outbursts.",
L"%s was exposed as a snitch and almost drowned by other inmates before guards saved him.",
L"%s was exposed as a snitch and almost beaten to death before guards saved him.",
L"%s was exposed as a snitch and almost stabbed to death before guards saved him.",
L"%s was exposed as a snitch and strangled to death before guards saved him.",
L"%s was exposed as a snitch and drowned in toilet by other inmates.",
L"%s was exposed as a snitch and beaten to death by other inmates.",
L"%s was exposed as a snitch and shanked to death by other inmates.",
L"%s was exposed as a snitch and strangled to death by other inmates.",
};
STR16 pSnitchGatheringRumoursResultStrings[] =
{
L"%s heard rumours about enemy activity in %d sectors.",
};
// /TODO.Translate
STR16 pRemoveMercStrings[] =
{
L"Убрать бойца", // remove dead merc from current team
@@ -7007,6 +7096,8 @@ STR16 gzFacilityErrorMessage[]=
L"%s получил(а) травму в секторе %s.",
// 31 - 35
L"%s получил(а) серьёзную травму в секторе %s.",
L"There are currently prisoners here who are aware of %s's identity.", // TODO.Translate
L"%s is currently well known as a mercenary snitch. Wait at least %d more hours.", // TODO.Translate
};
+91
View File
@@ -1934,6 +1934,12 @@ STR16 pPersonnelAssignmentStrings[] =
L"POW",
L"Hospital",
L"Empty", // Vehicle is empty
L"Undercover Snitch", // TODO.Translate // facility: undercover prisoner (snitch)
L"Spreading Propaganda",// TODO.Translate // facility: spread propaganda
L"Spreading Propaganda",// TODO.Translate // facility: spread propaganda (globally)
L"Gathering Rumours",// TODO.Translate // facility: gather rumours
L"Spreading Propaganda",// TODO.Translate // spread propaganda
L"Gathering Rumours",// TODO.Translate // gather information
};
@@ -1982,6 +1988,12 @@ STR16 pLongAssignmentStrings[] =
L"POW",
L"Hospital", // patient in a hospital
L"Empty", // Vehicle is empty
L"Undercover Snitch", // TODO.Translate // facility: undercover prisoner (snitch)
L"Spread Propaganda",// TODO.Translate // facility: spread propaganda
L"Spread Propaganda",// TODO.Translate // facility: spread propaganda (globally)
L"Gather Rumours",// TODO.Translate // facility: gather rumours
L"Spread Propaganda",// TODO.Translate // spread propaganda
L"Gather Rumours",// TODO.Translate // gather information
};
@@ -2098,6 +2110,7 @@ STR16 pAssignMenuStrings[] =
L"Vehicle", // the merc is in a vehicle
L"Repair", // the merc is repairing items
L"Radio Scan", // Flugente: the merc is scanning for patrols in neighbouring sectors
L"Snitch", // TODO.Translate // anv: snitch actions
L"Train", // the merc is training
L"Move Item", // move items // TODO.Translate
L"Facility", // the merc is using/staffing a facility // TODO.Translate
@@ -2169,6 +2182,82 @@ STR16 pTraitSkillsDenialStrings[] =
L" - possession by a demon",
};
// TODO.Translate
STR16 pSnitchMenuStrings[] =
{
// snitch
L"Team Informant",
L"Town Assignment",
L"Cancel",
};
STR16 pSnitchMenuDescStrings[] =
{
// snitch
L"Discuss snitch's behaviour towards his teammates.",
L"Take an assignment in this sector.",
L"Cancel",
};
STR16 pSnitchToggleMenuStrings[] =
{
// toggle snitching
L"Report complaints",
L"Don't report",
L"Prevent misbehaviour",
L"Ignore misbehaviour",
L"Cancel",
};
STR16 pSnitchToggleMenuDescStrings[] =
{
L"Report any complaints you hear from other mercs to your commander.",
L"Don't report anything.",
L"Try to stop other mercs from getting wasted and scrounging.",
L"Don't care what other mercs do.",
L"Cancel",
};
STR16 pSnitchSectorMenuStrings[] =
{
// sector assignments
L"Spread propaganda",
L"Gather rumours",
L"Cancel",
};
STR16 pSnitchSectorMenuDescStrings[] =
{
L"Glorify mercs' actions to increase town loyalty and suppress any bad news. ",
L"Keep an ear to the ground on any rumours about enemy forces activity.",
L"",
};
STR16 pSnitchPrisonExposedStrings[] =
{
L"%s was exposed as a snitch but managed to notice it and get out alive.",
L"%s was exposed as a snitch but managed to defuse situation and get out alive.",
L"%s was exposed as a snitch but managed to avoid assassination attempt.",
L"%s was exposed as a snitch but guards managed to prevent any violence outbursts.",
L"%s was exposed as a snitch and almost drowned by other inmates before guards saved him.",
L"%s was exposed as a snitch and almost beaten to death before guards saved him.",
L"%s was exposed as a snitch and almost stabbed to death before guards saved him.",
L"%s was exposed as a snitch and strangled to death before guards saved him.",
L"%s was exposed as a snitch and drowned in toilet by other inmates.",
L"%s was exposed as a snitch and beaten to death by other inmates.",
L"%s was exposed as a snitch and shanked to death by other inmates.",
L"%s was exposed as a snitch and strangled to death by other inmates.",
};
STR16 pSnitchGatheringRumoursResultStrings[] =
{
L"%s heard rumours about enemy activity in %d sectors.",
};
// /TODO.Translate
STR16 pRemoveMercStrings[] =
{
L"Remove Merc", // remove dead merc from current team
@@ -7013,6 +7102,8 @@ STR16 gzFacilityErrorMessage[]=
L"%s was injured in sector %s.", // <--- This is a log message string.
// 31 - 35
L"%s was severely injured in sector %s.", //<--- This is a log message string.
L"There are currently prisoners here who are aware of %s's identity.", // TODO.Translate
L"%s is currently well known as a mercenary snitch. Wait at least %d more hours.", // TODO.Translate
};