refactor: Magic system (#1138)

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
This commit is contained in:
Tornado Tech
2025-04-15 00:32:41 +10:00
committed by GitHub
parent e7cd69e383
commit 52f31e4403
14 changed files with 266 additions and 262 deletions

View File

@@ -18,7 +18,7 @@ using Robust.Shared.Random;
namespace Content.Server._CP14.MagicSpell;
public sealed partial class CP14MagicSystem : CP14SharedMagicSystem
public sealed class CP14MagicSystem : CP14SharedMagicSystem
{
[Dependency] private readonly ChatSystem _chat = default!;
[Dependency] private readonly TransformSystem _transform = default!;
@@ -26,7 +26,6 @@ public sealed partial class CP14MagicSystem : CP14SharedMagicSystem
[Dependency] private readonly EntityLookupSystem _lookup = default!;
[Dependency] private readonly EntityWhitelistSystem _whitelist = default!;
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly SharedActionsSystem _action = default!;
public override void Initialize()
{
@@ -132,16 +131,14 @@ public sealed partial class CP14MagicSystem : CP14SharedMagicSystem
var spellEv = new CP14SpellFromSpellStorageUsedEvent(args.Performer, (ent, magicEffect), requiredMana);
RaiseLocalEvent(magicEffect.SpellStorage.Value, ref spellEv);
_magicEnergy.ChangeEnergy(magicEffect.SpellStorage.Value, -requiredMana, out var changedEnergy, out var overloadedEnergy, magicStorage, safe: false);
_magicEnergy.ChangeEnergy((magicEffect.SpellStorage.Value, magicStorage), -requiredMana, out var changedEnergy, out var overloadedEnergy, safe: false);
requiredMana -= FixedPoint2.Abs(changedEnergy + overloadedEnergy);
}
//Second - action user
if (requiredMana > 0 &&
TryComp<CP14MagicEnergyContainerComponent>(args.Performer, out var playerMana))
{
_magicEnergy.ChangeEnergy(args.Performer.Value, -requiredMana, out _, out _, playerMana, safe: false);
}
_magicEnergy.ChangeEnergy((args.Performer.Value, playerMana), -requiredMana, out _, out _, safe: false);
}
private void OnMusicCheck(Entity<CP14MagicEffectRequiredMusicToolComponent> ent, ref CP14CastMagicEffectAttemptEvent args)
@@ -160,10 +157,10 @@ public sealed partial class CP14MagicSystem : CP14SharedMagicSystem
break;
}
if (!passed)
{
args.PushReason(Loc.GetString("cp14-magic-music-aspect"));
args.Cancel();
}
if (passed)
return;
args.PushReason(Loc.GetString("cp14-magic-music-aspect"));
args.Cancel();
}
}