New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversion of obj/item/fish
into /obj/item/reagent_container/food/fish
and addition of fish oil
#14857
Conversion of obj/item/fish
into /obj/item/reagent_container/food/fish
and addition of fish oil
#14857
Conversation
…nto Fish_refactor
… the chem extractor
Apparently, two fish are given properties reserved for materials, which threw an error duribg the bot tests. Will fix that this evening. |
You're welcome to remove those properties, they're a failed attempt to make those fish burn in engine furnaces. |
…nto Fish_refactor
…nto Fish_refactor
this will need changes in allowed_item of wall trophy since #14642 was merged |
Alright, i gonna take care of it, thanks for the information! |
[Catering][Hydroponics][Chemistry][Code-Quality][Rework]
About the PR
This PR consists of three parts
The first part consists of moving
obj/item/fish
into a subtype ofobj/item/reagent_container/food/fish
. This allows fish to use the slicing behaviour already avaible for theobj/item/reagent_container/food/
parent. To accomodate for the new sliced results,process_sliced_products
on the created slice will only be applied if it the resulting slice is of typeobj/item/reagent_container/food/
as well.The second part is that fish now, because they can hold reagents and have them able to be handled properly, get a new innate chemical: fish oil
Fish oil is a light nutrious foodchem that tries to stabilize the blood level of the user. It's a reference to omega-3 fatty acids being helpfull in controlling the blood pressure.
Currently, each fish spawns with 10u of fish oil. This can be changed for specific fish by overwriting the newly added
make_reagents
proc. Also, fish is now able to be injected with chemicals via syringes and are able to be stuffed in the chem extractor.This fixes #11181
The third part consists of work on the wholetuna cordata plant mutation, since, through the newfound ability of fish to hold chems, now need to account for that. Various changes were made:
HYPon_mutation_general
andHYPon_mutation_pot
HYPsetup_DNA
proc from botany fish was moved to the parent.In this PR, fillet slicing behaviour was also changed to use the slicing behaviour of its parent. Else it wouldnt carry along fish oil to the fillet slices.
Why's this needed?
Currently, different fish do very hardly deviate from another and offer minor mechanical reward besides fishing currency. This PR enables other PR's to offer chemicals to anglers as a reward for fishing in uncommon areas. An additional upside is that this enables coders to lock away chemical recipes behind fishing, which is another method to discourage mass production of problematic chems to be able to enable new recipes. Personally, i look forward in seeing chemists working with the angler to get a T2 rod to go to fish in some lava for a chem they want to play with.
Additionally, the move to the parent of
obj/item/reagent_container/food
and the use of its slicing behaviour removes the need to copy/paste its own slicing behaviour.The inert gene strain for the wholetuna plant firstly makes it able for botanists to make rather safe produce even with splices in the mix. Also, since the base plant has mercury as its base chem, this gene strain prevents botany fish to be utterly unuseable for the chef. The 5% chance to still spawn with chemicals is a little reference on ocean fish, like tuna, accumulating mercury along the food chain. This also keeps botany on their toes a bit :)
Changelog