diff --git a/code/game/chemistry.dm b/code/game/chemistry.dm
index 7b4a7d945e..917c3d548d 100644
--- a/code/game/chemistry.dm
+++ b/code/game/chemistry.dm
@@ -1,185 +1,5 @@
#define REGULATE_RATE 5
-/*/obj/item/weapon/smokebomb
- desc = "It is set to detonate in 2 seconds."
- name = "smoke bomb"
- icon = 'icons/obj/grenade.dmi'
- icon_state = "flashbang"
- var/state = null
- var/det_time = 20.0
- w_class = 2.0
- item_state = "flashbang"
- throw_speed = 4
- throw_range = 20
- flags = FPRINT | TABLEPASS | USEDELAY
- slot_flags = SLOT_BELT
- var/datum/effect/effect/system/bad_smoke_spread/smoke
-
-/obj/item/weapon/mustardbomb
- desc = "It is set to detonate in 4 seconds."
- name = "mustard gas bomb"
- icon = 'icons/obj/grenade.dmi'
- icon_state = "flashbang"
- var/state = null
- var/det_time = 40.0
- w_class = 2.0
- item_state = "flashbang"
- throw_speed = 4
- throw_range = 20
- flags = FPRINT | TABLEPASS | CONDUCT
- slot_flags = SLOT_BELT
- var/datum/effect/effect/system/mustard_gas_spread/mustard_gas
-
-/obj/item/weapon/smokebomb/New()
- ..()
- src.smoke = new /datum/effect/effect/system/bad_smoke_spread/
- src.smoke.attach(src)
- src.smoke.set_up(10, 0, usr.loc)
-
-/obj/item/weapon/mustardbomb/New()
- ..()
- src.mustard_gas = new /datum/effect/effect/system/mustard_gas_spread/
- src.mustard_gas.attach(src)
- src.mustard_gas.set_up(5, 0, usr.loc)
-
-/obj/item/weapon/smokebomb/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if (istype(W, /obj/item/weapon/screwdriver))
- if (src.det_time == 60)
- src.det_time = 20
- user.show_message("\blue You set the smoke bomb for a 2 second detonation time.")
- src.desc = "It is set to detonate in 2 seconds."
- else
- src.det_time = 60
- user.show_message("\blue You set the smoke bomb for a 6 second detonation time.")
- src.desc = "It is set to detonate in 6 seconds."
- src.add_fingerprint(user)
- return
-
-/obj/item/weapon/smokebomb/afterattack(atom/target as mob|obj|turf|area, mob/user as mob)
- if (user.get_active_hand() == src)
- if (!( src.state ))
- user << "\red You prime the smoke bomb! [det_time/10] seconds!"
- src.state = 1
- src.icon_state = "flashbang1"
- playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
- spawn( src.det_time )
- prime()
- return
- user.dir = get_dir(user, target)
- user.drop_item()
- var/t = (isturf(target) ? target : target.loc)
- walk_towards(src, t, 3)
- src.add_fingerprint(user)
- return
-
-/obj/item/weapon/smokebomb/attack_paw(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/item/weapon/smokebomb/attack_hand()
- walk(src, null, null)
- ..()
- return
-
-/obj/item/weapon/smokebomb/proc/prime()
- playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3)
- spawn(0)
- src.smoke.start()
- sleep(10)
- src.smoke.start()
- sleep(10)
- src.smoke.start()
- sleep(10)
- src.smoke.start()
-
- for(var/obj/effect/blob/B in view(8,src))
- var/damage = round(30/(get_dist(B,src)+1))
- B.health -= damage
- B.update_icon()
- sleep(80)
- del(src)
- return
-
-/obj/item/weapon/smokebomb/attack_self(mob/user as mob)
- if (!src.state)
- user << "\red You prime the smoke bomb! [det_time/10] seconds!"
- src.state = 1
- src.icon_state = "flashbang1"
- add_fingerprint(user)
- spawn( src.det_time )
- prime()
- return
- return
-
-/obj/item/weapon/mustardbomb/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if (istype(W, /obj/item/weapon/screwdriver))
- if (src.det_time == 80)
- src.det_time = 40
- user.show_message("\blue You set the mustard gas bomb for a 4 second detonation time.")
- src.desc = "It is set to detonate in 4 seconds."
- else
- src.det_time = 80
- user.show_message("\blue You set the mustard gas bomb for a 8 second detonation time.")
- src.desc = "It is set to detonate in 8 seconds."
- src.add_fingerprint(user)
- return
-
-/obj/item/weapon/mustardbomb/afterattack(atom/target as mob|obj|turf|area, mob/user as mob)
- if (user.get_active_hand() == src)
- if (!( src.state ))
- user << "\red You prime the mustard gas bomb! [det_time/10] seconds!"
- src.state = 1
- src.icon_state = "flashbang1"
- playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
- spawn( src.det_time )
- prime()
- return
- user.dir = get_dir(user, target)
- user.drop_item()
- var/t = (isturf(target) ? target : target.loc)
- walk_towards(src, t, 3)
- src.add_fingerprint(user)
- return
-
-/obj/item/weapon/mustardbomb/attack_paw(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/item/weapon/mustardbomb/attack_hand()
- walk(src, null, null)
- ..()
- return
-
-/obj/item/weapon/mustardbomb/proc/prime()
- playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3)
- spawn(0)
- src.mustard_gas.start()
- sleep(10)
- src.mustard_gas.start()
- sleep(10)
- src.mustard_gas.start()
- sleep(10)
- src.mustard_gas.start()
-
- for(var/obj/effect/blob/B in view(8,src))
- var/damage = round(30/(get_dist(B,src)+1))
- B.health -= damage
- B.update_icon()
- sleep(100)
- del(src)
- return
-
-/obj/item/weapon/mustardbomb/attack_self(mob/user as mob)
- if (!src.state)
- user << "\red You prime the mustard gas bomb! [det_time/10] seconds!"
- src.state = 1
- src.icon_state = "flashbang1"
- add_fingerprint(user)
- spawn( src.det_time )
- prime()
- return
- return
-*/
/obj/item/weapon/storage/beakerbox
name = "Beaker Box"
icon_state = "beaker"
diff --git a/code/game/objects/blood.dm b/code/game/objects/blood.dm
deleted file mode 100644
index da37b28f3d..0000000000
--- a/code/game/objects/blood.dm
+++ /dev/null
@@ -1,66 +0,0 @@
-/obj/effect/decal/cleanable/New()
- if (random_icon_states && length(src.random_icon_states) > 0)
- src.icon_state = pick(src.random_icon_states)
- ..()
-/*
-/obj/effect/decal/cleanable/blood/burn(fi_amount)
- if(fi_amount > 900000.0)
- src.virus = null
- sleep(11)
- del(src)
- return
-*/
-
-//Gibs.spread proc in gibs.dm
-
-/obj/effect/decal/cleanable/blood/gibs/proc/streak(var/list/directions)
- spawn (0)
- var/direction = pick(directions)
- for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++)
- sleep(3)
- if (i > 0)
- var/obj/effect/decal/cleanable/blood/b = new /obj/effect/decal/cleanable/blood/splatter(src.loc)
- for(var/datum/disease/D in src.viruses)
- b.viruses += D
- if (step_to(src, get_step(src, direction), 0))
- break
-
-/obj/effect/decal/cleanable/xenoblood/xgibs/proc/streak(var/list/directions)
- spawn (0)
- var/direction = pick(directions)
- for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++)
- sleep(3)
- if (i > 0)
- var/obj/effect/decal/cleanable/xenoblood/b = new /obj/effect/decal/cleanable/xenoblood/xsplatter(src.loc)
- for(var/datum/disease/D in src.viruses)
- b.viruses += D
- if (step_to(src, get_step(src, direction), 0))
- break
-
-/obj/effect/decal/cleanable/robot_debris/proc/streak(var/list/directions)
- spawn (0)
- var/direction = pick(directions)
- for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++)
- sleep(3)
- if (i > 0)
- if (prob(40))
- /*var/obj/effect/decal/cleanable/oil/o =*/
- new /obj/effect/decal/cleanable/oil/streak(src.loc)
- else if (prob(10))
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
- s.set_up(3, 1, src)
- s.start()
- if (step_to(src, get_step(src, direction), 0))
- break
-
-
-// not a great place for it, but as good as any
-
-/obj/effect/decal/cleanable/greenglow
-
- New()
- ..()
- sd_SetLuminosity(1)
-
- spawn(1200) // 2 minutes
- del(src)
\ No newline at end of file
diff --git a/code/game/objects/contraband.dm b/code/game/objects/contraband.dm
deleted file mode 100644
index edef7e5532..0000000000
--- a/code/game/objects/contraband.dm
+++ /dev/null
@@ -1,212 +0,0 @@
-
-//########################## CONTRABAND ;3333333333333333333 -Agouri ###################################################
-
-#define NUM_OF_POSTER_DESIGNS 17
-
-/obj/item/weapon/contraband
- name = "contraband item"
- desc = "You probably shouldn't be holding this."
- icon = 'icons/obj/contraband.dmi'
- force = 0
-
-
-/obj/item/weapon/contraband/poster
- name = "rolled-up poster"
- desc = "The poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface. Its vulgar themes have marked it as Contraband aboard Nanotrasen© Space Facilities."
- icon_state = "rolled_poster"
- var/serial_number = 0
- var/obj/effect/decal/poster/resulting_poster = null //The poster that will be created is initialised and stored through contraband/poster's constructor
-
-
-/obj/item/weapon/contraband/poster/New(turf/loc,var/given_serial=0)
- if(given_serial==0)
- serial_number = rand(1,NUM_OF_POSTER_DESIGNS)
- src.resulting_poster = new(serial_number)
- else
- serial_number = given_serial
- //We don't give it a resulting_poster because if we called it with a given_serial it means that we're rerolling an already used poster.
- src.name += " - No. [serial_number]"
- ..(loc)
-
-
-/*/obj/item/weapon/contraband/poster/attack(mob/M as mob, mob/user as mob)
- src.add_fingerprint(user)
- if(src.resulting_poster)
- src.resulting_poster.add_fingerprint(user)
- ..()*/
-
-/*/obj/item/weapon/contraband/poster/attack(atom/A, mob/user as mob) //This shit is handled through the wall's attackby()
- if (istype(A, /turf/simulated/wall))
- if(src.resulting_poster == null)
- return
- else
- var/turf/simulated/wall/W = A
- var/check = 0
- var/stuff_on_wall = 0
- for( var/obj/O in W.contents) //Let's see if it already has a poster on it or too much stuff
- if(istype(O,/obj/effect/decal/poster))
- check = 1
- break
- stuff_on_wall++
- if(stuff_on_wall==3)
- check = 1
- break
-
- if(check)
- user << "The wall is far too cluttered to place a poster!"
- return
-
- src.resulting_poster.loc = W //Looks like it's uncluttered enough. Place the poster
- W.contents += src.resulting_poster
-
- del(src)*/
-
-
-
-//############################## THE ACTUAL DECALS ###########################
-
-obj/effect/decal/poster
- name = "poster"
- desc = "A large piece of space-resistant printed paper. It's considered contraband."
- icon = 'icons/obj/contraband.dmi'
- anchored = 1
- var/serial_number //Will hold the value of src.loc if nobody initialises it
- var/ruined = 0
-
-
-obj/effect/decal/poster/New(var/serial)
-
- src.serial_number = serial
-
- if(serial_number==src.loc){serial_number = rand(1,NUM_OF_POSTER_DESIGNS);} //This is for the mappers that want individual posters without having to use rolled posters.
-
- icon_state = "poster[serial_number]"
-
- switch(serial_number)
- if(1)
- name += " - Unlucky Space Explorer"
- desc += " This particular one depicts a skeletal form within a space suit."
- if(2)
- name += " - Positronic Logic Conflicts"
- desc += " This particular one depicts the cold, unmoving stare of a particular advanced AI."
- if(3)
- name += " - Paranoia"
- desc += " This particular one warns of the dangers of trusting your co-workers too much."
- if(4)
- name += " - Keep Calm"
- desc += " This particular one is of a famous New Earth design, although a bit modified."
- if(5)
- name += " - Martian Warlord"
- desc += " This particular one depicts the cartoony mug of a certain Martial Warmonger."
- if(6)
- name += " - Technological Singularity"
- desc += " This particular one is of the blood-curdling symbol of a long-since defeated enemy of humanity."
- if(7)
- name += " - Wasteland"
- desc += " This particular one is of a couple of ragged gunmen, one male and one female, on top of a mound of rubble. The number \"13\" is visible on their blue jumpsuits."
- if(8)
- name += " - Pinup Girl Cindy"
- desc += " This particular one is of Nanotrasen's PR girl, Cindy, in a particularly feminine pose."
- if(9)
- name += " - Pinup Girl Amy"
- desc += " This particular one is of Amy, the nymphomaniac Urban Legend of Nanotrasen Space Stations. How this photograph came to be is not known."
- if(10)
- name += " - Don't Panic"
- desc += " This particular one depicts some sort of star in a grimace. The \"Don't Panic\" is written in big, friendly letters."
- if(11)
- name += " - Underwater Laboratory"
- desc += " This particular one is of the fabled last crew of Nanotrasen's previous project before going big on Asteroid mining, Sealab."
- if(12)
- name += " - Missing Gloves"
- desc += " This particular one is about the uproar that followed Nanotrasen's financial cuts towards insulated-glove purchases."
- if(13)
- name += " - Rogue AI"
- desc += " This particular one depicts the shell of the infamous AI that catastropically comandeered one of Nanotrasen's earliest space stations. Back then, the corporation was just known as TriOptimum."
- if(14)
- name += " - User of the Arcane Arts"
- desc += " This particular one depicts a wizard, casting a spell. You can't really make out if it's an actial photograph or a computer-generated image."
- if(15)
- name += " - Levitating Skull"
- desc += " This particular one is the portrait of a certain flying, friendly and somewhat sex-crazed enchanted skull. Its adventures along with its fabled companion are now fading through history..."
- if(16)
- name += " - Augmented Legend"
- desc += " This particular one is of an obviously augmented individual, gazing towards the sky. The cyber-city in the backround is rather punkish."
- if(17)
- name += " - Dangerous Static"
- desc += " This particular one depicts nothing remarkable other than a rather mesmerising pattern of monitor static. There's a tag on the sides of the poster, urging you to \"tear this poster in half to receive your free sample\"."
- else
- name = "This shit just bugged. Report it to Agouri - polyxenitopalidou@gmail.com"
- desc = "Why are you still here?"
- ..()
-
-obj/effect/decal/poster/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if( istype(W, /obj/item/weapon/wirecutters) )
- playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
- if(src.ruined)
- user << "You remove the remnants of the poster."
- del(src)
- else
- user << "You carefully remove the poster from the wall."
- src.roll_and_drop(user.loc)
- return
-
-
-/obj/effect/decal/poster/attack_hand(mob/user as mob)
- if(src.ruined)
- return
- var/temp_loc = user.loc
- switch(alert("Do I want to rip the poster from the wall?","You think...","Yes","No"))
- if("Yes")
- if(user.loc != temp_loc)
- return
- for (var/mob/O in hearers(5, src.loc))
- O.show_message("[user.name] rips the [src.name] in a single, decisive motion!" )
- playsound(src.loc, 'sound/items/poster_ripped.ogg', 100, 1)
- src.ruined = 1
- src.icon_state = "poster_ripped"
- src.name = "Ripped poster"
- src.desc = "You can't make out anything from the poster's original print. It's ruined."
- src.add_fingerprint(user)
- if("No")
- return
-
-/obj/effect/decal/poster/proc/roll_and_drop(turf/loc)
- var/obj/item/weapon/contraband/poster/P = new(src,src.serial_number)
- P.resulting_poster = src
- P.loc = loc
- src.loc = P
-
-
-//seperated to reduce code duplication. Moved here for ease of reference and to unclutter r_wall/attackby()
-/turf/simulated/wall/proc/place_poster(var/obj/item/weapon/contraband/poster/P, var/mob/user)
- if(!P.resulting_poster) return
-
- var/stuff_on_wall = 0
- for( var/obj/O in src.contents) //Let's see if it already has a poster on it or too much stuff
- if(istype(O,/obj/effect/decal/poster))
- user << "The wall is far too cluttered to place a poster!"
- return
- stuff_on_wall++
- if(stuff_on_wall==3)
- user << "The wall is far too cluttered to place a poster!"
- return
-
- user << "You start placing the poster on the wall..." //Looks like it's uncluttered enough. Place the poster.
-
- //declaring D because otherwise if P gets 'deconstructed' we lose our reference to P.resulting_poster
- var/obj/effect/decal/poster/D = P.resulting_poster
-
- var/temp_loc = user.loc
- flick("poster_being_set",D)
- D.loc = src
- del(P) //delete it now to cut down on sanity checks afterwards. Agouri's code supports rerolling it anyway
- playsound(D.loc, 'sound/items/poster_being_created.ogg', 100, 1)
-
- sleep(17)
- if(!D) return
-
- if(istype(src,/turf/simulated/wall) && user && user.loc == temp_loc)//Let's check if everything is still there
- user << "You place the poster!"
- else
- D.roll_and_drop(temp_loc)
- return
\ No newline at end of file
diff --git a/code/game/objects/biomass.dm b/code/game/objects/effects/biomass.dm
similarity index 100%
rename from code/game/objects/biomass.dm
rename to code/game/objects/effects/biomass.dm
diff --git a/code/game/objects/effect_system.dm b/code/game/objects/effects/effect_system.dm
similarity index 100%
rename from code/game/objects/effect_system.dm
rename to code/game/objects/effects/effect_system.dm
diff --git a/code/game/objects/gibs.dm b/code/game/objects/effects/gibs.dm
similarity index 100%
rename from code/game/objects/gibs.dm
rename to code/game/objects/effects/gibs.dm
diff --git a/code/game/objects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm
similarity index 100%
rename from code/game/objects/glowshroom.dm
rename to code/game/objects/effects/glowshroom.dm
diff --git a/code/game/objects/bombspawner.dm b/code/game/objects/effects/spawners/bombspawner.dm
similarity index 100%
rename from code/game/objects/bombspawner.dm
rename to code/game/objects/effects/spawners/bombspawner.dm
diff --git a/code/game/objects/grille.dm b/code/game/objects/grille.dm
index b87a41be60..3b6dbceef8 100644
--- a/code/game/objects/grille.dm
+++ b/code/game/objects/grille.dm
@@ -212,49 +212,3 @@
else
return 0
return 0
-
-
-
-
- /*if(ishuman(user)) //Let's check if the guy's wearing electrically insulated gloves --Agourimarkan
- var/mob/living/carbon/human/H = user
- if(H.gloves)
- var/obj/item/clothing/gloves/G = H.gloves
- if(istype(G,/obj/item/clothing/gloves/yellow) ) //Business as usual for guys with gloves
- src.health -= W.force * 0.2
- else // Guy has gloves, not electrically insulated ones
- var/outcome = pick(1,2,3)
- switch(outcome) // 3 possible outcomes
- if(1) //Guy gets shocked. If not electrified, cause damage.
- if(shock(user,100))
- return
- else
- src.health -= W.force *0.2
- if(2) //Shard breaks
- user << "The shard breaks!"
- del W
- return
- if(3) //You somehow manage to damage the grille. Beefin' up the damage, a bit. Instead of doing 10% damage it now does... 20% of the shard's force? Yeah, 20% sounds good at 66% chance of failure.
- src.health -=W.force *0.2
- else //SHIT SON, GUY DOESN'T HAVE ANY GLOVES
- var/outcome = pick(1,2,3)
- switch(outcome)
- if(1) // Let's see, the guy damages it but takes some damage back
- user << "You cut yourself with the shard as you hit the grille!"
- src.health -= W.force *0.2
- var/brutedamagetaken = rand(3,6)
- H.take_organ_damage(brutedamagetaken,0)
- if(2) //Guy gets shocked. If not electrified, apply damage
- if(shock(user,100))
- return
- else
- src.health -= W.force *0.2
- if(3) // It breaks in his hands. Ouch.
- user << "As you smash the grille the shard breaks into smithereens in your palm!"
- src.health -= W.force *0.2
- del(W)
- var/brutedamagetaken = rand(5,8)
- H.take_organ_damage(brutedamagetaken,0)
- return
- else //Alright, he's not a human. Can monkeys or aliens even wear gloves?
- src.health -= W.force *0.1*/ //10% damage only for non-glorious human master race members
diff --git a/code/game/objects/closets.dm b/code/game/objects/structures/closets.dm
similarity index 100%
rename from code/game/objects/closets.dm
rename to code/game/objects/structures/closets.dm
diff --git a/code/game/objects/crates.dm b/code/game/objects/structures/crates.dm
similarity index 100%
rename from code/game/objects/crates.dm
rename to code/game/objects/structures/crates.dm
diff --git a/code/game/objects/displaycase.dm b/code/game/objects/structures/displaycase.dm
similarity index 100%
rename from code/game/objects/displaycase.dm
rename to code/game/objects/structures/displaycase.dm
diff --git a/code/game/objects/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
similarity index 100%
rename from code/game/objects/door_assembly.dm
rename to code/game/objects/structures/door_assembly.dm
diff --git a/code/game/objects/electricchair.dm b/code/game/objects/structures/electricchair.dm
similarity index 100%
rename from code/game/objects/electricchair.dm
rename to code/game/objects/structures/electricchair.dm
diff --git a/code/game/objects/lamarr.dm b/code/game/objects/structures/lamarr_cage.dm
similarity index 100%
rename from code/game/objects/lamarr.dm
rename to code/game/objects/structures/lamarr_cage.dm
diff --git a/code/game/objects/mirror.dm b/code/game/objects/structures/mirror.dm
similarity index 100%
rename from code/game/objects/mirror.dm
rename to code/game/objects/structures/mirror.dm
diff --git a/code/game/objects/cleaner.dm b/code/game/objects/structures/mop_bucket.dm
similarity index 100%
rename from code/game/objects/cleaner.dm
rename to code/game/objects/structures/mop_bucket.dm
diff --git a/code/game/objects/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm
similarity index 100%
rename from code/game/objects/windoor_assembly.dm
rename to code/game/objects/structures/windoor_assembly.dm
diff --git a/code/game/objects/window.dm b/code/game/objects/structures/window.dm
similarity index 100%
rename from code/game/objects/window.dm
rename to code/game/objects/structures/window.dm
diff --git a/tgstation.dme b/tgstation.dme
index 54e4c1a55d..8baedd14a3 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -63,6 +63,9 @@
#define FILE_DIR "code/game/objects/closets/secure"
#define FILE_DIR "code/game/objects/devices"
#define FILE_DIR "code/game/objects/devices/PDA"
+#define FILE_DIR "code/game/objects/effects"
+#define FILE_DIR "code/game/objects/effects/decals"
+#define FILE_DIR "code/game/objects/effects/spawners"
#define FILE_DIR "code/game/objects/grenades"
#define FILE_DIR "code/game/objects/items"
#define FILE_DIR "code/game/objects/items/weapons"
@@ -567,31 +570,16 @@
#include "code\game\mecha\working\firefighter.dm"
#include "code\game\mecha\working\ripley.dm"
#include "code\game\mecha\working\working.dm"
-#include "code\game\objects\biomass.dm"
-#include "code\game\objects\blood.dm"
#include "code\game\objects\bodybag.dm"
-#include "code\game\objects\bombspawner.dm"
-#include "code\game\objects\cleaner.dm"
-#include "code\game\objects\closets.dm"
-#include "code\game\objects\contraband.dm"
-#include "code\game\objects\crates.dm"
-#include "code\game\objects\displaycase.dm"
-#include "code\game\objects\door_assembly.dm"
-#include "code\game\objects\effect_system.dm"
-#include "code\game\objects\electricchair.dm"
#include "code\game\objects\empulse.dm"
#include "code\game\objects\explosion.dm"
#include "code\game\objects\explosion_recursive.dm"
-#include "code\game\objects\gibs.dm"
-#include "code\game\objects\glowshroom.dm"
#include "code\game\objects\grille.dm"
#include "code\game\objects\items.dm"
#include "code\game\objects\kitchen.dm"
#include "code\game\objects\ladders.dm"
-#include "code\game\objects\lamarr.dm"
#include "code\game\objects\largecrate.dm"
#include "code\game\objects\mineral_doors.dm"
-#include "code\game\objects\mirror.dm"
#include "code\game\objects\noticeboard.dm"
#include "code\game\objects\object_procs.dm"
#include "code\game\objects\portals.dm"
@@ -607,8 +595,6 @@
#include "code\game\objects\washing_machine.dm"
#include "code\game\objects\watercloset.dm"
#include "code\game\objects\weapons.dm"
-#include "code\game\objects\windoor_assembly.dm"
-#include "code\game\objects\window.dm"
#include "code\game\objects\alien\acid.dm"
#include "code\game\objects\alien\defines.dm"
#include "code\game\objects\alien\egg.dm"
@@ -658,6 +644,13 @@
#include "code\game\objects\devices\PDA\chatroom.dm"
#include "code\game\objects\devices\PDA\PDA.dm"
#include "code\game\objects\devices\PDA\radio.dm"
+#include "code\game\objects\effects\biomass.dm"
+#include "code\game\objects\effects\effect_system.dm"
+#include "code\game\objects\effects\gibs.dm"
+#include "code\game\objects\effects\glowshroom.dm"
+#include "code\game\objects\effects\decals\blood.dm"
+#include "code\game\objects\effects\decals\contraband.dm"
+#include "code\game\objects\effects\spawners\bombspawner.dm"
#include "code\game\objects\grenades\chem_grenade.dm"
#include "code\game\objects\grenades\emgrenade.dm"
#include "code\game\objects\grenades\flashbang.dm"
@@ -737,7 +730,17 @@
#include "code\game\objects\storage\storage.dm"
#include "code\game\objects\storage\toolbox.dm"
#include "code\game\objects\storage\uplink_kits.dm"
+#include "code\game\objects\structures\closets.dm"
+#include "code\game\objects\structures\crates.dm"
+#include "code\game\objects\structures\displaycase.dm"
+#include "code\game\objects\structures\door_assembly.dm"
+#include "code\game\objects\structures\electricchair.dm"
+#include "code\game\objects\structures\lamarr_cage.dm"
+#include "code\game\objects\structures\mirror.dm"
+#include "code\game\objects\structures\mop_bucket.dm"
#include "code\game\objects\structures\musician.dm"
+#include "code\game\objects\structures\windoor_assembly.dm"
+#include "code\game\objects\structures\window.dm"
#include "code\game\objects\tanks\emergency.dm"
#include "code\game\objects\tanks\jetpack.dm"
#include "code\game\objects\tanks\oxygen.dm"