about summary refs log tree commit diff stats
path: root/data/maps/the_quiet
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-08-04 11:58:15 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-08-04 11:58:15 -0400
commit4fb8d5c4bd08b848818622ec864f451e7d51d1d0 (patch)
tree6f9509c88bed7080d496fc5e1d87a9315e30549d /data/maps/the_quiet
downloadlingo2-archipelago-4fb8d5c4bd08b848818622ec864f451e7d51d1d0.tar.gz
lingo2-archipelago-4fb8d5c4bd08b848818622ec864f451e7d51d1d0.tar.bz2
lingo2-archipelago-4fb8d5c4bd08b848818622ec864f451e7d51d1d0.zip
Initial commit
Diffstat (limited to 'data/maps/the_quiet')
0 files changed, 0 insertions, 0 deletions
'n23' href='#n23'>23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90


















































                                                                                              
                               



































                                                                                                              
                                        
                              
extends Node

var effect_running = false
var slowness_remaining = 0
var iceland_remaining = 0

var orig_env
var orig_walk
var orig_run


func _ready():
	orig_env = get_tree().get_root().get_node("Spatial/player/pivot/camera").environment
	orig_walk = get_tree().get_root().get_node("Spatial/player").walk_speed
	orig_run = get_tree().get_root().get_node("Spatial/player").run_speed

	var label = Label.new()
	label.set_name("label")
	label.margin_right = 1920.0 - 20.0
	label.margin_top = 20.0
	label.align = Label.ALIGN_RIGHT
	label.valign = Label.VALIGN_TOP

	var dynamic_font = DynamicFont.new()
	dynamic_font.font_data = load("res://fonts/Lingo.ttf")
	dynamic_font.size = 36
	dynamic_font.outline_color = Color(0, 0, 0, 1)
	dynamic_font.outline_size = 2
	label.add_font_override("font", dynamic_font)

	add_child(label)


func trigger_slowness_trap():
	if slowness_remaining == 0:
		var player = get_tree().get_root().get_node("Spatial/player")
		player.walk_speed = orig_walk / 2.0
		player.run_speed = orig_run / 2.0

	slowness_remaining += 30

	if not effect_running:
		_process_effects()


func trigger_iceland_trap():
	if iceland_remaining == 0:
		get_tree().get_root().get_node("Spatial/player/pivot/camera").set_environment(
			load("res://environments/level_iceland.tres")
		)

	iceland_remaining += 60

	if not effect_running:
		_process_effects()


func _process_effects():
	effect_running = true

	while slowness_remaining > 0 or iceland_remaining > 0:
		var text = ""
		if slowness_remaining > 0:
			text += "Slowness: %d seconds" % slowness_remaining
		if iceland_remaining > 0:
			if not text.empty():
				text += "\n"
			text += "Iceland: %d seconds" % iceland_remaining
		self.get_node("label").text = text

		yield(get_tree().create_timer(1.0), "timeout")

		if slowness_remaining > 0:
			slowness_remaining -= 1

			if slowness_remaining == 0:
				var player = get_tree().get_root().get_node("Spatial/player")
				player.walk_speed = orig_walk
				player.run_speed = orig_run

		if iceland_remaining > 0:
			iceland_remaining -= 1

			if iceland_remaining == 0:
				get_tree().get_root().get_node("Spatial/player/pivot/camera").set_environment(
					orig_env
				)

	self.get_node("label").text = ""
	effect_running = false