mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +02:00
Merged revision(s) 7209 from branches/ja2_source_official_2014:
- improved prisoner handling code - Fix: imprisoned officers were wrongly converted into elites git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7210 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+24
-32
@@ -6607,7 +6607,6 @@ void HandlePrisonerProcessingInSector( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
|||||||
{
|
{
|
||||||
if( pSoldier->bActive && ( pSoldier->sSectorX == sMapX ) && ( pSoldier->sSectorY == sMapY ) && ( pSoldier->bSectorZ == bZ) )
|
if( pSoldier->bActive && ( pSoldier->sSectorX == sMapX ) && ( pSoldier->sSectorY == sMapY ) && ( pSoldier->bSectorZ == bZ) )
|
||||||
{
|
{
|
||||||
// if he's training teammates in this stat
|
|
||||||
if( ( pSoldier->bAssignment == FACILITY_INTERROGATE_PRISONERS ) && ( EnoughTimeOnAssignment( pSoldier ) ) && ( pSoldier->flags.fMercAsleep == FALSE ) )
|
if( ( pSoldier->bAssignment == FACILITY_INTERROGATE_PRISONERS ) && ( EnoughTimeOnAssignment( pSoldier ) ) && ( pSoldier->flags.fMercAsleep == FALSE ) )
|
||||||
{
|
{
|
||||||
++numinterrogators;
|
++numinterrogators;
|
||||||
@@ -6618,11 +6617,8 @@ void HandlePrisonerProcessingInSector( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
|||||||
else if( ( pSoldier->bAssignment == FACILITY_PRISON_SNITCH ) && CanCharacterSnitchInPrison(pSoldier) && EnoughTimeOnAssignment( pSoldier ) && ( pSoldier->flags.fMercAsleep == FALSE ) )
|
else if( ( pSoldier->bAssignment == FACILITY_PRISON_SNITCH ) && CanCharacterSnitchInPrison(pSoldier) && EnoughTimeOnAssignment( pSoldier ) && ( pSoldier->flags.fMercAsleep == FALSE ) )
|
||||||
{
|
{
|
||||||
// first check if he wasn't exposed
|
// first check if he wasn't exposed
|
||||||
if( HandleSnitchExposition(pSoldier) )
|
|
||||||
{
|
|
||||||
//exposition fallout handled in HandleSnitchExposition
|
//exposition fallout handled in HandleSnitchExposition
|
||||||
}
|
if( !HandleSnitchExposition(pSoldier) )
|
||||||
else
|
|
||||||
{
|
{
|
||||||
++numinterrogators;
|
++numinterrogators;
|
||||||
|
|
||||||
@@ -6659,9 +6655,9 @@ void HandlePrisonerProcessingInSector( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
|||||||
if ( !prisonersinterrogated )
|
if ( !prisonersinterrogated )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szPrisonerTextStr[STR_PRISONER_PROCESSED], interrogatedprisoners[PRISONER_ELITE], interrogatedprisoners[PRISONER_REGULAR], interrogatedprisoners[PRISONER_ADMIN] );
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szPrisonerTextStr[STR_PRISONER_PROCESSED], interrogatedprisoners[PRISONER_OFFICER], interrogatedprisoners[PRISONER_ELITE], interrogatedprisoners[PRISONER_REGULAR], interrogatedprisoners[PRISONER_ADMIN] );
|
||||||
|
|
||||||
UINT8 turnedmilitia_elite = 0, turnedmilitia_regular= 0, turnedmilitia_admin = 0;
|
UINT16 turnedmilitia[PRISONER_MAX] = { 0 };
|
||||||
UINT32 revealedpositions = 0;
|
UINT32 revealedpositions = 0;
|
||||||
UINT32 ransomscollected = 0;
|
UINT32 ransomscollected = 0;
|
||||||
UINT32 ransommoney = 0;
|
UINT32 ransommoney = 0;
|
||||||
@@ -6674,12 +6670,14 @@ void HandlePrisonerProcessingInSector( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
|||||||
if ( result < gGameExternalOptions.ubPrisonerProcessDefectChance )
|
if ( result < gGameExternalOptions.ubPrisonerProcessDefectChance )
|
||||||
{
|
{
|
||||||
// troops are converted to militia, but there is a chance that they will be demoted in the process
|
// troops are converted to militia, but there is a chance that they will be demoted in the process
|
||||||
|
if ( i >= interrogatedprisoners[PRISONER_ADMIN] + interrogatedprisoners[PRISONER_REGULAR] + interrogatedprisoners[PRISONER_ELITE] && Chance( 80 ) )
|
||||||
|
++turnedmilitia[PRISONER_OFFICER];
|
||||||
if ( i >= interrogatedprisoners[PRISONER_ADMIN] + interrogatedprisoners[PRISONER_REGULAR] && Chance( 80 ) )
|
if ( i >= interrogatedprisoners[PRISONER_ADMIN] + interrogatedprisoners[PRISONER_REGULAR] && Chance( 80 ) )
|
||||||
++turnedmilitia_elite;
|
++turnedmilitia[PRISONER_ELITE];
|
||||||
else if ( i >= interrogatedprisoners[PRISONER_ADMIN] && Chance( 80 ) )
|
else if ( i >= interrogatedprisoners[PRISONER_ADMIN] && Chance( 80 ) )
|
||||||
++turnedmilitia_regular;
|
++turnedmilitia[PRISONER_REGULAR];
|
||||||
else
|
else
|
||||||
++turnedmilitia_admin;
|
++turnedmilitia[PRISONER_ADMIN];
|
||||||
|
|
||||||
// we continue so that this guy cannot also run back to the queen
|
// we continue so that this guy cannot also run back to the queen
|
||||||
continue;
|
continue;
|
||||||
@@ -6781,14 +6779,14 @@ void HandlePrisonerProcessingInSector( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
|||||||
++giReinforcementPool;
|
++giReinforcementPool;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( turnedmilitia_elite + turnedmilitia_regular + turnedmilitia_admin )
|
if ( turnedmilitia[PRISONER_ADMIN] + turnedmilitia[PRISONER_REGULAR] + turnedmilitia[PRISONER_ELITE] + turnedmilitia[PRISONER_OFFICER] )
|
||||||
{
|
{
|
||||||
// add these guys to the local garrison as green militias
|
// add these guys to the local garrison as green militias
|
||||||
StrategicAddMilitiaToSector(sMapX, sMapY, GREEN_MILITIA, turnedmilitia_admin);
|
StrategicAddMilitiaToSector( sMapX, sMapY, GREEN_MILITIA, turnedmilitia[PRISONER_ADMIN] );
|
||||||
StrategicAddMilitiaToSector(sMapX, sMapY, REGULAR_MILITIA, turnedmilitia_regular);
|
StrategicAddMilitiaToSector( sMapX, sMapY, REGULAR_MILITIA, turnedmilitia[PRISONER_REGULAR] );
|
||||||
StrategicAddMilitiaToSector(sMapX, sMapY, ELITE_MILITIA, turnedmilitia_elite);
|
StrategicAddMilitiaToSector( sMapX, sMapY, ELITE_MILITIA, turnedmilitia[PRISONER_ELITE] + turnedmilitia[PRISONER_OFFICER] );
|
||||||
|
|
||||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szPrisonerTextStr[STR_PRISONER_TURN_MILITIA], turnedmilitia_elite, turnedmilitia_regular, turnedmilitia_admin );
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szPrisonerTextStr[STR_PRISONER_TURN_MILITIA], turnedmilitia[PRISONER_OFFICER], turnedmilitia[PRISONER_ELITE], turnedmilitia[PRISONER_REGULAR], turnedmilitia[PRISONER_ADMIN] );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( revealedpositions )
|
if ( revealedpositions )
|
||||||
@@ -6868,11 +6866,6 @@ void HandlePrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
|||||||
UINT8 prisonersofficer = 0, prisonerselite = 0, prisonersregular = 0, prisonersadmin = 0;
|
UINT8 prisonersofficer = 0, prisonerselite = 0, prisonersregular = 0, prisonersadmin = 0;
|
||||||
UINT16 numprisoners = GetNumberOfPrisoners( pSectorInfo, &prisonersofficer, &prisonerselite, &prisonersregular, &prisonersadmin );
|
UINT16 numprisoners = GetNumberOfPrisoners( pSectorInfo, &prisonersofficer, &prisonerselite, &prisonersregular, &prisonersadmin );
|
||||||
|
|
||||||
// for now, simply count officers as elites
|
|
||||||
ChangeNumberOfPrisoners( pSectorInfo, -prisonersofficer, prisonersofficer, 0, 0 );
|
|
||||||
prisonerselite += prisonersofficer;
|
|
||||||
prisonersofficer = 0;
|
|
||||||
|
|
||||||
if ( !numprisoners )
|
if ( !numprisoners )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -6884,7 +6877,7 @@ void HandlePrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
|||||||
{
|
{
|
||||||
// add enemies
|
// add enemies
|
||||||
pSectorInfo->ubNumTroops = min(255, pSectorInfo->ubNumTroops + prisonersregular);
|
pSectorInfo->ubNumTroops = min(255, pSectorInfo->ubNumTroops + prisonersregular);
|
||||||
pSectorInfo->ubNumElites = min(255, pSectorInfo->ubNumElites + prisonerselite);
|
pSectorInfo->ubNumElites = min(255, pSectorInfo->ubNumElites + prisonerselite + prisonersofficer);
|
||||||
pSectorInfo->ubNumAdmins = min(255, pSectorInfo->ubNumAdmins + prisonersadmin);
|
pSectorInfo->ubNumAdmins = min(255, pSectorInfo->ubNumAdmins + prisonersadmin);
|
||||||
|
|
||||||
// all prisoners are free, reduce count!
|
// all prisoners are free, reduce count!
|
||||||
@@ -6908,16 +6901,14 @@ void HandlePrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
|||||||
prisonguardvalue = CalculateAllGuardsValueInPrison( sMapX, sMapY, bZ );
|
prisonguardvalue = CalculateAllGuardsValueInPrison( sMapX, sMapY, bZ );
|
||||||
|
|
||||||
// anv: snitches can only prevent mutiny if there are normal guards to cooperate with
|
// anv: snitches can only prevent mutiny if there are normal guards to cooperate with
|
||||||
if( !numprisonguards )
|
if( numprisonguards )
|
||||||
{
|
|
||||||
prisonguardvalue += CalculateAllSnitchesGuardValueInPrison( sMapX, sMapY, bZ );
|
prisonguardvalue += CalculateAllSnitchesGuardValueInPrison( sMapX, sMapY, bZ );
|
||||||
}
|
|
||||||
|
|
||||||
if ( !numprisonguards )
|
if ( !numprisonguards )
|
||||||
fBeginRiot = TRUE;
|
fBeginRiot = TRUE;
|
||||||
|
|
||||||
// we now have to determine the combined strength of the prisoners
|
// we now have to determine the combined strength of the prisoners
|
||||||
UINT32 prisonerriotvalue = 125 * prisonerselite + 100 * prisonersregular + 75 * prisonersadmin;
|
UINT32 prisonerriotvalue = 200 * prisonersofficer + 125 * prisonerselite + 100 * prisonersregular + 75 * prisonersadmin;
|
||||||
|
|
||||||
if ( prisonerriotvalue > prisonguardvalue )
|
if ( prisonerriotvalue > prisonguardvalue )
|
||||||
{
|
{
|
||||||
@@ -6932,17 +6923,18 @@ void HandlePrison( INT16 sMapX, INT16 sMapY, INT8 bZ )
|
|||||||
prisonertoguardratio = (FLOAT)(prisonerriotvalue / prisonguardvalue);
|
prisonertoguardratio = (FLOAT)(prisonerriotvalue / prisonguardvalue);
|
||||||
|
|
||||||
// in a riot, prisoners escape and are added to the sector as enemies. Not all might escape - the worse the prisoner/guard ratio, the more escape
|
// in a riot, prisoners escape and are added to the sector as enemies. Not all might escape - the worse the prisoner/guard ratio, the more escape
|
||||||
UINT8 escapedadmins = min( Random(prisonersadmin + prisonersadmin * prisonertoguardratio) , prisonersadmin);
|
INT16 escapedadmins = min( Random( prisonersadmin * prisonertoguardratio ), prisonersadmin );
|
||||||
UINT8 escapedregulars = min( Random(prisonersregular + prisonersregular * prisonertoguardratio) , prisonersregular);
|
INT16 escapedregulars = min( Random( prisonersregular * prisonertoguardratio ), prisonersregular );
|
||||||
UINT8 escapedelites = min( Random(prisonerselite + prisonerselite * prisonertoguardratio) , prisonerselite);
|
INT16 escapedelites = min( Random( prisonerselite * prisonertoguardratio ), prisonerselite );
|
||||||
|
INT16 escapedofficers = min( Random( prisonersofficer * prisonertoguardratio ), prisonersofficer );
|
||||||
|
|
||||||
// add enemies
|
// add enemies
|
||||||
pSectorInfo->ubNumTroops = min(255, pSectorInfo->ubNumTroops + escapedregulars);
|
pSectorInfo->ubNumTroops = min( 512, pSectorInfo->ubNumTroops + escapedregulars );
|
||||||
pSectorInfo->ubNumElites = min(255, pSectorInfo->ubNumElites + escapedelites);
|
pSectorInfo->ubNumElites = min( 512, pSectorInfo->ubNumElites + escapedelites + escapedofficers );
|
||||||
pSectorInfo->ubNumAdmins = min(255, pSectorInfo->ubNumAdmins + escapedadmins);
|
pSectorInfo->ubNumAdmins = min( 512, pSectorInfo->ubNumAdmins + escapedadmins );
|
||||||
|
|
||||||
// reduce prisoner count!
|
// reduce prisoner count!
|
||||||
ChangeNumberOfPrisoners( pSectorInfo, -prisonersofficer, -escapedelites, -escapedregulars, -escapedadmins, sMapX, sMapY );
|
ChangeNumberOfPrisoners( pSectorInfo, -escapedofficers, -escapedelites, -escapedregulars, -escapedadmins, sMapX, sMapY );
|
||||||
|
|
||||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szPrisonerTextStr[STR_PRISONER_RIOT], wSectorName );
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szPrisonerTextStr[STR_PRISONER_RIOT], wSectorName );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -457,7 +457,7 @@ void AddTextToTownBox( void )
|
|||||||
// prisoners
|
// prisoners
|
||||||
swprintf( wString, L"%s:", pwTownInfoStrings[13] );
|
swprintf( wString, L"%s:", pwTownInfoStrings[13] );
|
||||||
AddMonoString( &hStringHandle, wString );
|
AddMonoString( &hStringHandle, wString );
|
||||||
swprintf( wString, L"%d/%d/%d/%d%/%d", prisoners[PRISONER_ADMIN], prisoners[PRISONER_REGULAR], prisoners[PRISONER_ELITE], prisoners[PRISONER_OFFICER], capacity );
|
swprintf( wString, L"%d/%d - %dA %dR %dE %dO", numprisoners, capacity, prisoners[PRISONER_ADMIN], prisoners[PRISONER_REGULAR], prisoners[PRISONER_ELITE], prisoners[PRISONER_OFFICER] );
|
||||||
AddSecondColumnMonoString( &hStringHandle, wString );
|
AddSecondColumnMonoString( &hStringHandle, wString );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-14
@@ -10649,19 +10649,6 @@ void ChangeNumberOfPrisoners( SECTORINFO *pSectorInfo, INT16 aOfficer, INT16 aEl
|
|||||||
pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_ELITE] = max(0, min(255, pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_ELITE] + aElite) );
|
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_REGULAR] = max(0, min(255, pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_REGULAR] + aRegular) );
|
||||||
pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_ADMIN] = max(0, min(255, pSectorInfo->uiNumberOfPrisonersOfWar[PRISONER_ADMIN] + aAdmin) );
|
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 aOfficer, INT16 aElite, INT16 aRegular, INT16 aAdmin )
|
void ChangeNumberOfPrisoners( UNDERGROUND_SECTORINFO *pSectorInfo, INT16 aOfficer, INT16 aElite, INT16 aRegular, INT16 aAdmin )
|
||||||
@@ -10693,7 +10680,7 @@ void DeleteAllPrisoners( UNDERGROUND_SECTORINFO *pSectorInfo )
|
|||||||
pSectorInfo->uiNumberOfPrisonersOfWar[i] = 0;
|
pSectorInfo->uiNumberOfPrisonersOfWar[i] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// used when the player kills a prisoner. We kill of high-value prisoners first, to punish this kind of behaviour
|
// used when the player kills a prisoner. We kill off high-value prisoners first, to punish this kind of behaviour
|
||||||
void KillOnePrisoner( SECTORINFO *pSectorInfo )
|
void KillOnePrisoner( SECTORINFO *pSectorInfo )
|
||||||
{
|
{
|
||||||
if ( !pSectorInfo )
|
if ( !pSectorInfo )
|
||||||
|
|||||||
@@ -8058,10 +8058,10 @@ STR16 szFoodTextStr[]=
|
|||||||
|
|
||||||
STR16 szPrisonerTextStr[]=
|
STR16 szPrisonerTextStr[]=
|
||||||
{
|
{
|
||||||
L"%d 精英, %d 正规军 和 %d 长官被审问.", //L"%d elites, %d regulars and %d amins were interrogated.",
|
L"%d officers, %d elites, %d regulars and %d admins were interrogated.", // TODO.Translate
|
||||||
L"%d 名俘虏已支付赎金", //L"%d prisoners paid ransom money.",
|
L"%d 名俘虏已支付赎金", //L"%d prisoners paid ransom money.",
|
||||||
L"%d 名俘虏已供出同伙位置", //L"%d prisoners revealed enemy positions.",
|
L"%d 名俘虏已供出同伙位置", //L"%d prisoners revealed enemy positions.",
|
||||||
L"%d 精英, %d 正规军 and %d 长官加入我们.", //L"%d elites, %d regulars and %d amins joined our cause.",
|
L"%d officers, %d elites, %d regulars and %d admins joined our cause.", // TODO.Translate
|
||||||
L"俘虏掀起大规模暴动!在 %s 监狱!", //L"Prisoners start a massive riot in %s!",
|
L"俘虏掀起大规模暴动!在 %s 监狱!", //L"Prisoners start a massive riot in %s!",
|
||||||
L"俘虏被押送前往 %s 监狱", //L"The army now occupies the prison in %s, the prisoners were freed!",
|
L"俘虏被押送前往 %s 监狱", //L"The army now occupies the prison in %s, the prisoners were freed!",
|
||||||
L"俘虏已被释放!", //L"Prisoners have been released!",
|
L"俘虏已被释放!", //L"Prisoners have been released!",
|
||||||
|
|||||||
@@ -8071,10 +8071,10 @@ STR16 szFoodTextStr[]=
|
|||||||
// TODO.Translate
|
// TODO.Translate
|
||||||
STR16 szPrisonerTextStr[]=
|
STR16 szPrisonerTextStr[]=
|
||||||
{
|
{
|
||||||
L"%d elites, %d regulars and %d admins were interrogated.",
|
L"%d officers, %d elites, %d regulars and %d admins were interrogated.",
|
||||||
L"%d prisoners paid ransom money.",
|
L"%d prisoners paid ransom money.",
|
||||||
L"%d prisoners revealed enemy positions.",
|
L"%d prisoners revealed enemy positions.",
|
||||||
L"%d elites, %d regulars and %d admins joined our cause.",
|
L"%d officers, %d elites, %d regulars and %d admins joined our cause.",
|
||||||
L"Prisoners start a massive riot in %s!",
|
L"Prisoners start a massive riot in %s!",
|
||||||
L"%d prisoners were sent to %s!",
|
L"%d prisoners were sent to %s!",
|
||||||
L"Prisoners have been released!",
|
L"Prisoners have been released!",
|
||||||
|
|||||||
@@ -8056,10 +8056,10 @@ STR16 szFoodTextStr[]=
|
|||||||
|
|
||||||
STR16 szPrisonerTextStr[]=
|
STR16 szPrisonerTextStr[]=
|
||||||
{
|
{
|
||||||
L"%d elites, %d regulars and %d admins were interrogated.",
|
L"%d officers, %d elites, %d regulars and %d admins were interrogated.",
|
||||||
L"%d prisoners paid ransom money.",
|
L"%d prisoners paid ransom money.",
|
||||||
L"%d prisoners revealed enemy positions.",
|
L"%d prisoners revealed enemy positions.",
|
||||||
L"%d elites, %d regulars and %d admins joined our cause.",
|
L"%d officers, %d elites, %d regulars and %d admins joined our cause.",
|
||||||
L"Prisoners start a massive riot in %s!",
|
L"Prisoners start a massive riot in %s!",
|
||||||
L"%d prisoners were sent to %s!",
|
L"%d prisoners were sent to %s!",
|
||||||
L"Prisoners have been released!",
|
L"Prisoners have been released!",
|
||||||
|
|||||||
@@ -8056,10 +8056,10 @@ STR16 szFoodTextStr[]=
|
|||||||
|
|
||||||
STR16 szPrisonerTextStr[]=
|
STR16 szPrisonerTextStr[]=
|
||||||
{
|
{
|
||||||
L"Prisonnier(s) ayant été interrogé(s) : %d élite(s), %d régulier(s) et %d administratif(s).", // TODO.Translate. A voir définition (to see finished, definition)
|
L"%d officers, %d elites, %d regulars and %d admins were interrogated.", // TODO.Translate
|
||||||
L"Prisonnier(s) ayant payé une rançon : %d.", // TODO.Translate. A voir définition (to see finished, definition)
|
L"Prisonnier(s) ayant payé une rançon : %d.", // TODO.Translate. A voir définition (to see finished, definition)
|
||||||
L"Prisonnier(s) ayant révélé les positions ennemies : %d.", // TODO.Translate. A voir définition (to see finished, definition)
|
L"Prisonnier(s) ayant révélé les positions ennemies : %d.", // TODO.Translate. A voir définition (to see finished, definition)
|
||||||
L"Prisonnier(s) ayant rejoint notre cause : %d élite(s), %d régulier(s) et %d administratif(s).", // TODO.Translate. A voir définition (to see finished, definition)
|
L"%d officers, %d elites, %d regulars and %d admins joined our cause.", // TODO.Translate
|
||||||
L"Prisonnier(s) ayant commencé une émeute : %s !", // TODO.Translate. A voir définition (to see finished, definition)
|
L"Prisonnier(s) ayant commencé une émeute : %s !", // TODO.Translate. A voir définition (to see finished, definition)
|
||||||
L"Prisonnier(s) envoyé(s) en %s : %d !", // TODO.Translate. A voir définition (to see finished, definition)
|
L"Prisonnier(s) envoyé(s) en %s : %d !", // TODO.Translate. A voir définition (to see finished, definition)
|
||||||
L"Prisonnier(s) libéré(s) !",
|
L"Prisonnier(s) libéré(s) !",
|
||||||
|
|||||||
@@ -7884,10 +7884,10 @@ STR16 szFoodTextStr[]=
|
|||||||
|
|
||||||
STR16 szPrisonerTextStr[]=
|
STR16 szPrisonerTextStr[]=
|
||||||
{
|
{
|
||||||
L"%d Elite-, %d Reguläre und %d Hilfssoldaten wurden verhört.",
|
L"%d Offiziere, %d Elite-, %d Reguläre und %d Hilfssoldaten wurden verhört.",
|
||||||
L"%d Gefangene wurden gegen Lösegeld freigelassen.",
|
L"%d Gefangene wurden gegen Lösegeld freigelassen.",
|
||||||
L"%d Gefangene haben uns Truppenstandorte verraten.",
|
L"%d Gefangene haben uns Truppenstandorte verraten.",
|
||||||
L"%d Elite-, %d Reguläre und %d Hilfssoldaten laufen zu uns über.",
|
L"%d Offiziere, %d Elite-, %d Reguläre und %d Hilfssoldaten laufen zu uns über.",
|
||||||
L"Gefangenenaufstand in %s!",
|
L"Gefangenenaufstand in %s!",
|
||||||
L"%d Gefangene wurden nach %s geschickt!",
|
L"%d Gefangene wurden nach %s geschickt!",
|
||||||
L"Gefangene freigelassen!",
|
L"Gefangene freigelassen!",
|
||||||
|
|||||||
@@ -8062,10 +8062,10 @@ STR16 szFoodTextStr[]=
|
|||||||
// TODO.Translate
|
// TODO.Translate
|
||||||
STR16 szPrisonerTextStr[]=
|
STR16 szPrisonerTextStr[]=
|
||||||
{
|
{
|
||||||
L"%d elites, %d regulars and %d admins were interrogated.",
|
L"%d officers, %d elites, %d regulars and %d admins were interrogated.",
|
||||||
L"%d prisoners paid ransom money.",
|
L"%d prisoners paid ransom money.",
|
||||||
L"%d prisoners revealed enemy positions.",
|
L"%d prisoners revealed enemy positions.",
|
||||||
L"%d elites, %d regulars and %d admins joined our cause.",
|
L"%d officers, %d elites, %d regulars and %d admins joined our cause.",
|
||||||
L"Prisoners start a massive riot in %s!",
|
L"Prisoners start a massive riot in %s!",
|
||||||
L"%d prisoners were sent to %s!",
|
L"%d prisoners were sent to %s!",
|
||||||
L"Prisoners have been released!",
|
L"Prisoners have been released!",
|
||||||
|
|||||||
@@ -8080,10 +8080,10 @@ STR16 szFoodTextStr[]=
|
|||||||
// TODO.Translate
|
// TODO.Translate
|
||||||
STR16 szPrisonerTextStr[]=
|
STR16 szPrisonerTextStr[]=
|
||||||
{
|
{
|
||||||
L"%d elites, %d regulars and %d admins were interrogated.",
|
L"%d officers, %d elites, %d regulars and %d admins were interrogated.",
|
||||||
L"%d prisoners paid ransom money.",
|
L"%d prisoners paid ransom money.",
|
||||||
L"%d prisoners revealed enemy positions.",
|
L"%d prisoners revealed enemy positions.",
|
||||||
L"%d elites, %d regulars and %d admins joined our cause.",
|
L"%d officers, %d elites, %d regulars and %d admins joined our cause.",
|
||||||
L"Prisoners start a massive riot in %s!",
|
L"Prisoners start a massive riot in %s!",
|
||||||
L"%d prisoners were sent to %s!",
|
L"%d prisoners were sent to %s!",
|
||||||
L"Prisoners have been released!",
|
L"Prisoners have been released!",
|
||||||
|
|||||||
@@ -8060,10 +8060,10 @@ STR16 szFoodTextStr[]=
|
|||||||
// TODO.Translate
|
// TODO.Translate
|
||||||
STR16 szPrisonerTextStr[]=
|
STR16 szPrisonerTextStr[]=
|
||||||
{
|
{
|
||||||
L"%d elites, %d regulars and %d admins were interrogated.",
|
L"%d officers, %d elites, %d regulars and %d admins were interrogated.",
|
||||||
L"%d prisoners paid ransom money.",
|
L"%d prisoners paid ransom money.",
|
||||||
L"%d prisoners revealed enemy positions.",
|
L"%d prisoners revealed enemy positions.",
|
||||||
L"%d elites, %d regulars and %d admins joined our cause.",
|
L"%d officers, %d elites, %d regulars and %d admins joined our cause.",
|
||||||
L"Prisoners start a massive riot in %s!",
|
L"Prisoners start a massive riot in %s!",
|
||||||
L"%d prisoners were sent to %s!",
|
L"%d prisoners were sent to %s!",
|
||||||
L"Prisoners have been released!",
|
L"Prisoners have been released!",
|
||||||
|
|||||||
@@ -8071,10 +8071,10 @@ STR16 szFoodTextStr[]=
|
|||||||
// TODO.Translate
|
// TODO.Translate
|
||||||
STR16 szPrisonerTextStr[]=
|
STR16 szPrisonerTextStr[]=
|
||||||
{
|
{
|
||||||
L"%d elites, %d regulars and %d admins were interrogated.",
|
L"%d officers, %d elites, %d regulars and %d admins were interrogated.",
|
||||||
L"%d prisoners paid ransom money.",
|
L"%d prisoners paid ransom money.",
|
||||||
L"%d prisoners revealed enemy positions.",
|
L"%d prisoners revealed enemy positions.",
|
||||||
L"%d elites, %d regulars and %d admins joined our cause.",
|
L"%d officers, %d elites, %d regulars and %d admins joined our cause.",
|
||||||
L"Prisoners start a massive riot in %s!",
|
L"Prisoners start a massive riot in %s!",
|
||||||
L"%d prisoners were sent to %s!",
|
L"%d prisoners were sent to %s!",
|
||||||
L"Prisoners have been released!",
|
L"Prisoners have been released!",
|
||||||
|
|||||||
Reference in New Issue
Block a user