示例#1
0
 protected override void OnTarget(Mobile from, object target)
 {
     if (target is SilverSerpent)
     {
         SilverSerpent serp = target as SilverSerpent;
         if (serp.Hue == 1150)
         {
             if (0.3 > Utility.RandomDouble())
             {
                 from.SendLocalizedMessage(1112219); // You skillfully extract additional resources from the creature.
                 from.AddToBackpack(new SilverSerpentVenom());
                 m_EmptyVenomVial.Delete();
                 serp.Hue = 0;
             }
             else
             {
                 from.SendLocalizedMessage(1112218); // You handle the creature but fail to harvest any resources from it.
             }
         }
         else
         {
             from.SendLocalizedMessage(1112223);// This serpent has already been drained of all its venom.
         }
     }
     else
     {
         from.SendLocalizedMessage(1112221); // You may only use this on a silver serpent.
     }
 }
示例#2
0
        public override void OnDoubleClick(Mobile from)
        {
            if (!this.CheckUse(from))
            {
                return;
            }
            Map     map = this.Map;
            Point3D loc = this.Location;

            if (from.InRange(loc, 1) || from.InLOS(this))
            {
                (this).Delete();

                Snake         snake         = new Snake();
                Mongbat       mongbat       = new Mongbat();
                SilverSerpent silverserpent = new SilverSerpent();
                Raptor        raptor        = new Raptor();
                Ballem        ballem        = new Ballem();
                FNPitchfork   fnpitchfork   = new FNPitchfork();

                switch (Utility.Random(6))
                {
                case 0:
                    snake.MoveToWorld(loc, map);
                    break;

                case 1:
                    mongbat.MoveToWorld(loc, map);
                    break;

                case 2:
                    silverserpent.MoveToWorld(loc, map);
                    break;

                case 3:
                    raptor.MoveToWorld(loc, map);
                    break;

                case 4:
                    ballem.MoveToWorld(loc, map);
                    break;

                case 5:
                    if (Utility.RandomDouble() < 0.20)
                    {
                        fnpitchfork.MoveToWorld(loc, map);
                        from.SendMessage("You find Farmer Nash's pitchfork under one of the brambles of weeds. You pick up the pitchfork and put it in your backpack.");
                        break;
                    }
                    else
                    {
                        silverserpent.MoveToWorld(loc, map);
                        break;
                    }
                }
            }
        }
示例#3
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                SilverSerpent serpent = targeted as SilverSerpent;

                if (serpent == null)
                {
                    // You may only use this on a silver serpent.
                    from.SendLocalizedMessage(1112221);
                }
                else if (!from.InRange(serpent, 1))
                {
                    // That is too far away.
                    from.SendLocalizedMessage(500446);
                }
                else if (serpent.CharmMaster == null)
                {
                    // You seem to anger the beast!
                    serpent.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 502805, from.NetState);
                }
                else if (serpent.Venom == SilverSerpent.VenomLeft.None)
                {
                    // This serpent has already been drained of all its venom.
                    from.SendLocalizedMessage(1112223);
                }
                else
                {
                    if (Utility.RandomBool())
                    {
                        from.AddToBackpack(new SilverSerpentVenom());

                        if (serpent.Venom == SilverSerpent.VenomLeft.All)
                        {
                            from.SendLocalizedMessage(1112220);                               // You manage to extract some resources from the creature.
                        }
                        else
                        {
                            from.SendLocalizedMessage(1112219);                               // You skillfully extract additional resources from the creature.
                        }
                        if (serpent.Venom == SilverSerpent.VenomLeft.Half || Utility.RandomBool())
                        {
                            serpent.Venom = SilverSerpent.VenomLeft.None;
                        }
                        else
                        {
                            serpent.Venom = SilverSerpent.VenomLeft.Half;
                        }

                        m_Vial.Consume();
                    }
                    else
                    {
                        // You handle the creature but fail to harvest any resources from it.
                        from.SendLocalizedMessage(1112218);
                    }

                    if (Utility.RandomBool())
                    {
                        from.ApplyPoison(serpent, serpent.Poison);
                    }
                }
            }