Beispiel #1
0
 public override void OnApply(BuffInstance instance)
 {
     instance.ApplyBuffMod(AttackModHandler.Generate(EventFlag.ATTACKED,
                                                     (atkInst) =>
     {
         atkInst.IsDefended = true;
         atkInst.HitChance  = 0;
         instance.Remove();
     }));
 }
Beispiel #2
0
        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();
            }));
        }
Beispiel #3
0
 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);
 }