From c0f4098ca9fb05511507cf7cc8bb3ea62d782192 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Tue, 10 Jun 2025 11:49:35 +0300 Subject: [PATCH] spell fixes --- .../_CP14/Discord/ChatManager.OOCRelay.cs | 55 ------------------- .../CP14SharedMagicSystem.DelayedActions.cs | 6 +- .../CP14SharedMagicSystem.InstantActions.cs | 8 +-- ...CP14SharedMagicSystem.ToggleableActions.cs | 6 +- .../MagicSpell/Events/CP14ActionsEvents.cs | 2 +- .../Events/CP14DelayedActionEvents.cs | 2 +- .../Events/CP14ToggleableActionEvents.cs | 2 +- 7 files changed, 13 insertions(+), 68 deletions(-) delete mode 100644 Content.Server/_CP14/Discord/ChatManager.OOCRelay.cs diff --git a/Content.Server/_CP14/Discord/ChatManager.OOCRelay.cs b/Content.Server/_CP14/Discord/ChatManager.OOCRelay.cs deleted file mode 100644 index 325961e5a1..0000000000 --- a/Content.Server/_CP14/Discord/ChatManager.OOCRelay.cs +++ /dev/null @@ -1,55 +0,0 @@ -using Content.Server.Discord; -using Content.Shared.CCVar; -using Robust.Shared.Configuration; -using Robust.Shared.Player; -using Serilog; - -namespace Content.Server.Chat.Managers; - -/// -/// OOC Relay module -/// -internal sealed partial class ChatManager -{ - [Dependency] private readonly DiscordWebhook _discord = default!; - [Dependency] private readonly IConfigurationManager _cfgManager = default!; - - private WebhookIdentifier? _OOCwebhook; - - private void CP14InitializeOOCRelay() - { - var webhookUrl = _cfgManager.GetCVar(CCVars.DiscordRoundUpdateWebhook); - - if (webhookUrl == string.Empty) - return; - - _discord.GetWebhook(webhookUrl, - data => - { - _OOCwebhook = data.ToIdentifier(); - }); - } - - private async void CP14SendOOCInDiscord(ICommonSession player, string message) - { - try - { - if (_OOCwebhook == null) - return; - - var name = player.Name; - var content = - message.Replace("@", "\\@") - .Replace("<", "\\<") - .Replace("/", - "\\/"); // @ and < are both problematic for discord due to pinging. / is sanitized solely to kneecap links to murder embeds via blunt force - - var payload = new WebhookPayload {Content = $"**`{name}`**: {content}"}; - await _discord.CreateMessage(_OOCwebhook.Value, payload); - } - catch (Exception e) - { - Log.Error($"Error while sending discord OOC message:\n{e}"); - } - } -} diff --git a/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.DelayedActions.cs b/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.DelayedActions.cs index 264964cece..d4d2486aac 100644 --- a/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.DelayedActions.cs +++ b/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.DelayedActions.cs @@ -54,7 +54,7 @@ public abstract partial class CP14SharedMagicSystem RaiseLocalEvent(action, ref endEv); if (cooldown is not null) - _action.CP14StartCustomDelay(action, TimeSpan.FromSeconds(cooldown.Value)); + _action.SetCooldown(action.Owner, TimeSpan.FromSeconds(cooldown.Value)); } private bool UseDelayedAction(ICP14DelayedMagicEffect delayedEffect, Entity action, DoAfterEvent doAfter, EntityUid performer, EntityUid? target = null, EntityCoordinates? worldTarget = null) @@ -120,11 +120,11 @@ public abstract partial class CP14SharedMagicSystem return; var doAfter = new CP14DelayedEntityWorldTargetActionDoAfterEvent( - EntityManager.GetNetCoordinates(args.Coords), + EntityManager.GetNetCoordinates(args.Target), EntityManager.GetNetEntity(args.Entity), args.Cooldown); - if (!UseDelayedAction(delayedEffect, (args.Action, magicEffect), doAfter, args.Performer, args.Entity, args.Coords)) + if (!UseDelayedAction(delayedEffect, (args.Action, magicEffect), doAfter, args.Performer, args.Entity, args.Target)) return; args.Handled = true; diff --git a/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.InstantActions.cs b/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.InstantActions.cs index 747f2ea102..019c80e677 100644 --- a/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.InstantActions.cs +++ b/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.InstantActions.cs @@ -27,7 +27,7 @@ public abstract partial class CP14SharedMagicSystem return; CastSpell((args.Action, magicEffect), spellArgs); - _action.CP14StartCustomDelay(args.Action, args.Cooldown); + _action.SetCooldown(args.Action.Owner, args.Cooldown); } private void OnMagicEntityWorldTargetAction(CP14EntityWorldTargetActionEvent args) @@ -38,13 +38,13 @@ public abstract partial class CP14SharedMagicSystem if (!TryComp(args.Action, out var magicEffect)) return; - var spellArgs = new CP14SpellEffectBaseArgs(args.Performer, magicEffect.SpellStorage, args.Entity, args.Coords); + var spellArgs = new CP14SpellEffectBaseArgs(args.Performer, magicEffect.SpellStorage, args.Entity, args.Target); if (!CanCastSpell((args.Action, magicEffect), spellArgs)) return; CastSpell((args.Action, magicEffect), spellArgs); - _action.CP14StartCustomDelay(args.Action, args.Cooldown); + _action.SetCooldown(args.Action.Owner, args.Cooldown); } private void OnMagicEntityTargetAction(CP14EntityTargetActionEvent args) @@ -61,6 +61,6 @@ public abstract partial class CP14SharedMagicSystem return; CastSpell((args.Action, magicEffect), spellArgs); - _action.CP14StartCustomDelay(args.Action, args.Cooldown); + _action.SetCooldown(args.Action.Owner, args.Cooldown); } } diff --git a/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.ToggleableActions.cs b/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.ToggleableActions.cs index 9d251e60f0..86f75041f7 100644 --- a/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.ToggleableActions.cs +++ b/Content.Shared/_CP14/MagicSpell/CP14SharedMagicSystem.ToggleableActions.cs @@ -107,7 +107,7 @@ public abstract partial class CP14SharedMagicSystem private void EndToggleableAction(Entity action, EntityUid performer, float? cooldown = null) { if (cooldown is not null) - _action.CP14StartCustomDelay(action, TimeSpan.FromSeconds(cooldown.Value)); + _action.SetCooldown(action.Owner, TimeSpan.FromSeconds(cooldown.Value)); RemCompDeferred(action); var endEv = new CP14EndCastMagicEffectEvent(performer); @@ -161,10 +161,10 @@ public abstract partial class CP14SharedMagicSystem return; var doAfter = new CP14ToggleableEntityWorldTargetActionDoAfterEvent( - EntityManager.GetNetCoordinates(args.Coords), + EntityManager.GetNetCoordinates(args.Target), EntityManager.GetNetEntity(args.Entity), args.Cooldown); - ToggleToggleableAction(toggleable, doAfter, (args.Action, magicEffect), args.Performer, args.Entity, args.Coords); + ToggleToggleableAction(toggleable, doAfter, (args.Action, magicEffect), args.Performer, args.Entity, args.Target); args.Handled = true; } diff --git a/Content.Shared/_CP14/MagicSpell/Events/CP14ActionsEvents.cs b/Content.Shared/_CP14/MagicSpell/Events/CP14ActionsEvents.cs index 5bc14516f5..6d90ed75aa 100644 --- a/Content.Shared/_CP14/MagicSpell/Events/CP14ActionsEvents.cs +++ b/Content.Shared/_CP14/MagicSpell/Events/CP14ActionsEvents.cs @@ -7,7 +7,7 @@ public interface ICP14MagicEffect public TimeSpan Cooldown { get; } } -public sealed partial class CP14EntityWorldTargetActionEvent : EntityWorldTargetActionEvent, ICP14MagicEffect +public sealed partial class CP14EntityWorldTargetActionEvent : WorldTargetActionEvent, ICP14MagicEffect { [DataField] public TimeSpan Cooldown { get; private set; } = TimeSpan.FromSeconds(1f); diff --git a/Content.Shared/_CP14/MagicSpell/Events/CP14DelayedActionEvents.cs b/Content.Shared/_CP14/MagicSpell/Events/CP14DelayedActionEvents.cs index d8b14220b1..c3f11e23b9 100644 --- a/Content.Shared/_CP14/MagicSpell/Events/CP14DelayedActionEvents.cs +++ b/Content.Shared/_CP14/MagicSpell/Events/CP14DelayedActionEvents.cs @@ -22,7 +22,7 @@ public interface ICP14DelayedMagicEffect public bool RequireCanInteract { get; } } -public sealed partial class CP14DelayedEntityWorldTargetActionEvent : EntityWorldTargetActionEvent, +public sealed partial class CP14DelayedEntityWorldTargetActionEvent : WorldTargetActionEvent, ICP14DelayedMagicEffect { [DataField] diff --git a/Content.Shared/_CP14/MagicSpell/Events/CP14ToggleableActionEvents.cs b/Content.Shared/_CP14/MagicSpell/Events/CP14ToggleableActionEvents.cs index 2105e6f6f4..6af11cec56 100644 --- a/Content.Shared/_CP14/MagicSpell/Events/CP14ToggleableActionEvents.cs +++ b/Content.Shared/_CP14/MagicSpell/Events/CP14ToggleableActionEvents.cs @@ -46,7 +46,7 @@ public sealed partial class CP14ToggleableInstantActionEvent : InstantActionEven public bool Hidden { get; private set; } = false; } -public sealed partial class CP14ToggleableEntityWorldTargetActionEvent : EntityWorldTargetActionEvent, ICP14ToggleableMagicEffect +public sealed partial class CP14ToggleableEntityWorldTargetActionEvent : WorldTargetActionEvent, ICP14ToggleableMagicEffect { [DataField] public float EffectFrequency { get; private set; } = 1f;