diff --git a/gamedir/Data-1.13/Ja2_Options.INI b/gamedir/Data-1.13/Ja2_Options.INI
index 68b46997c..4788dbf67 100644
--- a/gamedir/Data-1.13/Ja2_Options.INI
+++ b/gamedir/Data-1.13/Ja2_Options.INI
@@ -943,4 +943,413 @@ USE_ENHANCED_DESCRIPTION_BOX = 0
;******************************************************************************************************************************
; Use the file "prof.dat" for all difficult settings instead of the specific ones.
;******************************************************************************************************************************
-ALWAYS_USE_PROF_DAT = FALSE
\ No newline at end of file
+ALWAYS_USE_PROF_DAT = FALSE
+
+
+[JA2 HAM Settings]
+
+;******************************************************************************************************************************
+; HEADROCK: Increases or decreases (by percentage) the amount of cash that mines generate every day. Set to 100 for normal
+; JA2 profits. This value goes all the way up to 65535%, but that's not recommended.
+;
+; This value can be set as low as 1%. Setting it to 0 will automatically default to 1%, as otherwise it'll crash your game.
+;******************************************************************************************************************************
+
+MINE_INCOME_PERCENTAGE = 100
+
+;******************************************************************************************************************************
+; HEADROCK: H.A.M modification. Externalized the minimum and maximum possible CTH value for any attack.
+; Maximum and minimum values go from 0 to 100.
+; Divisor only works when minimum is 0.
+; The divisor allows us to define a minimum CTH which is between 0 and 1. If we get 0 CTH, then the program rolls a random
+; number between 1 and the value of the Divisor. If a 1 is rolled, we get a CTH of 1, otherwise the CTH is 0. So the divisor
+; actually gives us a certain chance to have a chance (CTH 1). The larger the divisor, the slimmer that chance.
+;
+; The normal chance (Minimum CTH 1, Divisor irrelevant) gives a statistical minimum chance to hit of 1 bullet in every 100.
+; With Divisor 1 (Minimum CTH 0, for the divisor to take effect), we also get a statistical minimum chance to hit of 1 bullet in every
+; 100.
+; With Divisor 2, we get a 1/200 ratio.
+; With Divisor 10, we get a 1/1000 ratio. And so on.
+;******************************************************************************************************************************
+
+MAXIMUM_POSSIBLE_CTH = 99
+MINIMUM_POSSIBLE_CTH = 0
+MINIMUM_CTH_DIVISOR = 100
+
+;******************************************************************************************************************************
+; HEADROCK: Allow restricted militia to move through visited sectors regardless of XML restrictions?
+; Requires RESTRICT_ROAMING to be TRUE (in the regular JA2_Options.INI file).
+;******************************************************************************************************************************
+
+ALLOW_RESTRICTED_MILITIA_THROUGH_VISITED_SECTORS = FALSE
+
+;******************************************************************************************************************************
+; HEADROCK: Allow restricted militia to adhere to a hardcoded plan which allows them to move based on which cities have
+; been liberated?
+; Requires RESTRICT_ROAMING to be TRUE (in the regular JA2_Options.INI file), but overrides XML definitions.
+;******************************************************************************************************************************
+
+ALLOW_DYNAMIC_RESTRICTED_ROAMING = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: Enable Suppression Bugfix/feature.
+;
+; This feature corrects the game's suppression. It allows suppressing enemies more than once-in-a-lifetime.
+; 0 = Bugfix deactivated. Any enemy/militia/merc can only be suppressed ONCE, and can never again be suppressed, EVER.
+; 1 = The suppression counter is cleared at the start of the character's turn.
+; 2 = The suppression counter is cleared at the end of any attack, so each attack can potentially add more and more suppression.
+;
+;******************************************************************************************************************************
+
+CLEAR_SUPPRESSION_COUNTER = 1
+
+;******************************************************************************************************************************
+; HEADROCK: Controls how powerful suppression fire is. This is a percentage on the number of Suppression Points each combatant
+; gets at the end of the attack.
+;
+; 100 = Normal
+; 0 = No suppression at all.
+;
+; This value can be raised to 65535... But don't. Values over 200 are already excessive.
+;******************************************************************************************************************************
+
+SUPPRESSION_EFFECTIVENESS = 120
+
+;******************************************************************************************************************************
+; HEADROCK: Limit how many APs can be lost per attack/turn. Default value is 8 (like the original JA2 code)
+; Set to 0 to remove the limit (suppression will not be limited in the number of APs it can drain). Either value can be set
+; to 0 independently.
+;
+; Range is 0 to 255. I wouldn't raise it that far if I were you, though. Could cause crashes.
+;
+;******************************************************************************************************************************
+
+MAX_SUPPRESSION_AP_LOSS_PER_TURN = 50
+
+MAX_SUPPRESSION_AP_LOSS_PER_ATTACK = 16
+
+;******************************************************************************************************************************
+; HEADROCK: This is the absolute minimum number of APs a character can reach due to suppression. Naturally, it can be negative
+; (negative values carry over to the next turn).
+;
+; Range = -128 to +128. Of course, a value of 20 or more would probably render suppression useless. Keep a bit below 0 for best
+; results.
+;******************************************************************************************************************************
+
+MIN_LIMIT_SUPPRESSION_AP_LOSS = -25
+
+;******************************************************************************************************************************
+; HEADROCK: Turn Suppression Shock on and off. Suppression shock is a feature that causes any suppressed characters to
+; become much less effective (most importantly, they lose CTH). The more suppressed a character is, the worse their shock
+; will be, up to a certain amount. Shock clears away with time (it is halved at the start of each turn).
+;
+; FALSE = No Suppression Shock.
+; TRUE = activated.
+;******************************************************************************************************************************
+
+SUPPRESSION_SHOCK = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: This controls the magnitude of Suppression Shock. Raise this higher to cause more shock to enemies, lower to
+; cause less shock. Regardless of choice, the character's level and morale will still affect how much shock they get compared
+; to other characters. Also, this has no effect on the actual limit of shock - that'll always be around 15 shock points
+; (resulting in 75% CTH reduction!). Higher magnitude will cause shock to happen faster (Requiring less suppression to reach
+; the limit), but please note that very high suppression may cause a character to surpass the limit and take a while before they
+; can even fire a shot again at more than minimum CTH.
+;
+; Range is 0 (no suppression shock) to 65535 (65535% effect). 100 is "normal" effect.
+; PLEASE PLEASE don't mess around - use values no higher than 300%, otherwise you risk throwing game balance out of whack.
+; Heck, even 200% may be very powerful indeed. 100% is pretty optimal as I see it, anyway.
+;******************************************************************************************************************************
+
+SUPPRESSION_SHOCK_EFFECTIVENESS = 100
+
+;******************************************************************************************************************************
+; HEADROCK: This controls the amount of CTH lost when aiming at a prone or crouched target that is affected by shock. This goes
+; to simulate the target cowering in fear behind any possible obstacle, lowering their profile as much as they can.
+;
+; The effect when the target is crouched is 1/3 of the full value.
+;
+; Set to 0 to turn off "Cowering". By doing so, you'll also reduce the frequency of enemies dropping - the trained mercs will
+; still drop, but will also remain more accurate.
+;******************************************************************************************************************************
+
+AIM_PENALTY_PER_TARGET_SHOCK = 2
+
+;******************************************************************************************************************************
+; HEADROCK: If this percentage value is increased above 0, it will affect the amount of suppression a character receives when
+; "Cowering". At 100, cowering has no extra effect on suppression (same as 0). At 50, suppression only affects that character
+; half as much. Optimally, you'd want to set this above 100, so that "Cowering" characters (meaning, people who have been
+; successfully scared by the volley) would lose a lot more APs due to the suppressive volley than those who simply want to get
+; out of the way. They will subsequently also become more shocked.
+;******************************************************************************************************************************
+
+COWER_EFFECT_ON_SUPPRESSION = 150
+
+;******************************************************************************************************************************
+; HEADROCK: This controls how many APs must be lost due to suppression, in order to get a 1-point drop in Morale. JA2 1.13
+; default is 2 AP per morale loss. Set this higher to reduce the effect of suppression on morale (helps prevent enemies running
+; away too soon after being suppressed).
+;******************************************************************************************************************************
+
+AP_LOST_PER_MORALE_DROP = 3
+
+;******************************************************************************************************************************
+; HEADROCK: The next three settings control realistic tracer fire.
+;
+; REALISTIC_TRACERS: Toggle Realistic Tracers.
+; 0 = off (regular tracers).
+; 1 = Fully realistic tracers - cause CTH bumps but no autofire penalty reduction.
+; 2 = Tracer Bump + 1.13 (repaired!) Autofire Penalty Reduction
+;
+; NUM_BULLETS_PER_TRACER: Controls the ratio between regular and tracer bullets in any magazine. 0 = no tracers. 1 = every bullet
+; is a tracer. 2 = bullets #2, #4, #6 etc. in the magazine are tracers.
+;
+; CTH_BUMP_PER_TRACER: Controls size of the CTH bonus given when a tracer is fired. Base bump equals to the current autofire
+; penalty suffered from autofire, and that is directly modified by the value of the bump. Values around -30000 to +30000, but
+; seriously, keep it around 20, willya?
+;
+;******************************************************************************************************************************
+
+REALISTIC_TRACERS = 2
+
+NUM_BULLETS_PER_TRACER = 5
+
+CTH_BUMP_PER_TRACER = 10
+
+;******************************************************************************************************************************
+; HEADROCK: New scope aiming time system, increases AP costs for use of scopes (TRUE/FALSE)
+;
+; Any aiming (with/without scope) = +1/2 of the weapon's draw cost
+; Any aiming with a scope = +1 AP for the first aiming level only.
+; Aiming level 1-4 = increased by 1 AP per aiming point as normal
+; Aiming level 5-6 = 4 AP + 2 for each aiming point beyond 4
+; Aiming level 7-8 = 8 AP + 3 for each aiming point beyond 6
+;******************************************************************************************************************************
+
+INCREASED_AIM_COST = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: The number of aiming levels you can get with a gun is limited by several factors, including gun type, scope type,
+; and bipod use.(TRUE/FALSE)
+;
+; Please note - this can be toggled via the Options Menu in the same way that today's 4/6/8 restrictions do.
+;******************************************************************************************************************************
+
+DYNAMIC_AIM_LIMITS = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: How much CTH is lost per tile moved by the target? (JA2 Default is 1.5 per tile).
+; Please note, the maximum CTH loss is 30, no matter how high you set this.
+;******************************************************************************************************************************
+
+MOVEMENT_EFFECT_ON_AIMING = 2.5
+
+;******************************************************************************************************************************
+; HEADROCK: This is a hack to globally increase all AutofireBullets/5AP values of all weapons. Can't take negative values too,
+; but won't lower B/5AP below 0.
+; 0 = No change from normal
+; 1 = Add 1 bullet per 5 APs to all weapons that have autofire.
+;
+;******************************************************************************************************************************
+
+AUTOFIRE_BULLETS_PER_5AP_MODIFIER = 1
+
+;******************************************************************************************************************************
+; HEADROCK: This determines how important luck is in combat, compared to actual skills. JA2 Vanilla is 2.0 (luck as important
+; as skills). Lower this value to reply more on skills, raise to rely more on luck. Values below 1.0 default to 1.0.
+;******************************************************************************************************************************
+
+AUTORESOLVE_LUCK_FACTOR = 1.0
+
+;******************************************************************************************************************************
+; HEADROCK: This controls how much suppression shock can be sustained by a target. This limit may be breached, but the program
+; will try to stay below it most of the time. Changing this value will also affect suppression shock itself (similar to the
+; above "suppression shock effectiveness" value. The two values are not mutually exclusive, they work independently. Also note
+; that lowering this may render some characters immune to suppression shock, especially if you're using a value of 24 or less.
+;******************************************************************************************************************************
+
+MAXIMUM_SUPPRESSION_SHOCK = 30
+
+;******************************************************************************************************************************
+; HEADROCK: Toggles new CTH bars for Burst and Autofire.
+; 0 = No new CTH bars.
+; 1 = New Burst and Autofire CTH bars
+; 2 = New Burst CTH Bars only
+; 3 = New Autofire CTH Bars only
+;******************************************************************************************************************************
+
+NEW_BURST-AUTO_CTH_BARS = 1
+
+;******************************************************************************************************************************
+; HEADROCK: Makes enemy behaviour better in games where suppression is powerful. Turn this off if you've set low suppression
+; values above. Otherwise, you'll want to turn this on, otherwise the AI will be very stupid about suppressing you, and about
+; running away from suppression fire.
+;******************************************************************************************************************************
+
+INCREASE_AI_WILLINGNESS_TO_SUPPRESS = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: You can now adjust how quickly you'll advance in the various skills, attributes, and Experience Level. This is the
+; number of "sub-points" you need to acquire to gain a new level. JA2 defaults are:
+; Skills: 25 Sub-Points to advance
+; Attribs: 50 Sub-Points to advance
+; ExpLevel: 350 Sub-Points (times the current experience level) to advance.
+;
+; Double the values, and progression will get become as slow. Half them, it becomes twice as fast.
+; Please note that an ExpLevel value of more than 6500 will be counted as 6500!!
+;
+; Note: Lowering any of these numbers in the middle of a campaign may cause an immediate "jump" of stats as it does NOT clear
+; the number of sub-points already accumulated. If you're going to reduce the values, please do so BEFORE starting a new
+; campaign, or suffer(??) the consequences!!
+;******************************************************************************************************************************
+
+SKILLS_SUBPOINTS_TO_IMPROVE = 25
+ATTRIBS_SUBPOINTS_TO_IMPROVE = 50
+LEVEL_SUBPOINTS_TO_IMPROVE = 350
+
+;******************************************************************************************************************************
+; HEADROCK: When this is set to TRUE, it will change the way that the CTH Bar and "F" key feedback report our CTH. Based on
+; the characters' Experience Level, Wisdom, Marksmanship and Sniper Skill (if any), the program will decide how accurate our
+; CTH feedback would be. An untrained character will see CTH jump between fewer "stations" than 100 (the normal). A very trained
+; character will see the exact results.
+;******************************************************************************************************************************
+
+APPROXIMATE_CTH = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: This setting controls whether Roaming Militia can move through "minor cities", I.E. any sector that contains a
+; city square where militia cannot be trained (for instance, San Mona). Militia can only attack enemies in such sectors if they
+; have already been liberated once in the past.
+;
+; In the JA2 campaign, this allows travel through:
+; San Mona, Tixa, Orta, Estoni, and Omerta.
+;
+; For this feature to work, "RESTRICT_ROAMING" (in JA2_Options.INI) and at least one of the militia restriction options in this INI
+; must be set to TRUE.
+;******************************************************************************************************************************
+
+ALLOW_MILITIA_MOVE_THROUGH_MINOR_CITIES = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: The Smart Roaming Militia Generator is better at placing newly trained Roaming Militia. If there is no room around
+; the sector where the roamers are being trained, it'll place the new group in any city-perimeter sector where they CAN be trained
+; safely. Militia training will only be wasted if there are NO available spaces anywhere around the city.
+;
+; To use this function, both "ALLOW_MILITIA_MOBILE_GROUPS" and "MUST_TRAIN_MOBILE_MILITIA" must be set to TRUE (in
+; JA2_Options.INI)
+;******************************************************************************************************************************
+
+SMART_ROAMING_MILITIA_GENERATOR = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: With this turned on, the groups of roaming militia that are generated will contain 25% veterans, 25% regulars, and
+; the rest will be Green. If new Roaming Militia is generated into a sector already containing the maximum number of militia
+; allowed, it will upgrade some of them from green to regular and from regular to elite, based on the same principle.
+;
+; To use this function, both "ALLOW_MILITIA_MOBILE_GROUPS" must be set to TRUE (in JA2_Options.INI)
+;******************************************************************************************************************************
+
+DIVERSE_ROAMING_MILITIA_GROUPS = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: This is the chance for roaming militia groups to "average out" with one another. When a militia group moves into
+; another militia group, and the chance roll is successful, the two groups will even out in the number of militia between them.
+; If the roll fails, one group will fill up, while the other disappears or gets the leftovers.
+;
+; Range 0 to 100.
+; 0 = JA2 default, militia will always try to join up into the largest groups possible.
+; 100 = Militia will always average out with one another, eventually spreading out in groups of half the maximum size over a
+; large area. Naturally, if you keep training militia, they'll eventually fill up, but until then they will try to stay average
+; with each other as much as possible.
+; 50 = Militia will join up into large groups only half of the time. This will create a situation where there are several large
+; groups of militia in different places at different times, while most groups are smaller.
+;******************************************************************************************************************************
+
+ROAMING_MILITIA_SPREADOUT_CHANCE = 50
+
+;******************************************************************************************************************************
+; HEADROCK: It is now possible to set the amount of CTH penalty given to someone who's firing on a cowering target, based on
+; stance and the targetted bodypart. The full CTH penalty is divided by X, where X is the value you set here. The HAM defaults
+; are 1 for prone, 3 for crouched head, 4 for crouched torso, and 5 for crouched legs.
+;
+; Range: 1 to 255
+; Naturally, you'll want to set "AIM_PENALTY_PER_TARGET_SHOCK" above 0 for this to work, otherwise there's no effect from
+; cowering at all.
+;******************************************************************************************************************************
+
+CTH_PENALTY_FOR_COWERING_PRONE_TARGET_DIVISOR = 1
+CTH_PENALTY_FOR_COWERING_CROUCHED_TARGET_HEAD_DIVISOR = 3
+CTH_PENALTY_FOR_COWERING_CROUCHED_TARGET_TORSO_DIVISOR = 4
+CTH_PENALTY_FOR_COWERING_CROUCHED_TARGET_LEGS_DIVISOR = 5
+
+;******************************************************************************************************************************
+; HEADROCK: This is the maximum range (in METERS, not tiles!) at which a cowering target gives the full CTH penalty. If the
+; shooter is any closer than this, he will receive a proportionally lower penalty.
+;
+; Range: 10 (1 tile) to 65535 (655 tiles). HAM Default is 100 (10 tiles). If you want engagements at greater range to be
+; possible set this higher (200 should be nice. 300 tactically resembles JA2, sort of).
+;
+; Naturally, you'll want to set "AIM_PENALTY_PER_TARGET_SHOCK" above 0 for this to work, otherwise there's no effect from
+; cowering at all.
+;******************************************************************************************************************************
+
+MIN_RANGE_FOR_FULL_COWERING_TARGET_PENALTY = 100
+
+;******************************************************************************************************************************
+; HEADROCK: These are the maximum possible CTH penalties we can get from cowering.
+;
+; MAX_SHOOTER_COWERING_PENALTY: The maximum possible CTH loss we would suffer if we're cowering and heavily suppressed/injured.
+; MAX_TARGET_COWERING_PENALTY: The maximum possible CTH loss that a cowering target can dish out to anyone who shoots at it.
+;
+; Range: 0 to 65535. A value of 0 means that there is no flat limit (except what's imposed by other limits for suppression shock
+; and cowering, if applicable)
+;******************************************************************************************************************************
+
+MAX_SHOOTER_COWERING_PENALTY = 0
+MAX_TARGET_COWERING_PENALTY = 0
+
+;******************************************************************************************************************************
+; HEADROCK: This setting determines whether militia can drop their equipment when they die, like enemies do.
+;
+; 0 = JA2 Default. Militia can't drop any equipment.
+; 1 = Militia can drop equipment only if they've been killed by enemies/civilians/other militia (but not by mercs!)
+; 2 = Militia can drop their equipment regardless of who killed them.
+;
+; The "ENEMIES DROP ALL" ingame options-menu setting affects the items dropped by militia just like it does for enemies. When
+; turned on, Militia will drop everything they're carrying. When turned off, they'll drop their equipment randomly
+; (or none at all).
+;******************************************************************************************************************************
+
+MILITIA_DROP_EQUIPMENT = 1
+
+;******************************************************************************************************************************
+; HEADROCK: Two settings to synchronize the sleep/wake periods of Trainers and Students in the same sector.
+;
+; 0 = Disabled. Mercs will go to sleep / wake up regardless of what their trainer/students are doing.
+; 2 = Students will sleep/wake if their trainer has gone to sleep or woke up.
+; 3 = Trainers will sleep/wake if all their students have gone to sleep or woken up.
+; 1 = Both options on.
+;
+; Different combinations may cause training to function differently from what you'd expect. I suggest setting both of these to
+; 1, or both to 0, but feel free to experiment.
+;******************************************************************************************************************************
+
+SMART_TRAINING-SLEEP_HANDLER = 1
+SMART_TRAINING-WAKE_HANDLER = 1
+
+;******************************************************************************************************************************
+; HEADROCK: This setting controls whether trainers/students will get tired even if there's no one awake for to work with them.
+;
+; 0 = Disabled (JA2 Default). Mercs training/studying will always tire when they are awake.
+; 2 = Trainers will not become tired if they are awake while all their students are asleep. In fact, they are considered
+; "Resting", and will regain their fatigue back slowly until at least one student wakes up.
+; 3 = Trainees will not lose fatigue if they are awake while the trainer is asleep. In fact, they are considered
+; "Resting", and will regain their fatigue back slowly until the trainer wakes up.
+; 1 = Both options on.
+;
+; Notice that if set to 1 or 3, students will NOT study while all trainers are asleep! They'll only study if there's a
+; trainer awake to work with them. However, they will rest until the trainer awakes, so fatigue isn't lost while they wait.
+;******************************************************************************************************************************
+
+SMART_TRAINING_REST = 1
\ No newline at end of file
diff --git a/gamedir/Data-1.13/TableData/Map/RestrictedRoamingMilitia.xml b/gamedir/Data-1.13/TableData/Map/RestrictedRoamingMilitia.xml
index c8e8f2e38..9a87f83c9 100644
--- a/gamedir/Data-1.13/TableData/Map/RestrictedRoamingMilitia.xml
+++ b/gamedir/Data-1.13/TableData/Map/RestrictedRoamingMilitia.xml
@@ -10,72 +10,124 @@ Up to 256 sectors (all of them) can be listed here though.
-->
+ A4
+ A5
+ A6
+ A7
+ A8
+ A9
+ A10
A11
A15
+ A16
+ B4
+ B5
+ B6
+ B7
+ B8
+ B9
+ B10
B11
B15
+ B16
+ C4
+ C5
+ C6
+ C7
+ C8
+ C9
+ C10
C11
C15
- D11
- D15
- E11
- E15
- F11
- F12
- F13
- F14
- F15
+ C16
D1
D2
D3
D4
- A4
- B4
- C4
- E1
- E2
- E3
- E4
- F4
- F5
- G5
- H5
- I5
- J1
- J2
- J3
- J4
- J5
+ D5
D6
D7
D8
D9
D10
+ D11
+ D15
+ D16
+ E1
+ E2
+ E3
+ E4
+ E5
E6
+ E11
+ E15
+ F4
+ F5
F6
+ F11
+ F12
+ F13
+ F14
+ F15
+ G5
G6
G11
+ G16
+ H5
H6
H11
+ H16
+ I5
I6
+ I8
I10
I11
+ I16
+ J1
+ J2
+ J3
+ J4
+ J5
J6
J7
J8
J9
J10
+ J11
+ J16
+ K1
+ K2
+ K3
+ K4
+ K5
+ K6
+ K7
+ K8
K9
- L9
- M9
- N9
- O9
- P9
K14
- L14
- M14
K15
- G16
- H16
- I16
+ L1
+ L2
+ L3
+ L4
+ L5
+ L6
+ L7
+ L8
+ L9
+ L14
+ L15
+ M1
+ M7
+ M8
+ M9
+ M14
+ N7
+ N8
+ N9
+ N10
+ O8
+ O9
+ P8
+ P9
\ No newline at end of file
diff --git a/gamedir/Data/CURSORS/CUR_TR.STI b/gamedir/Data/CURSORS/CUR_TR.STI
new file mode 100644
index 000000000..d711f41b2
Binary files /dev/null and b/gamedir/Data/CURSORS/CUR_TR.STI differ
diff --git a/gamedir/Data/Ja2_Options.INI b/gamedir/Data/Ja2_Options.INI
index a588de7c5..e763eef2d 100644
--- a/gamedir/Data/Ja2_Options.INI
+++ b/gamedir/Data/Ja2_Options.INI
@@ -942,3 +942,412 @@ USE_ENHANCED_DESCRIPTION_BOX = 0
; Use the file "prof.dat" for all difficult settings instead of the specific ones.
;******************************************************************************************************************************
ALWAYS_USE_PROF_DAT = FALSE
+
+
+[JA2 HAM Settings]
+
+;******************************************************************************************************************************
+; HEADROCK: Increases or decreases (by percentage) the amount of cash that mines generate every day. Set to 100 for normal
+; JA2 profits. This value goes all the way up to 65535%, but that's not recommended.
+;
+; This value can be set as low as 1%. Setting it to 0 will automatically default to 1%, as otherwise it'll crash your game.
+;******************************************************************************************************************************
+
+MINE_INCOME_PERCENTAGE = 100
+
+;******************************************************************************************************************************
+; HEADROCK: H.A.M modification. Externalized the minimum and maximum possible CTH value for any attack.
+; Maximum and minimum values go from 0 to 100.
+; Divisor only works when minimum is 0.
+; The divisor allows us to define a minimum CTH which is between 0 and 1. If we get 0 CTH, then the program rolls a random
+; number between 1 and the value of the Divisor. If a 1 is rolled, we get a CTH of 1, otherwise the CTH is 0. So the divisor
+; actually gives us a certain chance to have a chance (CTH 1). The larger the divisor, the slimmer that chance.
+;
+; The normal chance (Minimum CTH 1, Divisor irrelevant) gives a statistical minimum chance to hit of 1 bullet in every 100.
+; With Divisor 1 (Minimum CTH 0, for the divisor to take effect), we also get a statistical minimum chance to hit of 1 bullet in every
+; 100.
+; With Divisor 2, we get a 1/200 ratio.
+; With Divisor 10, we get a 1/1000 ratio. And so on.
+;******************************************************************************************************************************
+
+MAXIMUM_POSSIBLE_CTH = 99
+MINIMUM_POSSIBLE_CTH = 0
+MINIMUM_CTH_DIVISOR = 100
+
+;******************************************************************************************************************************
+; HEADROCK: Allow restricted militia to move through visited sectors regardless of XML restrictions?
+; Requires RESTRICT_ROAMING to be TRUE (in the regular JA2_Options.INI file).
+;******************************************************************************************************************************
+
+ALLOW_RESTRICTED_MILITIA_THROUGH_VISITED_SECTORS = FALSE
+
+;******************************************************************************************************************************
+; HEADROCK: Allow restricted militia to adhere to a hardcoded plan which allows them to move based on which cities have
+; been liberated?
+; Requires RESTRICT_ROAMING to be TRUE (in the regular JA2_Options.INI file), but overrides XML definitions.
+;******************************************************************************************************************************
+
+ALLOW_DYNAMIC_RESTRICTED_ROAMING = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: Enable Suppression Bugfix/feature.
+;
+; This feature corrects the game's suppression. It allows suppressing enemies more than once-in-a-lifetime.
+; 0 = Bugfix deactivated. Any enemy/militia/merc can only be suppressed ONCE, and can never again be suppressed, EVER.
+; 1 = The suppression counter is cleared at the start of the character's turn.
+; 2 = The suppression counter is cleared at the end of any attack, so each attack can potentially add more and more suppression.
+;
+;******************************************************************************************************************************
+
+CLEAR_SUPPRESSION_COUNTER = 1
+
+;******************************************************************************************************************************
+; HEADROCK: Controls how powerful suppression fire is. This is a percentage on the number of Suppression Points each combatant
+; gets at the end of the attack.
+;
+; 100 = Normal
+; 0 = No suppression at all.
+;
+; This value can be raised to 65535... But don't. Values over 200 are already excessive.
+;******************************************************************************************************************************
+
+SUPPRESSION_EFFECTIVENESS = 120
+
+;******************************************************************************************************************************
+; HEADROCK: Limit how many APs can be lost per attack/turn. Default value is 8 (like the original JA2 code)
+; Set to 0 to remove the limit (suppression will not be limited in the number of APs it can drain). Either value can be set
+; to 0 independently.
+;
+; Range is 0 to 255. I wouldn't raise it that far if I were you, though. Could cause crashes.
+;
+;******************************************************************************************************************************
+
+MAX_SUPPRESSION_AP_LOSS_PER_TURN = 50
+
+MAX_SUPPRESSION_AP_LOSS_PER_ATTACK = 16
+
+;******************************************************************************************************************************
+; HEADROCK: This is the absolute minimum number of APs a character can reach due to suppression. Naturally, it can be negative
+; (negative values carry over to the next turn).
+;
+; Range = -128 to +128. Of course, a value of 20 or more would probably render suppression useless. Keep a bit below 0 for best
+; results.
+;******************************************************************************************************************************
+
+MIN_LIMIT_SUPPRESSION_AP_LOSS = -25
+
+;******************************************************************************************************************************
+; HEADROCK: Turn Suppression Shock on and off. Suppression shock is a feature that causes any suppressed characters to
+; become much less effective (most importantly, they lose CTH). The more suppressed a character is, the worse their shock
+; will be, up to a certain amount. Shock clears away with time (it is halved at the start of each turn).
+;
+; FALSE = No Suppression Shock.
+; TRUE = activated.
+;******************************************************************************************************************************
+
+SUPPRESSION_SHOCK = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: This controls the magnitude of Suppression Shock. Raise this higher to cause more shock to enemies, lower to
+; cause less shock. Regardless of choice, the character's level and morale will still affect how much shock they get compared
+; to other characters. Also, this has no effect on the actual limit of shock - that'll always be around 15 shock points
+; (resulting in 75% CTH reduction!). Higher magnitude will cause shock to happen faster (Requiring less suppression to reach
+; the limit), but please note that very high suppression may cause a character to surpass the limit and take a while before they
+; can even fire a shot again at more than minimum CTH.
+;
+; Range is 0 (no suppression shock) to 65535 (65535% effect). 100 is "normal" effect.
+; PLEASE PLEASE don't mess around - use values no higher than 300%, otherwise you risk throwing game balance out of whack.
+; Heck, even 200% may be very powerful indeed. 100% is pretty optimal as I see it, anyway.
+;******************************************************************************************************************************
+
+SUPPRESSION_SHOCK_EFFECTIVENESS = 100
+
+;******************************************************************************************************************************
+; HEADROCK: This controls the amount of CTH lost when aiming at a prone or crouched target that is affected by shock. This goes
+; to simulate the target cowering in fear behind any possible obstacle, lowering their profile as much as they can.
+;
+; The effect when the target is crouched is 1/3 of the full value.
+;
+; Set to 0 to turn off "Cowering". By doing so, you'll also reduce the frequency of enemies dropping - the trained mercs will
+; still drop, but will also remain more accurate.
+;******************************************************************************************************************************
+
+AIM_PENALTY_PER_TARGET_SHOCK = 2
+
+;******************************************************************************************************************************
+; HEADROCK: If this percentage value is increased above 0, it will affect the amount of suppression a character receives when
+; "Cowering". At 100, cowering has no extra effect on suppression (same as 0). At 50, suppression only affects that character
+; half as much. Optimally, you'd want to set this above 100, so that "Cowering" characters (meaning, people who have been
+; successfully scared by the volley) would lose a lot more APs due to the suppressive volley than those who simply want to get
+; out of the way. They will subsequently also become more shocked.
+;******************************************************************************************************************************
+
+COWER_EFFECT_ON_SUPPRESSION = 150
+
+;******************************************************************************************************************************
+; HEADROCK: This controls how many APs must be lost due to suppression, in order to get a 1-point drop in Morale. JA2 1.13
+; default is 2 AP per morale loss. Set this higher to reduce the effect of suppression on morale (helps prevent enemies running
+; away too soon after being suppressed).
+;******************************************************************************************************************************
+
+AP_LOST_PER_MORALE_DROP = 3
+
+;******************************************************************************************************************************
+; HEADROCK: The next three settings control realistic tracer fire.
+;
+; REALISTIC_TRACERS: Toggle Realistic Tracers.
+; 0 = off (regular tracers).
+; 1 = Fully realistic tracers - cause CTH bumps but no autofire penalty reduction.
+; 2 = Tracer Bump + 1.13 (repaired!) Autofire Penalty Reduction
+;
+; NUM_BULLETS_PER_TRACER: Controls the ratio between regular and tracer bullets in any magazine. 0 = no tracers. 1 = every bullet
+; is a tracer. 2 = bullets #2, #4, #6 etc. in the magazine are tracers.
+;
+; CTH_BUMP_PER_TRACER: Controls size of the CTH bonus given when a tracer is fired. Base bump equals to the current autofire
+; penalty suffered from autofire, and that is directly modified by the value of the bump. Values around -30000 to +30000, but
+; seriously, keep it around 20, willya?
+;
+;******************************************************************************************************************************
+
+REALISTIC_TRACERS = 2
+
+NUM_BULLETS_PER_TRACER = 5
+
+CTH_BUMP_PER_TRACER = 10
+
+;******************************************************************************************************************************
+; HEADROCK: New scope aiming time system, increases AP costs for use of scopes (TRUE/FALSE)
+;
+; Any aiming (with/without scope) = +1/2 of the weapon's draw cost
+; Any aiming with a scope = +1 AP for the first aiming level only.
+; Aiming level 1-4 = increased by 1 AP per aiming point as normal
+; Aiming level 5-6 = 4 AP + 2 for each aiming point beyond 4
+; Aiming level 7-8 = 8 AP + 3 for each aiming point beyond 6
+;******************************************************************************************************************************
+
+INCREASED_AIM_COST = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: The number of aiming levels you can get with a gun is limited by several factors, including gun type, scope type,
+; and bipod use.(TRUE/FALSE)
+;
+; Please note - this can be toggled via the Options Menu in the same way that today's 4/6/8 restrictions do.
+;******************************************************************************************************************************
+
+DYNAMIC_AIM_LIMITS = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: How much CTH is lost per tile moved by the target? (JA2 Default is 1.5 per tile).
+; Please note, the maximum CTH loss is 30, no matter how high you set this.
+;******************************************************************************************************************************
+
+MOVEMENT_EFFECT_ON_AIMING = 2.5
+
+;******************************************************************************************************************************
+; HEADROCK: This is a hack to globally increase all AutofireBullets/5AP values of all weapons. Can't take negative values too,
+; but won't lower B/5AP below 0.
+; 0 = No change from normal
+; 1 = Add 1 bullet per 5 APs to all weapons that have autofire.
+;
+;******************************************************************************************************************************
+
+AUTOFIRE_BULLETS_PER_5AP_MODIFIER = 1
+
+;******************************************************************************************************************************
+; HEADROCK: This determines how important luck is in combat, compared to actual skills. JA2 Vanilla is 2.0 (luck as important
+; as skills). Lower this value to reply more on skills, raise to rely more on luck. Values below 1.0 default to 1.0.
+;******************************************************************************************************************************
+
+AUTORESOLVE_LUCK_FACTOR = 1.0
+
+;******************************************************************************************************************************
+; HEADROCK: This controls how much suppression shock can be sustained by a target. This limit may be breached, but the program
+; will try to stay below it most of the time. Changing this value will also affect suppression shock itself (similar to the
+; above "suppression shock effectiveness" value. The two values are not mutually exclusive, they work independently. Also note
+; that lowering this may render some characters immune to suppression shock, especially if you're using a value of 24 or less.
+;******************************************************************************************************************************
+
+MAXIMUM_SUPPRESSION_SHOCK = 30
+
+;******************************************************************************************************************************
+; HEADROCK: Toggles new CTH bars for Burst and Autofire.
+; 0 = No new CTH bars.
+; 1 = New Burst and Autofire CTH bars
+; 2 = New Burst CTH Bars only
+; 3 = New Autofire CTH Bars only
+;******************************************************************************************************************************
+
+NEW_BURST-AUTO_CTH_BARS = 1
+
+;******************************************************************************************************************************
+; HEADROCK: Makes enemy behaviour better in games where suppression is powerful. Turn this off if you've set low suppression
+; values above. Otherwise, you'll want to turn this on, otherwise the AI will be very stupid about suppressing you, and about
+; running away from suppression fire.
+;******************************************************************************************************************************
+
+INCREASE_AI_WILLINGNESS_TO_SUPPRESS = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: You can now adjust how quickly you'll advance in the various skills, attributes, and Experience Level. This is the
+; number of "sub-points" you need to acquire to gain a new level. JA2 defaults are:
+; Skills: 25 Sub-Points to advance
+; Attribs: 50 Sub-Points to advance
+; ExpLevel: 350 Sub-Points (times the current experience level) to advance.
+;
+; Double the values, and progression will get become as slow. Half them, it becomes twice as fast.
+; Please note that an ExpLevel value of more than 6500 will be counted as 6500!!
+;
+; Note: Lowering any of these numbers in the middle of a campaign may cause an immediate "jump" of stats as it does NOT clear
+; the number of sub-points already accumulated. If you're going to reduce the values, please do so BEFORE starting a new
+; campaign, or suffer(??) the consequences!!
+;******************************************************************************************************************************
+
+SKILLS_SUBPOINTS_TO_IMPROVE = 25
+ATTRIBS_SUBPOINTS_TO_IMPROVE = 50
+LEVEL_SUBPOINTS_TO_IMPROVE = 350
+
+;******************************************************************************************************************************
+; HEADROCK: When this is set to TRUE, it will change the way that the CTH Bar and "F" key feedback report our CTH. Based on
+; the characters' Experience Level, Wisdom, Marksmanship and Sniper Skill (if any), the program will decide how accurate our
+; CTH feedback would be. An untrained character will see CTH jump between fewer "stations" than 100 (the normal). A very trained
+; character will see the exact results.
+;******************************************************************************************************************************
+
+APPROXIMATE_CTH = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: This setting controls whether Roaming Militia can move through "minor cities", I.E. any sector that contains a
+; city square where militia cannot be trained (for instance, San Mona). Militia can only attack enemies in such sectors if they
+; have already been liberated once in the past.
+;
+; In the JA2 campaign, this allows travel through:
+; San Mona, Tixa, Orta, Estoni, and Omerta.
+;
+; For this feature to work, "RESTRICT_ROAMING" (in JA2_Options.INI) and at least one of the militia restriction options in this INI
+; must be set to TRUE.
+;******************************************************************************************************************************
+
+ALLOW_MILITIA_MOVE_THROUGH_MINOR_CITIES = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: The Smart Roaming Militia Generator is better at placing newly trained Roaming Militia. If there is no room around
+; the sector where the roamers are being trained, it'll place the new group in any city-perimeter sector where they CAN be trained
+; safely. Militia training will only be wasted if there are NO available spaces anywhere around the city.
+;
+; To use this function, both "ALLOW_MILITIA_MOBILE_GROUPS" and "MUST_TRAIN_MOBILE_MILITIA" must be set to TRUE (in
+; JA2_Options.INI)
+;******************************************************************************************************************************
+
+SMART_ROAMING_MILITIA_GENERATOR = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: With this turned on, the groups of roaming militia that are generated will contain 25% veterans, 25% regulars, and
+; the rest will be Green. If new Roaming Militia is generated into a sector already containing the maximum number of militia
+; allowed, it will upgrade some of them from green to regular and from regular to elite, based on the same principle.
+;
+; To use this function, both "ALLOW_MILITIA_MOBILE_GROUPS" must be set to TRUE (in JA2_Options.INI)
+;******************************************************************************************************************************
+
+DIVERSE_ROAMING_MILITIA_GROUPS = TRUE
+
+;******************************************************************************************************************************
+; HEADROCK: This is the chance for roaming militia groups to "average out" with one another. When a militia group moves into
+; another militia group, and the chance roll is successful, the two groups will even out in the number of militia between them.
+; If the roll fails, one group will fill up, while the other disappears or gets the leftovers.
+;
+; Range 0 to 100.
+; 0 = JA2 default, militia will always try to join up into the largest groups possible.
+; 100 = Militia will always average out with one another, eventually spreading out in groups of half the maximum size over a
+; large area. Naturally, if you keep training militia, they'll eventually fill up, but until then they will try to stay average
+; with each other as much as possible.
+; 50 = Militia will join up into large groups only half of the time. This will create a situation where there are several large
+; groups of militia in different places at different times, while most groups are smaller.
+;******************************************************************************************************************************
+
+ROAMING_MILITIA_SPREADOUT_CHANCE = 50
+
+;******************************************************************************************************************************
+; HEADROCK: It is now possible to set the amount of CTH penalty given to someone who's firing on a cowering target, based on
+; stance and the targetted bodypart. The full CTH penalty is divided by X, where X is the value you set here. The HAM defaults
+; are 1 for prone, 3 for crouched head, 4 for crouched torso, and 5 for crouched legs.
+;
+; Range: 1 to 255
+; Naturally, you'll want to set "AIM_PENALTY_PER_TARGET_SHOCK" above 0 for this to work, otherwise there's no effect from
+; cowering at all.
+;******************************************************************************************************************************
+
+CTH_PENALTY_FOR_COWERING_PRONE_TARGET_DIVISOR = 1
+CTH_PENALTY_FOR_COWERING_CROUCHED_TARGET_HEAD_DIVISOR = 3
+CTH_PENALTY_FOR_COWERING_CROUCHED_TARGET_TORSO_DIVISOR = 4
+CTH_PENALTY_FOR_COWERING_CROUCHED_TARGET_LEGS_DIVISOR = 5
+
+;******************************************************************************************************************************
+; HEADROCK: This is the maximum range (in METERS, not tiles!) at which a cowering target gives the full CTH penalty. If the
+; shooter is any closer than this, he will receive a proportionally lower penalty.
+;
+; Range: 10 (1 tile) to 65535 (655 tiles). HAM Default is 100 (10 tiles). If you want engagements at greater range to be
+; possible set this higher (200 should be nice. 300 tactically resembles JA2, sort of).
+;
+; Naturally, you'll want to set "AIM_PENALTY_PER_TARGET_SHOCK" above 0 for this to work, otherwise there's no effect from
+; cowering at all.
+;******************************************************************************************************************************
+
+MIN_RANGE_FOR_FULL_COWERING_TARGET_PENALTY = 100
+
+;******************************************************************************************************************************
+; HEADROCK: These are the maximum possible CTH penalties we can get from cowering.
+;
+; MAX_SHOOTER_COWERING_PENALTY: The maximum possible CTH loss we would suffer if we're cowering and heavily suppressed/injured.
+; MAX_TARGET_COWERING_PENALTY: The maximum possible CTH loss that a cowering target can dish out to anyone who shoots at it.
+;
+; Range: 0 to 65535. A value of 0 means that there is no flat limit (except what's imposed by other limits for suppression shock
+; and cowering, if applicable)
+;******************************************************************************************************************************
+
+MAX_SHOOTER_COWERING_PENALTY = 0
+MAX_TARGET_COWERING_PENALTY = 0
+
+;******************************************************************************************************************************
+; HEADROCK: This setting determines whether militia can drop their equipment when they die, like enemies do.
+;
+; 0 = JA2 Default. Militia can't drop any equipment.
+; 1 = Militia can drop equipment only if they've been killed by enemies/civilians/other militia (but not by mercs!)
+; 2 = Militia can drop their equipment regardless of who killed them.
+;
+; The "ENEMIES DROP ALL" ingame options-menu setting affects the items dropped by militia just like it does for enemies. When
+; turned on, Militia will drop everything they're carrying. When turned off, they'll drop their equipment randomly
+; (or none at all).
+;******************************************************************************************************************************
+
+MILITIA_DROP_EQUIPMENT = 1
+
+;******************************************************************************************************************************
+; HEADROCK: Two settings to synchronize the sleep/wake periods of Trainers and Students in the same sector.
+;
+; 0 = Disabled. Mercs will go to sleep / wake up regardless of what their trainer/students are doing.
+; 2 = Students will sleep/wake if their trainer has gone to sleep or woke up.
+; 3 = Trainers will sleep/wake if all their students have gone to sleep or woken up.
+; 1 = Both options on.
+;
+; Different combinations may cause training to function differently from what you'd expect. I suggest setting both of these to
+; 1, or both to 0, but feel free to experiment.
+;******************************************************************************************************************************
+
+SMART_TRAINING-SLEEP_HANDLER = 1
+SMART_TRAINING-WAKE_HANDLER = 1
+
+;******************************************************************************************************************************
+; HEADROCK: This setting controls whether trainers/students will get tired even if there's no one awake for to work with them.
+;
+; 0 = Disabled (JA2 Default). Mercs training/studying will always tire when they are awake.
+; 2 = Trainers will not become tired if they are awake while all their students are asleep. In fact, they are considered
+; "Resting", and will regain their fatigue back slowly until at least one student wakes up.
+; 3 = Trainees will not lose fatigue if they are awake while the trainer is asleep. In fact, they are considered
+; "Resting", and will regain their fatigue back slowly until the trainer wakes up.
+; 1 = Both options on.
+;
+; Notice that if set to 1 or 3, students will NOT study while all trainers are asleep! They'll only study if there's a
+; trainer awake to work with them. However, they will rest until the trainer awakes, so fatigue isn't lost while they wait.
+;******************************************************************************************************************************
+
+SMART_TRAINING_REST = 1
diff --git a/gamedir/Data/TableData/Map/RestrictedRoamingMilitia.xml b/gamedir/Data/TableData/Map/RestrictedRoamingMilitia.xml
index c8e8f2e38..9a87f83c9 100644
--- a/gamedir/Data/TableData/Map/RestrictedRoamingMilitia.xml
+++ b/gamedir/Data/TableData/Map/RestrictedRoamingMilitia.xml
@@ -10,72 +10,124 @@ Up to 256 sectors (all of them) can be listed here though.
-->
+ A4
+ A5
+ A6
+ A7
+ A8
+ A9
+ A10
A11
A15
+ A16
+ B4
+ B5
+ B6
+ B7
+ B8
+ B9
+ B10
B11
B15
+ B16
+ C4
+ C5
+ C6
+ C7
+ C8
+ C9
+ C10
C11
C15
- D11
- D15
- E11
- E15
- F11
- F12
- F13
- F14
- F15
+ C16
D1
D2
D3
D4
- A4
- B4
- C4
- E1
- E2
- E3
- E4
- F4
- F5
- G5
- H5
- I5
- J1
- J2
- J3
- J4
- J5
+ D5
D6
D7
D8
D9
D10
+ D11
+ D15
+ D16
+ E1
+ E2
+ E3
+ E4
+ E5
E6
+ E11
+ E15
+ F4
+ F5
F6
+ F11
+ F12
+ F13
+ F14
+ F15
+ G5
G6
G11
+ G16
+ H5
H6
H11
+ H16
+ I5
I6
+ I8
I10
I11
+ I16
+ J1
+ J2
+ J3
+ J4
+ J5
J6
J7
J8
J9
J10
+ J11
+ J16
+ K1
+ K2
+ K3
+ K4
+ K5
+ K6
+ K7
+ K8
K9
- L9
- M9
- N9
- O9
- P9
K14
- L14
- M14
K15
- G16
- H16
- I16
+ L1
+ L2
+ L3
+ L4
+ L5
+ L6
+ L7
+ L8
+ L9
+ L14
+ L15
+ M1
+ M7
+ M8
+ M9
+ M14
+ N7
+ N8
+ N9
+ N10
+ O8
+ O9
+ P8
+ P9
\ No newline at end of file