Beep Boop IPC booze

This commit is contained in:
Mieszko Jędrzejczak
2016-02-21 13:19:18 +01:00
parent e78bcc6a8c
commit 23d33051fb
5 changed files with 149 additions and 6 deletions
+114
View File
@@ -62,3 +62,117 @@
result = "jackrose"
required_reagents = list("applejack" = 4, "lemonjuice" = 1)
result_amount = 5
// ROBOT ALCOHOL PAST THIS POINT
// WOOO!
/datum/reagent/alkasine //Gloriously copied over from ethanol
name = "Alkasine"
id = "alkasine"
description = "A runny liquid with conductive capacities. Its effects on synthetics are similar to those of alcohol on organics."
reagent_state = LIQUID
color = "#1BB1FF"
process_flags = SYNTHETIC
metabolization_rate = 0.4
can_grow_in_plants = 0 //Alcoholic drinks won't be grown in plants (would "water down" random seed chems too much)
var/datum/martial_art/drunk_brawling/F = new
var/dizzy_adj = 3
var/slurr_adj = 3
var/confused_adj = 2
var/slur_start = 65 //amount absorbed after which mob starts slurring
var/brawl_start = 75
var/confused_start = 130 //amount absorbed after which mob starts confusing directions and sparking
var/collapse_start = 200 //amount absorbed after wich mob starts collapsing
var/braindamage_start = 300 //amount absorbed after which mob starts taking small amount of brain damage
/datum/chemical_reaction/alkasine
name = "Alkasine"
id = "alkasine"
result = "alkasine"
required_reagents = list("lube" = 1, "plasma" = 1, "fuel" = 1)
result_amount = 3
mix_message = "The chemicals mix to create shiny, blue substance."
/datum/reagent/alkasine/on_mob_life(var/mob/living/M as mob, var/alien)
if(!src.data) data = 1
src.data++
var/d = data
// make all the alkasine children work together
for(var/datum/reagent/alkasine/A in holder.reagent_list)
if(isnum(A.data)) d += A.data
M.dizziness += dizzy_adj.
if(d >= slur_start)
if (!M:slurring) M:slurring = 1
M:slurring += slurr_adj
if(d >= brawl_start && ishuman(M))
var/mob/living/carbon/human/H = M
F.teach(H,1)
if(src.volume < 3)
if(H.martial_art == F)
F.remove(H)
if(d >= confused_start && prob(33))
if (!M:confused) M:confused = 1
M.confused = max(M:confused+confused_adj,0)
if (prob(20))
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, M)
s.start()
if(d >= collapse_start && prob(10))
M.emote("collapse")
if(d >= braindamage_start && prob(33))
M.adjustBrainLoss(1)
..()
return
/datum/reagent/alkasine/robottears
name = "Robot Tears"
id = "robottears"
description = "An oily substance that an IPC could technically consider a 'drink'."
reagent_state = LIQUID
color = "#363636"
/datum/chemical_reaction/alkasine/robottears
name = "Robot Tears"
id = "robottears"
result = "robottears"
required_reagents = list("alkasine" = 1, "oil" = 1, "sodawater" = 1)
result_amount = 3
mix_message = "The ingredients combine into a stiff, dark goo."
/datum/reagent/alkasine/trinary
name = "Trinary"
id = "trinary"
description = "A fruit drink meant only for synthetics, however that works."
reagent_state = LIQUID
color = "#adb21f"
/datum/chemical_reaction/alkasine/trinary
name = "Trinary"
id = "trinary"
result = "trinary"
required_reagents = list("alkasine" = 1, "limejuice" = 1, "orangejuice" = 1)
result_amount = 3
mix_message = "The ingredients mix into a colorful substance."
/datum/reagent/alkasine/servo
name = "Servo"
id = "servo"
description = "A drink containing some organic ingredients, but meant only for synthetics."
reagent_state = LIQUID
color = "#5b3210"
/datum/chemical_reaction/alkasine/servo
name = "Servo"
id = "servo"
result = "servo"
required_reagents = list("alkasine" = 2, "cream" = 1, "hot_coco" = 1)
result_amount = 4
mix_message = "The ingredients mix into a dark brown substance."
// ROBOT ALCOHOL ENDS
@@ -223,4 +223,12 @@
icon_state = "sodawater"
New()
..()
reagents.add_reagent("sodawater", 50)
reagents.add_reagent("sodawater", 50)
/obj/item/weapon/reagent_containers/food/drinks/cans/alkasine
name = "Beep's Classic Alkasine"
desc = "A can of IPC booze, however that works."
icon_state = "alkasinecan"
New()
..()
reagents.add_reagent("alkasine", 50)
@@ -31,10 +31,13 @@
if(istype(M,/mob/living/carbon/human))
var/mob/living/carbon/human/H = M
if(!H.check_has_mouth())
user << "Where do you intend to put \the [src]? You don't have a mouth!"
return
M << "\blue You swallow a gulp of [src]."
if(!H.get_species() == "Machine")
user << "Where do you intend to put \the [src]? You don't have a mouth!"
return
else
M << "\blue You pour a bit of liquid from [src] into your connection port."
else
M << "\blue You swallow a gulp of [src]."
if(reagents.total_volume)
reagents.reaction(M, INGEST)
spawn(0)
@@ -45,7 +48,7 @@
else if( istype(M, /mob/living/carbon/human) )
var/mob/living/carbon/human/H = M
if(!H.check_has_mouth())
if(!H.check_has_mouth() && !H.get_species() == "Machine")
user << "Where do you intend to put \the [src]? \The [H] doesn't have a mouth!"
return
@@ -564,6 +564,24 @@
icon_state = "patronglass"
name = "Jack Rose"
desc = "Drinking this makes you feel like you belong in a luxury hotel bar during the 1920s."
if("alkasine")
icon_state = "alkasineglass"
name = "Glass of Alkasine"
desc = "The equivalent of alcohol for synthetic crewmembers. They'd find it awful if they had tastebuds too."
if("robottears")
icon_state = "robottearsglass"
name = "Glass of Robot Tears"
desc = "No robots were hurt in the making of this drink."
if("trinary")
icon_state = "trinaryglass"
name = "Glass of Trinary"
desc = "Colorful drink made for synthetic crewmembers. It doesn't seem like it would taste well."
if("servo")
icon_state = "servoglass"
name = "Glass of Servo"
desc = "Chocolate - based drink made for IPCs. Not sure if anyone's actually tried out the recipe."
else
icon_state ="glass_brown"
name = "Glass of ..what?"