コード例 #1
0
        protected override LevelUpStats GetLevel(
            int[] growths, int[] gainedStats, int[] currentLevelStats, bool atBaseLevel)
        {
            bool[] cappedStats = GetCappedStats(gainedStats);

            if (atBaseLevel && Global.ActorConfig.SemifixedFirstLevelUp)
            {
                var stats = new SemifixedLevelUpStats(
                    growths, currentLevelStats, cappedStats);
                return(stats);
            }
            else
            {
#if DEBUG
                // In the unit editor, random level up stats are only used for the
                // leftover value, and use a fixed roll
                if (Global.scene.scene_type == "Scene_Map_Unit_Editor" && Actor.is_generic_actor)
                {
                    var stats = new Roll50LevelUpStats(growths, currentLevelStats, cappedStats);
                    return(stats);
                }
                else
#endif
                if (Global.ActorConfig.NoEmptyLevels)
                {
                    var stats = new NoZeroLevelUpStats(growths, currentLevelStats, cappedStats);
                    return(stats);
                }
                else
                {
                    var stats = new LevelUpStats(growths, currentLevelStats, cappedStats);
                    return(stats);
                }
            }
        }
コード例 #2
0
        private void _playerLevelUp(LevelUpStats _stats)
        {
            World.Instance.MainPlayer.ActiveCharacter.Emote(Emote.LevelUp);
            World.Instance.ActiveCharacterRenderer.PlayerEmote();

            CharStatData stats = World.Instance.MainPlayer.ActiveCharacter.Stats;

            stats.level       = _stats.Level;
            stats.statpoints  = _stats.StatPoints;
            stats.skillpoints = _stats.SkillPoints;
            stats.SetMaxHP(_stats.MaxHP);
            stats.SetMaxTP(_stats.MaxTP);
            stats.SetMaxSP(_stats.MaxSP);
            m_game.Hud.RefreshStats();
        }