public virtual float CannotResist(ShieldDamage damage) { var multiplier = 1.0f; if (resists.ContainsKey(damage.def.defName)) { multiplier = resists[damage.def.defName].multiplier; } return(damage.Damage * multiplier); }
public virtual float?CanResist(ShieldDamage damage) { if (resists.ContainsKey(damage.def.defName)) { var resist = resists[damage.def.defName]; if (resist.resist) { return(damage.Damage * resist.multiplier); } return(null); } return(damage.Damage); }