* Refactor SpeciesUI into overlay and status effects
All components that update the UI will need to use PlayerAttached for cases where the Mind transfers I think.
* Change overlay / status effects to use states
* Change TryRemoveStatus to RemoveStatus
Doesn't return a bool so not trying.
Addressing PJB's feedback.
* Add support for global verbs
These are verbs that are visible for all entities, regardless of their components. This works by adding a new class `GlobalVerb` and a new attribute `GlobalVerbAttribute`. It works in the same way as current verbs, except you can put the verbs class definition anywhere instead of inside a component. Also moved VerbUtility into it's own file since it now has functions for both verbs and global verbs.
* Add view variables verb as an example of global verbs
* Implement suggested changes
Implemented some suggested changes from code review:
- Remove unneeded attribute from `GlobalVerb`
- Added some useful attributes to `GlobalVerbAttribute`
- Moved constants used by both `Verb` and `GlobalVerb` into `VerbUtility`
* Reduce duplicate code in VerbSystem (client & server)
Greatly reduced the amount of duplicate code for handling component verbs and global verbs separately.
* Update engine submodule
Need this so client side permissions checks are available.
* Add rejuvenate command
Takes one or more entity uids as input. Attempts to find a DamageableComponent on that mob and heal all damage on it.
* Add rejuvenate to right click menu
* Update engine submodule
* Make suggested changes
- Remove redundant error checks in rejuvenate console command, add in relevant ones along with shell messages so the user knows what's going on.
- Remove localization of group check on rejuvenate verb, since the translated version wouldn't be in groups.yml this would've broken the verb in other locales.
- Have the rejuvenate verb attempt to heal the user by default if no arguments were provided to it.
* More localization + help message formatting improvement
* Add more suggested changes