Tweaked timings between levels and other details with the ending.
This commit is contained in:
parent
b12558a846
commit
20b657c7b1
13 changed files with 125 additions and 64 deletions
|
|
@ -8,7 +8,7 @@ custom_features=""
|
|||
export_filter="all_resources"
|
||||
include_filter="*"
|
||||
exclude_filter=""
|
||||
export_path="../../Downloads/2026-03-05 122008 The Third Place/index.html"
|
||||
export_path="../../Downloads/2026-03-06 235841 The Third Place/index.html"
|
||||
patches=PackedStringArray()
|
||||
patch_delta_encoding=false
|
||||
patch_delta_compression_level_zstd=19
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ var tween_speed: float = 1.4
|
|||
var pause: bool = false
|
||||
|
||||
|
||||
var horse_counter: int = 1
|
||||
var horse_counter: int = 0
|
||||
var horse_phase: bool = true
|
||||
var exploding:bool = false
|
||||
var heart_taken: bool = false
|
||||
|
|
@ -133,6 +133,9 @@ func _on_ending(value: int):
|
|||
#horse_phase_check()
|
||||
print("Fix your broken heart or die")
|
||||
$Sprite2D.frame = 0
|
||||
EventBus.goose_talk.emit(3,6)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -155,13 +158,13 @@ func _on_ending(value: int):
|
|||
EventBus.heart_beat.emit(0)
|
||||
await get_tree().create_timer(2).timeout
|
||||
EventBus.flash_screen.emit(.25)
|
||||
$Heart.queue_free()
|
||||
#$Heart.queue_free()
|
||||
$Sprite2D.frame = 4
|
||||
await get_tree().create_timer(4).timeout
|
||||
EventBus.goose_talk.emit(4)
|
||||
EventBus.goose_talk.emit(4,6)
|
||||
self.monitoring = false
|
||||
self.monitorable = false
|
||||
EventBus.win_game.emit()
|
||||
EventBus.win_game.emit(2)
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,14 @@
|
|||
[ext_resource type="Texture2D" uid="uid://c4nhwvs13x5bc" path="res://sprites/heart.png" id="7_2cdgk"]
|
||||
[ext_resource type="Script" uid="uid://b01h56iyb6pp2" path="res://scenes/heart.gd" id="7_qsl3t"]
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_qsl3t"]
|
||||
particle_flag_disable_z = true
|
||||
angle_min = -43.89999
|
||||
angle_max = 43.00001
|
||||
gravity = Vector3(0, 98, 0)
|
||||
linear_accel_min = -2.2351742e-06
|
||||
linear_accel_max = 14.019998
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_neq0i"]
|
||||
size = Vector2(129, 63)
|
||||
|
||||
|
|
@ -207,6 +215,14 @@ hframes = 4
|
|||
vframes = 3
|
||||
frame = 4
|
||||
|
||||
[node name="HeartEmitter" type="Sprite2D" parent="Sprite2D" unique_id=228431511]
|
||||
visible = false
|
||||
texture = ExtResource("7_2cdgk")
|
||||
|
||||
[node name="GPUParticles2D" type="GPUParticles2D" parent="Sprite2D/HeartEmitter" unique_id=1951939806]
|
||||
texture = ExtResource("7_2cdgk")
|
||||
process_material = SubResource("ParticleProcessMaterial_qsl3t")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=12560305]
|
||||
position = Vector2(-0.5, 1.5)
|
||||
shape = SubResource("RectangleShape2D_neq0i")
|
||||
|
|
@ -256,6 +272,7 @@ wait_time = 0.05
|
|||
one_shot = true
|
||||
|
||||
[node name="Heart" type="Area2D" parent="." unique_id=1098254590 groups=["heart"]]
|
||||
visible = false
|
||||
position = Vector2(0, -71)
|
||||
rotation = -0.006150021
|
||||
script = ExtResource("7_qsl3t")
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
extends Area2D
|
||||
|
||||
#@onready var bullet = $Bullet/Sprite2D
|
||||
@onready var bullet = $Bullet
|
||||
|
||||
@export var speed = -250
|
||||
var shader_active = false
|
||||
|
|
@ -59,8 +59,6 @@ func _on_area_entered(area: Area2D) -> void:
|
|||
position = Vector2.ZERO
|
||||
pause = true
|
||||
$Sprite2D/GPUParticles2D.hide()
|
||||
self.monitoring = false
|
||||
self.monitorable = false
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ signal enemy_died()
|
|||
signal enemy_hit(value: int)
|
||||
signal initialize_shieldbar()
|
||||
signal start_game()
|
||||
signal goose_talk(frame_index: int)
|
||||
signal goose_talk(frame_index: int, quack_wait_time: float)
|
||||
|
||||
# FX
|
||||
signal flash_screen(duration: float)
|
||||
|
|
@ -17,7 +17,8 @@ signal cloud_speed(active: bool)
|
|||
|
||||
# Ending
|
||||
signal ending(value: int)
|
||||
signal win_game()
|
||||
signal player_victory(ending: int)
|
||||
signal win_game(ending: int)
|
||||
signal secret_win_game()
|
||||
signal heart_beat(tempo: float)
|
||||
|
||||
|
|
|
|||
|
|
@ -6,10 +6,12 @@ func _ready() -> void:
|
|||
EventBus.goose_talk.connect(_on_goose_talk)
|
||||
|
||||
|
||||
func _on_goose_talk(frame_index: int):
|
||||
func _on_goose_talk(frame_index: int, quack_wait_time: float = 3.0):
|
||||
|
||||
#var quacking = get_tree().create_timer(3).timeout
|
||||
|
||||
$DapperGoose/Quacking.wait_time = quack_wait_time
|
||||
|
||||
if goose_talking == false:
|
||||
print("QUACK")
|
||||
self.show()
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ func new_game():
|
|||
|
||||
# Do some DapperGoose talk
|
||||
await get_tree().create_timer(1.5).timeout
|
||||
EventBus.goose_talk.emit(6)
|
||||
EventBus.goose_talk.emit(6,4)
|
||||
|
||||
# Tell the enemies to spawn!
|
||||
#await get_tree().create_timer(.5).timeout
|
||||
|
|
@ -159,15 +159,30 @@ func _on_secret_win_game():
|
|||
start_button.show()
|
||||
|
||||
|
||||
func _on_win_game():
|
||||
playing = false
|
||||
$Player._on_player_victory()
|
||||
await $Player._on_player_victory()
|
||||
game_over.show()
|
||||
await get_tree().create_timer(8).timeout
|
||||
game_over.hide()
|
||||
$CanvasLayer/Title.show()
|
||||
start_button.show()
|
||||
func _on_win_game(value: int):
|
||||
|
||||
if value == 1: # Heart Taken
|
||||
|
||||
playing = false
|
||||
$Player._on_player_victory(1)
|
||||
await $Player._on_player_victory(1)
|
||||
game_over.show()
|
||||
await get_tree().create_timer(5).timeout
|
||||
game_over.hide()
|
||||
$CanvasLayer/Title.show()
|
||||
start_button.show()
|
||||
|
||||
if value == 2: #Heart Broken
|
||||
|
||||
playing = false
|
||||
$Player._on_player_victory(2)
|
||||
await $Player._on_player_victory(2)
|
||||
game_over.show()
|
||||
await get_tree().create_timer(5).timeout
|
||||
game_over.hide()
|
||||
$CanvasLayer/Title.show()
|
||||
start_button.show()
|
||||
|
||||
|
||||
func _on_flash_screen(duration: float):
|
||||
print("flash!")
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
extends Node2D
|
||||
|
||||
var scroll_multiplier: float = 400
|
||||
var scroll_multiplier: float = 450
|
||||
var scroll_multiplier_active = false
|
||||
|
||||
@onready var parallax_nodes = get_tree().get_nodes_in_group("parallax_clouds")
|
||||
|
||||
|
|
@ -9,32 +10,36 @@ func _ready():
|
|||
EventBus.cloud_speed.connect(_on_cloud_speed)
|
||||
|
||||
func _on_cloud_speed(active: bool):
|
||||
|
||||
if active == true:
|
||||
for node in parallax_nodes:
|
||||
if node is Parallax2D:
|
||||
var current_autoscroll = node.get_autoscroll()
|
||||
current_autoscroll.y += scroll_multiplier
|
||||
var tween = create_tween().set_trans(Tween.TRANS_LINEAR)
|
||||
tween.tween_property(node, "autoscroll:y", scroll_multiplier, 5)
|
||||
var new_autoscroll = current_autoscroll.y + scroll_multiplier
|
||||
var tween = create_tween().set_trans(Tween.TRANS_QUAD).parallel()
|
||||
tween.tween_property(node, "autoscroll:y", new_autoscroll, 5)
|
||||
tween.tween_property(node, "modulate",Color(0.40,0.40,0.40), 2.5)
|
||||
|
||||
var coffee_dip = create_tween().set_trans(Tween.TRANS_QUAD)
|
||||
coffee_dip.tween_property($CoffeeBuoy, "modulate", Color(0.40,0.40,0.40,0),2.5)
|
||||
var coffee_dip = create_tween().set_trans(Tween.TRANS_QUAD).parallel()
|
||||
coffee_dip.tween_property($CoffeeBuoy, "modulate", Color(0.40,0.40,0.40,0),5)
|
||||
await coffee_dip.finished
|
||||
$CoffeeBuoy.hide()
|
||||
scroll_multiplier_active = true
|
||||
|
||||
if active == false:
|
||||
for node in parallax_nodes:
|
||||
if node is Parallax2D:
|
||||
var current_autoscroll = node.get_autoscroll()
|
||||
current_autoscroll.y -= scroll_multiplier
|
||||
var tween = create_tween().set_trans(Tween.TRANS_LINEAR)
|
||||
tween.tween_property(node, "autoscroll:y", scroll_multiplier, 5)
|
||||
tween.tween_property(node, "modulate",Color(0.40,0.40,0.40), 2.5)
|
||||
if scroll_multiplier_active == true:
|
||||
for node in parallax_nodes:
|
||||
if node is Parallax2D:
|
||||
var current_autoscroll = node.get_autoscroll()
|
||||
var new_autoscroll = current_autoscroll.y - scroll_multiplier
|
||||
var tween = create_tween().set_trans(Tween.TRANS_QUAD).parallel()
|
||||
tween.tween_property(node, "autoscroll:y", new_autoscroll, 5)
|
||||
tween.tween_property(node, "modulate",Color(1,1,1), 1.5)
|
||||
|
||||
$CoffeeBuoy.show()
|
||||
var coffee_dip = create_tween().set_trans(Tween.TRANS_QUAD)
|
||||
coffee_dip.tween_property($CoffeeBuoy, "modulate", Color(1,1,1,1),2.5)
|
||||
await coffee_dip.finished
|
||||
$CoffeeBuoy.show()
|
||||
var coffee_dip = create_tween().set_trans(Tween.TRANS_QUAD).parallel()
|
||||
coffee_dip.tween_property($CoffeeBuoy, "modulate", Color(1,1,1,1),5)
|
||||
$CoffeeBuoy.show()
|
||||
scroll_multiplier_active = false
|
||||
|
||||
if scroll_multiplier_active == false:
|
||||
return
|
||||
|
|
|
|||
|
|
@ -117,6 +117,7 @@ region_rect = Rect2(0, 0, 64, 64)
|
|||
[node name="CoffeeBuoy" type="Parallax2D" parent="." unique_id=813362228 groups=["parallax_clouds"]]
|
||||
self_modulate = Color(0.5931336, 0.59313357, 0.59313357, 1)
|
||||
scroll_scale = Vector2(1, -2)
|
||||
scroll_offset = Vector2(-1, 0)
|
||||
repeat_size = Vector2(0, 375)
|
||||
autoscroll = Vector2(0, 1)
|
||||
repeat_times = 3
|
||||
|
|
@ -131,7 +132,7 @@ scale = Vector2(0.75, 0.75)
|
|||
texture = ExtResource("2_pcgsf")
|
||||
flip_h = true
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="." unique_id=23364495 groups=["parallax_clouds"]]
|
||||
[node name="ColorRect" type="ColorRect" parent="." unique_id=23364495]
|
||||
z_index = -5
|
||||
offset_right = 239.0
|
||||
offset_bottom = 323.0
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ func _ready():
|
|||
set_process(false)
|
||||
print(shield)
|
||||
EventBus.set_shield.connect(_on_set_shield)
|
||||
#EventBus.player_victory.connect(_on_player_victory)
|
||||
EventBus.player_victory.connect(_on_player_victory)
|
||||
# start()
|
||||
|
||||
func start():
|
||||
|
|
@ -138,7 +138,7 @@ func _on_area_entered(area):
|
|||
print("You can win!")
|
||||
EventBus.heart_beat.emit(2.5)
|
||||
area.reparent(self)
|
||||
EventBus.win_game.emit()
|
||||
EventBus.win_game.emit(1)
|
||||
|
||||
elif can_win == false:
|
||||
shield -= int(max_shield / 2)
|
||||
|
|
@ -172,16 +172,32 @@ func _on_damage_taken():
|
|||
$Ship.material.set_shader_parameter("toggle", 0.0)
|
||||
shader_active = false
|
||||
|
||||
func _on_player_victory() -> void:
|
||||
print("Victory!")
|
||||
# get_node("EnemyBullet").monitoring = false #TODO make sure bullets stop monitoring!
|
||||
set_process(false)
|
||||
#$Ship.frame = 1
|
||||
self.monitorable = false
|
||||
self.monitoring = false
|
||||
await get_tree().create_timer(4).timeout
|
||||
# $Ship/Boosters/BoosterBurst.show()
|
||||
var tween = create_tween()
|
||||
tween.tween_property(self, "position:y", 60 * -1, .25).set_ease(tween.EASE_IN)
|
||||
await tween.finished
|
||||
queue_free()
|
||||
func _on_player_victory(ending: int) -> void:
|
||||
|
||||
if ending == 1: # Heart Taken
|
||||
print("Victory!")
|
||||
# get_node("EnemyBullet").monitoring = false #TODO make sure bullets stop monitoring!
|
||||
set_process(false)
|
||||
#$Ship.frame = 1
|
||||
self.monitorable = false
|
||||
self.monitoring = false
|
||||
await get_tree().create_timer(4).timeout
|
||||
# $Ship/Boosters/BoosterBurst.show()
|
||||
var tween = create_tween()
|
||||
tween.tween_property(self, "position:y", 60 * -1, .25).set_ease(tween.EASE_IN)
|
||||
await tween.finished
|
||||
queue_free()
|
||||
|
||||
if ending == 2:
|
||||
print("Victory!")
|
||||
# get_node("EnemyBullet").monitoring = false #TODO make sure bullets stop monitoring!
|
||||
set_process(false)
|
||||
$Ship.frame = 0
|
||||
self.monitorable = false
|
||||
self.monitoring = false
|
||||
await get_tree().create_timer(4).timeout
|
||||
# $Ship/Boosters/BoosterBurst.show()
|
||||
var tween = create_tween()
|
||||
tween.tween_property(self, "position:y", 60 * -1, .25).set_ease(tween.EASE_IN)
|
||||
await tween.finished
|
||||
queue_free()
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ func hit_detection():
|
|||
|
||||
|
||||
|
||||
|
||||
func explode():
|
||||
if exploding: return
|
||||
#exploding = true
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ func _ready():
|
|||
|
||||
func spawn_enemies():
|
||||
|
||||
if wave_count == 2: #This is for CHICKENS
|
||||
if wave_count == 0: #This is for CHICKENS
|
||||
print("Enemy Wave: ", wave_count)
|
||||
enemy = CHICKEN
|
||||
for x in range(COLS):
|
||||
|
|
@ -53,7 +53,7 @@ func spawn_enemies():
|
|||
enemy_count = rows_mod * cols_mod
|
||||
await get_tree().process_frame
|
||||
|
||||
if wave_count == 3 : #This if for Mirror
|
||||
if wave_count == 2 : #This if for Mirror
|
||||
print("Enemy Wave: ", wave_count)
|
||||
|
||||
# Spawn Table
|
||||
|
|
@ -89,7 +89,7 @@ func spawn_enemies():
|
|||
s.start_all_animations()
|
||||
|
||||
|
||||
if wave_count == 0 : #This is for Boss
|
||||
if wave_count == 3 : #This is for Boss
|
||||
|
||||
# Hide the player
|
||||
|
||||
|
|
@ -97,7 +97,8 @@ func spawn_enemies():
|
|||
EventBus.cloud_speed.emit(true)
|
||||
|
||||
# Spawn Boss
|
||||
EventBus.flash_screen.emit(.25)
|
||||
await get_tree().create_timer(3).timeout
|
||||
#EventBus.flash_screen.emit(.25)
|
||||
var b = BOSS.instantiate()
|
||||
add_child(b)
|
||||
#b.position = Vector2(screensize.x / 2, position.y + 100)
|
||||
|
|
@ -126,7 +127,8 @@ func wave_status():
|
|||
wave_complete = false
|
||||
|
||||
else:
|
||||
EventBus.goose_talk.emit(wave_count)
|
||||
await get_tree().create_timer(3).timeout
|
||||
EventBus.goose_talk.emit(wave_count, 4)
|
||||
wave_initialize()
|
||||
wave_complete = true
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 622 B After Width: | Height: | Size: 667 B |
Loading…
Add table
Add a link
Reference in a new issue