[eLIB] means that the mod is meant for for modders. More info here.
Note: This mod is still being updated, to find the latest version download ExpandedFactions. Lists of buildings are found inside the LIBracemod folder.
Who does this affect?
If you're building a new racemod, and you are using a unique RaceClassification tag in the raceconfig (something other than Fallen or Men), this affects you.
It was discovered that certain core buildings lacked any technology or race prerequisite. The only prerequisite they had was for Allegiance, which is for Empire or Kingdom. Unfortunately, this forced all races to include the standard buildings. In essence, all factions were FORCED to include certain core buildings, they were not replacable. Bad news for the modders. What's worse is, modders were beginning to use a solution that had bad consequences for other racemods.
What does the library do?
First, it forces the prerequisite for race:Men and race:Empire for non-technology default buildings where applicable. This means that if this library is used by any one racemod, every other racemod that uses a unique RaceClassification tag will need to adapt to the changed circumstance. The mod effectively removes all non-technology buildings from your race, if you have a unique RaceClassification.
Second, the mod provides a reasonably easy way for you to bring these back.
What buildings are affected?
The buildings affected are the default buildings that you can build in a town just after spawn. All default resource buildings are also affected. Basically, any building that doesn't require a technology to build. For a full list of buildings affected, scroll to the end of the post.
It is important to note that the library only affects non-technology buildings. Buildings with a technology requirement you can already modify by changing your techtree.
Wait... so you're breaking my mod, then making me add something to fix it?
Kind of. I prefer to think of it like breaking a window and giving you back the glass shards. You don't need to take the whole window anymore, you can pick and choose which shards you want, and which to throw away. You don't need ALL the default buildings anymore, you can pick and choose which ones you want. This allows you to replace only those buildings you want to replace.
Okay, but why does this need a library?
It is polite. I break something for you, I help fix it. Without a library like this, each racemod with a unique RaceClassification would need to contain a copy of all the affected buildings. This way, you only need to include your own unique improvementtypes, and those that you haven't changed, you can choose to use the default instead. The library is responsible for keeping that up-to-date. If you just want to replace 3 out of 25 buildings, you should only need to maintain those 3 buildings. The library will handle the rest. Note that this means you'll need to update the library after each patch.
Someone's using the library, and it's interfering with my mod! What do I need to do to bring the buildings back?
Your race needs to gain automatic access to several technologies. I will describe the AbilityBonus way here.
As an example, open the following Kingdom Raceconfig: http://thedyinggrounds.com/Elemental/racelib/LIBracemod_ExampleKingdom.xml
Or the Empire raceconfig example: http://thedyinggrounds.com/Elemental/racelib/LIBracemod_ExampleEmpire.xml
First, you need to add an <SelAbilityBonusOption> tag to your raceconfig. It should contain the name of a unique abilitybonus. In the Kingdom example it's called "CPELF_raceconfigabilitybonus". In the empire example it's called "Aloshim_raceconfigabilitybonus".
Second, you need to design the abilitybonusoption. See the example in the link above. This one abilitybonusoption should contain all the techs for all the buildings you want. The example above contains a complete list of all the affected buildings for Kingdom/Empire. If you are interested in adding all those buildings to your race, then leave the list of techs intact. You can also remove those that you do not want to use. The name of the tech should give you a clear idea what building it concerns (after LIBracemod_ it is the same as the official internalname for the improvementtype).
These examples are included in the library for your personal use. They should not be included for the end-user.
What else do I need to know?
- First, you need to inform your users that if they are creating a new raceconfig based on your racemod, they need to include the abilitybonusoption.
- Secondly, you need to be aware that this library includes Huts and Hovels. These buildings upgrade to specific choices, under specific technologies. If you want to replace either the hut or the house, or if you are modifying the technology that relates to building Shanties or Houses, it is a good idea to use your own improvementtypes for both hut/house and hovel/shantie. If you are using a unique house improvementtype (not from the library) you need to use a unique hut improvementtype (not from the library) as well. The same applies to empire.
Where do I download the latest version?
List of affected Empire buildings:
List of affected Kingdom buildings: