midori-school/levels/Ceres/L20.gd
2024-07-15 17:22:33 -07:00

44 lines
1.5 KiB
GDScript

extends Node2D
var talk = load("res://levels/ui/talk.tscn").instantiate()
var boss
var player
# Called when the node enters the scene tree for the first time.
func _ready():
boss = $Kimberly
player = $Player
boss.add_to_group("boss")
Global.cdialog = [[tr("DIALOG_CERES_L20_0"), true, 0, 0], [tr("DIALOG_CERES_L20_1"), false, 3], [tr("DIALOG_CERES_L20_2"), true, 0, 0]]
Global.live = 0
get_tree().root.add_child.call(talk)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _physics_process(delta):
if player.velocity.x >= 0 && player.velocity.y >= 0:
if player.position.y < boss.position.y && player.get_index() > boss.get_index():
move_child(player, boss.get_index() - 1)
print("move up")
elif player.position.y > boss.position.y && player.get_index() < boss.get_index():
move_child(player, boss.get_index() + 1)
print("move down")
if Global.debug:
if Global.dstats[Global.dparty[0][0]][0] <= 0 && Global.live == 1:
_winner()
else:
if Global.cstats[Global.party[0][0]][0] <= 0 && Global.live == 1:
_winner()
func _input(event):
if Global.cdialog.size() != 0 && Global.live == 1:
get_tree().root.remove_child(talk)
Global.cdialog = []
func _winner():
Global.cdialog = [[tr("DIALOG_CERES_L20_3"), true, 0, 0], [tr("DIALOG_CERES_L20_4"), false, 3], [tr("DIALOG_CERES_L20_5"), true, 0, 0]]
Global.live = 3
#talk.queue_free()
talk = load("res://levels/ui/talk.tscn").instantiate()
get_tree().root.add_child.call(talk)