Validate a strike-mode shortcode against the weapon's other shortcodes.
The shortcode must be non-blank, use only [\w-] characters, and not collide
with any of existing. Used when creating a new mode (all current shortcodes
are existing) and, via planShortcodeSave, when editing one (the
edited mode's own shortcode excluded from existing).
Pure and Foundry-free.
Parameters
candidate: string
The proposed shortcode (trimmed here).
existing: readonlystring[]
The shortcodes it must not collide with.
Returns string|undefined
A human-readable rejection reason, or undefined if it is valid.
Validate a strike-mode shortcode against the weapon's other shortcodes.
The shortcode must be non-blank, use only
[\w-]characters, and not collide with any ofexisting. Used when creating a new mode (all current shortcodes areexisting) and, via planShortcodeSave, when editing one (the edited mode's own shortcode excluded fromexisting).Pure and Foundry-free.