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 if Game.shards >= 5: end_game() func end_game() -> void: Audio.ac_msx_ending.play() Game.change_map(preload("res://maps/msx_ending.tscn"), 2.0)