aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/help/attack.yaml10
-rw-r--r--data/help/combat.yaml5
-rw-r--r--data/help/description.yaml11
-rw-r--r--data/help/exits.yaml9
-rw-r--r--data/help/look.yaml12
-rw-r--r--data/help/movement.yaml6
-rw-r--r--data/help/quit.yaml11
-rw-r--r--data/help/toggle.yaml17
-rw-r--r--data/mobs/man.yaml17
-rw-r--r--data/mobs/newbie_trainer.yaml20
-rw-r--r--data/players/accounts/Default.yaml4
-rw-r--r--data/players/characters/guy4.yaml (renamed from data/players/characters/Default.yaml)13
-rw-r--r--data/rooms/1.yaml1
13 files changed, 122 insertions, 14 deletions
diff --git a/data/help/attack.yaml b/data/help/attack.yaml
index 5c9f7a2..8c0bec3 100644
--- a/data/help/attack.yaml
+++ b/data/help/attack.yaml
@@ -4,6 +4,12 @@ description: |
Attack a mob in the current room.
Usage: attack <mob>, kill <mob>, fight <mob>
+ attack 1.man, kill 2.man
- Enter combat with the named mob. Attacks occur at weapon speed on the
- 600ms tick. Use "style" to change combat style before attacking.
+ Enter combat with the named mob. If multiple mobs with different names
+ match your input, you'll be asked "Which one?" — type a more specific
+ name. Prefix with a number to target a specific instance of the same
+ name (e.g. "attack 1.man"). Plain "attack man" targets the first.
+
+ Attacks occur at weapon speed on the 600ms tick. Use "style" to change
+ combat style. You are locked in place for 15 ticks when combat starts.
diff --git a/data/help/combat.yaml b/data/help/combat.yaml
index c8a2b16..e2ccef6 100644
--- a/data/help/combat.yaml
+++ b/data/help/combat.yaml
@@ -8,4 +8,7 @@ description: |
- Attack, Strength, and Defense rolls determine hit/miss
- Combat triangle: Melee > Ranged > Technology > Melee
- 4 XP per point of damage, distributed by combat style
- - Movement interrupts combat immediately
+ - You are locked in place for 15 ticks when combat starts
+ - Damaged mobs show current HP in look (damaged listed first)
+ - Mobs regenerate 1 HP every 100 ticks (60 seconds)
+ - Players also regenerate 1 HP every 100 ticks
diff --git a/data/help/description.yaml b/data/help/description.yaml
new file mode 100644
index 0000000..ab6afa1
--- /dev/null
+++ b/data/help/description.yaml
@@ -0,0 +1,11 @@
+name: "description"
+category: "Character"
+description: |
+ View or change your character description.
+
+ Usage: description, desc
+
+ Shows your current description (if any) and prompts you to enter a new
+ one. Other players can see your description by looking at you with
+ "look <name>". Press enter without typing anything to keep your
+ current description.
diff --git a/data/help/exits.yaml b/data/help/exits.yaml
new file mode 100644
index 0000000..673e789
--- /dev/null
+++ b/data/help/exits.yaml
@@ -0,0 +1,9 @@
+name: "exits"
+category: "Exploration"
+description: |
+ List exits from the current room.
+
+ Usage: exits
+
+ Shows each exit and the name of the room it leads to. Also toggleable
+ via "toggle exits" to show destinations inline in the look output.
diff --git a/data/help/look.yaml b/data/help/look.yaml
index 30b1d27..17faa45 100644
--- a/data/help/look.yaml
+++ b/data/help/look.yaml
@@ -1,9 +1,15 @@
name: "look"
category: "Exploration"
description: |
- Look around the current room.
+ Look around the current room or examine a specific target.
Usage: look, l
+ look <target>
- Shows the room name, description, exits, objects, mobs, other players,
- and items on the ground.
+ Without a target, shows the room name, description, exits, objects,
+ mobs, other players, and ground items. Damaged mobs show current HP
+ (e.g. "man (level 1) [3/7hp]").
+
+ With a target, shows details about a mob, object, item (ground or
+ inventory), or another player. Looking at items shows their value.
+ Looking at players shows their stats, equipment, and description.
diff --git a/data/help/movement.yaml b/data/help/movement.yaml
index d40f192..9b4f81c 100644
--- a/data/help/movement.yaml
+++ b/data/help/movement.yaml
@@ -6,4 +6,8 @@ description: |
Usage: north, south, east, west, up, down
Aliases: n, s, e, w, u, d
- Movement is instant. Combat is interrupted if you leave the room.
+ You cannot move for 15 ticks after combat starts.
+ Combat is interrupted if you leave the room.
+
+ With "description" toggled on, moving shows the full room description
+ instead of just the room name. Use "toggle" to change this setting.
diff --git a/data/help/quit.yaml b/data/help/quit.yaml
index 286281a..c41771b 100644
--- a/data/help/quit.yaml
+++ b/data/help/quit.yaml
@@ -1,8 +1,15 @@
name: "quit"
category: "Character"
description: |
- Quit the game and disconnect.
+ Rest and return to the account menu.
Usage: quit
- Saves your character and closes the connection.
+ Cannot be used during combat. Starts a 10-tick rest sequence:
+ 10 ticks: "You sit down to rest..."
+ 6 ticks: "You catch your breath..."
+ 3 ticks: "You close your eyes..."
+ 0 ticks: Returns to account menu
+
+ The rest is cancelled if you take any action or if combat starts.
+ Saves your character when the timer completes.
diff --git a/data/help/toggle.yaml b/data/help/toggle.yaml
new file mode 100644
index 0000000..44a2b33
--- /dev/null
+++ b/data/help/toggle.yaml
@@ -0,0 +1,17 @@
+name: "toggle"
+category: "General"
+description: |
+ Toggle character settings on or off.
+
+ Usage: toggle - List all toggles and their current status
+ toggle <name> - Toggle a setting on or off
+
+ Toggles:
+ description - Long room descriptions when moving between rooms
+ tinymap - Mini-map display (not yet implemented)
+ xpdrops - Show XP gained in combat hit messages
+ exits - Show exit destinations in look output
+ mobenter - Notify when a mob enters the room
+ mobleave - Notify when a mob leaves the room
+ mobspawn - Notify when a mob spawns in the area
+ reserve - Show full reserved item details in look
diff --git a/data/mobs/man.yaml b/data/mobs/man.yaml
index 074e1f9..79de657 100644
--- a/data/mobs/man.yaml
+++ b/data/mobs/man.yaml
@@ -1,5 +1,19 @@
id: "man"
name: "man"
+description: "A shabby-looking man loitering in the town square."
+combat_descriptions:
+ - "is engaged in a fight to the death with %s"
+ - "is getting pummelled by %s"
+ - "is locked in combat with %s"
+ - "trades blows with %s"
+ - "circles warily around %s"
+idle_descriptions:
+ - "scribbles something in a small notebook"
+ - "gazes skyward at the clouds"
+ - "leans against a wall, looking bored"
+ - "scratches his head thoughtfully"
+ - "stares off into the distance"
+ - "adjusts his tunic and stretches"
attack: 1
strength: 1
defense: 1
@@ -7,6 +21,9 @@ hp: 7
speed: 5
aggressive: false
respawn_ticks: 30
+wander: 3
+wander_tick: 10
+wander_chance: 0.25
drops:
remains: "bones"
loot:
diff --git a/data/mobs/newbie_trainer.yaml b/data/mobs/newbie_trainer.yaml
new file mode 100644
index 0000000..c518d42
--- /dev/null
+++ b/data/mobs/newbie_trainer.yaml
@@ -0,0 +1,20 @@
+id: "newbie_trainer"
+name: "Newbie Trainer"
+aliases: ["trainer", "newbie", "instructor"]
+description: "A friendly-looking instructor ready to help new adventurers."
+unique: true
+protected: true
+attack: 1
+strength: 1
+defense: 1
+hp: 50
+speed: 5
+aggressive: false
+respawn_ticks: 30
+idle_descriptions:
+ - "reviews a training manual"
+ - "adjusts a practice dummy"
+ - "demonstrates a sword stance to no one in particular"
+ - "offers a friendly nod to passersby"
+ - "polishes a wooden shield"
+ - "checks a stopwatch and jots something down"
diff --git a/data/players/accounts/Default.yaml b/data/players/accounts/Default.yaml
deleted file mode 100644
index 32ae393..0000000
--- a/data/players/accounts/Default.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-name: Default
-password_hash: sha256:mfnZDVUFEvzM4AUQ4Kgnrw:f82f8f7fa0dbb1238bf41d6dc63c30b2fbf67a4cebcdbbaba3572422545e2fe3
-characters:
- - Default
diff --git a/data/players/characters/Default.yaml b/data/players/characters/guy4.yaml
index 83142ea..4141899 100644
--- a/data/players/characters/Default.yaml
+++ b/data/players/characters/guy4.yaml
@@ -1,4 +1,4 @@
-name: Default
+name: guy4
skills:
agility: 0
alchemy: 0
@@ -26,4 +26,15 @@ toolbelt: []
room_id: 1
hp: 10
credits: 0
+description: ""
attack_style: accurate
+toggles:
+ description: true
+ exits: true
+ mobenter: true
+ mobleave: true
+ mobspawn: true
+ reserve: true
+ tinymap: true
+ xpdrops: true
+regeneratetick: 0
diff --git a/data/rooms/1.yaml b/data/rooms/1.yaml
index 7d1f7c5..97615a6 100644
--- a/data/rooms/1.yaml
+++ b/data/rooms/1.yaml
@@ -12,5 +12,6 @@ spawns:
quantity: 1
respawn_ticks: 10
mobs:
+ - "newbie_trainer"
- "man"
- "man"