Some fixes
Disabled feet IK, proper handling of exit room Added quest system from proto2
This commit is contained in:
@@ -92,32 +92,48 @@ func build_rooms():
|
||||
window_rooms.push_back(left)
|
||||
window_rooms.push_back(right)
|
||||
print("rooms build complete")
|
||||
var special_rooms = {
|
||||
"exit_room": {
|
||||
"alloc": size_x * size_y
|
||||
},
|
||||
"master_room": {
|
||||
"alloc": floors * size_x * size_y
|
||||
},
|
||||
"jail_room": {
|
||||
"alloc": floors * size_x * size_y,
|
||||
},
|
||||
"kitchen_room": {
|
||||
"alloc": size_x * size_y
|
||||
}
|
||||
}
|
||||
func alloc_special_rooms():
|
||||
var allocated = []
|
||||
for k in special_rooms.keys():
|
||||
if special_rooms[k].has("id"):
|
||||
allocated.push_back(special_rooms[k].id)
|
||||
for k in special_rooms.keys():
|
||||
if special_rooms[k].has("id"):
|
||||
continue
|
||||
while true:
|
||||
var room_id = randi() % special_rooms[k].alloc
|
||||
if !room_id in allocated:
|
||||
special_rooms[k].id = room_id
|
||||
allocated.push_back(room_id)
|
||||
break
|
||||
for k in special_rooms.keys():
|
||||
var room_id = special_rooms[k].id
|
||||
dungeon[room_id].set_meta(k, true)
|
||||
if k == "master_room":
|
||||
var player_spawn = Spatial.new()
|
||||
dungeon[room_id].add_child(player_spawn)
|
||||
player_spawn.name = "player-spawn"
|
||||
player_spawn.add_to_group("spawn")
|
||||
if k == "exit_room":
|
||||
print("exit room: ", room_id)
|
||||
|
||||
func build_special_rooms():
|
||||
print("build_special_rooms")
|
||||
var special_rooms = []
|
||||
var p_id = window_rooms[randi() % window_rooms.size()]
|
||||
special_rooms.push_back(p_id)
|
||||
# var e_id = -1
|
||||
# while true:
|
||||
# e_id = window_rooms[randi() % (size_x * size_]
|
||||
# if !e_id in special_rooms:
|
||||
# break
|
||||
# special_rooms.push_back(e_id)
|
||||
while special_rooms.size() < 3:
|
||||
var r_id = randi() % dungeon.size()
|
||||
if !r_id in special_rooms:
|
||||
special_rooms.push_back(r_id)
|
||||
var j_id = special_rooms[1]
|
||||
var k_id = special_rooms[2]
|
||||
|
||||
dungeon[p_id].set_meta("master_room", true)
|
||||
dungeon[j_id].set_meta("jail_room", true)
|
||||
dungeon[k_id].set_meta("kitchen_room", true)
|
||||
# dungeon[e_id].set_meta("exit_room", true)
|
||||
var player_spawn = Spatial.new()
|
||||
dungeon[p_id].add_child(player_spawn)
|
||||
player_spawn.name = "player-spawn"
|
||||
player_spawn.add_to_group("spawn")
|
||||
alloc_special_rooms()
|
||||
|
||||
var state = 0
|
||||
func _ready():
|
||||
|
||||
Reference in New Issue
Block a user