- New prisoner class: Civilians can be interrogated. Does not work for profile-based charcters.

- Capturing civilians is possible if their faction has <fCanBeCaptured> set to 1.

Requires GameDir >= r2215.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7762 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2015-02-28 22:35:30 +00:00
parent 4b70b1e400
commit 9d8e5a4c3a
22 changed files with 321 additions and 99 deletions
+2
View File
@@ -858,6 +858,8 @@ enum
SRT_PRISONER_INI_SETTING_OFF,
STR_PRISONER_X_FREES_Y,
STR_PRISONER_DETECTION_VIP,
STR_PRISONER_REFUSE_SURRENDER_LEADER,
STR_PRISONER_TURN_VOLUNTEER,
TEXT_NUM_PRISONER_STR
};
+18 -4
View File
@@ -2277,16 +2277,18 @@ STR16 pPrisonerMenuStrings[] = // TODO.Translate
L"Interrogate elites",
L"Interrogate officers",
L"Interrogate generals",
L"Interrogate civilians",
L"Cancel",
};
STR16 pPrisonerMenuDescStrings[] =
{
L"Administrators are easy to process, but give only poor results",
L"Regular troops are common an don't give you high rewards.",
L"Regular troops are common and don't give you high rewards.",
L"If elite troops defect to you, they can become veteran militia.",
L"Interrogating enemy officers can lead you to find enemy generals.",
L"Generals cannot join your militia, but lead to high ransoms.",
L"Civilians don't offer much resistance, but are second-rate troops at best.",
L"Cancel",
};
@@ -3565,8 +3567,18 @@ STR16 pwTownInfoStrings[] =
L"民兵训练度", // 10 // state of civilian training in town
L"民兵", // the state of the trained civilians in the town
L"巡逻民兵", // L"Mobile Training", // HEADROCK HAM 3.6: The stat of Mobile militia training in town
L"囚犯", // Flugente: display number of prisoners
L"%d/%d - %dA %dR %dE %dO %dG", // TODO.Translate // Info: Total # of prisoners/capacity - # of Admins # of Regulars # of Elites # of Officers # of Generals
// Flugente: prisoner texts // TODO.Translate
L"囚犯", //L"Prisoners",
L"%d (capacity %d)",
L"%d Admins",
L"%d Regulars",
L"%d Elites",
L"%d Officers",
L"%d Generals",
L"%d Civilians",
L"%d Special1",
L"%d Special2",
};
// Mine strings
@@ -8131,7 +8143,7 @@ STR16 szFoodTextStr[]=
STR16 szPrisonerTextStr[]=
{
L"审讯了%d军官,%d精英士兵,%d普通士兵和%d巡逻官。",
L"%d officers, %d elites, %d regulars, %d admins, %d generals and %d civilians were interrogated.", // TODO.Translate
L"%d 名俘虏已支付赎金", //L"%d prisoners paid ransom money.",
L"%d 名俘虏已供出同伙位置", //L"%d prisoners revealed enemy positions.",
L"%d军官,%d精英士兵,%d普通士兵和%d巡逻官加入了我方。",
@@ -8144,6 +8156,8 @@ STR16 szPrisonerTextStr[]=
L"这些可以在 INI 设置关闭。", // L"This behaviour is set OFF in your ini settings.",
L"%s释放了%s", //L"%s has freed %s!",
L"A prisoner revealed the location of a high-ranking army officer in %s!", // TODO.Translate
L"The enemy leader refuses to even consider surrender!",
L"%d prisoners volunteered to join our forces.",
};
STR16 szMTATextStr[]=
+18 -4
View File
@@ -2275,16 +2275,18 @@ STR16 pPrisonerMenuStrings[] = // TODO.Translate
L"Interrogate elites",
L"Interrogate officers",
L"Interrogate generals",
L"Interrogate civilians",
L"Cancel",
};
STR16 pPrisonerMenuDescStrings[] =
{
L"Administrators are easy to process, but give only poor results",
L"Regular troops are common an don't give you high rewards.",
L"Regular troops are common and don't give you high rewards.",
L"If elite troops defect to you, they can become veteran militia.",
L"Interrogating enemy officers can lead you to find enemy generals.",
L"Generals cannot join your militia, but lead to high ransoms.",
L"Civilians don't offer much resistance, but are second-rate troops at best.",
L"Cancel",
};
@@ -3563,8 +3565,18 @@ STR16 pwTownInfoStrings[] =
L"Training Burgers", // 10 // state of civilian training in town
L"Militie", // the state of the trained civilians in the town
L"Mobile Training", // HEADROCK HAM 3.6: The stat of Mobile militia training in town // TODO.Translate
L"Prisoners", // Flugente: display number of prisoners // TODO.Translate
L"%d/%d - %dA %dR %dE %dO %dG", // TODO.Translate // Info: Total # of prisoners/capacity - # of Admins # of Regulars # of Elites # of Officers # of Generals
// Flugente: prisoner texts
L"Prisoners",
L"%d (capacity %d)",
L"%d Admins",
L"%d Regulars",
L"%d Elites",
L"%d Officers",
L"%d Generals",
L"%d Civilians",
L"%d Special1",
L"%d Special2",
};
// Mine strings
@@ -8142,7 +8154,7 @@ STR16 szFoodTextStr[]=
// TODO.Translate
STR16 szPrisonerTextStr[]=
{
L"%d officers, %d elites, %d regulars and %d admins were interrogated.",
L"%d officers, %d elites, %d regulars, %d admins, %d generals and %d civilians were interrogated.", // TODO.Translate
L"%d prisoners paid ransom money.",
L"%d prisoners revealed enemy positions.",
L"%d officers, %d elites, %d regulars and %d admins joined our cause.",
@@ -8155,6 +8167,8 @@ STR16 szPrisonerTextStr[]=
L"This behaviour is set OFF in your ini settings.",
L"%s has freed %s!",
L"A prisoner revealed the location of a high-ranking army officer in %s!", // TODO.Translate
L"The enemy leader refuses to even consider surrender!",
L"%d prisoners volunteered to join our forces.",
};
STR16 szMTATextStr[]= // TODO.Translate
+18 -4
View File
@@ -2278,16 +2278,18 @@ STR16 pPrisonerMenuStrings[] =
L"Interrogate elites",
L"Interrogate officers",
L"Interrogate generals",
L"Interrogate civilians",
L"Cancel",
};
STR16 pPrisonerMenuDescStrings[] =
{
L"Administrators are easy to process, but give only poor results",
L"Regular troops are common an don't give you high rewards.",
L"Regular troops are common and don't give you high rewards.",
L"If elite troops defect to you, they can become veteran militia.",
L"Interrogating enemy officers can lead you to find enemy generals.",
L"Generals cannot join your militia, but lead to high ransoms.",
L"Civilians don't offer much resistance, but are second-rate troops at best.",
L"Cancel",
};
@@ -3564,8 +3566,18 @@ STR16 pwTownInfoStrings[] =
L"Civilian Training", // 10 // state of civilian training in town
L"Militia", // the state of the trained civilians in the town
L"Mobile Training", // HEADROCK HAM 3.6: The stat of Mobile militia training in town
L"Prisoners", // Flugente: display number of prisoners
L"%d/%d - %dA %dR %dE %dO %dG", // Info: Total # of prisoners/capacity - # of Admins # of Regulars # of Elites # of Officers # of Generals
// Flugente: prisoner texts
L"Prisoners",
L"%d (capacity %d)",
L"%d Admins",
L"%d Regulars",
L"%d Elites",
L"%d Officers",
L"%d Generals",
L"%d Civilians",
L"%d Special1",
L"%d Special2",
};
// Mine strings
@@ -8129,7 +8141,7 @@ STR16 szFoodTextStr[]=
STR16 szPrisonerTextStr[]=
{
L"%d officers, %d elites, %d regulars and %d admins were interrogated.",
L"%d officers, %d elites, %d regulars, %d admins, %d generals and %d civilians were interrogated.",
L"%d prisoners paid ransom money.",
L"%d prisoners revealed enemy positions.",
L"%d officers, %d elites, %d regulars and %d admins joined our cause.",
@@ -8142,6 +8154,8 @@ STR16 szPrisonerTextStr[]=
L"This behaviour is set OFF in your ini settings.",
L"%s has freed %s!",
L"A prisoner revealed the location of a high-ranking army officer in %s!",
L"The enemy leader refuses to even consider surrender!",
L"%d prisoners volunteered to join our forces.",
};
STR16 szMTATextStr[]=
+18 -4
View File
@@ -2284,16 +2284,18 @@ STR16 pPrisonerMenuStrings[] = // TODO.Translate
L"Interrogate elites",
L"Interrogate officers",
L"Interrogate generals",
L"Interrogate civilians",
L"Cancel",
};
STR16 pPrisonerMenuDescStrings[] =
{
L"Administrators are easy to process, but give only poor results",
L"Regular troops are common an don't give you high rewards.",
L"Regular troops are common and don't give you high rewards.",
L"If elite troops defect to you, they can become veteran militia.",
L"Interrogating enemy officers can lead you to find enemy generals.",
L"Generals cannot join your militia, but lead to high ransoms.",
L"Civilians don't offer much resistance, but are second-rate troops at best.",
L"Cancel",
};
@@ -3568,8 +3570,18 @@ STR16 pwTownInfoStrings[] =
L"Formation ", // 10 // state of civilian training in town
L"Milice ", // the state of the trained civilians in the town
L"Formation mobile ", // HEADROCK HAM 3.6: The stat of Mobile militia training in town
L"Prisonnier ", // Flugente: display number of prisoners
L"%d/%d = %dA %dR %dÉ %dO %dG", // TODO.Translate // Info: Total # of prisoners/capacity - # of Admins # of Regulars # of Elites # of Officers # of Generals
// Flugente: prisoner texts // TODO.Translate
L"Prisonnier ",
L"%d (capacity %d)",
L"%d Admins",
L"%d Regulars",
L"%d Elites",
L"%d Officers",
L"%d Generals",
L"%d Civilians",
L"%d Special1",
L"%d Special2",
};
// Mine strings
@@ -8128,7 +8140,7 @@ STR16 szFoodTextStr[]=
STR16 szPrisonerTextStr[]=
{
L"Prisonnier(s) ayant été interrogé(s) : %d officiers, %d élite(s), %d régulier(s) et %d administratif(s).",
L"%d officers, %d elites, %d regulars, %d admins, %d generals and %d civilians were interrogated.", // TODO.Translate
L"Prisonnier(s) ayant payé une rançon : %d.",
L"Prisonnier(s) ayant révélé les positions ennemies : %d.",
L"Prisonnier(s) ayant rejoint notre cause : %d officiers, %d élite(s), %d régulier(s) et %d administratif(s).",
@@ -8141,6 +8153,8 @@ STR16 szPrisonerTextStr[]=
L"Ce comportement est désactivé dans vos fichiers ini.",
L"%s a libéré %s !",
L"A prisoner revealed the location of a high-ranking army officer in %s!", // TODO.Translate
L"The enemy leader refuses to even consider surrender!",
L"%d prisoners volunteered to join our forces.",
};
STR16 szMTATextStr[]=
+19 -5
View File
@@ -2280,16 +2280,18 @@ STR16 pPrisonerMenuStrings[] = // TODO.Translate
L"Interrogate elites",
L"Interrogate officers",
L"Interrogate generals",
L"Interrogate civilians",
L"Cancel",
};
STR16 pPrisonerMenuDescStrings[] =
{
L"Administrators are easy to process, but give only poor results",
L"Regular troops are common an don't give you high rewards.",
L"Regular troops are common and don't give you high rewards.",
L"If elite troops defect to you, they can become veteran militia.",
L"Interrogating enemy officers can lead you to find enemy generals.",
L"Generals cannot join your militia, but lead to high ransoms.",
L"Civilians don't offer much resistance, but are second-rate troops at best.",
L"Cancel",
};
@@ -3562,8 +3564,18 @@ STR16 pwTownInfoStrings[] =
L"Zivilistentraining", // 10 // state of civilian training in town
L"Miliz", // the state of the trained civilians in the town
L"Mobile M. Training", // HEADROCK HAM 3.6: The stat of Mobile militia training in town
L"Prisoners", // Flugente: display number of prisoners // TODO.Translate
L"%d/%d - %dA %dR %dE %dO %dG", // TODO.Translate // Info: Total # of prisoners/capacity - # of Admins # of Regulars # of Elites # of Officers # of Generals
// Flugente: prisoner texts
L"Gefangene",
L"%d (max. %d)",
L"%d Hilfssoldaten",
L"%d Truppen",
L"%d Elite",
L"%d Offiziere",
L"%d Generele",
L"%d Zivilisten",
L"%d Special1",
L"%d Special2",
};
// Mine strings
@@ -7959,7 +7971,7 @@ STR16 szFoodTextStr[]=
STR16 szPrisonerTextStr[]=
{
L"%d Offiziere, %d Elite-, %d Reguläre und %d Hilfssoldaten wurden verhört.",
L"%d Offiziere, %d Elite-, %d Reguläre, %d Hilfssoldaten, %d Generäle und %d Zivilisten wurden verhört.",
L"%d Gefangene wurden gegen Lösegeld freigelassen.",
L"%d Gefangene haben uns Truppenstandorte verraten.",
L"%d Offiziere, %d Elite-, %d Reguläre und %d Hilfssoldaten laufen zu uns über.",
@@ -7971,7 +7983,9 @@ STR16 szPrisonerTextStr[]=
L"Der Feind weigert sich, Sie als Gefangenen zu nehmen - Er möchte Sie tod sehen!",
L"Dieses Verhalten ist ausgeschaltet in der ja2_options.ini Datei.",
L"%s hat %s befreit!",
L"A prisoner revealed the location of a high-ranking army officer in %s!", // TODO.Translate
L"Ein Gefangener hat den Aufenthaltsort eines hochrangigen Offiziers in %s enthüllt!",
L"Der feindliche Anführer denkt nicht mal an Kapitulation!",
L"%d Gefangene sind uns als Freiwillige beigetreten.",
};
STR16 szMTATextStr[]=
+18 -5
View File
@@ -2266,22 +2266,23 @@ STR16 pSnitchSectorMenuDescStrings[] =
STR16 pPrisonerMenuStrings[] = // TODO.Translate
{
// toggle snitching
L"Interrogate admins",
L"Interrogate troops",
L"Interrogate elites",
L"Interrogate officers",
L"Interrogate generals",
L"Interrogate civilians",
L"Cancel",
};
STR16 pPrisonerMenuDescStrings[] =
{
L"Administrators are easy to process, but give only poor results",
L"Regular troops are common an don't give you high rewards.",
L"Regular troops are common and don't give you high rewards.",
L"If elite troops defect to you, they can become veteran militia.",
L"Interrogating enemy officers can lead you to find enemy generals.",
L"Generals cannot join your militia, but lead to high ransoms.",
L"Civilians don't offer much resistance, but are second-rate troops at best.",
L"Cancel",
};
@@ -3559,8 +3560,18 @@ STR16 pwTownInfoStrings[] =
L"addestramento civili", // 10 // state of civilian training in town
L"Esercito", // the state of the trained civilians in the town
L"Mobile Training", // HEADROCK HAM 3.6: The stat of Mobile militia training in town // TODO.Translate
L"Prisoners", // Flugente: display number of prisoners // TODO.Translate
L"%d/%d - %dA %dR %dE %dO %dG", // TODO.Translate // Info: Total # of prisoners/capacity - # of Admins # of Regulars # of Elites # of Officers # of Generals
// Flugente: prisoner texts // TODO.Translate
L"Prisoners",
L"%d (capacity %d)",
L"%d Admins",
L"%d Regulars",
L"%d Elites",
L"%d Officers",
L"%d Generals",
L"%d Civilians",
L"%d Special1",
L"%d Special2",
};
// Mine strings
@@ -8137,7 +8148,7 @@ STR16 szFoodTextStr[]=
// TODO.Translate
STR16 szPrisonerTextStr[]=
{
L"%d officers, %d elites, %d regulars and %d admins were interrogated.",
L"%d officers, %d elites, %d regulars, %d admins, %d generals and %d civilians were interrogated.", // TODO.Translate
L"%d prisoners paid ransom money.",
L"%d prisoners revealed enemy positions.",
L"%d officers, %d elites, %d regulars and %d admins joined our cause.",
@@ -8150,6 +8161,8 @@ STR16 szPrisonerTextStr[]=
L"This behaviour is set OFF in your ini settings.",
L"%s has freed %s!",
L"A prisoner revealed the location of a high-ranking army officer in %s!", // TODO.Translate
L"The enemy leader refuses to even consider surrender!",
L"%d prisoners volunteered to join our forces.",
};
STR16 szMTATextStr[]= // TODO.Translate
+18 -4
View File
@@ -2286,16 +2286,18 @@ STR16 pPrisonerMenuStrings[] = // TODO.Translate
L"Interrogate elites",
L"Interrogate officers",
L"Interrogate generals",
L"Interrogate civilians",
L"Cancel",
};
STR16 pPrisonerMenuDescStrings[] =
{
L"Administrators are easy to process, but give only poor results",
L"Regular troops are common an don't give you high rewards.",
L"Regular troops are common and don't give you high rewards.",
L"If elite troops defect to you, they can become veteran militia.",
L"Interrogating enemy officers can lead you to find enemy generals.",
L"Generals cannot join your militia, but lead to high ransoms.",
L"Civilians don't offer much resistance, but are second-rate troops at best.",
L"Cancel",
};
@@ -3573,8 +3575,18 @@ STR16 pwTownInfoStrings[] =
L"Szkolenie cywili", // 10 // state of civilian training in town
L"Samoobrona", // the state of the trained civilians in the town
L"Mobile Training", // HEADROCK HAM 3.6: The stat of Mobile militia training in town // TODO.Translate
L"Prisoners", // Flugente: display number of prisoners // TODO.Translate
L"%d/%d - %dA %dR %dE %dO %dG", // TODO.Translate // Info: Total # of prisoners/capacity - # of Admins # of Regulars # of Elites # of Officers # of Generals
// Flugente: prisoner texts // TODO.Translate
L"Prisoners",
L"%d (capacity %d)",
L"%d Admins",
L"%d Regulars",
L"%d Elites",
L"%d Officers",
L"%d Generals",
L"%d Civilians",
L"%d Special1",
L"%d Special2",
};
// Mine strings
@@ -8154,7 +8166,7 @@ STR16 szFoodTextStr[]=
// TODO.Translate
STR16 szPrisonerTextStr[]=
{
L"%d officers, %d elites, %d regulars and %d admins were interrogated.",
L"%d officers, %d elites, %d regulars, %d admins, %d generals and %d civilians were interrogated.", // TODO.Translate
L"%d prisoners paid ransom money.",
L"%d prisoners revealed enemy positions.",
L"%d officers, %d elites, %d regulars and %d admins joined our cause.",
@@ -8167,6 +8179,8 @@ STR16 szPrisonerTextStr[]=
L"This behaviour is set OFF in your ini settings.",
L"%s has freed %s!",
L"A prisoner revealed the location of a high-ranking army officer in %s!", // TODO.Translate
L"The enemy leader refuses to even consider surrender!",
L"%d prisoners volunteered to join our forces.",
};
STR16 szMTATextStr[]= // TODO.Translate
+18 -4
View File
@@ -2277,16 +2277,18 @@ STR16 pPrisonerMenuStrings[] = // TODO.Translate
L"Interrogate elites",
L"Interrogate officers",
L"Interrogate generals",
L"Interrogate civilians",
L"Cancel",
};
STR16 pPrisonerMenuDescStrings[] = // TODO.Translate
{
L"Administrators are easy to process, but give only poor results",
L"Regular troops are common an don't give you high rewards.",
L"Regular troops are common and don't give you high rewards.",
L"If elite troops defect to you, they can become veteran militia.",
L"Interrogating enemy officers can lead you to find enemy generals.",
L"Generals cannot join your militia, but lead to high ransoms.",
L"Civilians don't offer much resistance, but are second-rate troops at best.",
L"Cancel",
};
@@ -3561,8 +3563,18 @@ STR16 pwTownInfoStrings[] =
L"Тренировка ополчения", // 10 // state of civilian training in town
L"Ополчение", // the state of the trained civilians in the town
L"Тренинг мобильных групп", // HEADROCK HAM 3.6: The stat of Mobile militia training in town //Mobile Training
L"Заключенные", // Flugente: display number of prisoners
L"%d/%d - %dA %dR %dE %dO %dG", // TODO.Translate // Info: Total # of prisoners/capacity - # of Admins # of Regulars # of Elites # of Officers # of Generals
// Flugente: prisoner texts // TODO.Translate
L"Заключенные",
L"%d (capacity %d)",
L"%d Admins",
L"%d Regulars",
L"%d Elites",
L"%d Officers",
L"%d Generals",
L"%d Civilians",
L"%d Special1",
L"%d Special2",
};
// Mine strings
@@ -8124,7 +8136,7 @@ STR16 szFoodTextStr[]=
STR16 szPrisonerTextStr[]=
{
L"%d офицеров, %d элитных солдат, %d рядовых и %d полицейских были допрошены.",
L"%d officers, %d elites, %d regulars, %d admins, %d generals and %d civilians were interrogated.", // TODO.Translate
L"%d пленных заплатили выкуп.",
L"%d пленных выдали расположение отрядов армии.",
L"%d офицеров, %d элитных солдат, %d рядовых и %d полицейских решили присоединиться к нам.",
@@ -8137,6 +8149,8 @@ STR16 szPrisonerTextStr[]=
L"Этот режим отключен в настройках.",
L"%s освободил %s!",
L"A prisoner revealed the location of a high-ranking army officer in %s!", // TODO.Translate
L"The enemy leader refuses to even consider surrender!",
L"%d prisoners volunteered to join our forces.",
};
STR16 szMTATextStr[]=