gae_wild_jam/scripts/fireball.gd

32 lines
827 B
GDScript

extends ProjectileBase
var explosion_scene = preload("res://scenes/explosion.tscn")
var tornado_scene = preload("res://scenes/tornado.tscn")
@onready var perk_effects = get_node("/root/Game/PerkEffects")
func _ready() -> void:
super()
damage = 10
func _on_body_entered(body: Node2D) -> void:
if not body.is_in_group("enemies"):
return
body.take_damage(damage)
match perk_effects.get_mode("fireball.impact"):
"explosion":
_spawn_explosion()
"spawn_tornado":
_spawn_tornado()
queue_free()
func _spawn_explosion() -> void:
var boom = explosion_scene.instantiate()
boom.global_position = global_position
get_parent().call_deferred("add_child", boom)
func _spawn_tornado() -> void:
var tw = tornado_scene.instantiate()
tw.global_position = global_position
get_parent().call_deferred("add_child", tw)