Add rcreate and rset commands for builders

This commit is contained in:
kinther 2025-12-31 09:42:47 -08:00
parent 43d966a6ea
commit 90abf0f214
6 changed files with 1312 additions and 0 deletions

View file

@ -63,6 +63,8 @@ Changes in v1.1.0-alpha:
* Removed alignment from game - no more GOOD/EVIL flags or restrictions on shops
* Removed ANTI_ flags related to class restrictions on what objects they can use
* Mounts added to help with long trips, and ability to use them as pack animals
* Introduced AGENTS.md file to ensure code quality
* Migration away from OLC with new commands "rcreate" and "rset" for builders to modify rooms
Features to be implemented in the next few releases:

View file

@ -19,6 +19,7 @@
#define _ACT_H_
#include "utils.h" /* for the ACMD macro */
#include "rset.h"
#ifndef MAX_EMOTE_TOKENS
#define MAX_EMOTE_TOKENS 16

View file

@ -463,6 +463,7 @@ int free_room_strings(struct room_data *room)
free(room->description);
if (room->ex_description)
free_ex_descriptions(room->ex_description);
room->ex_description = NULL;
if (room->forage)
free_forage_list(room->forage);
room->forage = NULL;

View file

@ -273,6 +273,8 @@ cpp_extern const struct command_info cmd_info[] = {
{ "restore" , "resto" , POS_DEAD , do_restore , LVL_GOD, 0 },
{ "return" , "retu" , POS_DEAD , do_return , 0, 0 },
{ "redit" , "redit" , POS_DEAD , do_oasis_redit, LVL_BUILDER, 0 },
{ "rcreate" , "rcreate" , POS_DEAD , do_rcreate , LVL_BUILDER, 0 },
{ "rset" , "rset" , POS_DEAD , do_rset , LVL_BUILDER, 0 },
{ "rlist" , "rlist" , POS_DEAD , do_oasis_list, LVL_BUILDER, SCMD_OASIS_RLIST },
{ "rcopy" , "rcopy" , POS_DEAD , do_oasis_copy, LVL_GOD, CON_REDIT },
{ "roomflags", "roomflags", POS_DEAD , do_gen_tog , LVL_IMMORT, SCMD_SHOWVNUMS },

1292
src/rset.c Normal file

File diff suppressed because it is too large Load diff

14
src/rset.h Normal file
View file

@ -0,0 +1,14 @@
/**
* @file rset.h
* Room creation/configuration and utility headers.
*
* This set of code was not originally part of the circlemud distribution.
*/
#ifndef RSET_H
#define RSET_H
ACMD(do_rset);
ACMD(do_rcreate);
#endif