예제 #1
0
        public void Paralyse(object state)
        {
            Mobile from = (Mobile)state;

            from.Freeze(TimeSpan.FromSeconds(20));

            SpidersWeb web = new SpidersWeb();

            web.MoveToWorld(from.Location, this.Map);

            Item toDisarm = from.FindItemOnLayer(Layer.OneHanded);

            if (toDisarm == null || !toDisarm.Movable)
            {
                toDisarm = from.FindItemOnLayer(Layer.TwoHanded);
            }

            Container pack = from.Backpack;

            if (toDisarm != null && pack != null)
            {
                pack.DropItem(toDisarm);
            }
            from.SendMessage("You are tangled up in a web!");
        }
예제 #2
0
        public void Entangle(Mobile m)
        {
            Point3D p = Location;

            if (SpellHelper.FindValidSpawnLocation(Map, ref p, true))
            {
                TimeSpan delay = TimeSpan.FromSeconds(Utility.Random(3, 4));
                m.MoveToWorld(p, Map);
                m.Freeze(delay);
                m.SendLocalizedMessage(1042555);   // You become entangled in the spider web.

                SpidersWeb web = new SpidersWeb(m, delay);
                p.Z += 2;
                web.MoveToWorld(p, Map);

                Combatant = m;
            }
        }