Heroes & Generals Wiki
(Revised information about spray patterns and armor/components in order to more accurately describe the actual game mechanics)
Tag: Visual edit
(Added percentage of damage absorbed against explosives, as per [[File:Anti-TankExplosionDamage.png)
Tag: Visual edit
Line 37: Line 37:
 
Vehicle armor degrades over time when receiving damage, represented by an ''''armorHP'''<nowiki/>' value which varies across vehicles as per an '''armorHPMul''' value.
 
Vehicle armor degrades over time when receiving damage, represented by an ''''armorHP'''<nowiki/>' value which varies across vehicles as per an '''armorHPMul''' value.
   
When above a certain armorHP value (as dictated by the variable '''minArmorPercent'''), armor will absorb a minimum of 25% damage when penetrated or 100% when completely blocking, dealing that absorbed damage to its armorHP in the process. As armor is worn down, the effective thickness decreases proportional to armorHP, so if armorHP is at 80% of its maximum value, the armor thickness will be at 80%. As a result, theoretically even a [[Weapons#Light_Machine_Guns|Light Machine Gun]] is able to penetrate and destroy a tank given enough time and ammunition.
+
When above a certain armorHP value (as dictated by the variable '''minArmorPercent'''), armor will absorb 25% damage against direct-type attacks, 75% damage against explosive-type attacks or 100% against a non-penetrating attack, dealing that absorbed damage to its armorHP in the process. As armor is worn down, the effective thickness decreases proportional to armorHP, so if armorHP is at 80% of its maximum value, the armor thickness will be at 80%. As a result, theoretically even a [[Weapons#Light_Machine_Guns|Light Machine Gun]] is able to penetrate and destroy a tank given enough time and ammunition.
   
   

Revision as of 19:58, 25 November 2021

Heroes & Generals has many mechanics not immediately obvious to the new player and hidden stats which influence weapon handling and vehicle combat.

Handheld Weapons

Precision and Accuracy

Sway Diagram

Cone fire as of Adams Update

New Conefire

Overview of weapon handling as of Update 1.17.1

Handheld weapons handle very differently depending on numerous factors both specific to the weapon and due to changes in-battle.

Before firing

All weapons have an idle sway pattern - represented by movement of the weapon model - which affects where the weapon is pointed at any given time. Sway when standing, crouched and prone is determined on a per-weapon basis and are affected by weapon mods that change 'precision'. In-battle, it is also affected by fatigue and movement (both physical and camera-wise), as well as temporarily from firing weapons. The variables used in the weapon configuration files are as follows:

  • swaystandmode - the sway when standing
  • swaycrouchmode - the sway when crouched
  • swaypronemode - the sway while prone
  • swayprecisionmodifier - multiplier for above values when aiming
  • swayspeed - the amount of additional sway from moving
  • swayfatigue - the maxmum amount of additional sway from fatigue (which is recovered faster with First Blood and Marathon Man)

When firing

The bullet fired may deviate from the point of aim by a certain amount, measured in degrees and often referred to as just 'conefire'. This is only affected by ammunition upgrades that change 'precision'.

Weapons experience recoil, which upon firing immediately shifts your soldier's view (camera recoil). This is dictated by the values 'camerarecoilup and 'camerarecoilright' and is slightly randomised, the maximum "variance on recoil vector (circle radius after resulting vector is drawn)"[1] being dictated by 'camerarecoilvariance'. Camera recoil is affected by weapon upgrades which change 'stability'.

During Continuous Fire

Weapons also experience horizontal recoil, dictated by a recoil pattern unique to every weapon.[2] This recoil pattern undergoes 'cone expansion' under sustained fully-automatic fire or rapid semi-automatic fire. Cone expansion is affected by ammo upgrades and is decreased by Tight Grip when aiming.

Cone expansion also applies to a spray pattern, affecting where consecutive shots will land during continuous fire. Cone expansion is counteracted by cone contraction, which applies at any time even when firing. The base shape of this spray pattern is identical to the sway pattern, but shot placement is randomised and expansion/contraction of the pattern is independent of idle sway. The variables used in the weapon configuration files are as follows:

  • aimpenaltyperbullet - cone expansion applied after every shot
  • aimpenaltyprecisionmodifier - multiplier of aimpenaltyperbullet when aiming
  • aimpenaltycontractionpersec - the rate of cone contraction (increased by Dead-Eye)
  • aimpenaltyturn - cone expansion from turning (reduced by Quickdraw)

Armor and Components

Vehicle armor degrades over time when receiving damage, represented by an 'armorHP' value which varies across vehicles as per an armorHPMul value.

When above a certain armorHP value (as dictated by the variable minArmorPercent), armor will absorb 25% damage against direct-type attacks, 75% damage against explosive-type attacks or 100% against a non-penetrating attack, dealing that absorbed damage to its armorHP in the process. As armor is worn down, the effective thickness decreases proportional to armorHP, so if armorHP is at 80% of its maximum value, the armor thickness will be at 80%. As a result, theoretically even a Light Machine Gun is able to penetrate and destroy a tank given enough time and ammunition.


Components deal damage in two ways: the first is when destroyed, where it deals damage equivalent to its starting internalHP value, though if multiple components of the same type are present less damage will be applied per component.[3] The second means is through excess damage from destroying the component, which is multiplied by totalDamageMultiplier and transferred to the next component (always BaseStructure or Fuselage, which in turn transfers 50% damage to the main vehicle HP). The variables used in the configuration files for components are displayed in the table below:

Name armorHP internalHP canPenetrate secondaryCollision secondaryCollisionSkip minArmorPercent totalDamageMultiplier transferToSecondary
Armor Front 1000 0 true false false 0.1 0 false
Armor Rear 1000 0 true false false 0.1 0 false
Armor Left 1000 0 true false false 0.1 0 false
Armor Right 1000 0 true false false 0.1 0 false
Armor Top 1000 0 true false false 0.1 0 false
Armor Bottom 1000 0 true false false 0.1 0 false
Armor Turret 1000 0 true false false 0.1 0 false
Armor Mantlet 1000 0 true false false 0.1 0 false
Armor Skirt Left 500 0 true false false 0.1 0 false
Armor Skirt Right 500 0 true false false 0.1 0 false
Armor Skirt Turret 500 0 true false false 0.1 0 false
Armor Ungrouped 1000 0 true false false 0.1 0 false
BaseStructure 0 10000 false true false 0 0.5 false
Engine_Small 40 150 false false true 0.02 2 true
Engine_Medium 60 450 false false true 0.02 1 true
Engine_Large 80 600 false false true 0.02 1 true
Transmission 40 300 false false true 0.02 1 true
Track Left 400 300 true false false 0.05 0.25 false
Track Right 400 300 true false false 0.05 0.25 false
Wheel 100 25 true false false 0.05 0.75 false
Gun Breech 100 125 false false true 0.05 1 true
Gun Barrel 200 300 true false false 0.05 0.5 false
Turret Ring 600 150 true false false 0.1 0.1 false
Ammunition Small 10 true false true 0 15 true
Ammunition Medium 10 true false true 0 15 true
Ammunition Large 10 true false true 0 15 true
Fuel Small 10 37 true false true 0 8 true
Fuel Medium 10 50 true false true 0 8 true
Fuel Large 10 75 true false true 0 8 true
Fuel External 20 50 true false false 0 0.78 false
Wing Left 10 150 true false true 0.02 0.46 true
Wing Right 10 150 true false true 0.02 0.46 true
Elevator 10 150 true false true 0.02 0.46 true
Rudder 10 100 true false true 0.02 0.44 true
Plane Fuel 10 50 true false true 0 3 true
Plane Engine 10 150 true false true 0.05 1 true
Plane Engine Left 10 150 true false true 0.05 1 true
Plane Engine Right 10 150 true false true 0.05 1 true
Fuselage 10 10000 true true false 0.02 0.5 false

Vehicle Handling

Each drivable surface in the game has a material type that determines how a vehicle handles when driving on it. The modifiers are as follows:

  • onRoadPercent - the portion of the maximum 'onroad' speed of the vehicle that it can travel at when on the surface
  • tractionMul - the portion of the maximum traction of the vehicle
  • wobbliness
Name onRoadPercent tractionMul wobbliness
Dirt 0.46 0.8 1
LooseDirt 0.32 0.7 0.9
Forest 0.35 0.9 1
Swamp 0 0.6 0.3
DirtRoad 0.9 1 0.1
AsphaltRoad 1 1 0
Sand 0.38 0.6 0.5
Rock 0.7 0.9 0.6
GrassField 0.63 0.75 0.9
CornField 0.32 0.85 1
Cobblestone 0.95 0.9 0.2