Initial MVP
This commit is contained in:
41
scripts/WorldData.gd
Normal file
41
scripts/WorldData.gd
Normal file
@@ -0,0 +1,41 @@
|
||||
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
|
||||
Reference in New Issue
Block a user