private void BrotherEncounter_Phase1_OnEnter(On.EntityStates.Missions.BrotherEncounter.Phase1.orig_OnEnter orig, EntityStates.Missions.BrotherEncounter.Phase1 self) { orig(self); respawnController.RespawnType = RespawnType.Mithrix; if (PluginConfig.RespawnOnMithrixStart.Value) { respawnController.RespawnAllUsers(); } if (PluginConfig.BlockTimedRespawnOnMithrixFight.Value) { respawnController.BlockTimedRespawn(); } }
private void Phase1_OnEnter(On.EntityStates.Missions.BrotherEncounter.Phase1.orig_OnEnter orig, EntityStates.Missions.BrotherEncounter.Phase1 self) { orig(self); if (!SceneInfo.instance) { return; } ChildLocator component = SceneInfo.instance.GetComponent <ChildLocator>(); if (!component) { return; } if (MoonMissionController.instance) { Transform transform = component.FindChild("PlayerSpawnOrigin"); transform.position = new Vector3(165.1803f, 497.2362f, 105.2121f); foreach (var spawnPoint in new List <SpawnPoint>(SpawnPoint.instancesList)) { Destroy(spawnPoint.gameObject); } MoonMissionController.instance.GeneratePlayerSpawnPointsServer(); } }
private void Phase1_OnEnter(On.EntityStates.Missions.BrotherEncounter.Phase1.orig_OnEnter orig, EntityStates.Missions.BrotherEncounter.Phase1 self) { orig(self); currentlyInBattle = true; }
private void Phase1_OnEnter(On.EntityStates.Missions.BrotherEncounter.Phase1.orig_OnEnter orig, EntityStates.Missions.BrotherEncounter.Phase1 self) { orig(self); MasterRoundNth.instance.MasterRound_Start(); }
private void Phase1_OnEnter(On.EntityStates.Missions.BrotherEncounter.Phase1.orig_OnEnter orig, EntityStates.Missions.BrotherEncounter.Phase1 self) { orig(self); bool teleportedAllies = false; if (!TeleportAlliesToFirstAvailablePlayer()) { CharacterBody body = null; foreach (var masterController in PlayerCharacterMasterController.instances) { if (masterController.master.GetBody()) { body = masterController.master.GetBody(); break; } } // Try one more time with a more direct approach if (body) { Transform bodyTransform = getTransform(body); Vector3 position = new Vector3( bodyTransform.position.x + Random.Range(-5f, 5f), bodyTransform.position.y + 10f, bodyTransform.position.z + Random.Range(-5f, 5f)); if (Physics.Raycast(position, Vector3.down, out RaycastHit hit, 30f, LayerIndex.world.mask)) { position = hit.point; } if (!TeleportAlliesToFirstAvailablePlayer(position)) { Debug.LogWarning("Couldn't teleport allies to a player body!"); Chat.SendBroadcastChat(new Chat.SimpleChatMessage() { baseToken = $"<color=#{ColorUtility.ToHtmlStringRGB(Color.green)}>Protect the VIP:</color> " + $"Couldn't teleport allies to someone! I guess they'll sit this fight out." }); } else { teleportedAllies = true; } } } else { teleportedAllies = true; } if (teleportedAllies) { Chat.SendBroadcastChat(new Chat.SimpleChatMessage() { baseToken = $"<color=#{ColorUtility.ToHtmlStringRGB(Color.green)}>Protect the VIP:</color> " + $"Your ally joins you to fight by your side." }); } Debug.Log("Unhooking from EntityStates.Missions.BrotherEncounter.Phase1.OnEnter"); On.EntityStates.Missions.BrotherEncounter.Phase1.OnEnter -= Phase1_OnEnter; }