Armor System

Principle Author:  Bakerman

Disclaimer. This module is still a work in progress and is likely to change. If you do decide to make use of this document then please revisit it after each release to stay up to date.


The armor system is very simple and has two functions. The first is to extend ARMA's ballistic simulation to all anti-tank munitions included in RHS and the second enables advanced armor simulation on RHS vehicles, such as composite armor and ERA.

How it works

Other armor systems completely replace or interfere with the ARMA engine, however we believe in working with the engine for maximum performance and compatibility. The majority of our armor system is a set of best practices and layouts for vehicle armor that we implement in our models. To unlock the full potential of ARMA's ballistic simulation we only require a single event driven script, thus there is virtually no performance impact. The script does not modify or interfere with vehicle damage.

Previous iterations

The RHS armor system is a continuation of the ones in AIS (Armor Improvement System) and RAM (Real Armor Mod).

Vehicle requirements

The single script required for the system is added by default on all vehicles, this includes vanilla and all other mods. No external addon such as RAM is required since 0.4.1. For non-RHS vehicles this script adds compatibility for RHS HEAT warheads.

Ammo requirements

The ammunition component is intended for HEAT, EFP, API and any duel-stage warhead.

The following is a extract of cfgAmmo:

// This is the initial explosive projectile that gets fired and travels to the target
class MyTag_ammo_RPG : RocketBase
  // Notice the low damage values. This is only a small explosive.
  hit = 150;

  // Indirect hit and range should be very low. This isn't a mk82 bomb, it's a HEAT charge.
  indirectHit = 10;
  indirectHitRange = 4;
  explosive = 0.6;

  // This sets the array of penetrators to create on impact.
  ais_ce_penetrators[] = {MyTag_ammo_RPG_Penetrator};

// This is the ballistic projectile that gets created on hit to penetrate armor
class MyTag_ammo_RPG_Penetrator: ais_ammo_heat_base 
  // 450mm RHAe CE penetration for this warhead
  caliber = 30;

// The penetrator base class
class ais_ammo_heat_base : BulletBase
  ais_ce_penetrators[] = {};
  hit = 300;
  indirectHit = 10;
  indirectHitRange = 0.1;
  explosive = 0;
  airFriction = -0.1;
  deflecting = 0;    
  timeToLive = 0.012;
  simulationStep = 0.001;
  typicalSpeed = 1000;
  caliber = 10;
  model = "\A3\Weapons_f\Data\bullettracer\tracer_yellow";
  tracerScale = 2;
  tracerStartTime = 0;
  tracerEndTime = 1;
  nvgOnly = 0;
  waterFriction = -0.9;
  effectFly = "AmmoUnderwater"
  class HitEffects
    hitMetal = "ImpactMetalSabotBig";
    hitMetalPlate = "ImpactMetalSabotBig";
    hitBuilding = "ImpactConcreteSabot";
    hitConcrete = "ImpactConcreteSabot";
    hitGroundSoft = "ImpactEffectsGroundSabot";
    hitGroundHard = "ImpactEffectsGroundSabot";
    default_mat = "ImpactEffectsGroundSabot";