public static Buff CreateBuffFrom(Buff buff, Dictionary <Hero, Hero> heroMap) { Assert.IsNotNull(buff); switch (buff.GetBuffType()) { case BuffType.SoldierBuff: { SoliderAttackBuff res = new SoliderAttackBuff(); res.DeepCopy(buff, heroMap); return(res); } case BuffType.FireBuff: { FireBuff res = new FireBuff(0, null); res.DeepCopy(buff, heroMap); return(res); } default: break; } ; Buff fres = new Buff(); fres.DeepCopy(buff, heroMap); return(fres); }
public override bool DoChangeDamageOnAttack(ref Damage[] dmgs) { foreach (Damage d in dmgs) { FireBuff fireBuff = new FireBuff(DamagePerLayer, parent); d.buffs = new Buff[] { fireBuff }; } return(true); }