コード例 #1
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect) && m_Player.CanDrink(PotionEffect.LesserFloat) && m_Player.CanDrink(PotionEffect.Float) && m_Player.InLOS(new Point3D(m_Player.X, m_Player.Y, m_Player.Z + 30)))
            {
                m_Player.Z       += 5;
                m_Player.CantWalk = true;
                m_Player.Emote("*begin to hover off the ground!*");
            }

            base.Drink(from);
        }
コード例 #2
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect) && (m_Player.Body == 0x190 || m_Player.Body == 0x191))
            {
                m_Player.SendMessage("You feel a little strange...");

                if (m_Player.Body == 0x190)
                {
                    m_Player.BodyMod = 0x191;
                }
                else
                {
                    m_Player.BodyMod = 0x190;
                }
            }
            else
            {
                m_Player.SendMessage("It has no effect.");

                m_Player.RevealingAction();

                m_Player.PlaySound(0x2D6);
                m_Player.AddToBackpack(new Bottle());

                this.Consume();

                return;
            }

            base.Drink(from);
        }
コード例 #3
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect))
            {
                StatMod OrcGrowthSTRMod = new StatMod(StatType.Str, (int)m_Player.Serial + " Growth Str", 50, TimeSpan.FromMinutes(10));
                m_Player.AddStatMod(OrcGrowthSTRMod);

                if (m_Player.IsOrc())
                {
                    m_Player.OBody = 0xBD;                     // orc brute
                }
                else if (m_Player.IsDwarf())
                {
                    m_Player.OBody = 0x4C;                     // Titan
                }
                else if (m_Player.IsDrow())
                {
                    m_Player.OBody = 0xAD;                     //Mephitis
                }
                else if (m_Player.IsElf())
                {
                    m_Player.OBody = 0x12D;                     // tree fellow
                }
                else if (m_Player.IsHuman())
                {
                    m_Player.OBody = 0x137;                     // shadow knight
                }
            }

            base.Drink(from);
        }
コード例 #4
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect))
            {
                m_Player.SolidHueOverride = 0x7fff;
            }

            base.Drink(from);
        }
コード例 #5
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect))
            {
                m_Player.SendMessage("You feel a tingling sensation.");
            }

            base.Drink(from);
        }
コード例 #6
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect))
            {
                m_Player.Hunger = 20;
                m_Player.SendMessage("You feel completely full.");
            }

            base.Drink(from);
        }
コード例 #7
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect))
            {
                m_Player.SendMessage("Your skin begins to tingle...");
                m_Player.Blessed = true;
            }

            base.Drink(from);
        }
コード例 #8
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect))
            {
                m_Player.Emote("*begins to fade from view...*");
                m_Timer = Timer.DelayCall(TimeSpan.FromSeconds(0.75), new TimerStateCallback(DoHide), new object[] { from });
            }

            base.Drink(from);
        }
コード例 #9
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect))
            {
                m_Player.Hunger += 3;
                m_Player.SendMessage("You feel a little less hungry.");
            }

            base.Drink(from);
        }
コード例 #10
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect))
            {
                m_Player.SendMessage("Your skin begins to tingle...");
                m_Player.AddSkillMod(new TimedSkillMod(Server.SkillName.MagicResist, true, 30.0, TimeSpan.FromMinutes(3)));
            }

            base.Drink(from);
        }
コード例 #11
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect))
            {
                m_Player.SendMessage("You feel a warmth spread throughout your body.");

                m_Player.Hits = m_Player.MaxHits;
            }

            base.Drink(from);
        }
コード例 #12
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect))
            {
                m_Player.SendMessage("Your concentration has been completely restored.");

                m_Player.Mana = m_Player.ManaMax;
            }

            base.Drink(from);
        }
コード例 #13
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (!this.TargetDrink)
            {
                if (m_Player.CanDrink(PEffect))
                {
                    m_Player.Target = new PlantTarget(m_Player, this);
                }
            }
            else
            {
                base.Drink(from);
            }
        }
コード例 #14
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect))
            {
                StatMod DwarvenRageSTRMod = new StatMod(StatType.Str, (int)m_Player.Serial + " Rage Str", 50, TimeSpan.FromSeconds(30));
                m_Player.AddStatMod(DwarvenRageSTRMod);

                StatMod DwarvenRageDEXMod = new StatMod(StatType.Dex, (int)m_Player.Serial + " Rage Dex", 50, TimeSpan.FromSeconds(30));
                m_Player.AddStatMod(DwarvenRageDEXMod);

                StatMod DwarvenRageINTMod = new StatMod(StatType.Int, (int)m_Player.Serial + " Rage Int", 50, TimeSpan.FromSeconds(30));
                m_Player.AddStatMod(DwarvenRageINTMod);
            }

            base.Drink(from);
        }
コード例 #15
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect))
            {
                m_Player.SendMessage("You find it easier to concentrate...");

                m_Player.Mana += 25;

                if (m_Player.Mana > m_Player.ManaMax)
                {
                    m_Player.Mana = m_Player.ManaMax;
                }
            }

            base.Drink(from);
        }
コード例 #16
0
        public override void Drink(Mobile from)
        {
            if (from is TeiravonMobile)
            {
                TeiravonMobile m_Player = (TeiravonMobile)from;

                if (!this.TargetDrink)
                {
                    if (m_Player.CanDrink(PEffect))
                    {
                        from.SendMessage("Target the pet to heal.");
                        from.Target = new PetHealTarget((TeiravonMobile)from, this);
                    }
                }
                else
                {
                    base.Drink(from);
                }
            }
            else
            {
                from.Hits += Utility.RandomMinMax(25, 50);
            }
        }
コード例 #17
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect))
            {
                BasePotion.PlayDrinkEffect(from);
                this.Consume();

                m_Player.SendMessage("You take a sip of the potion...");

                TimerHelper m_TimerHelper = new TimerHelper((int)m_Player.Serial);

                m_TimerHelper.Potion   = PEffect;
                m_TimerHelper.Duration = Scale(from, Duration);
                m_TimerHelper.Start();

                m_Player.SetActivePotions(PEffect, true);
            }
            else
            {
                m_Player.SendMessage("You can't drink this now.");
            }
        }