From 150b24023e427cbd6f8c6968bbfb945c3d11a8d5 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 16 May 2015 21:24:36 +0930 Subject: [PATCH] Renamed kitchen utensils. --- baystation12.dme | 1 + code/game/machinery/vending.dm | 4 +- .../objects/items/stacks/sheets/leather.dm | 2 +- .../objects/items/stacks/sheets/mineral.dm | 6 +- .../objects/items/weapons/material/kitchen.dm | 273 ++---------------- .../objects/items/weapons/material/thrown.dm | 18 +- code/game/objects/items/weapons/tools.dm | 4 +- code/game/objects/items/weapons/trays.dm | 208 +++++++++++++ code/modules/admin/verbs/debug.dm | 2 +- .../clothing/spacesuits/rig/modules/combat.dm | 2 +- .../clothing/under/accessories/storage.dm | 4 +- code/modules/hydroponics/grown_inedible.dm | 2 +- .../reagent_containers/food/snacks.dm | 18 +- .../research/xenoarchaeology/finds/finds.dm | 6 +- code/modules/surgery/brainrepair.dm | 2 +- code/modules/surgery/eye.dm | 2 +- code/modules/surgery/face.dm | 2 +- code/modules/surgery/generic.dm | 2 +- code/modules/surgery/implant.dm | 2 +- code/modules/surgery/organs_internal.dm | 4 +- maps/exodus-1.dmm | 10 +- maps/exodus-2.dmm | 4 +- 22 files changed, 272 insertions(+), 306 deletions(-) create mode 100644 code/game/objects/items/weapons/trays.dm diff --git a/baystation12.dme b/baystation12.dme index cd2c4461be5..fc7fe2da8e9 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -635,6 +635,7 @@ #include "code\game\objects\items\weapons\tape.dm" #include "code\game\objects\items\weapons\teleportation.dm" #include "code\game\objects\items\weapons\tools.dm" +#include "code\game\objects\items\weapons\trays.dm" #include "code\game\objects\items\weapons\weaponry.dm" #include "code\game\objects\items\weapons\weldbackpack.dm" #include "code\game\objects\items\weapons\wires.dm" diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index ff604d0b2c3..5d290a6aa48 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -910,8 +910,8 @@ desc = "A kitchen and restaurant equipment vendor." product_ads = "Mm, food stuffs!;Food and food accessories.;Get your plates!;You like forks?;I like forks.;Woo, utensils.;You don't really need these..." icon_state = "dinnerware" - products = list(/obj/item/weapon/tray = 8,/obj/item/weapon/kitchen/utensil/fork = 6,/obj/item/weapon/material/knife = 3,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,/obj/item/clothing/suit/chef/classic = 2) - contraband = list(/obj/item/weapon/kitchen/utensil/spoon = 2,/obj/item/weapon/kitchen/utensil/knife = 2,/obj/item/weapon/kitchen/rollingpin = 2, /obj/item/weapon/material/knife/butch = 2) + products = list(/obj/item/weapon/tray = 8,/obj/item/weapon/material/kitchen/utensil/fork = 6,/obj/item/weapon/material/knife = 3,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,/obj/item/clothing/suit/chef/classic = 2) + contraband = list(/obj/item/weapon/material/kitchen/utensil/spoon = 2,/obj/item/weapon/material/kitchen/utensil/knife = 2,/obj/item/weapon/material/kitchen/rollingpin = 2, /obj/item/weapon/material/knife/butch = 2) /obj/machinery/vending/sovietsoda name = "BODA" diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 61ab2f0ca4b..56ce1dba67b 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -92,7 +92,7 @@ /obj/item/stack/sheet/animalhide/attackby(obj/item/weapon/W as obj, mob/user as mob) if( istype(W, /obj/item/weapon/material/knife) || \ - istype(W, /obj/item/weapon/kitchen/utensil/knife) || \ + istype(W, /obj/item/weapon/material/kitchen/utensil/knife) || \ istype(W, /obj/item/weapon/material/twohanded/fireaxe) || \ istype(W, /obj/item/weapon/hatchet) ) diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 1e6fd887f54..70ab7722f94 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -42,9 +42,9 @@ var/global/list/datum/stack_recipe/phoron_recipes = list ( \ var/global/list/datum/stack_recipe/plastic_recipes = list ( \ new/datum/stack_recipe("plastic crate", /obj/structure/closet/crate/plastic, 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("plastic ashtray", /obj/item/ashtray/plastic, 2, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("plastic fork", /obj/item/weapon/kitchen/utensil/pfork, 1, on_floor = 1), \ - new/datum/stack_recipe("plastic spoon", /obj/item/weapon/kitchen/utensil/pspoon, 1, on_floor = 1), \ - new/datum/stack_recipe("plastic knife", /obj/item/weapon/kitchen/utensil/pknife, 1, on_floor = 1), \ + new/datum/stack_recipe("plastic fork", /obj/item/weapon/material/kitchen/utensil/fork/plastic, 1, on_floor = 1), \ + new/datum/stack_recipe("plastic spoon", /obj/item/weapon/material/kitchen/utensil/spoon/plastic, 1, on_floor = 1), \ + new/datum/stack_recipe("plastic knife", /obj/item/weapon/material/kitchen/utensil/knife/plastic, 1, on_floor = 1), \ new/datum/stack_recipe("plastic bag", /obj/item/weapon/storage/bag/plasticbag, 3, on_floor = 1), \ new/datum/stack_recipe("blood pack", /obj/item/weapon/reagent_containers/blood/empty, 4, on_floor = 0), \ new/datum/stack_recipe("reagent dispenser cartridge (large)", /obj/item/weapon/reagent_containers/chem_disp_cartridge, 5, on_floor=0), // 500u diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm index f2f383bba98..30ecd4a2b36 100644 --- a/code/game/objects/items/weapons/material/kitchen.dm +++ b/code/game/objects/items/weapons/material/kitchen.dm @@ -1,10 +1,10 @@ -/obj/item/weapon/kitchen +/obj/item/weapon/material/kitchen icon = 'icons/obj/kitchen.dmi' /* * Utensils */ -/obj/item/weapon/kitchen/utensil +/obj/item/weapon/material/kitchen/utensil force = 5.0 w_class = 1.0 throwforce = 5.0 @@ -14,17 +14,16 @@ origin_tech = "materials=1" attack_verb = list("attacked", "stabbed", "poked") sharp = 0 - var/loaded //Descriptive string for currently loaded food object. -/obj/item/weapon/kitchen/utensil/New() +/obj/item/weapon/material/kitchen/utensil/New() if (prob(60)) src.pixel_y = rand(0, 4) create_reagents(5) return -/obj/item/weapon/kitchen/utensil/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/weapon/material/kitchen/utensil/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!istype(M)) return ..() @@ -52,32 +51,27 @@ else ..() -/obj/item/weapon/kitchen/utensil/fork +/obj/item/weapon/material/kitchen/utensil/fork name = "fork" desc = "It's a fork. Sure is pointy." icon_state = "fork" -/obj/item/weapon/kitchen/utensil/pfork - name = "plastic fork" - desc = "Yay, no washing up to do." - icon_state = "pfork" +/obj/item/weapon/material/kitchen/utensil/fork/plastic + default_material = "plastic" -/obj/item/weapon/kitchen/utensil/spoon +/obj/item/weapon/material/kitchen/utensil/spoon name = "spoon" desc = "It's a spoon. You can see your own upside-down face in it." icon_state = "spoon" attack_verb = list("attacked", "poked") -/obj/item/weapon/kitchen/utensil/pspoon - name = "plastic spoon" - desc = "It's a plastic spoon. How dull." - icon_state = "pspoon" - attack_verb = list("attacked", "poked") +/obj/item/weapon/material/kitchen/utensil/spoon/plastic + default_material = "plastic" /* * Knives */ -/obj/item/weapon/kitchen/utensil/knife +/obj/item/weapon/material/kitchen/utensil/knife name = "knife" desc = "Can cut through any food." icon_state = "knife" @@ -92,7 +86,7 @@ "\red [user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.") return (BRUTELOSS) -/obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) +/obj/item/weapon/material/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) user << "\red You accidentally cut yourself with the [src]." user.take_organ_damage(20) @@ -100,16 +94,7 @@ playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) return ..() -/obj/item/weapon/kitchen/utensil/pknife - name = "plastic knife" - desc = "The bluntest of blades." - icon_state = "pknife" - force = 1 - throwforce = 1 - sharp = 0 - edge = 1 //for cutting pizzas - -/obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) +/obj/item/weapon/material/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) user << "\red You somehow managed to cut yourself with the [src]." user.take_organ_damage(20) @@ -117,11 +102,14 @@ playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) return ..() +/obj/item/weapon/material/kitchen/utensil/knife/plastic + default_material = "plastic" + /* * Rolling Pins */ -/obj/item/weapon/kitchen/rollingpin +/obj/item/weapon/material/kitchen/rollingpin name = "rolling pin" desc = "Used to knock out the Bartender." icon_state = "rolling_pin" @@ -132,7 +120,7 @@ w_class = 3.0 attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") //I think the rollingpin attackby will end up ignoring this anyway. -/obj/item/weapon/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob) +/obj/item/weapon/material/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) user << "\red The [src] slips out of your hand and hits your head." user.take_organ_damage(10) @@ -165,228 +153,3 @@ H.eye_blurry += 3 return ..() -/* - * Trays - Agouri - */ -/obj/item/weapon/tray - name = "tray" - icon = 'icons/obj/food.dmi' - icon_state = "tray" - desc = "A metal tray to lay food on." - throwforce = 12.0 - throwforce = 10.0 - throw_speed = 1 - throw_range = 5 - w_class = 3.0 - flags = CONDUCT - matter = list(DEFAULT_WALL_MATERIAL = 3000) - /* // NOPE - var/food_total= 0 - var/burger_amt = 0 - var/cheese_amt = 0 - var/fries_amt = 0 - var/classyalcdrink_amt = 0 - var/alcdrink_amt = 0 - var/bottle_amt = 0 - var/soda_amt = 0 - var/carton_amt = 0 - var/pie_amt = 0 - var/meatbreadslice_amt = 0 - var/salad_amt = 0 - var/miscfood_amt = 0 - */ - var/list/carrying = list() // List of things on the tray. - Doohl - var/max_carry = 10 // w_class = 1 -- takes up 1 - // w_class = 2 -- takes up 3 - // w_class = 3 -- takes up 5 - -/obj/item/weapon/tray/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - - // Drop all the things. All of them. - overlays.Cut() - for(var/obj/item/I in carrying) - I.loc = M.loc - carrying.Remove(I) - if(isturf(I.loc)) - spawn() - for(var/i = 1, i <= rand(1,2), i++) - if(I) - step(I, pick(NORTH,SOUTH,EAST,WEST)) - sleep(rand(2,4)) - - - if((CLUMSY in user.mutations) && prob(50)) //What if he's a clown? - M << "\red You accidentally slam yourself with the [src]!" - M.Weaken(1) - user.take_organ_damage(2) - if(prob(50)) - playsound(M, 'sound/items/trayhit1.ogg', 50, 1) - return - else - playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' - return //it always returns, but I feel like adding an extra return just for safety's sakes. EDIT; Oh well I won't :3 - - var/mob/living/carbon/human/H = M ///////////////////////////////////// /Let's have this ready for later. - - - if(!(user.zone_sel.selecting == ("eyes" || "head"))) //////////////hitting anything else other than the eyes - if(prob(33)) - src.add_blood(H) - var/turf/location = H.loc - if (istype(location, /turf/simulated)) - location.add_blood(H) ///Plik plik, the sound of blood - - M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") - msg_admin_attack("[user.name] ([user.ckey]) used the [src.name] to attack [M.name] ([M.ckey]) (JMP)") - - if(prob(15)) - M.Weaken(3) - M.take_organ_damage(3) - else - M.take_organ_damage(5) - if(prob(50)) - playsound(M, 'sound/items/trayhit1.ogg', 50, 1) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] with the tray!", user, M), 1) - return - else - playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //we applied the damage, we played the sound, we showed the appropriate messages. Time to return and stop the proc - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] with the tray!", user, M), 1) - return - - - if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES))) - M << "\red You get slammed in the face with the tray, against your mask!" - if(prob(33)) - src.add_blood(H) - if (H.wear_mask) - H.wear_mask.add_blood(H) - if (H.head) - H.head.add_blood(H) - if (H.glasses && prob(33)) - H.glasses.add_blood(H) - var/turf/location = H.loc - if (istype(location, /turf/simulated)) //Addin' blood! At least on the floor and item :v - location.add_blood(H) - - if(prob(50)) - playsound(M, 'sound/items/trayhit1.ogg', 50, 1) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] with the tray!", user, M), 1) - else - playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] with the tray!", user, M), 1) - if(prob(10)) - M.Stun(rand(1,3)) - M.take_organ_damage(3) - return - else - M.take_organ_damage(5) - return - - else //No eye or head protection, tough luck! - M << "\red You get slammed in the face with the tray!" - if(prob(33)) - src.add_blood(M) - var/turf/location = H.loc - if (istype(location, /turf/simulated)) - location.add_blood(H) - - if(prob(50)) - playsound(M, 'sound/items/trayhit1.ogg', 50, 1) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] in the face with the tray!", user, M), 1) - else - playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' again - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] slams [] in the face with the tray!", user, M), 1) - if(prob(30)) - M.Stun(rand(2,4)) - M.take_organ_damage(4) - return - else - M.take_organ_damage(8) - if(prob(30)) - M.Weaken(2) - return - return - -/obj/item/weapon/tray/var/cooldown = 0 //shield bash cooldown. based on world.time - -/obj/item/weapon/tray/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/kitchen/rollingpin)) - if(cooldown < world.time - 25) - user.visible_message("[user] bashes [src] with [W]!") - playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, 1) - cooldown = world.time - else - ..() - -/* -===============~~~~~================================~~~~~==================== -= = -= Code for trays carrying things. By Doohl for Doohl erryday Doohl Doohl~ = -= = -===============~~~~~================================~~~~~==================== -*/ -/obj/item/weapon/tray/proc/calc_carry() - // calculate the weight of the items on the tray - var/val = 0 // value to return - - for(var/obj/item/I in carrying) - if(I.w_class == 1.0) - val ++ - else if(I.w_class == 2.0) - val += 3 - else - val += 5 - - return val - -/obj/item/weapon/tray/pickup(mob/user) - - if(!isturf(loc)) - return - - for(var/obj/item/I in loc) - if( I != src && !I.anchored && !istype(I, /obj/item/clothing/under) && !istype(I, /obj/item/clothing/suit) && !istype(I, /obj/item/projectile) ) - var/add = 0 - if(I.w_class == 1.0) - add = 1 - else if(I.w_class == 2.0) - add = 3 - else - add = 5 - if(calc_carry() + add >= max_carry) - break - - I.loc = src - carrying.Add(I) - overlays += image("icon" = I.icon, "icon_state" = I.icon_state, "layer" = 30 + I.layer) - -/obj/item/weapon/tray/dropped(mob/user) - - var/mob/living/M - for(M in src.loc) //to handle hand switching - return - - var/foundtable = 0 - for(var/obj/structure/table/T in loc) - foundtable = 1 - break - - overlays.Cut() - - for(var/obj/item/I in carrying) - I.loc = loc - carrying.Remove(I) - if(!foundtable && isturf(loc)) - // if no table, presume that the person just shittily dropped the tray on the ground and made a mess everywhere! - spawn() - for(var/i = 1, i <= rand(1,2), i++) - if(I) - step(I, pick(NORTH,SOUTH,EAST,WEST)) - sleep(rand(2,4)) diff --git a/code/game/objects/items/weapons/material/thrown.dm b/code/game/objects/items/weapons/material/thrown.dm index ffba72c4cbb..6ffac637c4d 100644 --- a/code/game/objects/items/weapons/material/thrown.dm +++ b/code/game/objects/items/weapons/material/thrown.dm @@ -1,4 +1,4 @@ -/obj/item/weapon/star +/obj/item/weapon/material/star name = "shuriken" desc = "A sharp, perfectly weighted piece of metal." icon_state = "star" @@ -10,22 +10,16 @@ edge = 1 matter = list(DEFAULT_WALL_MATERIAL = 500) - var/poisoned = 0 - -/obj/item/weapon/star/New() +/obj/item/weapon/material/star/New() ..() src.pixel_x = rand(-12, 12) src.pixel_y = rand(-12, 12) -//TODO: consider making this something done with reagents. -/obj/item/weapon/star/throw_impact(atom/hit_atom) +/obj/item/weapon/material/star/throw_impact(atom/hit_atom) ..() - if(poisoned && istype(hit_atom,/mob/living)) + if(material.radioactivity>0 && istype(hit_atom,/mob/living)) var/mob/living/M = hit_atom M.adjustToxLoss(rand(20,40)) - poisoned = 0 - color = null -/obj/item/weapon/star/ninja - color = "#007700" - poisoned = 1 \ No newline at end of file +/obj/item/weapon/material/star/ninja + default_material = "uranium" \ No newline at end of file diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 1066c4e8db0..59be97631e8 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -492,8 +492,8 @@ /obj/item/weapon/screwdriver, /obj/item/weapon/wrench, /obj/item/weapon/wirecutters, - /obj/item/weapon/kitchen/utensil/knife, - /obj/item/weapon/kitchen/utensil/fork, + /obj/item/weapon/material/kitchen/utensil/knife, + /obj/item/weapon/material/kitchen/utensil/fork, /obj/item/weapon/hatchet ) var/list/tools = list() diff --git a/code/game/objects/items/weapons/trays.dm b/code/game/objects/items/weapons/trays.dm new file mode 100644 index 00000000000..c52961eda5a --- /dev/null +++ b/code/game/objects/items/weapons/trays.dm @@ -0,0 +1,208 @@ +/* + * Trays - Agouri + */ +/obj/item/weapon/tray + name = "tray" + icon = 'icons/obj/food.dmi' + icon_state = "tray" + desc = "A metal tray to lay food on." + throwforce = 12.0 + throwforce = 10.0 + throw_speed = 1 + throw_range = 5 + w_class = 3.0 + flags = CONDUCT + matter = list(DEFAULT_WALL_MATERIAL = 3000) + var/list/carrying = list() // List of things on the tray. - Doohl + var/max_carry = 10 + +/obj/item/weapon/tray/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) + + // Drop all the things. All of them. + overlays.Cut() + for(var/obj/item/I in carrying) + I.loc = M.loc + carrying.Remove(I) + if(isturf(I.loc)) + spawn() + for(var/i = 1, i <= rand(1,2), i++) + if(I) + step(I, pick(NORTH,SOUTH,EAST,WEST)) + sleep(rand(2,4)) + + + if((CLUMSY in user.mutations) && prob(50)) //What if he's a clown? + M << "\red You accidentally slam yourself with the [src]!" + M.Weaken(1) + user.take_organ_damage(2) + if(prob(50)) + playsound(M, 'sound/items/trayhit1.ogg', 50, 1) + return + else + playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' + return //it always returns, but I feel like adding an extra return just for safety's sakes. EDIT; Oh well I won't :3 + + var/mob/living/carbon/human/H = M ///////////////////////////////////// /Let's have this ready for later. + + + if(!(user.zone_sel.selecting == ("eyes" || "head"))) //////////////hitting anything else other than the eyes + if(prob(33)) + src.add_blood(H) + var/turf/location = H.loc + if (istype(location, /turf/simulated)) + location.add_blood(H) ///Plik plik, the sound of blood + + M.attack_log += text("\[[time_stamp()]\] Has been attacked with [src.name] by [user.name] ([user.ckey])") + user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to attack [M.name] ([M.ckey])") + msg_admin_attack("[user.name] ([user.ckey]) used the [src.name] to attack [M.name] ([M.ckey]) (JMP)") + + if(prob(15)) + M.Weaken(3) + M.take_organ_damage(3) + else + M.take_organ_damage(5) + if(prob(50)) + playsound(M, 'sound/items/trayhit1.ogg', 50, 1) + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] with the tray!", user, M), 1) + return + else + playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //we applied the damage, we played the sound, we showed the appropriate messages. Time to return and stop the proc + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] with the tray!", user, M), 1) + return + + + if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES))) + M << "\red You get slammed in the face with the tray, against your mask!" + if(prob(33)) + src.add_blood(H) + if (H.wear_mask) + H.wear_mask.add_blood(H) + if (H.head) + H.head.add_blood(H) + if (H.glasses && prob(33)) + H.glasses.add_blood(H) + var/turf/location = H.loc + if (istype(location, /turf/simulated)) //Addin' blood! At least on the floor and item :v + location.add_blood(H) + + if(prob(50)) + playsound(M, 'sound/items/trayhit1.ogg', 50, 1) + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] with the tray!", user, M), 1) + else + playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] with the tray!", user, M), 1) + if(prob(10)) + M.Stun(rand(1,3)) + M.take_organ_damage(3) + return + else + M.take_organ_damage(5) + return + + else //No eye or head protection, tough luck! + M << "\red You get slammed in the face with the tray!" + if(prob(33)) + src.add_blood(M) + var/turf/location = H.loc + if (istype(location, /turf/simulated)) + location.add_blood(H) + + if(prob(50)) + playsound(M, 'sound/items/trayhit1.ogg', 50, 1) + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] in the face with the tray!", user, M), 1) + else + playsound(M, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' again + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] slams [] in the face with the tray!", user, M), 1) + if(prob(30)) + M.Stun(rand(2,4)) + M.take_organ_damage(4) + return + else + M.take_organ_damage(8) + if(prob(30)) + M.Weaken(2) + return + return + +/obj/item/weapon/tray/var/cooldown = 0 //shield bash cooldown. based on world.time + +/obj/item/weapon/tray/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/material/kitchen/rollingpin)) + if(cooldown < world.time - 25) + user.visible_message("[user] bashes [src] with [W]!") + playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, 1) + cooldown = world.time + else + ..() + +/* +===============~~~~~================================~~~~~==================== += = += Code for trays carrying things. By Doohl for Doohl erryday Doohl Doohl~ = += = +===============~~~~~================================~~~~~==================== +*/ +/obj/item/weapon/tray/proc/calc_carry() + // calculate the weight of the items on the tray + var/val = 0 // value to return + + for(var/obj/item/I in carrying) + if(I.w_class == 1.0) + val ++ + else if(I.w_class == 2.0) + val += 3 + else + val += 5 + + return val + +/obj/item/weapon/tray/pickup(mob/user) + + if(!isturf(loc)) + return + + for(var/obj/item/I in loc) + if( I != src && !I.anchored && !istype(I, /obj/item/clothing/under) && !istype(I, /obj/item/clothing/suit) && !istype(I, /obj/item/projectile) ) + var/add = 0 + if(I.w_class == 1.0) + add = 1 + else if(I.w_class == 2.0) + add = 3 + else + add = 5 + if(calc_carry() + add >= max_carry) + break + + I.loc = src + carrying.Add(I) + overlays += image("icon" = I.icon, "icon_state" = I.icon_state, "layer" = 30 + I.layer) + +/obj/item/weapon/tray/dropped(mob/user) + + var/mob/living/M + for(M in src.loc) //to handle hand switching + return + + var/foundtable = 0 + for(var/obj/structure/table/T in loc) + foundtable = 1 + break + + overlays.Cut() + + for(var/obj/item/I in carrying) + I.loc = loc + carrying.Remove(I) + if(!foundtable && isturf(loc)) + // if no table, presume that the person just shittily dropped the tray on the ground and made a mess everywhere! + spawn() + for(var/i = 1, i <= rand(1,2), i++) + if(I) + step(I, pick(NORTH,SOUTH,EAST,WEST)) + sleep(rand(2,4)) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index af350efec4a..9ab952de64b 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -620,7 +620,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes) M.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(M), slot_head) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchen/rollingpin(M), slot_r_hand) + M.equip_to_slot_or_del(new /obj/item/weapon/material/kitchen/rollingpin(M), slot_r_hand) M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_l_hand) M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_r_store) M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_s_store) diff --git a/code/modules/clothing/spacesuits/rig/modules/combat.dm b/code/modules/clothing/spacesuits/rig/modules/combat.dm index d40f74202ef..b367a5369f1 100644 --- a/code/modules/clothing/spacesuits/rig/modules/combat.dm +++ b/code/modules/clothing/spacesuits/rig/modules/combat.dm @@ -212,7 +212,7 @@ interface_name = "death blossom launcher" interface_desc = "An integrated microfactory that produces poisoned throwing stars from thin air and electricity." - var/fabrication_type = /obj/item/weapon/star/ninja + var/fabrication_type = /obj/item/weapon/material/star/ninja var/fire_force = 30 var/fire_distance = 10 diff --git a/code/modules/clothing/under/accessories/storage.dm b/code/modules/clothing/under/accessories/storage.dm index adae7aac8ca..53cc648eb5e 100644 --- a/code/modules/clothing/under/accessories/storage.dm +++ b/code/modules/clothing/under/accessories/storage.dm @@ -73,8 +73,8 @@ ..() hold.max_storage_space = 4 hold.can_hold = list(/obj/item/weapon/hatchet/unathiknife,\ - /obj/item/weapon/kitchen/utensil/knife,\ - /obj/item/weapon/kitchen/utensil/pknife,\ + /obj/item/weapon/material/kitchen/utensil/knife,\ + /obj/item/weapon/material/kitchen/utensil/knife/plastic,\ /obj/item/weapon/material/knife,\ /obj/item/weapon/material/knife/ritual) diff --git a/code/modules/hydroponics/grown_inedible.dm b/code/modules/hydroponics/grown_inedible.dm index e69d8a67fc3..94e8e5a0e14 100644 --- a/code/modules/hydroponics/grown_inedible.dm +++ b/code/modules/hydroponics/grown_inedible.dm @@ -45,7 +45,7 @@ /obj/item/weapon/corncob/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/material/knife) || istype(W, /obj/item/weapon/material/knife/ritual)) + if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/material/kitchen/utensil/knife) || istype(W, /obj/item/weapon/material/knife) || istype(W, /obj/item/weapon/material/knife/ritual)) user << "You use [W] to fashion a pipe out of the corn cob!" new /obj/item/clothing/mask/smokable/pipe/cobpipe (user.loc) qdel(src) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index faca2e1fb05..a63fbdd46bc 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -48,12 +48,12 @@ if(H.species.flags & IS_SYNTHETIC) H << "You have a monitor for a head, where do you think you're going to put that?" return - + var/obj/item/blocked = H.check_mouth_coverage() if(blocked) user << "\The [blocked] is in the way!" return - + if (fullness <= 50) M << "You hungrily chew out a piece of [src] and gobble it!" if (fullness > 50 && fullness <= 150) @@ -71,7 +71,7 @@ if(H.species.flags & IS_SYNTHETIC) user << "They have a monitor for a head, where do you think you're going to put that?" return - + var/obj/item/blocked = H.check_mouth_coverage() if(blocked) user << "\The [blocked] is in the way!" @@ -128,8 +128,8 @@ return // Eating with forks - if(istype(W,/obj/item/weapon/kitchen/utensil)) - var/obj/item/weapon/kitchen/utensil/U = W + if(istype(W,/obj/item/weapon/material/kitchen/utensil)) + var/obj/item/weapon/material/kitchen/utensil/U = W if(!U.reagents) U.create_reagents(5) @@ -186,9 +186,9 @@ var/reagents_per_slice = reagents.total_volume/slices_num for(var/i=1 to (slices_num-slices_lost)) - var/obj/slice = new slice_path (src.loc) + var/obj/slice = new slice_path (src.loc) reagents.trans_to_obj(slice, reagents_per_slice) - qdel(src) + qdel(src) return /obj/item/weapon/reagent_containers/food/snacks/proc/is_sliceable() @@ -2819,7 +2819,7 @@ // Dough + rolling pin = flat dough /obj/item/weapon/reagent_containers/food/snacks/dough/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/kitchen/rollingpin)) + if(istype(W,/obj/item/weapon/material/kitchen/rollingpin)) new /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough(src) user << "You flatten the dough." qdel(src) @@ -2964,7 +2964,7 @@ // potato + knife = raw sticks /obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/kitchen/utensil/knife)) + if(istype(W,/obj/item/weapon/material/kitchen/utensil/knife)) new /obj/item/weapon/reagent_containers/food/snacks/rawsticks(src) user << "You cut the potato." qdel(src) diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm index 1a09521e1af..d8cac01219a 100644 --- a/code/modules/research/xenoarchaeology/finds/finds.dm +++ b/code/modules/research/xenoarchaeology/finds/finds.dm @@ -136,11 +136,11 @@ if(3) item_type = "[pick("fork","spoon","knife")]" if(prob(25)) - new_item = new /obj/item/weapon/kitchen/utensil/fork(src.loc) + new_item = new /obj/item/weapon/material/kitchen/utensil/fork(src.loc) else if(prob(50)) - new_item = new /obj/item/weapon/kitchen/utensil/knife(src.loc) + new_item = new /obj/item/weapon/material/kitchen/utensil/knife(src.loc) else - new_item = new /obj/item/weapon/kitchen/utensil/spoon(src.loc) + new_item = new /obj/item/weapon/material/kitchen/utensil/spoon(src.loc) additional_desc = "[pick("It's like no [item_type] you've ever seen before",\ "It's a mystery how anyone is supposed to eat with this",\ "You wonder what the creator's mouth was shaped like")]." diff --git a/code/modules/surgery/brainrepair.dm b/code/modules/surgery/brainrepair.dm index 60fdffe31d2..6935b09d244 100644 --- a/code/modules/surgery/brainrepair.dm +++ b/code/modules/surgery/brainrepair.dm @@ -6,7 +6,7 @@ allowed_tools = list( /obj/item/weapon/hemostat = 100, \ /obj/item/weapon/wirecutters = 75, \ - /obj/item/weapon/kitchen/utensil/fork = 20 + /obj/item/weapon/material/kitchen/utensil/fork = 20 ) priority = 3 diff --git a/code/modules/surgery/eye.dm b/code/modules/surgery/eye.dm index 250aea66935..7b69fea7ff6 100644 --- a/code/modules/surgery/eye.dm +++ b/code/modules/surgery/eye.dm @@ -52,7 +52,7 @@ /datum/surgery_step/eye/lift_eyes allowed_tools = list( /obj/item/weapon/retractor = 100, \ - /obj/item/weapon/kitchen/utensil/fork = 50 + /obj/item/weapon/material/kitchen/utensil/fork = 50 ) min_duration = 30 diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index 4b983eb2479..0a42f7c1374 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -76,7 +76,7 @@ allowed_tools = list( /obj/item/weapon/retractor = 100, \ /obj/item/weapon/crowbar = 55, \ - /obj/item/weapon/kitchen/utensil/fork = 75) + /obj/item/weapon/material/kitchen/utensil/fork = 75) min_duration = 80 max_duration = 100 diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 0552ee800c6..31c7cbb78fe 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -185,7 +185,7 @@ allowed_tools = list( /obj/item/weapon/retractor = 100, \ /obj/item/weapon/crowbar = 75, \ - /obj/item/weapon/kitchen/utensil/fork = 50 + /obj/item/weapon/material/kitchen/utensil/fork = 50 ) min_duration = 30 diff --git a/code/modules/surgery/implant.dm b/code/modules/surgery/implant.dm index df394fcd433..9397a2e26a7 100644 --- a/code/modules/surgery/implant.dm +++ b/code/modules/surgery/implant.dm @@ -150,7 +150,7 @@ allowed_tools = list( /obj/item/weapon/hemostat = 100, \ /obj/item/weapon/wirecutters = 75, \ - /obj/item/weapon/kitchen/utensil/fork = 20 + /obj/item/weapon/material/kitchen/utensil/fork = 20 ) min_duration = 80 diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index d25d9fc5f23..a97184f35cb 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -19,7 +19,7 @@ allowed_tools = list( /obj/item/weapon/hemostat = 100, \ /obj/item/weapon/wirecutters = 75, \ - /obj/item/weapon/kitchen/utensil/fork = 20 + /obj/item/weapon/material/kitchen/utensil/fork = 20 ) blood_level = 2 @@ -267,7 +267,7 @@ allowed_tools = list( /obj/item/weapon/hemostat = 100, \ /obj/item/weapon/wirecutters = 75, \ - /obj/item/weapon/kitchen/utensil/fork = 20 + /obj/item/weapon/material/kitchen/utensil/fork = 20 ) min_duration = 60 diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index e748ece98b2..26b71475eb1 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -2504,7 +2504,7 @@ "aWh" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aWi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aWj" = (/obj/item/weapon/stool{pixel_y = 8},/obj/effect/landmark/start{name = "Gardener"},/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics/garden) -"aWk" = (/obj/structure/table/woodentable,/obj/item/weapon/kitchen/utensil/fork,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aWk" = (/obj/structure/table/woodentable,/obj/item/weapon/material/kitchen/utensil/fork,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aWl" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/library) "aWm" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aWn" = (/obj/structure/table/reinforced,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) @@ -2555,7 +2555,7 @@ "aXg" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/closet/wardrobe/white,/turf/simulated/floor,/area/crew_quarters/locker) "aXh" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) "aXi" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"aXj" = (/obj/structure/table/standard,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) +"aXj" = (/obj/structure/table/woodentable,/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aXk" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "aXl" = (/obj/machinery/door/morgue{dir = 2; name = "Private Study"; req_access = list(37)},/turf/simulated/floor{icon_state = "cult"; dir = 2},/area/library) "aXm" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "centcom_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -28; pixel_y = 26; req_one_access = list(13)},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry/aft) @@ -2586,7 +2586,7 @@ "aXL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_two) "aXM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/primary/central_two) "aXN" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access = list(28)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) -"aXO" = (/obj/structure/table/woodentable,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor/wood,/area/crew_quarters/bar) +"aXO" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/rollingpin,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/kitchen) "aXP" = (/obj/structure/disposalpipe/segment,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/crew_quarters/bar) "aXQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/woodentable,/obj/item/weapon/deck{pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) "aXR" = (/obj/item/weapon/stool,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) @@ -7498,9 +7498,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaT aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaGeaGgaGgaGiaSUaGhaSdaOYaLDaDPaHxaHxaSfaLDaOYaLDaHyaHAaHzaLEaSkaPiaPiaNkaPiaNlaIAaSmaNnaSnaIAaLKaLKaSZaLKaLKaLKaLKaLKaLKaSpaSqaLKaLKaLKaLKaLKaLKaSraSsaSraLKaTPaLKaNraQPawbauoaSwaSxaNraReaUlaMbaMbaMkaSzaKOaSAaMnaMnaSBaSBaSBaSBaSCaJeasfasNarVarXarXavParXarXarVasNawFaJeaSJaSKaSKaSKaSKaSLaSLaSMaSNaRqaRpaJlaQqaQaaQaaQaaQaaQaaQaaSQaSRaSSaSTaUOaSVaSWaSXaSYaKZaKZaVeaTaaTbaTcaTdaTeaTeaTeaTfaTgaTfaTeaTeaTeaTeaJRaIgaThaONaRLaRMaONaONaTiaIgaTjaQzaTlaGGaIoaTmaTnaToaTpaTqaIoaTraQKaGGaTtaTuaRZaTvaTwaTxaafaaaaaaaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaVfaVraVkaVIazkaSgaSeaSiaShaSjaSiaTzaTyaTBaTAaTEaTCaTAaTFcozaTIaTJaTKaTLaTLaTLaTMaTLaTNaTOaIAaVLaTQaTRaTSaTTaTUaTVaTWaTXaTUaTYaTZaUaaUbaUcaUdaUeazBaUgaUhaUeaUiaLKaLKaWoaLKaLKaLKaLKaUkaWwaLKaUmaMbaUnaSzaKOaUoaaaaaaaaaaaaaaaaaaaaaaUpaUqaUraUsaUtaUvaUuaUxaUwaUzaUyaVUaUpaaaaaaaaaaaaaaaaaaaaaaUAaSNaRqaUBaUCaUDaUEaUFaUFaUFaUFaUGaUHaUIaUFaUFaUFaUJaUKaULaUMaUNaWFaUPaUQayOaySaUTaTfaUUaUVaRCaUXaUYaUZaVaaVbaTeaJRaIgaVcaVcaRLaRMaVdaVdaWKaIgaIgaXlaIgaGGaVgaVhaViaViaViaVjaXnaGGaGGaGGaVlaVmaVnaVoaVpaVqaafaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDawdcmVaXzaXCaDPaVsaVsaVtaVsaVsaVsaVDaVsaVsaVtaVsaVsaYEaWYaVuaVvaKdaKdaKdaKdaKdaVwaVxaVyaXGaIAaTQaTQaVAaTSaVBaTUaTUaTUaTUaTUaTYaVCaTUaTUaTUaUdaUeawgaVEaVFaUeaUiaVGaVHaKeaKcaVKaUmaXIaVMaVNaVOaxwaVQaMkaSzaKOaUoaaaaaaaaaaaaaUpaUpaUpaUpaVRaSlaVTaXEaVVaSDaVXaXFaVZaSOaWbaUpaUpaUpaUpaaaaaaaaaaaaaUAaSNaRqaRpaWcaSSaSPaWeaTkaSSaTsaUWaWiaVSaWkaVWaWmaWnaQbaXNaWpaWqaWraWsaWtaWtaWuaWvaXXaWaaWyaWdaWAaWBaWCaWDaWEaTeaJRaIgaThaONaRLaRMaONaONaONaYqaWGaONaWHaGGaWIaWJaToaToaToaTqaIoaYsaGGaWfaVoaLuaWQaVoaWRaWSaWTaWTaWUaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaWgaNXaHIaQlaWgaTUaTUaTUaYwaUeaRyaUfaSvaUeaUiaVGaXpaKfaXraXsaUmaXtaxwaURaXvaUjaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaYyaYAaXDaXDaXEaXFaYMaXEaXFaXDaXDaXHaYVaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaZgaSPaXOaTkaSSaXPaXQaSSaWhaXSaTkaSSaXTaOtaXUaXVaUQaXkaXiaXjaVPaYaaYbaYcaYdaYeaWjaYgaWBaYhaWDaYiaTeaJRaIgaYjaYjaRLaRMaWlaONaONaYlaONaWzaWxaGGaIoaXRaXhaToaYfaYkaZXaWLbaOaYmaWOaZcaVoaYvaUSbaBbanaYzaVzaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTGaGgaTHaGiaBIaBIaBIaWVaWWaWWaWWaWWaWWaWWaWWaWXaBIaBLcpSaWZaIAaXcaXbaXbaXbaYraXdaIAaIAaIAaIAaTQaXeaXfaTSaXgaTUaTUaWgaNXaHIaQlaWgaTUaTUaTUaYwaUeaRyaUfaSvaUeaUiaVGaXpaKfaXraXsaUmaXtaxwaURaXvaUjaXxaMkaSzaKOaMmaSCaMbaXyaUpaUpaVYaXAaYyaYAaXDaXDaXEaXFaYMaXEaXFaXDaXDaXHaYVaXJaXBaUpaUpaXyaJlaXLaXMaSNaRqaRpaJlaZgaSPaXjaTkaSSaXPaXQaSSaWhaXSaTkaSSaXTaOtaXUaXVaUQaXkaXiaXOaVPaYaaYbaYcaYdaYeaWjaYgaWBaYhaWDaYiaTeaJRaIgaYjaYjaRLaRMaWlaONaONaYlaONaWzaWxaGGaIoaXRaXhaToaYfaYkaZXaWLbaOaYmaWOaZcaVoaYvaUSbaBbanaYzaVzaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafaYCaYDcpKaYFaWPaEfaEfaYIaKpaKQaYLbaPaKxaYOaYPaYQaYRaYSaTSaYTaTUaTUaWgaHIaIKaISaWgaTUaTUaYWaUdaUeaUeaUeaUeaUeaUiaVGaVGaVGaVGaVGaUmaYYaXvaYZaXvaXvaXxaMkaSzaKOaNSaNSaZaaZbaWNaUpaZdaYnaZfbaTbaSbaVbaUbaXbaWbaZbaYbbbbbabbcaZfaYoaZjaUpaWMaZbaZlaZmbbeaSNaRqaRpaWcaSSaSSaSSaSSaSSaXPaZoaSSaWhaZpaTkaSSaXTaOtaZqaXVaUQaNcaNeaNPaLwaYaaYpaZwaYdaYeaWjaYgaWBaYhaZxaZyaZzbbfaZzaZzaZzaZBaZCaZDaYtaOOaZFaZGaZHaZIaGGaZJaYXaYGaToaZeaYGaIoaIoaXaaZiaVoaYuaVoaZNaZOaZPaZQaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaXwaZkbaaaZvaXWbadbaeaXYaYObagbahbaibajaTSbakbalbambbhbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbkZaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbDbcybbPbbLbaRbaQbbQaUpaUpaUpaUpaUpbcDaUpaUpaUpbbRbaQbbdbbSbbWbeobcabbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXOaTkaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYaaXZbbybbzbbAbbBaYgaWBbbCaWDbcuaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaXRaXhaToaYfaXhaIobbKaGGbcBaVoaYuaVoaZNbbMbbNbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaZSaZTaZUbjnaZWaSFaXwaZkbaaaZvaXWbadbaeaXYaYObagbahbaibajaTSbakbalbambbhbaobapbaqbarbarbarbasbataTSbaubavbawbaxaKgbajbnZaKhbajbkZaUmbaDbaEbaFbaGbaHbaIaMkbaJbaKaMkbaLbaMbbDbcybbPbbLbaRbaQbbQaUpaUpaUpaUpaUpbcDaUpaUpaUpbbRbaQbbdbbSbbWbeobcabbibbjbbkbblbbmbbnaJlaUDaSPbboaTkaSSaZAaZEbbraZKaXjaTkaSSaXTbbtaULaXVbbubbvbbwaUQaUQaYaaXZbbybbzbbAbbBaYgaWBbbCaWDbcuaZzaZLbbFbbFbbGbbHbbIaRLaRLaRLaRLaRLaRLaRLaGGbbJaXRaXhaToaYfaXhaIobbKaGGbcBaVoaYuaVoaZNbbMbbNbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaXubcFbcZaXmbbUaSFbaabaabaabaabaabbVbaaaXoaYObbXbbYbaibbZbbZbbZbbZbdKbbZbcbaTUbccbcdbcebcebcfbcgaTSaXebchbcibcjaKibdQblcaKkbcobcobcpbcpbcpbcpbcpbcqaMbbcrbcsbctbeabcvbcwbcxbbgaUpbczbcAbeeaUpaUpaaaaaaaafaafbekaaaaaaaUpaUpbezbcGbczaUpbbgbcxbcHbcIbcJbcKbcLaRpaWcaSSaSSaSSaSSaSSaGpbcMaSSbcNaSSbcObcObcObcObeBbcQbcRbcSaUQaUQaUQbeMbcUaTeaZMbcWbcXaYgaWBaYhaWDbcYaZzaZZbdabdbbdcbddbdebddbddbddbddbddbdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdraVoaYubdsaZNaVobeNbbOaafaaaaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBbdubdvaZUbdwbdxaSFaEfbabbaaaZvaDobbVbaabdAaYObbpbdCbaibbZbdDbdEbdFbdGbbZaEgbdIbdJaTSbeRbdLbdMbdNaTSaXebdObdPbdPbeVbdPbdPbdPbdPbdRbdSbdSbdSbdTbdSbdUaMbbdVbdWbdXbdYbdYbdYbdYbdYbdYbdZbeWbdZbdYbebbebbebbebbebbecbebbebbebbedbedbfobedaUpaUpaUpaJiaJiaJibcKbcLaRpaJlbefbegaDmbehaSSbeibcMbejbfqbelbcObcObembenaZzaZzaZzbfwaSGaSGaSGaZzaZzaZzbeqberbesbetaWBaYhaYhbeuaZzbevbewbbqaZzbeybbsbeAaYtbfxbbEbeDbcmaONaGGaIobeFbeGbeHbeFbeIaIoaIoaGGbeJaVoaYuaVoaZNbeKbeLbbOaafaafaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaTDaaaaaaaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaYBaafbeObePbeQbfWaRtaEfaEdbeUaEcaDobbVbgNbgMaYObeXbeYbaibbZbbZbbZbeZbfabbZbfbbdIbfcaTSbeRbdLbdMbfdaTSaXebdObdPbfebffbfgbfgbfhbdPbfibcVbfkbflbfmbfmbfmaMbaMkbcsbctbdYbfnbgUbfpbgWbfrbfsbftbfubdYbebbfvbgXbfvbhebhCbfvbdybebbedbfCbfDbfEbfFbfGbfHbfIbfJaJibfKbfLbfMaJlaZzaZzaZzaZzbfNbfObfPbfQaZzaZzbfRaZzaZzaZzaZzbfSbfTbfUbfVbfVbfVbhJbfXaZzbfYbfZbgabgbbgcbgcbgcbgdaZzbevbewbdBaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzaZzbgfbggbghbgibgjbgfbggaZzaRZbgkaVoaYuaVoaZNaZObglbgmaWTaZRaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaIuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 3d78230a67a..c3f06346e79 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -802,7 +802,7 @@ "pv" = (/obj/item/device/multitool,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "pw" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/reinforced{icon_state = "table"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "px" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) -"py" = (/obj/structure/table/standard,/obj/item/weapon/kitchen/utensil/knife{pixel_x = -6},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"py" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/knife{pixel_x = -6},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/weapon/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "pz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_station/start) "pA" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) "pB" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) @@ -963,7 +963,7 @@ "sA" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) "sB" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) "sC" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living) -"sD" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) +"sD" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/material/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) "sE" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/shuttle/floor,/area/supply/dock) "sF" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/plating,/area/supply/dock) "sG" = (/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)