diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm
index e9c1bd70d0a..d9ccc2e5b7e 100644
--- a/code/datums/helper_datums/getrev.dm
+++ b/code/datums/helper_datums/getrev.dm
@@ -4,7 +4,7 @@
*
*/
-var/global/datum/getrev/revdata = new("config/svndir.txt")
+var/global/datum/getrev/revdata // = new("config/svndir.txt") //commented out until the git revcount stuff is ready
//Oh yeah, I'm an OOP fag, lalala
/datum/getrev
@@ -90,11 +90,11 @@ var/global/datum/getrev/revdata = new("config/svndir.txt")
client/verb/showrevinfo()
set category = "OOC"
set name = "Show Server Revision"
- var/output = "Sorry, the revision info is unavailable."
+ var/output = "Sorry, the revision info is unavailable.
"
if(revdata)
output = revdata.showInfo()
- output += "Current Infomational Settings:
"
- output += "Protect Authority Roles From Tratior: [config.protect_roles_from_antagonist]
"
+ output += "Current Infomational Settings:
"
+ output += "Protect Authority Roles From Tratior: [config.protect_roles_from_antagonist]
"
usr << browse(output,"window=revdata");
return
diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm
index ad64713c8df..f1995865c6e 100644
--- a/code/game/machinery/bots/cleanbot.dm
+++ b/code/game/machinery/bots/cleanbot.dm
@@ -224,7 +224,7 @@ text("[src.oddbutton ? "Yes" : "No"
if (!next_dest_loc)
next_dest_loc = closest_loc
if (next_dest_loc)
- src.patrol_path = AStar(src.loc, next_dest_loc, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 120, id=botcard, exclude=null)
+ src.patrol_path = AStar(src.loc, next_dest_loc, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 120, id=botcard, exclude=null)
if(!patrol_path)
patrol_path = list()
else
diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm
index a07da54e0c1..c8ccb1c924b 100644
--- a/code/game/machinery/bots/ed209bot.dm
+++ b/code/game/machinery/bots/ed209bot.dm
@@ -614,7 +614,7 @@ Auto Patrol: []"},
// calculates a path to the current destination
// given an optional turf to avoid
/obj/machinery/bot/ed209/proc/calc_path(var/turf/avoid = null)
- src.path = AStar(src.loc, patrol_target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 120, id=botcard, exclude=avoid)
+ src.path = AStar(src.loc, patrol_target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 120, id=botcard, exclude=avoid)
if(!src.path)
src.path = list()
diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm
index 807d8cb57d8..e91a2b42bde 100644
--- a/code/game/machinery/bots/medbot.dm
+++ b/code/game/machinery/bots/medbot.dm
@@ -299,7 +299,7 @@
if(src.patient && src.path.len == 0 && (get_dist(src,src.patient) > 1))
spawn(0)
- src.path = AStar(src.loc, get_turf(src.patient), /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 30,id=botcard)
+ src.path = AStar(src.loc, get_turf(src.patient), /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 30,id=botcard)
if(!src.path)
src.path = list()
if(src.path.len == 0)
diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm
index b28be073d3e..8f56a805db5 100644
--- a/code/game/machinery/bots/mulebot.dm
+++ b/code/game/machinery/bots/mulebot.dm
@@ -646,7 +646,7 @@ var/global/mulebot_count = 0
// calculates a path to the current destination
// given an optional turf to avoid
/obj/machinery/bot/mulebot/proc/calc_path(var/turf/avoid = null)
- src.path = AStar(src.loc, src.target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 250, id=botcard, exclude=avoid)
+ src.path = AStar(src.loc, src.target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 250, id=botcard, exclude=avoid)
if(!src.path)
src.path = list()
diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm
index 4dcc2d60601..23a0a245c88 100644
--- a/code/game/machinery/bots/secbot.dm
+++ b/code/game/machinery/bots/secbot.dm
@@ -552,7 +552,7 @@ Auto Patrol: []"},
// calculates a path to the current destination
// given an optional turf to avoid
/obj/machinery/bot/secbot/proc/calc_path(var/turf/avoid = null)
- src.path = AStar(src.loc, patrol_target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 120, id=botcard, exclude=avoid)
+ src.path = AStar(src.loc, patrol_target, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance_cardinal, 0, 120, id=botcard, exclude=avoid)
if(!src.path)
src.path = list()
diff --git a/code/game/objects/items/weapons/airlock_painter.dm b/code/game/objects/items/weapons/airlock_painter.dm
new file mode 100644
index 00000000000..12a902de928
--- /dev/null
+++ b/code/game/objects/items/weapons/airlock_painter.dm
@@ -0,0 +1,40 @@
+/obj/item/weapon/airlock_painter
+ name = "airlock painter"
+ desc = "This device can change the paintjob of an airlock assembly."
+ icon = 'icons/obj/objects.dmi'
+ icon_state = "paint sprayer"
+ item_state = "paint sprayer"
+
+ w_class = 2.0
+
+ m_amt = 50
+ g_amt = 50
+ origin_tech = "engineering=1"
+
+ flags = FPRINT | TABLEPASS| CONDUCT
+ slot_flags = SLOT_BELT
+
+ var/obj/item/device/toner/ink = null
+
+ New()
+ ink = new /obj/item/device/toner(src)
+
+ proc/use()
+ if(!ink || ink.charges < 1)
+ return 0
+ else
+ ink.charges--
+ return 1
+
+ examine()
+ set src in usr
+ var/ink_level = "high"
+ if(!ink || ink.charges < 1)
+ ink_level = "empty"
+ else if((ink.charges/ink.max_charges) <= 0.25) //25%
+ ink_level = "low"
+ else if((ink.charges/ink.max_charges) > 1) //Over 100% (admin var edit)
+ ink_level = "dangerously high"
+ usr << "\icon[src] [src.name] is a small but effective airlock painting tool. Its ink levels look [ink_level]."
+ return
+
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index dcf8a36c987..3da595321e0 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -7,6 +7,8 @@ obj/structure/door_assembly
density = 1
var/state = 0
var/mineral = null
+ var/typetext = null
+ var/icontext = null
var/base_icon_state = "door_as_0"
var/glass_base_icon_state = "door_as_g0"
var/obj/item/weapon/airlock_electronics/electronics = null
@@ -31,6 +33,8 @@ obj/structure/door_assembly
name = "Command Airlock Assembly"
icon_state = "door_as_com1"
glass_base_icon_state = "door_as_gcom"
+ typetext = "command"
+ icontext = "com"
glass_type = /obj/machinery/door/airlock/glass_command
airlock_type = /obj/machinery/door/airlock/command
anchored = 1
@@ -46,6 +50,8 @@ obj/structure/door_assembly
name = "Security Airlock Assembly"
icon_state = "door_as_sec1"
glass_base_icon_state = "door_as_gsec"
+ typetext = "security"
+ icontext = "sec"
glass_type = /obj/machinery/door/airlock/glass_security
airlock_type = /obj/machinery/door/airlock/security
anchored = 1
@@ -61,6 +67,8 @@ obj/structure/door_assembly
name = "Engineering Airlock Assembly"
icon_state = "door_as_eng1"
glass_base_icon_state = "door_as_geng"
+ typetext = "engineering"
+ icontext = "eng"
glass_type = /obj/machinery/door/airlock/glass_engineering
airlock_type = /obj/machinery/door/airlock/engineering
anchored = 1
@@ -76,6 +84,8 @@ obj/structure/door_assembly
name = "Mining Airlock Assembly"
icon_state = "door_as_min1"
glass_base_icon_state = "door_as_gmin"
+ typetext = "mining"
+ icontext = "min"
glass_type = /obj/machinery/door/airlock/glass_mining
airlock_type = /obj/machinery/door/airlock/mining
anchored = 1
@@ -91,6 +101,8 @@ obj/structure/door_assembly
name = "Atmospherics Airlock Assembly"
icon_state = "door_as_atmo1"
glass_base_icon_state = "door_as_gatmo"
+ typetext = "atmos"
+ icontext = "atmo"
glass_type = /obj/machinery/door/airlock/glass_atmos
airlock_type = /obj/machinery/door/airlock/atmos
anchored = 1
@@ -106,6 +118,8 @@ obj/structure/door_assembly
name = "Research Airlock Assembly"
icon_state = "door_as_res1"
glass_base_icon_state = "door_as_gres"
+ typetext = "research"
+ icontext = "res"
glass_type = /obj/machinery/door/airlock/glass_research
airlock_type = /obj/machinery/door/airlock/research
anchored = 1
@@ -121,6 +135,8 @@ obj/structure/door_assembly
name = "Science Airlock Assembly"
icon_state = "door_as_sci1"
glass_base_icon_state = "door_as_gsci"
+ typetext = "science"
+ icontext = "sci"
glass_type = /obj/machinery/door/airlock/glass_science
airlock_type = /obj/machinery/door/airlock/science
anchored = 1
@@ -135,6 +151,8 @@ obj/structure/door_assembly
door_assembly_med
name = "Medical Airlock Assembly"
icon_state = "door_as_med1"
+ typetext = "medical"
+ icontext = "med"
airlock_type = /obj/machinery/door/airlock/medical
anchored = 1
density = 1
@@ -147,6 +165,8 @@ obj/structure/door_assembly
door_assembly_mai
name = "Maintenance Airlock Assembly"
icon_state = "door_as_mai1"
+ typetext = "maintenance"
+ icontext = "mai"
airlock_type = /obj/machinery/door/airlock/maintenance
anchored = 1
density = 1
@@ -156,6 +176,8 @@ obj/structure/door_assembly
door_assembly_ext
name = "External Airlock Assembly"
icon_state = "door_as_ext1"
+ typetext = "external"
+ icontext = "ext"
airlock_type = /obj/machinery/door/airlock/external
anchored = 1
density = 1
@@ -165,6 +187,8 @@ obj/structure/door_assembly
door_assembly_fre
name = "Freezer Airlock Assembly"
icon_state = "door_as_fre1"
+ typetext = "freezer"
+ icontext = "fre"
airlock_type = /obj/machinery/door/airlock/freezer
anchored = 1
density = 1
@@ -174,6 +198,8 @@ obj/structure/door_assembly
door_assembly_hatch
name = "Airtight Hatch Assembly"
icon_state = "door_as_hatch1"
+ typetext = "hatch"
+ icontext = "hatch"
airlock_type = /obj/machinery/door/airlock/hatch
anchored = 1
density = 1
@@ -183,6 +209,8 @@ obj/structure/door_assembly
door_assembly_mhatch
name = "Maintenance Hatch Assembly"
icon_state = "door_as_mhatch1"
+ typetext = "maintenance_hatch"
+ icontext = "mhatch"
airlock_type = /obj/machinery/door/airlock/maintenance_hatch
anchored = 1
density = 1
@@ -274,6 +302,8 @@ obj/structure/door_assembly
door_assembly_highsecurity // Borrowing this until WJohnston makes sprites for the assembly
name = "High Tech Security Assembly"
icon_state = "door_as_highsec1"
+ typetext = "highsecurity"
+ icontext = "highsec"
airlock_type = /obj/machinery/door/airlock/highsecurity
anchored = 1
density = 1
@@ -288,7 +318,87 @@ obj/structure/door_assembly
created_name = t
return
- if(istype(W, /obj/item/weapon/weldingtool) && !anchored )
+ else if(istype(W, /obj/item/weapon/airlock_painter)) // |- Ricotez
+ //INFORMATION ABOUT ADDING A NEW AIRLOCK TO THE PAINT LIST:
+ //If your airlock has a regular version, add it to the list with regular versions.
+ //If your airlock has a glass version, add it to the list with glass versions.
+ //Do NOT add your airlock to a list if it does not have a version for that list,
+ // or you will get broken icons.
+ //If you do this properly, you can just add the typetext and icontext of your airlock
+ // to the big switch without having to make exceptions for glass airlocks, it will
+ // simply be unavailable if the painter is used on an airlock of the wrong type.
+ //If your airlock has both a regular and a glass version, remember to also add the
+ // icontext as exception in the part of the code that deals with turning a regular
+ // airlock into a glass airlock, else your airlock can't transition from regular to
+ // glass and will instead revert back to the white sprite.
+ // |- Ricotez
+ var/obj/item/weapon/airlock_painter/WT = W
+ if(WT.ink.charges)
+ var/icontype
+ var/optionlist
+ var/glasstext = ""
+ var/gicontext = ""
+ if(src.mineral)
+ if(src.mineral == "glass")
+ gicontext = "g"
+ glasstext = "glass_"
+ //These airlocks have a glass version.
+ optionlist = list("Default", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Mining")
+ else
+ user << "The painter does not work on airlocks coated in minerals!"
+ return
+ else
+ //These airlocks have a regular version.
+ optionlist = list("Default", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Mining", "Maintenance", "External", "High Security")
+
+
+ icontype = input(user, "Please select a paintjob for this glass airlock.") in optionlist
+ if(!in_range(src, usr) && src.loc != usr) return
+ switch(icontype)
+ if("Default")
+ if(src.mineral == "glass")
+ glasstext = "glass"
+ typetext = ""
+ icontext = ""
+ if("Engineering")
+ typetext = "engineering"
+ icontext = "eng"
+ if("Atmospherics")
+ typetext = "atmos"
+ icontext = "atmo"
+ if("Security")
+ typetext = "security"
+ icontext = "sec"
+ if("Command")
+ typetext = "command"
+ icontext = "com"
+ if("Medical")
+ typetext = "medical"
+ icontext = "med"
+ if("Research")
+ typetext = "research"
+ icontext = "res"
+ if("Mining")
+ typetext = "mining"
+ icontext = "min"
+ if("Maintenance")
+ typetext = "maintenance"
+ icontext = "mai"
+ if("External")
+ typetext = "external"
+ icontext = "ext"
+ if("High Security")
+ typetext = "highsecurity"
+ icontext = "highsec"
+ src.airlock_type = text2path("/obj/machinery/door/airlock/[glasstext][typetext]")
+ src.base_icon_state = "door_as_[gicontext][icontext]"
+ user << "\blue You change the paintjob on the airlock assembly."
+ WT.use()
+ else
+ user << "\blue There aren't any charges left!"
+ return
+
+ else if(istype(W, /obj/item/weapon/weldingtool) && !anchored )
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.")
@@ -395,8 +505,14 @@ obj/structure/door_assembly
G.use(1)
src.mineral = "glass"
src.name = "Near finished Window Airlock Assembly"
- src.airlock_type = /obj/machinery/door/airlock/glass
- src.base_icon_state = "door_as_g" //this will be applied to the icon_state with the correct state number at the proc's end.
+ if(icontext in list("eng", "atmo", "sec", "com", "med", "res", "min")) //Make sure this airlock actually has a glass version.
+ src.airlock_type = text2path("/obj/machinery/door/airlock/glass_[typetext]")
+ else
+ //This airlock is default or does not have a glass version, so we revert to the default glass airlock. |- Ricotez
+ src.airlock_type = /obj/machinery/door/airlock/glass
+ typetext = ""
+ icontext = ""
+ src.base_icon_state = "door_as_g[icontext]" //this will be applied to the icon_state with the correct state number at the proc's end.
else if(istype(G, /obj/item/stack/sheet/mineral))
var/M = G.sheettype
if(G.amount>=2)
@@ -418,8 +534,18 @@ obj/structure/door_assembly
if(!src) return
user << "\blue You finish the airlock!"
var/obj/machinery/door/airlock/door
+ //The below cluster of if-else-statements is a result of the differences between normal
+ // and mineral doors. |- Ricotez
if (mineral)
- airlock_type = text2path("/obj/machinery/door/airlock/[mineral]")
+ if(mineral == "glass")
+ if(typetext == "")
+ airlock_type = /obj/machinery/door/airlock/glass
+ else
+ airlock_type = text2path("/obj/machinery/door/airlock/glass_[typetext]")
+ else
+ airlock_type = text2path("/obj/machinery/door/airlock/[mineral]")
+ else
+ airlock_type = text2path("/obj/machinery/door/airlock/[typetext]")
door = new src.airlock_type( src.loc )
//door.req_access = src.req_access
door.electronics = src.electronics
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 5eff3e3bc1c..870278d08ae 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -293,6 +293,13 @@
return cost
else
return get_dist(src,t)
+
+// This Distance proc assumes that only cardinal movement is
+// possible. It results in more efficient (CPU-wise) pathing
+// for bots and anything else that only moves in cardinal dirs.
+/turf/proc/Distance_cardinal(turf/t)
+ return abs(src.x - t.x) + abs(src.y - t.y)
+
/turf/proc/AdjacentTurfsSpace()
var/L[] = new()
for(var/turf/t in oview(src,1))
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index ebd7d3127fc..870bbafe1b9 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -399,6 +399,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(w_uniform && istype(w_uniform, /obj/item/clothing/under) )
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
w_uniform.screen_loc = ui_iclothing
+ client.screen += w_uniform
overlays -= overlays_lying[UNIFORM_LAYER]
overlays -= overlays_standing[UNIFORM_LAYER]
var/t_color = w_uniform.color
@@ -456,6 +457,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(wear_id)
if(hud_used && hud_used.hud_shown)
wear_id.screen_loc = ui_id //TODO
+ client.screen += wear_id
overlays -= overlays_lying[ID_LAYER]
overlays -= overlays_standing[ID_LAYER]
overlays_lying[ID_LAYER] = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "id2", "layer" = -ID_LAYER)
@@ -475,6 +477,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(gloves)
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
gloves.screen_loc = ui_gloves
+ client.screen += gloves
overlays -= overlays_lying[GLOVES_LAYER]
overlays -= overlays_standing[GLOVES_LAYER]
var/t_state = gloves.item_state
@@ -506,6 +509,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(glasses)
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
glasses.screen_loc = ui_glasses
+ client.screen += glasses
overlays -= overlays_lying[GLASSES_LAYER]
overlays -= overlays_standing[GLASSES_LAYER]
overlays_lying[GLASSES_LAYER] = image("icon" = 'icons/mob/eyes.dmi', "icon_state" = "[glasses.icon_state]2", "layer" = -GLASSES_LAYER)
@@ -525,6 +529,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(ears)
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
ears.screen_loc = ui_ears
+ client.screen += ears
overlays -= overlays_lying[EARS_LAYER]
overlays -= overlays_standing[EARS_LAYER]
overlays_lying[EARS_LAYER] = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[ears.icon_state]2", "layer" = -EARS_LAYER)
@@ -544,6 +549,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(shoes)
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
shoes.screen_loc = ui_shoes
+ client.screen += shoes
var/image/lying = image("icon" = 'icons/mob/feet.dmi', "icon_state" = "[shoes.icon_state]2", "layer" = -SHOES_LAYER)
var/image/standing = image("icon" = 'icons/mob/feet.dmi', "icon_state" = "[shoes.icon_state]", "layer" = -SHOES_LAYER)
if(shoes.blood_DNA)
@@ -568,6 +574,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(s_store)
if(hud_used && hud_used.hud_shown)
s_store.screen_loc = ui_sstore1 //TODO
+ client.screen += s_store
overlays -= overlays_lying[SUIT_STORE_LAYER]
overlays -= overlays_standing[SUIT_STORE_LAYER]
var/t_state = s_store.item_state
@@ -590,6 +597,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(head)
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
head.screen_loc = ui_head //TODO
+ client.screen += head
overlays -= overlays_lying[HEAD_LAYER]
overlays -= overlays_standing[HEAD_LAYER]
var/image/lying
@@ -620,6 +628,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(belt)
if(hud_used && hud_used.hud_shown)
belt.screen_loc = ui_belt //TODO
+ client.screen += belt
overlays -= overlays_lying[BELT_LAYER]
overlays -= overlays_standing[BELT_LAYER]
var/t_state = belt.item_state
@@ -642,6 +651,7 @@ Please contact me on #coderbus IRC. ~Carn x
if( wear_suit && istype(wear_suit, /obj/item/clothing/suit) ) //TODO check this
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
wear_suit.screen_loc = ui_oclothing //TODO
+ client.screen += wear_suit
overlays -= overlays_lying[SUIT_LAYER]
overlays -= overlays_standing[SUIT_LAYER]
var/image/lying = image("icon" = 'icons/mob/suit.dmi', "icon_state" = "[wear_suit.icon_state]2", "layer" = -SUIT_LAYER)
@@ -685,8 +695,14 @@ Please contact me on #coderbus IRC. ~Carn x
if(update_icons) update_icons()
/mob/living/carbon/human/update_inv_pockets(var/update_icons=1)
- if(l_store) l_store.screen_loc = ui_storage1 //TODO
- if(r_store) r_store.screen_loc = ui_storage2 //TODO
+ if(l_store)
+ if(hud_used && hud_used.hud_shown)
+ l_store.screen_loc = ui_storage1 //TODO
+ client.screen += l_store
+ if(r_store)
+ if(hud_used && hud_used.hud_shown)
+ r_store.screen_loc = ui_storage2 //TODO
+ client.screen += r_store
if(update_icons) update_icons()
@@ -694,6 +710,7 @@ Please contact me on #coderbus IRC. ~Carn x
if( wear_mask && istype(wear_mask, /obj/item/clothing/mask) )
if(hud_used && hud_used.hud_shown && hud_used.inventory_shown)
wear_mask.screen_loc = ui_mask //TODO
+ client.screen += wear_mask
overlays -= overlays_lying[FACEMASK_LAYER]
overlays -= overlays_standing[FACEMASK_LAYER]
var/image/lying = image("icon" = 'icons/mob/mask.dmi', "icon_state" = "[wear_mask.icon_state]2", "layer" = -FACEMASK_LAYER)
@@ -719,6 +736,7 @@ Please contact me on #coderbus IRC. ~Carn x
if(back)
if(hud_used && hud_used.hud_shown)
back.screen_loc = ui_back //TODO
+ client.screen += back
overlays -= overlays_lying[BACK_LAYER]
overlays -= overlays_standing[BACK_LAYER]
overlays_lying[BACK_LAYER] = image("icon" = 'icons/mob/back.dmi', "icon_state" = "[back.icon_state]2", "layer" = -BACK_LAYER)
@@ -796,6 +814,7 @@ Please contact me on #coderbus IRC. ~Carn x
/mob/living/carbon/human/update_inv_r_hand(var/update_icons=1)
if(r_hand)
r_hand.screen_loc = ui_rhand //TODO
+ client.screen += r_hand
var/t_state = r_hand.item_state
if(!t_state) t_state = r_hand.icon_state
overlays -= overlays_standing[R_HAND_LAYER]
@@ -810,6 +829,7 @@ Please contact me on #coderbus IRC. ~Carn x
/mob/living/carbon/human/update_inv_l_hand(var/update_icons=1)
if(l_hand)
l_hand.screen_loc = ui_lhand //TODO
+ client.screen += l_hand
var/t_state = l_hand.item_state
if(!t_state) t_state = l_hand.icon_state
overlays -= overlays_standing[L_HAND_LAYER]
diff --git a/code/modules/mob/living/carbon/monkey/update_icons.dm b/code/modules/mob/living/carbon/monkey/update_icons.dm
index eac1d124812..05be068b3e0 100644
--- a/code/modules/mob/living/carbon/monkey/update_icons.dm
+++ b/code/modules/mob/living/carbon/monkey/update_icons.dm
@@ -41,6 +41,8 @@
/mob/living/carbon/monkey/update_inv_wear_mask(var/update_icons=1)
if( wear_mask && istype(wear_mask, /obj/item/clothing/mask) )
wear_mask.screen_loc = ui_monkey_mask
+ if(hud_used)
+ client.screen += wear_mask
overlays -= overlays_lying[M_MASK_LAYER]
overlays -= overlays_standing[M_MASK_LAYER]
var/image/lying = image("icon" = 'icons/mob/monkey.dmi', "icon_state" = "[wear_mask.icon_state]2", "layer" = -M_MASK_LAYER)
@@ -65,6 +67,8 @@
/mob/living/carbon/monkey/update_inv_r_hand(var/update_icons=1)
if(r_hand)
r_hand.screen_loc = ui_rhand
+ if(hud_used)
+ client.screen += r_hand
var/t_state = r_hand.item_state
if(!t_state) t_state = r_hand.icon_state
overlays -= overlays_standing[M_R_HAND_LAYER]
@@ -79,6 +83,8 @@
/mob/living/carbon/monkey/update_inv_l_hand(var/update_icons=1)
if(l_hand)
l_hand.screen_loc = ui_lhand
+ if(hud_used)
+ client.screen += l_hand
var/t_state = l_hand.item_state
if(!t_state) t_state = l_hand.icon_state
overlays -= overlays_standing[M_L_HAND_LAYER]
@@ -93,6 +99,8 @@
/mob/living/carbon/monkey/update_inv_back(var/update_icons=1)
if(back)
back.screen_loc = ui_monkey_back
+ if(hud_used)
+ client.screen += back
overlays -= overlays_lying[M_BACK_LAYER]
overlays -= overlays_standing[M_BACK_LAYER]
overlays_lying[M_BACK_LAYER] = image("icon" = 'icons/mob/back.dmi', "icon_state" = "[back.icon_state]2", "layer" = -M_BACK_LAYER)
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index 525293054b9..2d429326933 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -185,4 +185,6 @@
*/
/obj/item/device/toner
name = "toner cartridge"
- icon_state = "tonercartridge"
\ No newline at end of file
+ icon_state = "tonercartridge"
+ var/charges = 5
+ var/max_charges = 5
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm
index 2f760c59954..25881fb1aae 100644
--- a/code/modules/reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents.dm
@@ -428,7 +428,9 @@ datum
if(!M) M = holder.my_atom
if(!data) data = 1
switch(data)
- if(1 to 15)
+ if(1 to 12)
+ if(prob(5)) M.emote("yawn")
+ if(12 to 15)
M.eye_blurry = max(M.eye_blurry, 10)
if(15 to 25)
M.drowsyness = max(M.drowsyness, 20)
@@ -1691,40 +1693,6 @@ datum
reagent_state = LIQUID
color = "#181818" // rgb: 24, 24, 24
- ethanol
- name = "Ethanol"
- id = "ethanol"
- description = "A well-known alcohol with a variety of applications."
- reagent_state = LIQUID
- color = "#404030" // rgb: 64, 64, 48
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.make_dizzy(5)
- M.jitteriness = max(M.jitteriness-5,0)
- if(data >= 25)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 4
- if(data >= 40 && prob(33))
- if (!M.confused) M.confused = 1
- M.confused += 3
- ..()
- return
- reaction_obj(var/obj/O, var/volume)
- if(istype(O,/obj/item/weapon/paper))
- var/obj/item/weapon/paper/paperaffected = O
- paperaffected.clearpaper()
- usr << "The solution melts away the ink on the paper."
- if(istype(O,/obj/item/weapon/book))
- if(volume >= 5)
- var/obj/item/weapon/book/affectedbook = O
- affectedbook.dat = null
- usr << "The solution melts away the ink on the book."
- else
- usr << "It wasn't enough..."
- return
-
ammonia
name = "Ammonia"
id = "ammonia"
@@ -1773,14 +1741,15 @@ datum
if(!data) data = 1
data++
switch(data)
- if(1)
+ if(1 to 10)
M.confused += 2
M.drowsyness += 2
- if(2 to 50)
+ if(10 to 50)
M.sleeping += 1
if(51 to INFINITY)
M.sleeping += 1
M.adjustToxLoss((data - 50)*REM)
+ holder.remove_reagent(src.id, 0.5 * REAGENTS_METABOLISM)
..()
return
@@ -2586,31 +2555,6 @@ datum
..()
return
- thirteenloko
- name = "Thirteen Loko"
- id = "thirteenloko"
- description = "A potent mixture of caffeine and alcohol."
- reagent_state = LIQUID
- color = "#102000" // rgb: 16, 32, 0
-
- on_mob_life(var/mob/living/M as mob)
- M.drowsyness = max(0,M.drowsyness-7)
- M.sleeping = max(0,M.sleeping-2)
- if (M.bodytemperature > 310)
- M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
- M.make_jittery(5)
- M.nutrition += 1
- if(!data) data = 1
- data++
- M.dizziness +=4
- if(data >= 45 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
dr_gibb
name = "Dr. Gibb"
id = "dr_gibb"
@@ -2654,203 +2598,18 @@ datum
..()
return
- beer
- name = "Beer"
- id = "beer"
- description = "An alcoholic beverage made from malted grains, hops, yeast, and water."
+ sodawater
+ name = "Soda Water"
+ id = "sodawater"
+ description = "A can of club soda. Why not make a scotch and soda?"
reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
+ color = "#619494" // rgb: 97, 148, 148
on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.make_dizzy(3)
- M.jitteriness = max(M.jitteriness-3,0)
- M.nutrition += 2
- if(data >= 25)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- if(data >= 40 && prob(33))
- if (!M.confused) M.confused = 1
- M.confused += 2
-
- ..()
- return
-
- whiskey
- name = "Whiskey"
- id = "whiskey"
- description = "A superb and well-aged single-malt whiskey. Damn."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=4
- if(data >= 45 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- specialwhiskey
- name = "Special Blend Whiskey"
- id = "specialwhiskey"
- description = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 45 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
-
- gin
- name = "Gin"
- id = "gin"
- description = "It's gin. In space. I say, good sir."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 45 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- rum
- name = "Rum"
- id = "rum"
- description = "Yohoho and all that."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 45 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- vodka
- name = "Vodka"
- id = "vodka"
- description = "Number one drink AND fueling choice for Russians worldwide."
- reagent_state = LIQUID
- color = "#0064C8" // rgb: 0, 100, 200
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- M.radiation = max(M.radiation-2,0)
- if(data >= 45 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- holywater
- name = "Holy Water"
- id = "holywater"
- description = "Water blessed by some deity."
- reagent_state = LIQUID
- color = "#E0E8EF" // rgb: 224, 232, 239
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=8
- if(data >= 45 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 8
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+8,8)
- ..()
- return
-
- reaction_turf(var/turf/simulated/T, var/volume)
- if(!istype(T)) return
- T.Bless()
-
- tequilla
- name = "Tequila"
- id = "tequilla"
- description = "A strong and mildly flavoured, mexican produced spirit. Feeling thirsty hombre?"
- reagent_state = LIQUID
- color = "#FFFF91" // rgb: 255, 255, 145
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 45 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- vermouth
- name = "Vermouth"
- id = "vermouth"
- description = "You suddenly feel a craving for a martini..."
- reagent_state = LIQUID
- color = "#91FF91" // rgb: 145, 255, 145
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 45 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- wine
- name = "Wine"
- id = "wine"
- description = "An premium alchoholic beverage made from distilled grape juice."
- reagent_state = LIQUID
- color = "#7E4043" // rgb: 126, 64, 67
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=2
- if(data >= 65 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 145 && prob(33))
- M.confused = max(M.confused+2,0)
+ M.dizziness = max(0,M.dizziness-5)
+ M.drowsyness = max(0,M.drowsyness-3)
+ if (M.bodytemperature > 310)
+ M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
..()
return
@@ -2870,94 +2629,6 @@ datum
..()
return
- kahlua
- name = "Kahlua"
- id = "kahlua"
- description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!"
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- M.dizziness = max(0,M.dizziness-5)
- M.drowsyness = max(0,M.drowsyness-3)
- M.sleeping = max(0,M.sleeping-2)//Copy-paste from Coffee, derp
- M.make_jittery(5)
- ..()
- return
-
-
- cognac
- name = "Cognac"
- id = "cognac"
- description = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. Classy as fornication."
- reagent_state = LIQUID
- color = "#AB3C05" // rgb: 171, 60, 5
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=4
- if(data >= 45 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- hooch
- name = "Hooch"
- id = "hooch"
- description = "Either someone's failure at cocktail making or attempt in alchohol production. In any case, do you really want to drink that?"
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=6
- if(data >= 35 && data <90)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 5
- else if(data >= 90 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- ale
- name = "Ale"
- id = "ale"
- description = "A dark alchoholic beverage made by malted barley and yeast."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 45 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- sodawater
- name = "Soda Water"
- id = "sodawater"
- description = "A can of club soda. Why not make a scotch and soda?"
- reagent_state = LIQUID
- color = "#619494" // rgb: 97, 148, 148
-
- on_mob_life(var/mob/living/M as mob)
- M.dizziness = max(0,M.dizziness-5)
- M.drowsyness = max(0,M.drowsyness-3)
- if (M.bodytemperature > 310)
- M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
- ..()
- return
-
ice
name = "Ice"
id = "ice"
@@ -2971,948 +2642,6 @@ datum
..()
return
-/////////////////////////////////////////////////////////////////cocktail entities//////////////////////////////////////////////
-
- bilk
- name = "Bilk"
- id = "bilk"
- description = "This appears to be beer mixed with milk. Disgusting."
- reagent_state = LIQUID
- color = "#895C4C" // rgb: 137, 92, 76
-
- on_mob_life(var/mob/living/M as mob)
- if(M.getBruteLoss() && prob(10)) M.heal_organ_damage(1,0)
- M.nutrition += 2
- if(!data) data = 1
- data++
- M.make_dizzy(3)
- M.jitteriness = max(M.jitteriness-3,0)
- if(data >= 25)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- if(data >= 40 && prob(33))
- if (!M.confused) M.confused = 1
- M.confused += 2
- ..()
- return
-
- atomicbomb
- name = "Atomic Bomb"
- id = "atomicbomb"
- description = "Nuclear proliferation never tasted so good."
- reagent_state = LIQUID
- color = "#666300" // rgb: 102, 99, 0
-
- on_mob_life(var/mob/living/M as mob)
- M.druggy = max(M.druggy, 50)
- M.confused = max(M.confused+2,0)
- M.make_dizzy(10)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- if(!data) data = 1
- data++
- switch(data)
- if(51 to INFINITY)
- M.sleeping += 1
- ..()
- return
-
- threemileisland
- name = "THree Mile Island Iced Tea"
- id = "threemileisland"
- description = "Made for a woman, strong enough for a man."
- reagent_state = LIQUID
- color = "#666340" // rgb: 102, 99, 64
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- M.druggy = max(M.druggy, 50)
- if(data >= 35 && data <90)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 90)
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- goldschlager
- name = "Goldschlager"
- id = "goldschlager"
- description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break."
- reagent_state = LIQUID
- color = "#FFFF91" // rgb: 255, 255, 145
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 45 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- patron
- name = "Patron"
- id = "patron"
- description = "Tequila with silver in it, a favorite of alcoholic women in the club scene."
- reagent_state = LIQUID
- color = "#585840" // rgb: 88, 88, 64
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 45 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- gintonic
- name = "Gin and Tonic"
- id = "gintonic"
- description = "An all time classic, mild cocktail."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 45 && data <135)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 135 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- cuba_libre
- name = "Cuba Libre"
- id = "cubalibre"
- description = "Rum, mixed with cola. Viva la revolution."
- reagent_state = LIQUID
- color = "#3E1B00" // rgb: 62, 27, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 45 && data <135)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 135 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- whiskey_cola
- name = "Whiskey Cola"
- id = "whiskeycola"
- description = "Whiskey, mixed with cola. Surprisingly refreshing."
- reagent_state = LIQUID
- color = "#3E1B00" // rgb: 62, 27, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 55 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- martini
- name = "Classic Martini"
- id = "martini"
- description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 45 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 135 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- vodkamartini
- name = "Vodka Martini"
- id = "vodkamartini"
- description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 45 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 135 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- white_russian
- name = "White Russian"
- id = "whiterussian"
- description = "That's just, like, your opinion, man..."
- reagent_state = LIQUID
- color = "#A68340" // rgb: 166, 131, 64
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 55 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- screwdrivercocktail
- name = "Screwdriver"
- id = "screwdrivercocktail"
- description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious."
- reagent_state = LIQUID
- color = "#A68310" // rgb: 166, 131, 16
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 55 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- booger
- name = "Booger"
- id = "booger"
- description = "Ewww..."
- reagent_state = LIQUID
- color = "#8CFF8C" // rgb: 140, 255, 140
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=4
- if(data >= 55 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 4
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+4,0)
- ..()
- return
-
- bloody_mary
- name = "Bloody Mary"
- id = "bloodymary"
- description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 55 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- gargle_blaster
- name = "Pan-Galactic Gargle Blaster"
- id = "gargleblaster"
- description = "Whoah, this stuff looks volatile!"
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=6
- if(data >= 15 && data <45)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 45 && prob(50) && data <55)
- M.confused = max(M.confused+3,0)
- else if(data >=55)
- M.druggy = max(M.druggy, 55)
- ..()
- return
-
- brave_bull
- name = "Brave Bull"
- id = "bravebull"
- description = "It's just as effective as Dutch-Courage!."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 45 && data <145)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 145 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- tequilla_sunrise
- name = "Tequila Sunrise"
- id = "tequillasunrise"
- description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~"
- reagent_state = LIQUID
- color = "#FFE48C" // rgb: 255, 228, 140
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 55 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- toxins_special
- name = "Toxins Special"
- id = "toxinsspecial"
- description = "This thing is ON FIRE!. CALL THE DAMN SHUTTLE!"
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if (M.bodytemperature < 330)
- M.bodytemperature = min(330, M.bodytemperature + (15 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 55 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- beepsky_smash
- name = "Beepsky Smash"
- id = "beepskysmash"
- description = "Deny drinking this and prepare for THE LAW."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- M.Stun(2)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 55 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- doctor_delight
- name = "The Doctor's Delight"
- id = "doctorsdelight"
- description = "A gulp a day keeps the MediBot away. That's probably for the best."
- reagent_state = LIQUID
- color = "#FF8CFF" // rgb: 255, 140, 255
-
- on_mob_life(var/mob/living/M as mob)
- if(!M) M = holder.my_atom
- if(M.getOxyLoss() && prob(80)) M.adjustOxyLoss(-2)
- if(M.getBruteLoss() && prob(80)) M.heal_organ_damage(2,0)
- if(M.getFireLoss() && prob(80)) M.heal_organ_damage(0,2)
- if(M.getToxLoss() && prob(80)) M.adjustToxLoss(-2)
- if(M.dizziness !=0) M.dizziness = max(0,M.dizziness-15)
- if(M.confused !=0) M.confused = max(0,M.confused - 5)
- ..()
- return
-
- irish_cream
- name = "Irish Cream"
- id = "irishcream"
- description = "Whiskey-imbued cream, what else would you expect from the Irish."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 45 && data <145)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 145 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- manly_dorf
- name = "The Manly Dorf"
- id = "manlydorf"
- description = "Beer and Ale, brought together in a delicious mix. Intended for true men only."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=5
- if(data >= 35 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- longislandicedtea
- name = "Long Island Iced Tea"
- id = "longislandicedtea"
- description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 55 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- moonshine
- name = "Moonshine"
- id = "moonshine"
- description = "You've really hit rock bottom now... your liver packed its bags and left last night."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=5
- if(data >= 30 && data <60)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 4
- else if(data >= 60 && prob(40))
- M.confused = max(M.confused+5,0)
- ..()
- return
-
- b52
- name = "B-52"
- id = "b52"
- description = "Coffee, Irish Cream, and cognac. You will get bombed."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 25 && data <90)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 90 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- irishcoffee
- name = "Irish Coffee"
- id = "irishcoffee"
- description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 55 && data <150)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 150 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- margarita
- name = "Margarita"
- id = "margarita"
- description = "On the rocks with salt on the rim. Arriba~!"
- reagent_state = LIQUID
- color = "#8CFF8C" // rgb: 140, 255, 140
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=4
- if(data >= 55 && data <150)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 150 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- black_russian
- name = "Black Russian"
- id = "blackrussian"
- description = "For the lactose-intolerant. Still as classy as a White Russian."
- reagent_state = LIQUID
- color = "#360000" // rgb: 54, 0, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=4
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- manhattan
- name = "Manhattan"
- id = "manhattan"
- description = "The Detective's undercover drink of choice. He never could stomach gin..."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=4
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- manhattan_proj
- name = "Manhattan Project"
- id = "manhattan_proj"
- description = "A scientist's drink of choice, for pondering ways to blow up the station."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=4
- M.druggy = max(M.druggy, 30)
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- whiskeysoda
- name = "Whiskey Soda"
- id = "whiskeysoda"
- description = "For the more refined griffon."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=4
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- antifreeze
- name = "Anti-freeze"
- id = "antifreeze"
- description = "Ultimate refreshment."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if (M.bodytemperature < 330)
- M.bodytemperature = min(330, M.bodytemperature + (20 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 55 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- barefoot
- name = "Barefoot"
- id = "barefoot"
- description = "Barefoot and pregnant"
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=5
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 5
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+5,0)
- ..()
- return
-
- snowwhite
- name = "Snow White"
- id = "snowwhite"
- description = "A cold refreshment"
- reagent_state = LIQUID
- color = "#FFFFFF" // rgb: 255, 255, 255
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=4
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 4
- else if(data >= 115 && prob(30))
- M.confused = max(M.confused+4,0)
- ..()
- return
-
- demonsblood
- name = "Demons Blood"
- id = "demonsblood"
- description = "AHHHH!!!!"
- reagent_state = LIQUID
- color = "#820000" // rgb: 130, 0, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=10
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 10
- else if(data >= 115 && prob(90))
- M.confused = max(M.confused+10,10)
- ..()
- return
-
- vodkatonic
- name = "Vodka and Tonic"
- id = "vodkatonic"
- description = "For when a gin and tonic isn't russian enough."
- reagent_state = LIQUID
- color = "#0064C8" // rgb: 0, 100, 200
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=4
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- ginfizz
- name = "Gin Fizz"
- id = "ginfizz"
- description = "Refreshingly lemony, deliciously dry."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=4
- if(data >= 45 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- bahama_mama
- name = "Bahama mama"
- id = "bahama_mama"
- description = "Tropical cocktail."
- reagent_state = LIQUID
- color = "#FF7F3B" // rgb: 255, 127, 59
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=3
- if(data >= 55 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+2,0)
- if (M.bodytemperature > 310)
- M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
- ..()
- return
-
- singulo
- name = "Singulo"
- id = "singulo"
- description = "A blue-space beverage!"
- reagent_state = LIQUID
- color = "#2E6671" // rgb: 46, 102, 113
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=15
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 15
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+15,15)
- ..()
- return
-
- sbiten
- name = "Sbiten"
- id = "sbiten"
- description = "A spicy Vodka! Might be a little hot for the little guys!"
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if (M.bodytemperature < 360)
- M.bodytemperature = min(360, M.bodytemperature + (50 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
- if(!data) data = 1
- data++
- M.dizziness +=6
- if(data >= 45 && data <125)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 6
- else if(data >= 125 && prob(33))
- M.confused = max(M.confused+5,5)
- ..()
- return
-
- devilskiss
- name = "Devils Kiss"
- id = "devilskiss"
- description = "Creepy time!"
- reagent_state = LIQUID
- color = "#A68310" // rgb: 166, 131, 16
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=4
- if(data >= 55 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 4
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+4,0)
- ..()
- return
-
- red_mead
- name = "Red Mead"
- id = "red_mead"
- description = "The true Viking drink! Even though it has a strange red color."
- reagent_state = LIQUID
- color = "#C73C00" // rgb: 199, 60, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=5
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 4
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+4,4)
- ..()
- return
-
- mead
- name = "Mead"
- id = "mead"
- description = "A Vikings drink, though a cheap one."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.make_dizzy(3)
- M.jitteriness = max(M.jitteriness-3,0)
- M.nutrition += 2
- if(data >= 25)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- if(data >= 40 && prob(33))
- if (!M.confused) M.confused = 1
- M.confused += 2
-
- ..()
- return
-
- iced_beer
- name = "Iced Beer"
- id = "iced_beer"
- description = "A beer which is so cold the air around it freezes."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(M.bodytemperature > 270)
- M.bodytemperature = max(270, M.bodytemperature - (20 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
- if(!data) data = 1
- data++
- M.make_dizzy(3)
- M.jitteriness = max(M.jitteriness-3,0)
- M.nutrition += 2
- if(data >= 25)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 3
- if(data >= 40 && prob(33))
- if (!M.confused) M.confused = 1
- M.confused += 2
-
- ..()
- return
-
- grog
- name = "Grog"
- id = "grog"
- description = "Watered down rum, Nanotrasen approves!"
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=2
- if(data >= 90 && data <250)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 2
- else if(data >= 250 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- aloe
- name = "Aloe"
- id = "aloe"
- description = "So very, very, very good."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=2
- if(data >= 90 && data <250)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 2
- else if(data >= 250 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- andalusia
- name = "Andalusia"
- id = "andalusia"
- description = "A nice, strange named drink."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=8
- if(data >= 90 && data <250)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 1
- else if(data >= 250 && prob(33))
- M.confused = max(M.confused+2,0)
- ..()
- return
-
- alliescocktail
- name = "Allies Cocktail"
- id = "alliescocktail"
- description = "A drink made from your allies, not as sweet as when made from your enemies."
- reagent_state = LIQUID
- color = "#664300" // rgb: 102, 67, 0
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=4
- if(data >= 90 && data <250)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 7
- else if(data >= 250 && prob(60))
- M.confused = max(M.confused+8,0)
- ..()
- return
-
soy_latte
name = "Soy Latte"
id = "soy_latte"
@@ -3953,42 +2682,65 @@ datum
..()
return
- acid_spit
- name = "Acid Spit"
- id = "acidspit"
- description = "A drink for the daring, can be deadly if incorrectly prepared!"
+ doctor_delight
+ name = "The Doctor's Delight"
+ id = "doctorsdelight"
+ description = "A gulp a day keeps the MediBot away. That's probably for the best."
reagent_state = LIQUID
- color = "#365000" // rgb: 54, 80, 0
+ color = "#FF8CFF" // rgb: 255, 140, 255
on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=10
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 10
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+10,0)
+ if(!M) M = holder.my_atom
+ if(M.getOxyLoss() && prob(80)) M.adjustOxyLoss(-2)
+ if(M.getBruteLoss() && prob(80)) M.heal_organ_damage(2,0)
+ if(M.getFireLoss() && prob(80)) M.heal_organ_damage(0,2)
+ if(M.getToxLoss() && prob(80)) M.adjustToxLoss(-2)
+ if(M.dizziness !=0) M.dizziness = max(0,M.dizziness-15)
+ if(M.confused !=0) M.confused = max(0,M.confused - 5)
..()
return
- amasec
- name = "Amasec"
- id = "amasec"
- description = "Official drink of the Nanotrasen Gun-Club!"
+//////////////////////////////////////////////The ten friggen million reagents that get you drunk//////////////////////////////////////////////
+
+ atomicbomb
+ name = "Atomic Bomb"
+ id = "atomicbomb"
+ description = "Nuclear proliferation never tasted so good."
+ reagent_state = LIQUID
+ color = "#666300" // rgb: 102, 99, 0
+
+ on_mob_life(var/mob/living/M as mob)
+ M.druggy = max(M.druggy, 50)
+ M.confused = max(M.confused+2,0)
+ M.make_dizzy(10)
+ if (!M.stuttering) M.stuttering = 1
+ M.stuttering += 3
+ if(!data) data = 1
+ data++
+ switch(data)
+ if(51 to INFINITY)
+ M.sleeping += 1
+ ..()
+ return
+
+ gargle_blaster
+ name = "Pan-Galactic Gargle Blaster"
+ id = "gargleblaster"
+ description = "Whoah, this stuff looks volatile!"
reagent_state = LIQUID
color = "#664300" // rgb: 102, 67, 0
on_mob_life(var/mob/living/M as mob)
- M.stunned = 1
if(!data) data = 1
data++
- M.dizziness +=4
- if(data >= 55 && data <165)
+ M.dizziness +=6
+ if(data >= 15 && data <45)
if (!M.stuttering) M.stuttering = 1
- M.stuttering += 4
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+5,0)
+ M.stuttering += 3
+ else if(data >= 45 && prob(50) && data <55)
+ M.confused = max(M.confused+3,0)
+ else if(data >=55)
+ M.druggy = max(M.druggy, 55)
..()
return
@@ -4013,10 +2765,8 @@ datum
else if(data >=55)
M.druggy = max(M.druggy, 55)
..()
-
return
-
hippies_delight
name = "Hippie's Delight"
id = "hippiesdelight"
@@ -4028,6 +2778,7 @@ datum
if(!M) M = holder.my_atom
M.druggy = max(M.druggy, 50)
if(!data) data = 1
+ data++
switch(data)
if(1 to 5)
if (!M.stuttering) M.stuttering = 1
@@ -4046,11 +2797,549 @@ datum
M.druggy = max(M.druggy, 60)
if(prob(30)) M.emote(pick("twitch","giggle"))
holder.remove_reagent(src.id, 0.2)
- data++
..()
return
- bananahonk
+ ethanol
+ name = "Ethanol"
+ id = "ethanol"
+ description = "A well-known alcohol with a variety of applications."
+ reagent_state = LIQUID
+ color = "#404030" // rgb: 64, 64, 48
+ var/boozepwr = 45 //lower numbers mean the booze will have an effect faster.
+
+ on_mob_life(var/mob/living/M as mob)
+ if(!data) data = 1
+ data++
+ M.jitteriness = max(M.jitteriness-5,0)
+ if(data >= boozepwr)
+ if (!M.stuttering) M.stuttering = 1
+ M.stuttering += 4
+ M.make_dizzy(5)
+ if(data >= boozepwr*2.5 && prob(33))
+ if (!M.confused) M.confused = 1
+ M.confused += 3
+ ..()
+ return
+ reaction_obj(var/obj/O, var/volume)
+ if(istype(O,/obj/item/weapon/paper))
+ var/obj/item/weapon/paper/paperaffected = O
+ paperaffected.clearpaper()
+ usr << "The solution melts away the ink on the paper."
+ if(istype(O,/obj/item/weapon/book))
+ if(volume >= 5)
+ var/obj/item/weapon/book/affectedbook = O
+ affectedbook.dat = null
+ usr << "The solution melts away the ink on the book."
+ else
+ usr << "It wasn't enough..."
+ return
+
+ ethanol/beer
+ name = "Beer"
+ id = "beer"
+ description = "An alcoholic beverage made from malted grains, hops, yeast, and water."
+ color = "#664300" // rgb: 102, 67, 0
+ boozepwr = 55
+
+ on_mob_life(var/mob/living/M as mob)
+ M.nutrition += 1
+ ..()
+ return
+
+ ethanol/kahlua
+ name = "Kahlua"
+ id = "kahlua"
+ description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!"
+ color = "#664300" // rgb: 102, 67, 0
+
+ on_mob_life(var/mob/living/M as mob)
+ M.dizziness = max(0,M.dizziness-5)
+ M.drowsyness = max(0,M.drowsyness-3)
+ M.sleeping = max(0,M.sleeping-2)
+ M.make_jittery(5)
+ ..()
+ return
+
+ ethanol/whiskey
+ name = "Whiskey"
+ id = "whiskey"
+ description = "A superb and well-aged single-malt whiskey. Damn."
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/thirteenloko
+ name = "Thirteen Loko"
+ id = "thirteenloko"
+ description = "A potent mixture of caffeine and alcohol."
+ color = "#102000" // rgb: 16, 32, 0
+
+ on_mob_life(var/mob/living/M as mob)
+ M.drowsyness = max(0,M.drowsyness-7)
+ M.sleeping = max(0,M.sleeping-2)
+ if (M.bodytemperature > 310)
+ M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
+ M.make_jittery(5)
+ M.nutrition += 1
+ ..()
+ return
+
+ ethanol/vodka
+ name = "Vodka"
+ id = "vodka"
+ description = "Number one drink AND fueling choice for Russians worldwide."
+ color = "#0064C8" // rgb: 0, 100, 200
+
+ on_mob_life(var/mob/living/M as mob)
+ M.radiation = max(M.radiation-2,0)
+ ..()
+ return
+
+ ethanol/holywater
+ name = "Holy Water"
+ id = "holywater"
+ description = "Water blessed by some deity."
+ color = "#E0E8EF" // rgb: 224, 232, 239
+ boozepwr = 15
+
+ reaction_turf(var/turf/simulated/T, var/volume)
+ if(!istype(T)) return
+ T.Bless()
+
+ ethanol/bilk
+ name = "Bilk"
+ id = "bilk"
+ description = "This appears to be beer mixed with milk. Disgusting."
+ color = "#895C4C" // rgb: 137, 92, 76
+
+ on_mob_life(var/mob/living/M as mob)
+ if(M.getBruteLoss() && prob(10)) M.heal_organ_damage(1,0)
+ M.nutrition += 2
+ ..()
+ return
+
+ ethanol/threemileisland
+ name = "Three Mile Island Iced Tea"
+ id = "threemileisland"
+ description = "Made for a woman, strong enough for a man."
+ color = "#666340" // rgb: 102, 99, 64
+
+ on_mob_life(var/mob/living/M as mob)
+ M.druggy = max(M.druggy, 50)
+ ..()
+ return
+
+ ethanol/gin
+ name = "Gin"
+ id = "gin"
+ description = "It's gin. In space. I say, good sir."
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/rum
+ name = "Rum"
+ id = "rum"
+ description = "Yohoho and all that."
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/tequilla
+ name = "Tequila"
+ id = "tequilla"
+ description = "A strong and mildly flavoured, mexican produced spirit. Feeling thirsty hombre?"
+ color = "#FFFF91" // rgb: 255, 255, 145
+
+ ethanol/vermouth
+ name = "Vermouth"
+ id = "vermouth"
+ description = "You suddenly feel a craving for a martini..."
+ color = "#91FF91" // rgb: 145, 255, 145
+
+ ethanol/wine
+ name = "Wine"
+ id = "wine"
+ description = "An premium alchoholic beverage made from distilled grape juice."
+ color = "#7E4043" // rgb: 126, 64, 67
+
+ ethanol/cognac
+ name = "Cognac"
+ id = "cognac"
+ description = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. Classy as fornication."
+ color = "#AB3C05" // rgb: 171, 60, 5
+
+ ethanol/hooch
+ name = "Hooch"
+ id = "hooch"
+ description = "Either someone's failure at cocktail making or attempt in alchohol production. In any case, do you really want to drink that?"
+ color = "#664300" // rgb: 102, 67, 0
+ boozepwr = 35
+
+ ethanol/ale
+ name = "Ale"
+ id = "ale"
+ description = "A dark alchoholic beverage made by malted barley and yeast."
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/goldschlager
+ name = "Goldschlager"
+ id = "goldschlager"
+ description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break."
+ color = "#FFFF91" // rgb: 255, 255, 145
+
+ ethanol/patron
+ name = "Patron"
+ id = "patron"
+ description = "Tequila with silver in it, a favorite of alcoholic women in the club scene."
+ color = "#585840" // rgb: 88, 88, 64
+
+ ethanol/gintonic
+ name = "Gin and Tonic"
+ id = "gintonic"
+ description = "An all time classic, mild cocktail."
+ color = "#664300" // rgb: 102, 67, 0
+ boozepwr = 65
+
+ ethanol/cuba_libre
+ name = "Cuba Libre"
+ id = "cubalibre"
+ description = "Rum, mixed with cola. Viva la revolution."
+ color = "#3E1B00" // rgb: 62, 27, 0
+
+ ethanol/whiskey_cola
+ name = "Whiskey Cola"
+ id = "whiskeycola"
+ description = "Whiskey, mixed with cola. Surprisingly refreshing."
+ color = "#3E1B00" // rgb: 62, 27, 0
+ boozepwr = 65
+
+ ethanol/martini
+ name = "Classic Martini"
+ id = "martini"
+ description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious."
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/vodkamartini
+ name = "Vodka Martini"
+ id = "vodkamartini"
+ description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious."
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/white_russian
+ name = "White Russian"
+ id = "whiterussian"
+ description = "That's just, like, your opinion, man..."
+ color = "#A68340" // rgb: 166, 131, 64
+ boozepwr = 55
+
+ ethanol/screwdrivercocktail
+ name = "Screwdriver"
+ id = "screwdrivercocktail"
+ description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious."
+ color = "#A68310" // rgb: 166, 131, 16
+ boozepwr = 55
+
+ ethanol/booger
+ name = "Booger"
+ id = "booger"
+ description = "Ewww..."
+ color = "#8CFF8C" // rgb: 140, 255, 140
+ boozepwr = 55
+
+ ethanol/bloody_mary
+ name = "Bloody Mary"
+ id = "bloodymary"
+ description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice."
+ color = "#664300" // rgb: 102, 67, 0
+ boozepwr = 55
+
+ ethanol/brave_bull
+ name = "Brave Bull"
+ id = "bravebull"
+ description = "It's just as effective as Dutch-Courage!."
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/tequilla_sunrise
+ name = "Tequila Sunrise"
+ id = "tequillasunrise"
+ description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~"
+ color = "#FFE48C" // rgb: 255, 228, 140
+ boozepwr = 55
+
+ ethanol/toxins_special
+ name = "Toxins Special"
+ id = "toxinsspecial"
+ description = "This thing is ON FIRE!. CALL THE DAMN SHUTTLE!"
+ reagent_state = LIQUID
+ color = "#664300" // rgb: 102, 67, 0
+
+ on_mob_life(var/mob/living/M as mob)
+ if (M.bodytemperature < 330)
+ M.bodytemperature = min(330, M.bodytemperature + (15 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
+ ..()
+ return
+
+ ethanol/beepsky_smash
+ name = "Beepsky Smash"
+ id = "beepskysmash"
+ description = "Deny drinking this and prepare for THE LAW."
+ reagent_state = LIQUID
+ color = "#664300" // rgb: 102, 67, 0
+
+ on_mob_life(var/mob/living/M as mob)
+ M.Stun(2)
+ ..()
+ return
+
+ ethanol/irish_cream
+ name = "Irish Cream"
+ id = "irishcream"
+ description = "Whiskey-imbued cream, what else would you expect from the Irish."
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/manly_dorf
+ name = "The Manly Dorf"
+ id = "manlydorf"
+ description = "Beer and Ale, brought together in a delicious mix. Intended for true men only."
+ color = "#664300" // rgb: 102, 67, 0
+ boozepwr = 10
+
+ ethanol/longislandicedtea
+ name = "Long Island Iced Tea"
+ id = "longislandicedtea"
+ description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only."
+ color = "#664300" // rgb: 102, 67, 0
+ boozepwr = 55
+
+ ethanol/moonshine
+ name = "Moonshine"
+ id = "moonshine"
+ description = "You've really hit rock bottom now... your liver packed its bags and left last night."
+ color = "#664300" // rgb: 102, 67, 0
+ boozepwr = 25
+
+ ethanol/b52
+ name = "B-52"
+ id = "b52"
+ description = "Coffee, Irish Cream, and cognac. You will get bombed."
+ color = "#664300" // rgb: 102, 67, 0
+ boozepwr = 25
+
+ ethanol/irishcoffee
+ name = "Irish Coffee"
+ id = "irishcoffee"
+ description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning."
+ color = "#664300" // rgb: 102, 67, 0
+ boozepwr = 55
+
+ ethanol/margarita
+ name = "Margarita"
+ id = "margarita"
+ description = "On the rocks with salt on the rim. Arriba~!"
+ color = "#8CFF8C" // rgb: 140, 255, 140
+ boozepwr = 55
+
+ ethanol/black_russian
+ name = "Black Russian"
+ id = "blackrussian"
+ description = "For the lactose-intolerant. Still as classy as a White Russian."
+ color = "#360000" // rgb: 54, 0, 0
+ boozepwr = 55
+
+ ethanol/manhattan
+ name = "Manhattan"
+ id = "manhattan"
+ description = "The Detective's undercover drink of choice. He never could stomach gin..."
+ color = "#664300" // rgb: 102, 67, 0
+ boozepwr = 55
+
+ ethanol/manhattan_proj
+ name = "Manhattan Project"
+ id = "manhattan_proj"
+ description = "A scientist's drink of choice, for pondering ways to blow up the station."
+ color = "#664300" // rgb: 102, 67, 0
+
+ on_mob_life(var/mob/living/M as mob)
+ M.druggy = max(M.druggy, 30)
+ ..()
+ return
+
+ ethanol/whiskeysoda
+ name = "Whiskey Soda"
+ id = "whiskeysoda"
+ description = "For the more refined griffon."
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/antifreeze
+ name = "Anti-freeze"
+ id = "antifreeze"
+ description = "Ultimate refreshment."
+ color = "#664300" // rgb: 102, 67, 0
+
+ on_mob_life(var/mob/living/M as mob)
+ if (M.bodytemperature < 330)
+ M.bodytemperature = min(330, M.bodytemperature + (20 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
+ ..()
+ return
+
+ ethanol/barefoot
+ name = "Barefoot"
+ id = "barefoot"
+ description = "Barefoot and pregnant"
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/snowwhite
+ name = "Snow White"
+ id = "snowwhite"
+ description = "A cold refreshment"
+ color = "#FFFFFF" // rgb: 255, 255, 255
+
+ ethanol/demonsblood
+ name = "Demons Blood"
+ id = "demonsblood"
+ description = "AHHHH!!!!"
+ color = "#820000" // rgb: 130, 0, 0
+
+ ethanol/vodkatonic
+ name = "Vodka and Tonic"
+ id = "vodkatonic"
+ description = "For when a gin and tonic isn't russian enough."
+ color = "#0064C8" // rgb: 0, 100, 200
+
+ ethanol/ginfizz
+ name = "Gin Fizz"
+ id = "ginfizz"
+ description = "Refreshingly lemony, deliciously dry."
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/bahama_mama
+ name = "Bahama mama"
+ id = "bahama_mama"
+ description = "Tropical cocktail."
+ color = "#FF7F3B" // rgb: 255, 127, 59
+
+ ethanol/singulo
+ name = "Singulo"
+ id = "singulo"
+ description = "A blue-space beverage!"
+ color = "#2E6671" // rgb: 46, 102, 113
+
+ ethanol/sbiten
+ name = "Sbiten"
+ id = "sbiten"
+ description = "A spicy Vodka! Might be a little hot for the little guys!"
+ color = "#664300" // rgb: 102, 67, 0
+
+ on_mob_life(var/mob/living/M as mob)
+ if (M.bodytemperature < 360)
+ M.bodytemperature = min(360, M.bodytemperature + (50 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
+ ..()
+ return
+
+ ethanol/devilskiss
+ name = "Devils Kiss"
+ id = "devilskiss"
+ description = "Creepy time!"
+ color = "#A68310" // rgb: 166, 131, 16
+
+ ethanol/red_mead
+ name = "Red Mead"
+ id = "red_mead"
+ description = "The true Viking drink! Even though it has a strange red color."
+ color = "#C73C00" // rgb: 199, 60, 0
+
+ ethanol/mead
+ name = "Mead"
+ id = "mead"
+ description = "A Vikings drink, though a cheap one."
+ reagent_state = LIQUID
+ color = "#664300" // rgb: 102, 67, 0
+
+ on_mob_life(var/mob/living/M as mob)
+ M.nutrition += 1
+ ..()
+ return
+
+ ethanol/iced_beer
+ name = "Iced Beer"
+ id = "iced_beer"
+ description = "A beer which is so cold the air around it freezes."
+ color = "#664300" // rgb: 102, 67, 0
+
+ on_mob_life(var/mob/living/M as mob)
+ if(M.bodytemperature > 270)
+ M.bodytemperature = max(270, M.bodytemperature - (20 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
+ ..()
+ return
+
+ ethanol/grog
+ name = "Grog"
+ id = "grog"
+ description = "Watered down rum, Nanotrasen approves!"
+ color = "#664300" // rgb: 102, 67, 0
+ boozepwr = 90
+
+ ethanol/aloe
+ name = "Aloe"
+ id = "aloe"
+ description = "So very, very, very good."
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/andalusia
+ name = "Andalusia"
+ id = "andalusia"
+ description = "A nice, strange named drink."
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/alliescocktail
+ name = "Allies Cocktail"
+ id = "alliescocktail"
+ description = "A drink made from your allies, not as sweet as when made from your enemies."
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/acid_spit
+ name = "Acid Spit"
+ id = "acidspit"
+ description = "A drink for the daring, can be deadly if incorrectly prepared!"
+ reagent_state = LIQUID
+ color = "#365000" // rgb: 54, 80, 0
+
+ ethanol/amasec
+ name = "Amasec"
+ id = "amasec"
+ description = "Official drink of the Nanotrasen Gun-Club!"
+ reagent_state = LIQUID
+ color = "#664300" // rgb: 102, 67, 0
+
+ ethanol/changelingsting
+ name = "Changeling Sting"
+ id = "changelingsting"
+ description = "You take a tiny sip and feel a burning sensation..."
+ color = "#2E6671" // rgb: 46, 102, 113
+
+ ethanol/irishcarbomb
+ name = "Irish Car Bomb"
+ id = "irishcarbomb"
+ description = "Mmm, tastes like chocolate cake..."
+ color = "#2E6671" // rgb: 46, 102, 113
+
+ ethanol/syndicatebomb
+ name = "Syndicate Bomb"
+ id = "syndicatebomb"
+ description = "Tastes like terrorism!"
+ color = "#2E6671" // rgb: 46, 102, 113
+
+ ethanol/erikasurprise
+ name = "Erika Surprise"
+ id = "erikasurprise"
+ description = "The surprise is, it's green!"
+ color = "#2E6671" // rgb: 46, 102, 113
+
+ ethanol/driestmartini
+ name = "Driest Martini"
+ id = "driestmartini"
+ description = "Only for the experienced. You think you see sand floating in the glass."
+ nutriment_factor = 1 * REAGENTS_METABOLISM
+ color = "#2E6671" // rgb: 46, 102, 113
+ boozepwr = 25
+
+ ethanol/bananahonk
name = "Banana Mama"
id = "bananahonk"
description = "A drink from Clown Heaven."
@@ -4059,32 +3348,13 @@ datum
on_mob_life(var/mob/living/M as mob)
M.nutrition += nutriment_factor
- if(!data) data = 1
- data++
- if(istype(M, /mob/living/carbon/human) && M.job in list("Clown"))
+ if(istype(M, /mob/living/carbon/human) && M.job in list("Clown") || istype(M, /mob/living/carbon/monkey))
if(!M) M = holder.my_atom
M.heal_organ_damage(1,1)
- M.dizziness +=5
- if(data >= 55 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 5
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+5,0)
- ..()
- return
- if(istype(M, /mob/living/carbon/monkey))
- if(!M) M = holder.my_atom
- M.heal_organ_damage(1,1)
- M.dizziness +=5
- if(data >= 55 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 5
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+5,0)
..()
return
- silencer
+ ethanol/silencer
name = "Silencer"
id = "silencer"
description = "A drink from Mime Heaven."
@@ -4093,114 +3363,11 @@ datum
on_mob_life(var/mob/living/M as mob)
M.nutrition += nutriment_factor
- if(!data) data = 1
- data++
if(istype(M, /mob/living/carbon/human) && M.job in list("Mime"))
if(!M) M = holder.my_atom
M.heal_organ_damage(1,1)
- M.dizziness +=5
- if(data >= 55 && data <165)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 5
- else if(data >= 165 && prob(33))
- M.confused = max(M.confused+5,0)
..()
return
-
- changelingsting
- name = "Changeling Sting"
- id = "changelingsting"
- description = "You take a tiny sip and feel a burning sensation..."
- reagent_state = LIQUID
- color = "#2E6671" // rgb: 46, 102, 113
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=5
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 5
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+15,15)
- ..()
- return
-
- irishcarbomb
- name = "Irish Car Bomb"
- id = "irishcarbomb"
- description = "Mmm, tastes like chocolate cake..."
- reagent_state = LIQUID
- color = "#2E6671" // rgb: 46, 102, 113
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=5
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 5
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+15,15)
- ..()
- return
-
- syndicatebomb
- name = "Syndicate Bomb"
- id = "syndicatebomb"
- description = "Tastes like terrorism!"
- reagent_state = LIQUID
- color = "#2E6671" // rgb: 46, 102, 113
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=10
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 10
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+15,15)
- ..()
- return
-
- erikasurprise
- name = "Erika Surprise"
- id = "erikasurprise"
- description = "The surprise is, it's green!"
- reagent_state = LIQUID
- color = "#2E6671" // rgb: 46, 102, 113
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=30
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 30
- else if(data >= 115 && prob(60))
- M.confused = max(M.confused+15,15)
- ..()
- return
-
- driestmartini
- name = "Driest Martini"
- id = "driestmartini"
- description = "Only for the experienced. You think you see sand floating in the glass."
- nutriment_factor = 1 * REAGENTS_METABOLISM
- color = "#2E6671" // rgb: 46, 102, 113
-
- on_mob_life(var/mob/living/M as mob)
- if(!data) data = 1
- data++
- M.dizziness +=10
- if(data >= 55 && data <115)
- if (!M.stuttering) M.stuttering = 1
- M.stuttering += 10
- else if(data >= 115 && prob(33))
- M.confused = max(M.confused+15,15)
- ..()
- return
// Undefine the alias for REAGENTS_EFFECT_MULTIPLER
#undef REM
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index da78e252a3a..cd7c6c90887 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -90,6 +90,8 @@
set category = "Object"
set src in usr
+ if (alert(usr, "Are you sure you want to empty that?", "Empty Bottle:", "Yes", "No") != "Yes")
+ return
if(isturf(usr.loc))
usr << "You empty the [src] onto the floor."
reagents.reaction(usr.loc)
diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi
index fb143142045..332a4907d0a 100644
Binary files a/icons/mob/items_lefthand.dmi and b/icons/mob/items_lefthand.dmi differ
diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi
index ea619db6a05..42c840ef6cd 100644
Binary files a/icons/mob/items_righthand.dmi and b/icons/mob/items_righthand.dmi differ
diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi
index 51cf8812722..0ab279a3c06 100644
Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 6f456a536e8..d5d18de68e2 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -5,6 +5,7 @@
// END_INTERNALS
// BEGIN_FILE_DIR
+#define FILE_DIR .
// END_FILE_DIR
// BEGIN_PREFERENCES
@@ -462,6 +463,7 @@
#include "code\game\objects\items\stacks\tiles\plasteel.dm"
#include "code\game\objects\items\stacks\tiles\tile_types.dm"
#include "code\game\objects\items\weapons\AI_modules.dm"
+#include "code\game\objects\items\weapons\airlock_painter.dm"
#include "code\game\objects\items\weapons\cards_ids.dm"
#include "code\game\objects\items\weapons\cigs_lighters.dm"
#include "code\game\objects\items\weapons\clown_items.dm"