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