* Allows Chaplain's Spirit Sword To Redo Name If Invalid (#72642)
## About The Pull Request
The current behavior doesn't let the sword re-choose their name if they
screw it up the first time and it turns out to be filtered or sanitized
out for whatever reason. That's silly in my opinion, so I changed it to
be more like holoparasite name-selection behavior, where you get the
text to choose your name until you get it right.
I moved the re-naming portion of the sword to be after all of the
important RegisterSignal steps as well, just to be safe as we sleep as
they plug in different names they might want.
## Why It's Good For The Game
You shouldn't be stuck as "spirit of the blade" permanently if you
accidentally balls up the word filter, let's have it be more like
holoparasite behavior to be nicer.
## Changelog
🆑
qol: Spirits of possessed blades (Chaplain's Null Rod Option) will be
able re-try selecting their name if it ends up to be filtered for any
reason.
/🆑
* Allows Chaplain's Spirit Sword To Redo Name If Invalid
Co-authored-by: san7890 <the@san7890.com>
Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward it's arguments with a SendSignal() call. Now every component that want's to can also know about this happening.