about summary refs log tree commit diff stats
path: root/data/maps/control_center/metadata.txtpb
blob: bf8967070efdc725c1314907cda91410845f7247 (plain) (blame)
1
display_name: "Control Center"
weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
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)