Hey, recently I've tackled creating a battle scene, and instead of tediously creating several individual monster scenes with stats I opted by creating one scene with every monster data, which as soon it's instantiated into battle a randomnumber is generated, and that number decides which monster it becomes.
It works, but upon generating 3 monsters, every monster has the same ID, so they're always the same monster.
This is the relevant code of the monster:
extends Node2D
var mon_name
var mon_id
var mon_anim
var mon_HP
var mon_AT
var mon_DF
var mon_check_text
var mon_exp
var mon_gold
var act_1
var act_2
var act_3
var act_1_text
var act_2_text
var act_3_text
var rng = RandomNumberGenerator.new()
var ruins_mon_pool = rng.randi_range(0,1)
func _ready():
var monster_data = MonsterGroup.monData
var monster_array = MonsterGroup.monID
MonsterGroup.set_monster_stats(monster_data[monster_array[ruins_mon_pool]]["mon_id"],monster_data[monster_array[ruins_mon_pool]]["mon_anim"])
mon_name = MonsterGroup.mon_name
mon_anim = MonsterGroup.mon_anim
mon_id = MonsterGroup.mon_id
mon_HP = MonsterGroup.mon_HP
mon_AT = MonsterGroup.mon_AT
mon_DF = MonsterGroup.mon_DF
act_1 = MonsterGroup.act_1
act_2 = MonsterGroup.act_2
act_3 = MonsterGroup.act_3
act_1_text = MonsterGroup.act_1_text
act_2_text = MonsterGroup.act_2_text
act_3_text= MonsterGroup.act_3_text
mon_gold = MonsterGroup.mon_gold
mon_exp = MonsterGroup.mon_exp