Ejemplo n.º 1
0
        public override void OnDrainLife(Mobile victim)
        {
            if (Map == null)
            {
                return;
            }

            foreach (Mobile m in SpellHelper.AcquireIndirectTargets(this, Location, Map, 20).OfType <Mobile>())
            {
                var wisp = new DarkWisp();
                wisp.MoveToWorld(Location, Map);

                Wisps.Add(wisp);

                if (Region.IsPartOf("Underwater World") && (Map == Map.Trammel || Map == Map.Felucca))
                {
                    int teleportchance = Hits / HitsMax;

                    if (teleportchance < Utility.RandomDouble() && m.Alive)
                    {
                        switch (Utility.Random(6))
                        {
                        case 0: m.MoveToWorld(new Point3D(6431, 1664, 0), Map); break;

                        case 1: m.MoveToWorld(new Point3D(6432, 1634, 0), Map); break;

                        case 2: m.MoveToWorld(new Point3D(6401, 1657, 0), Map); break;

                        case 3: m.MoveToWorld(new Point3D(6401, 1637, 0), Map); break;

                        default: m.MoveToWorld(Location, Map); break;
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
 public BarrierTimer( DarkWisp owner )
     : base(TimeSpan.FromSeconds( 1.0 ), TimeSpan.FromSeconds( 1.0 ))
 {
     m_Owner = owner;
     m_Ticks = Utility.RandomMinMax( 9, 11 );
 }
Ejemplo n.º 3
0
 public BarrierTimer(DarkWisp owner)
     : base(TimeSpan.FromSeconds(1.0), TimeSpan.FromSeconds(1.0))
 {
     m_Owner = owner;
     m_Ticks = Utility.RandomMinMax(9, 11);
 }