static void PreventGameOver(On.RoR2.Run.orig_BeginGameOver orig, Run self, GameEndingDef gameEndingDef) { if (!PVPMode.PreventGameOver) { orig(self, gameEndingDef); } }
/// <summary> /// Registers a GameEndingDef to the GameEndingCatalog. /// </summary> /// <param name="gameEndingDef">The GameEndingDef </param> public static void RegisterGameEndingDef(GameEndingDef gameEndingDef) { //Check if the SurvivorDef has already been registered. if (GameEndingDefDefinitions.Contains(gameEndingDef)) { LogCore.LogE(gameEndingDef + " has already been registered, please do not register the same GameEndingDef twice."); return; } //If not, add it to our SurvivorDefinitions GameEndingDefDefinitions.Add(gameEndingDef); }
/// <summary> /// Adds a GameEndingDef to your Mod's ContentPack /// </summary> /// <param name="gameEndingDef">The GameEndingDef to Add</param> /// <returns>true if valid and added, false if one of the requirements is not met</returns> public static bool AddGameEndingDef(GameEndingDef gameEndingDef) { var asm = Assembly.GetCallingAssembly(); if (CatalogBlockers.GetAvailability <GameEndingDef>()) { R2APIContentManager.HandleContentAddition(asm, gameEndingDef); return(true); } RejectContent(gameEndingDef, asm, "GameEndingDef", "but the GameEndingCatalog has already initalized!"); return(false); }
private void On_GameOver(On.RoR2.Run.orig_BeginGameOver orig, Run self, GameEndingDef gameEndingDef) //goes to original body prefab on gameover { for (int i = 0; i < NetworkUser.readOnlyInstancesList.Count; i++) { NetworkUser networkUser = NetworkUser.readOnlyInstancesList[i]; if (networkUser && networkUser.isParticipating) { if (networkUser.masterObject.GetComponent <ImpExtractComponent>() != null && networkUser.masterObject.GetComponent <ImpExtractComponent>().isImp) { networkUser.masterObject.GetComponent <ImpExtractComponent>().RemoveImp(false); } } } orig(self, gameEndingDef); }
private static void RunOnServerGameOver(Run run, GameEndingDef ending) { try { var metadata = ProperSavePlugin.CurrentSave?.SaveFileMeta; if (metadata != null) { File.Delete(metadata.FilePath); SaveFileMetadata.Remove(metadata); ProperSavePlugin.CurrentSave = null; } } catch (Exception e) { ProperSavePlugin.InstanceLogger.LogWarning("Failed to delete save file"); ProperSavePlugin.InstanceLogger.LogError(e); } }
private static void EmptyCachesOnGameOver(Run _, GameEndingDef __) { UsernamesCache.Clear(); RequestCache.Clear(); }
private void Run_onServerGameOver(Run arg1, GameEndingDef arg2) { currentlyInBattle = false; }
private void StatManager_OnServerGameOver(On.RoR2.Stats.StatManager.orig_OnServerGameOver orig, Run run, GameEndingDef gameEndingDef) { if (!Drizzle()) { orig(run, gameEndingDef); } }
private static RunReport RunReport_Generate(On.RoR2.RunReport.orig_Generate orig, Run run, GameEndingDef gameEnding) { ignoreFakes = true; var retv = orig(run, gameEnding); ignoreFakes = false; return(retv); }
private RunReport RunReport_Generate(On.RoR2.RunReport.orig_Generate orig, Run run, GameEndingDef gameEnding) { // Temporarily add the allies as a "player" // Sadly, singleplayer runs don't make this show up still... try { foreach (var ally in allies) { if (ally.gameObject.GetComponent <PlayerCharacterMasterController>() == null) { ally.gameObject.AddComponent <PlayerCharacterMasterController>(); } if (ally.gameObject.GetComponent <PlayerStatsComponent>() == null) { ally.gameObject.AddComponent <PlayerStatsComponent>(); } } return(orig(run, gameEnding)); } finally { foreach (var ally in allies) { PlayerCharacterMasterController controller = ally.gameObject.GetComponent <PlayerCharacterMasterController>(); if (controller) { PlayerStatsComponent stats = controller.gameObject.GetComponent <PlayerStatsComponent>(); if (stats) { Destroy(stats); } Destroy(controller); } } } }
private void Run_onServerGameOver(Run arg1, GameEndingDef arg2) { allies.Clear(); allySquad.onMemberLost -= AllySquad_onMemberLost; }