

This is a dependency used by other mods to process new custom stats.
Note: CriticalHit, CriticalHeal and Avoidance have bad luck protection for players, slightly increasing the chance of success every failed attempt, to prevent bad luck streaks. Like most games do.
For user: Just download if a mod tags it as a dependency (r2modman should download automatically)
For Modders: You can all make use of the new custom attributes and make all our mods compatible and work together! Any suggestions are also welcome.
Passives stored this way will grant whatever percent you add, of the specified attribute/s ("value" is the Attribute percent you want to add. Ex: 10 would add 10% of that attribute) Call the CustomAttributeHelper and run the method you need
Example: This would make the Passive skill "Fitness" with ID 8205040 grant 10% critical hit chance
internal void Awake() { CustomAttributeHelper.PassiveCritRateStore(8205040, 10f); }
StatusEffects stored this way will TEMPORARILY grant whatever percent you add, of the specified attribute/s (it also works with leveled status effects, stacking per status level) ("value" is the Attribute percent you want to add. Ex: 10 would add 10% of that attribute) Call the CustomAttributeHelper and run the method you need
Example: This would make the StatusEffect "Rage" grant 5% avoid chance
internal void Awake() { CustomAttributeHelper.StatusAvoidanceStore("Rage", 5f); }
You can trigger special code when a player deals a critical hit, critical heal, if they avoid a hit or if critically hit by an npc. Call a CustomAttributesBase instance and subscribe to the event you need
Example: This would run a custom method on your mod whenever a player critically heals succesfully
internal void Start() { CustomAttributesBase.Instance.OnCharacterCritHealEvent += PlayerGainsGoodStatusEffectOrSomething; }
You can also get the total accumulated attributes from players if you need them for anything. By getting a reference to their CustomAttributeComponent from the Character itself.
Ex: CustomAttributeComponent playerCustomAtts = _character.GetComponent<CustomAttributeComponent>();
All other events are public in case you need them, but the ones presented here should be enough for any mod.
Any questions, bugreports, feedback or just to say hi, join the Outward Modding Community discord and leave it at the iggythemad-workshop channel, or feel free to message me directly #iggythemad .
v1.1.0 Added f5 options for notifications and flying text
v1.0.1 Fixed crit and avoid triggering from damage over time
v1.0 Release