mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
Adds the Death Sandwich to the game (#75013)
## About The Pull Request Adds the Death Sandwich to the game, the ultimate form of bread-conveyed-meat-based consumables.  And remember; Eat it right, or you die! ## Why It's Good For The Game I'm genuinely surprised we don't already have a meatball sub in the game also I love humor food, and I doubt my edition of the Eggcellent Challenge would ever be merged if I tried to do so, so this is the next best thing. ## Changelog 🆑 Wallem add: The ancient recipe for the Death Sandwich has been rediscovered buried in the deepest depths of an erupting volcano. /🆑
This commit is contained in:
@@ -208,6 +208,7 @@ GLOBAL_LIST_INIT(uncommon_loot, list(//uncommon: useful items
|
||||
/obj/item/stock_parts/cell/high = 1,
|
||||
/obj/item/storage/box/clown = 1,
|
||||
/obj/item/weaponcrafting/receiver = 1,
|
||||
/obj/item/book/granter/crafting_recipe/death_sandwich = 1,
|
||||
) = 8,
|
||||
|
||||
list(//medical and chemicals
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
/datum/disease/death_sandwich_poisoning
|
||||
name = "Death Sandwich Poisoning"
|
||||
desc = "If left untreated the subject will ultimately perish."
|
||||
form = "Condition"
|
||||
spread_text = "Unknown"
|
||||
max_stages = 3
|
||||
cure_text = "Anacea" // I ain't about to make a second sandwich to counteract the first one, so closest thing I'm going for is this.
|
||||
cures = list(/datum/reagent/toxin/anacea)
|
||||
cure_chance = 4
|
||||
agent = "eating the Death Sandwich wrong"
|
||||
viable_mobtypes = list(/mob/living/carbon/human)
|
||||
severity = DISEASE_SEVERITY_DANGEROUS
|
||||
disease_flags = CURABLE
|
||||
spread_flags = DISEASE_SPREAD_SPECIAL
|
||||
visibility_flags = HIDDEN_SCANNER
|
||||
bypasses_immunity = TRUE
|
||||
|
||||
|
||||
/datum/disease/death_sandwich_poisoning/stage_act(seconds_per_tick, times_fired)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
|
||||
switch(stage)
|
||||
if(1)
|
||||
if(SPT_PROB(1.5, seconds_per_tick))
|
||||
affected_mob.emote("cough")
|
||||
if(SPT_PROB(0.5, seconds_per_tick))
|
||||
affected_mob.emote("gag")
|
||||
if(SPT_PROB(0.5, seconds_per_tick))
|
||||
affected_mob.adjustToxLoss(5)
|
||||
if(2)
|
||||
if(SPT_PROB(5, seconds_per_tick))
|
||||
affected_mob.emote("cough")
|
||||
if(SPT_PROB(2.5, seconds_per_tick))
|
||||
affected_mob.emote("gag")
|
||||
if(SPT_PROB(1, seconds_per_tick))
|
||||
to_chat(affected_mob, span_danger("Your body feels hot!"))
|
||||
if(prob(20))
|
||||
affected_mob.take_bodypart_damage(burn = 1)
|
||||
if(SPT_PROB(3, seconds_per_tick))
|
||||
affected_mob.adjustToxLoss(10)
|
||||
|
||||
if(3)
|
||||
if(SPT_PROB(5, seconds_per_tick))
|
||||
affected_mob.emote("gag")
|
||||
if(SPT_PROB(10, seconds_per_tick))
|
||||
affected_mob.emote("gasp")
|
||||
if(SPT_PROB(2.5, seconds_per_tick))
|
||||
affected_mob.vomit(20, TRUE)
|
||||
if(SPT_PROB(2.5, seconds_per_tick))
|
||||
to_chat(affected_mob, span_danger("Your body feels hot!"))
|
||||
if(prob(60))
|
||||
affected_mob.take_bodypart_damage(burn = 2)
|
||||
if(SPT_PROB(6, seconds_per_tick))
|
||||
affected_mob.adjustToxLoss(15)
|
||||
if(SPT_PROB(1.5, seconds_per_tick))
|
||||
to_chat(affected_mob, span_danger("You try to scream, but nothing comes out!"))
|
||||
affected_mob.set_silence_if_lower(5 SECONDS)
|
||||
|
||||
@@ -241,3 +241,39 @@
|
||||
foodtypes = GRAIN | MEAT | DAIRY | VEGETABLES
|
||||
food_flags = FOOD_FINGER_FOOD
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
/obj/item/food/death_sandwich
|
||||
name = "death sandwich"
|
||||
desc = "Eat it right, or you die!"
|
||||
icon = 'icons/obj/food/burgerbread.dmi'
|
||||
icon_state = "death_sandwich"
|
||||
food_reagents = list(
|
||||
/datum/reagent/consumable/nutriment = 8,
|
||||
/datum/reagent/consumable/nutriment/protein = 14,
|
||||
/datum/reagent/consumable/nutriment/vitamin = 6,
|
||||
)
|
||||
tastes = list("bread" = 1, "meat" = 1, "tomato sauce" = 1, "death" = 1)
|
||||
foodtypes = GRAIN | MEAT
|
||||
food_flags = FOOD_FINGER_FOOD
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
eat_time = 4 SECONDS // Makes it harder to force-feed this to people as a weapon, as funny as that is.
|
||||
|
||||
///Override for checkliked callback
|
||||
/obj/item/food/death_sandwich/make_edible()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/edible, check_liked = CALLBACK(src, PROC_REF(check_liked)))
|
||||
|
||||
///Eat it right, or you die.
|
||||
/obj/item/food/death_sandwich/proc/check_liked(fraction, mob/living/carbon/human/consumer)
|
||||
/// Closest thing to a mullet we have
|
||||
if(consumer.hairstyle == "Gelled Back" && istype(consumer.get_item_by_slot(ITEM_SLOT_ICLOTHING), /obj/item/clothing/under/rank/civilian/cookjorts))
|
||||
return FOOD_LIKED
|
||||
// I thought it didn't make sense for it to instantly kill you, so instead enjoy shitloads of toxin damage per bite.
|
||||
balloon_alert(consumer, "ate it wrong!")
|
||||
consumer.ForceContractDisease(new/datum/disease/death_sandwich_poisoning())
|
||||
|
||||
/obj/item/food/death_sandwich/suicide_act(mob/living/user)
|
||||
user.visible_message(span_suicide("[user] starts to shove [src] down [user.p_their()] throat the wrong way. It looks like [user.p_theyre()] trying to commit suicide!"))
|
||||
qdel(src)
|
||||
user.gib(TRUE, TRUE, TRUE)
|
||||
return MANUAL_SUICIDE
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
/obj/item/book/granter/crafting_recipe/death_sandwich
|
||||
name = "\improper SANDWICH OF DEATH SECRET RECIPE"
|
||||
desc = "An ancient composition notebook with the instructions for an ancient and ultimate sandwich scrawled upon its looseleaf pages. The title has been scrawled onto it with permanent marker."
|
||||
crafting_recipe_types = list(
|
||||
/datum/crafting_recipe/food/death_sandwich
|
||||
)
|
||||
icon_state = "cooking_learning_sandwich"
|
||||
remarks = list(
|
||||
"A meatball sub, but what makes it so special?",
|
||||
"I just need to grease back my hair...?",
|
||||
"What kind of ancient civilization wore jorts?",
|
||||
"So it DOES matter what angle you fold the salami in...",
|
||||
)
|
||||
|
||||
/obj/item/book/granter/crafting_recipe/death_sandwich/recoil(mob/living/user)
|
||||
to_chat(user, span_warning("The book comically explodes in your hands, leaving no trace."))
|
||||
qdel(src)
|
||||
@@ -115,3 +115,15 @@
|
||||
)
|
||||
result = /obj/item/food/philly_cheesesteak
|
||||
category = CAT_SANDWICH
|
||||
|
||||
/datum/crafting_recipe/food/death_sandwich
|
||||
name = "Death Sandwich"
|
||||
always_available = FALSE
|
||||
reqs = list(
|
||||
/obj/item/food/breadslice/plain = 2,
|
||||
/obj/item/food/salami = 4,
|
||||
/obj/item/food/meatball = 4,
|
||||
/obj/item/food/grown/tomato = 1,
|
||||
)
|
||||
result = /obj/item/food/death_sandwich
|
||||
category = CAT_SANDWICH
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
@@ -1086,6 +1086,7 @@
|
||||
#include "code\datums\diseases\brainrot.dm"
|
||||
#include "code\datums\diseases\cold.dm"
|
||||
#include "code\datums\diseases\cold9.dm"
|
||||
#include "code\datums\diseases\death_sandwich_poisoning.dm"
|
||||
#include "code\datums\diseases\decloning.dm"
|
||||
#include "code\datums\diseases\dna_spread.dm"
|
||||
#include "code\datums\diseases\fake_gbs.dm"
|
||||
@@ -1973,6 +1974,7 @@
|
||||
#include "code\game\objects\items\granters\crafting\bone_notes.dm"
|
||||
#include "code\game\objects\items\granters\crafting\cannon.dm"
|
||||
#include "code\game\objects\items\granters\crafting\combat_baking.dm"
|
||||
#include "code\game\objects\items\granters\crafting\death_sandwich.dm"
|
||||
#include "code\game\objects\items\granters\crafting\desserts.dm"
|
||||
#include "code\game\objects\items\granters\crafting\pipegun.dm"
|
||||
#include "code\game\objects\items\granters\crafting\regal_condor.dm"
|
||||
|
||||
Reference in New Issue
Block a user