Esempio n. 1
0
        public static void ResetVariables()
        {
            if (!isSurvival)
            {
                return;
            }

            MatchMain main = MatchMain.inst;

            //Ensure that we reset all tracking variables
            if (endMatch || main.isInterruptedMatch)
            {
                try
                {
                    endRound = false;
                    MoreMatchTypes_Form.SurvivalRoadData.InProgress = false;
                }
                catch (NullReferenceException)
                {
                }
                catch (Exception ex)
                {
                    L.D("ResetVariablesException: " + ex);
                }
            }
        }
Esempio n. 2
0
        private static void SetupRound()
        {
            MatchSetting settings = GlobalWork.inst.MatchSetting;
            MatchMain    main     = MatchMain.inst;

            main.RoundCnt         = 1;
            settings.is3GameMatch = true;
            settings.RoundNum     = 0;

            //Necessary for compatibility with Mods that change attire
            settings.isCarryOverHP = true;
            settings.MatchCnt      = 1;

            //Update teams if the player won
            if (loserIndex > 3)
            {
                UpdateTeamMembers();
                WrestlerID wrestler = (WrestlerID)SelectOpponent(0).ID;
                settings = MatchConfiguration.AddPlayers(true, wrestler, 4, 0, false, 0, settings);

                //Adding new tag partner
                if (isTag)
                {
                    wrestler = (WrestlerID)SelectOpponent(1).ID;
                    settings = MatchConfiguration.AddPlayers(true, wrestler, 5, 0, false, 0, settings);
                }
            }
        }
Esempio n. 3
0
        private static void EndRound()
        {
            //Force game transition to the post match screen in order to reload wrestlers
            MatchMain main = MatchMain.inst;

            main.isMatchEnd = true;
            MatchSetting settings = GlobalWork.GetInst().MatchSetting;

            main.isInterruptedMatch = false;

            //Determine if full HP regen rule is in effect
            if (isRegen)
            {
                RefreshPlayer(0);
                if (isTag)
                {
                    RefreshPlayer(1);
                }
            }

            //Ensure the 3 Game Rule Doesn't Force Match to End
            settings.MatchCnt                     = 0;
            settings.is3GameMatch                 = true;
            global::GlobalParam.is3GamesMatch     = true;
            global::GlobalParam.m_MacthCount      = 0;
            global::GlobalParam.flg_MacthForceEnd = false;
            //global::GlobalParam.flg_MacthCount = true;

            //Update Game Details
            if (!endRound)
            {
                UpdateDetails();
                endRound = true;
            }
        }
Esempio n. 4
0
        public static void StartRound(MatchMain m)
        {
            if (!isSurvival)
            {
                return;
            }

            if (loserIndex < 4 && loserIndex != -1)
            {
                //Refresh player & opponent characters for next match
                RefreshPlayer(0);
                RefreshPlayer(4);
                if (isTag)
                {
                    RefreshPlayer(1);
                    RefreshPlayer(5);
                }
            }

            //Resetting variables for the next match
            CheckSeconds();
            endRound   = false;
            endMatch   = false;
            loserIndex = -1;
        }
Esempio n. 5
0
        public static void EndRound()
        {
            MatchMain main = MatchMain.inst;

            main.isMatchEnd = false;

            //Signal referee to end the round
            Referee matchRef = RefereeMan.inst.GetRefereeObj();

            matchRef.PlDir = PlDirEnum.Left;
            matchRef.ReqRefereeAnm(BasicSkillEnum.Refe_Stand_MatchEnd_Front_Left);
            //Announcer.inst.PlayGong_Eliminated();

            //Removing members from the losing team
            if (loserTrack == 0)
            {
                Player plObj = PlayerMan.inst.GetPlObj(memberTrack[0]);

                SetLoserState(memberTrack[0]);
                memberTrack[0]++;
                blueTeamMembers.Dequeue();

                ActivateMember(memberTrack[0]);
            }
            else if (loserTrack == 1)
            {
                Player plObj = PlayerMan.inst.GetPlObj(memberTrack[1] + 4);

                SetLoserState(memberTrack[1] + 4);
                memberTrack[1]++;
                redTeamMembers.Dequeue();

                ActivateMember(memberTrack[1] + 4);
            }
            //Handle double count outs
            else if (loserTrack == 2)
            {
                Player plObj;

                //Blue Team
                plObj = PlayerMan.inst.GetPlObj(memberTrack[0]);

                SetLoserState(memberTrack[0]);
                memberTrack[0]++;
                blueTeamMembers.Dequeue();

                ActivateMember(memberTrack[0]);

                //Red Team
                plObj = PlayerMan.inst.GetPlObj(memberTrack[1] + 4);

                SetLoserState(memberTrack[1] + 4);
                memberTrack[1]++;
                redTeamMembers.Dequeue();

                ActivateMember(memberTrack[1] + 4);
            }

            SetSeconds();
        }
Esempio n. 6
0
        public static bool CheckMatchEnd()
        {
            if (!isSurvival)
            {
                return(false);
            }

            MatchMain main = MatchMain.inst;

            if (!main.isMatchEnd)
            {
                return(false);
            }

            if (endRound || endMatch)
            {
                return(true);
            }

            loserIndex = MatchEndFunctions.GetLoser();
            if (loserIndex == -1)
            {
                return(false);
            }

            //Player lost, determine if any continues remain
            if (loserIndex < 4)
            {
                if (gameDetails[1] <= 0)
                {
                    EndMatch();
                    return(false);
                }
                else
                {
                    EndRound();
                    return(true);
                }
            }
            //Player won, determine if any matches remain
            else
            {
                if (gameDetails[0] <= 1)
                {
                    EndMatch();
                    return(false);
                }
                else
                {
                    EndRound();
                    return(true);
                }
            }
        }
Esempio n. 7
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();
        }
Esempio n. 8
0
        public static void ResetVariables()
        {
            if (!isExElim)
            {
                return;
            }

            MatchMain main = MatchMain.inst;

            //Ensure that we reset all tracking variables
            if (main.isInterruptedMatch || main.isMatchEnd)
            {
                ResetFormSettings();
            }
        }
Esempio n. 9
0
        private static void ForceCleanBreak()
        {
            for (int i = 0; i < 8; i++)
            {
                Player pl = PlayerMan.inst.GetPlObj(i);
                if (!pl)
                {
                    continue;
                }

                pl.DownTime = 0;

                //Force Submission Breaks
                if (pl.isSubmissionAtk)
                {
                    pl.plCont_AI.padPush = PadBtnEnum.Atk_M;
                }
                ;

                if (!pl.State.ToString().Contains("Down") && !pl.isSubmissionAtk && !pl.isSubmissionDef)
                {
                    pl.Start_ForceControl(global::ForceCtrlEnum.WaitMatchStart);
                }
            }

            //Do not perform at the start of a match.
            MatchMain main = MatchMain.inst;

            if (main.matchTime.min == 0 && main.matchTime.sec == 0)
            {
                return;
            }

            MatchSetting settings = GlobalWork.inst.MatchSetting;
            ////Do not perform at the start of a round
            //if (main.matchTime.sec == 0 && main.matchTime.min % settings.MatchTime == 0)
            //{
            //    return;
            //}
            Referee mRef = RefereeMan.inst.GetRefereeObj();

            global::MatchSEPlayer.inst.PlayRefereeVoice(global::RefeVoiceEnum.Break);
            mRef.State = global::RefeStateEnum.CallBeforeMatch_1;
            mRef.ReqRefereeAnm(global::BasicSkillEnum.ROUNDF);
            mRef.UpdateRefereeAnm();
        }
Esempio n. 10
0
        public static void UpdateMatchTimer(MatchMain m)
        {
            try
            {
                if (isIronMan && currMatchTime != null)
                {
                    MatchConfiguration.ShowAnnouncement(teamNames[0] + " : " + wins[0] + "      " + teamNames[1] + " : " + wins[1], 300);
                    m.matchTime.Set(currMatchTime);

                    //Replenish wrestlers hp, stamina and spirit
                    for (int i = 0; i < 8; i++)
                    {
                        Player plObj = PlayerMan.inst.GetPlObj(i);
                        if (!plObj)
                        {
                            continue;
                        }
                        if (!plObj.isSecond && !plObj.isSleep && !plObj.isIntruder)
                        {
                            float hp            = plObj.HP;
                            float sp            = plObj.SP;
                            float bp            = plObj.BP;
                            float recoverVal    = 65535f * UnityEngine.Random.Range(.15f, .3f);
                            float recoveryParam = (float)plObj.WresParam.hpRecovery;

                            hp = hp + recoverVal + (recoverVal * (recoveryParam) * .2f);
                            sp = sp + recoverVal + (recoverVal * (recoveryParam) * .2f);
                            bp = bp + recoverVal + (recoverVal * (recoveryParam) * .2f);

                            plObj.SetSP(sp);
                            plObj.SetHP(hp * .5f);
                            plObj.SetBP(bp * .75f);
                        }
                    }
                }
                else
                {
                    return;
                }
            }
            catch
            {
                return;
            }
        }
Esempio n. 11
0
        public static bool SetVictoryConditions()
        {
            if (!isIronMan)
            {
                return(false);
            }
            else
            {
                Referee   matchRef = RefereeMan.inst.GetRefereeObj();
                MatchMain main     = MatchMain.inst;
                if (main.isTimeUp)
                {
                    endMatch        = true;
                    main.isMatchEnd = true;
                    matchRef.PlDir  = PlDirEnum.Left;
                    matchRef.ReqRefereeAnm(BasicSkillEnum.Refe_Stand_MatchEnd_Front_Left);
                    matchRef.State = RefeStateEnum.DeclareVictory;
                    Announcer.inst.PlayGong_MatchEnd();

                    //Determine the winner
                    PlayerMan p = PlayerMan.inst;

                    if (wins[0] > wins[1])
                    {
                        global::MatchEvaluation.inst.ResultType = global::MatchResultEnum.KO;
                        matchRef.SentenceLose(p.GetPlObj(4).PlIdx);
                        SetLosers(4, p);
                    }
                    else if (wins[0] < wins[1])
                    {
                        global::MatchEvaluation.inst.ResultType = global::MatchResultEnum.KO;
                        matchRef.SentenceLose(p.GetPlObj(0).PlIdx);
                        SetLosers(0, p);
                    }

                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
Esempio n. 12
0
        public static void CheckTime()
        {
            if (!isTTT)
            {
                return;
            }

            if (blueTeam.Count == 0 && redTeam.Count == 0)
            {
                return;
            }

            MatchMain main = MatchMain.inst;

            if (main.matchTime.min == 15 && main.matchTime.sec == 0 && minutePassed < main.matchTime.min)
            {
                SendInMember();
            }
            else if (main.matchTime.min == 13 && main.matchTime.sec == 0 && minutePassed < main.matchTime.min)
            {
                SendInMember();
            }
            else if (main.matchTime.min == 11 && main.matchTime.sec == 0 && minutePassed < main.matchTime.min)
            {
                SendInMember();
            }
            else if (main.matchTime.min == 9 && main.matchTime.sec == 0 && minutePassed < main.matchTime.min)
            {
                SendInMember();
            }
            else if (main.matchTime.min == 7 && main.matchTime.sec == 0 && minutePassed < main.matchTime.min)
            {
                SendInMember();
            }
            else if (main.matchTime.min == 5 & main.matchTime.sec == 0 && minutePassed < main.matchTime.min)
            {
                SendInMember();
            }
        }
Esempio n. 13
0
        public static bool SetMatchRestrictions()
        {
            if (!isIronMan)
            {
                return(false);
            }
            else
            {
                //Determine if this is a draw
                MatchMain main = MatchMain.inst;

                //If a victory condition is met
                if (!main.isTimeUp)
                {
                    //Signal that the current round has ended
                    Referee matchRef = RefereeMan.inst.GetRefereeObj();
                    matchRef.PlDir = PlDirEnum.Left;
                    matchRef.ReqRefereeAnm(BasicSkillEnum.Refe_Stand_MatchEnd_Front_Left);
                    Announcer.inst.PlayGong_Eliminated();

                    int loser = 0;
                    for (int i = 0; i < 8; i++)
                    {
                        Player plObj = PlayerMan.inst.GetPlObj(i);
                        if (!plObj)
                        {
                            continue;
                        }
                        if (plObj.isLose)
                        {
                            loser = i;
                        }
                        if (plObj.isKO)
                        {
                            plObj.isKO = false;
                        }
                    }

                    //Record the last win and display the current score
                    if (loser <= 3)
                    {
                        wins[1]++;
                    }
                    else
                    {
                        wins[0]++;
                    }

                    //Prepare the next round
                    WaitForNextRound();
                    main.isMatchEnd = false;
                    main.isRoundEnd = true;
                    currMatchTime   = new MatchTime
                    {
                        min = main.matchTime.min,
                        sec = main.matchTime.sec
                    };
                    main.isTimeCounting = false;
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
        public static void PreMatchTaunts()
        {
            if (!tauntCheck)
            {
                MatchMain mm = MatchMain.inst;
                if (mm.isTimeCounting)
                {
                    PlayerMan pm = PlayerMan.inst;

                    Player p1 = pm.GetPlObj(0);
                    Player p2 = pm.GetPlObj(4);

                    if (p1 == null || p2 == null)
                    {
                        return;
                    }

                    string p1name = DataBase.GetWrestlerFullName(p1.WresParam);
                    string p2name = DataBase.GetWrestlerFullName(p2.WresParam);

                    if (tauntList.Contains(p1name) && tauntList.Contains(p2name))
                    {
                        int edit1TauntNo = tauntDat[tauntList.IndexOf(p1name)];
                        int edit2TauntNo = tauntDat[tauntList.IndexOf(p2name)];

                        SkillSlotEnum skill1 = new SkillSlotEnum();
                        SkillSlotEnum skill2 = new SkillSlotEnum();

                        // EDIT 1 TAUNT
                        if (edit1TauntNo == 5)
                        {
                            skill1 = SkillSlotEnum.Performance_Enter;
                        }
                        else if (edit1TauntNo == 1)
                        {
                            skill1 = SkillSlotEnum.Performance_1;
                        }
                        else if (edit1TauntNo == 2)
                        {
                            skill1 = SkillSlotEnum.Performance_2;
                        }
                        else if (edit1TauntNo == 3)
                        {
                            skill1 = SkillSlotEnum.Performance_3;
                        }
                        else if (edit1TauntNo == 4)
                        {
                            skill1 = SkillSlotEnum.Performance_4;
                        }

                        // EDIT 2 TAUNT
                        if (edit2TauntNo == 5)
                        {
                            skill2 = SkillSlotEnum.Performance_Enter;
                        }
                        else if (edit2TauntNo == 1)
                        {
                            skill2 = SkillSlotEnum.Performance_1;
                        }
                        else if (edit2TauntNo == 2)
                        {
                            skill2 = SkillSlotEnum.Performance_2;
                        }
                        else if (edit2TauntNo == 3)
                        {
                            skill2 = SkillSlotEnum.Performance_3;
                        }
                        else if (edit2TauntNo == 4)
                        {
                            skill2 = SkillSlotEnum.Performance_4;
                        }

                        p1.animator.StartSlotAnm_Immediately(skill1, 0, true, p1.TargetPlIdx);
                        p2.animator.StartSlotAnm_Immediately(skill2, 0, true, p2.TargetPlIdx);
                        tauntCheck = true;
                    }
                }
            }
        }
Esempio n. 15
0
        public static void StartRound(MatchMain m)
        {
            if (!isElimination)
            {
                return;
            }
            #region Old Code
            //Settings for the start of a match
            //if (!endRound)
            //{
            //    //Setting up team members to track; this will be decreased as a team loses.
            //    memberTrack[0] = 0;
            //    memberTrack[1] = 0;
            //}
            //else
            //{
            //    endRound = false;

            //    //Removing members from the losing team
            //    if (loserTrack == 0)
            //    {
            //        Player plObj = PlayerMan.inst.GetPlObj(memberTrack[0]);

            //        SetLoserState(memberTrack[0]);
            //        memberTrack[0]++;
            //        blueTeamMembers.Dequeue();

            //        ActivateMember(memberTrack[0]);
            //    }
            //    else if (loserTrack == 1)
            //    {
            //        Player plObj = PlayerMan.inst.GetPlObj(memberTrack[1] + 4);

            //        SetLoserState(memberTrack[1] + 4);
            //        memberTrack[1]++;
            //        redTeamMembers.Dequeue();

            //        ActivateMember(memberTrack[1] + 4);
            //    }
            //    //Handle double count outs
            //    else if (loserTrack == 2)
            //    {
            //        Player plObj;

            //        //Blue Team
            //        plObj = PlayerMan.inst.GetPlObj(memberTrack[0]);

            //        SetLoserState(memberTrack[0]);
            //        memberTrack[0]++;
            //        blueTeamMembers.Dequeue();

            //        ActivateMember(memberTrack[0]);

            //        //Red Team
            //        plObj = PlayerMan.inst.GetPlObj(memberTrack[1] + 4);

            //        SetLoserState(memberTrack[1] + 4);
            //        memberTrack[1]++;
            //        redTeamMembers.Dequeue();

            //        ActivateMember(memberTrack[1] + 4);
            //    }
            //}
            #endregion
            SetSeconds();
        }
Esempio n. 16
0
 private void Awake()
 {
     instance = this;
 }
Esempio n. 17
0
        public static bool CheckMatchEnd()
        {
            if (!isExElim)
            {
                return(false);
            }
            MatchMain  main = MatchMain.inst;
            Player     plObj;
            CornerSide loserSide = CornerSide.Unknown;

            //Determine which player lost
            for (int i = 0; i < 8; i++)
            {
                plObj = PlayerMan.inst.GetPlObj(i);
                if (!plObj)
                {
                    continue;
                }

                if (plObj.isSecond || plObj.isIntruder || plObj.isSleep)
                {
                    continue;
                }
                plObj.isKO = false;
                if (plObj.isLose && (plObj.Zone == ZoneEnum.InRing || plObj.Zone == ZoneEnum.OutOfRing) && i != recentLoserIndex)
                {
                    L.D(DataBase.GetWrestlerFullName(plObj.WresParam) + " at index " + i + " has been eliminated.");
                    recentLoserIndex = i;

                    if (i <= 3)
                    {
                        loserSide = CornerSide.Blue;
                    }
                    else
                    {
                        loserSide = CornerSide.Red;
                    }

                    //Queue player for replacement
                    defeatedPlayers.Enqueue(new DefeatedPlayer {
                        player = plObj, side = loserSide
                    });

                    loserName = DataBase.GetWrestlerFullName(plObj.WresParam);
                    SetLoserState(i);

                    //Add loser to the queue for replacement processing
                    bool continueMatch = UpdateTeam(loserSide);

                    main.isMatchEnd = !continueMatch;

                    L.D("Continue Match: " + continueMatch);
                    return(continueMatch);
                }
                else
                {
                    continue;
                }
            }

            return(false);
        }