public void Begin() { VvVCity newCity = City; OnGoing = true; do { newCity = (VvVCity)Utility.Random(8); }while (newCity == City); City = newCity; BeginTimer(); StartTime = DateTime.UtcNow; NextSigilSpawn = DateTime.UtcNow + TimeSpan.FromMinutes(Utility.RandomMinMax(1, 3)); AltarIndex = 0; SpawnAltars(); SpawnPriests(false); if (Region is GuardedRegion) { GuardedRegion.Disable((GuardedRegion)Region); } NextAltarActivate = DateTime.UtcNow + TimeSpan.FromMinutes(1); System.SendVvVMessage(1154721, String.Format("#{0}", ViceVsVirtueSystem.GetCityLocalization(City).ToString())); // A Battle between Vice and Virtue is active! To Arms! The City of ~1_CITY~ is besieged! }
public override void OnResponse(NetState state, RelayInfo info) { int id = info.ButtonID; if (id == 0) { return; } VvVCity city = (VvVCity)id - 1; if (ViceVsVirtueSystem.Instance.ExemptCities.Contains(city)) { ViceVsVirtueSystem.Instance.ExemptCities.Remove(city); } else { ViceVsVirtueSystem.Instance.ExemptCities.Add(city); } if (state.Gumps.Contains(this)) { state.Gumps.Remove(this); } Entries.Clear(); AddGumpLayout(); state.Mobile.SendGump(this); }
public void Begin() { OnGoing = true; NextCombatHeatCycle = DateTime.UtcNow; VvVCity newCity = City; List <VvVCity> cities = new List <VvVCity>(); Teams = new List <BattleTeam>(); KillCooldown = new Dictionary <Mobile, DateTime>(); Messages = new List <string>(); Altars = new List <VvVAltar>(); Traps = new List <VvVTrap>(); Warned = new List <Mobile>(); Turrets = new List <CannonTurret>(); for (int i = 0; i < 8; i++) { if (!System.ExemptCities.Contains((VvVCity)i) && (VvVCity)i != newCity) { cities.Add((VvVCity)i); } } if (cities.Count > 0) { newCity = cities[Utility.Random(cities.Count)]; } else if (System.ExemptCities.Contains(newCity)) { System.SendVvVMessage("All VvV cities are currently exempt."); return; } ColUtility.Free(cities); City = newCity; BeginTimer(); StartTime = DateTime.UtcNow; NextSigilSpawn = DateTime.UtcNow + TimeSpan.FromMinutes(Utility.RandomMinMax(1, 3)); AltarIndex = 0; SpawnAltars(); SpawnPriests(false); if (Region is GuardedRegion) { GuardedRegion.Disable((GuardedRegion)Region); } NextAltarActivate = DateTime.UtcNow + TimeSpan.FromMinutes(1); System.SendVvVMessage(1154721, String.Format("#{0}", ViceVsVirtueSystem.GetCityLocalization(City).ToString())); // A Battle between Vice and Virtue is active! To Arms! The City of ~1_CITY~ is besieged! }
public void AddGumpLayout() { AddBackground(0, 0, 250, 300, 83); AddHtml(0, 15, 250, 60, "<basefont color=#FFFFFF><center>City Exempt List:<br>Check any cities that you do not want participating in VvV Battles.</center>", false, false); for (int i = 0; i < 8; i++) { VvVCity city = (VvVCity)i; int button = ViceVsVirtueSystem.Instance.ExemptCities.Contains(city) ? 211 : 210; AddButton(20, 80 + (i * 23), button, button, i + 1, GumpButtonType.Reply, 0); AddHtmlLocalized(44, 80 + (i * 23), 200, 20, ViceVsVirtueSystem.GetCityLocalization(city), 0xFFFF, false, false); } }
public static int GetCityLocalization(VvVCity city) { switch (city) { default: return(0); case VvVCity.Moonglow: return(1011344); case VvVCity.Britain: return(1011028); case VvVCity.Jhelom: return(1011343); case VvVCity.Yew: return(1011032); case VvVCity.Minoc: return(1011031); case VvVCity.Trinsic: return(1011029); case VvVCity.SkaraBrae: return(1011347); case VvVCity.Ocllo: return(1076027); } }