From 9e101af22ee07993d163b18b972bb74d73ccd780 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 1 Mar 2025 20:20:58 +0300 Subject: [PATCH] Added metal food --- .../code/mechanics/metal_cruncher.dm | 4 ++ .../modules/food_and_drinks/metal_food.dm | 63 ++++++++++++++++++ .../recipes/metal_food_recipes.dm | 27 ++++++++ GainStation13/icons/obj/food/metal_food.dmi | Bin 0 -> 789 bytes code/_globalvars/lists/maintenance_loot.dm | 1 + tgstation.dme | 6 +- 6 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 GainStation13/code/modules/food_and_drinks/metal_food.dm create mode 100644 GainStation13/code/modules/food_and_drinks/recipes/metal_food_recipes.dm create mode 100644 GainStation13/icons/obj/food/metal_food.dmi diff --git a/GainStation13/code/mechanics/metal_cruncher.dm b/GainStation13/code/mechanics/metal_cruncher.dm index ef2d5b9d5e..136764899a 100644 --- a/GainStation13/code/mechanics/metal_cruncher.dm +++ b/GainStation13/code/mechanics/metal_cruncher.dm @@ -84,3 +84,7 @@ crunch_value = 15 /obj/item/stack/sheet/mineral/plaswood crunch_value = 15 +/obj/item/stack/sheet/mineral/diamond + crunch_value = 25 + + diff --git a/GainStation13/code/modules/food_and_drinks/metal_food.dm b/GainStation13/code/modules/food_and_drinks/metal_food.dm new file mode 100644 index 0000000000..be4f9954e1 --- /dev/null +++ b/GainStation13/code/modules/food_and_drinks/metal_food.dm @@ -0,0 +1,63 @@ +////////////////////// +//////METAL FOOD////// +////////////////////// + + +/obj/item/metal_food + icon = 'GainStation13/icons/obj/food/metal_food.dmi' + desc = "Looks shiny." + w_class = WEIGHT_CLASS_SMALL + var/crunch_value = 0 // value per bite + var/crunch_left = 2 // means 3 bites left + + +// Maybe I should not put it here or making separate object for that... +/obj/item/metal_food/attack(mob/living/M, mob/living/user) + if(HAS_TRAIT(M, TRAIT_METAL_CRUNCHER)) + if(crunch_value > 0) + if(M == user) + user.visible_message("[user] crunches on some of [src].", "You crunch on some of [src].") + else + M.visible_message("[user] attempts to feed some of [src] to [M].", "[user] attempts to feed some of [src] to [M].") + playsound(M,'sound/items/eatfood.ogg', rand(10,50), 1) + use(1) + M.nutrition += crunch_value + if(crunch_left == 0) + qdel(src) + else + crunch_left -= 1 + else + if(M == user) + user.visible_message("[user] fails to crunch some of [src].", "Your teeth feel sore when you try to crunch on some of [src].") + else + M.visible_message("[user] attempts to feed some of [src] to [M].", "[user] attempts to feed some of [src] to [M].") + return + . = ..() + + +/obj/item/metal_food/Initialize(mapload) + . = ..() + +/obj/item/metal_food/mburger + name = "Metal Burger" + icon_state = "mburger" + crunch_value = 15 + +/obj/item/metal_food/mburger_calorite + name = "Calorite Burger" + icon_state = "mburger_calorite" + crunch_value = 35 + +/obj/item/metal_food/mram + name = "Old RAM module" + desc = "It's an obsolete RAM module. You can see some dust on it and spoiled electronics" + icon_state = "mRAM" + crunch_value = 1 + crunch_left = 4 + +/obj/item/metal_food/mfries + name = "Fried rods" + desc = "It looks like fries, but made out of metal. Can we call it french rods?" + icon_state = "mfrench_rods" + crunch_value = 1 + crunch_left = 9 diff --git a/GainStation13/code/modules/food_and_drinks/recipes/metal_food_recipes.dm b/GainStation13/code/modules/food_and_drinks/recipes/metal_food_recipes.dm new file mode 100644 index 0000000000..29b93e2b99 --- /dev/null +++ b/GainStation13/code/modules/food_and_drinks/recipes/metal_food_recipes.dm @@ -0,0 +1,27 @@ +/datum/crafting_recipe/food/mburger + name = "Metal Burger" + reqs = list( + /obj/item/stack/sheet/mineral/gold = 1, + /obj/item/stack/sheet/mineral/silver = 1, + /obj/item/stack/sheet/metal = 1 + ) + result = /obj/item/metal_food/mburger + subcategory = CAT_MISCELLANEOUS //CAT_BURGER + +/datum/crafting_recipe/food/mburger_calorite + name = "Calotite Burger" + reqs = list( + /obj/item/stack/sheet/mineral/gold = 1, + /obj/item/stack/sheet/mineral/calorite = 1, + /obj/item/stack/sheet/metal = 1 + ) + result = /obj/item/metal_food/mburger_calorite + subcategory = CAT_MISCELLANEOUS //CAT_BURGER + +/datum/crafting_recipe/food/mfries + name = "Fried rods" + reqs = list( + /obj/item/stack/rods = 3 + ) + result = /obj/item/metal_food/mfries + subcategory = CAT_MISCELLANEOUS //CAT_BURGER diff --git a/GainStation13/icons/obj/food/metal_food.dmi b/GainStation13/icons/obj/food/metal_food.dmi new file mode 100644 index 0000000000000000000000000000000000000000..9673c02e167ffa627fff4d8b5eaf3df023a8cf87 GIT binary patch literal 789 zcmV+w1M2*VP) z4&;JA-*G?9XC~H#7Tnz2zP`Sys;d9iS?i()|KyW1Gcy3p005Z)07w7;W&q*c-vBcJ z)z8z(!N$0+w(95UzO}u1^JCrs0004WQchCV=- z0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zi zl2jm5DL1LKC_S|(J~=TbzbLaLRf&r;C9|j)C}qgSnO2mTn+jp0YapmD$kCUenzW+S zyyT4dqWqL%TxyjST>V_YJ_7)+qd@F*UPP+^00FT{L_t(oh3!^hbAm7oZIloPPOwe| z98)TY|Nj>*shktr9k=anpZb)5m%R6qmJ^f;2yg&`ztCs%S%eV((g33Qj1duiqcC9r z5wqtau<(~m7y!LUK@=g;BJq?=82}MQ5z8|lJQb4$DJ!6SaREuP{IP+0O#y6{`LJ>Y zvXMdV>EJa@?JgzBYUL4FXAcIsE0F0l-E7_%+b#2VZhpNl27^2=oxD_RtN`vL z{C#>d9}o}_5Fm(MxJ87wb3q<~55e(xI-P828sA^9D4;6P+rpPXBLdHS!a^B-G9z*{ zo*rVMADi>}+}PkWAl$YfY!Ucmp8FX14;U$kaSI%=Kz=$>+dj_`e+;AF!?*<_Z0Z1^ zARz4chZzeTCj?9lG6dOWK&;8Q0{8hni*V^pS2I^sh+}8^%UB>DuYj|Smut_<-|-YY z0MoByJ}Xq3Kf<&Zx^lLGCHkJ^K$ku!+-|{}g6BrMT&WZI=yr