Пример #1
0
 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);
 }
Пример #3
0
        /// <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);
 }
Пример #5
0
 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);
     }
 }
Пример #6
0
 private static void EmptyCachesOnGameOver(Run _, GameEndingDef __)
 {
     UsernamesCache.Clear();
     RequestCache.Clear();
 }
Пример #7
0
 private void Run_onServerGameOver(Run arg1, GameEndingDef arg2)
 {
     currentlyInBattle = false;
 }
Пример #8
0
 private void StatManager_OnServerGameOver(On.RoR2.Stats.StatManager.orig_OnServerGameOver orig, Run run, GameEndingDef gameEndingDef)
 {
     if (!Drizzle())
     {
         orig(run, gameEndingDef);
     }
 }
Пример #9
0
        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);
        }
Пример #10
0
 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);
             }
         }
     }
 }
Пример #11
0
 private void Run_onServerGameOver(Run arg1, GameEndingDef arg2)
 {
     allies.Clear();
     allySquad.onMemberLost -= AllySquad_onMemberLost;
 }