123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- extends Node2D
- class_name Wave
- @export var title: String
- @export_multiline var description: String
- @export var duration: float = 20.0
- @export var power_level: float = 1.0
- @export_group("Encounters")
- var UFO1: PackedScene = preload("res://scene/entity/ufo_1.tscn")
- var UFO2: PackedScene = preload("res://scene/entity/ufo_2.tscn")
- var UFO2B: PackedScene = preload("res://scene/entity/ufo_2_big.tscn")
- var UFO3: PackedScene = preload("res://scene/entity/ufo_3.tscn")
- var UFO4: PackedScene = preload("res://scene/entity/ufo_4.tscn")
- var UFO5: PackedScene = preload("res://scene/entity/ufo_ast.tscn")
- @export var witchUFO: int
- @export var fork: int
- @export var forkB: int
- @export var star: int
- @export var boss: int
- @export var ast: int
- @onready var mob_target = $"../../UFOs"
- var index = 0
- var timer: Timer = Timer.new()
- func _ready():
- timer.set_wait_time(0.5)
- timer.set_one_shot(true)
- add_child(timer)
- func insert(mob: PackedScene, count: int):
- for i in range(0, count):
- var new_mob = mob.instantiate()
- new_mob.set_position(get_global_position() + Vector2(index * 800, 0))
- index += 1
- index %= 5
- mob_target.add_child(new_mob)
- timer.start()
- await timer.timeout
- func activate():
- insert(UFO1, witchUFO)
- insert(UFO2, fork)
- insert(UFO2B, forkB)
- insert(UFO3, star)
- insert(UFO4, boss)
- insert(UFO5, ast)
- func get_log_data_per_mob(val: int, tstr: String, target: String) -> String:
- if val > 0:
- target += "[indent]" + str(val) + "x " + tstr + "[/indent]\n"
- return target
- func get_log_data():
- var l = ""
- l = get_log_data_per_mob(witchUFO, "U.W.O.", l)
- l = get_log_data_per_mob(fork, "Farm ship", l)
- l = get_log_data_per_mob(forkB, "Shipfork", l)
- l = get_log_data_per_mob(star, "Morning star", l)
- l = get_log_data_per_mob(boss, "Comically large U.W.O.", l)
- l = get_log_data_per_mob(ast, "Asteroid", l)
- return l
|