Ejemplo n.º 1
0
            protected override void OnTick()
            {
                if (m_Item.Deleted)
                {
                    return;
                }

                Mobile spawn;

                switch (Utility.Random(8))
                {
                default:
                case 0: spawn = new ElderGazer(); break;

                case 1: spawn = new Imp(); break;

                case 2: spawn = new OrcBrute(); break;

                case 3: spawn = new Phoenix(); break;

                case 4: spawn = new Quagmire(); break;

                case 5: spawn = new WhippingVine(); break;

                case 6: spawn = new Drake(); break;

                case 7: spawn = new VorpalBunny(); break;
                }

                spawn.MoveToWorld(m_Item.Location, m_Item.Map);

                m_Item.Delete();
            }
Ejemplo n.º 2
0
        public override bool Give(Mobile m, Item item, bool placeAtFeet)
        {
            if (item is RustyKatana || item is RustyHatchet || item is RustyDagger)
            {
                BaseCreature corp;

                if (0.25 > Utility.RandomDouble())
                {
                    corp = new WhippingVine();
                }
                else
                {
                    corp = new Corpser();
                }

                int x = m.X, y = m.Y;

                Map map = m.Map;

                for (int i = 0; map != null && i < 20; ++i)
                {
                    int tx = m.X - 10 + Utility.Random(21);
                    int ty = m.Y - 10 + Utility.Random(21);

                    LandTile t = map.Tiles.GetLandTile(tx, ty);

                    if (t.Z == -5 && ((t.ID >= 0xA8 && t.ID <= 0xAB) || (t.ID >= 0x136 && t.ID <= 0x137)) && !Spells.SpellHelper.CheckMulti(new Point3D(tx, ty, -5), map))
                    {
                        x = tx;
                        y = ty;
                        break;
                    }
                }

                corp.MoveToWorld(new Point3D(x, y, -5), map);

                corp.Home      = corp.Location;
                corp.RangeHome = 10;

                corp.PackItem(Seed.RandomPeculiarSeed(1));

                m.SendMessage("You attempted to pull a rusty weapon out of a random vine, apparently it was attached to a plant");

                return(false);                // Yes Give the Weapon to Creature, Seed on corpse now.
            }
            return(base.Give(m, item, placeAtFeet));
        }
Ejemplo n.º 3
0
        protected override TimeSpan Play(int step)
        {
            switch (step)
            {
            case 0:
            {
                Effects.PlaySound(Location, Map, 0x106);
                Effects.SendLocationParticles(EffectItem.Create(Location, Map, EffectItem.DefaultDuration), 0x3735, 1, 182, 0xBE3);

                return(TimeSpan.FromSeconds(4.0));
            }

            case 1:
            {
                Effects.PlaySound(Location, Map, 0x222);

                return(TimeSpan.FromSeconds(4.0));
            }

            case 2:
            {
                Effects.PlaySound(Location, Map, 0x21F);

                return(TimeSpan.FromSeconds(1.0));
            }

            default:
            {
                EffectItem dummy = EffectItem.Create(Location, Map, TimeSpan.FromSeconds(20.0));
                dummy.PublicOverheadMessage(MessageType.Regular, 0x3B2, true, "* Strange green tendrils rise from the ground, whipping wildly! *");
                Effects.PlaySound(Location, Map, 0x2B0);

                BaseCreature spawn = new WhippingVine();
                if (!SpawnCreature(spawn))
                {
                    spawn.Delete();
                }

                return(TimeSpan.Zero);
            }
            }
        }
Ejemplo n.º 4
0
            protected override void OnTick()
            {
                i++;
                switch (effect)
                {
                case 1:
                {
                    Item randomreg = null;
                    switch (i)
                    {
                    case 4:
                    {
                        from.PlaySound(0x222);
                        break;
                    }

                    case 8:
                    {
                        from.PlaySound(0x21F);
                        break;
                    }

                    case 13:
                    {
                        from.PrivateOverheadMessage(MessageType.Regular, 0x3B2, true, "*The ground erupts with chaotic growth!*", from.NetState);
                        from.PlaySound(0x12D);
                        randomreg        = RandomReg();
                        randomreg.Amount = Utility.RandomMinMax(15, 22);
                        randomreg.MoveToWorld(p, from.Map);
                        randomreg = RandomReg();
                        randomreg.MoveToWorld(new Point3D(p.X - 1, p.Y - 1, p.Z), from.Map);
                        randomreg.Amount = Utility.RandomMinMax(14, 20);
                        break;
                    }

                    case 15:
                    {
                        from.PlaySound(0x12D);
                        randomreg = RandomReg();
                        randomreg.MoveToWorld(new Point3D(p.X, p.Y + 1, p.Z), from.Map);
                        randomreg.Amount = Utility.RandomMinMax(13, 18);
                        randomreg        = RandomReg();
                        randomreg.MoveToWorld(new Point3D(p.X + 1, p.Y - 1, p.Z), from.Map);
                        randomreg.Amount = Utility.RandomMinMax(16, 22);
                        break;
                    }

                    case 17:
                    {
                        from.PlaySound(0x12D);
                        randomreg = RandomReg();
                        randomreg.MoveToWorld(new Point3D(p.X, p.Y - 1, p.Z), from.Map);
                        randomreg.Amount = Utility.RandomMinMax(16, 20);
                        randomreg        = RandomReg();
                        randomreg.MoveToWorld(new Point3D(p.X + 1, p.Y - 1, p.Z), from.Map);
                        randomreg.Amount = Utility.RandomMinMax(14, 18);
                        break;
                    }

                    case 20:
                    {
                        from.PlaySound(0x12D);
                        randomreg = RandomReg();
                        randomreg.MoveToWorld(new Point3D(p.X + 1, p.Y + 1, p.Z), from.Map);
                        randomreg.Amount = Utility.RandomMinMax(16, 20);
                        randomreg        = RandomReg();
                        randomreg.MoveToWorld(new Point3D(p.X - 1, p.Y, p.Z), from.Map);
                        randomreg.Amount = Utility.RandomMinMax(16, 20);
                        Stop();
                        break;
                    }
                    }
                    break;
                }

                case 2:
                {
                    switch (i)
                    {
                    case 4:
                    {
                        from.PlaySound(0x222);
                        break;
                    }

                    case 8:
                    {
                        from.PlaySound(0x21F);
                        break;
                    }

                    case 9:
                    {
                        from.PlaySound(0x2B0);
                        from.PrivateOverheadMessage(MessageType.Regular, 0x3B2, true, "*Strange green tendrils rise from the ground, whipping wildly!*", from.NetState);
                        BaseCreature WV = new WhippingVine();
                        WV.Map       = from.Map;
                        WV.Location  = p;
                        WV.Combatant = from;
                        break;
                    }
                    }
                    break;
                }

                case 3:
                {
                    switch (i)
                    {
                    case 4:
                    {
                        from.PlaySound(0x222);
                        break;
                    }

                    case 8:
                    {
                        from.PlaySound(0x21F);
                        break;
                    }

                    case 13:
                    {
                        from.PrivateOverheadMessage(MessageType.Regular, 0x3B2, true, "*The sand collapses, revealing a dark hole.*", from.NetState);
                        Item SH = new SolenHiveEntrance();
                        SH.MoveToWorld(p, from.Map);
                        break;
                    }
                    }
                    break;
                }

                case 4:                        //ToDO Ice Worm
                {
                    switch (i)
                    {
                    case 4:
                    {
                        from.PlaySound(0x222);
                        break;
                    }

                    case 8:
                    {
                        from.PlaySound(0x21F);
                        break;
                    }

                    case 12:
                    {
                        from.PrivateOverheadMessage(MessageType.Regular, 0x3B2, true, "*Slithering ice serpaents rise to the surface to investigate the disturbance!*", from.NetState);
                        BaseCreature IW = new GiantIceWorm();
                        IW.Map       = from.Map;
                        IW.Location  = p;
                        IW.Combatant = from;
                        for (int j = 0; j < 3; j++)
                        {
                            BaseCreature IS = new IceSnake();
                            IS.Map       = from.Map;
                            IS.Location  = p;
                            IS.Combatant = from;
                        }
                        break;
                    }
                    }
                    break;
                }

                case 5:
                {
                    switch (i)
                    {
                    case 4:
                    {
                        Item hole = new Item(0X913);
                        hole.MoveToWorld(p, from.Map);
                        hole.Movable = false;
                        temp         = hole;
                        from.PlaySound(0x222);
                        break;
                    }

                    case 8:
                    {
                        from.PlaySound(0x21F);
                        break;
                    }

                    case 12:
                    {
                        from.PrivateOverheadMessage(MessageType.Regular, 0x3B2, true, "*A magical bunny leaps out of its hole, disturbed by the thorn's effect!*", from.NetState);
                        BaseCreature VB = new VorpalBunny();
                        VB.Map       = from.Map;
                        VB.Location  = p;
                        VB.Combatant = from;
                        ((Item)temp).Delete();
                        break;
                    }
                    }
                    break;
                }
                }
            }