Beispiel #1
0
        /// <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();
        }
Beispiel #2
0
 /// <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();
 }