doc/IN_REPO_MODS.md
Contents
<!-- END doctoc generated TOC please keep comment here to allow auto update -->Cataclysm: Dark Days Ahead is not only moddable, but ships with a number of mods available for users to select from even without having to obtain mods from a third party source.
The benefits of having mods in the repository include:
There are however things that might be expected but are not guaranteed:
There are three primary categories of mods:
The most crucial criteria for a mod to be in the CleverRaven repository is that it has someone acting as a curator. This ensures that there is someone who is keeping an eye out for possible problems with the mod, and helping steer its development so that it continues to develop in accordance with its design purpose. In some rare cases we might treat a mod as an important but optional extension of the game itself, such as for some accessibility or development mods. When that happens, the 'curator' is the developer and contributor team collectively, just as with Dark Days Ahead itself. We try to do this sparingly, due to the obvious difficulty of pushing volunteers towards tasks they aren't personally interested in.
Furthermore, there are additional criteria:
A mod curator's role is to curate additions to mods and ensure they fit the concept of the mod. Curators are also responsible for at least acknowledging bug reports related to the mod: while curators don't have to personally manage every bugfix, if a bug is reported, the curator should be around to comment and help to find someone to fix it.
It's important to understand that if a mod is in the repository, it is expected that people other than the curator are going to contribute to it, as with anything. On GitHub, mod curators should Approve or Request Changes on PRs to the mod. If the curator has approved it, developers with merge permissions will treat that as a request to merge the changes.
Mods that have no curator or have proven to be consistently some type of maintenance burden are potentially subject to removal. Additionally, mods which had a purpose which is no longer relevant (development mods whose accompanying feature has been finished) will generally be removed once they're no longer deemed necessary. If a curator can't be reached for comment on a bugfix or review on a PR'd change for about a month, and hasn't left any indication of when they'll be back, developers will assume they've left the project, and the mod is orphaned.
Whenever a stable release occurs, mods which no longer qualify for inclusion will be marked 'obsolete'. This doesn't remove them from the repository, but it does prevent it from being used in new worlds (barring additional effort on the part of the player).
While it may be counterintuitive, simply having a mod in the repository increases maintenance burden for the team, even for the people who don't use the mods itself.
Furthermore, mods which are shipped with the game but are not working correctly for whatever reason reflect poorly on the project on the whole. While it might seem 'easy' to fix a mod, the development team is mostly focused on the core game itself. This is why mod curators are necessary.
If the mod otherwise meets inclusion criteria but lacks a curator (i.e. has been declared orphaned), it's as simple as having someone else step forward as the new curator.
Otherwise, it needs to either be made to meet the criteria, or it simply isn't going to be staying in the CleverRaven repository.
Mods that modify existing in-repo mods can be accepted for inclusion; however they must still meet the general mod criteria. A modmod must change the core mod it's modifying enough to create a new curated experience with a particular goal. Sorcerer, which changes Magiclysm's magic-learning system from finding and reading books to killing monsters and leveling up, with additional bonuses depending on specific bloodlines, is acceptable. A mod that simply removed owlbears and golems from the forests would not be. In addition, modmods must have maintainers or be subject to removal.
Finally, modmods must be placed in the rebalance mod category.