public static StatHolder getRandomStatsByLevel(IStatHolder statsToFill, byte level) { var statsToAccrue = 0; for (byte i = 0; i++ <= level;) { statsToAccrue += RegionConstants.GetConstants(ConstantType.STAT_POINTS_PER_LEVEL)[i]; } while (statsToAccrue > 0) { switch (RngUtil.intRange(0, 3)) { case (0): statsToFill.AddToStat <Strength>(1); break; case (1): statsToFill.AddToStat <Dexterity>(1); break; case (2): statsToFill.AddToStat <Instinct>(1); break; case (3): statsToFill.AddToStat <Stamina>(1); break; } statsToAccrue--; } statsToFill.SetStat <CurrHealth>(statsToFill.GetStat <MaxHealth>()); return((StatHolder)statsToFill); }
protected CCharacter(Region region, CharacterKnownList objectKnownList, IStatHolder stats, IItemHolder items, EffectHolder effects, IEnumerable <ICharacterData> characterDatas) : base(region, objectKnownList) { Stats = stats; Stats.Character = this; Items = items; Items.Character = this; _characterData = new Dictionary <Type, ICharacterData>(); foreach (var charData in characterDatas) { charData.Owner = this; _characterData.Add(charData.GetType(), charData); } Effects = effects; Effects.Owner = this; StatusListeners = new List <ICharacter>(); }
public CPlayable(Region region, PlayableKnownList objectKnownList, IStatHolder stats, IItemHolder items, EffectHolder effects, IEnumerable <ICharacterData> charData) : base(region, objectKnownList, stats, items, effects, charData) { }