protected override bool Execute() { var knockback = new Knockback(Being.Facing, AbilityConstants.IceballKnockbackLength, AbilityConstants.IceballKnockback); var damage = AbilityConstants.IceballDamage * Being.SkillValue(SkillType.ImprovedIceball, true); Globals.GameState.Missiles.Add(new IceballMissile((Zerd)Being, new DamageInstance(knockback, damage, DamageTypes.Frost, Being, AbilityTypes.Iceball), Being.Position)); // replenish mana based on bonuses Being.Mana += AbilityConstants.IceballManaCost * ((Being.SkillValue(SkillType.FrozenSoul, false) + Being.AbilityValue(AbilityUpgradeType.IceballMana)) / 100f); return(base.Execute()); }
protected override bool Execute() { var knockback = new Knockback(Being.Facing, AbilityConstants.FireballKnockbackLength, AbilityConstants.FireballKnockback); var damage = AbilityConstants.FireballDamage * Being.SkillValue(SkillType.ImprovedFireball, true) * Being.SkillValue(SkillType.FireMastery, true) * Being.AbilityValue(AbilityUpgradeType.FireballDamage, true); Globals.GameState.Missiles.Add(new FireballMissile(Being as Zerd, new DamageInstance(knockback, damage, DamageTypes.Fire, Being, AbilityTypes.Fireball), Being.Position)); // replenish mana based on bonuses Being.Mana += AbilityConstants.FireballManaCost * (Being.AbilityValue(AbilityUpgradeType.FireballMana) / 100f); Being.AddBuff(BuffTypes.BlazingSpeed); return(base.Execute()); }