Beispiel #1
0
        public Character(
            Size size,
            int armorClass,
            Dice hitDice,
            ICollection <DamageType> damageResistances,
            ICollection <DamageType> damageImmunities,
            Point pointOnMap,
            int speed,
            Common.Abilities.Abilities abilities,
            ICollection <Condition> conditionImmunities,
            ICollection <Sense> senses,
            ICollection <Language> languages,
            Abstractions.Challenge.Challenge challenge,
            ICollection <PassiveSkill> passiveSkills,
            ICollection <IAction> actions,
            Common.Abilities.Abilities.AbilityEnum spellCastingAbility,
            Abstractions.SavingThrows.SavingThrows savingThrows,
            int reach
            ) : base(
                size: size,
                hitDice: hitDice,
                armorClass: armorClass,
                damageImmunities: damageImmunities,
                damageResistances: damageResistances,
                pointOnMap: pointOnMap)
        {
            Speed               = speed;
            Abilities           = abilities;
            SpellCastingAbility = spellCastingAbility;
            SavingThrows        = savingThrows;
            Languages           = languages;
            Challenge           = challenge;
            PassiveSkills       = passiveSkills;
            Reach               = reach;


            // Add all the "base" actions that every character has access to
            Actions = new List <IAction> {
                new UnarmedStrike(this)
            };

            foreach (var action in actions)
            {
                Actions.Add(action);
            }

            //------------------------------------
            // Calculations
            //------------------------------------
            Initiative        = Calculate.Initiative(Abilities.Dexterity.Modifier);
            PassivePerception = Calculate.PassivePerception(Abilities.Wisdom.Modifier);
        }
Beispiel #2
0
        public PhysicalObject(
            Size size,
            Dice hitDice,
            int armorClass,
            ICollection <DamageType> damageImmunities,
            ICollection <DamageType> damageResistances,
            Point pointOnMap
            )
        {
            Size              = size;
            HitDice           = hitDice;
            ArmorClass        = armorClass;
            DamageImmunities  = damageImmunities;
            DamageResistances = damageResistances;
            PointOnMap        = pointOnMap;

            // HitPoints will change with each new object creation
            HitPoints = HitDice.Roll();
        }