hero-mark-2/maps/future/mountain_future.gd
2025-07-17 16:49:56 -06:00

42 lines
1.2 KiB
GDScript

extends "res://maps/map.gd"
const Lightning = preload("res://objects/gfx/lightning.tscn")
export var min_interval: float
export var max_interval: float
export var fade_time: float
onready var lightning_spawn: Node2D = $"%LightningSpawn"
onready var bright_sky: ColorRect = $"%BrightSky"
onready var lightning_timer: Timer = $"%LightningTimer"
onready var clouds: Sprite = $"%Clouds"
var slaughter_shard_collected := false
func _spawn_lightning():
var bolt = Lightning.instance()
bright_sky.modulate.a = 1.0
clouds.modulate = Color(1.2, 1.2, 1.2)
bolt.position.x = rand_range(-100.0, 100.0)
bolt.fade_time = fade_time
lightning_spawn.add_child(bolt)
var tween = create_tween()
tween.set_parallel(true)
tween.tween_property(bright_sky, "modulate:a", 0.0, fade_time).set_trans(Tween.TRANS_EXPO)
tween.tween_property(clouds, "modulate", Color.white, fade_time).set_trans(Tween.TRANS_EXPO)
lightning_timer.start(rand_range(min_interval, max_interval))
func _physics_process(delta):
._physics_process(delta)
if get_tree().get_nodes_in_group("enemy").size() == 0:
if not slaughter_shard_collected:
Audio.play_shard_sound()
Game.score += 500
Game.shards_collected[0] = true
slaughter_shard_collected = true