Пример #1
0
        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);
            }
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
 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;
 }
Пример #4
0
 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;
 }
Пример #5
0
 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();
 }
Пример #6
0
 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();
 }
Пример #7
0
        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.");
        }