about summary refs log tree commit diff stats
path: root/Archipelago
diff options
context:
space:
mode:
Diffstat (limited to 'Archipelago')
-rw-r--r--Archipelago/load.gd24
1 files changed, 23 insertions, 1 deletions
diff --git a/Archipelago/load.gd b/Archipelago/load.gd index a277817..66c9b8a 100644 --- a/Archipelago/load.gd +++ b/Archipelago/load.gd
@@ -437,6 +437,26 @@ func _load():
437 437
438 var chosen_painting = remaining[rng.randi_range(0, remaining.size() - 1)] 438 var chosen_painting = remaining[rng.randi_range(0, remaining.size() - 1)]
439 instantiate_painting(painting, chosen_painting) 439 instantiate_painting(painting, chosen_painting)
440
441 # Replace the roof of The Artistic.
442 var artistic_paintings = [
443 ["smile_painting_9", -49.5, 44.5],
444 ["cherry_painting3", -38.5, 44.5],
445 ["boxes_painting2", -38.5, 55.5],
446 ["panda_painting_3", -49.5, 55.5]
447 ]
448 for painting in artistic_paintings:
449 var painting_node = get_node("AP_Paintings").get_node(painting[0]).get_node("GridMap")
450 var small_mesh_library = painting_node.mesh_library
451
452 for x in range(0,10):
453 for y in range(0,10):
454 var cellitem = painting_node.get_cell_item(-5 + x, 1+y, 0)
455 var meshitem = small_mesh_library.get_item_name(cellitem)
456 if meshitem.begins_with("Tiny"):
457 meshitem = meshitem.substr(4)
458 set_gridmap_tile(painting[1]+9-y, 8.5, painting[2]+x, meshitem)
459
440 460
441 # We need to make some changes to the Art Gallery. The player should always 461 # We need to make some changes to the Art Gallery. The player should always
442 # have access to the backroom, but they shouldn't have access to ORDER until 462 # have access to the backroom, but they shouldn't have access to ORDER until
@@ -640,8 +660,10 @@ func set_gridmap_tile(x, y, z, tile):
640 var gridmap = self.get_node("GridMap") 660 var gridmap = self.get_node("GridMap")
641 var mesh_library = gridmap.mesh_library 661 var mesh_library = gridmap.mesh_library
642 var mapvec = gridmap.world_to_map(gridmap.to_local(Vector3(x, y, z))) 662 var mapvec = gridmap.world_to_map(gridmap.to_local(Vector3(x, y, z)))
663 var cellitem = mesh_library.find_item_by_name(tile)
643 664
644 gridmap.set_cell_item(mapvec.x, mapvec.y, mapvec.z, mesh_library.find_item_by_name(tile)) 665 if cellitem != GridMap.INVALID_CELL_ITEM:
666 gridmap.set_cell_item(mapvec.x, mapvec.y, mapvec.z, cellitem)
645 667
646 668
647func clear_gridmap_tile(x, y, z): 669func clear_gridmap_tile(x, y, z):