diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm
index b23aa77cc8d..3cb6a8b7089 100644
--- a/code/game/objects/items/weapons/cigs_lighters.dm
+++ b/code/game/objects/items/weapons/cigs_lighters.dm
@@ -1,3 +1,5 @@
+//cleansed 9/15/2012 17:48
+
/*
CONTAINS:
MATCHES
@@ -23,29 +25,27 @@ ZIPPO
origin_tech = "materials=1"
attack_verb = list("burnt", "singed")
+/obj/item/weapon/match/process()
+ var/turf/location = get_turf(src)
+ smoketime--
+ if(smoketime < 1)
+ icon_state = "match_burnt"
+ lit = -1
+ processing_objects.Remove(src)
+ return
+ if(location)
+ location.hotspot_expose(700, 5)
+ return
- process()
- var/turf/location = get_turf(src)
- smoketime--
- if(smoketime < 1)
- icon_state = "match_burnt"
- lit = -1
- processing_objects.Remove(src)
- return
- if(location)
- location.hotspot_expose(700, 5)
- return
-
-
- dropped(mob/user as mob)
- if(lit == 1)
- lit = -1
- damtype = "brute"
- icon_state = "match_burnt"
- item_state = "cigoff"
- name = "burnt match"
- desc = "A match. This one has seen better days."
- return ..()
+/obj/item/weapon/match/dropped(mob/user as mob)
+ if(lit == 1)
+ lit = -1
+ damtype = "brute"
+ icon_state = "match_burnt"
+ item_state = "cigoff"
+ name = "burnt match"
+ desc = "A match. This one has seen better days."
+ return ..()
//////////////////
//FINE SMOKABLES//
@@ -81,27 +81,30 @@ ZIPPO
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.isOn())//Badasses dont get blinded while lighting their cig with a welding tool
- light("\red [user] casually lights the [name] with [W], what a badass.")
+ light("[user] casually lights the [name] with [W], what a badass.")
else if(istype(W, /obj/item/weapon/lighter/zippo))
var/obj/item/weapon/lighter/zippo/Z = W
- if(Z.lit > 0)
- light("\red With a single flick of their wrist, [user] smoothly lights their [name] with their [W]. Damn they're cool.")
+ if(Z.lit)
+ light("With a single flick of their wrist, [user] smoothly lights their [name] with their [W]. Damn they're cool.")
else if(istype(W, /obj/item/weapon/lighter))
var/obj/item/weapon/lighter/L = W
- if(L.lit > 0)
- light("\red After some fiddling, [user] manages to light their [name] with [W].")
+ if(L.lit)
+ light("After some fiddling, [user] manages to light their [name] with [W].")
+
+ else if(istype(W, /obj/item/weapon/match))
+ var/obj/item/weapon/match/M = W
+ if(M.lit)
+ light("[user] lights their [name] with their [W].")
else if(istype(W, /obj/item/weapon/melee/energy/sword))
var/obj/item/weapon/melee/energy/sword/S = W
if(S.active)
- light("\red [user] swings their [W], barely missing their nose. They light their [name] in the process.")
+ light("[user] swings their [W], barely missing their nose. They light their [name] in the process.")
- else if(istype(W, /obj/item/weapon/match))
- var/obj/item/weapon/match/M = W
- if(M.lit > 0)
- light("\red [user] lights their [name] with their [W].")
+ else if(istype(W, /obj/item/device/assembly/igniter))
+ light("[user] fiddles with [W], and manages to light their [name].")
//can't think of any other way to update the overlays :<
user.update_inv_wear_mask(0)
@@ -124,8 +127,8 @@ ZIPPO
/obj/item/clothing/mask/cigarette/proc/light(var/flavor_text = "[usr] lights the [name].")
- if(!lit)
- lit = 1
+ if(!src.lit)
+ src.lit = 1
damtype = "fire"
if(reagents.get_reagent_amount("plasma")) // the plasma explodes when exposed to fire
var/datum/effect/effect/system/reagents_explosion/e = new()
@@ -143,8 +146,8 @@ ZIPPO
reagents.handle_reactions()
icon_state = icon_on
item_state = icon_on
- for(var/mob/O in viewers(usr, null))
- O.show_message(flavor_text, 1)
+ var/turf/T = get_turf(src)
+ T.visible_message(flavor_text)
processing_objects.Add(src)
@@ -156,15 +159,15 @@ ZIPPO
processing_objects.Remove(src)
if(ismob(loc))
var/mob/living/M = loc
- M << "\red Your [name] goes out."
+ M << "Your [name] goes out."
M.u_equip(src) //un-equip it so the overlays can update
- M.update_icons()
+ M.update_inv_wear_mask(0)
del(src)
return
if(location)
location.hotspot_expose(700, 5)
if(reagents && reagents.total_volume) // check if it has any reagents at all
- if( iscarbon(loc) && (src == loc:wear_mask) ) // if it's in the human/monkey mouth, transfer reagents to the mob
+ if(iscarbon(loc) && (src == loc:wear_mask)) // if it's in the human/monkey mouth, transfer reagents to the mob
var/mob/living/carbon/C = loc
if(prob(15)) // so it's not an instarape in case of acid
reagents.reaction(C, INGEST)
@@ -174,13 +177,13 @@ ZIPPO
return
-/obj/item/clothing/mask/cigarette/dropped(mob/user as mob)
+/obj/item/clothing/mask/cigarette/attack_self(mob/user as mob)
if(lit == 1)
- for(var/mob/O in viewers(user, null))
- O.show_message(text("\red [] calmly drops and treads on the lit [], putting it out instantly.", user,name), 1)
- new type_butt(loc)
- processing_objects.Remove(src)
- del(src)
+ user.visible_message("[user] calmly drops and treads on the lit [src], putting it out instantly.")
+ var/turf/T = get_turf(src)
+ new type_butt(T)
+ processing_objects.Remove(src)
+ del(src)
return ..()
@@ -194,7 +197,7 @@ ZIPPO
icon_state = "cigaroff"
icon_on = "cigaron"
icon_off = "cigaroff"
- type_butt = /obj/item/weapon/cigbutt
+ type_butt = /obj/item/weapon/cigarbutt
throw_speed = 0.5
item_state = "cigaroff"
smoketime = 1500
@@ -234,105 +237,75 @@ ZIPPO
if(istype(W, /obj/item/weapon/match))
..()
else
- user << "\red The [src] straight out REFUSES to be lit by such uncivilized means."
+ user << "\The [src] straight out REFUSES to be lit by such uncivilized means."
/////////////////
//SMOKING PIPES//
/////////////////
-
-/obj/item/clothing/mask/pipe
+/obj/item/clothing/mask/cigarette/pipe
name = "smoking pipe"
desc = "A pipe, for smoking. Probably made of meershaum or something."
- icon_state = "cobpipeoff"
- throw_speed = 0.5
- item_state = "cobpipeoff"
- w_class = 1
- body_parts_covered = null
- var/lit = 0
- var/icon_on = "cobpipeon" //Note - these are in masks.dmi
- var/icon_off = "cobpipeoff"
- var/lastHolder = null
- var/smoketime = 100
- var/maxsmoketime = 100 //make sure this is equal to your smoketime
- proc
- light(var/flavor_text = "[usr] lights the [name].")
+ icon_state = "pipeoff"
+ item_state = "pipeoff"
+ icon_on = "pipeon" //Note - these are in masks.dmi
+ icon_off = "pipeoff"
+ smoketime = 100
- attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if(istype(W, /obj/item/weapon/weldingtool))
- var/obj/item/weapon/weldingtool/WT = W
- if(WT.isOn())
- light("\red [user] casually lights the [name] with [W], what a badass.")
+/obj/item/clothing/mask/cigarette/pipe/light(var/flavor_text = "[usr] lights the [name].")
+ if(!src.lit)
+ src.lit = 1
+ damtype = "fire"
+ icon_state = icon_on
+ item_state = icon_on
+ var/turf/T = get_turf(src)
+ T.visible_message(flavor_text)
+ processing_objects.Add(src)
- else if(istype(W, /obj/item/weapon/lighter/zippo))
- var/obj/item/weapon/lighter/zippo/Z = W
- if(Z.lit > 0)
- light("\red With a single flick of their wrist, [user] smoothly lights their [name] with their [W]. Damn they're cool.")
-
- else if(istype(W, /obj/item/weapon/lighter))
- var/obj/item/weapon/lighter/L = W
- if(L.lit > 0)
- light("\red After some fiddling, [user] manages to light their [name] with [W].")
-
- else if(istype(W, /obj/item/weapon/match))
- var/obj/item/weapon/match/M = W
- if(M.lit > 0)
- light("\red [user] lights their [name] with their [W].")
-
- light(var/flavor_text = "[usr] lights the [name].")
- if(!lit)
- lit = 1
- damtype = "fire"
- icon_state = icon_on
- item_state = icon_on
- for(var/mob/O in viewers(usr, null))
- O.show_message(flavor_text, 1)
- processing_objects.Add(src)
-
- process()
- var/turf/location = get_turf(src)
- smoketime--
- if(smoketime < 1)
- new /obj/effect/decal/cleanable/ash(location)
- if(ismob(loc))
- var/mob/living/M = loc
- M << "\red Your [name] goes out, and you empty the ash."
- lit = 0
- icon_state = icon_off
- item_state = icon_off
- processing_objects.Remove(src)
- return
- if(location)
- location.hotspot_expose(700, 5)
- return
-
- dropped(mob/user as mob)
- if(lit == 1)
- user.visible_message("[user] puts out [src].")
+/obj/item/clothing/mask/cigarette/pipe/process()
+ var/turf/location = get_turf(src)
+ smoketime--
+ if(smoketime < 1)
+ new /obj/effect/decal/cleanable/ash(location)
+ if(ismob(loc))
+ var/mob/living/M = loc
+ M << "Your [name] goes out, and you empty the ash."
lit = 0
icon_state = icon_off
item_state = icon_off
- processing_objects.Remove(src)
- return ..()
-
-/obj/item/clothing/mask/pipe/attack_self(mob/user as mob) //Refills the pipe. Can be changed to an attackby later, if loose tobacco is added to vendors or something.
- if(smoketime <= 0)
- user << "\blue You refill the pipe with tobacco."
- smoketime = maxsmoketime
+ M.update_inv_wear_mask(0)
+ processing_objects.Remove(src)
+ return
+ if(location)
+ location.hotspot_expose(700, 5)
return
-/obj/item/clothing/mask/pipe/attackby(obj/item/weapon/W as obj, mob/user as mob)
+/obj/item/clothing/mask/cigarette/pipe/attack_self(mob/user as mob) //Refills the pipe. Can be changed to an attackby later, if loose tobacco is added to vendors or something.
+ if(lit == 1)
+ user.visible_message("[user] puts out [src].")
+ lit = 0
+ icon_state = icon_off
+ item_state = icon_off
+ processing_objects.Remove(src)
+ return
+ if(smoketime <= 0)
+ user << "You refill the pipe with tobacco."
+ smoketime = initial(smoketime)
+ return
+
+/obj/item/clothing/mask/cigarette/pipe/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/match))
..()
else
- user << "\red The [src] straight out REFUSES to be lit by such means."
+ user << "\The [src] straight out REFUSES to be lit by such means."
-
-/obj/item/clothing/mask/pipe/cobpipe
+/obj/item/clothing/mask/cigarette/pipe/cobpipe
name = "corn cob pipe"
desc = "A nicotine delivery system popularized by folksy backwoodsmen and kept popular in the modern age and beyond by space hipsters."
+ icon_state = "cobpipeoff"
+ item_state = "cobpipeoff"
+ icon_on = "cobpipeon" //Note - these are in masks.dmi
+ icon_off = "cobpipeoff"
smoketime = 400
- maxsmoketime = 400
////////////
//CIG PACK//
@@ -349,36 +322,35 @@ ZIPPO
slot_flags = SLOT_BELT
var/cigcount = 6
- New()
- ..()
- flags |= NOREACT
- create_reagents(15*cigcount)//so people can inject cigarettes without opening a packet, now with being able to inject the whole one
+/obj/item/weapon/cigpacket/New()
+ ..()
+ flags |= NOREACT
+ create_reagents(15*cigcount)//so people can inject cigarettes without opening a packet, now with being able to inject the whole one
- Del()
- ..()
- del(reagents)
+/obj/item/weapon/cigpacket/Del()
+ ..()
+ del(reagents)
- update_icon()
- icon_state = "[initial(icon_state)][cigcount]"
- desc = "There's [cigcount] cig\s left!"
- return
+/obj/item/weapon/cigpacket/update_icon()
+ icon_state = "[initial(icon_state)][cigcount]"
+ desc = "There are [cigcount] cig\s left!"
+ return
-
- attack_hand(mob/user as mob)
- if(user.r_hand == src || user.l_hand == src)
- if(cigcount == 0)
- user << "You're out of cigs, shit! How you gonna get through the rest of the day..."
- return
- else
- var/obj/item/clothing/mask/cigarette/W = new /obj/item/clothing/mask/cigarette(user)
- reagents.trans_to(W, (reagents.total_volume/cigcount))
- user.put_in_active_hand(W)
- reagents.maximum_volume = 15*cigcount
- cigcount--
+/obj/item/weapon/cigpacket/attack_hand(mob/user as mob)
+ if(user.r_hand == src || user.l_hand == src)
+ if(cigcount == 0)
+ user << "You're out of cigs, shit! How you gonna get through the rest of the day..."
+ return
else
- return ..()
- update_icon()
- return
+ var/obj/item/clothing/mask/cigarette/W = new /obj/item/clothing/mask/cigarette(user)
+ reagents.trans_to(W, (reagents.total_volume/cigcount))
+ user.put_in_active_hand(W)
+ reagents.maximum_volume = 15*cigcount
+ cigcount--
+ else
+ return ..()
+ update_icon()
+ return
/obj/item/weapon/cigpacket/dromedaryco
name = "DromedaryCo packet"
@@ -389,7 +361,6 @@ ZIPPO
/////////
//ZIPPO//
/////////
-
/obj/item/weapon/lighter
name = "cheap lighter"
desc = "A cheap-as-free lighter."
@@ -420,76 +391,72 @@ ZIPPO
icon_off = "lighter-[color]"
icon_state = icon_off
-/obj/item/weapon/lighter
-
- attack_self(mob/living/user)
- if(user.r_hand == src || user.l_hand == src)
- if(!lit)
- lit = 1
- icon_state = icon_on
- item_state = icon_on
- if( istype(src,/obj/item/weapon/lighter/zippo) )
- for(var/mob/O in viewers(user, null))
- O.show_message(text("\red Without even breaking stride, [] flips open and lights the [] in one smooth movement.", user, src), 1)
- else
- if(prob(75))
- for(var/mob/O in viewers(user, null))
- O.show_message("\red After a few attempts, [user] manages to light the [src].", 1)
- else
- user << "\red You burn yourself while lighting the lighter."
- user.adjustFireLoss(5)
- for(var/mob/O in viewers(user, null))
- O.show_message("\red After a few attempts, [user] manages to light the [src], they however burn their finger in the process.", 1)
-
- user.SetLuminosity(user.luminosity + 2)
- processing_objects.Add(src)
+/obj/item/weapon/lighter/attack_self(mob/living/user)
+ if(user.r_hand == src || user.l_hand == src)
+ if(!lit)
+ lit = 1
+ icon_state = icon_on
+ item_state = icon_on
+ if(istype(src, /obj/item/weapon/lighter/zippo) )
+ user.visible_message("Without even breaking stride, [user] flips open and lights [src] in one smooth movement.")
else
- lit = 0
- icon_state = icon_off
- item_state = icon_off
- if( istype(src,/obj/item/weapon/lighter/zippo) )
- for(var/mob/O in viewers(user, null))
- O.show_message(text("\red You hear a quiet click, as [] shuts off the [] without even looking at what they're doing. Wow.", user, src), 1)
+ if(prob(75))
+ user.visible_message("After a few attempts, [user] manages to light the [src].")
else
- for(var/mob/O in viewers(user, null))
- O.show_message("\red [user] quietly shuts off the [src].", 1)
+ user << "You burn yourself while lighting the lighter."
+ user.adjustFireLoss(5)
+ user.visible_message("After a few attempts, [user] manages to light the [src], they however burn their finger in the process.")
- user.SetLuminosity(user.luminosity - 2)
- processing_objects.Remove(src)
+ user.SetLuminosity(user.luminosity + 2)
+ processing_objects.Add(src)
else
- return ..()
- return
-
-
- attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
- if(!istype(M, /mob))
- return
-
- if(istype(M.wear_mask,/obj/item/clothing/mask/cigarette) && user.zone_sel.selecting == "mouth" && lit)
- if(M == user)
- M.wear_mask:light("\red With a single flick of their wrist, [user] smoothly lights their [M.wear_mask.name] with their [name]. Damn they're cool.")
+ lit = 0
+ icon_state = icon_off
+ item_state = icon_off
+ if(istype(src, /obj/item/weapon/lighter/zippo) )
+ user.visible_message("You hear a quiet click, as [user] shuts off [src] without even looking at what they're doing. Wow.")
else
- M.wear_mask:light("\red [user] whips the [name] out and holds it for [M]. Their arm is as steady as the unflickering flame they light the [M.wear_mask.name] with.")
+ user.visible_message("[user] quietly shuts off the [src].")
+
+ user.SetLuminosity(user.luminosity - 2)
+ processing_objects.Remove(src)
+ else
+ return ..()
+ return
+
+
+/obj/item/weapon/lighter/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
+ if(!istype(M, /mob))
+ return
+
+ if(istype(M.wear_mask, /obj/item/clothing/mask/cigarette) && user.zone_sel.selecting == "mouth" && lit)
+ var/obj/item/clothing/mask/cigarette/cig = M.wear_mask
+ if(M == user)
+ cig.attackby(src, user)
else
- ..()
+ if(istype(src, /obj/item/weapon/lighter/zippo))
+ cig.light("[user] whips the [name] out and holds it for [M]. Their arm is as steady as the unflickering flame they light \the [cig] with.")
+ else
+ cig.light("[user] holds the [name] out for [M], and lights the [cig.name].")
+ else
+ ..()
+
+/obj/item/weapon/lighter/process()
+ var/turf/location = get_turf(src)
+ if(location)
+ location.hotspot_expose(700, 5)
+ return
- process()
- var/turf/location = get_turf(src)
- if(location)
- location.hotspot_expose(700, 5)
- return
+/obj/item/weapon/lighter/pickup(mob/user)
+ if(lit)
+ SetLuminosity(0)
+ user.SetLuminosity(user.luminosity+2)
+ return
- pickup(mob/user)
- if(lit)
- SetLuminosity(0)
- user.SetLuminosity(user.luminosity+2)
- return
-
-
- dropped(mob/user)
- if(lit)
- user.SetLuminosity(user.luminosity-2)
- SetLuminosity(2)
- return
+/obj/item/weapon/lighter/dropped(mob/user)
+ if(lit)
+ user.SetLuminosity(user.luminosity-2)
+ SetLuminosity(2)
+ return
diff --git a/code/game/objects/items/weapons/hydroponics.dm b/code/game/objects/items/weapons/hydroponics.dm
index a6699b41966..9ebb60804fa 100644
--- a/code/game/objects/items/weapons/hydroponics.dm
+++ b/code/game/objects/items/weapons/hydroponics.dm
@@ -128,6 +128,6 @@
..()
if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/kitchen/utensil/knife))
user << "You use [W] to fashion a pipe out of the corn cob!"
- new /obj/item/clothing/mask/pipe/cobpipe (user.loc)
+ new /obj/item/clothing/mask/cigarette/pipe/cobpipe (user.loc)
del(src)
return
diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi
index a1b0728d4cb..f9b63404d21 100644
Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index a90afdde8af..0b18904069b 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -6,6 +6,223 @@
// BEGIN_FILE_DIR
#define FILE_DIR .
+#define FILE_DIR "code"
+#define FILE_DIR "code/ATMOSPHERICS"
+#define FILE_DIR "code/ATMOSPHERICS/components"
+#define FILE_DIR "code/ATMOSPHERICS/components/binary_devices"
+#define FILE_DIR "code/ATMOSPHERICS/components/trinary_devices"
+#define FILE_DIR "code/ATMOSPHERICS/components/unary"
+#define FILE_DIR "code/controllers"
+#define FILE_DIR "code/datums"
+#define FILE_DIR "code/datums/diseases"
+#define FILE_DIR "code/datums/helper_datums"
+#define FILE_DIR "code/datums/organs"
+#define FILE_DIR "code/datums/spells"
+#define FILE_DIR "code/defines"
+#define FILE_DIR "code/defines/obj"
+#define FILE_DIR "code/defines/procs"
+#define FILE_DIR "code/FEA"
+#define FILE_DIR "code/game"
+#define FILE_DIR "code/game/area"
+#define FILE_DIR "code/game/gamemodes"
+#define FILE_DIR "code/game/gamemodes/blob"
+#define FILE_DIR "code/game/gamemodes/blob/blobs"
+#define FILE_DIR "code/game/gamemodes/changeling"
+#define FILE_DIR "code/game/gamemodes/cult"
+#define FILE_DIR "code/game/gamemodes/events"
+#define FILE_DIR "code/game/gamemodes/events/holidays"
+#define FILE_DIR "code/game/gamemodes/extended"
+#define FILE_DIR "code/game/gamemodes/malfunction"
+#define FILE_DIR "code/game/gamemodes/meteor"
+#define FILE_DIR "code/game/gamemodes/nuclear"
+#define FILE_DIR "code/game/gamemodes/revolution"
+#define FILE_DIR "code/game/gamemodes/sandbox"
+#define FILE_DIR "code/game/gamemodes/traitor"
+#define FILE_DIR "code/game/gamemodes/wizard"
+#define FILE_DIR "code/game/jobs"
+#define FILE_DIR "code/game/jobs/job"
+#define FILE_DIR "code/game/machinery"
+#define FILE_DIR "code/game/machinery/atmoalter"
+#define FILE_DIR "code/game/machinery/bots"
+#define FILE_DIR "code/game/machinery/camera"
+#define FILE_DIR "code/game/machinery/computer"
+#define FILE_DIR "code/game/machinery/doors"
+#define FILE_DIR "code/game/machinery/embedded_controller"
+#define FILE_DIR "code/game/machinery/kitchen"
+#define FILE_DIR "code/game/machinery/pipe"
+#define FILE_DIR "code/game/machinery/telecomms"
+#define FILE_DIR "code/game/mecha"
+#define FILE_DIR "code/game/mecha/combat"
+#define FILE_DIR "code/game/mecha/equipment"
+#define FILE_DIR "code/game/mecha/equipment/tools"
+#define FILE_DIR "code/game/mecha/equipment/weapons"
+#define FILE_DIR "code/game/mecha/medical"
+#define FILE_DIR "code/game/mecha/working"
+#define FILE_DIR "code/game/objects"
+#define FILE_DIR "code/game/objects/effects"
+#define FILE_DIR "code/game/objects/effects/decals"
+#define FILE_DIR "code/game/objects/effects/decals/Cleanable"
+#define FILE_DIR "code/game/objects/effects/spawners"
+#define FILE_DIR "code/game/objects/items"
+#define FILE_DIR "code/game/objects/items/devices"
+#define FILE_DIR "code/game/objects/items/devices/PDA"
+#define FILE_DIR "code/game/objects/items/devices/radio"
+#define FILE_DIR "code/game/objects/items/robot"
+#define FILE_DIR "code/game/objects/items/stacks"
+#define FILE_DIR "code/game/objects/items/stacks/sheets"
+#define FILE_DIR "code/game/objects/items/stacks/tiles"
+#define FILE_DIR "code/game/objects/items/weapons"
+#define FILE_DIR "code/game/objects/items/weapons/grenades"
+#define FILE_DIR "code/game/objects/items/weapons/implants"
+#define FILE_DIR "code/game/objects/items/weapons/secstorage"
+#define FILE_DIR "code/game/objects/items/weapons/storage"
+#define FILE_DIR "code/game/objects/items/weapons/tanks"
+#define FILE_DIR "code/game/objects/structures"
+#define FILE_DIR "code/game/objects/structures/crates_lockers"
+#define FILE_DIR "code/game/objects/structures/crates_lockers/closets"
+#define FILE_DIR "code/game/objects/structures/crates_lockers/closets/secure"
+#define FILE_DIR "code/game/objects/structures/stool_bed_chair_nest"
+#define FILE_DIR "code/game/turfs"
+#define FILE_DIR "code/game/turfs/simulated"
+#define FILE_DIR "code/game/turfs/space"
+#define FILE_DIR "code/game/turfs/unsimulated"
+#define FILE_DIR "code/game/vehicles"
+#define FILE_DIR "code/game/vehicles/airtight"
+#define FILE_DIR "code/game/verbs"
+#define FILE_DIR "code/js"
+#define FILE_DIR "code/modules"
+#define FILE_DIR "code/modules/admin"
+#define FILE_DIR "code/modules/admin/DB ban"
+#define FILE_DIR "code/modules/admin/verbs"
+#define FILE_DIR "code/modules/assembly"
+#define FILE_DIR "code/modules/awaymissions"
+#define FILE_DIR "code/modules/awaymissions/maploader"
+#define FILE_DIR "code/modules/client"
+#define FILE_DIR "code/modules/clothing"
+#define FILE_DIR "code/modules/clothing/glasses"
+#define FILE_DIR "code/modules/clothing/gloves"
+#define FILE_DIR "code/modules/clothing/head"
+#define FILE_DIR "code/modules/clothing/masks"
+#define FILE_DIR "code/modules/clothing/shoes"
+#define FILE_DIR "code/modules/clothing/spacesuits"
+#define FILE_DIR "code/modules/clothing/suits"
+#define FILE_DIR "code/modules/clothing/ties"
+#define FILE_DIR "code/modules/clothing/under"
+#define FILE_DIR "code/modules/clothing/under/jobs"
+#define FILE_DIR "code/modules/critters"
+#define FILE_DIR "code/modules/critters/hivebots"
+#define FILE_DIR "code/modules/detectivework"
+#define FILE_DIR "code/modules/flufftext"
+#define FILE_DIR "code/modules/food"
+#define FILE_DIR "code/modules/library"
+#define FILE_DIR "code/modules/liquid"
+#define FILE_DIR "code/modules/mining"
+#define FILE_DIR "code/modules/mob"
+#define FILE_DIR "code/modules/mob/dead"
+#define FILE_DIR "code/modules/mob/dead/observer"
+#define FILE_DIR "code/modules/mob/living"
+#define FILE_DIR "code/modules/mob/living/blob"
+#define FILE_DIR "code/modules/mob/living/carbon"
+#define FILE_DIR "code/modules/mob/living/carbon/alien"
+#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid"
+#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/caste"
+#define FILE_DIR "code/modules/mob/living/carbon/alien/larva"
+#define FILE_DIR "code/modules/mob/living/carbon/alien/special"
+#define FILE_DIR "code/modules/mob/living/carbon/brain"
+#define FILE_DIR "code/modules/mob/living/carbon/human"
+#define FILE_DIR "code/modules/mob/living/carbon/metroid"
+#define FILE_DIR "code/modules/mob/living/carbon/monkey"
+#define FILE_DIR "code/modules/mob/living/silicon"
+#define FILE_DIR "code/modules/mob/living/silicon/ai"
+#define FILE_DIR "code/modules/mob/living/silicon/ai/freelook"
+#define FILE_DIR "code/modules/mob/living/silicon/decoy"
+#define FILE_DIR "code/modules/mob/living/silicon/pai"
+#define FILE_DIR "code/modules/mob/living/silicon/robot"
+#define FILE_DIR "code/modules/mob/living/simple_animal"
+#define FILE_DIR "code/modules/mob/new_player"
+#define FILE_DIR "code/modules/paperwork"
+#define FILE_DIR "code/modules/power"
+#define FILE_DIR "code/modules/power/antimatter"
+#define FILE_DIR "code/modules/power/singularity"
+#define FILE_DIR "code/modules/power/singularity/particle_accelerator"
+#define FILE_DIR "code/modules/projectiles"
+#define FILE_DIR "code/modules/projectiles/ammunition"
+#define FILE_DIR "code/modules/projectiles/guns"
+#define FILE_DIR "code/modules/projectiles/guns/energy"
+#define FILE_DIR "code/modules/projectiles/guns/projectile"
+#define FILE_DIR "code/modules/projectiles/projectile"
+#define FILE_DIR "code/modules/reagents"
+#define FILE_DIR "code/modules/reagents/reagent_containers"
+#define FILE_DIR "code/modules/reagents/reagent_containers/food"
+#define FILE_DIR "code/modules/reagents/reagent_containers/food/drinks"
+#define FILE_DIR "code/modules/reagents/reagent_containers/food/drinks/bottle"
+#define FILE_DIR "code/modules/reagents/reagent_containers/food/snacks"
+#define FILE_DIR "code/modules/reagents/reagent_containers/glass"
+#define FILE_DIR "code/modules/reagents/reagent_containers/glass/bottle"
+#define FILE_DIR "code/modules/recycling"
+#define FILE_DIR "code/modules/research"
+#define FILE_DIR "code/modules/scripting"
+#define FILE_DIR "code/modules/scripting/AST"
+#define FILE_DIR "code/modules/scripting/AST/Operators"
+#define FILE_DIR "code/modules/scripting/Implementations"
+#define FILE_DIR "code/modules/scripting/Interpreter"
+#define FILE_DIR "code/modules/scripting/Parser"
+#define FILE_DIR "code/modules/scripting/Scanner"
+#define FILE_DIR "code/modules/security levels"
+#define FILE_DIR "code/unused"
+#define FILE_DIR "code/unused/beast"
+#define FILE_DIR "code/unused/computer2"
+#define FILE_DIR "code/unused/disease2"
+#define FILE_DIR "code/unused/gamemodes"
+#define FILE_DIR "code/unused/hivebot"
+#define FILE_DIR "code/unused/mining"
+#define FILE_DIR "code/unused/optics"
+#define FILE_DIR "code/unused/pda2"
+#define FILE_DIR "code/unused/powerarmor"
+#define FILE_DIR "code/unused/spacecraft"
+#define FILE_DIR "code/WorkInProgress"
+#define FILE_DIR "code/WorkInProgress/carn"
+#define FILE_DIR "code/WorkInProgress/mapload"
+#define FILE_DIR "code/WorkInProgress/organs"
+#define FILE_DIR "code/WorkInProgress/virus2"
+#define FILE_DIR "html"
+#define FILE_DIR "icons"
+#define FILE_DIR "icons/effects"
+#define FILE_DIR "icons/mecha"
+#define FILE_DIR "icons/misc"
+#define FILE_DIR "icons/mob"
+#define FILE_DIR "icons/obj"
+#define FILE_DIR "icons/obj/assemblies"
+#define FILE_DIR "icons/obj/atmospherics"
+#define FILE_DIR "icons/obj/clothing"
+#define FILE_DIR "icons/obj/doors"
+#define FILE_DIR "icons/obj/machines"
+#define FILE_DIR "icons/obj/pipes"
+#define FILE_DIR "icons/pda_icons"
+#define FILE_DIR "icons/spideros_icons"
+#define FILE_DIR "icons/Testing"
+#define FILE_DIR "icons/turf"
+#define FILE_DIR "icons/vehicles"
+#define FILE_DIR "icons/vending_icons"
+#define FILE_DIR "interface"
+#define FILE_DIR "maps"
+#define FILE_DIR "maps/backup"
+#define FILE_DIR "maps/RandomZLevels"
+#define FILE_DIR "maps/RandomZLevels/backup"
+#define FILE_DIR "sound"
+#define FILE_DIR "sound/AI"
+#define FILE_DIR "sound/ambience"
+#define FILE_DIR "sound/effects"
+#define FILE_DIR "sound/hallucinations"
+#define FILE_DIR "sound/items"
+#define FILE_DIR "sound/machines"
+#define FILE_DIR "sound/mecha"
+#define FILE_DIR "sound/misc"
+#define FILE_DIR "sound/piano"
+#define FILE_DIR "sound/voice"
+#define FILE_DIR "sound/weapons"
+#define FILE_DIR "tools"
+#define FILE_DIR "tools/Redirector"
// END_FILE_DIR
// BEGIN_PREFERENCES