fix: spellbooks can have infinite charges (#38376)

* fix: spellbooks can have infinite charges

* refactor: indicate infinite spellbook charges with null

Not sure if I like this much better...
This commit is contained in:
Perry Fraser
2025-07-05 02:28:56 -04:00
committed by GitHub
parent 78e8d98137
commit 6cefc412a3
3 changed files with 20 additions and 15 deletions

View File

@@ -33,7 +33,9 @@ public sealed class SpellbookSystem : EntitySystem
if (spell == null)
continue;
_sharedCharges.SetCharges(spell.Value, charges);
// Null means infinite charges.
if (charges is { } count)
_sharedCharges.SetCharges(spell.Value, count);
ent.Comp.Spells.Add(spell.Value);
}
}
@@ -73,8 +75,9 @@ public sealed class SpellbookSystem : EntitySystem
foreach (var (id, charges) in ent.Comp.SpellActions)
{
EntityUid? actionId = null;
if (_actions.AddAction(args.Args.User, ref actionId, id))
_sharedCharges.SetCharges(actionId.Value, charges);
if (_actions.AddAction(args.Args.User, ref actionId, id)
&& charges is { } count) // Null means infinite charges
_sharedCharges.SetCharges(actionId.Value, count);
}
}