summaryrefslogtreecommitdiff
path: root/green_greens_boss.gd
diff options
context:
space:
mode:
Diffstat (limited to 'green_greens_boss.gd')
-rw-r--r--green_greens_boss.gd37
1 files changed, 37 insertions, 0 deletions
diff --git a/green_greens_boss.gd b/green_greens_boss.gd
new file mode 100644
index 0000000..533c28f
--- /dev/null
+++ b/green_greens_boss.gd
@@ -0,0 +1,37 @@
+extends Node2D
+
+
+@export var starting_position: Vector2
+@export var fade_in_from_door: bool = false
+
+@onready var player = get_tree().get_first_node_in_group("player")
+
+
+func _ready() -> void:
+ SoundManager.play_background("Boss")
+
+ if starting_position:
+ player.visual_position = starting_position
+
+ player.get_node("Camera2D").limit_top = $Wall.get_wall_limits().top
+ player.get_node("Camera2D").limit_bottom = $Wall.get_wall_limits().bottom
+ player.get_node("Camera2D").limit_left = $Wall.get_wall_limits().left
+ player.get_node("Camera2D").limit_right = $Wall.get_wall_limits().right
+
+ if fade_in_from_door:
+ player.current_state = player.state_exit_door()
+ player.get_node("AnimatedSprite2D").self_modulate = Color(0,0,0,1)
+
+ var tween = get_tree().create_tween()
+ tween.tween_property(
+ player.get_node("AnimatedSprite2D"),
+ "self_modulate",
+ Color(1,1,1,1),
+ 0.3
+ )
+
+ Game.boss_defeated.connect(func():
+ SoundManager.play_background("Win")
+ await SoundManager.current_background.finished
+ Game.transition_to_scene("res://FloatIslandsIntro.tscn")
+ )