From ec2e94e3463654a6288464a4c070b48ef9bf7368 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Wed, 17 Jun 2026 21:13:07 -0400 Subject: feat: smithing added, item/object interaction reworked. recipes and menus refactored. --- data/help/cook.yaml | 18 ++++++++---------- data/help/equipment.yaml | 11 +++++++---- data/help/recipe.yaml | 29 ++++++++++++----------------- data/help/smelt.yaml | 22 ++++++++++++++++++++++ data/help/smith.yaml | 20 ++++++++++++++++++++ data/help/smithing.yaml | 26 ++++++++++++++++++++++++++ data/help/use.yaml | 28 +++++++++++++++------------- data/help/wear.yaml | 16 ++++------------ 8 files changed, 114 insertions(+), 56 deletions(-) create mode 100644 data/help/smelt.yaml create mode 100644 data/help/smith.yaml create mode 100644 data/help/smithing.yaml (limited to 'data/help') diff --git a/data/help/cook.yaml b/data/help/cook.yaml index 20ee72f..ec26e20 100644 --- a/data/help/cook.yaml +++ b/data/help/cook.yaml @@ -8,22 +8,20 @@ description: | Cooking requires a heat source — either a lit fire or a cooking range. Some recipes (like baking bread) require a cooking range - and cannot be done on an open fire. The fire does not need to - stay lit throughout — cooking continues regardless. + and cannot be done on an open fire. - Each item takes 6 ticks to cook. A Cooking skill check determines - whether you produce a cooked item or a burnt one. On failure, you - get a burnt variant instead of the cooked food. + Before cooking starts, you are prompted "How many?" — press + return for all, type a number, or type anything else to cancel. + + A Cooking skill check determines whether you produce a cooked + item or a burnt one. On failure, you get a burnt variant. Typing "cook" with no arguments shows a menu of everything you can cook with your current inventory and the available station. - If only one thing can be cooked, it starts immediately. - - If multiple recipes exist for the same ingredient, a menu appears - letting you choose which to make. + If only one thing can be cooked, it skips the menu. You can also cook by using items on a cooking station: use trout on fire use raw shrimps on range - See also: eat, use, recipe + See also: eat, use, recipe, smithing diff --git a/data/help/equipment.yaml b/data/help/equipment.yaml index 1a4b229..3c0d70c 100644 --- a/data/help/equipment.yaml +++ b/data/help/equipment.yaml @@ -1,10 +1,13 @@ name: "equipment" category: "Items" description: | - View your equipped items. + View or change your equipped items. - Usage: equipment, eq + Usage: equip View equipped items + equip Equip an item from inventory + equip all Auto-equip best items per slot + eq, equipment Same as equip + wear, wield Same as equip - Shows what you have equipped in each slot (main hand, head, torso, etc.). - Use "wear " or "wield " to equip items from your inventory. + Shows what you have in each slot (main hand, head, torso, etc.). Use "remove " to unequip. diff --git a/data/help/recipe.yaml b/data/help/recipe.yaml index 9df0a5b..bd8bde6 100644 --- a/data/help/recipe.yaml +++ b/data/help/recipe.yaml @@ -1,31 +1,26 @@ name: "recipe" category: "Skills" description: | - The recipe system lets you combine items and use cooking stations - to create new items. Recipes are the core of cooking, crafting, - smithing, and other production skills. + The recipe system lets you combine items and use stations to + create new items. Recipes are the core of cooking, smithing, + smelting, and other production skills. There are two ways to make things: - Station recipes — use a cooking station (fire or range): + Station recipes — use a crafting station: cook Cook on a fire or range - use on Use an item on a cooking station + smelt Smelt ore at a furnace + smith Smith bars at an anvil + use on Use an item on a station Item combinations — combine items directly from inventory: use with Combine two items (e.g., flour + water) + All production prompts "How many?" before starting. Press return + for all, type a number, or anything else to cancel. + When a recipe has a skill requirement, the game rolls your skill level against the recipe's difficulty. Success gives XP and the - finished product. Failure may produce a burnt or ruined item. - - Typing "cook" with no arguments shows a menu of everything you - can cook on the available station with your current inventory. - If only one thing can be cooked, it starts immediately. - - If multiple recipes match your ingredients, a numbered menu - appears for you to choose. - - The menu shows item names in their display color — ores, fish, - and cooked food each have distinct colors for easy scanning. + finished product. Failure may produce a ruined item. - See also: cook, eat, use + See also: cook, smelt, smith, use diff --git a/data/help/smelt.yaml b/data/help/smelt.yaml new file mode 100644 index 0000000..ac38546 --- /dev/null +++ b/data/help/smelt.yaml @@ -0,0 +1,22 @@ +name: "smelt" +category: "Skills" +description: | + Smelt ore into bars at a furnace. + + Usage: smelt Smelt a specific ore + smelt Show all bars you can smelt right now + + Smelting requires a furnace in the room. Before smelting starts, + you are prompted "How many?" — press return for all, type a + number, or type anything else to cancel. + + If an ore can produce multiple products (e.g. iron ore can make + iron bars or steel bars with coal), a menu appears. + + You can also smelt by using ore on the furnace: + use copper ore on furnace + + Iron smelting has a 50% chance of failure — the ore is consumed + but no bar is produced. + + See also: smithing, smith, use diff --git a/data/help/smith.yaml b/data/help/smith.yaml new file mode 100644 index 0000000..9471d83 --- /dev/null +++ b/data/help/smith.yaml @@ -0,0 +1,20 @@ +name: "smith" +category: "Skills" +description: | + Smith bars into weapons, armor, and components at an anvil. + + Usage: smith Show products for a specific bar type + smith Show products (auto-selects if one bar type) + + Smithing requires an anvil in the room and a hammer in your + inventory. A table shows all possible products for the bar type, + with unavailable items (insufficient level or bars) shown dimmed. + + At the prompt, type a product name to start smithing. You can + prefix with a number to limit quantity (e.g., "3 dagger"). + Press enter to repeat the last product you made with that bar. + + You can also smith by using bars on the anvil: + use bronze bar on anvil + + See also: smithing, smelt diff --git a/data/help/smithing.yaml b/data/help/smithing.yaml new file mode 100644 index 0000000..c081b15 --- /dev/null +++ b/data/help/smithing.yaml @@ -0,0 +1,26 @@ +name: "smithing" +category: "Skills" +description: | + Smithing is a production skill for creating metal items. + + There are two parts to smithing: + + Smelting (furnace): + Combine ores into bars. Use the "smelt" command near a furnace. + Bronze requires both copper and tin ore. Higher metals need coal. + + Smithing (anvil): + Hammer bars into weapons, armor, and components. Use the "smith" + command near an anvil with a hammer in your inventory. + + Bar Smelt Lvl Ores Required + Bronze 1 Copper ore + Tin ore + Iron 20 Iron ore (50% fail rate) + Silver 25 Silver ore + Steel 40 Iron ore + 2 Coal + Gold 45 Gold ore + Mithril 50 Mithril ore + 4 Coal + Adamantite 65 Adamantite ore + 6 Coal + Runite 80 Runite ore + 8 Coal + + See also: smelt, smith diff --git a/data/help/use.yaml b/data/help/use.yaml index a6efafb..92c717f 100644 --- a/data/help/use.yaml +++ b/data/help/use.yaml @@ -4,26 +4,28 @@ description: | Use an item on a target — the universal interaction command. Usage: - use Use an item on a room object use on Use item on a specific target - use with Combine two inventory items (shorthand) + use with Combine two inventory items The "use" command routes to different systems based on the target: - Object target (room object) - If a recipe matches: opens the recipe menu for crafting/cooking - Otherwise: dispatches to the object's behavior (gather, talk, toggle) + Station object (furnace, anvil, fire, range) + If recipes match the item and station, opens a production menu. - Item target (inventory or ground) - If a recipe matches both items: combines them (e.g., flour + water) + Object with use_interactions + Shows a message or triggers an action (flags, teleport, etc.). - Mob target - Future: give items to NPCs for quests + Object with behavior + Dispatches to the object's behavior (gather, talk, toggle). + + Inventory item + If a MadeFrom recipe matches both items, starts a combine + production action. You are prompted "How many?" before starting. Examples: use trout on fire Cook trout on a campfire - use water on flour Mix dough (opens recipe menu) - use bronze pickaxe on rock Mine copper/tin rocks - use iron gate Push/pull a gate (falls through to toggle) + use copper ore on furnace Smelt copper ore + use bronze bar on anvil Smith bronze items + use flour on water Combine into dough - See also: cook, recipe, gather, talk + See also: cook, smelt, smith, recipe diff --git a/data/help/wear.yaml b/data/help/wear.yaml index d0b665d..2a92fbd 100644 --- a/data/help/wear.yaml +++ b/data/help/wear.yaml @@ -1,16 +1,8 @@ name: "wear" category: "Items" description: | - Equip weapons and tools from your inventory. + Alias for "equip". See "help equipment". - Usage: wear , wield - wear all - - Equips the named item into its appropriate equipment slot. If something - is already in that slot, they are swapped. "wear all" equips the - highest-value item for each slot from your inventory. - - Equipped tools (pickaxes, axes, fishing rods) are used for gathering - actions and always take priority over inventory tools. - - Worn items appear on the equipment/eq screen. + Usage: wear Equip an item from inventory + wear all Auto-equip best items per slot + wear View equipped items -- cgit v1.2.3