From 7ffdec48bf0f03800b59c15249ce164c1391cc12 Mon Sep 17 00:00:00 2001 From: "VivianFoxfoot@gmail.com" Date: Fri, 13 Jan 2012 02:15:22 +0000 Subject: [PATCH] Fixes fire extinguishers in space, removes empty hand requirement, which wasn't supposed to be committed. My bad. Adds the ability for door buttons to both close the doors they're attached to, and also a framework for controlling their other functions like idscan/bolts. Adds a secure safe to the HoS's office and a new flashbang grenade! Secure safes can now hold 8 weight units of stuff by default. Adds a reply function to the comm. console prayers as well as a confirmation button on BSA. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2946 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/obj/machinery.dm | 10 ++ code/game/machinery/door_control.dm | 40 ++++++-- code/game/objects/items.dm | 2 +- code/game/objects/items/weapons/grenades.dm | 105 +++++++++++++++++--- code/game/objects/secstorage/secstorage.dm | 3 +- code/game/objects/secstorage/ssafe.dm | 7 +- code/game/objects/storage/lockbox.dm | 12 ++- code/modules/admin/admin.dm | 37 +++++++ code/modules/admin/verbs/pray.dm | 4 +- code/modules/mob/mob_movement.dm | 2 + code/setup.dm | 7 ++ icons/obj/grenade.dmi | Bin 476 -> 751 bytes maps/tgstation.2.0.8.dmm | 12 +-- tgstation.dme | 1 + 14 files changed, 208 insertions(+), 34 deletions(-) diff --git a/code/defines/obj/machinery.dm b/code/defines/obj/machinery.dm index a187a17056b..97f93bab188 100644 --- a/code/defines/obj/machinery.dm +++ b/code/defines/obj/machinery.dm @@ -212,6 +212,16 @@ var/id = null var/range = 10 var/normaldoorcontrol = 0 + var/desiredstate = 0 // Zero is closed, 1 is open. + var/specialfunctions = 1 + /* + Bitflag, 1= open + 2= idscan, + 4= bolts + 8= shock + 16= door safties + + */ anchored = 1.0 use_power = 1 idle_power_usage = 2 diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm index 8999a1d54b6..cf4cde27801 100644 --- a/code/game/machinery/door_control.dm +++ b/code/game/machinery/door_control.dm @@ -18,14 +18,39 @@ if(normaldoorcontrol) for(var/obj/machinery/door/airlock/D in range(range)) if(D.id_tag == src.id) - if (D.density) - spawn( 0 ) - D.open() - return + if(desiredstate == 1) + if(specialfunctions & OPEN) + if (D.density) + spawn( 0 ) + D.open() + return + if(specialfunctions & IDSCAN) + D.aiDisabledIdScanner = 1 + if(specialfunctions & BOLTS) + spawn(5) + D.locked = 1 + if(specialfunctions & SHOCK) + D.secondsElectrified = -1 + if(specialfunctions & SAFE) + D.safe = 0 + else - spawn( 0 ) - // D.close() - return + if(specialfunctions & OPEN) + if (!D.density) + spawn( 0 ) + D.close() + return + if(specialfunctions & IDSCAN) + D.aiDisabledIdScanner = 0 + if(specialfunctions & BOLTS) + spawn(5) + D.locked = 0 + if(specialfunctions & SHOCK) + D.secondsElectrified = 0 + if(specialfunctions & SAFE) + D.safe = 1 + + else for(var/obj/machinery/door/poddoor/M in machines) @@ -39,6 +64,7 @@ M.close() return + desiredstate = !desiredstate spawn(15) if(!(stat & NOPOWER)) icon_state = "doorctrl0" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index e17849799b3..6f13e31e9e9 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -148,7 +148,7 @@ sleep(2) var/area/a = get_area(usr.loc) - if((istype(src.loc, /turf/space)) || (a.has_gravity == 0)) + if((istype(usr.loc, /turf/space)) || (a.has_gravity == 0)) user.inertia_dir = get_dir(target, user) step(user, user.inertia_dir) diff --git a/code/game/objects/items/weapons/grenades.dm b/code/game/objects/items/weapons/grenades.dm index 35b17ceb801..0887c2c8887 100644 --- a/code/game/objects/items/weapons/grenades.dm +++ b/code/game/objects/items/weapons/grenades.dm @@ -93,6 +93,7 @@ FLASHBANG var active = 0 det_time = 30 + banglet = 0 proc bang(var/turf/T , var/mob/living/carbon/M) prime() @@ -206,14 +207,16 @@ FLASHBANG if (M.eye_stat >= 20) M << "\red Your eyes start to burn badly!" M.disabilities |= 1 - if (prob(M.eye_stat - 20 + 1)) - M << "\red You can't see anything!" - M.sdisabilities |= 1 + if(!banglet && !(istype(src , /obj/item/weapon/flashbang/clusterbang))) + if (prob(M.eye_stat - 20 + 1)) + M << "\red You can't see anything!" + M.sdisabilities |= 1 if (M.ear_damage >= 15) M << "\red Your ears start to ring badly!" - if (prob(M.ear_damage - 10 + 5)) - M << "\red You can't hear anything!" - M.sdisabilities |= 4 + if(!banglet && !(istype(src , /obj/item/weapon/flashbang/clusterbang))) + if (prob(M.ear_damage - 10 + 5)) + M << "\red You can't hear anything!" + M.sdisabilities |= 4 else if (M.ear_damage >= 5) M << "\red Your ears start to ring!" @@ -232,9 +235,7 @@ FLASHBANG for(var/mob/living/carbon/M in viewers(T, null)) bang(T, M) - -//Blob damage here - for(var/obj/effect/blob/B in view(8,T)) + for(var/obj/effect/blob/B in view(8,T)) //Blob damage here var/damage = round(30/(get_dist(B,T)+1)) B.health -= damage B.update() @@ -255,6 +256,12 @@ FLASHBANG return + attack_hand() + walk(src, null, null) + ..() + return + + clown_check(var/mob/living/user) if ((user.mutations & CLUMSY) && prob(50)) user << "\red Huh? How does this thing work?!" @@ -266,12 +273,80 @@ FLASHBANG return 0 return 1 - - - - - - +/obj/item/weapon/flashbang/clusterbang + desc = "Use of this weapon may constiute a war crime in your area, consult your local captain." + name = "Clusterbang" + icon = 'grenade.dmi' + icon_state = "clusterbang" + var/child = 0 + + attack_self(mob/user as mob) + if(!active) + //world << "cluster attack self" + user << "\red You prime the clusterbang! [det_time/10] seconds!" + src.active = 1 + src.icon_state = "clusterbang1" + playsound(src.loc, 'armbomb.ogg', 75, 1, -3) + spawn(src.det_time) + arm(user) + return + + afterattack(atom/target as mob|obj|turf|area, mob/user as mob) + if (istype(target, /obj/item/weapon/storage)) return ..() // Trying to put it in a full container + if (istype(target, /obj/item/weapon/gun/grenadelauncher)) return ..() + if((user.equipped() == src)&&(!active)) + //world << "cluster after attack" + arm(user) + user.dir = get_dir(user, target) + user.drop_item() + var/t = (isturf(target) ? target : target.loc) + walk_towards(src, t, 3) + return + +/obj/item/weapon/flashbang/clusterbang/proc/arm(mob/user as mob) + + //world << "Armed!" + var/numspawned = rand(4,8) +// world << numspawned + var/again = 0 + if(!child) + for(var/more = numspawned,more > 0,more--) + if(prob(35)) + again++ + numspawned -- + + for(,numspawned > 0, numspawned--) + //world << "Spawned Flashbang!" + spawn(0) + var/obj/item/weapon/flashbang/F = new /obj/item/weapon/flashbang(src) + F.loc = src.loc + F.icon_state = "flashbang1" + playsound(src.loc, 'armbomb.ogg', 75, 1, -3) + F.active = 1 + F.banglet = 1 + var/stepdist = rand(1,3) + step_away(F,src,stepdist) + var/dettime = rand(15,60) + spawn(dettime) + F.prime() + + for(,again > 0, again--) + //world << "Spawned CFlashbang!" + spawn(0) + var/obj/item/weapon/flashbang/clusterbang/F = new /obj/item/weapon/flashbang/clusterbang(src) + F.loc = src.loc + F.active = 1 + F.child = 1 + F.icon_state = "clusterbang1" + var/stepdist = rand(1,3) + step_away(F,src,stepdist) + spawn(30) + F.arm() + + spawn(70) + prime() + + return diff --git a/code/game/objects/secstorage/secstorage.dm b/code/game/objects/secstorage/secstorage.dm index 9c6f5e324c7..c981897c27d 100644 --- a/code/game/objects/secstorage/secstorage.dm +++ b/code/game/objects/secstorage/secstorage.dm @@ -13,6 +13,7 @@ var/l_hacking = 0 var/emagged = 0 var/open = 0 + var/internalstorage = 3 w_class = 3.0 /obj/item/weapon/secstorage/examine() @@ -111,7 +112,7 @@ else user << "You short out the lock on [src]." return - if ((W.w_class > 3 || istype(W, /obj/item/weapon/secstorage))) + if ((W.w_class > internalstorage || istype(W, /obj/item/weapon/secstorage))) return if ((istype(W, /obj/item/weapon/screwdriver)) && (src.locked == 1)) sleep(6) diff --git a/code/game/objects/secstorage/ssafe.dm b/code/game/objects/secstorage/ssafe.dm index 28d58e713d0..b2882454908 100644 --- a/code/game/objects/secstorage/ssafe.dm +++ b/code/game/objects/secstorage/ssafe.dm @@ -7,7 +7,8 @@ icon_sparking = "safespark" flags = FPRINT | TABLEPASS force = 8.0 - w_class = 4.0 + w_class = 8.0 + internalstorage = 8 anchored = 1.0 density = 0 @@ -16,5 +17,9 @@ new /obj/item/weapon/paper(src) new /obj/item/weapon/pen(src) +/obj/item/weapon/secstorage/ssafe/HoS/New() + ..() + new /obj/item/weapon/storage/lockbox/clusterbang(src) + /obj/item/weapon/secstorage/ssafe/attack_hand(mob/user as mob) return attack_self(user) \ No newline at end of file diff --git a/code/game/objects/storage/lockbox.dm b/code/game/objects/storage/lockbox.dm index 49b9d3b3fda..a5f64ab0e6c 100644 --- a/code/game/objects/storage/lockbox.dm +++ b/code/game/objects/storage/lockbox.dm @@ -74,4 +74,14 @@ new /obj/item/weapon/implantcase/loyalty(src) new /obj/item/weapon/implantcase/loyalty(src) new /obj/item/weapon/implantcase/loyalty(src) - new /obj/item/weapon/implanter/loyalty(src) \ No newline at end of file + new /obj/item/weapon/implanter/loyalty(src) + + +/obj/item/weapon/storage/lockbox/clusterbang + name = "Lockbox (Clusterbang)" + desc = "You have a bad feeling about opening this." + req_access = list(access_security) + + New() + ..() + new /obj/item/weapon/flashbang/clusterbang(src) \ No newline at end of file diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 3b8dfb28af9..774bb3c438e 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -832,6 +832,13 @@ if (href_list["BlueSpaceArtillery"]) var/mob/M = locate(href_list["BlueSpaceArtillery"]) + if(!M) + return + + var/choice = alert(src.owner, "Are you sure you wish to hit [key_name(M)] with Blue Space Artillery?", "Confirm Firing?" , "Yes" , "No") + if (choice == "No") + return + M << "You've been hit by bluespace artillery!" log_admin("[key_name(M)] has been hit by Bluespace Artillery fired by [src.owner]") message_admins("[key_name(M)] has been hit by Bluespace Artillery fired by [src.owner]") @@ -857,6 +864,36 @@ M.Weaken(20) M.stuttering = 20 + if (href_list["CentcommReply"]) + var/mob/M = locate(href_list["CentcommReply"]) + if(!M) + return + if(!istype(M, /mob/living/carbon/human)) + alert("Centcomm cannot transmit to non-humans.") + return + if(!istype(M:ears, /obj/item/device/radio/headset)) + alert("The person you're trying to reply to doesn't have a headset! Centcomm cannot transmit directly to them.") + return + var/input = input(src.owner, "Please enter a message to reply to [key_name(M)] via their headset.","Outgoing message from Centcomm", "") + if(!input) + return + M << "You hear something crackle in your headset for a moment before a voice speaks. \"Please stand by for a message from Central Command. Message as follows. [input]. Message ends.\"" + + if (href_list["SyndicateReply"]) + var/mob/M = locate(href_list["SyndicateReply"]) + if(!M) + return + if(!istype(M, /mob/living/carbon/human)) + alert("The Syndicate cannot transmit to non-humans.") + return + if(!istype(M:ears, /obj/item/device/radio/headset)) + alert("The person you're trying to reply to doesn't have a headset! The Syndicate cannot transmit directly to them.") + return + var/input = input(src.owner, "Please enter a message to reply to [key_name(M)] via their headset.","Outgoing message from The Syndicate", "") + if(!input) + return + M << "You hear something crackle in your headset for a moment before a voice speaks. \"Please stand by for a message from your benefactor. Message as follows, agent. [input]. Message ends.\"" + if (href_list["jumpto"]) if(rank in list("Badmin", "Game Admin", "Game Master")) diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index 6f0a9252187..9321cfee14f 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -30,7 +30,7 @@ for (var/mob/M in world) if (M.client && M.client.holder) - M << "\blue CENTCOMM:[key_name(Sender, M)] (PP) (VV) (SM) (JMP) (CA) (BSA): [msg]" + M << "\blue CENTCOMM:[key_name(Sender, M)] (PP) (VV) (SM) (JMP) (CA) (BSA) (RPLY): [msg]" /proc/Syndicate_announce(var/text , var/mob/Sender) @@ -38,5 +38,5 @@ for (var/mob/M in world) if (M.client && M.client.holder) - M << "\blue SYNDICATE:[key_name(Sender, M)] (PP) (VV) (SM) (JMP) (CA) (BSA): [msg]" + M << "\blue SYNDICATE:[key_name(Sender, M)] (PP) (VV) (SM) (JMP) (CA) (BSA) (RPLY): [msg]" diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index b0cd43d9b51..d5c661a51d7 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -333,9 +333,11 @@ //First check to see if we can do things if(restrained()) return 0 + /* if(istype(src,/mob/living/carbon)) if(src.l_hand && src.r_hand) return 0 + */ var/dense_object = 0 for(var/turf/turf in oview(1,src)) diff --git a/code/setup.dm b/code/setup.dm index 9fb30cd42b8..9be9049588c 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -190,6 +190,13 @@ var/const #define MAINT 8 // under maintaince #define EMPED 16 // temporary broken by EMP pulse +//bitflags for door switches. +#define OPEN 1 +#define IDSCAN 2 +#define BOLTS 4 +#define SHOCK 8 +#define SAFE 16 + #define ENGINE_EJECT_Z 3 //metal, glass, rod stacks diff --git a/icons/obj/grenade.dmi b/icons/obj/grenade.dmi index 4a1369f69faa01ec891855888bfc58d987c01399..0d5f9892b96631643cf2a994f9b53df573db838e 100644 GIT binary patch delta 624 zcmV-$0+0RN1MdZp7Ybkq0{{R3)kcR3ks%j6z`(%&fI$D`0ROZA{{S=pW-|aYGynep z|I7dY05bpp0RR7H|I9PturU1q0004WQchCL!v&Q79b?(Fo-hZ%vM%#^>YCSDgbJXVt~{zD<%K{0mVr~ zK~!jg?U~_j!Y~Ykag!E8VQlaJvP+uKQW~EPQIV$keoWgwle42Xy>5qt$z)oKh<4^( zSFfO?!t?j9@wu*lb5%ypIp0&}y^lZ9OZ=&in!%73$chUL8w1Se{=3P03rmNQ$35UD zVEMhwdu$N7_rQSVb6Fg)VnFu=GVh<;koZz~Je{CHxOB(5~bS9rdE+G_?pUl~;I!E(M(Ke(aX zudB~XT$&)AAugR_xx>ndCGn+>I|tJ-NvkvSH7@JXxz>fmO(v7c^p~{X`++XsOV29s zexc3x?9*1@+nCf}o55OQt4f7@Wm_rV2_@4-DTab3QDe*$g3M}J3= zxaE73$z(Du+W-Ft6IW7YaZK0{{R3(&~adks%j6|KtGwv;hBRGyecHz`(%&fIt8g0M!bA0KMpAUCjW`KTEM2gx_FuW(@jy4Wj&<1}`U|06zW(*S93j6G8|f zC-LutTJ1j;=6gkT_IuPvzYq4kwPtK?pr6oSY{ymr=+FJ%3UK_pV>if$b3)9Eew-PD teqMtpKMKB10OY6KAhrSD2ZRLi1D+xadzhJY+W-In07*p#PDHLkV1ip-lmGw# diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm index c53de910da0..9f57c1a1a01 100644 --- a/maps/tgstation.2.0.8.dmm +++ b/maps/tgstation.2.0.8.dmm @@ -65,7 +65,7 @@ "abm" = (/obj/structure/stool/chair{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/security/hos) "abn" = (/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -2; pixel_y = 2; req_access_txt = ""},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "carpet"},/area/security/hos) "abo" = (/obj/structure/stool/chair{dir = 8},/obj/effect/landmark/start{name = "Head of Security"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/security/hos) -"abp" = (/obj/machinery/camera{c_tag = "Head Security's Office"; dir = 8; network = "SS13"},/obj/structure/disposalpipe/segment,/obj/machinery/keycard_auth{pixel_x = 24},/turf/simulated/floor{dir = 4; icon_state = "carpetside"},/area/security/hos) +"abp" = (/obj/machinery/camera{c_tag = "Head Security's Office"; dir = 8; network = "SS13"},/obj/structure/disposalpipe/segment,/obj/machinery/keycard_auth{pixel_x = 24; pixel_y = 10},/obj/item/device/radio/intercom{pixel_x = 30; pixel_y = -10},/turf/simulated/floor{dir = 4; icon_state = "carpetside"},/area/security/hos) "abq" = (/obj/machinery/computer/security,/turf/simulated/floor,/area/security/main) "abr" = (/obj/machinery/computer/secure_data,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor,/area/security/main) "abs" = (/obj/machinery/power/apc{dir = 1; name = "Security APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/security/main) @@ -81,7 +81,7 @@ "abC" = (/obj/structure/table/woodentable,/obj/item/clothing/glasses/thermal,/turf/simulated/floor{icon_state = "carpet"},/area/security/hos) "abD" = (/obj/item/weapon/stamp/hos,/obj/structure/table/woodentable,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/security/hos) "abE" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/structure/table/woodentable,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/security/hos) -"abF" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{pixel_x = 28; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "carpetside"},/area/security/hos) +"abF" = (/obj/structure/disposalpipe/segment,/obj/item/weapon/secstorage/ssafe/HoS{pixel_x = 35},/turf/simulated/floor{dir = 4; icon_state = "carpetside"},/area/security/hos) "abG" = (/obj/structure/stool/chair{dir = 1},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/main) "abH" = (/obj/structure/stool/chair{dir = 4},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/main) "abI" = (/obj/structure/table,/obj/item/kitchen/donut_box,/turf/simulated/floor,/area/security/main) @@ -222,11 +222,11 @@ "aen" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/security/range) "aeo" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/security/range) "aep" = (/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/cobweb,/obj/structure/table,/obj/item/weapon/paper,/obj/item/weapon/pen{layer = 4},/turf/simulated/floor,/area/security/brig) -"aeq" = (/obj/machinery/camera{c_tag = "Brig Secure Cell 1"; dir = 0; name = "Secure Cell 1"},/turf/simulated/floor,/area/security/brig) +"aeq" = (/obj/machinery/camera{c_tag = "Brig Secure Cell 1"; dir = 0; name = "Secure Cell 1"},/obj/item/device/radio/intercom{desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = 25; wires = 2},/turf/simulated/floor,/area/security/brig) "aer" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/brig) "aes" = (/obj/machinery/light/small{dir = 8},/obj/structure/table,/obj/item/weapon/paper,/obj/item/weapon/pen{layer = 4},/turf/simulated/floor,/area/security/brig) -"aet" = (/obj/machinery/camera{c_tag = "Brig Secure Cell 2"; dir = 0; name = "Secure Cell 2"},/turf/simulated/floor,/area/security/brig) -"aeu" = (/obj/machinery/camera{c_tag = "Brig Secure Cell 3"; dir = 0; name = "Secure Cell 3"},/turf/simulated/floor,/area/security/brig) +"aet" = (/obj/machinery/camera{c_tag = "Brig Secure Cell 2"; dir = 0; name = "Secure Cell 2"},/obj/item/device/radio/intercom{desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = 25; wires = 2},/turf/simulated/floor,/area/security/brig) +"aeu" = (/obj/machinery/camera{c_tag = "Brig Secure Cell 3"; dir = 0; name = "Secure Cell 3"},/obj/item/device/radio/intercom{desc = "Talk... listen through this."; name = "Station Intercom (Brig Radio)"; pixel_y = 25; wires = 2},/turf/simulated/floor,/area/security/brig) "aev" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/main) "aew" = (/obj/structure/rack,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) "aex" = (/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j2s"; sortType = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint) @@ -6218,7 +6218,7 @@ "cpD" = (/obj/machinery/door/airlock/external,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "NTrasen"; name = "Outer Airlock"; opacity = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) "cpE" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom) "cpF" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) -"cpG" = (/obj/structure/table,/obj/item/assembly/shock_kit{icon = 'icons/obj/assemblies.dmi'},/obj/item/device/assembly/signaler,/obj/item/weapon/handcuffs,/obj/item/weapon/melee/classic_baton,/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/centcom/control) +"cpG" = (/obj/structure/table,/obj/item/assembly/shock_kit{icon = 'assemblies.dmi'},/obj/item/device/assembly/signaler,/obj/item/weapon/handcuffs,/obj/item/weapon/melee/classic_baton,/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/centcom/control) "cpH" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/space,/area/shuttle/specops/centcom) "cpI" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/turf/unsimulated/floor,/area/shuttle/specops/centcom) "cpJ" = (/obj/effect/landmark{name = "Commando-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) diff --git a/tgstation.dme b/tgstation.dme index cd78de76d62..97b4cb93419 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -162,6 +162,7 @@ #define FILE_DIR "icons/vending_icons" #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"