- Prisoners of war are now spawned in prison sectors. They have fitting dialogue etc. Harming them slightly lowers global loyalty. The roomnumbers are set in SectorNames.xml.

- Prisoner system: added ini options that allow display of surrender strength sum, and externalised surrender strength modifier. Proabilities for prisoner events were increased to more reasonable values.

git-svn-id: https://ja2svn.mooo.com/source/ja2_v1.13_data@1613 4f8fa57e-7814-0410-bad4-adc449f26b7c
This commit is contained in:
Flugente
2013-03-05 01:17:21 +00:00
parent a984ef3e96
commit 9a20b901b5
8 changed files with 135 additions and 19 deletions
+10 -4
View File
@@ -1303,7 +1303,7 @@ DISPLAY_SCOPE_MODES = TRUE
; external feeding
;------------------------------------------------------------------------------------------------------------------------------
; determines wether we can allow to feed guns externally. 0 = no external feeding 1= only fro other mercs 2 = from other mercs and dedicated slots from ourself
; determines wether we can allow to feed guns externally. 0 = no external feeding 1= only for other mercs 2 = from other mercs and dedicated slots from ourself
EXTERNAL_FEEDING = 2
;------------------------------------------------------------------------------------------------------------------------------
@@ -2462,6 +2462,12 @@ ALLOW_TAKE_PRISONERS = TRUE
; can you offer enemies a surrender option?
ENEMY_CAN_SURRENDER = TRUE
; display surrender values on asking for surrender. Helpful if you wonder why the enemy does no surrender at overhelming odds.
DISPLAY_SURRENDER_VALUES = TRUE
; the higher this value, the more superiority you need over the enemy for them to surrender. Range: 2.0 - 10.0
SURRENDER_MULTIPLIER = 5.0
; can you offer your own surrender to the enemy? This will not work while certain quests are active, or if the enemy already asked
; you to surrender, and you refused
PLAYER_CAN_ASK_TO_SURRENDER = TRUE
@@ -2470,10 +2476,10 @@ PLAYER_CAN_ASK_TO_SURRENDER = TRUE
PRISONER_RETURN_TO_ARMY_CHANCE = 50
; chance that interrogated soldiers decide to join your cause (they will be turned into militia)
PRISONER_DEFECT_CHANCE = 10
PRISONER_DEFECT_CHANCE = 25
; chance that interrogated soldiers can give info on enemy positions
PRISONER_INFO_BASECHANCE = 10
PRISONER_INFO_BASECHANCE = 25
; chance that interrogated soldiers detect a specific patrol (a soldier can detect only one max)
PRISONER_INFO_DETECT_CHANCE = 5
@@ -2485,7 +2491,7 @@ PRISONER_INFO_NUMBER_CHANCE = 30
PRISONER_INFO_DIRECTION_CHANCE = 40
; chance that interrogated soldiers get you ransom money
PRISONER_RANSOM_CHANCE = 10
PRISONER_RANSOM_CHANCE = 25
;******************************************************************************************************************************
;******************************************************************************************************************************
@@ -164,6 +164,7 @@ EventGlobal =
GLOBAL_LOYALTY_LOSE_SAM = 11,
GLOBAL_LOYALTY_QUEEN_BATTLE_WON = 12,
GLOBAL_LOYALTY_GRIZZLY_DEAD = 13,
GLOBAL_LOYALTY_PRISONERS_TORTURED = 14,
}
@@ -288,6 +289,11 @@ function HandleGlobalLoyaltyEvent( ubEventType, sSectorX, sSectorY, bSectorZ )
AffectAllTownsLoyaltyByDistanceFrom( iLoyaltyChange, sSectorX, sSectorY, bSectorZ )
end
elseif ubEventType == EventGlobal.GLOBAL_LOYALTY_PRISONERS_TORTURED then
iLoyaltyChange = -60
AffectAllTownsLoyaltyByDistanceFrom( iLoyaltyChange, sSectorX, sSectorY, bSectorZ )
end
end
+3 -2
View File
@@ -149,9 +149,10 @@
<Loyalty>0</Loyalty>
</NAME>
<NAME>
<!-- Prisoners of war the player keeps in his prison -->
<uiIndex>21</uiIndex>
<Enabled>0</Enabled>
<szGroup>Empty Slot21</szGroup>
<Enabled>1</Enabled>
<szGroup>Prisoner</szGroup>
<AddToBattle>0</AddToBattle>
<Loyalty>0</Loyalty>
</NAME>
+39
View File
@@ -163,6 +163,7 @@
<szDetailedExploredName>Chitzena Mine</szDetailedExploredName>
<sWaterType>1</sWaterType>
<usNaturalDirt>250</usNaturalDirt>
<usPrisonRoomNumber00>3</usPrisonRoomNumber00>
</SECTOR>
<SECTOR>
<SectorGrid>B3</SectorGrid>
@@ -479,6 +480,9 @@
<szDetailedExploredName>San Mona</szDetailedExploredName>
<sWaterType>1</sWaterType>
<usNaturalDirt>100</usNaturalDirt>
<usPrisonRoomNumber00>8</usPrisonRoomNumber00>
<usPrisonRoomNumber01>9</usPrisonRoomNumber01>
<usPrisonRoomNumber02>10</usPrisonRoomNumber02>
</SECTOR>
<SECTOR>
<SectorGrid>D6</SectorGrid>
@@ -950,6 +954,10 @@
<szDetailedExploredName>Cambria</szDetailedExploredName>
<sWaterType>1</sWaterType>
<usNaturalDirt>100</usNaturalDirt>
<usPrisonRoomNumber00>41</usPrisonRoomNumber00>
<usPrisonRoomNumber01>42</usPrisonRoomNumber01>
<usPrisonRoomNumber02>44</usPrisonRoomNumber02>
<usPrisonRoomNumber03>45</usPrisonRoomNumber03>
</SECTOR>
<SECTOR>
<SectorGrid>G10</SectorGrid>
@@ -1281,6 +1289,20 @@
<sWaterType>1</sWaterType>
<usNaturalDirt>100</usNaturalDirt>
<usCurfewValue>2</usCurfewValue>
<usPrisonRoomNumber00>38</usPrisonRoomNumber00>
<usPrisonRoomNumber01>39</usPrisonRoomNumber01>
<usPrisonRoomNumber02>40</usPrisonRoomNumber02>
<usPrisonRoomNumber03>41</usPrisonRoomNumber03>
<usPrisonRoomNumber04>42</usPrisonRoomNumber04>
<usPrisonRoomNumber05>43</usPrisonRoomNumber05>
<usPrisonRoomNumber06>44</usPrisonRoomNumber06>
<usPrisonRoomNumber07>45</usPrisonRoomNumber07>
<usPrisonRoomNumber08>46</usPrisonRoomNumber08>
<usPrisonRoomNumber09>47</usPrisonRoomNumber09>
<usPrisonRoomNumber10>48</usPrisonRoomNumber10>
<usPrisonRoomNumber11>49</usPrisonRoomNumber11>
<usPrisonRoomNumber12>50</usPrisonRoomNumber12>
<usPrisonRoomNumber13>51</usPrisonRoomNumber13>
</SECTOR>
<SECTOR>
<SectorGrid>I14</SectorGrid>
@@ -1389,6 +1411,22 @@
<szDetailedExploredName>Desert</szDetailedExploredName>
<sWaterType>0</sWaterType>
<usNaturalDirt>1000</usNaturalDirt>
<usPrisonRoomNumber00>5</usPrisonRoomNumber00>
<usPrisonRoomNumber01>6</usPrisonRoomNumber01>
<usPrisonRoomNumber02>7</usPrisonRoomNumber02>
<usPrisonRoomNumber03>8</usPrisonRoomNumber03>
<usPrisonRoomNumber04>9</usPrisonRoomNumber04>
<usPrisonRoomNumber05>10</usPrisonRoomNumber05>
<usPrisonRoomNumber06>11</usPrisonRoomNumber06>
<usPrisonRoomNumber07>12</usPrisonRoomNumber07>
<usPrisonRoomNumber08>13</usPrisonRoomNumber08>
<usPrisonRoomNumber09>14</usPrisonRoomNumber09>
<usPrisonRoomNumber10>15</usPrisonRoomNumber10>
<usPrisonRoomNumber11>16</usPrisonRoomNumber11>
<usPrisonRoomNumber12>17</usPrisonRoomNumber12>
<usPrisonRoomNumber13>18</usPrisonRoomNumber13>
<usPrisonRoomNumber14>19</usPrisonRoomNumber14>
<usPrisonRoomNumber15>20</usPrisonRoomNumber15>
</SECTOR>
<SECTOR>
<SectorGrid>J10</SectorGrid>
@@ -1957,6 +1995,7 @@
<szDetailedExploredName>Coastal, road</szDetailedExploredName>
<sWaterType>1</sWaterType>
<usNaturalDirt>140</usNaturalDirt>
<usPrisonRoomNumber00>3</usPrisonRoomNumber00>
</SECTOR>
<SECTOR>
<SectorGrid>N8</SectorGrid>
+48
View File
@@ -2389,6 +2389,54 @@ ENABLE_ALL_TERRORISTS = TRUE
ENABLE_ALL_WEAPON_CACHES = FALSE
;******************************************************************************************************************************
; Override each map's percent likelihood of an item appearing.
; Valid range = 0-100, where 0 uses the map values.
; (Mainly for modders, can possibly take the fun out of the game)
;******************************************************************************************************************************
MAP_ITEM_CHANCE_OVERRIDE = 0
;******************************************************************************************************************************
; Prisoner system
;******************************************************************************************************************************
; can you capture enemy soldiers?
ALLOW_TAKE_PRISONERS = TRUE
; can you offer enemies a surrender option?
ENEMY_CAN_SURRENDER = TRUE
; display surrender values on asking for surrender. Helpful if you wonder why the enemy does no surrender at overhelming odds.
DISPLAY_SURRENDER_VALUES = TRUE
; the higher this value, the more superiority you need over the enemy for them to surrender. Range: 2.0 - 10.0
SURRENDER_MULTIPLIER = 5.0
; can you offer your own surrender to the enemy? This will not work while certain quests are active, or if the enemy already asked
; you to surrender, and you refused
PLAYER_CAN_ASK_TO_SURRENDER = TRUE
; chance that released soldiers join the army again
PRISONER_RETURN_TO_ARMY_CHANCE = 50
; chance that interrogated soldiers decide to join your cause (they will be turned into militia)
PRISONER_DEFECT_CHANCE = 25
; chance that interrogated soldiers can give info on enemy positions
PRISONER_INFO_BASECHANCE = 25
; chance that interrogated soldiers detect a specific patrol (a soldier can detect only one max)
PRISONER_INFO_DETECT_CHANCE = 5
; chance that interrogated soldiers can give info on enemy numbers
PRISONER_INFO_NUMBER_CHANCE = 30
; chance that interrogated soldiers can give info on enemy movement directions
PRISONER_INFO_DIRECTION_CHANCE = 40
; chance that interrogated soldiers get you ransom money
PRISONER_RANSOM_CHANCE = 25
;******************************************************************************************************************************
;******************************************************************************************************************************
+14
View File
@@ -155,6 +155,8 @@ EventGlobal = {
GLOBAL_LOYALTY_GAIN_SAM = 10,
GLOBAL_LOYALTY_LOSE_SAM = 11,
GLOBAL_LOYALTY_QUEEN_BATTLE_WON = 12,
GLOBAL_LOYALTY_GRIZZLY_DEAD = 13,
GLOBAL_LOYALTY_PRISONERS_TORTURED = 14,
}
@@ -272,6 +274,18 @@ local iLoyaltyChange = 0
iLoyaltyChange = -250
AffectAllTownsLoyaltyByDistanceFrom( iLoyaltyChange, sSectorX, sSectorY, bSectorZ )
elseif ubEventType == EventGlobal.GLOBAL_LOYALTY_GRIZZLY_DEAD then
if ( CheckMercIsDead(3) == false ) then
iLoyaltyChange = 1000
AffectAllTownsLoyaltyByDistanceFrom( iLoyaltyChange, sSectorX, sSectorY, bSectorZ )
end
elseif ubEventType == EventGlobal.GLOBAL_LOYALTY_PRISONERS_TORTURED then
iLoyaltyChange = -60
AffectAllTownsLoyaltyByDistanceFrom( iLoyaltyChange, sSectorX, sSectorY, bSectorZ )
end
end
+15 -13
View File
@@ -141,19 +141,21 @@
<Loyalty>1</Loyalty>
</NAME>
<NAME>
<uiIndex>20</uiIndex>
<Enabled>0</Enabled>
<szGroup>Empty Slot20</szGroup>
<AddToBattle>0</AddToBattle>
<Loyalty>0</Loyalty>
</NAME>
<NAME>
<uiIndex>21</uiIndex>
<Enabled>0</Enabled>
<szGroup>Empty Slot21</szGroup>
<AddToBattle>0</AddToBattle>
<Loyalty>0</Loyalty>
</NAME>
<!-- This is the group assassins use, thus the name -->
<uiIndex>20</uiIndex>
<Enabled>0</Enabled>
<szGroup>Militia</szGroup>
<AddToBattle>0</AddToBattle>
<Loyalty>0</Loyalty>
</NAME>
<NAME>
<!-- Prisoners of war the player keeps in his prison -->
<uiIndex>21</uiIndex>
<Enabled>1</Enabled>
<szGroup>Prisoner</szGroup>
<AddToBattle>0</AddToBattle>
<Loyalty>0</Loyalty>
</NAME>
<NAME>
<uiIndex>22</uiIndex>
<Enabled>0</Enabled>
Binary file not shown.