Magic rings (#378)

* flame creation spell backend

* flame creation visuals

* flame creation spell visual

* tweak

* some tweaks

* ice dagger spell

* move spells to rings

* Update ring.yml

* fix server crash
This commit is contained in:
Ed
2024-08-02 00:48:36 +03:00
committed by GitHub
parent 56da23925f
commit 31c9485e3b
32 changed files with 504 additions and 27 deletions

View File

@@ -107,11 +107,14 @@ public partial class CP14SharedMagicSystem : EntitySystem
{
if (TryComp<HandsComponent>(args.Performer, out var hands) || hands is not null)
{
var freeHand = 0;
foreach (var hand in hands.Hands)
{
if (hand.Value.IsEmpty)
return;
freeHand++;
}
if (freeHand >= ent.Comp.FreeHandRequired)
return;
}
args.PushReason(Loc.GetString("cp14-magic-spell-need-somatic-component"));
args.Cancel();
@@ -168,6 +171,7 @@ public partial class CP14SharedMagicSystem : EntitySystem
{
BreakOnMove = delayedEffect.BreakOnMove,
BreakOnDamage = delayedEffect.BreakOnDamage,
BlockDuplicate = true,
};
_doAfter.TryStartDoAfter(doAfterEventArgs);
@@ -195,6 +199,7 @@ public partial class CP14SharedMagicSystem : EntitySystem
{
BreakOnMove = delayedEffect.BreakOnMove,
BreakOnDamage = delayedEffect.BreakOnDamage,
BlockDuplicate = true,
};
_doAfter.TryStartDoAfter(doAfterEventArgs);
@@ -217,6 +222,7 @@ public partial class CP14SharedMagicSystem : EntitySystem
{
BreakOnMove = delayedEffect.BreakOnMove,
BreakOnDamage = delayedEffect.BreakOnDamage,
BlockDuplicate = true,
};
_doAfter.TryStartDoAfter(doAfterEventArgs);