Example #1
0
 public void Initialize(ComponentContainer components)
 {
     this.offense        = components.Get <OffenseStats>();
     this.sorcererLevels = components.Get <ClassLevel>();
     this.charisma       = components.Get <AbilityScores>().GetAbility(AbilityScoreTypes.Charisma);
     this.DamageModifier.AddModifier(new DelegateStatModifier(this.DamageModifier.Name, "bonus", () => { return(this.sorcererLevels.Level / 2); }));
 }
Example #2
0
        public virtual void Initialize(ComponentContainer components)
        {
            var skills   = components.Get <SkillRanks>();
            var strategy = components.Get <CharacterStrategy>();

            AssignClassSkill(skills, strategy);
        }
Example #3
0
 public ArmorMovementModifier(ComponentContainer components) : base(StatNames.ArmorMovementPenalty, "Armor Training")
 {
     this.inventory     = components.Get <Inventory>();
     this.training      = components.Get <ArmorTraining>();
     this.movementStats = components.Get <MovementStats>();
     this.Calculation   = CounterArmorMovePenalty;
 }
Example #4
0
        public void Initialize(ComponentContainer components)
        {
            this.components = components;
            var abilities = components.Get <AbilityScores>();

            this.Strength  = abilities.GetAbility(AbilityScoreTypes.Strength);
            this.Dexterity = abilities.GetAbility(AbilityScoreTypes.Dexterity);
            var size = components.Get <SizeStats>();

            this.Size             = size;
            this.inventory        = components.Get <Inventory>();
            this.MeleeAttackBonus = components.Get <MeleeAttackBonus>();
            this.RangeAttackBonus = components.Get <RangeAttackBonus>();

            this.CombatManeuverBonus.AddModifiers(
                new StatisticStatModifier(StatNames.CMB, this.BaseAttackBonus),
                new StatisticStatModifier(StatNames.CMB, this.Strength.ModifierStat),
                size.NegativeSizeModifier
                );

            this.CombatManeuverDefense.AddModifiers(
                new StatisticStatModifier(StatNames.CMB, this.BaseAttackBonus),
                new AbilityStatModifier(this.Strength),
                new AbilityStatModifier(this.Dexterity),
                size.NegativeSizeModifier
                );
        }
Example #5
0
 public void Initialize(ComponentContainer components)
 {
     this.offense          = components.Get <OffenseStats>();
     this.charisma         = components.Get <AbilityScores>().GetAbility(AbilityScoreTypes.Charisma);
     this.sorcererLevel    = components.Get <ClassLevel>();
     this.CriticalModifier = new BasicStat("Heavenly Fire Critical Modifier", 2);
 }
Example #6
0
        public void LeveledUp(ComponentContainer components)
        {
            var bardLevel  = components.Get <ClassLevel>();
            var skillRanks = components.Get <SkillRanks>();

            UpdateSkills(skillRanks, bardLevel.Level);
        }
Example #7
0
 public void Initialize(ComponentContainer components)
 {
     if (baseAbility == null)
     {
         source      = components.Get <ClassLevel>();
         baseAbility = components.Get <AbilityScores>().GetAbility(baseAbilityType);
     }
 }
Example #8
0
 public void Initialize(ComponentContainer components)
 {
     monkLevels     = components.Get <ClassLevel>();
     wisdom         = components.FindStat <AbilityScore>(StatNames.Wisdom);
     inventory      = components.Get <Inventory>();
     monkACModifier = new DelegateStatModifier(StatNames.ArmorClass, "bonus", Modifier);
     components.ApplyStatModifier(monkACModifier);
 }
Example #9
0
        public void Initialize(ComponentContainer components)
        {
            var strength = components.Get <AbilityScores>().GetAbility(AbilityScoreTypes.Strength);

            this.sorcererLevels = components.Get <ClassLevel>();
            strengthModifier    = new DelegateStatModifier(strength.Name, "bonus", this.CalculateStrengthBonus);
            strength.AddModifier(strengthModifier);
        }
Example #10
0
        public void Initialize(ComponentContainer components)
        {
            this.sorcererLevels = components.Get <ClassLevel>();
            var bloodline = components.Get <IDraconicBloodline>();

            this.dragonType = bloodline.DragonType;
            this.charisma   = components.Get <AbilityScores>().GetAbility(AbilityScoreTypes.Charisma);
        }
Example #11
0
 public void Initialize(ComponentContainer components)
 {
     sorcererLevels   = components.Get <ClassLevel>();
     CriticalModifier = new BasicStat("Elemental Ray Critical Modifier", 2);
     elementalType    = components.Get <ElementalType>();
     charisma         = components.Get <AbilityScores>().GetAbility(AbilityScoreTypes.Charisma);
     AttackBonus      = components.Get <OffenseStats>().RangeAttackBonus;
 }
        public void DefaultConstructor()
        {
            var container = new ComponentContainer();

            var exceptionFormatter = container.Get <IExceptionFormatter>();

            Assert.NotNull(exceptionFormatter);
            Assert.Same(exceptionFormatter, container.Get <IExceptionFormatter>());
        }
        public void Constructor_Settings()
        {
            var container = new ComponentContainer(_settingsMock.Object);

            var exceptionFormatter = container.Get <IExceptionFormatter>();

            Assert.NotNull(exceptionFormatter);
            Assert.Same(exceptionFormatter, container.Get <IExceptionFormatter>());
        }
Example #14
0
        public void Initialize(ComponentContainer components)
        {
            var defense       = components.Get <DefenseStats>();
            var elementalType = components.Get <ElementalType>();

            defense.AddImmunity("sneak attacks");
            defense.AddImmunity("critical hits");
            defense.AddImmunity(elementalType.EnergyType);
        }
Example #15
0
        private void SelectSkillFocus(ComponentContainer components)
        {
            var strategy   = components.Get <CharacterStrategy>();
            var skills     = components.Get <SkillRanks>();
            var skillTable = GetSkillTable(skills, strategy);

            DisableOptionsThatAlreadyHaveSkillFocus(skillTable, components.GetAll <SkillFocus>());
            SetSkillFocus(skillTable.ChooseRandomly());
        }
Example #16
0
        public void Initialize(ComponentContainer components)
        {
            sorcerer = components.Get <ClassLevel>();
            var elementType = components.Get <ElementalType>();

            resistance = new EnergyResistance(10, elementType.EnergyType);
            var defense = components.Get <DefenseStats>();

            defense.AddDamageResistance(resistance);
        }
Example #17
0
        public void Initialize(ComponentContainer components)
        {
            this.sourceLevels = components.Get <ClassLevel>();
            var energyType = energyTypes.ChooseOne();

            damageResistance = new EnergyResistance(energyType, CalculateResistance);
            var defense = components.Get <DefenseStats>();

            defense.AddDamageResistance(damageResistance);
        }
Example #18
0
        public void Initialize(ComponentContainer components)
        {
            monkLevels = components.Get <ClassLevel>();
            Weapon     = new UnarmedMonk(this);
            var offense  = components.Get <OffenseStats>();
            var strength = components.Get <AbilityScores>().GetAbility(AbilityScoreTypes.Strength);
            var size     = components.Get <SizeStats>().Size;

            Attack = new MeleeAttack(offense, strength, size, Weapon);
            components.Add(Attack);
        }
Example #19
0
        public void Initialize(ComponentContainer components)
        {
            this.AttackType = AttackTypes.Special;
            saveDC.AddModifier(components.Get <AbilityScores>().GetAbility(AbilityScoreTypes.Wisdom).UniversalStatModifier);
            var monkLevels = components.Get <ClassLevel>();

            saveDC.AddModifier(new DelegateStatModifier(saveDC.Name,
                                                        "Monk Levels",
                                                        () => { return(monkLevels.Level / 2); })
                               );
        }
Example #20
0
        public void Initialize(ComponentContainer components)
        {
            var draconic   = components.Get <IDraconicBloodline>();
            var dragonType = draconic.DragonType;
            var defense    = components.Get <DefenseStats>();

            defense.AddImmunity("paralysis");
            defense.AddImmunity("sleep");
            defense.AddImmunity(dragonType.EnergyType);

            components.Add(new Blindsense(60));
        }
Example #21
0
        public void Initialize(ComponentContainer components)
        {
            var level = components.Get <ClassLevel>();

            poisonResistance = new ConditionalStatModifier(new DelegateStatModifier("saves", "bonus", () => { return(level.Level >= 9 ? 4 : 2); }), "poison");
            damageResistance = new EnergyResistance(5, "electricity");
            var defense = components.Get <DefenseStats>();

            defense.FortitudeSave.AddModifier(poisonResistance);
            defense.ReflexSave.AddModifier(poisonResistance);
            defense.WillSave.AddModifier(poisonResistance);
            defense.AddDamageResistance(damageResistance);
        }
Example #22
0
        public void Initialize(ComponentContainer components)
        {
            var offenseStats  = components.Get <OffenseStats>();
            var abilityScores = components.Get <AbilityScores>();
            var dexterity     = abilityScores.GetAbility(AbilityScoreTypes.Dexterity);
            var sizeStats     = components.Get <SizeStats>();

            baseRangeAttackBonus.AddModifiers(
                new StatisticStatModifier(StatNames.RangeAttackBonus, offenseStats.BaseAttackBonus),
                dexterity.UniversalStatModifier,
                sizeStats.PositiveSizeModifier
                );
        }
Example #23
0
        public void Initialize(ComponentContainer components)
        {
            var classLevel = components.Get <ClassLevel>();

            spellResistance = new DelegateStatModifier(
                "Spell Resistance",
                "base",
                () => { return(10 + classLevel.Level); }
                );
            var def = components.Get <DefenseStats>();

            def.SpellResistance.AddModifier(spellResistance);
        }
Example #24
0
        public void Initialize(ComponentContainer components)
        {
            var offenseStats  = components.Get <OffenseStats>();
            var abilityScores = components.Get <AbilityScores>();
            var strength      = abilityScores.GetAbility(AbilityScoreTypes.Strength);
            var sizeStats     = components.Get <SizeStats>();

            baseMeleeAttackBonus.AddModifiers(
                new StatisticStatModifier(StatNames.MeleeAttackBonus, offenseStats.BaseAttackBonus),
                new AbilityStatModifier(strength),
                sizeStats.PositiveSizeModifier
                );
        }
Example #25
0
        public void Initialize(ComponentContainer components)
        {
            sourceLevel        = components.Get <ClassLevel>();
            skillBonusModifier = new DelegateStatModifier(
                "Interaction Skills",
                "enhancement",
                () => { return(2 + (sourceLevel.Level / 5)); }
                );
            var skills = components.Get <SkillRanks>();

            skills.GetSkill("bluff").AddModifier(skillBonusModifier);
            skills.GetSkill("diplomacy").AddModifier(skillBonusModifier);
            skills.GetSkill("intimidate").AddModifier(skillBonusModifier);
        }
Example #26
0
 public void Initialize(ComponentContainer components)
 {
     sourceClass    = components.Get <ClassLevel>();
     domains        = components.GetAll <Domain>();
     CastingAbility = components.Get <AbilityScores>().GetAbility(castingAbilityType);
     SpellList      = new SpellList();
     foreach (var d in domains)
     {
         for (int spellLevel = 0; spellLevel < d.Spells.Length; spellLevel++)
         {
             SpellList.Add(spellLevel + 1, d.Spells[spellLevel]);
         }
     }
 }
        public void Constructor_SettingsAndExceptionFormatter()
        {
            var container = new ComponentContainer(_settingsMock.Object, _exceptionFormatterMock.Object);

            var exceptionFormatter = container.Get <IExceptionFormatter>();
            var settings           = container.Get(typeof(INinjectSettings));

            Assert.NotNull(exceptionFormatter);
            Assert.Same(_exceptionFormatterMock.Object, exceptionFormatter);
            Assert.Same(exceptionFormatter, container.Get <IExceptionFormatter>());

            Assert.NotNull(settings);
            Assert.Same(_settingsMock.Object, settings);
            Assert.Same(settings, container.Get(typeof(INinjectSettings)));
        }
Example #28
0
 public void Initialize(ComponentContainer components)
 {
     if (baseAbility == null)
     {
         baseAbility = components.Get <AbilityScores>().GetAbility(baseAbilityType);
     }
 }
Example #29
0
        public void Initialize(ComponentContainer components)
        {
            this.components = components;
            var abilityScores = components.Get <AbilityScores>();

            roundsPerDay.AddModifier(abilityScores.GetStatModifier(AbilityScoreTypes.Charisma));
            var bardLevel = components.Get <ClassLevel>();

            roundsPerDay.AddModifier(
                new DelegateStatModifier(
                    roundsPerDay.Name,
                    "level-up",
                    () => { return((bardLevel.Level - 1) * 2); }
                    )
                );
        }
Example #30
0
        public void Execute(ComponentContainer components)
        {
            var bloodline = components.Get <Bloodline>();
            var arcana    = bloodline.BloodlineArcana.Instantiate <BloodlineArcana>();

            components.Add(arcana);
        }