public override void OnApply(BuffInstance instance) { instance.ApplyBuffMod(AttackModHandler.Generate(EventFlag.ATTACKED, (atkInst) => { atkInst.IsDefended = true; atkInst.HitChance = 0; instance.Remove(); })); }
public override void OnApply(BuffInstance instance) { instance.Target.GetComponent <AbilityCaster>().AddDisabler(); instance.ApplyBuffMod(AttackModHandler.Generate(EventFlag.HIT_BY_ATTACK, (atkInst) => { DamageInstance.Damage(instance.OriginEffect, instance.Caster, instance.Target, instance.Data.MainValue * (atkInst.IsCrit ? 2 : 1), instance.Data.MainType); instance.Remove(); })); }
public void Apply(AbilityEffect origin, AbilityCaster caster, EventHandler target, AbilityData data) { if (!_doesStack) { BuffInstance existingBuff = target.Buffs.FirstOrDefault( (buffInst) => buffInst.Caster == caster && buffInst.Buff == this); if (existingBuff != null) { existingBuff.Remove(); } } BuffInstance.ApplyBuff(origin, this, caster, target, data); }