Beispiel #1
0
        public override string ToString()
        {
            string weaponString = base.ToString() + ", ";

            weaponString += NumberHands.ToString() + ", ";
            weaponString += AttackValue.ToString() + ", ";
            weaponString += AttackModifier.ToString() + ", ";
            weaponString += DamageEffect.ToString();

            foreach (string s in AllowableClasses)
            {
                weaponString += ", " + s;
            }

            return(weaponString);
        }
Beispiel #2
0
        public override string ToString()
        {
            string weapString = base.ToString() + ", ";

            weapString += NumberHands.ToString() + ", ";
            weapString += AttackValue.ToString() + ", ";
            weapString += AttackModifier.ToString() + ", ";
            weapString += DamageValue.ToString() + ", ";
            weapString += DamageModifier.ToString() + ", ";

            foreach (Type t in allowableClasses)
            {
                weapString += ", " + t.Name;
            }

            return(base.ToString());
        }
Beispiel #3
0
        public override void OnCast()
        {
            if (!CheckSequence())
            {
                return;
            }

            Phase           = 1;
            DefenseModifier = GetMasteryLevel() * 6;

            Caster.PlaySound(0x101);
            Caster.FixedEffect(0x37C4, 0x1, 0x8, 0x4EB, 0);

            Caster.PrivateOverheadMessage(MessageType.Regular, 1150, 1155988, Caster.NetState); // *You enter a thrusting stance!*

            BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.Thrust, 1155989, 1155990, String.Format("{0}\t{1}\t{2}", AttackModifier.ToString(), DefenseModifier.ToString(), ScaleMana(30).ToString())));
            //Your next physical attack will be increased by +~1_VAL~% damage while reducing your victim's physical attack damage by ~2_VAL~%.<br>Mana Upkeep Cost: ~3_VAL~.

            FinishSequence();
            BeginTimer();
        }
Beispiel #4
0
        private void Reset()
        {
            DefenseModifier = 0;
            Target          = null;

            BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.Thrust, 1155989, 1155990, String.Format("{0}\t{1}\t{2}", AttackModifier.ToString(), (GetMasteryLevel() * 6).ToString(), ScaleMana(30).ToString())));
            //Your next physical attack will be increased by +~1_VAL~% damage while reducing your victim's physical attack damage by ~2_VAL~%.<br>Mana Upkeep Cost: ~3_VAL~.

            if (Target != null)
            {
                BuffInfo.RemoveBuff(Target, BuffIcon.ThrustDebuff);
            }
        }
Beispiel #5
0
        public override void OnHit(Mobile defender, ref int damage)
        {
            int currentMod = AttackModifier;

            if (Target != defender)
            {
                Phase           = 1;
                DefenseModifier = (GetMasteryLevel() * 6);

                Target = defender;
                new InternalTimer(this, defender);
            }
            else
            {
                DefenseModifier += (GetMasteryLevel() * 6);
                Phase++;
            }

            damage = (int)(damage + (damage * (currentMod / 100.0)));
            defender.FixedEffect(0x36BD, 0x1, 0xE, 0x776, 0);

            BuffInfo.AddBuff(defender, new BuffInfo(BuffIcon.ThrustDebuff, 1155989, 1156234, TimeSpan.FromSeconds(8), defender, DefenseModifier.ToString()));
            // All damage from your physical attacks have been reduced by ~1_val~%.

            BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.Thrust, 1155989, 1155990, String.Format("{0}\t{1}\t{2}", AttackModifier.ToString(), (GetMasteryLevel() * 6).ToString(), ScaleMana(30).ToString())));
            //Your next physical attack will be increased by +~1_VAL~% damage while reducing your victim's physical attack damage by ~2_VAL~%.<br>Mana Upkeep Cost: ~3_VAL~.

            if (!CheckMana())
            {
                Reset();
                Expire();
            }
        }
Beispiel #6
0
        public override void OnHit(Mobile defender, ref int damage)
        {
            int mana = ScaleMana(GetMana());

            if (Caster.Mana < mana)
            {
                Expire();
                return;
            }

            Caster.Mana -= mana;

            if (Target != defender)
            {
                AttackModifier  = GetMasteryLevel() * 6;
                DefenseModifier = GetMasteryLevel() * 6;

                Target = defender;
                BuffInfo.AddBuff(defender, new BuffInfo(BuffIcon.ThrustDebuff, 1155989, BuffInfo.Blank, ""));

                Server.Timer.DelayCall(TimeSpan.FromSeconds(8), () =>
                {
                    Reset();
                });
            }
            else
            {
                AttackModifier  = Math.Min(MaxAttack, AttackModifier + (GetMasteryLevel() * 6));
                DefenseModifier = Math.Min(MaxDefense, DefenseModifier + (GetMasteryLevel() * 6));
            }

            BuffInfo.RemoveBuff(Caster, BuffIcon.Thrust);

            BuffInfo.AddBuff(Caster, new BuffInfo(BuffIcon.Thrust, 1155989, 1155990, String.Format("{0}\t{1}\t{2}", AttackModifier.ToString(), DefenseModifier.ToString(), ScaleMana(30).ToString())));
            //Your next physical attack will be increased by +~1_VAL~% damage while reducing your victim's physical attack damage by ~2_VAL~%.<br>Mana Upkeep Cost: ~3_VAL~.

            damage = (int)((double)damage + ((double)damage * ((double)DefenseModifier / 100.0)));
            defender.FixedEffect(0x36BD, 20, 10, 2725, 5);
        }