Final jam version submisson: added placeholder sounds, fixed character

flashing on game restart.
This commit is contained in:
Henry 2026-03-08 14:26:21 +00:00
parent 8679e817ee
commit df13ee42d8
36 changed files with 400 additions and 58 deletions

View file

@ -28,6 +28,7 @@ var clamp_shield = clamp(shield, 0, max_shield)
@onready var explosion = $Explosion
@onready var wait_time = $GunCooldown
@onready var ship = $Ship
@onready var game_status = get_node("/root/Main")
func _ready():
set_process(false)
@ -38,23 +39,25 @@ func _ready():
func start():
print(shield)
shader_active = false
$Ship.frame = 0
# $Ship/Boosters/BoosterBurst.hide()
# $Ship/Boosters.hide()
$Ship.show()
position = Vector2(screensize.x / 2, screensize.y)
var tween = create_tween()
tween.tween_property(self, "position:y", 120 * -1, 1).as_relative()
await tween.finished
$GunCooldown.wait_time = cooldown
_on_set_shield(max_shield)
print(shield)
await get_tree().create_timer(1).timeout
set_process(true)
# $Ship/Boosters.show()
can_shoot = true
# EventBus.shield_changed.emit(max_shield, old_value, shield)
if game_status.playing == false:
shader_active = false
$Ship.frame = 0
# $Ship/Boosters/BoosterBurst.hide()
# $Ship/Boosters.hide()
$Ship.show()
position = Vector2(screensize.x / 2, screensize.y)
var tween = create_tween()
tween.tween_property(self, "position:y", 120 * -1, 1).as_relative()
await tween.finished
$GunCooldown.wait_time = cooldown
_on_set_shield(max_shield)
print(shield)
await get_tree().create_timer(1).timeout
set_process(true)
# $Ship/Boosters.show()
can_shoot = true
# EventBus.shield_changed.emit(max_shield, old_value, shield)
func _process(delta):
if pause == true: return
@ -91,20 +94,21 @@ func shoot():
tween.tween_property(ship, "position:y", 0, 0.05)
func _on_set_shield(value: int):
var old_value = shield
# shield = clamp(value, 0, max_shield)
shield = min(max_shield, value)
EventBus.shield_changed.emit(max_shield, old_value, shield)
print("Shield set to:", shield)
if shield <= 0:
set_process(false)
$Ship.hide()
shader_active = false
$Explosion.show()
$Explosion/AnimationPlayer.play("explosion-one-shot")
await $Explosion/AnimationPlayer.animation_finished
EventBus.player_died.emit()
var old_value = shield
# shield = clamp(value, 0, max_shield)
shield = min(max_shield, value)
EventBus.shield_changed.emit(max_shield, old_value, shield)
print("Shield set to:", shield)
if shield <= 0:
set_process(false)
$Ship.hide()
shader_active = false
$Explosion.show()
$Explosion/AnimationPlayer.play("explosion-one-shot")
await $Explosion/AnimationPlayer.animation_finished
EventBus.player_died.emit()
func _on_gun_cooldown_timeout() -> void:
$HeadInflate.play()
@ -161,8 +165,8 @@ func _on_area_entered(area):
func _on_damage_taken():
if shield == 0:
shader_active = false
if shield == 0 and game_status.playing == false:
#shader_active = false
return
else: