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"