private void GetArgsList() { Help = (bool)ArgsList[0]; DisplayMessages = (bool)ArgsList[1]; MessagesTitle = (string)ArgsList[2]; OldMessagesTitle = (string)ArgsList[3]; Messages = (string)ArgsList[4]; OldMessages = (string)ArgsList[5]; PageInfoList = (ArrayList)ArgsList[12]; SettingsCheckBoxesList = (ArrayList)ArgsList[17]; megaSpawner = (MegaSpawner)ArgsList[19]; AVSArgsList = (ArrayList)ArgsList[22]; AVSSetList = (ArrayList)ArgsList[23]; PersonalConfigList = (ArrayList)ArgsList[28]; cpg = (int)PageInfoList[12]; pg = (int)PageInfoList[13]; StyleTypeConfig = (StyleType)PersonalConfigList[0]; BackgroundTypeConfig = (BackgroundType)PersonalConfigList[1]; DefaultTextColor = (TextColor)PersonalConfigList[4]; TitleTextColor = (TextColor)PersonalConfigList[5]; MessagesTextColor = (TextColor)PersonalConfigList[6]; CommandButtonsTextColor = (TextColor)PersonalConfigList[7]; PageNumberTextColor = (int)PersonalConfigList[8]; FlagTextColor = (TextColor)PersonalConfigList[14]; }
public static void CheckDupedEntries(MegaSpawner megaSpawner) { for (int i = 0; i < megaSpawner.EntryList.Count; i++) { string entryType = (string)megaSpawner.EntryList[i]; int count = 0; for (int j = 0; j < megaSpawner.EntryList.Count; j++) { string entryCompare = (string)megaSpawner.EntryList[j]; if (entryType == entryCompare) { count++; } if (count > 1) { megaSpawner.DeleteEntry(i); i--; break; } } } }
public static Point3D GetSpawnPosition(MegaSpawner megaSpawner) { int range = megaSpawner.OverrideSpawnRange; for (int i = 0; i < MegaSpawner.spawnRetries; i++) { int x, y; if (megaSpawner.RootParent is Container) { x = ((Container)megaSpawner.RootParent).Location.X; y = ((Container)megaSpawner.RootParent).Location.Y; } else { x = megaSpawner.Location.X; y = megaSpawner.Location.Y; } x += (Utility.Random(((int)range * 2) + 1) - range); y += (Utility.Random(((int)range * 2) + 1) - range); int z = megaSpawner.Map.GetAverageZ(x, y); if (megaSpawner.Map.CanSpawnMobile(new Point2D(x, y), megaSpawner.Location.Z)) { return(new Point3D(x, y, megaSpawner.Location.Z)); } else if (megaSpawner.Map.CanSpawnMobile(new Point2D(x, y), z)) { return(new Point3D(x, y, z)); } } return(megaSpawner.Location); }
public static void CheckSpawnTime(MegaSpawner megaSpawner, int time) { int beginTime = megaSpawner.OverrideBeginTimeBased; int endTime = megaSpawner.OverrideEndTimeBased; if (endTime < beginTime) { if (beginTime <= time && time <= 1439) { Spawn(megaSpawner); } if (time <= endTime) { Spawn(megaSpawner); } } else { if (beginTime <= time && time <= endTime) { Spawn(megaSpawner); } } }
private void SetTimers() { switch (timerTypeSwitch) { case TimerType.Master: { MC.StartTimer(); break; } default: { MC.CheckSpawners(); for (int i = 0; i < MC.SpawnerList.Count; i++) { MegaSpawner megaSpawner = (MegaSpawner)MC.SpawnerList[i]; megaSpawner.Start(); } break; } } }
public static DateTime FindFirstSpawnCounter(MegaSpawner megaSpawner) { DateTime lowestDelay = DateTime.Now; for (int i = 0; i < megaSpawner.OverrideRespawnEntryList.Count; i++) { if (megaSpawner.OverrideRespawnEntryList[i] is string) { if ((string)megaSpawner.OverrideRespawnEntryList[i] == "") { if (megaSpawner.OverrideGroupSpawn) { lowestDelay = (DateTime)megaSpawner.OverrideSpawnCounterList[i]; } else if (lowestDelay >= DateTime.Now && (DateTime)megaSpawner.OverrideSpawnCounterList[i] < DateTime.Now) { lowestDelay = (DateTime)megaSpawner.OverrideSpawnCounterList[i]; } else if (lowestDelay > (DateTime)megaSpawner.OverrideSpawnCounterList[i]) { lowestDelay = (DateTime)megaSpawner.OverrideSpawnCounterList[i]; } } } } return(lowestDelay); }
public static void OnMovement(MegaSpawner megaSpawner, Mobile mobile, Point3D oldLocation) { if (EventSpawnAttempt(megaSpawner, SpawnType.Proximity)) { if (Utility.InRange(megaSpawner.Location, mobile.Location, megaSpawner.OverrideEventRange)) { int entryCount = CountEntries(megaSpawner); if (megaSpawner.OverrideGroupSpawn && entryCount != 0) { return; } if ((megaSpawner.OverrideGroupSpawn && entryCount == 0) || CheckEventAmbush(megaSpawner)) { FullSpawn(megaSpawner); } else { SingleSpawn(megaSpawner); } } megaSpawner.OverrideTriggerEventNow = false; } }
public static int FindFirstSpawnTime(MegaSpawner megaSpawner) { int lowestDelay = 0; for (int i = 0; i < megaSpawner.OverrideRespawnEntryList.Count; i++) { if (megaSpawner.OverrideRespawnEntryList[i] is string) { if ((string)megaSpawner.OverrideRespawnEntryList[i] == "") { if (megaSpawner.OverrideGroupSpawn) { lowestDelay = (int)megaSpawner.OverrideSpawnTimeList[i]; } else if (lowestDelay <= 0 && (int)megaSpawner.OverrideSpawnTimeList[i] > 0) { lowestDelay = (int)megaSpawner.OverrideSpawnTimeList[i]; } else if (lowestDelay > (int)megaSpawner.OverrideSpawnTimeList[i]) { lowestDelay = (int)megaSpawner.OverrideSpawnTimeList[i]; } } } } return(lowestDelay - MegaSpawner.tickOffset); }
public static void RemoveRespawnEntries(MegaSpawner megaSpawner, int index) { string entryType = (string)megaSpawner.EntryList[index]; for (int i = 0; i < megaSpawner.OverrideRespawnEntryList.Count; i++) { object o = megaSpawner.OverrideRespawnEntryList[i]; if (o is Item && ((Item)o).GetType().Name.ToLower() == entryType.ToLower()) { megaSpawner.OverrideRespawnEntryList.RemoveAt(i); megaSpawner.OverrideRespawnTimeList.RemoveAt(i); megaSpawner.OverrideSpawnCounterList.RemoveAt(i); megaSpawner.OverrideSpawnTimeList.RemoveAt(i); megaSpawner.OverrideDespawnTimeList.RemoveAt(i); i--; } else if (o is Mobile && ((Mobile)o).GetType().Name.ToLower() == entryType.ToLower()) { megaSpawner.OverrideRespawnEntryList.RemoveAt(i); megaSpawner.OverrideRespawnTimeList.RemoveAt(i); megaSpawner.OverrideSpawnCounterList.RemoveAt(i); megaSpawner.OverrideSpawnTimeList.RemoveAt(i); megaSpawner.OverrideDespawnTimeList.RemoveAt(i); i--; } } }
public static void ClearSpawner(MegaSpawner megaSpawner) { CheckEntries(megaSpawner); DeleteEntries(megaSpawner); megaSpawner.WipeArrayLists(); }
public static void CheckEntries(MegaSpawner megaSpawner) { for (int i = 0; i < megaSpawner.OverrideSpawnedEntries.Count; i++) { object o = megaSpawner.OverrideSpawnedEntries[i]; if (o is Item) { Item item = (Item)o; if (megaSpawner.OverrideLastMovedList[i] is int) { megaSpawner.OverrideLastMovedList[i] = item.LastMoved; } DateTime lastMoved = (DateTime)megaSpawner.OverrideLastMovedList[i]; if (item.RootParent != null && item.RootParent == (object)megaSpawner.ContainerSpawn && lastMoved != item.LastMoved) { lastMoved = item.LastMoved; megaSpawner.OverrideLastMovedList[i] = item.LastMoved; } if (item.Deleted || (item.RootParent != null && megaSpawner.ContainerSpawn != null && item.RootParent != (object)megaSpawner.ContainerSpawn) || (item.RootParent != null && megaSpawner.RootParent != null && item.RootParent != megaSpawner.RootParent) || lastMoved != item.LastMoved) { megaSpawner.OverrideSpawnedEntries.RemoveAt(i); megaSpawner.OverrideLastMovedList.RemoveAt(i); SpawnCounter(megaSpawner, o); i--; } } else if (o is Mobile) { Mobile mob = (Mobile)o; if (mob.Deleted || (mob is BaseCreature && (((BaseCreature)mob).Controlled || ((BaseCreature)mob).IsStabled))) { megaSpawner.OverrideSpawnedEntries.RemoveAt(i); megaSpawner.OverrideLastMovedList.RemoveAt(i); SpawnCounter(megaSpawner, o); i--; } } else { megaSpawner.OverrideSpawnedEntries.RemoveAt(i); megaSpawner.OverrideLastMovedList.RemoveAt(i); SpawnCounter(megaSpawner, o); i--; } } }
public static void RemoveRespawnEntries(MegaSpawner megaSpawner) { megaSpawner.OverrideRespawnEntryList.Clear(); megaSpawner.OverrideRespawnTimeList.Clear(); megaSpawner.OverrideSpawnCounterList.Clear(); megaSpawner.OverrideSpawnTimeList.Clear(); megaSpawner.OverrideRespawnOnSave = false; megaSpawner.OverrideDespawnTimeList.Clear(); }
public static void ResetSpawnTime(MegaSpawner megaSpawner) { for (int i = 0; i < megaSpawner.OverrideRespawnEntryList.Count; i++) { megaSpawner.OverrideRespawnTimeList[i] = 0; megaSpawner.OverrideSpawnCounterList[i] = DateTime.Now; megaSpawner.OverrideSpawnTimeList[i] = 0; megaSpawner.OverrideDespawnTimeList[i] = 0; } }
public static void FullSpawn(MegaSpawner megaSpawner) { int index; for (int i = 0; i < megaSpawner.OverrideAmount; i++) { index = SelectIndex(megaSpawner, megaSpawner.EntryList.Count); SpawnEntry(megaSpawner, index); } }
private void ResetHideSpawnerList() { MC.CheckSpawners(); for (int i = 0; i < MC.SpawnerList.Count; i++) { MegaSpawner megaSpawner = (MegaSpawner)MC.SpawnerList[i]; HideSpawnerList[i] = (bool)false; } }
private void SetNewSpawnerWorkspaceList() { MC.CheckSpawners(); for (int i = 0; i < MC.SpawnerList.Count; i++) { MegaSpawner megaSpawner = (MegaSpawner)MC.SpawnerList[i]; HideSpawnerList[i] = (bool)true; } }
public static void BringToHome(MegaSpawner megaSpawner) { for (int i = 0; i < megaSpawner.OverrideSpawnedEntries.Count; i++) { object o = megaSpawner.OverrideSpawnedEntries[i]; if (o is Mobile) { ((Mobile)o).Location = megaSpawner.Location; } } }
public override void OnResponse(Server.Network.NetState sender, RelayInfo info) { switch (info.ButtonID) { case 0: // Close Gump { MessagesTitle = "Delete Empty Spawners"; Messages = "You have chosen not to delete all empty spawners on the entire server."; SetArgsList(); gumpMobile.SendGump(new PlugInsGump(gumpMobile, ArgsList)); break; } case 1: // Delete Empty Spawners { int count = 0; for (int i = 0; i < MC.SpawnerList.Count; i++) { MegaSpawner megaSpawner = (MegaSpawner)MC.SpawnerList[i]; if (megaSpawner.EntryList.Count == 0) { count++; megaSpawner.Delete(); } } MessagesTitle = "Delete Empty Spawners"; if (count > 0) { Messages = String.Format("{0} empty Mega Spawner{1} been deleted.", count, count == 1 ? " has" : "s have"); } else { Messages = "There are no empty Mega Spawners on the entire server."; } SetArgsList(); ArgsList[34] = (bool)true; // RefreshSpawnerLists gumpMobile.SendGump(new PlugInsGump(gumpMobile, ArgsList)); break; } } }
public static bool CheckEventAmbush(MegaSpawner megaSpawner) { int entryCount = CountEntries(megaSpawner); if (entryCount != 0) { return(false); } else { return(true); } }
private void GetArgsList() { MessagesTitle = (string)ArgsList[2]; Messages = (string)ArgsList[4]; MSEGCheckBoxesList = (ArrayList)ArgsList[14]; megaSpawner = (MegaSpawner)ArgsList[19]; PersonalConfigList = (ArrayList)ArgsList[28]; StyleTypeConfig = (StyleType)PersonalConfigList[0]; BackgroundTypeConfig = (BackgroundType)PersonalConfigList[1]; DefaultTextColor = (TextColor)PersonalConfigList[4]; TitleTextColor = (TextColor)PersonalConfigList[5]; }
public static void ForceReconfigRespawn(MegaSpawner megaSpawner) { for (int i = 0; i < megaSpawner.OverrideAmount; i++) { megaSpawner.OverrideRespawnEntryList.Add(""); megaSpawner.OverrideRespawnTimeList.Add(0); megaSpawner.OverrideSpawnCounterList.Add(DateTime.Now); megaSpawner.OverrideSpawnTimeList.Add(0); megaSpawner.OverrideDespawnTimeList.Add(0); } Respawn(megaSpawner); }
public static void Spawn(MegaSpawner megaSpawner) { int entryCount = CountEntries(megaSpawner); if (megaSpawner.Respawning || (megaSpawner.OverrideGroupSpawn && entryCount == 0)) { FullSpawn(megaSpawner); } else { SingleSpawn(megaSpawner); } }
protected override void OnTarget(Mobile from, object targeted) { MegaSpawner ms = null; if (targeted is MegaSpawner) { ms = (MegaSpawner)targeted; } if (ms != null) { ms.Dupe(from, count); } }
private void CheckSpawners() { for (int i = 0; i < SpawnerList.Count; i++) { MegaSpawner megaSpawner = (MegaSpawner)SpawnerList[i]; if (megaSpawner.Deleted) { SpawnerList.RemoveAt(i); i--; } } }
private void CompileSpawnerList() { SpawnerList.Clear(); MC.CheckSpawners(); for (int i = 0; i < MC.SpawnerList.Count; i++) { MegaSpawner megaSpawner = (MegaSpawner)MC.SpawnerList[i]; if (!(bool)HideSpawnerList[i]) { SpawnerList.Add(megaSpawner); } } }
public static void TickDown(MegaSpawner megaSpawner, int delay) { for (int i = 0; i < megaSpawner.OverrideRespawnEntryList.Count; i++) { if (megaSpawner.OverrideRespawnEntryList[i] is string) { if ((string)megaSpawner.OverrideRespawnEntryList[i] == "") { if ((int)megaSpawner.OverrideRespawnTimeList[i] > 0) { megaSpawner.OverrideRespawnTimeList[i] = (int)megaSpawner.OverrideRespawnTimeList[i] - delay; } } } } }
public static void SingleSpawn(MegaSpawner megaSpawner) { if (megaSpawner.OverrideGroupSpawn) { return; } int entryCount = CountEntries(megaSpawner); int index = SelectIndex(megaSpawner, megaSpawner.EntryList.Count); if (entryCount < megaSpawner.OverrideAmount) { SpawnEntry(megaSpawner, index); } }
public static void SpawnCounter(MegaSpawner megaSpawner, object o) { object fromCompare = o; if (o is Item) { fromCompare = (Item)o; } else if (o is Mobile) { fromCompare = (Mobile)o; } for (int i = 0; i < megaSpawner.OverrideRespawnEntryList.Count; i++) { if (megaSpawner.OverrideRespawnEntryList[i] is Mobile || megaSpawner.OverrideRespawnEntryList[i] is Item) { object toCompare = megaSpawner.OverrideRespawnEntryList[i]; if (megaSpawner.OverrideRespawnEntryList[i] is Item) { toCompare = (Item)megaSpawner.OverrideRespawnEntryList[i]; } else if (megaSpawner.OverrideRespawnEntryList[i] is Mobile) { toCompare = (Mobile)megaSpawner.OverrideRespawnEntryList[i]; } if (fromCompare == toCompare && (int)megaSpawner.OverrideRespawnTimeList[i] <= MegaSpawner.tickOffset) { string entryType = Convert.ToString(toCompare.GetType().Name.ToLower()); megaSpawner.OverrideRespawnEntryList[i] = ""; if (megaSpawner.OverrideGroupSpawn && IsEmpty(megaSpawner)) { AddSpawnCount(megaSpawner, i); } else if (!megaSpawner.OverrideGroupSpawn) { AddSpawnCount(megaSpawner, i); } return; } } } }
public static void DeleteEntries(MegaSpawner megaSpawner) { for (int i = 0; i < megaSpawner.OverrideSpawnedEntries.Count; i++) { object o = megaSpawner.OverrideSpawnedEntries[i]; MC.DeleteObject(o); if (megaSpawner.OverrideRespawnEntryList.Count == megaSpawner.OverrideSpawnedEntries.Count) { megaSpawner.OverrideRespawnEntryList[i] = ""; } } megaSpawner.OverrideSpawnedEntries.Clear(); megaSpawner.OverrideLastMovedList.Clear(); }
public static int CountEntries(MegaSpawner megaSpawner, int index) { int entryCount = 0; for (int i = 0; i < megaSpawner.OverrideSpawnedEntries.Count; i++) { object o = megaSpawner.OverrideSpawnedEntries[i]; string entryType = (string)megaSpawner.EntryList[index]; if (o.GetType().Name.ToLower() == entryType.ToLower()) { entryCount++; } } return(entryCount); }