diff options
Diffstat (limited to 'data')
| -rw-r--r-- | data/behaviors/chop_tree.yaml | 1 | ||||
| -rw-r--r-- | data/help/burn.yaml | 25 | ||||
| -rw-r--r-- | data/help/firemaking.yaml | 59 | ||||
| -rw-r--r-- | data/help/stoke.yaml | 26 | ||||
| -rw-r--r-- | data/items/ashes.yaml | 6 | ||||
| -rw-r--r-- | data/items/firesteel.yaml | 8 | ||||
| -rw-r--r-- | data/items/lighter.yaml | 11 | ||||
| -rw-r--r-- | data/items/logs.yaml | 3 | ||||
| -rw-r--r-- | data/items/magic_logs.yaml | 3 | ||||
| -rw-r--r-- | data/items/mahogany_logs.yaml | 7 | ||||
| -rw-r--r-- | data/items/maple_logs.yaml | 5 | ||||
| -rw-r--r-- | data/items/matches.yaml | 9 | ||||
| -rw-r--r-- | data/items/oak_logs.yaml | 7 | ||||
| -rw-r--r-- | data/items/redwood_logs.yaml | 7 | ||||
| -rw-r--r-- | data/items/teak_logs.yaml | 5 | ||||
| -rw-r--r-- | data/items/willow_logs.yaml | 5 | ||||
| -rw-r--r-- | data/items/yew_logs.yaml | 3 | ||||
| -rw-r--r-- | data/objects/fire.yaml | 9 | ||||
| -rw-r--r-- | data/rooms/4.yaml | 12 |
19 files changed, 202 insertions, 9 deletions
diff --git a/data/behaviors/chop_tree.yaml b/data/behaviors/chop_tree.yaml index 9072e33..494cc1d 100644 --- a/data/behaviors/chop_tree.yaml +++ b/data/behaviors/chop_tree.yaml @@ -18,5 +18,6 @@ drops: depletes: true message: "You get some logs." deplete_delay: 80 +exhausted_message: "The tree comes crashing down!" respawn_message: "A new tree grows in its place." respawn_broadcast: "A {name} grows back." diff --git a/data/help/burn.yaml b/data/help/burn.yaml new file mode 100644 index 0000000..63b6623 --- /dev/null +++ b/data/help/burn.yaml @@ -0,0 +1,25 @@ +name: "burn" +category: "Skills" +description: | + Start a fire from logs. + + Usage: burn [item] + + Attempts to light a fire using burnable logs. Checks for logs on the + ground first, then in your inventory. + + Requires a fire starter tool (matches, firesteel, or lighter). + + From inventory: + You drop a log to the ground, then try to light it. + + From ground: + You attempt to light the log already on the ground. + + After a short wait, your firemaking level is checked against the + log's difficulty. On success, a fire object appears in the room + that burns for a number of ticks based on the log type. On failure, + you may try again. + + Only one fire can burn in a room at a time. + See also: help firemaking, help stoke diff --git a/data/help/firemaking.yaml b/data/help/firemaking.yaml new file mode 100644 index 0000000..081e10e --- /dev/null +++ b/data/help/firemaking.yaml @@ -0,0 +1,59 @@ +name: "firemaking" +category: "Skills" +description: | + Start fires from logs and add fuel to keep them burning. + + Usage: burn [item] - Start a fire from logs + stoke [item] - Add logs to an existing fire + + Firemaking requires a fire starter — matches, a firesteel, or a + lighter — either wielded or in your inventory. Matches are consumed + on each use, while a firesteel lasts forever. Lighters use butane + (quality) that depletes per use; when empty, they stop working. + + BURN — Starting a Fire + ---------------------- + The burn command checks for burnable logs on the ground first, then + in your inventory. If the logs are in your inventory, you drop one + to the ground and begin making a fire. After a wait (reduced by + tool_speed), the game checks your firemaking level against the + log's difficulty: + + Success → You start a fire! The fire object appears in the room + with a burn time based on the log used. You gain XP. + + Failure → You can't seem to get the fire going. You may try again + (the log stays on the ground). + + Only one fire can burn in a room at a time. Other players are + notified when a fire is started. + + STOKE — Adding Fuel + ------------------- + Stoke adds more logs from your inventory to an existing fire. Each + log extends the fire's burn time by half its burn_ticks and awards + firemaking XP. No skill check is needed to stoke — the XP is + guaranteed. Stoking continues automatically until you're out of + the item or the fire dies out. + + SMART DEFAULTS + -------------- + Running "burn" or "stoke" without specifying an item auto-selects + the target if only one type of burnable is available. If multiple + log types are present, you'll be asked "Burn what?" or "Stoke what?" + + LOG TYPES + --------- + Level Log XP Burn Ticks + 1 Normal 40 24 + 15 Oak 60 28 + 30 Willow 90 32 + 35 Teak 105 36 + 45 Maple 135 40 + 50 Mahogany 158 44 + 60 Yew 202 48 + 75 Magic 303 52 + 90 Redwood 350 60 + + Enable the "depletion" toggle to see how long a fire will burn. + Enable the "xpdrops" toggle to see XP gains with each log. diff --git a/data/help/stoke.yaml b/data/help/stoke.yaml new file mode 100644 index 0000000..96e53e3 --- /dev/null +++ b/data/help/stoke.yaml @@ -0,0 +1,26 @@ +name: "stoke" +category: "Skills" +description: | + Add logs to an existing fire. + + Usage: stoke [item] + + Adds burnable logs from your inventory to a fire already burning in + the current room. No tool is needed to stoke. + + Each log extends the fire's remaining burn time and awards guaranteed + firemaking XP (no skill check). Stoking continues automatically until + you run out of the item or the fire dies out. + + Fire Type Quality Gained + Normal +12 ticks + Oak +14 ticks + Willow +16 ticks + Teak +18 ticks + Maple +20 ticks + Mahogany +22 ticks + Yew +24 ticks + Magic +26 ticks + Redwood +30 ticks + + See also: help firemaking, help burn diff --git a/data/items/ashes.yaml b/data/items/ashes.yaml new file mode 100644 index 0000000..9cbe67f --- /dev/null +++ b/data/items/ashes.yaml @@ -0,0 +1,6 @@ +id: ashes +name: ashes +aliases: ["ash"] +description: "A pile of cold ashes. What was once ablaze is now mere dust." +value: 1 +stackable: false diff --git a/data/items/firesteel.yaml b/data/items/firesteel.yaml new file mode 100644 index 0000000..0cdb354 --- /dev/null +++ b/data/items/firesteel.yaml @@ -0,0 +1,8 @@ +id: firesteel +name: firesteel +aliases: ["steel", "flint"] +description: "A rugged firesteel that never wears out." +value: 20 +stackable: false +tool_type: fire +tool_speed: 4 diff --git a/data/items/lighter.yaml b/data/items/lighter.yaml new file mode 100644 index 0000000..17158f8 --- /dev/null +++ b/data/items/lighter.yaml @@ -0,0 +1,11 @@ +id: lighter +name: lighter +aliases: ["light"] +description: "A reliable butane lighter." +value: 15 +stackable: false +equip_slot: main_hand +tool_type: fire +tool_speed: 4 +quality: 100 +max_quality: 100 diff --git a/data/items/logs.yaml b/data/items/logs.yaml index 9b148ae..d838348 100644 --- a/data/items/logs.yaml +++ b/data/items/logs.yaml @@ -4,3 +4,6 @@ aliases: ["log", "wood"] description: "Some regular logs, good for firemaking and fletching." value: 2 stackable: false +fire_level: 1 +fire_xp: 40 +burn_ticks: 24 diff --git a/data/items/magic_logs.yaml b/data/items/magic_logs.yaml index baac96b..1cb76a9 100644 --- a/data/items/magic_logs.yaml +++ b/data/items/magic_logs.yaml @@ -4,3 +4,6 @@ aliases: ["logs", "magic", "log"] description: "Some mystical magic logs." value: 80 stackable: false +fire_level: 75 +fire_xp: 303 +burn_ticks: 52 diff --git a/data/items/mahogany_logs.yaml b/data/items/mahogany_logs.yaml index 87ea061..7fc3a7c 100644 --- a/data/items/mahogany_logs.yaml +++ b/data/items/mahogany_logs.yaml @@ -1,6 +1,9 @@ id: mahogany_logs name: mahogany logs aliases: ["logs", "mahogany", "log"] -description: "Some beautiful mahogany logs." -value: 24 +description: "Some rich mahogany logs." +value: 20 stackable: false +fire_level: 50 +fire_xp: 158 +burn_ticks: 44 diff --git a/data/items/maple_logs.yaml b/data/items/maple_logs.yaml index 11f7dcd..d162471 100644 --- a/data/items/maple_logs.yaml +++ b/data/items/maple_logs.yaml @@ -1,6 +1,9 @@ id: maple_logs name: maple logs aliases: ["logs", "maple", "log"] -description: "Some sturdy maple logs." +description: "Some smooth maple logs." value: 16 stackable: false +fire_level: 45 +fire_xp: 135 +burn_ticks: 40 diff --git a/data/items/matches.yaml b/data/items/matches.yaml new file mode 100644 index 0000000..95a8da9 --- /dev/null +++ b/data/items/matches.yaml @@ -0,0 +1,9 @@ +id: matches +name: matches +aliases: ["match"] +description: "A small box of matches for starting fires." +value: 5 +stackable: true +equip_slot: main_hand +tool_type: fire +tool_speed: 4 diff --git a/data/items/oak_logs.yaml b/data/items/oak_logs.yaml index 24cd0d0..2ed87a8 100644 --- a/data/items/oak_logs.yaml +++ b/data/items/oak_logs.yaml @@ -1,6 +1,9 @@ -id: "oak_logs" -name: "oak logs" +id: oak_logs +name: oak logs aliases: ["logs", "oak", "log"] description: "Some sturdy oak logs." value: 4 stackable: false +fire_level: 15 +fire_xp: 60 +burn_ticks: 28 diff --git a/data/items/redwood_logs.yaml b/data/items/redwood_logs.yaml index 7a2c66b..8e492c7 100644 --- a/data/items/redwood_logs.yaml +++ b/data/items/redwood_logs.yaml @@ -1,6 +1,9 @@ id: redwood_logs name: redwood logs aliases: ["logs", "redwood", "log"] -description: "Some massive redwood logs." -value: 120 +description: "Some rare redwood logs." +value: 100 stackable: false +fire_level: 90 +fire_xp: 350 +burn_ticks: 60 diff --git a/data/items/teak_logs.yaml b/data/items/teak_logs.yaml index ac9b736..49be224 100644 --- a/data/items/teak_logs.yaml +++ b/data/items/teak_logs.yaml @@ -1,6 +1,9 @@ id: teak_logs name: teak logs aliases: ["logs", "teak", "log"] -description: "Some fine teak logs." +description: "Some solid teak logs." value: 12 stackable: false +fire_level: 35 +fire_xp: 105 +burn_ticks: 36 diff --git a/data/items/willow_logs.yaml b/data/items/willow_logs.yaml index 1669e66..f337168 100644 --- a/data/items/willow_logs.yaml +++ b/data/items/willow_logs.yaml @@ -1,6 +1,9 @@ id: willow_logs name: willow logs aliases: ["logs", "willow", "log"] -description: "Some weeping willow logs." +description: "Some flexible willow logs." value: 8 stackable: false +fire_level: 30 +fire_xp: 90 +burn_ticks: 32 diff --git a/data/items/yew_logs.yaml b/data/items/yew_logs.yaml index 5f1ed40..6e120b1 100644 --- a/data/items/yew_logs.yaml +++ b/data/items/yew_logs.yaml @@ -4,3 +4,6 @@ aliases: ["logs", "yew", "log"] description: "Some high-quality yew logs." value: 40 stackable: false +fire_level: 60 +fire_xp: 202 +burn_ticks: 48 diff --git a/data/objects/fire.yaml b/data/objects/fire.yaml new file mode 100644 index 0000000..58ccc92 --- /dev/null +++ b/data/objects/fire.yaml @@ -0,0 +1,9 @@ +id: fire +name: fire +behavior: "" +hidden: false +inroom_description: "A fire is burning warmly." +removal_item: ashes +props: + description: "A crackling fire." + quality_description: "Burning for {quality} more ticks." diff --git a/data/rooms/4.yaml b/data/rooms/4.yaml index f1d7d08..74bee96 100644 --- a/data/rooms/4.yaml +++ b/data/rooms/4.yaml @@ -8,7 +8,19 @@ exits: west: 2 objects: - id: tree + - id: tree + - id: tree + - id: tree spawns: - item_id: bronze_axe quantity: 1 respawn_ticks: 60 + - item_id: matches + quantity: 100 + respawn_ticks: 120 + - item_id: firesteel + quantity: 1 + respawn_ticks: 120 + - item_id: lighter + quantity: 1 + respawn_ticks: 120 |
