Skip to content

Fire Pool

The Fire Pool hazards are a temporary hazard spawned by the slingshot. They are a type of bleed hazard. For visualization, this Hazard uses a custom shader to create a fire effect, applied to a MeshInstance3D with a BoxMesh.

extends BleedHazard
@export var alive_time : float = 3.0
@onready var remove_timer : Timer = $RemoveTimer
@onready var audio_stream_player : AudioStreamPlayer3D = $AudioStreamPlayer3D
func _ready() -> void:
var audio_length = audio_stream_player.stream.get_length()
var max_start = max(audio_length - alive_time, 0.0)
var start_position = randf_range(0.0, max_start)
audio_stream_player.seek(start_position)
audio_stream_player.play()
remove_timer.start(alive_time)
func _on_remove_timer_timeout():
audio_stream_player.stop()
erase_invalid_bodies()
queue_free()

The Fire Pool removes itself after a set duration.

StatValue
Alive Time3s
Damage Interval1.0s
Damage Duration5.0s

Its damage value is set by the slingshot.