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); } } }
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); } } }
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; } }
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; }
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(); }
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); } } }
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(); }
public static void ResetVariables() { if (!isExElim) { return; } MatchMain main = MatchMain.inst; //Ensure that we reset all tracking variables if (main.isInterruptedMatch || main.isMatchEnd) { ResetFormSettings(); } }
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(); }
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; } }
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); } } }
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(); } }
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; } } } }
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(); }
private void Awake() { instance = this; }
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); }