public void EnterBloodLust() { Log.Debug("Entered blood lust", BloodLust049.Instance.Config.Debug); bloodLustActive = true; if (Instance.Config.EnableAdrenalineEffect) { Invigorated adrenaline = Scp049.ReferenceHub.playerEffectsController.GetEffect <Invigorated>(); adrenaline.Intensity = 5; Scp049.ReferenceHub.playerEffectsController.EnableEffect(adrenaline); Log.Debug("Adrenaline effect given", BloodLust049.Instance.Config.Debug); } if (Instance.Config.EnableBleedEffect) { Bleeding bleeding = Scp049.ReferenceHub.playerEffectsController.GetEffect <Bleeding>(); Scp049.ReferenceHub.playerEffectsController.EnableEffect(bleeding); Log.Debug("Adrenaline effect given", BloodLust049.Instance.Config.Debug); } Scp207 scp207 = Scp049.ReferenceHub.playerEffectsController.GetEffect <Scp207>(); scp207.Intensity = (byte)Instance.Config.Scp207Intensity; Scp049.ReferenceHub.playerEffectsController.EnableEffect(scp207); Log.Debug("207 effect given", BloodLust049.Instance.Config.Debug); Scp049.Broadcast(3, Instance.Config.BloodLustMessage); }
private void Awake() { Exiled.Events.Handlers.Player.Hurting += OnPlayerHurt; Exiled.Events.Handlers.Player.Left += OnPlayerLeave; Exiled.Events.Handlers.Server.RestartingRound += OnRoundRestart; playerReferenceHub = this.GetComponent <ReferenceHub>(); scp207 = playerReferenceHub.playerEffectsController.GetEffect <Scp207>(); sinkHole = playerReferenceHub.playerEffectsController.GetEffect <SinkHole>(); sinkHole.slowAmount = Plugin.instance.Config.SlowdownAmount; }
public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response) { response = ""; Player player = Player.Get(((PlayerCommandSender)sender).SenderId); if (!TrackingAndMethods.PlayersWithSubclasses.ContainsKey(player) || !TrackingAndMethods.PlayersWithSubclasses[player].Abilities.Contains(AbilityType.Bloodlust)) { Log.Debug($"Player {player.Nickname} could not use the bloodlust command", Subclass.Instance.Config.Debug); response = ""; return(true); } SubClass subClass = TrackingAndMethods.PlayersWithSubclasses[player]; if (TrackingAndMethods.OnCooldown(player, AbilityType.Bloodlust, subClass)) { Log.Debug($"Player {player.Nickname} failed to use the bloodlust command", Subclass.Instance.Config.Debug); TrackingAndMethods.DisplayCooldown(player, AbilityType.Bloodlust, subClass, "bloodlust", Time.time); response = ""; return(true); } if (!TrackingAndMethods.CanUseAbility(player, AbilityType.Bloodlust, subClass)) { TrackingAndMethods.DisplayCantUseAbility(player, AbilityType.Bloodlust, subClass, "bloodlust"); response = ""; return(true); } Scp207 scp207 = player.ReferenceHub.playerEffectsController.GetEffect <Scp207>(); byte prevIntensity = scp207.Intensity; scp207.ServerChangeIntensity((byte)subClass.IntOptions["BloodlustIntensity"]); scp207.ServerChangeDuration(subClass.FloatOptions["BloodlustDuration"], false); TrackingAndMethods.PlayersBloodLusting.Add(player); TrackingAndMethods.UseAbility(player, AbilityType.Bloodlust, subClass); TrackingAndMethods.AddCooldown(player, AbilityType.Bloodlust); Timing.CallDelayed(subClass.FloatOptions["BloodlustDuration"], () => { if (TrackingAndMethods.PlayersBloodLusting.Contains(player)) { TrackingAndMethods.PlayersBloodLusting.Remove(player); } scp207.ServerChangeIntensity(prevIntensity); scp207.ServerChangeDuration(float.MaxValue, false); }); return(true); }
private void Awake() { RegisterEvents(); player = Player.Get(gameObject); scp207 = player.ReferenceHub.playerEffectsController.GetEffect <Scp207>(); sinkHole = player.ReferenceHub.playerEffectsController.GetEffect <SinkHole>(); excludedDamages = new List <DamageType>() { DamageType.Tesla, DamageType.Crushed, DamageType.Warhead, DamageType.Custom, DamageType.FemurBreaker, DamageType.Recontainment, DamageType.Scp207, DamageType.Unknown }; AngerMeter = BetterScp939.Instance.Config.StartingAnger; sinkHole.slowAmount = BetterScp939.Instance.Config.SlowAmount; }
private void Awake() { RegisterEvents(); player = Player.Get(gameObject); scp207 = player.ReferenceHub.playerEffectsController.GetEffect <Scp207>(); sinkHole = player.ReferenceHub.playerEffectsController.GetEffect <SinkHole>(); excludedDamages = new List <DamageTypes.DamageType>() { DamageTypes.Tesla, DamageTypes.Wall, DamageTypes.Nuke, DamageTypes.RagdollLess, DamageTypes.Contain, DamageTypes.Lure, DamageTypes.Recontainment, DamageTypes.Scp207, DamageTypes.None }; AngerMeter = BetterScp939.Instance.Config.StartingAnger; sinkHole.slowAmount = BetterScp939.Instance.Config.SlowAmount; }
private void Awake() { player = Player.Get(gameObject); scp207 = player.ReferenceHub.playerEffectsController.GetEffect <Scp207>(); }