public RVSController PickRandomArena() { if (RVS_Config.Controllers.Count > 0) { RVSController c = RVS_Config.Controllers[Utility.Random(RVS_Config.Controllers.Count)]; int count = 0; while (c.InUse || !c.Enabled && count != 100) { c = RVS_Config.Controllers[Utility.Random(RVS_Config.Controllers.Count)]; count++; } if (count == 100) { return(null); } else { return(c); } } else { return(null); } }
public void AttemptStart() { if (!CheckLoggedIn()) { Handeling.Caller.SendGump(new RVSSetup_Main(Handeling)); Handeling.EchoMessage("One or more players have logged out, the duel could not start."); this.Stop(); return; } else if (!AllAlive()) { Handeling.EchoMessage("Not all players are alive, duel start delayed."); RVS_StartTimer tmr = new RVS_StartTimer(Handeling, (C + 1), (A + 1)); this.Stop(); return; } else if (!AllDismounted()) { //Handeling.EchoMessage("Not all participants are dismounted, duel start delayed."); //RVS_StartTimer tmr = new RVS_StartTimer(Handeling, (C + 1), (A + 1)); //this.Stop(); //return; } else if (!NoneFlagged()) { //Handeling.EchoMessage("Some participants have been in combat to recently for the duel to start, duel start delayed."); //RVS_StartTimer tmr = new RVS_StartTimer(Handeling, (C + 1), (A + 1)); //this.Stop(); //return; } else if (!NoneInJail()) { Handeling.EchoMessage("Some participants are in areas where duels cannot take place, duel start delayed."); RVS_StartTimer tmr = new RVS_StartTimer(Handeling, (C + 1), (A + 1)); this.Stop(); return; } RVSController avail = PickRandomArena(); if (avail == null) { avail = ArenaAvaiable(); } if (avail != null) { Handeling.EchoMessage("RVS Duel starting!"); avail.StartRVS(Handeling); return; } else { Handeling.Caller.SendGump(new RVSSetup_Main(Handeling)); Handeling.EchoMessage("No arena's avaiable, please wait before trying to restart the duel."); this.Stop(); return; } }
public RVSRegion(RVSController dc, Map RegionMap, Rectangle2D RegionPoint, String regionName) : base(String.Format("RVSRegion{0}", Count.ToString()), RegionMap, 100, RegionPoint) { Controller = dc; this.RegionName = regionName; this.Register(); Count += 1; }
public RVSRegion(RVSController dc) : base(String.Format("RVSRegion{0}", Count.ToString()), dc.sheepRegionMap, 100, dc.sheepRegionPoint) { Controller = dc; this.RegionName = "Sheep"; this.Register(); Count += 1; }
public HealthRegenRegion(HealthFlies mf, RVSController rvsc, String name) : base(String.Format("RVSHealthRegion{0}", name), mf.ThisRegionMap, 100, mf.ThisRegionPoint) { RegionName = name; Controller = rvsc; Flies = mf; this.Register(); }
public ManaRegenRegion2(ManaFlies2 mf, RVSController rvsc, String name) : base(String.Format("RVSManaRegion{0}", name), mf.ThisRegionMap, 100, mf.ThisRegionPoint) { RegionName = name; Controller = rvsc; Flies = mf; this.Register(); }
public static void InitializeRegions() { for (int i = 0; i < Controllers.Count; ++i) { RVSController controller = (RVSController)Controllers[i]; if (controller.SheepRegion != null) { controller.SheepRegion.Unregister(); } controller.SheepRegion = new RVSRegion(controller, controller.sheepRegionMap, controller.sheepRegionPoint, "Sheep"); if (controller.RabbitRegion != null) { controller.RabbitRegion.Unregister(); } controller.RabbitRegion = new RVSRegion(controller, controller.rabbitRegionMap, controller.rabbitRegionPoint, "Rabbit"); } Console.WriteLine("Rabbit VS Sheep regions have been initialized."); }