diff --git a/code/WorkInProgress/Cameras.dm b/code/WorkInProgress/Cameras.dm index 3d989b65d3..30eff37eab 100644 --- a/code/WorkInProgress/Cameras.dm +++ b/code/WorkInProgress/Cameras.dm @@ -3,6 +3,7 @@ icon = 'items.dmi' icon_state = "album" item_state = "briefcase" + can_hold = list("/obj/item/weapon/photo",) /obj/item/weapon/storage/photo_album/MouseDrop(obj/over_object as obj) @@ -32,31 +33,7 @@ return /obj/item/weapon/storage/photo_album/attackby(obj/item/weapon/W as obj, mob/user as mob) - //..() - - if (src.contents.len >= 7) - return - - if (!istype(W,/obj/item/weapon/photo)) - user << "\red You can only put photos in a photo album." - return - - var/t - for(var/obj/item/weapon/O in src) - t += O.w_class - - playsound(src.loc, "rustle", 50, 1, -5) - user.u_equip(W) - W.loc = src - if ((user.client && user.s_active != src)) - user.client.screen -= W - src.orient2hud(user) - W.dropped(user) - add_fingerprint(user) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\blue [] has added [] to []!", user, W, src), 1) - - return + ..() /obj/item/weapon/camera_test name = "camera" diff --git a/code/defines/obj.dm b/code/defines/obj.dm index faf90abbeb..373974cdb6 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -1068,6 +1068,20 @@ src.pixel_x = rand(-5, 5) src.pixel_y = rand(-5, 5) +/obj/item/weapon/storage + icon = 'storage.dmi' + name = "storage" + var/list/can_hold = new/list() //List of objects which this item can store (if set, it can't store anything else) + var/list/cant_hold = new/list() //List of objects which this item can't store (in effect only if can_hold isn't set) + var/max_w_class = 2 //Max size of objects that this object can store (in effect only if can_hold isn't set) + var/max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item. + var/storage_slots = 7 //The number of storage slots in this container. + var/obj/screen/storage/boxes = null + var/obj/screen/close/closer = null + w_class = 3.0 + + +/* /obj/item/weapon/storage/glassbox name = "Glassware Box" icon_state = "beakerbox" @@ -1081,6 +1095,7 @@ new /obj/item/weapon/glass( src ) new /obj/item/weapon/glass( src ) new /obj/item/weapon/glass( src ) +*/ /obj/item/weapon/storage/cupbox name = "Paper-cup Box" diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm index 5ab28ed958..1ee910188a 100644 --- a/code/defines/obj/storage.dm +++ b/code/defines/obj/storage.dm @@ -49,19 +49,13 @@ ) flags = FPRINT | TABLEPASS | ONBELT -/obj/item/weapon/storage - icon = 'storage.dmi' - name = "storage" - var/list/can_hold = new/list() - var/obj/screen/storage/boxes = null - var/obj/screen/close/closer = null - w_class = 3.0 - /obj/item/weapon/storage/backpack name = "backpack" icon_state = "backpack" w_class = 4.0 flags = 259.0 + max_w_class = 3 + max_combined_w_class = 20 /obj/item/weapon/storage/pill_bottle name = "pill bottle" @@ -114,6 +108,8 @@ throw_speed = 1 throw_range = 4 w_class = 4.0 + max_w_class = 3 + max_combined_w_class = 16 /obj/item/weapon/storage/disk_kit name = "data disks" @@ -144,7 +140,7 @@ /obj/item/weapon/storage/firstaid/regular icon_state = "firstaid" -/obj/item/weapon/storage/firstaid/syringes +/obj/item/weapon/storage/syringes name = "Syringes" desc = "A biohazard alert warning is printed on the box" icon_state = "syringe" diff --git a/code/defines/obj/supplypacks.dm b/code/defines/obj/supplypacks.dm index 2f9bca056f..0808312d3e 100644 --- a/code/defines/obj/supplypacks.dm +++ b/code/defines/obj/supplypacks.dm @@ -148,7 +148,7 @@ "/obj/item/weapon/reagent_containers/glass/bottle/antitoxin", "/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline", "/obj/item/weapon/reagent_containers/glass/bottle/stoxin", - "/obj/item/weapon/storage/firstaid/syringes") + "/obj/item/weapon/storage/syringes") cost = 10 containertype = "/obj/crate/medical" containername = "Medical crate" @@ -164,7 +164,7 @@ // "/obj/item/weapon/reagent_containers/glass/bottle/gbs", No. Just no. "/obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat", "/obj/item/weapon/reagent_containers/glass/bottle/brainrot", - "/obj/item/weapon/storage/firstaid/syringes", + "/obj/item/weapon/storage/syringes", "/obj/item/weapon/storage/beakerbox") cost = 20 containertype = "/obj/crate/secure/weapon" diff --git a/code/game/machinery/bots/floorbot.dm b/code/game/machinery/bots/floorbot.dm index a86c80a53e..0d1bc4842c 100644 --- a/code/game/machinery/bots/floorbot.dm +++ b/code/game/machinery/bots/floorbot.dm @@ -362,7 +362,6 @@ /obj/item/weapon/storage/toolbox/mechanical/attackby(var/obj/item/stack/tile/steel/T, mob/user as mob) - ..() if(!istype(T, /obj/item/stack/tile/steel)) ..() return diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm index c9295285a9..2aec5a7194 100644 --- a/code/game/machinery/bots/medbot.dm +++ b/code/game/machinery/bots/medbot.dm @@ -523,42 +523,36 @@ */ /obj/item/weapon/storage/firstaid/attackby(var/obj/item/robot_parts/S, mob/user as mob) - //..() + if ((!istype(S, /obj/item/robot_parts/l_arm)) && (!istype(S, /obj/item/robot_parts/r_arm))) - if (src.contents.len >= 7) - return - if ((S.w_class >= 2 || istype(S, /obj/item/weapon/storage))) - return ..() return - //Syringekit doesn't count EVER. - if(src.type == /obj/item/weapon/storage/firstaid/syringes) - return - + //Making a medibot! if(src.contents.len >= 1) user << "\red You need to empty [src] out first!" return - else - var/obj/item/weapon/firstaid_arm_assembly/A = new /obj/item/weapon/firstaid_arm_assembly - if(istype(src,/obj/item/weapon/storage/firstaid/fire)) - A.skin = "ointment" - else if(istype(src,/obj/item/weapon/storage/firstaid/toxin)) - A.skin = "tox" - else if(istype(src,/obj/item/weapon/storage/firstaid/o2)) - A.skin = "o2" - A.loc = user - if (user.r_hand == S) - user.u_equip(S) - user.r_hand = A - else - user.u_equip(S) - user.l_hand = A - A.layer = 20 - user << "You add the robot arm to the first aid kit" - del(S) - del(src) + var/obj/item/weapon/firstaid_arm_assembly/A = new /obj/item/weapon/firstaid_arm_assembly + if(istype(src,/obj/item/weapon/storage/firstaid/fire)) + A.skin = "ointment" + else if(istype(src,/obj/item/weapon/storage/firstaid/toxin)) + A.skin = "tox" + else if(istype(src,/obj/item/weapon/storage/firstaid/o2)) + A.skin = "o2" + + A.loc = user + if (user.r_hand == S) + user.u_equip(S) + user.r_hand = A + else + user.u_equip(S) + user.l_hand = A + A.layer = 20 + user << "You add the robot arm to the first aid kit" + del(S) + del(src) + /obj/item/weapon/firstaid_arm_assembly/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() diff --git a/code/game/objects/closets/secure/medical.dm b/code/game/objects/closets/secure/medical.dm index 6ba99fd882..50c7365933 100644 --- a/code/game/objects/closets/secure/medical.dm +++ b/code/game/objects/closets/secure/medical.dm @@ -11,7 +11,7 @@ //new /obj/item/weapon/reagent_containers/glass/bottle/stoxin( src ) //new /obj/item/weapon/reagent_containers/glass/bottle/stoxin( src ) //new /obj/item/weapon/reagent_containers/glass/bottle/toxin( src ) - new /obj/item/weapon/storage/firstaid/syringes( src ) + new /obj/item/weapon/storage/syringes( src ) new /obj/item/weapon/reagent_containers/dropper( src ) new /obj/item/weapon/reagent_containers/dropper( src ) new /obj/item/weapon/reagent_containers/glass/beaker( src ) diff --git a/code/game/objects/items/weapons/toilets.dm b/code/game/objects/items/weapons/toilets.dm index cccb470093..5aa5e0d169 100644 --- a/code/game/objects/items/weapons/toilets.dm +++ b/code/game/objects/items/weapons/toilets.dm @@ -2,7 +2,6 @@ CONTAINS: TOILET -*/ /obj/item/weapon/storage/toilet name = "toilet" w_class = 4.0 @@ -91,4 +90,7 @@ TOILET else if((src.clogged >= 1) || (src.contents.len >= 7) || (user.buckled != src.loc)) for(var/mob/O in viewers(user, null)) O << text("\blue The toilet is clogged!") - return \ No newline at end of file + return + + +*/ \ No newline at end of file diff --git a/code/game/objects/storage/backpack.dm b/code/game/objects/storage/backpack.dm index b5ddfe6cfc..0049d5a6e8 100644 --- a/code/game/objects/storage/backpack.dm +++ b/code/game/objects/storage/backpack.dm @@ -35,35 +35,9 @@ return /obj/item/weapon/storage/backpack/attackby(obj/item/weapon/W as obj, mob/user as mob) - //..() - - if (src.contents.len >= 7) - return - if (W.w_class > 3 || src.loc == W) - if(W.w_class > 3) - user << "[W] is too big to fit into the backpack." - return - var/t - for(var/obj/item/weapon/O in src) - t += O.w_class - //Foreach goto(46) - t += W.w_class - if (t > 20) - user << "You cannot fit the item inside. (Remove larger classed items)" - return playsound(src.loc, "rustle", 50, 1, -5) - user.u_equip(W) - W.loc = src - if ((user.client && user.s_active != src)) - user.client.screen -= W - src.orient2hud(user) - W.dropped(user) - if (istype(W, /obj/item/weapon/gun/energy/crossbow)) return //STEALTHY - add_fingerprint(user) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\blue [] has added [] to []!", user, W, src), 1) - //Foreach goto(206) - return + ..() + /obj/item/weapon/storage/backpack/holding name = "Bag of Holding" @@ -79,39 +53,13 @@ if(crit_fail) user << "\red The Bluespace generator isn't working." return - if(istype(W, /obj/item/weapon/storage/backpack/holding) && !W.crit_fail) user << "\red The Bluespace interfaces of the two devices catastrophically malfunction!" del(W) new /obj/machinery/singularity (get_turf(src)) del(src) return - - if (src.contents.len >= 7) - user << "\red The Bluespace interface currently does not allow for more than 7 items to be stored. We're working on it! --R&D" - return - if (W.w_class > 3 || src.loc == W) - if(!failcheck(user)) - return - var/t - for(var/obj/item/weapon/O in src) - t += O.w_class - //Foreach goto(46) - t += W.w_class - if (t > 20) - if(!failcheck(user)) - return - playsound(src.loc, "rustle", 50, 1, -5) - user.u_equip(W) - W.loc = src - if ((user.client && user.s_active != src)) - user.client.screen -= W - src.orient2hud(user) - W.dropped(user) - if (istype(W, /obj/item/weapon/gun/energy/crossbow)) return //STEALTHY - add_fingerprint(user) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\blue [] has added [] to []!", user, W, src), 1) + ..() proc/failcheck(mob/user as mob) if (prob(src.reliability)) return 1 //No failure diff --git a/code/game/objects/storage/bible.dm b/code/game/objects/storage/bible.dm index f1e32edab6..079e16e6ed 100644 --- a/code/game/objects/storage/bible.dm +++ b/code/game/objects/storage/bible.dm @@ -81,29 +81,5 @@ call(/obj/rune/proc/revealrunes)(src) /obj/item/weapon/storage/bible/attackby(obj/item/weapon/W as obj, mob/user as mob) - //..() - if (istype(W, /obj/item/weapon/storage/bible)) - return - if (src.contents.len >= 7) - return - if (W.w_class > 3) - return - var/t - for(var/obj/item/weapon/O in src) - t += O.w_class - //Foreach goto(46) - t += W.w_class - if (t > 5) - - user << "You cannot fit the item inside. (Remove larger classed items)" - return playsound(src.loc, "rustle", 50, 1, -5) - user.u_equip(W) - W.loc = src - if ((user.client && user.s_active != src)) - user.client.screen -= W - src.orient2hud(user) - W.dropped(user) - add_fingerprint(user) - return - + ..() diff --git a/code/game/objects/storage/firstaid.dm b/code/game/objects/storage/firstaid.dm index a09a4b2f3e..abfc34bd16 100644 --- a/code/game/objects/storage/firstaid.dm +++ b/code/game/objects/storage/firstaid.dm @@ -11,9 +11,8 @@ new /obj/item/weapon/reagent_containers/pill/kelotane( src ) //Replaced ointment with these since they actually work --Errorage return -/obj/item/weapon/storage/firstaid/syringes/New() +/obj/item/weapon/storage/syringes/New() ..() - if (empty) return new /obj/item/weapon/reagent_containers/syringe( src ) new /obj/item/weapon/reagent_containers/syringe( src ) new /obj/item/weapon/reagent_containers/syringe( src ) diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm index 059c03b5ed..231fb4be88 100644 --- a/code/game/objects/storage/storage.dm +++ b/code/game/objects/storage/storage.dm @@ -48,54 +48,87 @@ user.s_active = null return +//This proc draws out the inventory and places the items on it. tx and ty are the upper left tile and mx, my are the bottm right. +//The numbers are calculated from the bottom-left (Right hand slot on the map) being 1,1. /obj/item/weapon/storage/proc/orient_objs(tx, ty, mx, my) - var/cx = tx var/cy = ty - src.boxes.screen_loc = text("[],[] to [],[]", tx, ty, mx, my) + src.boxes.screen_loc = text("[tx],[ty] to [mx],[my]") for(var/obj/O in src.contents) - O.screen_loc = text("[],[]", cx, cy) + O.screen_loc = text("[cx],[cy]") O.layer = 20 cx++ if (cx > mx) cx = tx cy-- - //Foreach goto(56) - src.closer.screen_loc = text("[],[]", mx, my) + src.closer.screen_loc = text("[mx+1],[my]") return - +//This proc determins the size of the inventory to be displayed. Please touch it only if you know what you're doing. /obj/item/weapon/storage/proc/orient2hud(mob/user as mob) var/mob/living/carbon/human/H = user + var/col_num = 0 + var/row_count = min(7,storage_slots) -1 + if (contents.len > 7) + if(contents.len % 7) //So having 14 items keeps them in 2 wors instead of 3 + col_num = round(contents.len / 7) // 7 is the maximum allowed column height for r_hand, l_hand and back storage items. if (src == user.l_hand) - src.orient_objs(3, 11, 3, 4) + src.orient_objs(3-col_num, 3+row_count, 3, 3) else if(src == user.r_hand) - src.orient_objs(1, 11, 1, 4) + src.orient_objs(1, 3+row_count, 1+col_num, 3) else if(src == user.back) - src.orient_objs(4, 10, 4, 3) + src.orient_objs(4-col_num, 3+row_count, 4, 3) else if(istype(user, /mob/living/carbon/human) && src == H.belt)//only humans have belts src.orient_objs(1, 3, 8, 3) else - src.orient_objs(7, 8, 10, 7) + src.orient_objs(5, 10, 11, 10) return - +//This proc is called when you want to place an item into the storage item. /obj/item/weapon/storage/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() if(isrobot(user)) - return + user << "\blue You're a robot. No." + return //Robots can't interact with storage items. + + if(src.loc == W) + return //Means the item is already in the storage item + + if(contents.len >= storage_slots) + user << "\red The [src] is full, make some space." + return //Storage item is full + if(can_hold.len) var/ok = 0 for(var/A in can_hold) - if(istype(W, text2path(A) )) ok = 1 + if(istype(W, text2path(A) )) + ok = 1 + break if(!ok) - user << "\red This container cannot hold [W]." + user << "\red This [src] cannot hold [W]." return - if (src.contents.len >= 7) + for(var/A in cant_hold) //Check for specific items which this container can't hold. + if(istype(W, text2path(A) )) + user << "\red This [src] cannot hold [W]." + return + + if (W.w_class > max_w_class) + user << "\red This [W] is too big for this [src]" return - if ((W.w_class >= 3 || (istype(W, /obj/item/weapon/storage) && !istype(W, /obj/item/weapon/storage/pill_bottle)) || src.loc == W)) + + var/sum_w_class = W.w_class + for(var/obj/item/I in contents) + sum_w_class += I.w_class //Adds up the combined w_classes which will be in the storage item if the item is added to it. + + if(sum_w_class > max_combined_w_class) + user << "\red The [W] cannot fit in the [src]. Remove some items or add a smaller one.." return + + if ( W.w_class >= src.w_class && (istype(W, /obj/item/weapon/storage))) + user << "\red The [src] cannot hold [W] as it's a storage item of the same size." + return //To prevent the stacking of the same sized items. + user.u_equip(W) W.loc = src if ((user.client && user.s_active != src)) @@ -105,13 +138,12 @@ add_fingerprint(user) if (istype(W, /obj/item/weapon/gun/energy/crossbow)) return //STEALTHY for(var/mob/O in viewers(user, null)) - O.show_message(text("\blue [] has added [] to []!", user, W, src), 1) + O.show_message(text("\blue [user] has added [W] to [src]!")) //Foreach goto(139) return /obj/item/weapon/storage/dropped(mob/user as mob) - - src.orient_objs(7, 8, 10, 7) + src.orient_objs(5,10,12,10) return /obj/item/weapon/storage/MouseDrop(over_object, src_location, over_location) @@ -125,7 +157,6 @@ /obj/item/weapon/storage/attack_paw(mob/user as mob) playsound(src.loc, "rustle", 50, 1, -5) return src.attack_hand(user) - return /obj/item/weapon/storage/attack_hand(mob/user as mob) playsound(src.loc, "rustle", 50, 1, -5) @@ -138,7 +169,6 @@ for(var/mob/M in range(1)) if (M.s_active == src) src.close(M) - //Foreach goto(76) src.orient2hud(user) src.add_fingerprint(user) return @@ -156,7 +186,7 @@ src.closer.icon_state = "x" src.closer.layer = 20 spawn( 5 ) - src.orient_objs(7, 8, 10, 7) + src.orient_objs(5, 10, 12, 10) return return diff --git a/config/admins.txt b/config/admins.txt index c1619c36b1..71296453cf 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -21,6 +21,6 @@ mario90900 - Game Admin atomictroop - Game Admin fateweaver - Game Admin agouri - Game Admin -errorage - Game Admin +errorage - Game Master uhangi - Trial Admin \ No newline at end of file diff --git a/maps/tgstation.2.0.7.dmm b/maps/tgstation.2.0.7.dmm index a4e5815051..236d9665d1 100644 --- a/maps/tgstation.2.0.7.dmm +++ b/maps/tgstation.2.0.7.dmm @@ -3559,7 +3559,7 @@ "bqw" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bqx" = (/obj/machinery/light{dir = 1},/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bqy" = (/obj/grille,/obj/window/reinforced,/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 8},/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/medbay) -"bqz" = (/obj/table{dir = 10; icon_state = "tabledir"},/obj/item/weapon/storage/firstaid/syringes{pixel_y = 4; pixel_z = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) +"bqz" = (/obj/table{dir = 10; icon_state = "tabledir"},/obj/item/weapon/storage/syringes{pixel_y = 4; pixel_z = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bqA" = (/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 8},/obj/grille,/turf/simulated/floor/plating,/area/medical/surgery) "bqB" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/medical/surgery) "bqC" = (/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) @@ -3675,7 +3675,7 @@ "bsI" = (/obj/machinery/camera{c_tag = "Bar"; dir = 8; network = "SS13"},/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/table/reinforced{dir = 8; icon_state = "reinf_tabledir"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) "bsJ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/obj/secure_closet/medical3{pixel_x = -5},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/medical/medbay) "bsK" = (/obj/machinery/light,/obj/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) -"bsL" = (/obj/table{icon_state = "table_vertical"; dir = 1},/obj/item/weapon/storage/firstaid/syringes,/obj/item/weapon/storage/utilitybelt/medical{pixel_x = 4; pixel_y = -7},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) +"bsL" = (/obj/table{icon_state = "table_vertical"; dir = 1},/obj/item/weapon/storage/syringes,/obj/item/weapon/storage/utilitybelt/medical{pixel_x = 4; pixel_y = -7},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bsM" = (/obj/machinery/light,/obj/item/device/radio/intercom{pixel_y = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bsN" = (/obj/secure_closet/medical2{pixel_x = 5},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/medical/medbay) "bsO" = (/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/medical/medbay) @@ -4879,7 +4879,7 @@ "bPQ" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/crew_quarters/hor) "bPR" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/disposalpipe/segment{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bPS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/disposalpipe/segment{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bPT" = (/obj/table{dir = 1; icon_state = "tabledir"},/obj/item/weapon/storage/firstaid/syringes,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"bPT" = (/obj/table{dir = 1; icon_state = "tabledir"},/obj/item/weapon/storage/syringes,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bPU" = (/obj/table{dir = 1; icon_state = "tabledir"},/obj/item/weapon/reagent_containers/glass/bottle/flu_virion,/obj/item/weapon/reagent_containers/glass/bottle/cold{pixel_x = 6; pixel_y = -3},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bPV" = (/obj/table{dir = 1; icon_state = "tabledir"},/obj/item/weapon/storage/beakerbox,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bPW" = (/obj/table{dir = 1; icon_state = "tabledir"},/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) diff --git a/tgstation.dme b/tgstation.dme index bc0718aa06..7b7ab2a6e2 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -130,6 +130,7 @@ #define FILE_DIR "icons/turf" #define FILE_DIR "interface" #define FILE_DIR "maps" +#define FILE_DIR "maps/backup" #define FILE_DIR "sound" #define FILE_DIR "sound/ambience" #define FILE_DIR "sound/announcer"