Пример #1
0
        public override void OnCast()
        {
            if (CheckWSequence() && CheckSequence() && Caster.Weapon == Weapon)
            {
                Caster.PlaySound(0x64E);
                Caster.FixedEffect(0x37C4, 10, 14, 4, 3);

                Caster.SendMessage("You enchant the weapon.");

                int prim = (int)Caster.Skills[CastSkill].Value;
                int sec  = (int)Caster.Skills[DamageSkill].Value;

                int    value    = (50 * (prim + sec)) / 240;
                double duration = ((double)(prim + sec) / 2.0) + 30.0;

                if (Table == null)
                {
                    Table = new Dictionary <Mobile, EnchantmentTimer>();
                }

                if (Table.ContainsKey(Caster))
                {
                    RemoveEnchantment(Caster);
                }

                Enhancement.SetValue(Caster, this.Attribute, value, ModName);

                if (prim >= 80 && sec >= 80)
                {
                    Enhancement.SetValue(Caster, AosAttribute.SpellChanneling, 1, ModName);
                    Enhancement.SetValue(Caster, AosAttribute.CastSpeed, -1, ModName);
                }

                Table[Caster] = new EnchantmentTimer(Caster, Weapon, this.Attribute, value, duration);

                BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.Enchant, 1080126, 1080129, TimeSpan.FromSeconds(duration), Caster, value));

                Weapon.EnchantedWeilder = Caster;

                Weapon.InvalidateProperties();
            }

            FinishSequence();
        }
Пример #2
0
        public override void OnCast()
        {
            if (CheckWSequence() && CheckSequence() && Caster.Weapon == Weapon)
            {
                Caster.PlaySound(0x64E);
                Caster.FixedEffect(0x37C4, 10, 14, 4, 3);

                Caster.SendMessage("You enchant the weapon.");

                int prim = (int)Caster.Skills[CastSkill].Value;
                int sec  = (int)Caster.Skills[DamageSkill].Value;

                int    value    = (50 * (prim + sec)) / 240;
                double duration = Math.Max(30, (double)(prim + sec) / 2.0);

                if (Table == null)
                {
                    Table = new Dictionary <Mobile, EnchantmentTimer>();
                }

                if (Table.ContainsKey(Caster))
                {
                    RemoveEnchantment(Caster);
                }

                Enhancement.SetValue(Caster, this.Attribute, value, ModName);

                if ((Weapon.ArtifactRarity > 0 || Weapon.Name != null) && Weapon.Attributes.CastSpeed >= 0)
                {
                    Enhancement.SetValue(Caster, AosAttribute.CastSpeed, -1, ModName + "CastSpeed");
                }

                Table[Caster] = new EnchantmentTimer(Caster, Weapon, this.Attribute, value, duration);

                Weapon.EnchantedWeilder = Caster;

                Weapon.InvalidateProperties();
            }

            FinishSequence();
        }
Пример #3
0
        public override void OnCast()
        {
            if (CheckWSequence() && CheckSequence() && Caster.Weapon == Weapon)
            {
                Caster.PlaySound(0x64E);
                Caster.FixedEffect(0x37C4, 10, 14, 4, 3);

                Caster.SendMessage("You enchant the weapon.");

                int prim = (int)Caster.Skills[CastSkill].Value;
                int sec = (int)Caster.Skills[DamageSkill].Value;

                int value = (50 * (prim + sec)) / 240;
                double duration = ((double)(prim + sec) / 2.0) + 30.0;

                if (Table == null)
                    Table = new Dictionary<Mobile, EnchantmentTimer>();

                if (Table.ContainsKey(Caster))
                    RemoveEnchantment(Caster);

                Enhancement.SetValue(Caster, this.Attribute, value, ModName);

                if (prim >= 80 && sec >= 80)
                {
                    Enhancement.SetValue(Caster, AosAttribute.SpellChanneling, 1, ModName);
                    Enhancement.SetValue(Caster, AosAttribute.CastSpeed, -1, ModName);
                }

                Table[Caster] = new EnchantmentTimer(Caster, Weapon, this.Attribute, value, duration);

                Weapon.EnchantedWeilder = Caster;

                Weapon.InvalidateProperties();
            }

            FinishSequence();
        }