public static void Postfix(RespawnManager __instance, SpawnableTeamType teamToSpawn) { int counter = 0; foreach (Player Ply in Player.List) { if (Ply.Role.IsNotHuman(true)) { counter++; } } if (CreativeToolbox.ConfigRef.Config.EnableRandomChaosInsurgencyAnnouncementChance) { NewChance = CIAnnouncementChance.Next(0, 100); if (NewChance < CreativeToolbox.ConfigRef.Config.ChaosInsurgencyAnnouncementChance) { if (CreativeToolbox.ConfigRef.Config.EnableCustomAnnouncements && teamToSpawn == SpawnableTeamType.ChaosInsurgency) { NineTailedFoxAnnouncer.singleton.ServerOnlyAddGlitchyPhrase(CreativeToolboxEventHandler.FormatMessage(CreativeToolbox.ConfigRef.Config.ChaosInsurgencyAnnouncement, counter), CreativeToolbox.ConfigRef.Config.ChaosInsurgencyAnnouncementGlitchChance * 0.01f, CreativeToolbox.ConfigRef.Config.ChaosInsurgencyAnnouncementJamChance * 0.01f); } } } else if (CreativeToolbox.ConfigRef.Config.EnableCustomAnnouncements && teamToSpawn == SpawnableTeamType.ChaosInsurgency) { NineTailedFoxAnnouncer.singleton.ServerOnlyAddGlitchyPhrase(CreativeToolboxEventHandler.FormatMessage(CreativeToolbox.ConfigRef.Config.ChaosInsurgencyAnnouncement, counter), CreativeToolbox.ConfigRef.Config.ChaosInsurgencyAnnouncementGlitchChance * 0.01f, CreativeToolbox.ConfigRef.Config.ChaosInsurgencyAnnouncementJamChance * 0.01f); } }
public void RunWhenplayerDrinksSCP207(UsedMedicalItemEventArgs Used207) { if (Used207.Player != Hub || Used207.Item != ItemType.SCP207) { return; } if (Hub.IsGodModeEnabled) { Counter = 0; return; } if (Counter < CreativeToolbox.ConfigRef.Config.Scp207DrinkLimit) { string MessageToReplace = RogerFKTokenReplace.ReplaceAfterToken(CreativeToolbox.ConfigRef.Config.DrinkingScp207Message, '%', new Tuple <string, object>[] { new Tuple <string, object>("counter", Counter) }); Used207.Player.ReferenceHub.hints.Show(new TextHint($"\n\n\n\n\n\n\n\n\n{MessageToReplace}", new HintParameter[] { new StringHintParameter("") }, HintEffectPresets.FadeInAndOut(0.25f, 1f, 0f))); } if (Counter == CreativeToolbox.ConfigRef.Config.Scp207PryGateLimit) { string MessageToReplace = RogerFKTokenReplace.ReplaceAfterToken(CreativeToolbox.ConfigRef.Config.PryGatesWithScp207Message, '%', new Tuple <string, object>[] { new Tuple <string, object>("counter", Counter) }); if (!CreativeToolboxEventHandler.PlayersThatCanPryGates.Contains(Hub)) { CreativeToolboxEventHandler.PlayersThatCanPryGates.Add(Hub); Used207.Player.ReferenceHub.hints.Show(new TextHint($"\n\n\n\n\n\n\n\n\n{MessageToReplace}", new HintParameter[] { new StringHintParameter("") }, HintEffectPresets.FadeInAndOut(0.25f, 1f, 0f))); } } if (Counter >= CreativeToolbox.ConfigRef.Config.Scp207DrinkLimit) { string MessageToReplace = RogerFKTokenReplace.ReplaceAfterToken(CreativeToolbox.ConfigRef.Config.ExplodeAfterScp207Message, '%', new Tuple <string, object>[] { new Tuple <string, object>("counter", Counter) }); if (CreativeToolboxEventHandler.PlayersThatCanPryGates.Contains(Hub)) { CreativeToolboxEventHandler.PlayersThatCanPryGates.Remove(Hub); } Hub.Health = 0; Hub.AdrenalineHealth = 0; Hub.Kill(); CreativeToolboxEventHandler.SpawnGrenadeOnPlayer(Hub, false); Counter = 0; Used207.Player.ReferenceHub.hints.Show(new TextHint($"\n\n\n\n\n\n\n\n\n{MessageToReplace}", new HintParameter[] { new StringHintParameter("") }, HintEffectPresets.FadeInAndOut(0.25f, 1f, 0f))); } }
public void RunWhenplayerDrinksSCP207(UsedMedicalItemEventArgs Used207) { if (Used207.Player != Hub || Used207.Item != ItemType.SCP207) { return; } if (Hub.IsGodModeEnabled) { Counter = 0; return; } if (Counter < CreativeToolbox.ConfigRef.Config.Scp207DrinkLimit) { Used207.Player.ReferenceHub.hints.Show(new TextHint($"\n\n\n\n\n\n\n\n\nnumber of drinks consumed: {Counter}", new HintParameter[] { new StringHintParameter("") }, HintEffectPresets.FadeInAndOut(0.25f, 1f, 0f))); } if (Counter == CreativeToolbox.ConfigRef.Config.Scp207PryGateLimit) { if (!CreativeToolboxEventHandler.PlayersThatCanPryGates.Contains(Hub.ReferenceHub)) { CreativeToolboxEventHandler.PlayersThatCanPryGates.Add(Hub.ReferenceHub); Used207.Player.ReferenceHub.hints.Show(new TextHint($"\n\n\n\n\n\n\n\n\nyou can now pry gates open", new HintParameter[] { new StringHintParameter("") }, HintEffectPresets.FadeInAndOut(0.25f, 1f, 0f))); } } if (Counter >= CreativeToolbox.ConfigRef.Config.Scp207DrinkLimit) { CreativeToolboxEventHandler.SpawnGrenadeOnPlayer(Hub, false); Counter = 0; Used207.Player.ReferenceHub.hints.Show(new TextHint($"\n\n\n\n\n\n\n\n\nyou drank too much and your body could not handle it", new HintParameter[] { new StringHintParameter("") }, HintEffectPresets.FadeInAndOut(0.25f, 1f, 0f))); } }
public override void OnEnabled() { base.OnEnabled(); Handler = new CreativeToolboxEventHandler(this); harmonyCounter++; HarmonyInstance = new Harmony($"koukococoa.creativetoolbox_{harmonyCounter}"); HarmonyInstance.PatchAll(); Exiled.Events.Handlers.Player.InteractingDoor += Handler.RunWhenDoorIsInteractedWith; Exiled.Events.Handlers.Player.Joined += Handler.RunOnPlayerJoin; Exiled.Events.Handlers.Player.Left += Handler.RunOnPlayerLeave; Exiled.Events.Handlers.Player.MedicalItemUsed += Handler.RunOnMedItemUsed; Exiled.Events.Handlers.Player.Hurting += Handler.RunOnPlayerHurt; Exiled.Events.Handlers.Player.Died += Handler.RunOnPlayerDeath; Exiled.Events.Handlers.Server.SendingRemoteAdminCommand += Handler.RunOnRemoteAdminCommand; Exiled.Events.Handlers.Server.RestartingRound += Handler.RunOnRoundRestart; Exiled.Events.Handlers.Server.RoundStarted += Handler.RunOnRoundStart; Exiled.Events.Handlers.Player.EnteringFemurBreaker += Handler.RunWhenPlayerEntersFemurBreaker; Exiled.Events.Handlers.Warhead.Detonated += Handler.RunWhenWarheadIsDetonated; Exiled.Events.Handlers.Server.RespawningTeam += Handler.RunWhenTeamRespawns; }
public override void OnDisabled() { Log.Info("Disabling \"CreativeToolbox\""); if (HarmonyInstance != null || HarmonyInstance != default) { HarmonyInstance.UnpatchAll(); } Exiled.Events.Handlers.Server.RespawningTeam -= Handler.RunWhenTeamRespawns; Exiled.Events.Handlers.Warhead.Detonated -= Handler.RunWhenWarheadIsDetonated; Exiled.Events.Handlers.Player.EnteringFemurBreaker -= Handler.RunWhenPlayerEntersFemurBreaker; Exiled.Events.Handlers.Server.RoundStarted -= Handler.RunOnRoundStart; Exiled.Events.Handlers.Server.RestartingRound -= Handler.RunOnRoundRestart; Exiled.Events.Handlers.Server.SendingRemoteAdminCommand -= Handler.RunOnRemoteAdminCommand; Exiled.Events.Handlers.Player.Died -= Handler.RunOnPlayerDeath; Exiled.Events.Handlers.Player.Hurting -= Handler.RunOnPlayerHurt; Exiled.Events.Handlers.Player.MedicalItemUsed -= Handler.RunOnMedItemUsed; Exiled.Events.Handlers.Player.Left -= Handler.RunOnPlayerLeave; Exiled.Events.Handlers.Player.Joined -= Handler.RunOnPlayerJoin; Exiled.Events.Handlers.Player.InteractingDoor -= Handler.RunWhenDoorIsInteractedWith; Handler = null; }
private static void Postfix(RespawnManager __instance, SpawnableTeamType teamToSpawn) { int counter = 0; foreach (Player ply in Player.List) { if (ply.Team == Team.SCP) { counter++; } } if (Instance.Config.EnableRandomChaosInsurgencyAnnouncementChance) { _newChance = CiAnnouncementChance.Next(0, 100); if (!(_newChance < Instance.Config.ChaosInsurgencyAnnouncementChance)) { return; } if (Instance.Config.EnableCustomAnnouncements && teamToSpawn == SpawnableTeamType.ChaosInsurgency) { NineTailedFoxAnnouncer.singleton.ServerOnlyAddGlitchyPhrase( CreativeToolboxEventHandler.FormatMessage(Instance.Config.ChaosInsurgencyAnnouncement, counter), Instance.Config.ChaosInsurgencyAnnouncementGlitchChance * 0.01f, Instance.Config.ChaosInsurgencyAnnouncementJamChance * 0.01f); } } else if (Instance.Config.EnableCustomAnnouncements && teamToSpawn == SpawnableTeamType.ChaosInsurgency) { NineTailedFoxAnnouncer.singleton.ServerOnlyAddGlitchyPhrase( CreativeToolboxEventHandler.FormatMessage(Instance.Config.ChaosInsurgencyAnnouncement, counter), Instance.Config.ChaosInsurgencyAnnouncementGlitchChance * 0.01f, Instance.Config.ChaosInsurgencyAnnouncementJamChance * 0.01f); } }
public override void OnEnabled() { if (Handler == null) { Handler = new CreativeToolboxEventHandler(this); } HarmonyInstance = new Harmony($"koukococoa.creativetoolbox_{++harmonyCounter}"); HarmonyInstance.PatchAll(); Exiled.Events.Handlers.Player.InteractingDoor += Handler.RunWhenDoorIsInteractedWith; Exiled.Events.Handlers.Player.Joined += Handler.RunOnPlayerJoin; Exiled.Events.Handlers.Player.Left += Handler.RunOnPlayerLeave; Exiled.Events.Handlers.Player.MedicalItemUsed += Handler.RunOnMedItemUsed; Exiled.Events.Handlers.Player.Hurting += Handler.RunOnPlayerHurt; Exiled.Events.Handlers.Player.Died += Handler.RunOnPlayerDeath; Exiled.Events.Handlers.Server.RestartingRound += Handler.RunOnRoundRestart; Exiled.Events.Handlers.Server.RoundStarted += Handler.RunOnRoundStart; Exiled.Events.Handlers.Player.EnteringFemurBreaker += Handler.RunWhenPlayerEntersFemurBreaker; Exiled.Events.Handlers.Warhead.Detonated += Handler.RunWhenWarheadIsDetonated; Exiled.Events.Handlers.Server.RespawningTeam += Handler.RunWhenTeamRespawns; Exiled.Events.Handlers.Warhead.Stopping += Handler.RunWhenWarheadIsStopped; Exiled.Events.Handlers.Map.AnnouncingNtfEntrance += Handler.RunWhenNTFSpawns; }
public void RunWhenPlayerDrinksScp207(UsedMedicalItemEventArgs ev) { if (ev.Player != _ply || ev.Item != ItemType.SCP207) { return; } if (_ply.IsGodModeEnabled) { counter = 0; return; } if (counter < Instance.Config.Scp207DrinkLimit) { string messageToReplace = Instance.Config.DrinkingScp207Message.ReplaceAfterToken('%', new[] { new Tuple <string, object>("counter", counter) }); ev.Player.ReferenceHub.hints.Show(new TextHint($"\n\n\n\n\n\n\n\n\n{messageToReplace}", new HintParameter[] { new StringHintParameter("") }, HintEffectPresets.FadeInAndOut(0.25f, 1f, 0f))); } if (counter == Instance.Config.Scp207PryGateLimit) { string messageToReplace = Instance.Config.PryGatesWithScp207Message.ReplaceAfterToken('%', new[] { new Tuple <string, object>("counter", counter) }); if (!CreativeToolboxEventHandler.PlayersThatCanPryGates.Contains(_ply)) { CreativeToolboxEventHandler.PlayersThatCanPryGates.Add(_ply); ev.Player.ReferenceHub.hints.Show(new TextHint($"\n\n\n\n\n\n\n\n\n{messageToReplace}", new HintParameter[] { new StringHintParameter("") }, HintEffectPresets.FadeInAndOut(0.25f, 1f, 0f))); } } if (counter >= Instance.Config.Scp207DrinkLimit) { string messageToReplace = Instance.Config.ExplodeAfterScp207Message.ReplaceAfterToken('%', new[] { new Tuple <string, object>("counter", counter) }); if (CreativeToolboxEventHandler.PlayersThatCanPryGates.Contains(_ply)) { CreativeToolboxEventHandler.PlayersThatCanPryGates.Remove(_ply); } _ply.Health = 0; _ply.AdrenalineHealth = 0; _ply.Kill(); CreativeToolboxEventHandler.SpawnGrenadeOnPlayer(_ply, false); counter = 0; ev.Player.ReferenceHub.hints.Show(new TextHint($"\n\n\n\n\n\n\n\n\n{messageToReplace}", new HintParameter[] { new StringHintParameter("") }, HintEffectPresets.FadeInAndOut(0.25f, 1f, 0f))); } }