Reworks Booze/Soda Dispensers slightly

This commit is contained in:
Unknown
2019-02-13 17:28:24 -06:00
parent 9f6b661be6
commit 93b2b8ba4f
4 changed files with 167 additions and 1 deletions
@@ -264,10 +264,77 @@
dispensable_reagents = list("water", "ice", "milk", "soymilk", "coffee", "tea", "hot_coco", "cola", "spacemountainwind", "dr_gibb", "space_up",
"tonic", "sodawater", "lemon_lime", "grapejuice", "sugar", "orangejuice", "lemonjuice", "limejuice", "tomatojuice", "banana",
"watermelonjuice", "carrotjuice", "potato", "berryjuice")
/var/list/special_reagents2 = list(list(""),
list("bananahonk", "milkshake", "cafe_latte", "cafe_mocha"),
list("triple_citrus", "icecoffe","icetea"))
hack_message = "You change the mode from 'McNano' to 'Pizza King'."
unhack_message = "You change the mode from 'Pizza King' to 'McNano'."
hacked_reagents = list("thirteenloko")
/obj/machinery/chem_dispenser/soda/New()
..()
component_parts = list()
component_parts += new /obj/item/circuitboard/soda(null)
component_parts += new /obj/item/stock_parts/matter_bin(null)
component_parts += new /obj/item/stock_parts/matter_bin(null)
component_parts += new /obj/item/stock_parts/manipulator(null)
component_parts += new /obj/item/stock_parts/capacitor(null)
component_parts += new /obj/item/stock_parts/console_screen(null)
component_parts += new /obj/item/stock_parts/cell/super(null)
RefreshParts()
/obj/machinery/chem_dispenser/soda/upgraded/New()
..()
component_parts = list()
component_parts += new /obj/item/circuitboard/soda(null)
component_parts += new /obj/item/stock_parts/matter_bin/super(null)
component_parts += new /obj/item/stock_parts/matter_bin/super(null)
component_parts += new /obj/item/stock_parts/manipulator/pico(null)
component_parts += new /obj/item/stock_parts/capacitor/super(null)
component_parts += new /obj/item/stock_parts/console_screen(null)
component_parts += new /obj/item/stock_parts/cell/hyper(null)
RefreshParts()
/obj/machinery/chem_dispenser/soda/RefreshParts()
var/i
for(var/obj/item/stock_parts/manipulator/M in component_parts)
for(i=1, i<=M.rating, i++)
dispensable_reagents = sortList(dispensable_reagents | special_reagents2[i])
/obj/machinery/chem_dispenser/soda/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/reagent_containers/glass))
if(panel_open)
to_chat(user, "<span class='notice'>Close the maintenance panel first.</span>")
return
..()
else
..()
if(default_deconstruction_screwdriver(user, "minidispenser-o", "minidispenser", I))
return
if(exchange_parts(user, I))
return
if(istype(I, /obj/item/wrench))
playsound(src, I.usesound, 50, 1)
if(anchored)
anchored = 0
to_chat(user, "<span class='caution'>[src] can now be moved.</span>")
else if(!anchored)
anchored = 1
to_chat(user, "<span class='caution'>[src] is now secured.</span>")
if(panel_open)
if(istype(I, /obj/item/crowbar))
if(beaker)
var/obj/item/reagent_containers/glass/B = beaker
B.forceMove(loc)
beaker = null
default_deconstruction_crowbar(I)
return 1
/obj/machinery/chem_dispenser/beer
icon_state = "booze_dispenser"
name = "booze dispenser"
@@ -276,10 +343,76 @@
max_energy = 100
desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one."
dispensable_reagents = list("ice", "cream", "cider", "beer", "kahlua", "whiskey", "wine", "vodka", "gin", "rum", "tequila", "vermouth", "cognac", "ale", "mead", "synthanol")
/var/list/special_reagents3 = list(list("iced_beer"),
list("irish_cream", "manhattan",),
list("antihol", "synthignon", "bravebull"))
hack_message = "You disable the 'nanotrasen-are-cheap-bastards' lock, enabling hidden and very expensive boozes."
unhack_message = "You re-enable the 'nanotrasen-are-cheap-bastards' lock, disabling hidden and very expensive boozes."
hacked_reagents = list("goldschlager", "patron", "absinthe", "ethanol", "nothing", "sake")
/obj/machinery/chem_dispenser/beer/New()
..()
component_parts = list()
component_parts += new /obj/item/circuitboard/beer(null)
component_parts += new /obj/item/stock_parts/matter_bin(null)
component_parts += new /obj/item/stock_parts/matter_bin(null)
component_parts += new /obj/item/stock_parts/manipulator(null)
component_parts += new /obj/item/stock_parts/capacitor(null)
component_parts += new /obj/item/stock_parts/console_screen(null)
component_parts += new /obj/item/stock_parts/cell/super(null)
RefreshParts()
/obj/machinery/chem_dispenser/beer/upgraded/New()
..()
component_parts = list()
component_parts += new /obj/item/circuitboard/beer(null)
component_parts += new /obj/item/stock_parts/matter_bin/super(null)
component_parts += new /obj/item/stock_parts/matter_bin/super(null)
component_parts += new /obj/item/stock_parts/manipulator/pico(null)
component_parts += new /obj/item/stock_parts/capacitor/super(null)
component_parts += new /obj/item/stock_parts/console_screen(null)
component_parts += new /obj/item/stock_parts/cell/hyper(null)
RefreshParts()
/obj/machinery/chem_dispenser/beer/RefreshParts()
var/i
for(var/obj/item/stock_parts/manipulator/M in component_parts)
for(i=1, i<=M.rating, i++)
dispensable_reagents = sortList(dispensable_reagents | special_reagents3[i])
/obj/machinery/chem_dispenser/beer/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/reagent_containers/glass))
if(panel_open)
to_chat(user, "<span class='notice'>Close the maintenance panel first.</span>")
return
..()
else
..()
if(default_deconstruction_screwdriver(user, "minidispenser-o", "minidispenser", I))
return
if(exchange_parts(user, I))
return
if(istype(I, /obj/item/wrench))
playsound(src, I.usesound, 50, 1)
if(anchored)
anchored = 0
to_chat(user, "<span class='caution'>[src] can now be moved.</span>")
else if(!anchored)
anchored = 1
to_chat(user, "<span class='caution'>[src] is now secured.</span>")
if(panel_open)
if(istype(I, /obj/item/crowbar))
if(beaker)
var/obj/item/reagent_containers/glass/B = beaker
B.forceMove(loc)
beaker = null
default_deconstruction_crowbar(I)
return 1
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -387,7 +387,7 @@
drink_desc = "No relation to a certain rap artist/ actor."
/datum/reagent/consumable/drink/bananahonk
name = "Banana Mama"
name = "Banana Honk"
id = "bananahonk"
description = "A drink from Clown Heaven."
color = "#664300" // rgb: 102, 67, 0