Example #1
0
        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);
        }
Example #2
0
 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>();
 }
Example #3
0
 public CPlayable(Region region, PlayableKnownList objectKnownList, IStatHolder stats, IItemHolder items, EffectHolder effects, IEnumerable <ICharacterData> charData)
     : base(region, objectKnownList, stats, items, effects, charData)
 {
 }