Ejemplo n.º 1
0
        private static void SetLegalMen(String forceSwitch)
        {
            Player blueMan = PlayerMan.inst.GetPlObj(MatchConfiguration.GetLegalMan(CornerSide.Blue));
            Player redMan  = PlayerMan.inst.GetPlObj(MatchConfiguration.GetLegalMan(CornerSide.Red));

            //Process Blue Corner
            if (!IsInRing(blueMan) || forceSwitch.Equals("blue"))
            {
                Player nextPlayer = PlayerMan.inst.GetPlObj(GetNextTag("blue", blueMan.PlIdx));

                blueMan.hasRight               = false;
                nextPlayer.hasRight            = true;
                blueMan.TagStandbyPos          = nextPlayer.TagStandbyPos;
                nextPlayer.isTagPartnerStandby = false;
                nextPlayer.Start_ForceControl(ForceCtrlEnum.GoBackToRing);
                blueMan.Start_ForceControl(ForceCtrlEnum.GoBackToApron);
            }

            //Process Red Corner
            if (!IsInRing(redMan) || forceSwitch.Equals("red"))
            {
                Player nextPlayer = PlayerMan.inst.GetPlObj(GetNextTag("red", redMan.PlIdx));

                redMan.hasRight                = false;
                nextPlayer.hasRight            = true;
                redMan.TagStandbyPos           = nextPlayer.TagStandbyPos;
                nextPlayer.isTagPartnerStandby = false;
                nextPlayer.Start_ForceControl(ForceCtrlEnum.GoBackToRing);
                redMan.Start_ForceControl(ForceCtrlEnum.GoBackToApron);
            }
        }
Ejemplo n.º 2
0
        public static void CheckCountOut()
        {
            if (!isElimination)
            {
                return;
            }

            MatchMain main = MatchMain.inst;

            if (main.isTimeUp)
            {
                //Determine who has more points
                if (wins[0] > wins[1])
                {
                    //Red Team Loses
                    EndMatch(MatchConfiguration.GetLegalMan(CornerSide.Red));
                }
                else
                {
                    //Blue Team Loses
                    EndMatch(MatchConfiguration.GetLegalMan(CornerSide.Blue));
                }

                return;
            }

            if (blueTeamMembers.Count == 1 && redTeamMembers.Count == 1)
            {
                return;
            }

            if (blueTeamMembers.Count == 1)
            {
                EndMatch(memberTrack[0]);
                return;
            }
            if (redTeamMembers.Count == 1)
            {
                EndMatch(memberTrack[0] + 4);
                return;
            }

            //Remove players from both sides
            Player plObj;

            plObj = PlayerMan.inst.GetPlObj(memberTrack[0]);
            DisplayElimination(DataBase.GetWrestlerFullName(plObj.WresParam), blueTeamMembers.Count - 1);

            plObj = PlayerMan.inst.GetPlObj(memberTrack[1]);
            DisplayElimination(DataBase.GetWrestlerFullName(plObj.WresParam), redTeamMembers.Count - 1);
            loserTrack = 2;
            EndRound();
        }
Ejemplo n.º 3
0
        public static void CheckFreeTag(Referee referee)
        {
            if (!isLuchaTag || referee.RefeCount == 20)
            {
                return;
            }

            try
            {
                //Randomized for variance.
                if (countLimit == -1)
                {
                    switch (referee.RefePrm.outCount)
                    {
                    case 0:
                    case 1:
                        countLimit = 4;
                        break;

                    case 2:
                        countLimit = 5;
                        break;

                    case 3:
                    case 4:
                        countLimit = 6;
                        break;
                    }

                    //Subtract modifier from the final value
                    countLimit = countLimit - modifier < 0 ? countLimit : countLimit - modifier;
                    countLimit = UnityEngine.Random.Range(0, countLimit);
                }

                //Checking the legal man still inside the ring
                Player legalBlue   = PlayerMan.inst.GetPlObj(MatchConfiguration.GetLegalMan(CornerSide.Blue));
                Player legalRed    = PlayerMan.inst.GetPlObj(MatchConfiguration.GetLegalMan(CornerSide.Red));
                Player legalInRing = IsInRing(legalBlue) ? legalBlue : legalRed;

                //New condition, if the legal man inside the ring is running then the auto-tag cannot be made
                if (((referee.RefeCount >= countLimit && legalInRing.State != PlStateEnum.Run && legalInRing.State != PlStateEnum.RopeRebound) ||
                     NoLegalManInRing()) &&
                    GetPlayersOutsideRing() != playerCount)
                {
                    countLimit = -1;
                    SetLegalMen("");
                }
            }
            catch (Exception e)
            {
                L.D("Lucha Error: " + e);
            }
        }