-
Notifications
You must be signed in to change notification settings - Fork 3
IArmored
SmArtKar edited this page Feb 8, 2023
·
2 revisions
IArmored interface can be implemented on pawn, hediff and apparel comps. It's called in GetPostArmorDamage every time an armor calculation is required. armorStat is the relevant damage stat and metalArmor determines the VFX that are emitted upon partial/full damage mitigation
public interface IArmored
{
// Return False to halt the armor calculations
public abstract bool PreProcessArmor(ref float amount, float armorPenetration, StatDef stat, ref float armorRating, BodyPartRecord part, ref DamageDef damageDef, Pawn pawn, ref bool metalArmor, DamageDef originalDamageDef, float originalAmount);
public abstract void PostProcessArmor(ref float amount, float armorPenetration, StatDef stat, ref float armorRating, BodyPartRecord part, ref DamageDef damageDef, Pawn pawn, ref bool metalArmor, DamageDef originalDamageDef, float originalAmount);
public abstract bool CoversBodypart(ref float amount, float armorPenetration, StatDef stat, ref float armorRating, BodyPartRecord part, ref DamageDef damageDef, Pawn pawn, bool defaultCovered, out bool forceCover, out bool forceUncover);
// Must be added to AthenaCache.armorCache to work
// AthenaCache.AddCache(this, AthenaCache.armorCache, pawn.thingIDNumber)
}- Stats
- Gene Templates
- Pawn Group Utility
- Under Group Combat Pressure Think Node
- Min Prey Body Size
- Modular Things
- Gene Locked Recipes and Buildings
- Additional Gene Drops
- Angle Based Shotguns
- Following ("Running") Beams
- Pawn Turret Extensions
- Damage Modification
- Advanced Tools
- Shockwave Attacks
- Miniguns
- Elite Shot
- AOE Hediff Explosion Projectiles
- Frag Grenades
- Cooldown Graphics
- Scatter Things Ability
- Abilities on Equipment
- Burst Projectile Abilities
- Reloadable Abilities
- Shockwave Ability
- Projectile Comps
- Projectile Impact Effects
- Projectile Trails
- Bouncy Projectiles
- Spawner Projectiles
- Roof Collapse Projectiles
- Scattershot Projectiles
- Custom Body Graphic For Apparel
- Multi Layered Apparel Graphics
- Advanced Equipment Shields
- Equipment with Prerequisites
- Advanced Armor
- Gene-based Apparel Textures
- Gene Locked Equipment
- Additional Apparel Graphics Comps
- Hediff Giver Extension
- Bomb Hediff Comp
- Remove On Severity Comp
- Renderable Hediffs
- Shield Hediffs
- Armored Hediffs
- Disableable Hediffs
- Modular Hediffs
- Hediffs with Prerequisites
- Singular Hediff Abilities
- Hediff On Damage
- Additional Hediff Graphics Comps
- Caching
- IArmored
- IDamageResponse
- IRenderable
- IStageOverride
- IStatModifier
- IProjectile
- IPreventEquip
- IHediffGraphicGiver and IEquippableGraphicGiver
- IDamageModifier
- IColorSelector
- IBodyModifier