feat(gm): /set + /setskill (instance-direct, auto-discovered commands) #87
No reviewers
Labels
No labels
alpha:wave-0
alpha:wave-1
alpha:wave-2
alpha:wave-3
area:assets
area:combat
area:ecology
area:infra
area:render
area:scripting
area:ui
area:world
enhancement
epic
migration
post-alpha
roadmap
tech-debt
type:bug
type:chore
type:design
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
marco/IsoMmo!87
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/gm-set-commands"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #81. Two GM dev commands to tune a targeted mobile for testing, plus two architecture rules the owner asked to persist.
Commands
Both target a Mobile (targeting cursor, no LOS) and can target yourself.
Act on the instance (no indirection layer)
The setters live on Mobile (SetHits/SetMana/SetStat/SetSkill, self-clamping — ModernUO-style), and World.FindMobile is public so the command edits the instance directly. No MobileEditor, no World.SetHits delegation. World stays thin; the clamp invariant lives with the data it guards.
Auto-discovered commands (no manual list)
Program.cs scans the assembly for concrete BaseCommand types and registers them in DI (which resolves each ctor dependency, e.g. SpawnCommand's CreatureRegistry), injected into CommandRegistry. Adding a command is just adding the class — the hand-maintained list is gone.
Persisted rules
CLAUDE.md gains a Design principles section: auto-discovery beats manual registration, and act on the instance / minimize indirection. docs/gm-commands.md updated.
Definition of Done