示例#1
0
        public override void OnCast()
        {
            Item shoes = Caster.FindItemOnLayer(Layer.Shoes);

            if (Caster.Mounted)
            {
                Caster.SendMessage("You cannot use this power while on a mount!");
            }
            else if (shoes is BootsofHermes)
            {
                Caster.SendMessage("You cannot use this power while wearing those magical boots!");
            }
            else if (CheckFizzle())
            {
                if (!Caster.CanBeginAction(typeof(SythSpeed)))
                {
                    SythSpeed.RemoveEffect(Caster);
                }

                int TotalTime = (int)(GetSythDamage(Caster) * 4);
                if (TotalTime < 600)
                {
                    TotalTime = 600;
                }
                TableSythRunning[Caster] = SpeedControl.MountSpeed;
                Caster.Send(SpeedControl.MountSpeed);
                new InternalTimer(Caster, TimeSpan.FromSeconds(TotalTime)).Start();
                Caster.BeginAction(typeof(SythSpeed));
                Point3D air = new Point3D((Caster.X + 1), (Caster.Y + 1), (Caster.Z + 5));
                Effects.SendLocationParticles(EffectItem.Create(air, Caster.Map, EffectItem.DefaultDuration), 0x37CC, 9, 32, 0xB00, 0, 5022, 0);
                Caster.PlaySound(0x654);
            }

            FinishSequence();
        }
示例#2
0
 protected override void OnTick()
 {
     if (DateTime.Now >= m_Expire)
     {
         SythSpeed.RemoveEffect(m_m);
         Stop();
     }
 }