1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
func on_map_load(root):
var ap = global.get_node("Archipelago")
# Remove door behind X1.
var door_node = root.get_node("/root/scene/Components/Doors/exit_1")
door_node.handleTriggered()
# Display win condition.
var sign_prefab = preload("res://objects/nodes/sign.tscn")
var sign1 = sign_prefab.instantiate()
sign1.position = Vector3(-7, 5, -15.01)
sign1.text = "victory"
root.get_node("/root/scene").add_child.call_deferred(sign1)
var sign2 = sign_prefab.instantiate()
sign2.position = Vector3(-7, 4, -15.01)
sign2.text = "%s ending" % ap.kEndingNameByVictoryValue.get(ap.victory_condition, "?")
var sign2_color = ap.kEndingNameByVictoryValue.get(ap.victory_condition, "coral").to_lower()
if sign2_color == "white":
sign2_color = "silver"
sign2.material = load("res://assets/materials/%s.material" % sign2_color)
root.get_node("/root/scene").add_child.call_deferred(sign2)
# Add the gift map entry panel if needed.
if not ap.enable_gift_maps.is_empty():
var panel_prefab = preload("res://objects/nodes/panel.tscn")
var tpl_prefab = preload("res://objects/nodes/listeners/teleportListener.tscn")
var wpl_prefab = preload("res://objects/nodes/listeners/worldportListener.tscn")
var giftmap_parent = Node.new()
giftmap_parent.name = "GiftMapEntrance"
root.get_node("/root/scene/Components").add_child.call_deferred(giftmap_parent)
var symbolless_player = ""
for i in range(ap.client.ap_user.length()):
if "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".contains(
ap.client.ap_user[i]
):
symbolless_player = symbolless_player + ap.client.ap_user[i].to_lower()
var giftmap_panel = panel_prefab.instantiate()
giftmap_panel.name = "Panel"
giftmap_panel.position = Vector3(33.5, -190, 5.5)
giftmap_panel.rotation_degrees = Vector3(-45, 0, 0)
giftmap_panel.clue = "player"
giftmap_panel.answer = symbolless_player
if ap.enable_gift_maps.has("The Advanced"):
var icely_panel = panel_prefab.instantiate()
icely_panel.name = "IcelyPanel"
icely_panel.answer = "icely"
icely_panel.position = Vector3(33.5, -200, 5.5)
giftmap_panel.proxies.append(NodePath("../IcelyPanel"))
giftmap_parent.add_child.call_deferred(icely_panel)
var icely_wpl = wpl_prefab.instantiate()
icely_wpl.name = "IcelyWpl"
icely_wpl.exit = "the_advanced"
icely_wpl.senders.append(NodePath("../IcelyPanel"))
giftmap_parent.add_child.call_deferred(icely_wpl)
if ap.enable_gift_maps.has("The Charismatic"):
var souvey_panel = panel_prefab.instantiate()
souvey_panel.name = "SouveyPanel"
souvey_panel.answer = "souvey"
souvey_panel.position = Vector3(33.5, -210, 5.5)
giftmap_panel.proxies.append(NodePath("../SouveyPanel"))
giftmap_parent.add_child.call_deferred(souvey_panel)
var souvey_wpl = wpl_prefab.instantiate()
souvey_wpl.name = "SouveyWpl"
souvey_wpl.exit = "the_charismatic"
souvey_wpl.senders.append(NodePath("../SouveyPanel"))
giftmap_parent.add_child.call_deferred(souvey_wpl)
if ap.enable_gift_maps.has("The Crystalline"):
var q_panel = panel_prefab.instantiate()
q_panel.name = "QPanel"
q_panel.answer = "q"
q_panel.position = Vector3(33.5, -220, 5.5)
giftmap_panel.proxies.append(NodePath("../QPanel"))
giftmap_parent.add_child.call_deferred(q_panel)
var q_wpl = wpl_prefab.instantiate()
q_wpl.name = "QWpl"
q_wpl.exit = "the_crystalline"
q_wpl.senders.append(NodePath("../QPanel"))
giftmap_parent.add_child.call_deferred(q_wpl)
if ap.enable_gift_maps.has("The Fuzzy"):
var gongus_panel = panel_prefab.instantiate()
gongus_panel.name = "GongusPanel"
gongus_panel.answer = "gongus"
gongus_panel.position = Vector3(33.5, -260, 5.5)
giftmap_panel.proxies.append(NodePath("../GongusPanel"))
giftmap_parent.add_child.call_deferred(gongus_panel)
var kiwi_panel = panel_prefab.instantiate()
kiwi_panel.name = "KiwiPanel"
kiwi_panel.answer = "kiwi"
kiwi_panel.position = Vector3(33.5, -270, 5.5)
giftmap_panel.proxies.append(NodePath("../KiwiPanel"))
giftmap_parent.add_child.call_deferred(kiwi_panel)
var fuzzy_wpl = wpl_prefab.instantiate()
fuzzy_wpl.name = "FuzzyWpl"
fuzzy_wpl.exit = "the_fuzzy"
fuzzy_wpl.senders.append(NodePath("../GongusPanel"))
fuzzy_wpl.senders.append(NodePath("../KiwiPanel"))
fuzzy_wpl.complete_at = 1
giftmap_parent.add_child.call_deferred(fuzzy_wpl)
if ap.enable_gift_maps.has("The Stellar"):
var hatkirby_panel = panel_prefab.instantiate()
hatkirby_panel.name = "HatkirbyPanel"
hatkirby_panel.answer = "hatkirby"
hatkirby_panel.position = Vector3(33.5, -230, 5.5)
giftmap_panel.proxies.append(NodePath("../HatkirbyPanel"))
giftmap_parent.add_child.call_deferred(hatkirby_panel)
var kirby_panel = panel_prefab.instantiate()
kirby_panel.name = "KirbyPanel"
kirby_panel.answer = "kirby"
kirby_panel.position = Vector3(33.5, -240, 5.5)
giftmap_panel.proxies.append(NodePath("../KirbyPanel"))
giftmap_parent.add_child.call_deferred(kirby_panel)
var star_panel = panel_prefab.instantiate()
star_panel.name = "StarPanel"
star_panel.answer = "star"
star_panel.position = Vector3(33.5, -250, 5.5)
giftmap_panel.proxies.append(NodePath("../StarPanel"))
giftmap_parent.add_child.call_deferred(star_panel)
var stellar_wpl = wpl_prefab.instantiate()
stellar_wpl.name = "StellarWpl"
stellar_wpl.exit = "the_stellar"
stellar_wpl.senders.append(NodePath("../HatkirbyPanel"))
stellar_wpl.senders.append(NodePath("../KirbyPanel"))
stellar_wpl.senders.append(NodePath("../StarPanel"))
stellar_wpl.complete_at = 1
giftmap_parent.add_child.call_deferred(stellar_wpl)
giftmap_parent.add_child.call_deferred(giftmap_panel)
var giftmap_tpl = tpl_prefab.instantiate()
giftmap_tpl.name = "PanelTeleporter"
giftmap_tpl.teleport_point = Vector3(33.5, 1, 5.5)
giftmap_tpl.teleport_rotate = Vector3(-45, 0, 0)
giftmap_tpl.target_path = giftmap_panel
giftmap_tpl.senders.append(
NodePath("/root/scene/Components/Listeners/unlockReaderListenerDoubles")
)
giftmap_parent.add_child.call_deferred(giftmap_tpl)
|