/// <summary> /// Constructor used for loading monsters from saved <see cref="MonsterData"/>. /// </summary> /// <param name="monsterData">Saved data of the monster to be loaded.</param> public MonsterObj(MonsterData monsterData) { _base = Resources.Load <MonsterBase>($"Monsters/{monsterData.monsterName}"); _level = monsterData.currentLevel; Exp = monsterData.currentExp; CurrentHp = monsterData.currentHp; Moves = new List <MoveObj>(); for (var i = 0; i < monsterData.currentMoves.Length; i++) { var moveBase = Resources.Load <MoveBase>($"Moves/{monsterData.currentMoves[i]}"); int moveEnergy = monsterData.currentEnergy[i]; var move = new MoveObj(moveBase, moveEnergy); Moves.Add(move); } StatusChanges = new Queue <string>(); CalculateStats(); ResetStatsChanged(); RemoveStatus(); RemoveVolatileStatus(); }
/// <summary> /// Constructor used for wild encounters. /// </summary> /// <param name="mBase">Monster base to construct from.</param> /// <param name="level">Level to construct the monster at.</param> public MonsterObj(MonsterBase mBase, int level) { _base = mBase; _level = level; Init(); }