aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/help/attack.yaml9
-rw-r--r--data/help/combat.yaml11
-rw-r--r--data/help/drop.yaml9
-rw-r--r--data/help/equipment.yaml8
-rw-r--r--data/help/get.yaml10
-rw-r--r--data/help/inventory.yaml8
-rw-r--r--data/help/look.yaml9
-rw-r--r--data/help/movement.yaml9
-rw-r--r--data/help/quit.yaml8
-rw-r--r--data/help/say.yaml8
-rw-r--r--data/help/score.yaml8
-rw-r--r--data/help/style.yaml13
-rw-r--r--data/items/bones.yaml6
-rw-r--r--data/items/bronze_pickaxe.yaml7
-rw-r--r--data/items/bronze_sword.yaml13
-rw-r--r--data/items/copper_ore.yaml6
-rw-r--r--data/items/credits.yaml6
-rw-r--r--data/items/oak_logs.yaml6
-rw-r--r--data/items/tin_ore.yaml6
-rw-r--r--data/mobs/man.yaml18
-rw-r--r--data/objects/copper_rock_1.yaml8
-rw-r--r--data/objects/copper_rock_2.yaml8
-rw-r--r--data/objects/lumby_fountain.yaml5
-rw-r--r--data/objects/oak_tree_1.yaml8
-rw-r--r--data/objects/oak_tree_2.yaml8
-rw-r--r--data/objects/oak_tree_3.yaml8
-rw-r--r--data/players/accounts/Default.yaml4
-rw-r--r--data/players/characters/Default.yaml29
-rw-r--r--data/rooms/1.yaml16
-rw-r--r--data/rooms/2.yaml8
-rw-r--r--data/rooms/3.yaml6
-rw-r--r--data/rooms/4.yaml13
-rw-r--r--data/rooms/5.yaml9
-rw-r--r--data/rooms/6.yaml16
34 files changed, 324 insertions, 0 deletions
diff --git a/data/help/attack.yaml b/data/help/attack.yaml
new file mode 100644
index 0000000..5c9f7a2
--- /dev/null
+++ b/data/help/attack.yaml
@@ -0,0 +1,9 @@
+name: "attack"
+category: "Combat"
+description: |
+ Attack a mob in the current room.
+
+ Usage: attack <mob>, kill <mob>, fight <mob>
+
+ Enter combat with the named mob. Attacks occur at weapon speed on the
+ 600ms tick. Use "style" to change combat style before attacking.
diff --git a/data/help/combat.yaml b/data/help/combat.yaml
new file mode 100644
index 0000000..c8a2b16
--- /dev/null
+++ b/data/help/combat.yaml
@@ -0,0 +1,11 @@
+name: "combat"
+category: "Combat"
+description: |
+ Combat basics.
+
+ Combat in Third Collapse follows Runescape Classic mechanics:
+ - 600ms tick engine with per-weapon attack speeds
+ - 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
diff --git a/data/help/drop.yaml b/data/help/drop.yaml
new file mode 100644
index 0000000..b4e1a95
--- /dev/null
+++ b/data/help/drop.yaml
@@ -0,0 +1,9 @@
+name: "drop"
+category: "Items"
+description: |
+ Drop an item from your inventory.
+
+ Usage: drop <item>
+
+ Drops one unit of the named item onto the ground in your current room.
+ Other players can then pick it up.
diff --git a/data/help/equipment.yaml b/data/help/equipment.yaml
new file mode 100644
index 0000000..b2224a4
--- /dev/null
+++ b/data/help/equipment.yaml
@@ -0,0 +1,8 @@
+name: "equipment"
+category: "Items"
+description: |
+ View your equipped items.
+
+ Usage: equipment, eq
+
+ Shows what you have equipped in each slot (main hand, head, torso, etc.).
diff --git a/data/help/get.yaml b/data/help/get.yaml
new file mode 100644
index 0000000..abd416e
--- /dev/null
+++ b/data/help/get.yaml
@@ -0,0 +1,10 @@
+name: "get"
+category: "Items"
+description: |
+ Pick up an item from the ground.
+
+ Usage: get <item>, take <item>, grab <item>, pick <item>
+ get all, take all
+
+ "get all" picks up everything on the ground. Credits are automatically
+ added to your credit balance and never take inventory space.
diff --git a/data/help/inventory.yaml b/data/help/inventory.yaml
new file mode 100644
index 0000000..7a60650
--- /dev/null
+++ b/data/help/inventory.yaml
@@ -0,0 +1,8 @@
+name: "inventory"
+category: "Items"
+description: |
+ View your inventory and equipped items.
+
+ Usage: inventory, i, inv
+
+ Shows all 28 inventory slots and any equipped items.
diff --git a/data/help/look.yaml b/data/help/look.yaml
new file mode 100644
index 0000000..30b1d27
--- /dev/null
+++ b/data/help/look.yaml
@@ -0,0 +1,9 @@
+name: "look"
+category: "Exploration"
+description: |
+ Look around the current room.
+
+ Usage: look, l
+
+ Shows the room name, description, exits, objects, mobs, other players,
+ and items on the ground.
diff --git a/data/help/movement.yaml b/data/help/movement.yaml
new file mode 100644
index 0000000..d40f192
--- /dev/null
+++ b/data/help/movement.yaml
@@ -0,0 +1,9 @@
+name: "movement"
+category: "Exploration"
+description: |
+ Move between rooms.
+
+ 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.
diff --git a/data/help/quit.yaml b/data/help/quit.yaml
new file mode 100644
index 0000000..286281a
--- /dev/null
+++ b/data/help/quit.yaml
@@ -0,0 +1,8 @@
+name: "quit"
+category: "Character"
+description: |
+ Quit the game and disconnect.
+
+ Usage: quit
+
+ Saves your character and closes the connection.
diff --git a/data/help/say.yaml b/data/help/say.yaml
new file mode 100644
index 0000000..e3706d9
--- /dev/null
+++ b/data/help/say.yaml
@@ -0,0 +1,8 @@
+name: "say"
+category: "Communication"
+description: |
+ Speak to other players in the same room.
+
+ Usage: say <message>
+
+ Everyone in your current room hears what you say.
diff --git a/data/help/score.yaml b/data/help/score.yaml
new file mode 100644
index 0000000..9607a9c
--- /dev/null
+++ b/data/help/score.yaml
@@ -0,0 +1,8 @@
+name: "score"
+category: "Character"
+description: |
+ View your character's stats and skills.
+
+ Usage: score, sc, /
+
+ Shows your name, combat level, HP, credits, skill levels, and XP.
diff --git a/data/help/style.yaml b/data/help/style.yaml
new file mode 100644
index 0000000..3016013
--- /dev/null
+++ b/data/help/style.yaml
@@ -0,0 +1,13 @@
+name: "style"
+category: "Combat"
+description: |
+ View or change your combat style.
+
+ Usage: style, style <accurate|aggressive|defensive|balanced>
+
+ Accurate - +3 attack bonus, trains Attack (75%) and Hitpoints (25%)
+ Aggressive - +3 strength bonus, trains Strength (75%) and Hitpoints (25%)
+ Defensive - +3 defense bonus, trains Defense (75%) and Hitpoints (25%)
+ Balanced - +1 all bonuses, trains all combat skills evenly (25% each)
+
+ XP is awarded per hit: 4 XP per point of damage.
diff --git a/data/items/bones.yaml b/data/items/bones.yaml
new file mode 100644
index 0000000..de868a0
--- /dev/null
+++ b/data/items/bones.yaml
@@ -0,0 +1,6 @@
+id: "bones"
+name: "bones"
+aliases: ["bone"]
+description: "A pile of bones."
+value: 2
+stackable: false
diff --git a/data/items/bronze_pickaxe.yaml b/data/items/bronze_pickaxe.yaml
new file mode 100644
index 0000000..a64395e
--- /dev/null
+++ b/data/items/bronze_pickaxe.yaml
@@ -0,0 +1,7 @@
+id: "bronze_pickaxe"
+name: "bronze pickaxe"
+aliases: ["pickaxe", "pick", "bronze"]
+description: "A basic bronze pickaxe for mining."
+value: 8
+stackable: false
+toolbelt: true
diff --git a/data/items/bronze_sword.yaml b/data/items/bronze_sword.yaml
new file mode 100644
index 0000000..e8ba217
--- /dev/null
+++ b/data/items/bronze_sword.yaml
@@ -0,0 +1,13 @@
+id: "bronze_sword"
+name: "bronze sword"
+aliases: ["sword", "bronze"]
+description: "A basic bronze short sword."
+value: 12
+stackable: false
+equip_slot: "main_hand"
+weapon_type: "melee"
+stats:
+ attack_bonus: 4
+ strength_bonus: 3
+ defense_bonus: 0
+speed: 4
diff --git a/data/items/copper_ore.yaml b/data/items/copper_ore.yaml
new file mode 100644
index 0000000..5f11316
--- /dev/null
+++ b/data/items/copper_ore.yaml
@@ -0,0 +1,6 @@
+id: "copper_ore"
+name: "copper ore"
+aliases: ["copper", "ore"]
+description: "A chunk of copper ore."
+value: 3
+stackable: false
diff --git a/data/items/credits.yaml b/data/items/credits.yaml
new file mode 100644
index 0000000..80c109e
--- /dev/null
+++ b/data/items/credits.yaml
@@ -0,0 +1,6 @@
+id: "credits"
+name: "credits"
+aliases: ["credit", "creds"]
+description: "A handful of universal credits."
+value: 1
+stackable: true
diff --git a/data/items/oak_logs.yaml b/data/items/oak_logs.yaml
new file mode 100644
index 0000000..24cd0d0
--- /dev/null
+++ b/data/items/oak_logs.yaml
@@ -0,0 +1,6 @@
+id: "oak_logs"
+name: "oak logs"
+aliases: ["logs", "oak", "log"]
+description: "Some sturdy oak logs."
+value: 4
+stackable: false
diff --git a/data/items/tin_ore.yaml b/data/items/tin_ore.yaml
new file mode 100644
index 0000000..62a55b4
--- /dev/null
+++ b/data/items/tin_ore.yaml
@@ -0,0 +1,6 @@
+id: "tin_ore"
+name: "tin ore"
+aliases: ["tin", "ore"]
+description: "A chunk of tin ore."
+value: 2
+stackable: false
diff --git a/data/mobs/man.yaml b/data/mobs/man.yaml
new file mode 100644
index 0000000..074e1f9
--- /dev/null
+++ b/data/mobs/man.yaml
@@ -0,0 +1,18 @@
+id: "man"
+name: "man"
+attack: 1
+strength: 1
+defense: 1
+hp: 7
+speed: 5
+aggressive: false
+respawn_ticks: 30
+drops:
+ remains: "bones"
+ loot:
+ - item_id: "credits"
+ weight: 98
+ quantity: 10
+ - item_id: "credits"
+ weight: 2
+ quantity: 150
diff --git a/data/objects/copper_rock_1.yaml b/data/objects/copper_rock_1.yaml
new file mode 100644
index 0000000..257601a
--- /dev/null
+++ b/data/objects/copper_rock_1.yaml
@@ -0,0 +1,8 @@
+id: "copper_rock_1"
+name: "copper rock"
+behavior: "rock"
+props:
+ skill: "mining"
+ level: 1
+ yields: "copper_ore"
+ respawn_ticks: 30
diff --git a/data/objects/copper_rock_2.yaml b/data/objects/copper_rock_2.yaml
new file mode 100644
index 0000000..5805398
--- /dev/null
+++ b/data/objects/copper_rock_2.yaml
@@ -0,0 +1,8 @@
+id: "copper_rock_2"
+name: "copper rock"
+behavior: "rock"
+props:
+ skill: "mining"
+ level: 1
+ yields: "copper_ore"
+ respawn_ticks: 30
diff --git a/data/objects/lumby_fountain.yaml b/data/objects/lumby_fountain.yaml
new file mode 100644
index 0000000..4d877c1
--- /dev/null
+++ b/data/objects/lumby_fountain.yaml
@@ -0,0 +1,5 @@
+id: "lumby_fountain"
+name: "town fountain"
+behavior: "none"
+props:
+ description: "Clear water sparkles in the sunlight."
diff --git a/data/objects/oak_tree_1.yaml b/data/objects/oak_tree_1.yaml
new file mode 100644
index 0000000..a7eb331
--- /dev/null
+++ b/data/objects/oak_tree_1.yaml
@@ -0,0 +1,8 @@
+id: "oak_tree_1"
+name: "oak tree"
+behavior: "tree"
+props:
+ skill: "woodcutting"
+ level: 15
+ yields: "oak_logs"
+ respawn_ticks: 50
diff --git a/data/objects/oak_tree_2.yaml b/data/objects/oak_tree_2.yaml
new file mode 100644
index 0000000..7f9f9a4
--- /dev/null
+++ b/data/objects/oak_tree_2.yaml
@@ -0,0 +1,8 @@
+id: "oak_tree_2"
+name: "oak tree"
+behavior: "tree"
+props:
+ skill: "woodcutting"
+ level: 15
+ yields: "oak_logs"
+ respawn_ticks: 50
diff --git a/data/objects/oak_tree_3.yaml b/data/objects/oak_tree_3.yaml
new file mode 100644
index 0000000..ac40380
--- /dev/null
+++ b/data/objects/oak_tree_3.yaml
@@ -0,0 +1,8 @@
+id: "oak_tree_3"
+name: "oak tree"
+behavior: "tree"
+props:
+ skill: "woodcutting"
+ level: 15
+ yields: "oak_logs"
+ respawn_ticks: 50
diff --git a/data/players/accounts/Default.yaml b/data/players/accounts/Default.yaml
new file mode 100644
index 0000000..32ae393
--- /dev/null
+++ b/data/players/accounts/Default.yaml
@@ -0,0 +1,4 @@
+name: Default
+password_hash: sha256:mfnZDVUFEvzM4AUQ4Kgnrw:f82f8f7fa0dbb1238bf41d6dc63c30b2fbf67a4cebcdbbaba3572422545e2fe3
+characters:
+ - Default
diff --git a/data/players/characters/Default.yaml b/data/players/characters/Default.yaml
new file mode 100644
index 0000000..83142ea
--- /dev/null
+++ b/data/players/characters/Default.yaml
@@ -0,0 +1,29 @@
+name: Default
+skills:
+ agility: 0
+ alchemy: 0
+ attack: 0
+ construction: 0
+ cooking: 0
+ crafting: 0
+ defense: 0
+ fishing: 0
+ fletching: 0
+ hitpoints: 1154
+ hunter: 0
+ mining: 0
+ ranged: 0
+ scavenging: 0
+ science: 0
+ smithing: 0
+ strength: 0
+ technology: 0
+ thieving: 0
+ woodcutting: 0
+inventory: {}
+equipment: {}
+toolbelt: []
+room_id: 1
+hp: 10
+credits: 0
+attack_style: accurate
diff --git a/data/rooms/1.yaml b/data/rooms/1.yaml
new file mode 100644
index 0000000..7d1f7c5
--- /dev/null
+++ b/data/rooms/1.yaml
@@ -0,0 +1,16 @@
+id: 1
+name: "Lumbridge Town Square"
+description: "A bustling town square in the heart of Lumbridge. Cobblestone paths lead in all directions. A fountain gurgles peacefully in the center."
+map_symbol: "S"
+exits:
+ north: 2
+ east: 3
+objects:
+ - "lumby_fountain"
+spawns:
+ - item_id: "copper_ore"
+ quantity: 1
+ respawn_ticks: 10
+mobs:
+ - "man"
+ - "man"
diff --git a/data/rooms/2.yaml b/data/rooms/2.yaml
new file mode 100644
index 0000000..4b1b5f8
--- /dev/null
+++ b/data/rooms/2.yaml
@@ -0,0 +1,8 @@
+id: 2
+name: "North Lumbridge Road"
+description: "A dusty road leading north out of town. To the south you see the town square. A small mine entrance is carved into a hillside to the west."
+map_symbol: "R"
+exits:
+ south: 1
+ north: 4
+ west: 6
diff --git a/data/rooms/3.yaml b/data/rooms/3.yaml
new file mode 100644
index 0000000..57a7cb1
--- /dev/null
+++ b/data/rooms/3.yaml
@@ -0,0 +1,6 @@
+id: 3
+name: "Lumbridge General Store"
+description: "A small but well-stocked general store. Shelves line the walls with various goods."
+map_symbol: "G"
+exits:
+ west: 1
diff --git a/data/rooms/4.yaml b/data/rooms/4.yaml
new file mode 100644
index 0000000..ab25de1
--- /dev/null
+++ b/data/rooms/4.yaml
@@ -0,0 +1,13 @@
+id: 4
+name: "Lumbridge Forest Edge"
+description: "The road ends here at the edge of a dark forest. Towering oak trees loom ahead to the north."
+map_symbol: "F"
+exits:
+ south: 2
+ north: 5
+objects:
+ - "oak_tree_1"
+spawns:
+ - item_id: "oak_logs"
+ quantity: 1
+ respawn_ticks: 10
diff --git a/data/rooms/5.yaml b/data/rooms/5.yaml
new file mode 100644
index 0000000..097a134
--- /dev/null
+++ b/data/rooms/5.yaml
@@ -0,0 +1,9 @@
+id: 5
+name: "Deep Forest"
+description: "Thick trees surround you on all sides. Shafts of light pierce through the canopy above."
+map_symbol: "T"
+exits:
+ south: 4
+objects:
+ - "oak_tree_2"
+ - "oak_tree_3"
diff --git a/data/rooms/6.yaml b/data/rooms/6.yaml
new file mode 100644
index 0000000..7b5d4b4
--- /dev/null
+++ b/data/rooms/6.yaml
@@ -0,0 +1,16 @@
+id: 6
+name: "Abandoned Mine"
+description: "A dark, dusty mine shaft. Veins of copper and tin run through the walls. A single lantern flickers overhead."
+map_symbol: "M"
+exits:
+ west: 2
+objects:
+ - "copper_rock_1"
+ - "copper_rock_2"
+spawns:
+ - item_id: "copper_ore"
+ quantity: 1
+ respawn_ticks: 10
+ - item_id: "tin_ore"
+ quantity: 1
+ respawn_ticks: 10