From 0ebf1cb02fd82f4c57e90028ae856dde2047f7be Mon Sep 17 00:00:00 2001 From: kinther Date: Thu, 2 Oct 2025 15:30:14 -0700 Subject: [PATCH] Increase vnum capabilities --- lib/world/mob/1.mob | 22 ++++++++++++- lib/world/mob/2.mob | 1 - lib/world/mob/index | 1 - lib/world/obj/1.obj | 77 ++++++++++++++++++++++++++++++++++++++++++--- lib/world/obj/2.obj | 1 - lib/world/obj/index | 1 - lib/world/qst/2.qst | 1 - lib/world/qst/index | 1 - lib/world/rsv/1.rsv | 69 ++++++++++++++++++++++++++++++++++++++-- lib/world/shp/1.shp | 49 +++++++++++++++++++++++++++++ lib/world/shp/2.shp | 1 - lib/world/shp/index | 1 - lib/world/wld/1.wld | 8 +++-- lib/world/wld/2.wld | 7 ----- lib/world/wld/index | 1 - lib/world/zon/1.zon | 4 +-- lib/world/zon/2.zon | 6 ---- lib/world/zon/index | 1 - src/act.wizard.c | 2 +- src/db.c | 12 +++---- src/dg_mobcmd.c | 2 +- src/dg_objcmd.c | 2 +- src/dg_wldcmd.c | 2 +- src/shop.c | 2 +- src/structs.h | 8 ++--- 25 files changed, 231 insertions(+), 51 deletions(-) delete mode 100644 lib/world/mob/2.mob delete mode 100644 lib/world/obj/2.obj delete mode 100644 lib/world/qst/2.qst delete mode 100644 lib/world/shp/2.shp delete mode 100644 lib/world/wld/2.wld delete mode 100644 lib/world/zon/2.zon diff --git a/lib/world/mob/1.mob b/lib/world/mob/1.mob index 4952bd1..f627deb 100644 --- a/lib/world/mob/1.mob +++ b/lib/world/mob/1.mob @@ -38,7 +38,7 @@ dark hair has been pulled back behind her head, intensifying the sharpness of her nose. ~ 2122 0 0 0 0 0 0 0 0 E -0 3d20+40 1d1 +1 3d20+40 1d1 8 8 2 Str: 14 Dex: 18 @@ -75,4 +75,24 @@ Con: 18 E L 14 113 1 L 9 112 1 +#103 +woman lanky scarred~ +the lanky, scarred woman~ +The lanky, scarred woman is leaning against a wall here. +~ + This human woman is of average height and has a very lanky frame. Her skin +hugs her body tightly and there is little fat to be seen, possibly due to +dehydration. Tanned dark from the harsh rays of the sun, her upper torso is +covered in scars from a lifetime of labor. Unkempt brown hair covers her head, +descending to just above her shoulders. Her eyes are a light blue color and +appear slightly bloodshot. +~ +10 0 0 0 0 0 0 0 0 E +1 3d8+60 1d2 +8 8 2 +Str: 12 +Dex: 14 +Con: 14 +Cha: 14 +E $ diff --git a/lib/world/mob/2.mob b/lib/world/mob/2.mob deleted file mode 100644 index 857f13a..0000000 --- a/lib/world/mob/2.mob +++ /dev/null @@ -1 +0,0 @@ -$ diff --git a/lib/world/mob/index b/lib/world/mob/index index fab85c7..316b58a 100644 --- a/lib/world/mob/index +++ b/lib/world/mob/index @@ -1,4 +1,3 @@ 0.mob 1.mob -2.mob $ diff --git a/lib/world/obj/1.obj b/lib/world/obj/1.obj index 73d32e2..0275468 100644 --- a/lib/world/obj/1.obj +++ b/lib/world/obj/1.obj @@ -255,12 +255,81 @@ A backpack made of thick hide is lying here.~ 75 0 0 0 5 50 0 0 0 #132 -bar bartop~ -a long, wooden bar~ -A long, wooden bar takes up most of the south side of the room.~ -It's a long wooden bar! +counter~ +a long, stone counter~ +A long, rough-hewn stone counter is here along the eastern wall.~ + This stone countertop is a crude L-shape, allowing the staff of the +establishment to enter from behind it as need be. Carved of stone, it is +rough-hewn except on the very top, which has been polished down as much as +possible. Chips and cracks have formed across its surface, which is beginning +to show its age. Most of the counter is relatively clean, but certain spots are +sticky from spilled drink and food. ~ 6 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 200 0 0 0 0 +#133 +table long carved stone~ +a long, carved stone table~ +A long, carved stone table is near the southern wall.~ +Made of one piece of solid stone, this table is easily six feet in length. At +each of its corners a thick leg supports the top. Each leg at the base has been +carved to look like an erdlu's foot, with small talons extending out diagonally. +Over time it has been worn and chipped, leaving it stained but still functional. +~ +6 0 0 0 0 0 0 0 0 0 0 0 0 +6 0 1 0 +100 0 0 0 0 +#134 +ledge small stone~ +a small stone ledge~ +A small stone ledge rests against the western wall here.~ +This makeshift seat is really nothing more than a large slab of stone. It is +unfinished, yet shows some attempts to carve it into a more suitable place to +sit upon. One end is still slightly jagged, though has been dulled so as not to +easily hurt someone. +~ +6 0 0 0 0 0 0 0 0 0 0 0 0 +2 0 0 0 +100 0 0 0 0 +#135 +mug ale~ +a mug of ale~ +A mug of ale has been left here.~ +Made of clay, this mug appears to have been fired in a kiln to retain its shape. +The craftsmanship is questionable, but it does it job well enough. +~ +17 0 0 0 0 ap 0 0 0 0 0 0 0 +3 3 3 0 +8 12 0 0 0 +#136 +shot whiskey~ +a shot of whiskey~ +A shot of whiskey has been set here.~ +This shotglass is made of fired clay and is small enough to hold a single pour +of spirits. +~ +17 0 0 0 0 ap 0 0 0 0 0 0 0 +1 1 5 0 +1 15 0 0 0 +#137 +shot firebreather~ +a shot of firebreather~ +A shot of firebreather has been set here.~ + Made of discolored stone, this shotglass appears to have been chipped by +hand. It could probably hold a small amount of spirits. +~ +17 0 0 0 0 ap 0 0 0 0 0 0 0 +0 0 0 0 +1 15 0 0 0 +#138 +cup water~ +a cup of water~ +A small cup filled with water is here.~ + This small cup is carved from wood and looks like it could hold a fair amount +of liquid. +~ +17 0 0 0 0 a 0 0 0 0 0 0 0 +4 4 0 0 +1 15 0 0 0 $~ diff --git a/lib/world/obj/2.obj b/lib/world/obj/2.obj deleted file mode 100644 index 857f13a..0000000 --- a/lib/world/obj/2.obj +++ /dev/null @@ -1 +0,0 @@ -$ diff --git a/lib/world/obj/index b/lib/world/obj/index index 6f5e7e4..5f40f80 100644 --- a/lib/world/obj/index +++ b/lib/world/obj/index @@ -1,4 +1,3 @@ 0.obj 1.obj -2.obj $ diff --git a/lib/world/qst/2.qst b/lib/world/qst/2.qst deleted file mode 100644 index 185c943..0000000 --- a/lib/world/qst/2.qst +++ /dev/null @@ -1 +0,0 @@ -$~ diff --git a/lib/world/qst/index b/lib/world/qst/index index a3cd84f..8f59cfc 100644 --- a/lib/world/qst/index +++ b/lib/world/qst/index @@ -1,4 +1,3 @@ 0.qst 1.qst -2.qst $ diff --git a/lib/world/rsv/1.rsv b/lib/world/rsv/1.rsv index f73b5da..f773bbe 100644 --- a/lib/world/rsv/1.rsv +++ b/lib/world/rsv/1.rsv @@ -1,9 +1,12 @@ -#R 100 1758817753 -. -#R 134 1758842652 +#R 134 1759416763 +M 103 M 102 E 9 112 E 14 113 +G 135 +G 136 +G 137 +G 138 O 132 0 200 0 0 X 0 0 X 1 0 @@ -21,4 +24,64 @@ V 4 0 V 5 0 V 6 0 V 7 0 +O 133 0 100 0 0 +X 0 0 +X 1 0 +X 2 0 +X 3 0 +W 0 0 +W 1 0 +W 2 0 +W 3 0 +V 0 6 +V 1 0 +V 2 1 +V 3 0 +V 4 0 +V 5 0 +V 6 0 +V 7 0 +O 134 0 100 0 0 +X 0 0 +X 1 0 +X 2 0 +X 3 0 +W 0 0 +W 1 0 +W 2 0 +W 3 0 +V 0 2 +V 1 0 +V 2 0 +V 3 0 +V 4 0 +V 5 0 +V 6 0 +V 7 0 +. +#R 100 1759444166 +M 101 +E 3 118 +E 5 131 +E 6 110 +E 7 108 +E 8 115 +E 9 124 +E 10 107 +E 11 111 +E 15 117 +E 16 117 +E 17 127 +M 100 +E 3 118 +E 5 131 +E 6 110 +E 7 108 +E 8 115 +E 9 124 +E 10 107 +E 11 111 +E 15 117 +E 16 117 +E 17 127 . diff --git a/lib/world/shp/1.shp b/lib/world/shp/1.shp index 185c943..e770c2a 100644 --- a/lib/world/shp/1.shp +++ b/lib/world/shp/1.shp @@ -1 +1,50 @@ +CircleMUD v3.0 Shop File~ +#100~ +135 +136 +137 +138 +-1 +1.00 +1.00 +-1 +%s We're fresh out of that.~ +%s Trying to sell something you don't have?~ +%s Not interested. Try someone else.~ +%s I can't afford that!~ +%s Come back when you have some coin.~ +%s That'll be %d coins.~ +%s I'll give you %d coins for that.~ +0 +4 +102 +0 +134 +-1 +0 +28 +0 +0 +#101~ +138 +-1 +1.00 +1.00 +-1 +%s Sorry, I don't stock that item.~ +%s You don't seem to have that.~ +%s I don't trade in such items.~ +%s I can't afford that!~ +%s You are too poor!~ +%s That'll be %d coins, thanks.~ +%s I'll give you %d coins for that.~ +0 +0 +103 +0 +-1 +0 +28 +0 +0 $~ diff --git a/lib/world/shp/2.shp b/lib/world/shp/2.shp deleted file mode 100644 index 185c943..0000000 --- a/lib/world/shp/2.shp +++ /dev/null @@ -1 +0,0 @@ -$~ diff --git a/lib/world/shp/index b/lib/world/shp/index index bf56546..ded3d4a 100644 --- a/lib/world/shp/index +++ b/lib/world/shp/index @@ -1,4 +1,3 @@ 0.shp 1.shp -2.shp $ diff --git a/lib/world/wld/1.wld b/lib/world/wld/1.wld index 2a2db04..50955e3 100644 --- a/lib/world/wld/1.wld +++ b/lib/world/wld/1.wld @@ -142,7 +142,7 @@ S Caravan Way~ This unfinished room was created by Kinther. ~ -1 0 0 0 0 0 +1 0 0 0 0 1 D0 ~ ~ @@ -528,7 +528,11 @@ D2 S #134 The Golden Inix Inn~ -This unfinished room was created by Kinther. + This large, open room is filled with tables of various shapes and sizes. +The smell of food being cooked drifts through the area and seems to be coming +from a curtained doorway. In a corner is an L-shaped counter made of rough-hewn +stone which has a selection of drinks behind it. Near the eastern wall, a +stairway heads upward toward an open dormitory. ~ 1 131080 0 0 0 0 D0 diff --git a/lib/world/wld/2.wld b/lib/world/wld/2.wld deleted file mode 100644 index 8ac4cf3..0000000 --- a/lib/world/wld/2.wld +++ /dev/null @@ -1,7 +0,0 @@ -#200 -A room~ -You are in an unfinished room. -~ -2 0 0 0 0 0 -S -$~ diff --git a/lib/world/wld/index b/lib/world/wld/index index b6bba7d..e02a01d 100644 --- a/lib/world/wld/index +++ b/lib/world/wld/index @@ -1,4 +1,3 @@ 0.wld 1.wld -2.wld $ diff --git a/lib/world/zon/1.zon b/lib/world/zon/1.zon index 2611b1d..4a3fef0 100644 --- a/lib/world/zon/1.zon +++ b/lib/world/zon/1.zon @@ -1,8 +1,6 @@ #1 None.~ City of Tyr~ -100 199 30 2 -M 0 100 1 100 (the tall, burly human soldier) -M 0 101 1 100 (a slim, lanky human soldier) +100 999 30 2 S $ diff --git a/lib/world/zon/2.zon b/lib/world/zon/2.zon deleted file mode 100644 index 6f138ba..0000000 --- a/lib/world/zon/2.zon +++ /dev/null @@ -1,6 +0,0 @@ -#2 -Kinther~ -City of Tyr Expanded~ -200 299 30 2 -S -$ diff --git a/lib/world/zon/index b/lib/world/zon/index index bf65be4..971b455 100644 --- a/lib/world/zon/index +++ b/lib/world/zon/index @@ -1,4 +1,3 @@ 0.zon 1.zon -2.zon $ diff --git a/src/act.wizard.c b/src/act.wizard.c index c9cc7a6..b774d16 100644 --- a/src/act.wizard.c +++ b/src/act.wizard.c @@ -5797,7 +5797,7 @@ ACMD(do_msave) o = GET_EQ(vict, pos); if (!o) continue; if (GET_OBJ_VNUM(o) <= 0) continue; - loadout_add_entry(&mob_proto[rnum].proto_loadout, GET_OBJ_VNUM(o), (sh_int)pos, 1); + loadout_add_entry(&mob_proto[rnum].proto_loadout, GET_OBJ_VNUM(o), (int)pos, 1); equips_added++; } diff --git a/src/db.c b/src/db.c index 4816607..efa0c5c 100644 --- a/src/db.c +++ b/src/db.c @@ -1864,7 +1864,7 @@ void parse_mobile(FILE *mob_f, int nr) log("SYSERR: Bad 'L' line in mob #%d: '%s' (need [qty]).", nr, line); } else { if (qty < 1) qty = 1; - loadout_add_entry(&mob_proto[i].proto_loadout, vnum, (sh_int)wpos, qty); + loadout_add_entry(&mob_proto[i].proto_loadout, vnum, (int)wpos, qty); } /* look ahead to see if there is another 'L' */ letter = fread_letter(mob_f); @@ -1892,7 +1892,7 @@ void parse_mobile(FILE *mob_f, int nr) log("SYSERR: Bad post-trigger 'L' line in mob #%d: '%s' (need [qty]).", nr, line); } else { if (qty < 1) qty = 1; - loadout_add_entry(&mob_proto[i].proto_loadout, vnum, (sh_int)wpos, qty); + loadout_add_entry(&mob_proto[i].proto_loadout, vnum, (int)wpos, qty); } letter = fread_letter(mob_f); } @@ -2145,7 +2145,7 @@ static void load_zones(FILE *fl, char *zonename) line_num += get_line(fl, buf); - if (sscanf(buf, "#%hd", &Z.number) != 1) { + if (sscanf(buf, "#%d", &Z.number) != 1) { log("SYSERR: Format error in %s, line %d", zname, line_num); exit(1); } @@ -2168,15 +2168,15 @@ static void load_zones(FILE *fl, char *zonename) line_num += get_line(fl, buf); /* Look for 10 items first (new tbaMUD), if not found, try 4 (old tbaMUD) */ - if (sscanf(buf, " %hd %hd %d %d %s %s %s %s %d %d", &Z.bot, &Z.top, &Z.lifespan, + if (sscanf(buf, " %d %d %d %d %s %s %s %s %d %d", &Z.bot, &Z.top, &Z.lifespan, &Z.reset_mode, zbuf1, zbuf2, zbuf3, zbuf4, &Z.min_level, &Z.max_level) != 10) { - if (sscanf(buf, " %hd %hd %d %d ", &Z.bot, &Z.top, &Z.lifespan, &Z.reset_mode) != 4) { + if (sscanf(buf, " %d %d %d %d ", &Z.bot, &Z.top, &Z.lifespan, &Z.reset_mode) != 4) { /* This may be due to the fact that the zone has no builder. So, we just * attempt to fix this by copying the previous 2 last reads into this * variable and the last one. */ log("SYSERR: Format error in numeric constant line of %s, attempting to fix.", zname); - if (sscanf(Z.name, " %hd %hd %d %d ", &Z.bot, &Z.top, &Z.lifespan, &Z.reset_mode) != 4) { + if (sscanf(Z.name, " %d %d %d %d ", &Z.bot, &Z.top, &Z.lifespan, &Z.reset_mode) != 4) { log("SYSERR: Could not fix previous error, aborting game."); exit(1); } else { diff --git a/src/dg_mobcmd.c b/src/dg_mobcmd.c index 78f2fcd..5503046 100644 --- a/src/dg_mobcmd.c +++ b/src/dg_mobcmd.c @@ -1068,7 +1068,7 @@ ACMD(do_mdoor) strcat(newexit->general_description, "\r\n"); break; case 2: /* flags */ - newexit->exit_info = (sh_int)asciiflag_conv(value); + newexit->exit_info = (int)asciiflag_conv(value); break; case 3: /* key */ newexit->key = atoi(value); diff --git a/src/dg_objcmd.c b/src/dg_objcmd.c index 974150c..29caa33 100644 --- a/src/dg_objcmd.c +++ b/src/dg_objcmd.c @@ -668,7 +668,7 @@ static OCMD(do_odoor) strcat(newexit->general_description, "\r\n"); /* strcat : OK */ break; case 2: /* flags */ - newexit->exit_info = (sh_int)asciiflag_conv(value); + newexit->exit_info = (int)asciiflag_conv(value); break; case 3: /* key */ newexit->key = atoi(value); diff --git a/src/dg_wldcmd.c b/src/dg_wldcmd.c index 1b0152b..51035b9 100644 --- a/src/dg_wldcmd.c +++ b/src/dg_wldcmd.c @@ -267,7 +267,7 @@ WCMD(do_wdoor) strcat(newexit->general_description, "\r\n"); break; case 2: /* flags */ - newexit->exit_info = (sh_int)asciiflag_conv(value); + newexit->exit_info = (int)asciiflag_conv(value); break; case 3: /* key */ newexit->key = atoi(value); diff --git a/src/shop.c b/src/shop.c index 2221c22..37300d6 100644 --- a/src/shop.c +++ b/src/shop.c @@ -1302,7 +1302,7 @@ void boot_the_shops(FILE *shop_f, char *filename, int rec_count) shop_index[top_shop].message_sell = read_shop_message(6, SHOP_NUM(top_shop), shop_f, buf2); read_line(shop_f, "%d", &SHOP_BROKE_TEMPER(top_shop)); read_line(shop_f, "%ld", &SHOP_BITVECTOR(top_shop)); - read_line(shop_f, "%hd", &SHOP_KEEPER(top_shop)); + read_line(shop_f, "%d", &SHOP_KEEPER(top_shop)); SHOP_KEEPER(top_shop) = real_mobile(SHOP_KEEPER(top_shop)); read_line(shop_f, "%d", &SHOP_TRADE_WITH(top_shop)); diff --git a/src/structs.h b/src/structs.h index d3ba1a7..ddc0377 100644 --- a/src/structs.h +++ b/src/structs.h @@ -27,7 +27,7 @@ * signed anymore so use the unsigned types and get 65,535 objects instead of * 32,768. NOTE: This will likely be unconditionally unsigned later. * 0 = use signed indexes; 1 = use unsigned indexes */ -#define CIRCLE_UNSIGNED_INDEX 1 +#define CIRCLE_UNSIGNED_INDEX 0 #if CIRCLE_UNSIGNED_INDEX # define IDXTYPE ush_int /**< Index types are unsigned short ints */ @@ -38,9 +38,9 @@ # define NOBODY ((IDXTYPE)~0) /**< Sets to ush_int_MAX, or 65,535 */ # define NOFLAG ((IDXTYPE)~0) /**< Sets to ush_int_MAX, or 65,535 */ #else -# define IDXTYPE sh_int /**< Index types are unsigned short ints */ -# define IDXTYPE_MAX SHRT_MAX /**< Used for compatibility checks. */ -# define IDXTYPE_MIN SHRT_MIN /**< Used for compatibility checks. */ +# define IDXTYPE int /**< Index types are unsigned short ints */ +# define IDXTYPE_MAX INT_MAX /**< Used for compatibility checks. */ +# define IDXTYPE_MIN INT_MIN /**< Used for compatibility checks. */ # define NOWHERE ((IDXTYPE)-1) /**< nil reference for rooms */ # define NOTHING ((IDXTYPE)-1) /**< nil reference for objects */ # define NOBODY ((IDXTYPE)-1) /**< nil reference for mobiles */