Reloadable Abilities - SmArtKar/AthenaFramework GitHub Wiki

CompProperties_AbilityReloadable allows to make reloadable abilities similarly to reloadable equipment (smokepop belts, low-shields, jump packs)

    public class CompProperties_AbilityReloadable : CompProperties_AbilityEffect
    {
        // Maximum amount of charges stored
        public int maxCharges = 1;
        // Amount of ammo spent per charge
        public int ammoPerCharge = 1;
        // Whenever the ability is removed upon all charges being spent
        public bool removeOnceEmpty = false;
        // ThingDef of an item that refills this ability
        public ThingDef ammoDef;
        // How long it takes to reload
        public int reloadDuration = 60;
        // Sound that's played upon reloading
        public SoundDef reloadSound;
        // String that's displayed when no charges are remaining
        public string noChargesRemaining = "No charges remaining.";
    }