Exemplo n.º 1
0
        static void createUnarmedCombatMastery()
        {
            var monk    = library.Get <BlueprintCharacterClass>("e8f21e5b58e0569468e420ebea456124");
            var fist1d6 = library.Get <BlueprintFeature>("c3fbeb2ffebaaa64aa38ce7a0bb18fb0");

            var fake_monk_class = library.CopyAndAdd <BlueprintCharacterClass>("e8f21e5b58e0569468e420ebea456124", "FakeNinjjaMonkClassForUnarmedCombatMastery", "");

            ClassToProgression.addClassToFeat(fake_monk_class, new BlueprintArchetype[] {}, ClassToProgression.DomainSpellsType.NoSpells, fist1d6, monk);

            /*var unarmed1d8 = library.Get<BlueprintFeature>("8267a0695a4df3f4ca508499e6164b98");
            *  var unarmed1d10 = library.Get<BlueprintFeature>("f790a36b5d6f85a45a41244f50b947ca");
            *  var unarmed2d6 = library.Get<BlueprintFeature>("b3889f445dbe42948b8bb1ba02e6d949");
            *  var unarmed2d8 = library.Get<BlueprintFeature>("078636a2ce835e44394bb49a930da230");*/

            var improved_unarmed_strike = library.Get <BlueprintFeature>("7812ad3672a4b9a4fb894ea402095167");

            unarmed_combat_mastery = Helpers.CreateFeature("NinjaUnarmedCombatMastery",
                                                           "Unarmed Combat Mastery",
                                                           "A ninja who selects this trick deals damage with her unarmed strikes as if she were a monk of her ninja level –4. If the ninja has levels in monk, this ability stacks with monk levels to determine how much damage she can do with her unarmed strikes.",
                                                           "",
                                                           Helpers.GetIcon("641dc4bbfb8c13b43a879ba9a2e196b3"), //finesse training unarmed
                                                           FeatureGroup.None,
                                                           fist1d6.ComponentsArray
                                                           );
            unarmed_combat_mastery.AddComponents(Helpers.PrerequisiteFeature(improved_unarmed_strike),
                                                 Helpers.Create <FakeClassLevelMechanics.AddFakeClassLevel>(a => { a.fake_class = fake_monk_class; a.value = Helpers.CreateContextValue(AbilityRankType.DamageDiceAlternative); }),
                                                 Helpers.CreateContextRankConfig(ContextRankBaseValueType.ClassLevel, classes: getRogueArray(), type: AbilityRankType.DamageDiceAlternative,
                                                                                 progression: ContextRankProgression.BonusValue, stepLevel: -4, min: 0)
                                                 );
            unarmed_combat_mastery.ReapplyOnLevelUp = true;
        }
Exemplo n.º 2
0
        static public void create()
        {
            var alchemist_class = ResourcesLibrary.TryGetBlueprint <BlueprintCharacterClass>("0937bec61c0dabc468428f496580c721");

            archetype = Helpers.Create <BlueprintArchetype>(a =>
            {
                a.name                 = "ToxicantArchetype";
                a.LocalizedName        = Helpers.CreateString($"{a.name}.Name", "Toxicant");
                a.LocalizedDescription = Helpers.CreateString($"{a.name}.Description", "In lands where poisons are legal and may be openly studied and sold, some alchemists obsess over the myriad ways that poisons and venoms can be applied and delivered. Known as toxicants, these deadly artists induce the production of deadly secretions within their own bodies in order to better inflict crippling conditions upon their foes.");
            });
            Helpers.SetField(archetype, "m_ParentClass", alchemist_class);
            library.AddAsset(archetype, "");

            createPoisonBuffAndPoisonImprovements();
            createToxicSecretionAndPoisonDiscoveries();

            var mutagen             = library.Get <BlueprintFeature>("cee8f65448ce71c4b8b8ca13751dd8ea");
            var throw_anything      = library.Get <BlueprintFeature>("65c538dcfd91930489ad3ab18ad9204b");
            var bombs               = library.Get <BlueprintFeature>("c59b2f256f5a70a4d896568658315b7d");
            var discovery           = library.Get <BlueprintFeatureSelection>("cd86c437488386f438dcc9ae727ea2a6");
            var sneak_attack        = library.Get <BlueprintFeature>("9b9eac6709e1c084cb18c3a366e0ec87");
            var medical_discovery   = library.Get <BlueprintFeatureSelection>("67f499218a0e22944abab6fe1c9eaeee");
            var alchemist_discovery = library.Get <BlueprintFeatureSelection>("cd86c437488386f438dcc9ae727ea2a6");
            var advance_talents     = library.Get <BlueprintFeature>("a33b99f95322d6741af83e9381b2391c");

            var poison_immunity    = library.Get <BlueprintFeature>("202af59b918143a4ab7c33d72c8eb6d5");
            var persistent_mutagen = library.Get <BlueprintFeature>("75ba281feb2b96547a3bfb12ecaff052");


            archetype.RemoveFeatures = new LevelEntry[] { Helpers.LevelEntry(1, mutagen),
                                                          Helpers.LevelEntry(14, persistent_mutagen) };


            archetype.AddFeatures = new LevelEntry[] { Helpers.LevelEntry(1, poison_secretion),
                                                       Helpers.LevelEntry(3, poison_improvement, poison_move_action),
                                                       Helpers.LevelEntry(6, poison_improvement, poison_swift_action),
                                                       Helpers.LevelEntry(9, poison_improvement),
                                                       Helpers.LevelEntry(12, poison_improvement),
                                                       Helpers.LevelEntry(15, poison_improvement),
                                                       Helpers.LevelEntry(18, poison_improvement), };

            alchemist_class.Progression.UIGroups = alchemist_class.Progression.UIGroups.AddToArray(Helpers.CreateUIGroup(poison_secretion, poison_improvement));
            alchemist_class.Progression.UIGroups = alchemist_class.Progression.UIGroups.AddToArray(Helpers.CreateUIGroup(poison_move_action, poison_swift_action));
            alchemist_class.Archetypes           = alchemist_class.Archetypes.AddToArray(archetype);

            medical_discovery.AllFeatures   = medical_discovery.AllFeatures.AddToArray(sticky_posion, celestial_poison, concentrate_poison);
            alchemist_discovery.AllFeatures = alchemist_discovery.AllFeatures.AddToArray(sticky_posion, celestial_poison, concentrate_poison);

            var dispelling_attack = library.Get <BlueprintFeature>("1b92146b8a9830d4bb97ab694335fa7c");

            ClassToProgression.addClassToFeat(archetype.GetParentClass(), new BlueprintArchetype[] { archetype }, ClassToProgression.DomainSpellsType.NoSpells, dispelling_attack, archetype.GetParentClass());

            var greater_mutagen = library.Get <BlueprintFeature>("76c61966afdd82048911f3d63c6fe0bc");
            var cognatogen      = library.Get <BlueprintFeature>("e3f460ea61fcc504183c7d6818bbbf7a");
            var feral_mutagen   = library.Get <BlueprintFeature>("fd5f7b37ab4301c48a88cc196ee5f0ce");

            greater_mutagen.AddComponent(mutagen.PrerequisiteFeature());
            cognatogen.AddComponent(mutagen.PrerequisiteFeature());
            feral_mutagen.AddComponent(mutagen.PrerequisiteFeature());
        }
Exemplo n.º 3
0
        static void createUnarmedStrike()
        {
            var monk         = library.Get <BlueprintCharacterClass>("e8f21e5b58e0569468e420ebea456124");
            var fist1d6_monk = library.Get <BlueprintFeature>("c3fbeb2ffebaaa64aa38ce7a0bb18fb0");

            ClassToProgression.addClassToFeat(archetype.GetParentClass(), new BlueprintArchetype[] { archetype }, ClassToProgression.DomainSpellsType.NoSpells, fist1d6_monk, monk);
            unarmed_strike = library.CopyAndAdd(fist1d6_monk, "IroranPaladin1d6Feature", "");
            unarmed_strike.SetDescription("At 1st level, an Iroran paladin gains Improved Unarmed Strike as a bonus feat. In addition, he gains the unarmed strike monk ability, treating his monk level as his paladin level for calculating his unarmed strike damage.");
        }