21 lines
748 B
GDScript
21 lines
748 B
GDScript
class_name TrainerData
|
|
extends Resource
|
|
|
|
#modele d'un dresseur PNJ : l'equipe reelle est fabriquee au debut du combat
|
|
|
|
@export var id : StringName
|
|
@export var names : Dictionary = {} # {"fr": "Pierre", "en": "Brock"}
|
|
@export var party : Array[TrainerPartyEntry] = []
|
|
|
|
func get_display_name() -> String:
|
|
return L10n.pick(names, String(id))
|
|
|
|
func create_team() -> PokemonTeam:
|
|
var team := PokemonTeam.new()
|
|
if party.size() > PokemonTeam.MAX_SIZE:
|
|
push_warning("TrainerData '%s' : %d pokémon dans le modèle, seuls les %d premiers seront utilisés." % [id, party.size(), PokemonTeam.MAX_SIZE])
|
|
for entry in party:
|
|
if entry == null: continue
|
|
var p := entry.create_instance()
|
|
if p and !team.add_pokemon(p): break #equipe pleine
|
|
return team |