Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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());
        }