This article contains information about item enhancements.

Item Enhancement Syntax

The recommended way for specifying an enhancement is through a string syntax. Previous APIs used a numeric code, but that system has been deprecated because it is so hard to use.

Most TLisp functions and XML elements accept the string syntax in addition to the old numeric codes [If you find a place that does not, please file a bug with Ministry.]

In general, the syntax specifies the name of an enhancement followed by parameters (if necessary). The name of the enhancement is always pre-pended with a plus or minus sign to indicate whether the enhancement is a benefit or a drawback.

For example, +regen adds regeneration to an armor segment, while -decay causes the armor to decay.

Currently, one a single enhancement can be specified. For example, you cannot specify both +regen and +hpBonus on the same entry.

HP and Damage Bonuses

+hpBonus:{bonus}
-hpBonus:{penalty}

When applied to armor or shields, this enhancement increases (or decreases) the maximum hit points of the item. When applied to a weapon, it increases (or decreases) the total damage dealt.

For example, +hpBonus:10 adds 10% to hit points, while -hpBonus:25 subtracts 25% from maximum hit points. The bonus value is restricted to values from -100 to +1000.

Specifying no bonus (or a bonus of 0) adds (or subtracts) 10% to the current enhancement. This allows enhancements to stack. For example, if an armor segment is enhanced to +20%, adding +hpBonus (with no bonus value) will increase the enhancement to +30%.

Damage Resistance

+hpBonus:{damageType}:{bonus}
-hpBonus:{damageType}:{penalty}
+resist:{damageType}:{damageAdj}
+resistDamageClass:{damageType}:{damageAdj}
+resistDamageTier:{damageType}:{damageAdj}
+resistEnergy:{damageAdj}
+resistMatter:{damageAdj}

These enhancements can be applied to armor or shields to increase (or decrease) their resistance to one or more damage types.

The hpBonus version allow you to specify resistance in terms of bonuses (or penalties) to hit points for certain damage types. For example, +hpBonus:laser:10 sets the damage resistance to laser such that the armor will appear to have +10% more hit points when hit by laser damage.

Only a certain set of bonuses/penalties are supported, however. Valid bonus values are: 10, 25, 40, 65, 100, 150, 235, 400, and 900. Valid penalty values are -10, -20, -30, -40, -50, -60, -70, -80, and -90.

The resist version is the same except it specifies damage resistance in terms of adjustments to damage. For example, +resist:laser:90 means that the armor segment will only take 90% of the laser damage it is hit with. That is, for every 10 points of laser damage, the armor will only lose 9.

Conversely, damage resistance greater than 100 will increase damage. -resist:laser:150 means that for every 10 hit points of laser damage, the armor will lose 15 points.

resistDamageTier sets damage adjustment for the given damage type and its tier mate. For example, +resistDamageTier:laser:90 sets damage adjustment for both laser and kinetic damage.

resistDamageClass sets damage adjustment for the given damage type and its next-tier mate. For example, +resistDamageClass:laser:90 sets damage adjustment for laser and particle damage (which is the next damage tier).

resistEnergy sets damage adjustment for all energy damage type (laser, particle, ion, etc.). resistMatter sets damage adjustment for the remaining types (kinetic, blast, thermo, etc.).

Damage Reflection

+reflect:{damageType}

This enhancement causes armor or shields to reflect the given damage type.

Damage Immunity

+immunity:blinding
+immunity:device
+immunity:deviceDisrupt
+immunity:disintegration
+immunity:EMP
+immunity:ionEffects
+immunity:radiation
+immunity:shatter

These enhancements give armor segments immunity to various special damage effects. Most are self-explanatory. +immunity:ionEffects includes all special damage from ion weapons: blinding, EMP, device damage, and device disruption.

Regeneration and Decay

+regen
-decay

+regen adds persistent regeneration to an armor segment. Armor will regenerate 1% of maximum hit points every 180 ticks.

-decay causes armor to lose hit points. It is currently hard-coded to lose 0.2 hit points per 180 ticks.

Omnidirectional, Swivel, and Tracking

Weapons may be enhanced to confer swivel, tracking, etc.:

+omnidirectional
+swivel:{degrees}
+tracking:{degrees}

Fire Rate Enhancement

+speed:{delayAdj}

This enhancement alters the time between shots. Values below 100 decrease the delay between shots. For example, +speed:70 sets the delay to 70% of its normal value.

Conversely, values above 100 increase the delay between shots. -speed:150 sets the delay to 150% of its normal value.

Special Damage

+armor:{value}
+blinding:{value}
+device:{value}
+deviceDisrupt:{value}
+disintegration:{value}
+EMP:{value}
+mining:{value}
+momentum:{value}
+radiation:{value}
+shatter:{value}
+shield:{value}
+shieldPenetrate:{value}
+WMD:{value}

These enhancement add special damage to weapons. For example, +WMD:3 adds WMD damage (at level 3) to a weapon.

the_shrike 18 Aug 2017:

We could use some extra documentation here on the special damage: not all of them work the same way and it's helpful to have that info in the same place as everything else.