Beispiel #1
0
 public override BuffData CreateInstance()
 {
     PoisonBuffData data = new PoisonBuffData ();
     data.info = this;
     data.current = GameManager.Instance.currentTurn;
     data.expire = GameManager.Instance.currentTurn + turn + 1;
     return data;
 }
Beispiel #2
0
        public override BaseBuffData CreateBuff(EnemyInstance target)
        {
            if (TotalAmount && InfiniteDuration)
            {
                throw new InvalidOperationException("Cannot use total poison damage if we don't know how long it lasts.");
            }

            if (InfiniteDuration)
            {
                return(PoisonBuffData.FromDps(target, PoisonAmount, float.PositiveInfinity));
            }

            return(TotalAmount
                ? PoisonBuffData.FromTotalDamage(target, PoisonAmount, Duration)
                : PoisonBuffData.FromDps(target, PoisonAmount, Duration));
        }
Beispiel #3
0
        public override void ApplySpecialEffect(EnemyInstance target)
        {
            var poisonBuff = PoisonBuffData.FromDps(target, Dps, Duration);

            poisonBuff.Activate();
        }