Command & Conquer™ Remastered Collection

Command & Conquer™ Remastered Collection

Veterancy and more - Version 41.1
DontCryJustDie  [developer] 2 Aug, 2024 @ 6:35am
Armor system
Since Version 32 (and Version 24 for the RA mod) you can create custom armor types, this is a rather complex feature which was inspired by the RA2 mod Ares[ares-developers.github.io].

In this thread I'll give you some examples on how it works.

For the original 5 armor type (none, wood, light, heavy or concrete) you continue to use the Verses (Westwood wrote that wrong ;) ) setting on the warhead to set the desired value.
For custom armor types you use the new Versus setting on the warhead, which is "Versus.ArmorName=value".

Verses and Versus now accept the new special value Infinity or inf. That means the weapons dmg is ignored and replaced by the targets current health. E.g. Weapon normally does 50 dmg, target current health is 100hp then the weapon will do 100 dmg. The target might still survive if it has an absorb shield or is far enough away from the projectile impact point.

The first example creates a new armor that is intended to be weak against Nod's Obelisk of Light.

1. Create a new armor type by adding it to the ArmorTypes section.
[ArmorTypes] 1=heavyWeakAgainstLB ; Create new ArmorType.

2. Set the default of the newly created armor. This can be any original armor (none, wood, light, heavy or concrete) or a default versus value (e.g. 50%) that applies to all warheads.
[heavyWeakAgainstLB] DefaultsTo=heavy ; Treat it as if it were the original heavy armor.

3. Assign the new armor to the desired object.
; Mammoth [HTNK] Armor=heavyWeakAgainstLB

4. Add versus values to warheads. In this case we want the LB warhead to do more dmg, the original verses (versus) value against heavy armor is 100% but we want it to do more dmg aginst the new armor.
; Warhead of the ObeliskLaser weapon. [LB] Versus.heavyWeakAgainstLB=300% ; The warhead now does 300% instead of 100% weapon dmg against the heavyWeakAgainstLB ArmorType.

In the next example I show how to create a kevlar armor for infantry, so basicly the same as the Kevlar armor upgrade but this time done with the new armor system.

1. Creation
[ArmorTypes] 1=kevlar

2. Set default value
[kevlar] DefaultsTo=none ; Treat it as if it were the original none armor.

3. Assign armor to infantryman
; Minigunner [E1] Armor=kevlar . . . ; Commando [RMBO] Armor=kevlar

4. Add versus values to warheads
; Small Arms warhead [SA] Versus.kevlar=80% ; orginal value to armor none is 100% ; Warhead of the Sniper weapon [HollowPoint] Versus.kevlar=80% ; orginal value to armor none is 100%

Example 3 will use a default versus value instead of inherit from an original armor type.

1. Creation
[ArmorTypes] 1=turtleArmor

2. Set default value
[turtleArmor] DefaultsTo=25% ; damage from all warheads is quartered

3. Assign armor to unit
; Turtle, imagine this unit exists :laughing_yeti: [TURTLE] Armor=turtleArmor

4. We don't need step 4. But you can still make certain warhead break the turtle!
; This warhead is attached to Steel Claws worn by Shredder! [TurtleBreaker] Versus.turtleArmor=Infinity

Example 4 alters auto targeting against certain armor types.

1. Weapons with the HollowPoint warhead should only auto target infantrymen.
; anti-infantry rifle bullet [HollowPoint] ; When auto-scanning for targets, skip the following armor types as the versus values ​​against them are too low to be worthwhile. Versus.wood.PassiveAcquire=no Versus.light.PassiveAcquire=no Versus.heavy.PassiveAcquire=no Versus.concrete.PassiveAcquire=no ; Do not retaliate damage taken when the opponent has the following armor types. Versus.wood.Retaliate=no Versus.light.Retaliate=no Versus.heavy.Retaliate=no Versus.concrete.Retaliate=no
Last edited by DontCryJustDie; 3 Sep, 2024 @ 4:08am