mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-03 05:21:27 +00:00
* This kills the deep fried foods holder. Refactors deep frying to just make the thing edible but still functional. (#71551) ## About The Pull Request Refactors deepfrying, removing the gross Deep Fried Foods Holder Object and replacing it with the edible component. Now, deep frying a food will simply make the item edible directly. This means it's still functional and doesn't become a dead item. This follows the same method that grilling uses when applying its effects. Tweaks grilling a bit so they line up better. Also, silver foods can make grilled items.  I swear this is unrelated to the other 2 fried foods related PRs. I started this a few weeks ago. ## Why It's Good For The Game Tangibly better code (doesn't have to copy a million vars! Less abusable!) at the price of removing a soulful piece of code. Also means that deep frying an item doesn't irreversibly make it unusable / dead. This is sad, but... damn the holder object sucks. Unfortunate side effect is that anything that overrides `attack` to not send signal will *not* be edible when deepfried. Maybe this encourages better signal use? Either that or fried foods can override `pre_attack` to hook directly into eating. I can do that as well. ## Changelog 🆑 Melbert refactor: Refactored deep fried foods. Deep fried foods are still ""usable"" as their normal item, but are just edible. qol: Silver Slime stuff can spawn grilled as well as fried. /🆑 * This kills the deep fried foods holder. Refactors deep frying to just make the thing edible but still functional. Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
24 lines
761 B
Plaintext
24 lines
761 B
Plaintext
/// Makes sure that spawned food has reagents and the edible component (or else it can't be eaten).
|
|
/datum/unit_test/food_edibility_check
|
|
|
|
/datum/unit_test/food_edibility_check/Run()
|
|
var/list/not_food = list(
|
|
/obj/item/food/grown,
|
|
/obj/item/food/grown/mushroom,
|
|
/obj/item/food/clothing,
|
|
/obj/item/food/meat/slab/human/mutant,
|
|
/obj/item/food/grown/shell)
|
|
|
|
var/list/food_paths = subtypesof(/obj/item/food) - not_food
|
|
|
|
for(var/food_path in food_paths)
|
|
var/obj/item/food/spawned_food = allocate(food_path)
|
|
|
|
if(!spawned_food.reagents)
|
|
TEST_FAIL("[food_path] does not have any reagents, making it inedible!")
|
|
|
|
if(!IS_EDIBLE(spawned_food))
|
|
TEST_FAIL("[food_path] does not have the edible component, making it inedible!")
|
|
|
|
qdel(spawned_food)
|