← Back to all addons

Simple Passive ability one time applied

Posted by Benksi on Jul 23, 2025 at 6:10 PM

Experimental
💡 2

Apply this script on a gameobject and use it as GameObject for the passive ability

`
namespace Gyvr.Mythril2D
{
    [Serializable]
    public class AppliedAbilityDataBlock : PassiveAbilityBaseDataBlock
    {
        public bool applied;
    }

    public class PassiveAbility : PassiveAbility<PassiveAbilitySheet>
    {
        bool applied = false;
        private void Update()
        {
            if (!applied)
            {
                applied = true;
                ApplyEffectsToSelf(passiveAbilitySheet.effects);
            }
        }

        protected override Type GetDataBlockType() => typeof(AppliedAbilityDataBlock);

        protected override void OnLoad(PersistableDataBlock block)
        {
            base.OnLoad(block);
            applied = block.As<AppliedAbilityDataBlock>().applied;
        }

        protected override void OnSave(PersistableDataBlock block)
        {
            base.OnSave(block);
            block.As<AppliedAbilityDataBlock>().applied = applied;
        }
    }
}`

Simple Passive ability one time applied

💬 Comments (2)

Gyvr Jul 23, 2025 at 07:25 PM
Thanks for sharing! When sharing code, you can use this trick to format your code block:
Gyvr Jul 23, 2025 at 07:26 PM
👍 1

Want to continue the conversation?