private void Stage_RespawnCharacter(On.RoR2.Stage.orig_RespawnCharacter orig, Stage self, CharacterMaster characterMaster)
        {
            if (characterMaster.bodyPrefab)
            {
                CharacterBody body = characterMaster.bodyPrefab.GetComponent <CharacterBody>();

                if (body)
                {
                    respawnCharacterMaster.Enqueue(body);
                }
            }

            orig(self, characterMaster);
        }
 private void Stage_RespawnCharacter(On.RoR2.Stage.orig_RespawnCharacter orig, Stage self, CharacterMaster characterMaster)
 {
     orig(self, characterMaster);
     if (NetworkServer.active)
     {
         if (Run.instance && Stage.instance && Run.instance.stageClearCount + 1 <= KeepBuffUntilStage) // Toggle buffs until equal KeepBuff var
         {
             if (characterMaster?.GetComponent <PlayerCharacterMasterController>())
             {
                 Logger.LogInfo("Player spawned, checking for buff toggle");
                 ToggleBuff();
             }
         }
     }
 }
Exemple #3
0
        static void ControlRespawn(On.RoR2.Stage.orig_RespawnCharacter orig, Stage self, CharacterMaster characterMaster)
        {
            CharacterMaster playerCharater = characterMaster;

            if (NetworkServer.active)
            {
                if (!characterMaster)
                {
                    return;
                }

                self.usePod = false;
                if (VoteAPI.VoteResults.HasVote(Settings.CustomPlayableCharacters.Item2))
                {
                    switch (playerCharater.bodyPrefab.name)
                    {
                    case "CommandoBody":
                        playerCharater.bodyPrefab = BodyCatalog.FindBodyPrefab(Settings.PlayableCharactersList[0]);
                        break;

                    case "HuntressBody":
                        playerCharater.bodyPrefab = BodyCatalog.FindBodyPrefab(Settings.PlayableCharactersList[1]);
                        break;

                    case "Bandit2Body":
                        playerCharater.bodyPrefab = BodyCatalog.FindBodyPrefab(Settings.PlayableCharactersList[2]);
                        break;

                    case "ToolbotBody":
                        playerCharater.bodyPrefab = BodyCatalog.FindBodyPrefab(Settings.PlayableCharactersList[3]);
                        break;

                    case "EngiBody":
                        playerCharater.bodyPrefab = BodyCatalog.FindBodyPrefab(Settings.PlayableCharactersList[4]);
                        break;

                    case "MageBody":
                        playerCharater.bodyPrefab = BodyCatalog.FindBodyPrefab(Settings.PlayableCharactersList[5]);
                        break;

                    case "MercBody":
                        playerCharater.bodyPrefab = BodyCatalog.FindBodyPrefab(Settings.PlayableCharactersList[6]);
                        break;

                    case "TreebotBody":
                        playerCharater.bodyPrefab = BodyCatalog.FindBodyPrefab(Settings.PlayableCharactersList[7]);
                        break;

                    case "LoaderBody":
                        playerCharater.bodyPrefab = BodyCatalog.FindBodyPrefab(Settings.PlayableCharactersList[8]);
                        break;

                    case "CrocoBody":
                        playerCharater.bodyPrefab = BodyCatalog.FindBodyPrefab(Settings.PlayableCharactersList[9]);
                        break;

                    case "CaptainBody":
                        playerCharater.bodyPrefab = BodyCatalog.FindBodyPrefab(Settings.PlayableCharactersList[10]);
                        break;

                    default:
                        break;
                    }
                }
            }
            orig(self, playerCharater);
        }
 private void Stage_RespawnCharacter(On.RoR2.Stage.orig_RespawnCharacter orig, Stage self, CharacterMaster characterMaster)
 {
     orig(self, characterMaster);
     UpdateComponentForEveryone();
 }