github.com/tbamud/tbamud/pull/299
I opened this pull request for a zdelete command, but wanted feedback before going ahead with merging it.
On TBA if you type help zdelete, it just says Not Implemented. I wasn't sure if that was solely because it never had been implemented, or because there was an intentional choice to not add it.
The implementation I went with, doesn't really delete zones. It removes them from the MUD, and edits the index file, but the files themselves are backed up rather than deleted.
It also requires confirmation so you can't fatfinger it and accidentally delete zone 11 instead of 1, etc.
If you type zone 1, the MUD sends you this:
Code:
Zone 1: Sanctus
100 rooms, 100 mobiles, 97 objects, 100 triggers, 6 shops, 1 quest
Exits leading into it, which will become dead ends with no message:
zone 0 room 0 up -> 100
...
... and 5 more.
58 trigger attachments on 36 things outside the zone name a trigger
inside it; each attachment logs a SYSERR at every boot.
196 reset commands in other zones load something from this one; each is a
SYSERR at every boot.
Every object of this zone is destroyed by the reboot -- 172 of them exist
right now, and so is every copy in a player file, rent file or house. The
player is not told; the item is dropped as it loads.
To go through with it, the next command is just: zdelete confirm
If anyone has ideas for how to improve this, I'd be happy to hear them.
The zone is also LVL_IMPL, this is not meant to be a builder tool. I did also add in delete options builders can use for the editors that lacked them, but those are meant to be used on specific vnums, 1 at a time, unlike this.