Guide to adding new content to CDDA for first time modders

blueprint_requires are checked per tile/expansion, and I don’t think you can use a provides from the main camp or an expansion to satisfy a requires from a different expansion.

Advanced buildings would be welcome in the main game. Specifically, modern smokeless powder should be craftable via a recipe with a roughly 2 week crafting time that would be best done via NPC crafting in a specialty gunpowder mill expansion.

But a logging facility, recycler, or other advanced facility would be fine.

I suppose each of those buildings could include it’s own little solar array and transformer/capacitors. I could take a crack at smokeless powder but I’ll need to do research, the most modern gunpowder production method I know of involves cat urine o.O

Short term, I’d like to start with a fishing dock: It’s simple, a solid food source, and would be a first river type expansion.

Hey so i apologize for reviving this topic however i’ve been searching for hours upon hours and i cant seem to figure out how to do what i want.

I want to rebalance the stats through kills mod thats integrated into the base game, i cant seem to find the files for it in the data or other game folders. And i don’t really know how to make a mod like that manually.

Help would be greatly appreciated.

As far as I can tell, StK is an integrated “mod”, as in it works not on json but on code level instead. You’d need to dig game’s C++ code to understand how it works.

No need to apologize - I’m willing to try to answer your development related questions.

Stats through Kills’ data files are in data/mods/stats_through_kills. Unfortunately, it’s implemented in the C++ code, so that doesn’t get you very far. It does show there is an option STATS_THROUGH_KILLS.

grep'ing through the code for STATS_THROUGH_KILLS gets some hits, and following those leads me to https://github.com/CleverRaven/Cataclysm-DDA/blob/ac95f65dd008750531af8268d8422429c716fcc6/src/avatar.cpp#L1358 through line 1448, which looks to be the main code. It looks like you can change the XP thresholds in the std::array on line 1449.

If you’re feeling really ambitious, you could also convert that static array to a JSON defined array read by an instance of generic_factory, but I’m not sure how comfortable you are with C++. Changing some values and recompiling is relatively straightforward, though. Good luck, and please ask if you need more help!

1 Like