added battle state as globals, adds half working battle flow

This commit is contained in:
Luca 2024-09-29 16:18:32 +02:00
parent b09eee0805
commit 4963131d3e
12 changed files with 250 additions and 95 deletions

View file

@ -9,6 +9,12 @@ extends Node3D
## List that holds all spawnable monsters
@export var spawnable_monsters: Array[MonsterSpawnpointProbability]
## Minimum Level the spawnable monsters have
@export var min_level = 1
## Maximum level the spawnable monsters can have
@export var max_level = 1
## Ignore spawning only if visible
@export var ignore_visibility: bool = false
@ -66,10 +72,19 @@ func spawn() -> void:
# instantiate a monster .tscn scene
var monster_to_spawn = monster_tscn.instantiate()
# get a random monster data
# Create a new MonsterData for the monster to spawn
var monster_data: MonsterData = MonsterData.new()
# Get a random monster data as a template
var random := randi() % spawnable_monsters.size()
var data : MonsterData = spawnable_monsters[random].monster_data
monster_to_spawn.data = data
var template_data : MonsterData = spawnable_monsters[random].monster_data
monster_data.set_values(template_data.unique_id, {}, randi_range(min_level, max_level))
## Heal the wild monster fully
monster_data.heal(9999)
## Set the data of the Node3D monster to spawn
monster_to_spawn.data = monster_data
# keep track of the current monster
active_monsters.append(monster_to_spawn)