コード例 #1
0
            static void Postfix(LibraryScriptableObject __instance)
            {
                var self = __instance;

                if (Main.library != null)
                {
                    return;
                }
                Main.library = self;

                EnableGameLogging();

                SafeLoad(LoadCustomPortraits, "Custom Portraits in main portrait selection");

                SafeLoad(Helpers.Load, "Initialization code");

                SafeLoad(Spells.Load, "New spells");

                // Note: needs to be loaded after other spells, so it can offer them as a choice.
                SafeLoad(WishSpells.Load, "Wish spells");

                // Note: needs to run before almost everything else, so they can find the Oracle class.
                // However needs to run after spells are added, because it uses some of them.
                SafeLoad(OracleClass.Load, "Oracle class");

                // Note: spells need to be added before this, because it adds metamagics.
                //
                // It needs to run after new classes too, because SpellSpecialization needs to find
                // all class spell lists.
                SafeLoad(MagicFeats.Load, "Magic feats");

                // Note: needs to run after arcane spells (it uses some of them).
                SafeLoad(Bloodlines.Load, "Bloodlines");

                // Note: needs to run after things that add classes, and after bloodlines in case
                // they allow qualifying for racial prerequisites.
                SafeLoad(FavoredClassBonus.Load, "Favored class bonus, deity selection");

                SafeLoad(Traits.Load, "Traits");

                // Note: needs to run after we create Favored Prestige Class above.
                SafeLoad(PrestigiousSpellcaster.Load, "Prestigious Spellcaster");

                // Note: needs to run after things that add bloodlines.
                SafeLoad(CrossbloodedSorcerer.Load, "Crossblooded Sorcerer");

                // Note: needs to run after things that add martial classes or bloodlines.
                SafeLoad(EldritchHeritage.Load, "Eldritch Heritage");

                // Note: needs to run after crossblooded and spontaneous caster classes,
                // so it can find their spellbooks.
                SafeLoad(ReplaceSpells.Load, "Spell replacement for spontaneous casters");

#if DEBUG
                // Perform extra sanity checks in debug builds.
                SafeLoad(CheckPatchingSuccess, "Check that all patches are used, and were loaded");
                SafeLoad(SaveCompatibility.CheckCompat, "Check save game compatibility");
                Log.Write("Loaded finished.");
#endif

                /*
                 * Ideas for future work:
                 * - More Oracle mysteries/archetypes
                 * - Arcane Savant prestige class (started)
                 * - Warpriest class (started)
                 * - Bloodline mutations
                 * - Shapechange bloodline
                 * - Variant multiclassing
                 * - Spells! So many fun ones (see ArcaneSpells file for a few ideas)
                 * - Ninja Tricks
                 * - Vanishing trick
                 * - Shadow Clone
                 * - Pressure Points
                 * - Rogue talents: ninja trick/ki pool/improved
                 * - Magus Close Range (can use Spellstrike with range touch spells)
                 * - Multiattack
                 *
                 * Things to help Wizards:
                 * - Admixture subschool
                 * - More scrolls in loot/vendors: every spell in game should be purchasable
                 * at appropriate level. (note: IIRC there's another mod that fixes this.)
                 * - Fast study: if you leave a spell slot empty at rest, you can choose a spell
                 * and after 1 minute it'll be memorized.
                 * - Scribe scrolls at rest: tickable option to scribe all unused spells, so
                 * they'll be available for later use? (note: craft items mod seems a better
                 * place for this).
                 * - More spells, especially utility spells.
                 *
                 * Things to help Druids:
                 * - more spells (e.g. fire seeds)
                 * - Planar Wild Shape Feat
                 * - Powerful Shape
                 * - Draconic Druid Archetype
                 */
            }
コード例 #2
0
 public static bool GetInitialized(this LibraryScriptableObject library)
 {
     return(library.GetFieldValue <LibraryScriptableObject, bool>("m_Initialized"));
 }