refactor: Magic system (#1138)
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user