Files
gamedir/Data-UB/CTHConstants.ini
T
2022-05-03 11:36:40 +00:00

444 lines
21 KiB
INI

;******************************************************************************************************************************
; Jagged Alliance 2 v1.13: New CTH System and Shooting Mechanism
;******************************************************************************************************************************
; These settings control the various parts of the new CTH and Shooting systems.
; Most of these settings are used as multipliers for the various factors that
; control CTH calculation and shooting accuracy.
;
; By raising or lowering a setting, you can influence the importance of a factor,
; for example how Marksmanship affects the total Base CTH you can have, or how
; bad it is to have wounds when trying to fire a gun.
;
; Other settings control the system more abstractly. For instance, you can control
; how hard it is to shoot moving targets, or the maximum possible deviation
; (inaccuracy) generated by guns.
;
; Each setting is accompanied by an explanation if possible. Make sure you know
; what the setting does, and how high or low you can set the value, before
; making any changes.
; Also please note that some values are FLOATS, meaning they need a decimal
; point behind them, even if that decimal point is followed by a 0. Other
; values are INTEGERS, and do not accept a decimal point at all.
;------------------------------------------------------------------------------------------------------------------------------
[General]
;------------------------------------------------------------------------------------------------------------------------------
; These settings control the shooting mechanism as a whole. In other words,
; changing these settings will affect every shooter under any conditions.
; You can use these settings to make shooting more or less accurate as you
; see fit.
;------------------------------------------------------------------------------------------------------------------------------
; This setting represents the longest distance at which Iron Sights are 100% effective.
; Beyond this range, shooting accuracy begins to drop, and a scope will be required
; to avoid that drop.
; ALL SCOPE RANGES ARE DETERMINED BY THIS VALUE. For instance, a 2x scope will
; negate penalties for shooting at twice this distance. A 10x scope will
; negate penalties for shooting at ten times this distance.
; By decreasing this value, you can make all shots more accurate, and naturally
; make scopes more powerful.
; This value is an INTEGER, with a range of 10 to 1000. The distance is
; measured in METERS, not tiles, so 100 means 10 tiles.
NORMAL_SHOOTING_DISTANCE = 70
;------------------------------------------------------------------------------------------------------------------------------
; The following parameters in this block are used only if USE_NEW_CTH_CALCULATION = TRUE in your Ja2_Options.ini
; Be aware that IRON_SIGHT_PERFORMANCE_BONUS and LASER_PERFORMANCE_BONUS_IRON are cumulative!
;
; IRON_SIGHT_PERFORMANCE_BONUS affects the size of the base shooting aperture for iron sights by x percent.
; Values can go from -50.0 (penalty) to 50.0 (bonus of 50 percent will make the aperture half as large)
; The default is 20.0
IRON_SIGHT_PERFORMANCE_BONUS = 0.0
; LASER_PERFORMANCE_BONUS_XXX also affects the size of the base shooting aperture by x percent but is used for lasers.
; The bonus only applies if the target is in laser range and the given sight is used.
; The bonus is also influenced by the light level at the target spot. The darker the spot the better the laser dot
; can be seen and the higher the resulting bonus will be.
; If all values are 0.0 the old NCTH laser behaviour is used which makes lasers work like scopes.
; Values can go from 0.0 to 50.0
LASER_PERFORMANCE_BONUS_HIP = 0.0
LASER_PERFORMANCE_BONUS_IRON = 0.0
LASER_PERFORMANCE_BONUS_SCOPE = 0.0
;------------------------------------------------------------------------------------------------------------------------------
; This is the maximum angle, to either side of the shooter, that a bullet may fly.
; The CTH system works by shooting bullets randomly inside this angle. Increasing
; your aim will make the angle smaller, thus making rounds more likely to hit the
; target.
;
; This value is a FLOAT, with a range of 0 to 22.5. If set to 0, all shots will
; be 100% on target, regardless of aiming.
; Decreasing this value causes all shots to be more accurate.
DEGREES_MAXIMUM_APERTURE = 11
; This option affects DEGREES_MAXIMUM_APERTURE for iron sights. If it is set to FALSE
; the basic aperture will grow linearly to the distance to target (old behaviour).
; If TRUE the aperture will use a curve to grow slower over distance making iron sights
; more powerful over long distances.
IRON_SIGHTS_MAX_APERTURE_USE_GRADIENT = FALSE
; If IRON_SIGHTS_MAX_APERTURE_USE_GRADIENT is TRUE the following parameter defines
; how fast the aperture will grow. A lower value will make it grow slower thus making
; iron sights even more powerful.
; A value of 2.0 will make iron sights almost as powerful as a 2x scope whereas a value
; of 5.0 causes just a little change from the old behaviour.
; Values can go from 2.0 to 5.0
; The default is 3.0
IRON_SIGHTS_MAX_APERTURE_MODIFIER = 3.0
; The Range Coefficient works with the listed weapon range to determine the weapons
; maximum range. Once a bullet reaches it's maximum range, gravity pulls it towards
; the ground.
RANGE_COEFFICIENT = 2.0
; The Gravity Coefficient determines how powerful gravity is once it kicks into
; action - this happens when the bullet reaches the "maximum range" of the gun
; that fired it.
; The lower this coefficient, the faster will bullets change their trajectory
; towards the ground, hitting it sooner.
; Conversely, by increasing this value you can let bullets fly further beyond
; the max range of the gun. That will effectivelly let guns hit targets further
; beyond their max range, though it is not a reliable way to hit any target.
GRAVITY_COEFFICIENT = 2.0
; The Vertical Bias "flattens" the target appeture which restricts the vertical amoun
; by which a bullet can travel. Vertical bias is ultimately based on stance where
; a standing shooter is always at 1.0, a prone shooter is at the indicated bias, and
; a crouching target is midway between the two.
VERTICAL_BIAS = 0.5
; The Scope Range Multiplier is applied against a scopes magnification to determine
; the scopes minimum effective range. Sniper and Hunter training has a slight effect
; on this. Valid range is 0.5 - 1.5, with a default of 0.7. The higher you set
; this multiplier, the less effective scopes become.
SCOPE_RANGE_MULTIPLIER = 0.7
; Scope effectiveness multiplier defines the upper limit of the scopes magnification
; that is achievable by any shooter. Scope magnification makes the size of the
; shooting aperture smaller, making shots more accurate. A multiplier of 1.0 will
; make a 2x scope provide a maximum of 2x magnification (make the aiming reticule
; half as large). A low skill shooter will only be able to achieve a much smaller
; effective magnification. Scope effectiveness is determined by a shooters experience
; and marksmanship attributes. Attributes are weighted by AIM_EXP and AIM_MARKS.
; Valid values are from 0.5 to 1.5 with a default of 1.1
SCOPE_EFFECTIVENESS_MULTIPLIER = 1.1
; Scope effectiveness minimum defines a minimum percentage of scope effectiveness
; that any merc will achieve no matter how bad/good his skills are (see also description
; of SCOPE_EFFECTIVENESS_MULTIPLIER above) For example if the parameter is 50 a 2x scope
; will provide at least 1x magnification. The rest comes from the shooters experience
; and marksmanship. A value of 0 will make effectiveness calculation fully dynamic.
; 100 means that the shooters skills are irrelevant and he can use any scope to its
; full potential.
; Valid values are from 0 to 100 with a default of 50
SCOPE_EFFECTIVENESS_MINIMUM = 50
; Certain traits provide their own fixed minimum values. Defaults are 80 / 90 / 100
; If the shooter wants to exceed these he will have to do so by the normal formula.
SCOPE_EFFECTIVENESS_MINIMUM_RANGER = 80
SCOPE_EFFECTIVENESS_MINIMUM_MARKSMAN = 90
SCOPE_EFFECTIVENESS_MINIMUM_SNIPER = 100
; The Side Facing Divisor is applied against the shooting offsets when a target is
; facing directly perpendicular (i.e., East or West when shooter faces North or South)
; to the shooter. This is to account for a visual error in the NCTH system. The
; Valid range for this divisor is 1.0 - 10.0. If you don't think it should be as easy
; to hit a target from the side as from head on, just set this value to 1.0
SIDE_FACING_DIVISOR = 1.0
; This is the basic chance PER SHOT to lose 1 point of weapon condition with each
; bullet fired. The formula for this chance is 1 in BASE_DEPRECIATE_CHANCE, so higher
; values result in slower degradation.
; The default value for OCTH is 15, but NCTH requires a **much** higher
; expenditure of bullets, resulting in severely-reduced weapon condition after every
; battle. Therefore, the default for NCTH is currently 150.
; Valid range is 0-10000.
BASIC_RELIABILITY_ODDS = 45
[Base CTH]
;------------------------------------------------------------------------------------------------------------------------------
; Base CTH is an amount of CTH given freely to the shooter for any shot he makes.
; The basic value is determined by skills, and later the modifiers reduce or
; increase it appropriately. Characters with low skills, or with bad factors
; affecting their performance, will receive bad base CTH.
; The maximum amount of Base CTH you can have is 33 points. This is only
; achievable by super-mercs in excellent conditions.
; These settings determine the importance of each character skill in calculating
; your Base CTH. By default, Experience is 3 times more important than the other
; skills. Base CTH, before modifiers, is equal to the sum of the player's skills,
; each multiplied by the appropriate value from these, and then divided by the
; sum of all these four values.
;
; These values are FLOATS, with a range of 0.0 to 10.0. Setting a value to 0
; will render the appropriate skill irrelevant for calculating base CTH. DO NOT
; set all four values to 0, unless you want to see lots of crashes.
;------------------------------------------------------------------------------------------------------------------------------
BASE_EXP = 3.0
BASE_MARKS = 1.0
BASE_WIS = 1.0
BASE_DEX = 1.0
;------------------------------------------------------------------------------------------------------------------------------
; These settings control the effect that various factors have on the shooter's
; Base CTH. By increasing a value, you can increase that factor's importance
; on raising or lowering Base CTH.
;
; These values are all FLOATS, with ranges of -1000.0 to 1000.0. Pay close attention
; to the positive/negative and read the explanations carefully. Some factors are
; better when HIGHER, others better when LOWER.
;
; After calculating Base CTH from skills (see above), the factors governing it
; (below) are all pooled together into one penalty value. That penalty value is
; then used as a percentage to increase or decrease your Base CTH. In other words,
; if all factors amount to -50.0, you'll lose half your Base CTH. If they amount
; to 20.0, you'll gain 20% extra base CTH.
;------------------------------------------------------------------------------------------------------------------------------
; This is a modifier given per each morale point below 50.
BASE_LOW_MORALE = -1.0
; This modifier is given per each morale point above 50.
BASE_HIGH_MORALE = 2.0
; This modifier is given to any character with the "PSYCHO" trait.
BASE_PSYCHO = -3.0
; This is the modifier given when shooting one "cube" upwards. A cube is
; 1/3 of a tile high. This takes into account both stance and level. For
; example, a standing merc shooting at the legs of a target on the roof
; gets 1*this modifier. A prone merc on ground level shooting at the
; head of a target on ground level gets 2*this modifier.
;
; The shooting upwards modifier is then divided by the range to the target
; (in tiles). In other words, at a range of 2 tiles the modifier is
; HALVED. at a range of 10 tiles, the modifier is divided by 10. Etcetera.
; This means that the further the target is, the less relevant the upwards
; angle is.
BASE_SHOOTING_UPWARDS = -15.0
; This is the MAXIMUM modifier given to a shooter when injured. To get this
; much, the shooter must be dead (0% health...). It's linear,
; so at 50% health the shooter gets exactly half the penalty.
; Note that "Bandaged" damage counts as half as much as bleeding damage.
; Therefore, 50% bandaged damage is as bad as only25% bleeding damage.
BASE_INJURY = -30.0
;------------------------------------------------------------------------------------------------------------------------------
; These are the modifiers given for different levels of drunkness. Naturally,
; the more drunk you are, the more your CTH suffers.
;------------------------------------------------------------------------------------------------------------------------------
BASE_DRUNK_TIPSY = -5.0
BASE_DRUNK = -20.0
BASE_DRUNK_WASTED = -50.0
BASE_DRUNK_HUNGOVER = -10.0
; This is the MAXIMUM modifier given to a shooter when fully fatigued (0% breath).
; It's linear, so at 50% breath you get half the modifier.
BASE_FATIGUE = -15.0
; This modifier is applied when shooting at the same target again. If the target
; has moved between shots, or the shooter does anything but shoot at the target,
; the modifier is lost.
BASE_SAME_TARGET = 5.0
; This is the modifier given when the shooter is in a cloud of gas and does
; not have a gas mask on.
BASE_GASSED = -15.0
; This modifier is applied when the shooter is being bandaged by someone else.
BASE_BEING_BANDAGED = -5.0
; This is the MAXIMUM modifier given when the target reaches the maximum number
; of Suppression Shock points, which by default would be 30. It's linear, so at
; 15 shock points you get half the penalty.
; Note that characters with high experience stop accumulating shock much earlier,
; and so are much less subject to this modifier than other characters.
BASE_SHOCK = -150.0
; This modifier is applied if the target has exceptional agility or experience level.
BASE_AGILE_TARGET = -5.0
; This modifier is applied if the shooter can't see the target. This happens
; when shooting at a target spotted by someone else.
BASE_TARGET_INVISIBLE = -100.0
;------------------------------------------------------------------------------------------------------------------------------
; These modifiers work very differently from the others. The are related to a
; concept called Gun Handling, which is still being adjusted. Basically,
; Gun Handling is equal to the AP Cost to Ready the gun. Heavier, more
; cumbersome guns like sniper rifles or machine guns get a high Gun Handling
; value, and thus decrease Base CTH proportionally. Pistols, on the other hand,
; have very low Gun Handling values.
;
; BASE_DRAW_COST is applied per each Gun Handling point.
;
; The other values act as multipliers applied directly to the Gun Handling
; value. For example, by default a pistol fired with one hand (other hand
; full or holding another pistol) gets its Gun Handling value doubled.
;
; Please note that all of these except BASE_DRAW_COST should be POSITIVE.
; The higher they are, the greater their effect.
;------------------------------------------------------------------------------------------------------------------------------
BASE_DRAW_COST = 2.0
BASE_TWO_GUNS = 5.0
BASE_ONE_HANDED = 2.5
BASE_STANDING_STANCE = 2.0
BASE_CROUCHING_STANCE = 3.0
BASE_PRONE_STANCE = 4.0
BASE_HEAVY_WEAPON = 2.0
;------------------------------------------------------------------------------------------------------------------------------
; These modifiers are applied based on game difficulty, and only affect
; the base CTH of ENEMY COMBATANTS.
;------------------------------------------------------------------------------------------------------------------------------
BASE_DIFFICULTY_NOVICE = -30.0
BASE_DIFFICULTY_EXPERIENCED = 0.0
BASE_DIFFICULTY_EXPERT = 20.0
BASE_DIFFICULTY_INSANE = 50.0
[Aiming CTH]
;------------------------------------------------------------------------------------------------------------------------------
; Aiming CTH is the amount of CTH you get for adding extra aiming to your
; shot, by paying extra APs.
;
; First, the game calculates the maximum CTH our shooter can have, using
; the shooter's skills as a guide. This is called the CTH cap, and the shooter
; can NEVER have more CTH than this cap, ever.
;
; The program then subtracts the Base CTH value from the CTH Cap, coming up
; with a number called the Maximum Aiming Bonus. At peak condition, and with
; the maximum number of aiming levels applied, the shooter will reach his
; CTH Cap, meaning he will be as accurate as he can be.
;
; Note that for each AP you spend on aiming, you only get PART of the Maximum
; Aiming Bonus. In fact, you get 8/36 of it for the first AP, 7/36 for the
; second AP, 6/36 for the third, and so forth. The last AP gives only 1/36
; of the total bonus, but that little bit can sometimes be crucial.
;------------------------------------------------------------------------------------------------------------------------------
AIM_EXP = 1.0
AIM_MARKS = 3.0
AIM_WIS = 1.0
AIM_DEX = 2.0
;------------------------------------------------------------------------------------------------------------------------------
; This value is multiplied against 1/2 the scopes mag factor to determine the
; actual penalty applied. Setting it too low will make it impossible to use
; scopes within effective range
;------------------------------------------------------------------------------------------------------------------------------
AIM_TOO_CLOSE_SCOPE = -4.0
AIM_GUN_CONDITION = -2.0
AIM_LOW_MORALE = -2.0
AIM_HIGH_MORALE = 1.0
AIM_PSYCHO = -5.0
AIM_VISIBILITY = -1.0
AIM_SHOOTING_UPWARDS = -20.0
AIM_INJURY = -60.0
AIM_DRUNK_TIPSY = -10.0
AIM_DRUNK = -40.0
AIM_DRUNK_WASTED = -90.0
AIM_DRUNK_HUNGOVER = -15.0
AIM_FATIGUE = -40.0
AIM_GASSED = -80.0
AIM_BEING_BANDAGED = -20.0
AIM_SHOCK = -150.0
AIM_TARGET_INVISIBLE = -50.0
AIM_SNIPER_SKILL = 25.0
AIM_DRAW_COST = 0.5
AIM_STANDING_STANCE = 1.5
AIM_CROUCHING_STANCE = 1.25
AIM_PRONE_STANCE = 1.0
AIM_TWO_GUNS = 4.0
AIM_ONE_HANDED = 2.5
AIM_HEAVY_WEAPON = 2.0
AIM_DIFFICULTY_NOVICE = -30.0
AIM_DIFFICULTY_EXPERIENCED = 0.0
AIM_DIFFICULTY_EXPERT = 20.0
AIM_DIFFICULTY_INSANE = 50.0
[Shooting Mechanism]
MOVEMENT_MRK = 3.0
MOVEMENT_WIS = 2.0
MOVEMENT_DEX = 1.0
MOVEMENT_EXP_LEVEL = 2.0
MOVEMENT_TRACKING_DIFFICULTY = 40
MOVEMENT_PENALTY_PER_TILE = 1.0
PRE_RECOIL_WIS = 2.0
PRE_RECOIL_EXP_LEVEL = 3.0
PRE_RECOIL_AUTO_WEAPONS_SKILL = 2.0
RECOIL_MAX_COUNTER_STR = 3.0
RECOIL_MAX_COUNTER_AGI = 1.0
RECOIL_MAX_COUNTER_EXP_LEVEL = 1.0
RECOIL_MAX_COUNTER_FORCE = 10.0
RECOIL_MAX_COUNTER_CROUCH = 10.0
RECOIL_MAX_COUNTER_PRONE = 25.0
RECOIL_COUNTER_ACCURACY_MIN_ERROR = 0.2
RECOIL_COUNTER_ACCURACY_DEX = 3.0
RECOIL_COUNTER_ACCURACY_WIS = 1.0
RECOIL_COUNTER_ACCURACY_AGI = 1.0
RECOIL_COUNTER_ACCURACY_EXP_LEVEL = 4.0
RECOIL_COUNTER_AUTO_WEAPONS_DIVISOR = 4.0
RECOIL_COUNTER_ACCURACY_TRACER_BONUS = 10.0
RECOIL_COUNTER_ACCURACY_ANTICIPATION = 25.0
RECOIL_COUNTER_ACCURACY_COMPENSATION = 2.0
RECOIL_COUNTER_FREQUENCY_AGI = 3.0
RECOIL_COUNTER_FREQUENCY_EXP_LEVEL = 2.0
RECOIL_COUNTER_FREQUENCY_AUTO_WEAPONS_DIVISOR = 4.0
;------------------------------------------------------------------------------------------------------------------------------
; These set the percentage by which the autofire target offset is improved. At 20%, it takes 5 "steps" (based on CFF)
; to reach best offset improvement.
;------------------------------------------------------------------------------------------------------------------------------
RECOIL_COUNTER_INCREMENT = 20
RECOIL_COUNTER_INCREMENT_TRACER = 25
;------------------------------------------------------------------------------------------------------------------------------
; This value determines the distance ratio for recoil. Higher values result in
; less overall recoil movement at longer ranges.
; This value is an INTEGER, with a range of 10 to 1000. The distance is
; measured in METERS, not tiles, so 100 means 10 tiles.
;------------------------------------------------------------------------------------------------------------------------------
NORMAL_RECOIL_DISTANCE = 140
MAX_BULLET_DEV = 5.0
RANGE_EFFECTS_DEV = TRUE
;------------------------------------------------------------------------------
; MAX_EFFECTIVE_RANGE_MULTIPLIER
; Maximum effective range of Gun that AI will still attempt to shoot
; Default: 1.1 which equates to 110% of the gun's effective range
; MAX_EFFECTIVE_RANGE_REDUCTION
; Maximum reduction of chance to hit when exceeding effective range
; Default: 0.5 which equates to 50% reduction
; MAX_EFFECTIVE_USE_GRADIENT
; Whether to apply the reduction as a flat reduction or as gradient
; Default: FALSE which is flat reduction when exceeding range
;------------------------------------------------------------------------------
MAX_EFFECTIVE_RANGE_MULTIPLIER = 1.1
MAX_EFFECTIVE_RANGE_REDUCTION = 0.5
MAX_EFFECTIVE_USE_GRADIENT = FALSE