Files
storyteller-godot/scripts/WorldData.gd
Aodhan Collins b42521a008 Initial MVP
2026-01-26 02:57:40 +00:00

42 lines
1.2 KiB
GDScript

class_name WorldData
static func generate_test_world() -> Dictionary:
var rooms = {}
for x in range(4):
for y in range(4):
var id = "room_%d_%d" % [x, y]
var room = RoomData.new()
room.id = id
room.room_name = "Room %d,%d" % [x, y]
room.description = "A generic room at coordinates %d, %d." % [x, y]
# Link exits
room.exits = {}
if x > 0: room.exits["west"] = "room_%d_%d" % [x-1, y]
if x < 3: room.exits["east"] = "room_%d_%d" % [x+1, y]
if y > 0: room.exits["north"] = "room_%d_%d" % [x, y-1]
if y < 3: room.exits["south"] = "room_%d_%d" % [x, y+1]
# Add test item to room 1,1
if x == 1 and y == 1:
var sword = ItemData.new()
sword.id = "sword"
sword.name = "Rusty Sword"
sword.description = "A rusty old sword."
sword.effect_type = "DAMAGE"
sword.effect_value = 10
room.items.append(sword)
# Add test enemy to room 2,2
if x == 2 and y == 2:
var goblin = load("res://scripts/resources/EnemyData.gd").new()
goblin.id = "goblin"
goblin.name = "Goblin"
goblin.hp = 30
goblin.max_hp = 30
goblin.damage = 5
room.enemies.append(goblin)
rooms[id] = room
return rooms