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

            armorString += Location.ToString() + ", ";
            armorString += DefenseValue.ToString() + ", ";
            armorString += DefenseModifier.ToString() + ", ";
            armorString += StrValue.ToString() + ", ";
            armorString += DexValue.ToString() + ", ";
            armorString += IntValue.ToString();
            foreach (Type t in allowableClasses)
            {
                armorString += ", " + t.Name;
            }
            return(armorString);
        }
Exemple #2
0
        // Also the mediator design pattern!
        // Does not modify base object
        private static void BrokerChainExample()
        {
            var game   = new Game();
            var goblin = new Monster(game, "HobGoblin", 3, 3);

            Console.WriteLine(goblin);

            using (MonsterModifier mod = new AttackModifier(game, goblin, 2))
            {
                Console.WriteLine(goblin);
            }

            Console.WriteLine(goblin);

            using (MonsterModifier mod = new DefenseModifier(game, goblin, 2))
            {
                Console.WriteLine(goblin);
            }

            Console.WriteLine(goblin);
        }
Exemple #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();
        }
Exemple #4
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();
            }
        }