mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Semi-randomized beer kegs on the Cargo supply shuttle. (#36911)
* homebrew beer kegs * beer on the shuttle * oops forgot smokyroom was a karm chem * some changes * contraband beer * . * Some changes * fix * i always forget the second parenthesis * . * revamps the custom logic * forgot to remove debug value * cold drinks oversight fix * updates does not tip backdoor description * what dilt said
This commit is contained in:
@@ -590,7 +590,7 @@ var/list/cheartstopper = list(/*"potassium_chloride",*/ CHEESYGLOOP) //this stop
|
|||||||
#define ALLNANITES list(NANITES, AUTISTNANITES)
|
#define ALLNANITES list(NANITES, AUTISTNANITES)
|
||||||
#define SUGARS list(SUGAR, CORNSYRUP)
|
#define SUGARS list(SUGAR, CORNSYRUP)
|
||||||
#define GUNKS list(CHEMICAL_WASTE, TOXICWASTE, VOMIT, TOXIN, SOLANINE, RADIUM, MUTAGEN, UNTABLE_MUTAGEN, SPIDERS)
|
#define GUNKS list(CHEMICAL_WASTE, TOXICWASTE, VOMIT, TOXIN, SOLANINE, RADIUM, MUTAGEN, UNTABLE_MUTAGEN, SPIDERS)
|
||||||
#define COLDDRINKS list(ICECOFFEE, ICETEA, ARNOLDPALMER, TONIC, SODAWATER, ICE, COLA, NUKA_COLA, GEOMETER, SPACEMOUNTAINWIND, DR_GIBB, SPACE_UP, LEMON_LIME, LEMONADE, KIRASPECIAL, MILKSHAKE, BROWNSTAR, REWRITER, DIY_SODA)
|
#define COLDDRINKS list(ICECOFFEE, ICETEA, ICED_BEER, ARNOLDPALMER, TONIC, SODAWATER, ICE, COLA, NUKA_COLA, GEOMETER, SPACEMOUNTAINWIND, DR_GIBB, SPACE_UP, LEMON_LIME, LEMONADE, KIRASPECIAL, MILKSHAKE, BROWNSTAR, REWRITER, DIY_SODA)
|
||||||
#define HOTDRINKS list(COFFEE, SOY_LATTE, TEA, GATORMIX, HOT_COCO, HOT_COCO_SUBHUMAN, CREAMY_HOT_COCO) //Blisterol not included as that's medicine, not a warm drink
|
#define HOTDRINKS list(COFFEE, SOY_LATTE, TEA, GATORMIX, HOT_COCO, HOT_COCO_SUBHUMAN, CREAMY_HOT_COCO) //Blisterol not included as that's medicine, not a warm drink
|
||||||
//HOT and COLD drinks defines used for the mint toxin/mint essence checks for tooth pain and shit, maybe you can find another use for it
|
//HOT and COLD drinks defines used for the mint toxin/mint essence checks for tooth pain and shit, maybe you can find another use for it
|
||||||
|
|
||||||
|
|||||||
@@ -114,7 +114,6 @@
|
|||||||
containsdesc = "Contains five empty collectable lunchboxes. A crate for serious lunch connoisseurs"
|
containsdesc = "Contains five empty collectable lunchboxes. A crate for serious lunch connoisseurs"
|
||||||
group = "Hospitality"
|
group = "Hospitality"
|
||||||
|
|
||||||
|
|
||||||
/datum/supply_packs/party
|
/datum/supply_packs/party
|
||||||
name = "Party equipment"
|
name = "Party equipment"
|
||||||
contains = list(/obj/item/weapon/storage/box/drinkingglasses,
|
contains = list(/obj/item/weapon/storage/box/drinkingglasses,
|
||||||
@@ -179,6 +178,25 @@
|
|||||||
group = "Hospitality"
|
group = "Hospitality"
|
||||||
containsdesc = "A starter kit for running a cafe. Includes a hot drinks brewer, two boxes of mugs, and a kettle."
|
containsdesc = "A starter kit for running a cafe. Includes a hot drinks brewer, two boxes of mugs, and a kettle."
|
||||||
|
|
||||||
|
/datum/supply_packs/brewerybeer //safe variant
|
||||||
|
name = "Brewery Beer Keg"
|
||||||
|
contains = list(/obj/structure/reagent_dispensers/brewerybeerkeg)
|
||||||
|
cost = 60
|
||||||
|
containertype = /obj/structure/largecrate
|
||||||
|
containername = "Brewery Beer Keg"
|
||||||
|
group = "Hospitality"
|
||||||
|
containsdesc = "A special beer keg containing a custom flavoured beer, made with effort and dedication in a small town brewery."
|
||||||
|
|
||||||
|
/datum/supply_packs/brewerybeercontraband
|
||||||
|
name = "Off-brand Beer Keg"
|
||||||
|
contains = list(/obj/structure/reagent_dispensers/brewerybeerkeg/contraband)
|
||||||
|
cost = 40
|
||||||
|
containertype = /obj/structure/largecrate
|
||||||
|
containername = "Off-brand Beer Keg"
|
||||||
|
contraband = 1
|
||||||
|
group = "Hospitality"
|
||||||
|
containsdesc = "A beer keg containing the assorted failed brews of experimental small town beer research."
|
||||||
|
|
||||||
/datum/supply_packs/bar
|
/datum/supply_packs/bar
|
||||||
name = "Advanced bartending equipment"
|
name = "Advanced bartending equipment"
|
||||||
contains = list(/obj/structure/closet/crate/flatpack/soda_dispenser,
|
contains = list(/obj/structure/closet/crate/flatpack/soda_dispenser,
|
||||||
|
|||||||
@@ -554,7 +554,7 @@ var/list/discounted_items_of_the_round = list()
|
|||||||
|
|
||||||
/datum/uplink_item/sabotage_tools/does_not_tip_note
|
/datum/uplink_item/sabotage_tools/does_not_tip_note
|
||||||
name = "\"Does Not Tip\" database backdoor"
|
name = "\"Does Not Tip\" database backdoor"
|
||||||
desc = "Lets you add or remove your station to the \"does not tip\" list kept by the Cargo workers at Central Command. Ensures that all pizza orders will be poisoned from the moment the screen flashes red, without giving any obvious hints to such. Appears as a PDA until inspected more closely."
|
desc = "Lets you add or remove your station to the \"does not tip\" list kept by the Cargo workers at Central Command. Ensures that all pizza and beer orders will be poisoned from the moment the screen flashes red, without giving any obvious hints to such. Appears as a PDA until inspected more closely."
|
||||||
item = /obj/item/device/does_not_tip_backdoor
|
item = /obj/item/device/does_not_tip_backdoor
|
||||||
num_in_stock = 1
|
num_in_stock = 1
|
||||||
cost = 10
|
cost = 10
|
||||||
|
|||||||
@@ -375,6 +375,152 @@
|
|||||||
/obj/structure/reagent_dispensers/beerkeg/wrenchable()
|
/obj/structure/reagent_dispensers/beerkeg/wrenchable()
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
/obj/structure/reagent_dispensers/beerkeg/blob_act()
|
||||||
|
explosion(src.loc,0,3,5,7,10)
|
||||||
|
qdel(src)
|
||||||
|
|
||||||
|
/obj/structure/reagent_dispensers/brewerybeerkeg //beer keg with some randomized chems
|
||||||
|
//name and desc are defined in the New() call
|
||||||
|
desc = ""
|
||||||
|
icon = 'icons/obj/objects.dmi'
|
||||||
|
icon_state = "beertankTEMP"
|
||||||
|
amount_per_transfer_from_this = 10
|
||||||
|
var/basechem = BEER
|
||||||
|
var/dangerchance = 0
|
||||||
|
var/goodchance = 50
|
||||||
|
|
||||||
|
/obj/structure/reagent_dispensers/brewerybeerkeg/proc/makerandomkeg()
|
||||||
|
var/list/firstname = list("Old [pick(first_names_male)]'s" = 150, "Granny [pick(first_names_female)]'s" = 150, "The [capitalize(pick(adjectives))]" = 200, "Fancy" = 50, "Supermatter" = 75, "Plasma" = 75, "Scrungulartiy" = 110)
|
||||||
|
var/list/secondname = list("Greyshirt" = 50, "- Formerly Chuck's" = 100, "Loser" = 50, "Imbecile" = 50, "Selects" = 100, "Kit'tens" = 25, "Elysium" = 50, "Cascade" = 50, "Loose" = 50, "Mimes" = 50, "aipleaseprintthelabelhowdoierasetext????" = 70, "Spitoon" = 50, "Liberator" = 50, "Shit-Tronics" = 65)
|
||||||
|
var/list/thirdname = list(", featuring Dante from the Devil May Cry Series" = 25, " & Knuckles" = 10, "" = 965)
|
||||||
|
|
||||||
|
var/selectedfirstname = pickweight(firstname) //safeguards
|
||||||
|
var/selectedsecondname = pickweight(secondname) //only the clownkeg has a chance to not have a second name, so we call for one here just in case
|
||||||
|
|
||||||
|
var/list/safeingredients = list(APPLEJUICE, BANANA, LEMONJUICE, PLUMPHJUICE, WATERMELONJUICE, SUGAR, CORNSYRUP, MINTESSENCE, GARGLEBLASTER, WHISKEY, VODKA, TRIPLESEC, ICE)
|
||||||
|
var/list/specialingredients = list()
|
||||||
|
var/list/dangerousingredients = list(DANS_WHISKEY, POISONBERRYJUICE, BLISTEROL, CHEMICAL_WASTE, VIRUSFOOD, IMPEDREZENE, SALTWATER, SIMPOLINOL, SUX, PWINE, MUTAGEN, PLASMA, VOMIT, CYANIDE, DIAMONDDUST, MERCURY, FROSTOIL, CONDENSEDCAPSAICIN, SILICATE, NEUROTOXIN, DIABEETUSOL, LUBE, MOMMIMILK, PACID, PUNCTUALITE)
|
||||||
|
|
||||||
|
switch(rand(1,520))
|
||||||
|
if(1 to 120)
|
||||||
|
//normal shit
|
||||||
|
specialingredients += list(CARROTJUICE, LIMEJUICE, TOMATOJUICE, ORANGEJUICE, HONEY, MAPLESYRUP)
|
||||||
|
if(121 to 240)
|
||||||
|
//HONK
|
||||||
|
if(prob(50))
|
||||||
|
selectedfirstname = "[pick(clown_names)]'s"
|
||||||
|
else
|
||||||
|
selectedsecondname = pick("Clown", "Honking", "The Unfunny")
|
||||||
|
goodchance = 100
|
||||||
|
specialingredients += list(HONKSERUM, LUBE, BANANA)
|
||||||
|
if(241 to 360)
|
||||||
|
//assorted shit
|
||||||
|
selectedfirstname = pickweight(list("Horny" = 70, "Sneed's" = 110, "The Retarded" = 75, "The Salty" = 25, "Syndicate" = 50, "Tum'mie" = 30, "The Autistic" = 75, "DO NOT REDEEM" = 50, "Slow Moe's" = 50))
|
||||||
|
specialingredients += list(CHILLWAX, HONKSERUM, GYRO, MEDCOFFEE, MONSTERMASH, SPORTDRINK, QUANTUM)
|
||||||
|
if(361 to 480)
|
||||||
|
//medical?
|
||||||
|
selectedfirstname = pickweight(list("Doc Mitchell's" = 10, "Doc [pick(first_names_male)]" = 45, "Doctor's" = 10, "Doc [pick(first_names_female)]" = 45))
|
||||||
|
specialingredients += list(IMIDAZOLINE, INACUSIATE, ETHYLREDOXRAZINE, SPRINKLES, ALLICIN, TANNIC_ACID, OPIUM, THYMOL)
|
||||||
|
if(481 to 520) //hardcoded names
|
||||||
|
switch(rand(1,6))
|
||||||
|
if(1)
|
||||||
|
//meat or CHOESE keg
|
||||||
|
selectedfirstname = "ROID RAT"
|
||||||
|
selectedsecondname = "BULK RATIONS"
|
||||||
|
basechem = null
|
||||||
|
if(prob(50))
|
||||||
|
flags |= NOREACT //50:50 odds for the thing to explode into meat/cheese
|
||||||
|
else
|
||||||
|
desc += " Looks like the contents were just squished inside..."
|
||||||
|
if(prob(50))
|
||||||
|
src.reagents.add_reagent(CLONEXADONE, 166)
|
||||||
|
src.reagents.add_reagent(BLOOD, 830)
|
||||||
|
amount_per_transfer_from_this = 6 //exactly one meat slab per cycle
|
||||||
|
else
|
||||||
|
src.reagents.add_reagent(ENZYME, 110)
|
||||||
|
src.reagents.add_reagent(MILK, 880)
|
||||||
|
amount_per_transfer_from_this = 45 //you know the drill by now
|
||||||
|
if(2)
|
||||||
|
//vomit keg
|
||||||
|
selectedfirstname = "help i'm being forced to work on a beer manufacture"
|
||||||
|
selectedsecondname = "they took my kids last time i tried to escape"
|
||||||
|
basechem = VOMIT
|
||||||
|
safeingredients = list(VOMIT)
|
||||||
|
specialingredients = list(VOMIT)
|
||||||
|
dangerousingredients = list(VOMIT)
|
||||||
|
if(3)
|
||||||
|
//i will not explain myself
|
||||||
|
selectedfirstname = "Slow Moe's"
|
||||||
|
selectedsecondname = "Time to Go-Go"
|
||||||
|
desc += "Ok, here I go..."
|
||||||
|
safeingredients = list(SOYMILK)
|
||||||
|
specialingredients = list(CHILLWAX)
|
||||||
|
dangerousingredients = list(PUNCTUALITE) //it really was time to go-go
|
||||||
|
if(4)
|
||||||
|
//I just wanted an excuse to spawn corgi leather
|
||||||
|
selectedfirstname = "The Dogshit"
|
||||||
|
specialingredients = list(NUTRIMENT)
|
||||||
|
for(var/i=0,i<10,i++)
|
||||||
|
new /obj/item/stack/sheet/animalhide/corgi(src.loc)
|
||||||
|
if(5)
|
||||||
|
//the genius loci of ss13
|
||||||
|
selectedfirstname = "Disco"
|
||||||
|
selectedsecondname = "Elysium"
|
||||||
|
safeingredients = list(ETHANOL)
|
||||||
|
specialingredients = list(ETHANOL)
|
||||||
|
if(prob(50))
|
||||||
|
new /obj/item/device/instrument/trombone(src.loc) //I AM THE CITY (it's the closest we got)
|
||||||
|
else
|
||||||
|
new /obj/item/device/instrument/saxophone(src.loc)
|
||||||
|
new /obj/item/clothing/accessory/tie/horrible(src.loc)
|
||||||
|
if(6)
|
||||||
|
//it's ya boy
|
||||||
|
selectedfirstname = "Uncle Ian's"
|
||||||
|
src.reagents.add_reagent(MINTESSENCE, 250)
|
||||||
|
safeingredients = list(ICE, ICED_BEER)
|
||||||
|
specialingredients = list(ICE, ICED_BEER)
|
||||||
|
dangerousingredients = list(ICE, HOT_COCO) //WHO KNOWS WHAT EVIL LURKS IN THE HEARTS OF MEN...
|
||||||
|
|
||||||
|
name = "[(selectedfirstname)] [(selectedsecondname)][pickweight(thirdname)] beer keg"
|
||||||
|
desc = "Guaranteed quality from [pickweight(firstname)] [pickweight(secondname)] brewery, best before [rand(2300,2540)].[initial(desc)]"
|
||||||
|
color = rgb(rand(75,255),rand(75,255),rand(75,255)) //randomized color in place of assorted random icons
|
||||||
|
|
||||||
|
if(station_does_not_tip) //good luck with your cyanide beer I guess
|
||||||
|
dangerchance = 60
|
||||||
|
desc += " This one doesn't might not be safe to drink."
|
||||||
|
|
||||||
|
if(basechem)
|
||||||
|
for(var/i = 0, i < 4, i++)
|
||||||
|
if(prob(dangerchance))
|
||||||
|
src.reagents.add_reagent(pick(dangerousingredients), rand(125,175))
|
||||||
|
else if(prob(goodchance))
|
||||||
|
src.reagents.add_reagent(pick(specialingredients), rand(125,175))
|
||||||
|
else
|
||||||
|
src.reagents.add_reagent(pick(safeingredients), rand(125,175))
|
||||||
|
reagents.add_reagent(basechem, 1000) //fill the remaining space with beer
|
||||||
|
|
||||||
|
/obj/structure/reagent_dispensers/brewerybeerkeg/New()
|
||||||
|
. = ..()
|
||||||
|
|
||||||
|
makerandomkeg() //selects name, desc, randomized chems, etc
|
||||||
|
|
||||||
|
/obj/structure/reagent_dispensers/brewerybeerkeg/suicide_act(var/mob/living/user)
|
||||||
|
to_chat(viewers(user), "<span class='danger'>[user] is placing \his mouth underneath the keg nozzle and drowning \his sorrows! It looks like \he's trying to commit suicide.</span>")
|
||||||
|
reagents.trans_to(user, amount_per_transfer_from_this)
|
||||||
|
return(SUICIDE_ACT_TOXLOSS)
|
||||||
|
|
||||||
|
/obj/structure/reagent_dispensers/brewerybeerkeg/wrenchable()
|
||||||
|
return 1
|
||||||
|
|
||||||
|
/obj/structure/reagent_dispensers/brewerybeerkeg/blob_act()
|
||||||
|
explosion(src.loc,0,3,5,7,10)
|
||||||
|
qdel(src)
|
||||||
|
|
||||||
|
/obj/structure/reagent_dispensers/brewerybeerkeg/contraband
|
||||||
|
desc = " The results of failed beer science." //extra space is intended
|
||||||
|
dangerchance = 10
|
||||||
|
goodchance = 65
|
||||||
|
|
||||||
/obj/structure/reagent_dispensers/bloodkeg
|
/obj/structure/reagent_dispensers/bloodkeg
|
||||||
name = "old keg"
|
name = "old keg"
|
||||||
desc = "A very old-looking keg. Some red liquid periodically drips from it."
|
desc = "A very old-looking keg. Some red liquid periodically drips from it."
|
||||||
@@ -392,10 +538,6 @@
|
|||||||
/obj/structure/reagent_dispensers/bloodkeg/cultify()
|
/obj/structure/reagent_dispensers/bloodkeg/cultify()
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/structure/reagent_dispensers/beerkeg/blob_act()
|
|
||||||
explosion(src.loc,0,3,5,7,10)
|
|
||||||
qdel(src)
|
|
||||||
|
|
||||||
/obj/structure/reagent_dispensers/virusfood
|
/obj/structure/reagent_dispensers/virusfood
|
||||||
name = "Virus Food Dispenser"
|
name = "Virus Food Dispenser"
|
||||||
desc = "A dispenser of virus food."
|
desc = "A dispenser of virus food."
|
||||||
|
|||||||
Reference in New Issue
Block a user