-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Help with development (List of easy jobs)
Here's a list of easy jobs that don't require an extensive knowledge of the game's structure or even the ability to compile the game from sources.
The Guide for First Time Contributors provides some information on editing CDDA's data files for these kinds of simple changes.
NPCs are rather stiff and repetitive. They could use more varied vocabulary.
File:
data/json/npcs/talk_tags.json
Many older terrains yield very generic stuff when deconstructed. Some things could be improved just by adding existing items to the deconstruction (the broken generator could yield a faulty engine for example). Other things could be improved by adding new items that can then be used in more realistic crafting - for example, the refrigerator was changed to yield parts that can be used to make minifridges and minifreezers.
Many old terrain items should really be furniture. Anything where the underlying terrain is important and shouldn't be generic, really: some egregious examples at the time of this writing include fences, consoles, and a bunch of machinery things. This requires obsoleting a terrain object and editing a bunch of map palettes, which is mostly a git grep or notepad++ 'find in files' function, but still takes some finesse.
While they seem boring, these kind of items can have unexpected uses, or can be a source of valuable scrap. When adding them you don't have to cover all possible uses, just put it in and let other contributors be the ones to add the recipe for a toothbrush shiv. Or not, maybe add them in and add the niche uses yourself. Either is cool. Look at the SUS item groups for places for them to spawn.
Collectors books, as seen in book/misc.json, are an example of an item with multiple descriptions. Most books in that file should have similar multiple descriptions, and the same effect could be used to add interesting flavour to nearly any item in the game.
The relatively new requirements
/"LIST"
syntax isn't used much and it is very useful for keeping recipes tidy and easy to update.
For example, vegetable soup lists all the vegetables. Then canned vegetable soup lists all of them again. Then jarred vegetable soup gets another copy. By wrapping it all in a requirement, we could have only one list of vegetables usable for soup, which would be cleaner and easier to manage.
A good example: https://github.com/CleverRaven/Cataclysm-DDA/pull/20611
This is a big and complex issue, but it can be done in small parts. Items need to spawn at something more like real life rates, so that we can implement actual NPC looting to remove items. The only trick is that there was a little rioting and looting before the cataclysm, so stuff like grocery stores should be comparatively empty of anything people buy in an emergency, and houses should be comparatively well stocked. However, stuff like hardware stores and book stores should be fully stocked at pre-cataclysm levels.
Currently, most item groups just choose a single item from a long list of possible items. What we really need are item groups that choose multiple items to "stock shelves" realistically. An extreme example is seen in this PR, and that also shows most of the syntaxes you could use to stock a shelf. A relatively new contributor looking for a big project could pick a particular type of store and try to give it more realistic aisles stocked with things.
There are numerous chemicals and chemical synthesis tools in game that need crazy chemical recipes added to them. If you have a working knowledge of chemistry and want to add some recipes for things we could make, consider adding some synthesis pathways! This PR and this one list the different tool qualities in game for chemistry use. If you need a reagent, just add it to the supplies_reagents_lab item group, which conveniently also lists most of the chemical reagents in the game.
Items in CDDA can have two prices: "price"
is their catalog price before the collapse, used by vending machines and other automated sellers, and "price_postapoc"
, which is an estimate of their value after the Cataclysm. A lot of items only have "price"
, in which case their "price_postapoc"
defaults to the "price"
. This leads to oddities like NPCs selling antiobiotics for $3/pill instead of $300+.
It would be helpful if someone when through data/json/items and adding "price_postapoc"
to everything.
Anyone who can run the game can do this - there are numerous issues on the issue tracker, and some of them have gotten old. It is quite possible that the bug has been fixed without linking the issue due to various reasons, such as the fix not actually being aimed as a fix, or the report being unknown or not well documented enough. If the issue does not have very detailed reproduction steps, it is even helpful to post a comment with better ones and even a save, if the bug still persists, or simply saying you cannot confirm the bug with the information given. This will help the other maintainers of the repo when browsing through issues to easily close them without further input.
Back to the Guide for first time contributors