/// <summary> /// Handler for the GenSpawnData command /// </summary> private static void OnGenSpawnData(CommandEventArgs e) { World.Broadcast(BoxConfig.MessageHue, false, "Generating spawn data for Pandora's Box"); DateTime start = DateTime.Now; SpawnData data = new SpawnData(); ArrayList Items = new ArrayList(World.Items.Values); foreach (Item item in Items) { if (item.GetType() == SpawnerHelper.SpawnerType) { SpawnEntry entry = SpawnerHelper.SpawnerToData(item); if (entry != null) { data.m_Spawns.Add(entry); } } } data.Save(); TimeSpan duration = DateTime.Now - start; World.Broadcast(BoxConfig.MessageHue, false, string.Format("Generation complete. The process took {0} seconds", duration.TotalSeconds)); }
public override BoxMessage Perform() { Item spawner = SpawnerHelper.CreateBoxSpawn(m_Spawn); Mobile m = Authentication.GetOnlineMobile(Username); if (spawner != null && m != null) { m.SendMessage(BoxConfig.MessageHue, "Where do you wish to place the spawn?"); m.Target = new InternalTarget(m_Spawn); } return(null); }
protected override void OnTarget(Mobile from, object targeted) { IPoint3D target = targeted as IPoint3D; if (target != null) { Item spawner = SpawnerHelper.CreateBoxSpawn(m_Spawn); if (spawner != null) { spawner.MoveToWorld(new Point3D(target), from.Map); SpawnerHelper.StartSpawner(spawner); from.SendMessage(BoxConfig.MessageHue, "Spawn succesful."); } else { from.SendMessage(BoxConfig.MessageHue, "Spawn failed."); } } base.OnTarget(from, targeted); }