add oxygen timer

This commit is contained in:
pennyrigate 2023-06-18 01:32:46 -04:00
parent fd218d6b13
commit e6a393c5e2
22 changed files with 314 additions and 13 deletions

View file

@ -28,7 +28,8 @@ export var jump_force: float = 150.0
export var jump_release_force: float = 0.25
## impulse added when double jumping
export var double_jump_force: float = 122.0
## if on turn on oxygentimer to kill player
export var underwater = false
# velocity
var velocity: Vector2 = Vector2.ZERO
@ -50,7 +51,8 @@ onready var airborne_shape: CollisionShape2D = $"%AirborneShape"
onready var ladder_detector: RayCast2D = $"%LadderDetector"
onready var death_splatter_position: Position2D = $"%DeathSplatterPosition"
onready var pushable_detector: RayCast2D = $"%PushableDetector"
onready var oxygen_timer = $OxygenTimer
onready var oxygen_origin = oxygen_timer.wait_time
# OVERRIDES #
func _ready() -> void:
@ -238,6 +240,8 @@ func _on_Dead_state_entered() -> void:
# fade into the ether
graphics.visible = false
state_chart.send_event("respawn")
#refill oxygen
oxygen_timer.start()
func _on_Respawn_state_entered() -> void:
global_position = Game.respawn_point
@ -378,3 +382,7 @@ func _on_Hitbox_body_entered(body: Node) -> void:
func _on_Ducking_event_received(event):
if event == "jump":
position.y -= 1
func _on_OxygenTimer_timeout():
if underwater: die()