Esempio n. 1
0
        private MChar BuildHelper(PreCharParams preCharParams)
        {
            var character = new MChar(preCharParams.Race);

            if (preCharParams.Race != ERace.Critter && preCharParams.Race != ERace.None)
            {
                var racialPerks = RaceParamsTable.Instance.Table[preCharParams.Race].DefaultPerks;
                PerkMediator.Instance.SetCharacterPerks(character, racialPerks);
            }
            PerkMediator.Instance.SetCharacterPerks(character, preCharParams.Perks);
            this.BuildBaseClassHelper(preCharParams, character);
            this.BuildAbilities(preCharParams, character);
            this.BuildCharStats(preCharParams, character);
            this.BuildClassPrimaryStats(character);
            var secondary = GetSecondaryStats(character.GetBaseStats().GetPrimaryStats());

            character.GetBaseStats().SetSecondaryStats(secondary);
            this.BuildClassSecondaryStats(character);
            this.BuildCurStats(character);
            this.BuildCurPoints(character);
            character.SetType(preCharParams.Type);
            character.SetParams(preCharParams);
            this.BuildCharMount(preCharParams, character);
            character.SetAIRole(preCharParams.AIRole);
            return(character);
        }
Esempio n. 2
0
        private void BuildCharStats(PreCharParams preCharParams, MChar character)
        {
            var raceStats = this.GetRaceStats(preCharParams);

            if (raceStats == null)
            {
                var specificStats = PredefinedCharTable.Instance.Table[preCharParams.Name];
                character.GetBaseStats().SetPrimaryStats(specificStats.Stats);
            }
            else
            {
                character.GetBaseStats().SetPrimaryStats(raceStats);
            }
        }
Esempio n. 3
0
 private void BuildClassSecondaryStats(MChar c)
 {
     foreach (var kvp in c.GetBaseClasses())
     {
         var stats = kvp.Value.GetParams();
         foreach (var stat in stats.SecondaryStats)
         {
             c.GetBaseStats().AddStat(stat.Key, stat.Value);
         }
     }
 }
Esempio n. 4
0
 private void BuildCurStats(MChar c)
 {
     c.GetCurStats().Init(c.GetBaseStats());
 }