public ExploCrateType(Mobile m, RaceCrate crate)
 {
     m_Crate = crate;
     Mob = m;
     Timer.DelayCall(TimeSpan.FromSeconds(3), new TimerCallback(OnSelfDestruct));
 }
 public override void OnUsage(Mobile m)
 {
     RaceCrate crate = new RaceCrate();
     crate.m_Type = new ExploCrateType(m, crate);
     crate.MoveToWorld(m.Location, m.Map);
     CrateRace.OpenCrates--;
 }
        private static void CrateDrop()
        {
            if (Crates < MaxCrates)
            {
                RaceCrate crate = new RaceCrate();
                Point3D loc = RandomDropLocation();
                crate.MoveToWorld(loc, Map);

                Effects.PlaySound(loc, Map, 0x202);
                Effects.SendLocationEffect(loc, Map, 0x376A, 30, crate.Hue, 3);
                Effects.SendLocationEffect(loc, Map, 0x3779, 30, crate.Hue, 3);

                CrateList.Add(crate);
            }
        }