diff --git a/baystation12.dme b/baystation12.dme
index bb8050aed8..4c3a843fd0 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -1,37 +1,10 @@
-<<<<<<< HEAD
// DM Environment file for baystation12.dme.
-// All manual changes should be made outside the BEGIN_ and END_ blocks.
- // New source code should be placed in .dm files: choose File/New --> Code File.
+// All manual changes should be made outside the BEGIN_ and END_ blocks.
+// New source code should be placed in .dm files: choose File/New --> Code File.
// BEGIN_INTERNALS
// END_INTERNALS
// BEGIN_FILE_DIR
#define FILE_DIR .
-#define FILE_DIR ".git"
-#define FILE_DIR ".git/hooks"
-#define FILE_DIR ".git/info"
-#define FILE_DIR ".git/logs"
-#define FILE_DIR ".git/logs/refs"
-#define FILE_DIR ".git/logs/refs/heads"
-#define FILE_DIR ".git/logs/refs/remotes"
-#define FILE_DIR ".git/logs/refs/remotes/origin"
-#define FILE_DIR ".git/objects"
-#define FILE_DIR ".git/objects/00"
-#define FILE_DIR ".git/objects/2c"
-#define FILE_DIR ".git/objects/2e"
-#define FILE_DIR ".git/objects/37"
-#define FILE_DIR ".git/objects/4f"
-#define FILE_DIR ".git/objects/73"
-#define FILE_DIR ".git/objects/a0"
-#define FILE_DIR ".git/objects/b4"
-#define FILE_DIR ".git/objects/bb"
-#define FILE_DIR ".git/objects/bd"
-#define FILE_DIR ".git/objects/e0"
-#define FILE_DIR ".git/objects/fd"
-#define FILE_DIR ".git/objects/pack"
-#define FILE_DIR ".git/refs"
-#define FILE_DIR ".git/refs/heads"
-#define FILE_DIR ".git/refs/remotes"
-#define FILE_DIR ".git/refs/remotes/origin"
#define FILE_DIR "code"
#define FILE_DIR "code/ATMOSPHERICS"
#define FILE_DIR "code/ATMOSPHERICS/components"
@@ -53,6 +26,7 @@
#define FILE_DIR "code/defines/obj"
#define FILE_DIR "code/defines/obj/clothing"
#define FILE_DIR "code/defines/procs"
+#define FILE_DIR "code/defines/sd_procs"
#define FILE_DIR "code/FEA"
#define FILE_DIR "code/game"
#define FILE_DIR "code/game/area"
@@ -122,6 +96,7 @@
#define FILE_DIR "code/modules/clothing/uniforms"
#define FILE_DIR "code/modules/critters"
#define FILE_DIR "code/modules/critters/hivebots"
+#define FILE_DIR "code/modules/customitems"
#define FILE_DIR "code/modules/DetectiveWork"
#define FILE_DIR "code/modules/flufftext"
#define FILE_DIR "code/modules/food"
@@ -195,16 +170,6 @@
#define FILE_DIR "code/WorkInProgress/Tastyfish"
#define FILE_DIR "code/WorkInProgress/virus2"
#define FILE_DIR "code/WorkInProgress/Wrongnumber"
-#define FILE_DIR "config"
-#define FILE_DIR "config/names"
-#define FILE_DIR "data"
-#define FILE_DIR "data/logs"
-#define FILE_DIR "data/logs/2012"
-#define FILE_DIR "data/logs/2012/02-February"
-#define FILE_DIR "data/logs/2012/03-March"
-#define FILE_DIR "data/player_saves"
-#define FILE_DIR "data/player_saves/c"
-#define FILE_DIR "data/player_saves/c/chinsky"
#define FILE_DIR "html"
#define FILE_DIR "icons"
#define FILE_DIR "icons/48x48"
@@ -219,14 +184,12 @@
#define FILE_DIR "icons/obj/machines"
#define FILE_DIR "icons/obj/pipes"
#define FILE_DIR "icons/pda_icons"
-#define FILE_DIR "icons/PSD files"
#define FILE_DIR "icons/spideros_icons"
#define FILE_DIR "icons/Testing"
#define FILE_DIR "icons/turf"
#define FILE_DIR "icons/vending_icons"
#define FILE_DIR "interface"
#define FILE_DIR "maps"
-#define FILE_DIR "music"
#define FILE_DIR "sound"
#define FILE_DIR "sound/ambience"
#define FILE_DIR "sound/announcer"
@@ -240,13 +203,10 @@
#define FILE_DIR "sound/scary"
#define FILE_DIR "sound/voice"
#define FILE_DIR "sound/weapons"
-#define FILE_DIR "SQL"
// END_FILE_DIR
-
// BEGIN_PREFERENCES
#define DEBUG
// END_PREFERENCES
-
// BEGIN_INCLUDE
#include "code\names.dm"
#include "code\setup.dm"
@@ -394,6 +354,10 @@
#include "code\defines\procs\statistics.dm"
#include "code\defines\procs\syndicate_name.dm"
#include "code\defines\procs\time_stamp.dm"
+#include "code\defines\sd_procs\base64.dm"
+#include "code\defines\sd_procs\constants.dm"
+#include "code\defines\sd_procs\direction.dm"
+#include "code\defines\sd_procs\math.dm"
#include "code\FEA\FEA_airgroup.dm"
#include "code\FEA\FEA_fire.dm"
#include "code\FEA\FEA_gas_mixture.dm"
@@ -461,6 +425,8 @@
#include "code\game\gamemodes\setupgame.dm"
#include "code\game\gamemodes\autotraitor\autotraitor.dm"
#include "code\game\gamemodes\blob\blob.dm"
+#include "code\game\gamemodes\blob\blob_finish.dm"
+#include "code\game\gamemodes\blob\blob_report.dm"
#include "code\game\gamemodes\blob\theblob.dm"
#include "code\game\gamemodes\changeling\changeling.dm"
#include "code\game\gamemodes\changeling\changeling_powers.dm"
@@ -479,6 +445,7 @@
#include "code\game\gamemodes\sandbox\h_sandbox.dm"
#include "code\game\gamemodes\sandbox\sandbox.dm"
#include "code\game\gamemodes\traitor\traitor.dm"
+#include "code\game\gamemodes\wizard\soulstone.dm"
#include "code\game\gamemodes\wizard\spellbook.dm"
#include "code\game\gamemodes\wizard\spells.dm"
#include "code\game\gamemodes\wizard\wizard.dm"
@@ -858,6 +825,8 @@
#include "code\modules\critters\critter_defenses.dm"
#include "code\modules\critters\critters.dm"
#include "code\modules\critters\hivebots\hivebot.dm"
+#include "code\modules\customitems\item_defines.dm"
+#include "code\modules\customitems\item_spawning.dm"
#include "code\modules\DetectiveWork\detective_work.dm"
#include "code\modules\DetectiveWork\evidence.dm"
#include "code\modules\flufftext\Dreaming.dm"
@@ -962,6 +931,7 @@
#include "code\modules\mob\living\carbon\monkey\life.dm"
#include "code\modules\mob\living\carbon\monkey\login.dm"
#include "code\modules\mob\living\carbon\monkey\monkey.dm"
+#include "code\modules\mob\living\carbon\monkey\npc.dm"
#include "code\modules\mob\living\carbon\monkey\powers.dm"
#include "code\modules\mob\living\carbon\monkey\say.dm"
#include "code\modules\mob\living\silicon\say.dm"
@@ -1110,7 +1080,6 @@
#include "code\WorkInProgress\mapload\dmm_suite.dm"
#include "code\WorkInProgress\mapload\reader.dm"
#include "code\WorkInProgress\Mini\atmos_control.dm"
-#include "code\WorkInProgress\Mini\customitems.dm"
#include "code\WorkInProgress\Mloc\Shortcuts.dm"
#include "code\WorkInProgress\Ported\head.dm"
#include "code\WorkInProgress\Ported\policetape.dm"
@@ -1145,1119 +1114,3 @@
#include "interface\skin.dmf"
#include "maps\tgstation.2.0.8.dmm"
// END_INCLUDE
-=======
-// DM Environment file for baystation12.dme.
-// All manual changes should be made outside the BEGIN_ and END_ blocks.
-// New source code should be placed in .dm files: choose File/New --> Code File.
-// BEGIN_INTERNALS
-// END_INTERNALS
-// 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/datums"
-#define FILE_DIR "code/datums/diseases"
-#define FILE_DIR "code/datums/helper_datums"
-#define FILE_DIR "code/datums/spells"
-#define FILE_DIR "code/defines"
-#define FILE_DIR "code/defines/area"
-#define FILE_DIR "code/defines/mob"
-#define FILE_DIR "code/defines/mob/dead"
-#define FILE_DIR "code/defines/mob/living"
-#define FILE_DIR "code/defines/mob/living/carbon"
-#define FILE_DIR "code/defines/mob/living/silicon"
-#define FILE_DIR "code/defines/mob/simple_animal"
-#define FILE_DIR "code/defines/obj"
-#define FILE_DIR "code/defines/obj/clothing"
-#define FILE_DIR "code/defines/procs"
-#define FILE_DIR "code/defines/sd_procs"
-#define FILE_DIR "code/FEA"
-#define FILE_DIR "code/game"
-#define FILE_DIR "code/game/area"
-#define FILE_DIR "code/game/asteroid"
-#define FILE_DIR "code/game/events"
-#define FILE_DIR "code/game/events/EventProcs"
-#define FILE_DIR "code/game/events/Events"
-#define FILE_DIR "code/game/gamemodes"
-#define FILE_DIR "code/game/gamemodes/autotraitor"
-#define FILE_DIR "code/game/gamemodes/blob"
-#define FILE_DIR "code/game/gamemodes/changeling"
-#define FILE_DIR "code/game/gamemodes/cult"
-#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/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/magic"
-#define FILE_DIR "code/game/magic/cultist"
-#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/working"
-#define FILE_DIR "code/game/objects"
-#define FILE_DIR "code/game/objects/alien"
-#define FILE_DIR "code/game/objects/closets"
-#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/items"
-#define FILE_DIR "code/game/objects/items/clothing"
-#define FILE_DIR "code/game/objects/items/weapons"
-#define FILE_DIR "code/game/objects/items/weapons/implants"
-#define FILE_DIR "code/game/objects/radio"
-#define FILE_DIR "code/game/objects/secstorage"
-#define FILE_DIR "code/game/objects/stacks"
-#define FILE_DIR "code/game/objects/storage"
-#define FILE_DIR "code/game/objects/tanks"
-#define FILE_DIR "code/game/player"
-#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/verbs"
-#define FILE_DIR "code/modules/assembly"
-#define FILE_DIR "code/modules/chemical"
-#define FILE_DIR "code/modules/clothing"
-#define FILE_DIR "code/modules/clothing/glasses"
-#define FILE_DIR "code/modules/clothing/spacesuits"
-#define FILE_DIR "code/modules/clothing/suits"
-#define FILE_DIR "code/modules/clothing/uniforms"
-#define FILE_DIR "code/modules/critters"
-#define FILE_DIR "code/modules/critters/hivebots"
-#define FILE_DIR "code/modules/customitems"
-#define FILE_DIR "code/modules/DetectiveWork"
-#define FILE_DIR "code/modules/flufftext"
-#define FILE_DIR "code/modules/food"
-#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/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/new_player"
-#define FILE_DIR "code/modules/mob/organ"
-#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/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/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/spacecraft"
-#define FILE_DIR "code/WorkInProgress"
-#define FILE_DIR "code/WorkInProgress/Apples"
-#define FILE_DIR "code/WorkInProgress/Cael_Aislinn"
-#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Tajara"
-#define FILE_DIR "code/WorkInProgress/mapload"
-#define FILE_DIR "code/WorkInProgress/Mini"
-#define FILE_DIR "code/WorkInProgress/Mloc"
-#define FILE_DIR "code/WorkInProgress/organs"
-#define FILE_DIR "code/WorkInProgress/Ported"
-#define FILE_DIR "code/WorkInProgress/Ported/Abi79"
-#define FILE_DIR "code/WorkInProgress/Ported/Bureaucracy"
-#define FILE_DIR "code/WorkInProgress/Ported/Spawners"
-#define FILE_DIR "code/WorkInProgress/Ported/ZeroPoint"
-#define FILE_DIR "code/WorkInProgress/SkyMarshal"
-#define FILE_DIR "code/WorkInProgress/Tastyfish"
-#define FILE_DIR "code/WorkInProgress/virus2"
-#define FILE_DIR "code/WorkInProgress/Wrongnumber"
-#define FILE_DIR "html"
-#define FILE_DIR "icons"
-#define FILE_DIR "icons/48x48"
-#define FILE_DIR "icons/effects"
-#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/vending_icons"
-#define FILE_DIR "interface"
-#define FILE_DIR "maps"
-#define FILE_DIR "sound"
-#define FILE_DIR "sound/ambience"
-#define FILE_DIR "sound/announcer"
-#define FILE_DIR "sound/bots"
-#define FILE_DIR "sound/effects"
-#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/scary"
-#define FILE_DIR "sound/voice"
-#define FILE_DIR "sound/weapons"
-// END_FILE_DIR
-// BEGIN_PREFERENCES
-#define DEBUG
-// END_PREFERENCES
-// BEGIN_INCLUDE
-#include "code\names.dm"
-#include "code\setup.dm"
-#include "code\stylesheet.dm"
-#include "code\ATMOSPHERICS\atmospherics.dm"
-#include "code\ATMOSPHERICS\datum_pipe_network.dm"
-#include "code\ATMOSPHERICS\datum_pipeline.dm"
-#include "code\ATMOSPHERICS\he_pipes.dm"
-#include "code\ATMOSPHERICS\pipes.dm"
-#include "code\ATMOSPHERICS\components\portables_connector.dm"
-#include "code\ATMOSPHERICS\components\tvalve.dm"
-#include "code\ATMOSPHERICS\components\valve.dm"
-#include "code\ATMOSPHERICS\components\binary_devices\binary_atmos_base.dm"
-#include "code\ATMOSPHERICS\components\binary_devices\circulator.dm"
-#include "code\ATMOSPHERICS\components\binary_devices\dp_vent_pump.dm"
-#include "code\ATMOSPHERICS\components\binary_devices\passive_gate.dm"
-#include "code\ATMOSPHERICS\components\binary_devices\pump.dm"
-#include "code\ATMOSPHERICS\components\binary_devices\volume_pump.dm"
-#include "code\ATMOSPHERICS\components\trinary_devices\filter.dm"
-#include "code\ATMOSPHERICS\components\trinary_devices\mixer.dm"
-#include "code\ATMOSPHERICS\components\trinary_devices\trinary_base.dm"
-#include "code\ATMOSPHERICS\components\unary\cold_sink.dm"
-#include "code\ATMOSPHERICS\components\unary\generator_input.dm"
-#include "code\ATMOSPHERICS\components\unary\heat_exchanger.dm"
-#include "code\ATMOSPHERICS\components\unary\heat_source.dm"
-#include "code\ATMOSPHERICS\components\unary\outlet_injector.dm"
-#include "code\ATMOSPHERICS\components\unary\oxygen_generator.dm"
-#include "code\ATMOSPHERICS\components\unary\unary_base.dm"
-#include "code\ATMOSPHERICS\components\unary\vent_pump.dm"
-#include "code\ATMOSPHERICS\components\unary\vent_scrubber.dm"
-#include "code\datums\ai_laws.dm"
-#include "code\datums\computerfiles.dm"
-#include "code\datums\configuration.dm"
-#include "code\datums\datumvars.dm"
-#include "code\datums\disease.dm"
-#include "code\datums\mind.dm"
-#include "code\datums\mixed.dm"
-#include "code\datums\modules.dm"
-#include "code\datums\organs.dm"
-#include "code\datums\recipe.dm"
-#include "code\datums\shuttle_controller.dm"
-#include "code\datums\spell.dm"
-#include "code\datums\sun.dm"
-#include "code\datums\vote.dm"
-#include "code\datums\diseases\alien_embryo.dm"
-#include "code\datums\diseases\appendicitis.dm"
-#include "code\datums\diseases\beesease.dm"
-#include "code\datums\diseases\brainrot.dm"
-#include "code\datums\diseases\cold.dm"
-#include "code\datums\diseases\cold9.dm"
-#include "code\datums\diseases\dna_spread.dm"
-#include "code\datums\diseases\fake_gbs.dm"
-#include "code\datums\diseases\flu.dm"
-#include "code\datums\diseases\fluspanish.dm"
-#include "code\datums\diseases\gbs.dm"
-#include "code\datums\diseases\jungle_fever.dm"
-#include "code\datums\diseases\magnitis.dm"
-#include "code\datums\diseases\pierrot_throat.dm"
-#include "code\datums\diseases\plasmatoid.dm"
-#include "code\datums\diseases\retrovirus.dm"
-#include "code\datums\diseases\rhumba_beat.dm"
-#include "code\datums\diseases\robotic_transformation.dm"
-#include "code\datums\diseases\wizarditis.dm"
-#include "code\datums\diseases\xeno_transformation.dm"
-#include "code\datums\helper_datums\construction_datum.dm"
-#include "code\datums\helper_datums\getrev.dm"
-#include "code\datums\helper_datums\global_iterator.dm"
-#include "code\datums\helper_datums\teleport.dm"
-#include "code\datums\helper_datums\tension.dm"
-#include "code\datums\helper_datums\topic_input.dm"
-#include "code\datums\spells\area_teleport.dm"
-#include "code\datums\spells\conjure.dm"
-#include "code\datums\spells\emplosion.dm"
-#include "code\datums\spells\ethereal_jaunt.dm"
-#include "code\datums\spells\explosion.dm"
-#include "code\datums\spells\genetic.dm"
-#include "code\datums\spells\inflict_handler.dm"
-#include "code\datums\spells\knock.dm"
-#include "code\datums\spells\mind_transfer.dm"
-#include "code\datums\spells\projectile.dm"
-#include "code\datums\spells\trigger.dm"
-#include "code\datums\spells\turf_teleport.dm"
-#include "code\datums\spells\wizard.dm"
-#include "code\defines\atom.dm"
-#include "code\defines\client.dm"
-#include "code\defines\global.dm"
-#include "code\defines\hub.dm"
-#include "code\defines\obj.dm"
-#include "code\defines\turf.dm"
-#include "code\defines\world.dm"
-#include "code\defines\area\Space Station 13 areas.dm"
-#include "code\defines\mob\mob.dm"
-#include "code\defines\mob\dead\observer.dm"
-#include "code\defines\mob\living\living.dm"
-#include "code\defines\mob\living\carbon\alien.dm"
-#include "code\defines\mob\living\carbon\alien_humanoid.dm"
-#include "code\defines\mob\living\carbon\alien_larva.dm"
-#include "code\defines\mob\living\carbon\carbon.dm"
-#include "code\defines\mob\living\carbon\metroid.dm"
-#include "code\defines\mob\living\silicon\ai.dm"
-#include "code\defines\mob\living\silicon\decoy.dm"
-#include "code\defines\mob\living\silicon\pai.dm"
-#include "code\defines\mob\living\silicon\robot.dm"
-#include "code\defines\mob\living\silicon\silicon.dm"
-#include "code\defines\mob\simple_animal\cat.dm"
-#include "code\defines\mob\simple_animal\corgi.dm"
-#include "code\defines\mob\simple_animal\crab.dm"
-#include "code\defines\mob\simple_animal\life.dm"
-#include "code\defines\obj\closet.dm"
-#include "code\defines\obj\clothing.dm"
-#include "code\defines\obj\computer.dm"
-#include "code\defines\obj\decal.dm"
-#include "code\defines\obj\door.dm"
-#include "code\defines\obj\hydro.dm"
-#include "code\defines\obj\machinery.dm"
-#include "code\defines\obj\radio.dm"
-#include "code\defines\obj\spawner.dm"
-#include "code\defines\obj\storage.dm"
-#include "code\defines\obj\supplypacks.dm"
-#include "code\defines\obj\toy.dm"
-#include "code\defines\obj\vending.dm"
-#include "code\defines\obj\weapon.dm"
-#include "code\defines\obj\window.dm"
-#include "code\defines\obj\clothing\costume.dm"
-#include "code\defines\obj\clothing\ears.dm"
-#include "code\defines\obj\clothing\gimmick.dm"
-#include "code\defines\obj\clothing\gloves.dm"
-#include "code\defines\obj\clothing\head.dm"
-#include "code\defines\obj\clothing\jumpsuit.dm"
-#include "code\defines\obj\clothing\mask.dm"
-#include "code\defines\obj\clothing\shoes.dm"
-#include "code\defines\procs\AStar.dm"
-#include "code\defines\procs\captain_announce.dm"
-#include "code\defines\procs\church_name.dm"
-#include "code\defines\procs\command_alert.dm"
-#include "code\defines\procs\command_name.dm"
-#include "code\defines\procs\dbcore.dm"
-#include "code\defines\procs\gamehelpers.dm"
-#include "code\defines\procs\helpers.dm"
-#include "code\defines\procs\icon_procs.dm"
-#include "code\defines\procs\icon_procs_readme.dm"
-#include "code\defines\procs\logging.dm"
-#include "code\defines\procs\religion_name.dm"
-#include "code\defines\procs\station_name.dm"
-#include "code\defines\procs\statistics.dm"
-#include "code\defines\procs\syndicate_name.dm"
-#include "code\defines\procs\time_stamp.dm"
-#include "code\defines\sd_procs\base64.dm"
-#include "code\defines\sd_procs\constants.dm"
-#include "code\defines\sd_procs\direction.dm"
-#include "code\defines\sd_procs\math.dm"
-#include "code\FEA\FEA_airgroup.dm"
-#include "code\FEA\FEA_fire.dm"
-#include "code\FEA\FEA_gas_mixture.dm"
-#include "code\FEA\FEA_group_helpers.dm"
-#include "code\FEA\FEA_system.dm"
-#include "code\FEA\FEA_turf_tile.dm"
-#include "code\game\algorithm.dm"
-#include "code\game\atom_procs.dm"
-#include "code\game\cellautomata.dm"
-#include "code\game\chemistry.dm"
-#include "code\game\communications.dm"
-#include "code\game\dna.dm"
-#include "code\game\dna_mutations.dm"
-#include "code\game\hud.dm"
-#include "code\game\json.dm"
-#include "code\game\landmarks.dm"
-#include "code\game\master_controller.dm"
-#include "code\game\prisonshuttle.dm"
-#include "code\game\response_team.dm"
-#include "code\game\shuttle_engines.dm"
-#include "code\game\skincmd.dm"
-#include "code\game\smoothwall.dm"
-#include "code\game\sound.dm"
-#include "code\game\specops_shuttle.dm"
-#include "code\game\status.dm"
-#include "code\game\supplyshuttle.dm"
-#include "code\game\syndicate_shuttle.dm"
-#include "code\game\syndicate_specops_shuttle.dm"
-#include "code\game\throwing.dm"
-#include "code\game\topic.dm"
-#include "code\game\turf.dm"
-#include "code\game\vials.dm"
-#include "code\game\vote.dm"
-#include "code\game\area\ai_monitored.dm"
-#include "code\game\area\areas.dm"
-#include "code\game\events\Event.dm"
-#include "code\game\events\EventsMain.dm"
-#include "code\game\events\EventProcs\black_hole.dm"
-#include "code\game\events\EventProcs\clang.dm"
-#include "code\game\events\EventProcs\dust.dm"
-#include "code\game\events\EventProcs\kudzu.dm"
-#include "code\game\events\EventProcs\miniblob.dm"
-#include "code\game\events\EventProcs\misc.dm"
-#include "code\game\events\EventProcs\ninja_abilities.dm"
-#include "code\game\events\EventProcs\ninja_equipment.dm"
-#include "code\game\events\EventProcs\space_ninja.dm"
-#include "code\game\events\Events\AlienInfestation.dm"
-#include "code\game\events\Events\Appendicitis.dm"
-#include "code\game\events\Events\ElectricalStorm.dm"
-#include "code\game\events\Events\GravitationalAnomaly.dm"
-#include "code\game\events\Events\ImmovableRod.dm"
-#include "code\game\events\Events\IonStorm.dm"
-#include "code\game\events\Events\MeteorStorm.dm"
-#include "code\game\events\Events\MiniBlob.dm"
-#include "code\game\events\Events\PowerOffline.dm"
-#include "code\game\events\Events\PrisonBreak.dm"
-#include "code\game\events\Events\RadiationBelt.dm"
-#include "code\game\events\Events\SpaceCarp.dm"
-#include "code\game\events\Events\SpaceNinja.dm"
-#include "code\game\events\Events\VirusEpidemic.dm"
-#include "code\game\gamemodes\game_mode.dm"
-#include "code\game\gamemodes\gameticker.dm"
-#include "code\game\gamemodes\intercept_report.dm"
-#include "code\game\gamemodes\objective.dm"
-#include "code\game\gamemodes\setupgame.dm"
-#include "code\game\gamemodes\autotraitor\autotraitor.dm"
-#include "code\game\gamemodes\blob\blob.dm"
-#include "code\game\gamemodes\blob\blob_finish.dm"
-#include "code\game\gamemodes\blob\blob_report.dm"
-#include "code\game\gamemodes\blob\theblob.dm"
-#include "code\game\gamemodes\changeling\changeling.dm"
-#include "code\game\gamemodes\changeling\changeling_powers.dm"
-#include "code\game\gamemodes\changeling\traitor_chan.dm"
-#include "code\game\gamemodes\cult\cult.dm"
-#include "code\game\gamemodes\cult\cult_items.dm"
-#include "code\game\gamemodes\extended\extended.dm"
-#include "code\game\gamemodes\malfunction\Malf_Modules.dm"
-#include "code\game\gamemodes\malfunction\malfunction.dm"
-#include "code\game\gamemodes\meteor\meteor.dm"
-#include "code\game\gamemodes\meteor\meteors.dm"
-#include "code\game\gamemodes\nuclear\nuclear.dm"
-#include "code\game\gamemodes\nuclear\nuclearbomb.dm"
-#include "code\game\gamemodes\nuclear\pinpointer.dm"
-#include "code\game\gamemodes\revolution\revolution.dm"
-#include "code\game\gamemodes\sandbox\h_sandbox.dm"
-#include "code\game\gamemodes\sandbox\sandbox.dm"
-#include "code\game\gamemodes\traitor\traitor.dm"
-#include "code\game\gamemodes\wizard\soulstone.dm"
-#include "code\game\gamemodes\wizard\spellbook.dm"
-#include "code\game\gamemodes\wizard\spells.dm"
-#include "code\game\gamemodes\wizard\wizard.dm"
-#include "code\game\jobs\access.dm"
-#include "code\game\jobs\job_controller.dm"
-#include "code\game\jobs\jobprocs.dm"
-#include "code\game\jobs\jobs.dm"
-#include "code\game\jobs\whitelist.dm"
-#include "code\game\jobs\job\assistant.dm"
-#include "code\game\jobs\job\captian.dm"
-#include "code\game\jobs\job\civilian.dm"
-#include "code\game\jobs\job\civilian_chaplain.dm"
-#include "code\game\jobs\job\engineering.dm"
-#include "code\game\jobs\job\job.dm"
-#include "code\game\jobs\job\medical.dm"
-#include "code\game\jobs\job\science.dm"
-#include "code\game\jobs\job\security.dm"
-#include "code\game\jobs\job\silicon.dm"
-#include "code\game\machinery\adv_med.dm"
-#include "code\game\machinery\ai_slipper.dm"
-#include "code\game\machinery\airlock_control.dm"
-#include "code\game\machinery\alarm.dm"
-#include "code\game\machinery\atmo_control.dm"
-#include "code\game\machinery\autolathe.dm"
-#include "code\game\machinery\biogenerator.dm"
-#include "code\game\machinery\camera.dm"
-#include "code\game\machinery\camera_circuit.dm"
-#include "code\game\machinery\cell_charger.dm"
-#include "code\game\machinery\cloning.dm"
-#include "code\game\machinery\constructable_frame.dm"
-#include "code\game\machinery\cryo.dm"
-#include "code\game\machinery\deployable.dm"
-#include "code\game\machinery\dispenser.dm"
-#include "code\game\machinery\door_control.dm"
-#include "code\game\machinery\flasher.dm"
-#include "code\game\machinery\Freezer.dm"
-#include "code\game\machinery\hologram.dm"
-#include "code\game\machinery\hydroponics.dm"
-#include "code\game\machinery\igniter.dm"
-#include "code\game\machinery\lightswitch.dm"
-#include "code\game\machinery\machinery.dm"
-#include "code\game\machinery\magnet.dm"
-#include "code\game\machinery\morgue.dm"
-#include "code\game\machinery\navbeacon.dm"
-#include "code\game\machinery\OpTable.dm"
-#include "code\game\machinery\overview.dm"
-#include "code\game\machinery\portable_turret.dm"
-#include "code\game\machinery\recharger.dm"
-#include "code\game\machinery\rechargestation.dm"
-#include "code\game\machinery\requests_console.dm"
-#include "code\game\machinery\robot_fabricator.dm"
-#include "code\game\machinery\scanner.dm"
-#include "code\game\machinery\seed_extractor.dm"
-#include "code\game\machinery\shieldgen.dm"
-#include "code\game\machinery\sink.dm"
-#include "code\game\machinery\Sleeper.dm"
-#include "code\game\machinery\spaceheater.dm"
-#include "code\game\machinery\status_display.dm"
-#include "code\game\machinery\suit_storage_unit.dm"
-#include "code\game\machinery\syndicatebeacon.dm"
-#include "code\game\machinery\teleporter.dm"
-#include "code\game\machinery\turrets.dm"
-#include "code\game\machinery\vending.dm"
-#include "code\game\machinery\walllockers.dm"
-#include "code\game\machinery\atmoalter\canister.dm"
-#include "code\game\machinery\atmoalter\meter.dm"
-#include "code\game\machinery\atmoalter\portable_atmospherics.dm"
-#include "code\game\machinery\atmoalter\pump.dm"
-#include "code\game\machinery\atmoalter\scrubber.dm"
-#include "code\game\machinery\atmoalter\zvent.dm"
-#include "code\game\machinery\bots\bots.dm"
-#include "code\game\machinery\bots\cleanbot.dm"
-#include "code\game\machinery\bots\ed209bot.dm"
-#include "code\game\machinery\bots\floorbot.dm"
-#include "code\game\machinery\bots\medbot.dm"
-#include "code\game\machinery\bots\mulebot.dm"
-#include "code\game\machinery\bots\secbot.dm"
-#include "code\game\machinery\computer\AIcore.dm"
-#include "code\game\machinery\computer\aifixer.dm"
-#include "code\game\machinery\computer\arcade.dm"
-#include "code\game\machinery\computer\atmos.dm"
-#include "code\game\machinery\computer\buildandrepair.dm"
-#include "code\game\machinery\computer\camera_monitor.dm"
-#include "code\game\machinery\computer\communications.dm"
-#include "code\game\machinery\computer\computer.dm"
-#include "code\game\machinery\computer\crew.dm"
-#include "code\game\machinery\computer\explosive.dm"
-#include "code\game\machinery\computer\hologram.dm"
-#include "code\game\machinery\computer\id.dm"
-#include "code\game\machinery\computer\lockdown.dm"
-#include "code\game\machinery\computer\medical.dm"
-#include "code\game\machinery\computer\operating.dm"
-#include "code\game\machinery\computer\power.dm"
-#include "code\game\machinery\computer\robot.dm"
-#include "code\game\machinery\computer\security.dm"
-#include "code\game\machinery\computer\shuttle.dm"
-#include "code\game\machinery\doors\airlock.dm"
-#include "code\game\machinery\doors\airlock_electronics.dm"
-#include "code\game\machinery\doors\brigdoors.dm"
-#include "code\game\machinery\doors\checkForMultipleDoors.dm"
-#include "code\game\machinery\doors\door.dm"
-#include "code\game\machinery\doors\firedoor.dm"
-#include "code\game\machinery\doors\poddoor.dm"
-#include "code\game\machinery\doors\shutters.dm"
-#include "code\game\machinery\doors\windowdoor.dm"
-#include "code\game\machinery\embedded_controller\access_controller.dm"
-#include "code\game\machinery\embedded_controller\airlock_controller.dm"
-#include "code\game\machinery\embedded_controller\embedded_controller_base.dm"
-#include "code\game\machinery\kitchen\blender.dm"
-#include "code\game\machinery\kitchen\gibber.dm"
-#include "code\game\machinery\kitchen\juicer.dm"
-#include "code\game\machinery\kitchen\microwave.dm"
-#include "code\game\machinery\kitchen\processor.dm"
-#include "code\game\machinery\pipe\construction.dm"
-#include "code\game\machinery\pipe\pipe_dispenser.dm"
-#include "code\game\machinery\telecomms\broadcaster.dm"
-#include "code\game\machinery\telecomms\logbrowser.dm"
-#include "code\game\machinery\telecomms\machine_interactions.dm"
-#include "code\game\machinery\telecomms\telecommunications.dm"
-#include "code\game\machinery\telecomms\telemonitor.dm"
-#include "code\game\machinery\telecomms\traffic_control.dm"
-#include "code\game\magic\archived_book.dm"
-#include "code\game\magic\library.dm"
-#include "code\game\magic\musician.dm"
-#include "code\game\magic\cultist\ritual.dm"
-#include "code\game\magic\cultist\runes.dm"
-#include "code\game\magic\cultist\talisman.dm"
-#include "code\game\mecha\mech_bay.dm"
-#include "code\game\mecha\mech_fabricator.dm"
-#include "code\game\mecha\mecha.dm"
-#include "code\game\mecha\mecha_construction_paths.dm"
-#include "code\game\mecha\mecha_control_console.dm"
-#include "code\game\mecha\mecha_parts.dm"
-#include "code\game\mecha\mecha_wreckage.dm"
-#include "code\game\mecha\combat\combat.dm"
-#include "code\game\mecha\combat\durand.dm"
-#include "code\game\mecha\combat\gygax.dm"
-#include "code\game\mecha\combat\honker.dm"
-#include "code\game\mecha\combat\marauder.dm"
-#include "code\game\mecha\combat\phazon.dm"
-#include "code\game\mecha\equipment\mecha_equipment.dm"
-#include "code\game\mecha\equipment\tools\tools.dm"
-#include "code\game\mecha\equipment\weapons\weapons.dm"
-#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\displaycase.dm"
-#include "code\game\objects\door_assembly.dm"
-#include "code\game\objects\effect_system.dm"
-#include "code\game\objects\empulse.dm"
-#include "code\game\objects\explosion.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\lamarr.dm"
-#include "code\game\objects\mineral_doors.dm"
-#include "code\game\objects\new_year.dm"
-#include "code\game\objects\noticeboard.dm"
-#include "code\game\objects\object_procs.dm"
-#include "code\game\objects\portals.dm"
-#include "code\game\objects\shooting_range.dm"
-#include "code\game\objects\sign_decals.dm"
-#include "code\game\objects\stool.dm"
-#include "code\game\objects\structures.dm"
-#include "code\game\objects\tables_racks.dm"
-#include "code\game\objects\tank.dm"
-#include "code\game\objects\toys.dm"
-#include "code\game\objects\transfer_valve.dm"
-#include "code\game\objects\washing_machine.dm"
-#include "code\game\objects\weapons.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"
-#include "code\game\objects\alien\facehugger.dm"
-#include "code\game\objects\alien\resin.dm"
-#include "code\game\objects\alien\weeds.dm"
-#include "code\game\objects\closets\bombsuit.dm"
-#include "code\game\objects\closets\emergency.dm"
-#include "code\game\objects\closets\firecloset.dm"
-#include "code\game\objects\closets\gimmick.dm"
-#include "code\game\objects\closets\gmcloset.dm"
-#include "code\game\objects\closets\janitor.dm"
-#include "code\game\objects\closets\kitchen.dm"
-#include "code\game\objects\closets\l3closet.dm"
-#include "code\game\objects\closets\malfunction.dm"
-#include "code\game\objects\closets\nuclear.dm"
-#include "code\game\objects\closets\syndicate.dm"
-#include "code\game\objects\closets\thunderdome.dm"
-#include "code\game\objects\closets\walllocker.dm"
-#include "code\game\objects\closets\wardrobe.dm"
-#include "code\game\objects\closets\secure\cargo.dm"
-#include "code\game\objects\closets\secure\civilian.dm"
-#include "code\game\objects\closets\secure\engineering.dm"
-#include "code\game\objects\closets\secure\medical.dm"
-#include "code\game\objects\closets\secure\personal.dm"
-#include "code\game\objects\closets\secure\research.dm"
-#include "code\game\objects\closets\secure\scientist.dm"
-#include "code\game\objects\closets\secure\secure_closets.dm"
-#include "code\game\objects\closets\secure\security.dm"
-#include "code\game\objects\devices\aicard.dm"
-#include "code\game\objects\devices\chameleonproj.dm"
-#include "code\game\objects\devices\flash.dm"
-#include "code\game\objects\devices\flashlight.dm"
-#include "code\game\objects\devices\infra_sensor.dm"
-#include "code\game\objects\devices\multitool.dm"
-#include "code\game\objects\devices\paicard.dm"
-#include "code\game\objects\devices\powersink.dm"
-#include "code\game\objects\devices\scanners.dm"
-#include "code\game\objects\devices\shields.dm"
-#include "code\game\objects\devices\taperecorder.dm"
-#include "code\game\objects\devices\PDA\cart.dm"
-#include "code\game\objects\devices\PDA\PDA.dm"
-#include "code\game\objects\devices\PDA\radio.dm"
-#include "code\game\objects\items\apc_frame.dm"
-#include "code\game\objects\items\blueprints.dm"
-#include "code\game\objects\items\candle.dm"
-#include "code\game\objects\items\clothing.dm"
-#include "code\game\objects\items\food.dm"
-#include "code\game\objects\items\helper_procs.dm"
-#include "code\game\objects\items\item.dm"
-#include "code\game\objects\items\robot_items.dm"
-#include "code\game\objects\items\robot_parts.dm"
-#include "code\game\objects\items\shock_kit.dm"
-#include "code\game\objects\items\tk_grab.dm"
-#include "code\game\objects\items\trash.dm"
-#include "code\game\objects\items\clothing\powerarmor.dm"
-#include "code\game\objects\items\clothing\powerarmorcomponents.dm"
-#include "code\game\objects\items\weapons\AI_modules.dm"
-#include "code\game\objects\items\weapons\cameras.dm"
-#include "code\game\objects\items\weapons\cards_ids.dm"
-#include "code\game\objects\items\weapons\cigs_lighters.dm"
-#include "code\game\objects\items\weapons\clown_items.dm"
-#include "code\game\objects\items\weapons\dna_injector.dm"
-#include "code\game\objects\items\weapons\explosives.dm"
-#include "code\game\objects\items\weapons\flamethrower.dm"
-#include "code\game\objects\items\weapons\grenades.dm"
-#include "code\game\objects\items\weapons\hand_lablers.dm"
-#include "code\game\objects\items\weapons\hydroponics.dm"
-#include "code\game\objects\items\weapons\kitchen.dm"
-#include "code\game\objects\items\weapons\manuals.dm"
-#include "code\game\objects\items\weapons\medical.dm"
-#include "code\game\objects\items\weapons\mops_cleaners.dm"
-#include "code\game\objects\items\weapons\paint.dm"
-#include "code\game\objects\items\weapons\paiwire.dm"
-#include "code\game\objects\items\weapons\papers_bins.dm"
-#include "code\game\objects\items\weapons\plant_bag.dm"
-#include "code\game\objects\items\weapons\RCD.dm"
-#include "code\game\objects\items\weapons\RSF.dm"
-#include "code\game\objects\items\weapons\stungloves.dm"
-#include "code\game\objects\items\weapons\surgery_tools.dm"
-#include "code\game\objects\items\weapons\swords_axes_etc.dm"
-#include "code\game\objects\items\weapons\syndie.dm"
-#include "code\game\objects\items\weapons\table_rack_parts.dm"
-#include "code\game\objects\items\weapons\teleportation.dm"
-#include "code\game\objects\items\weapons\tiles_wires.dm"
-#include "code\game\objects\items\weapons\tools.dm"
-#include "code\game\objects\items\weapons\twohanded.dm"
-#include "code\game\objects\items\weapons\implants\implant.dm"
-#include "code\game\objects\items\weapons\implants\implantcase.dm"
-#include "code\game\objects\items\weapons\implants\implantchair.dm"
-#include "code\game\objects\items\weapons\implants\implanter.dm"
-#include "code\game\objects\items\weapons\implants\implantfreedom.dm"
-#include "code\game\objects\items\weapons\implants\implantpad.dm"
-#include "code\game\objects\radio\beacon.dm"
-#include "code\game\objects\radio\electropack.dm"
-#include "code\game\objects\radio\encryptionkey.dm"
-#include "code\game\objects\radio\headset.dm"
-#include "code\game\objects\radio\intercom.dm"
-#include "code\game\objects\radio\radio.dm"
-#include "code\game\objects\secstorage\sbriefcase.dm"
-#include "code\game\objects\secstorage\secstorage.dm"
-#include "code\game\objects\secstorage\ssafe.dm"
-#include "code\game\objects\stacks\glass.dm"
-#include "code\game\objects\stacks\metal.dm"
-#include "code\game\objects\stacks\minerals.dm"
-#include "code\game\objects\stacks\stack.dm"
-#include "code\game\objects\stacks\wood.dm"
-#include "code\game\objects\storage\backpack.dm"
-#include "code\game\objects\storage\belt.dm"
-#include "code\game\objects\storage\bible.dm"
-#include "code\game\objects\storage\briefcase.dm"
-#include "code\game\objects\storage\coat.dm"
-#include "code\game\objects\storage\crates.dm"
-#include "code\game\objects\storage\firstaid.dm"
-#include "code\game\objects\storage\kit.dm"
-#include "code\game\objects\storage\lockbox.dm"
-#include "code\game\objects\storage\storage.dm"
-#include "code\game\objects\storage\toolbox.dm"
-#include "code\game\objects\tanks\emergency.dm"
-#include "code\game\objects\tanks\jetpack.dm"
-#include "code\game\objects\tanks\oxygen.dm"
-#include "code\game\player\news.dm"
-#include "code\game\verbs\AI_status.dm"
-#include "code\game\verbs\ooc.dm"
-#include "code\game\verbs\sound.dm"
-#include "code\game\verbs\suicide.dm"
-#include "code\game\verbs\who.dm"
-#include "code\js\byjax.dm"
-#include "code\js\menus.dm"
-#include "code\modules\admin\admin.dm"
-#include "code\modules\admin\admin_verbs.dm"
-#include "code\modules\admin\banjob.dm"
-#include "code\modules\admin\create_mob.dm"
-#include "code\modules\admin\create_object.dm"
-#include "code\modules\admin\create_turf.dm"
-#include "code\modules\admin\NewBan.dm"
-#include "code\modules\admin\newbanjob.dm"
-#include "code\modules\admin\player_panel.dm"
-#include "code\modules\admin\verbs\adminhelp.dm"
-#include "code\modules\admin\verbs\adminjump.dm"
-#include "code\modules\admin\verbs\adminsay.dm"
-#include "code\modules\admin\verbs\atmosdebug.dm"
-#include "code\modules\admin\verbs\BrokenInhands.dm"
-#include "code\modules\admin\verbs\custom_event.dm"
-#include "code\modules\admin\verbs\deadsay.dm"
-#include "code\modules\admin\verbs\debug.dm"
-#include "code\modules\admin\verbs\diagnostics.dm"
-#include "code\modules\admin\verbs\gimmicks.dm"
-#include "code\modules\admin\verbs\mapping.dm"
-#include "code\modules\admin\verbs\massmodvar.dm"
-#include "code\modules\admin\verbs\MC.dm"
-#include "code\modules\admin\verbs\modifyvariables.dm"
-#include "code\modules\admin\verbs\onlyone.dm"
-#include "code\modules\admin\verbs\playsound.dm"
-#include "code\modules\admin\verbs\pray.dm"
-#include "code\modules\admin\verbs\randomverbs.dm"
-#include "code\modules\admin\verbs\striketeam.dm"
-#include "code\modules\admin\verbs\striketeam_syndicate.dm"
-#include "code\modules\admin\verbs\ticklag.dm"
-#include "code\modules\admin\verbs\tripAI.dm"
-#include "code\modules\assembly\assembly.dm"
-#include "code\modules\assembly\holder.dm"
-#include "code\modules\assembly\igniter.dm"
-#include "code\modules\assembly\infrared.dm"
-#include "code\modules\assembly\proximity.dm"
-#include "code\modules\assembly\signaler.dm"
-#include "code\modules\assembly\timer.dm"
-#include "code\modules\chemical\Chemistry-Holder.dm"
-#include "code\modules\chemical\Chemistry-Machinery.dm"
-#include "code\modules\chemical\Chemistry-Reagents.dm"
-#include "code\modules\chemical\Chemistry-Recipes.dm"
-#include "code\modules\chemical\Chemistry-Tools.dm"
-#include "code\modules\clothing\glasses.dm"
-#include "code\modules\clothing\hardhat.dm"
-#include "code\modules\clothing\spacesuit.dm"
-#include "code\modules\clothing\suit.dm"
-#include "code\modules\clothing\glasses\glasses.dm"
-#include "code\modules\clothing\glasses\hud.dm"
-#include "code\modules\clothing\spacesuits\captain.dm"
-#include "code\modules\clothing\spacesuits\miscellaneous.dm"
-#include "code\modules\clothing\spacesuits\ninja.dm"
-#include "code\modules\clothing\spacesuits\rig.dm"
-#include "code\modules\clothing\spacesuits\syndi.dm"
-#include "code\modules\clothing\spacesuits\void.dm"
-#include "code\modules\clothing\suits\armor.dm"
-#include "code\modules\clothing\suits\bio.dm"
-#include "code\modules\clothing\suits\bomb.dm"
-#include "code\modules\clothing\suits\detective.dm"
-#include "code\modules\clothing\suits\fire.dm"
-#include "code\modules\clothing\suits\heavy.dm"
-#include "code\modules\clothing\suits\hos.dm"
-#include "code\modules\clothing\suits\labcoat.dm"
-#include "code\modules\clothing\suits\miscellaneous.dm"
-#include "code\modules\clothing\suits\robe.dm"
-#include "code\modules\clothing\uniforms\lawyer.dm"
-#include "code\modules\critters\critter.dm"
-#include "code\modules\critters\critter_AI.dm"
-#include "code\modules\critters\critter_defenses.dm"
-#include "code\modules\critters\critters.dm"
-#include "code\modules\critters\hivebots\hivebot.dm"
-#include "code\modules\customitems\item_defines.dm"
-#include "code\modules\customitems\item_spawning.dm"
-#include "code\modules\DetectiveWork\detective_work.dm"
-#include "code\modules\DetectiveWork\evidence.dm"
-#include "code\modules\flufftext\Dreaming.dm"
-#include "code\modules\flufftext\Hallucination.dm"
-#include "code\modules\flufftext\TextFilters.dm"
-#include "code\modules\food\food.dm"
-#include "code\modules\food\recipes_microwave.dm"
-#include "code\modules\mining\datum_processing_recipe.dm"
-#include "code\modules\mining\machine_input_output_plates.dm"
-#include "code\modules\mining\machine_processing.dm"
-#include "code\modules\mining\machine_stacking.dm"
-#include "code\modules\mining\machine_unloading.dm"
-#include "code\modules\mining\mine_areas.dm"
-#include "code\modules\mining\mine_items.dm"
-#include "code\modules\mining\mine_turfs.dm"
-#include "code\modules\mining\mint.dm"
-#include "code\modules\mining\money_bag.dm"
-#include "code\modules\mining\ores_materials_coins.dm"
-#include "code\modules\mining\satchel_ore_box.dm"
-#include "code\modules\mob\login.dm"
-#include "code\modules\mob\logout.dm"
-#include "code\modules\mob\mob.dm"
-#include "code\modules\mob\mob_grab.dm"
-#include "code\modules\mob\mob_helpers.dm"
-#include "code\modules\mob\mob_movement.dm"
-#include "code\modules\mob\say.dm"
-#include "code\modules\mob\screen.dm"
-#include "code\modules\mob\transform_procs.dm"
-#include "code\modules\mob\dead\observer\hud.dm"
-#include "code\modules\mob\dead\observer\login.dm"
-#include "code\modules\mob\dead\observer\observer.dm"
-#include "code\modules\mob\dead\observer\say.dm"
-#include "code\modules\mob\living\damage_procs.dm"
-#include "code\modules\mob\living\living.dm"
-#include "code\modules\mob\living\living_defense.dm"
-#include "code\modules\mob\living\say.dm"
-#include "code\modules\mob\living\blob\blob.dm"
-#include "code\modules\mob\living\carbon\carbon.dm"
-#include "code\modules\mob\living\carbon\give.dm"
-#include "code\modules\mob\living\carbon\shock.dm"
-#include "code\modules\mob\living\carbon\alien\alien.dm"
-#include "code\modules\mob\living\carbon\alien\say.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\alien_powers.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\death.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\emote.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\hud.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\life.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\login.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\queen.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\caste\drone.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\caste\hunter.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\caste\sentinel.dm"
-#include "code\modules\mob\living\carbon\alien\larva\death.dm"
-#include "code\modules\mob\living\carbon\alien\larva\emote.dm"
-#include "code\modules\mob\living\carbon\alien\larva\hud.dm"
-#include "code\modules\mob\living\carbon\alien\larva\larva.dm"
-#include "code\modules\mob\living\carbon\alien\larva\life.dm"
-#include "code\modules\mob\living\carbon\alien\larva\login.dm"
-#include "code\modules\mob\living\carbon\alien\larva\powers.dm"
-#include "code\modules\mob\living\carbon\alien\special\_main.dm"
-#include "code\modules\mob\living\carbon\alien\special\chryssalid.dm"
-#include "code\modules\mob\living\carbon\alien\special\ethereal.dm"
-#include "code\modules\mob\living\carbon\alien\special\floater.dm"
-#include "code\modules\mob\living\carbon\alien\special\muton.dm"
-#include "code\modules\mob\living\carbon\alien\special\sectoid.dm"
-#include "code\modules\mob\living\carbon\alien\special\snakeman.dm"
-#include "code\modules\mob\living\carbon\brain\brain.dm"
-#include "code\modules\mob\living\carbon\brain\death.dm"
-#include "code\modules\mob\living\carbon\brain\hud.dm"
-#include "code\modules\mob\living\carbon\brain\life.dm"
-#include "code\modules\mob\living\carbon\brain\MMI.dm"
-#include "code\modules\mob\living\carbon\brain\say.dm"
-#include "code\modules\mob\living\carbon\human\death.dm"
-#include "code\modules\mob\living\carbon\human\emote.dm"
-#include "code\modules\mob\living\carbon\human\examine.dm"
-#include "code\modules\mob\living\carbon\human\hud.dm"
-#include "code\modules\mob\living\carbon\human\human.dm"
-#include "code\modules\mob\living\carbon\human\human_attackalien.dm"
-#include "code\modules\mob\living\carbon\human\human_attackhand.dm"
-#include "code\modules\mob\living\carbon\human\human_attackpaw.dm"
-#include "code\modules\mob\living\carbon\human\human_damage.dm"
-#include "code\modules\mob\living\carbon\human\human_defense.dm"
-#include "code\modules\mob\living\carbon\human\human_movement.dm"
-#include "code\modules\mob\living\carbon\human\life.dm"
-#include "code\modules\mob\living\carbon\human\login.dm"
-#include "code\modules\mob\living\carbon\human\say.dm"
-#include "code\modules\mob\living\carbon\human\whisper.dm"
-#include "code\modules\mob\living\carbon\metroid\death.dm"
-#include "code\modules\mob\living\carbon\metroid\emote.dm"
-#include "code\modules\mob\living\carbon\metroid\examine.dm"
-#include "code\modules\mob\living\carbon\metroid\hud.dm"
-#include "code\modules\mob\living\carbon\metroid\life.dm"
-#include "code\modules\mob\living\carbon\metroid\login.dm"
-#include "code\modules\mob\living\carbon\metroid\metroid.dm"
-#include "code\modules\mob\living\carbon\metroid\powers.dm"
-#include "code\modules\mob\living\carbon\metroid\say.dm"
-#include "code\modules\mob\living\carbon\monkey\death.dm"
-#include "code\modules\mob\living\carbon\monkey\emote.dm"
-#include "code\modules\mob\living\carbon\monkey\examine.dm"
-#include "code\modules\mob\living\carbon\monkey\hud.dm"
-#include "code\modules\mob\living\carbon\monkey\life.dm"
-#include "code\modules\mob\living\carbon\monkey\login.dm"
-#include "code\modules\mob\living\carbon\monkey\monkey.dm"
-#include "code\modules\mob\living\carbon\monkey\powers.dm"
-#include "code\modules\mob\living\carbon\monkey\say.dm"
-#include "code\modules\mob\living\silicon\say.dm"
-#include "code\modules\mob\living\silicon\silicon.dm"
-#include "code\modules\mob\living\silicon\ai\ai.dm"
-#include "code\modules\mob\living\silicon\ai\death.dm"
-#include "code\modules\mob\living\silicon\ai\examine.dm"
-#include "code\modules\mob\living\silicon\ai\hud.dm"
-#include "code\modules\mob\living\silicon\ai\laws.dm"
-#include "code\modules\mob\living\silicon\ai\life.dm"
-#include "code\modules\mob\living\silicon\ai\login.dm"
-#include "code\modules\mob\living\silicon\ai\logout.dm"
-#include "code\modules\mob\living\silicon\ai\move.dm"
-#include "code\modules\mob\living\silicon\ai\say.dm"
-#include "code\modules\mob\living\silicon\decoy\death.dm"
-#include "code\modules\mob\living\silicon\decoy\decoy.dm"
-#include "code\modules\mob\living\silicon\decoy\life.dm"
-#include "code\modules\mob\living\silicon\pai\death.dm"
-#include "code\modules\mob\living\silicon\pai\examine.dm"
-#include "code\modules\mob\living\silicon\pai\hud.dm"
-#include "code\modules\mob\living\silicon\pai\life.dm"
-#include "code\modules\mob\living\silicon\pai\pai.dm"
-#include "code\modules\mob\living\silicon\pai\personality.dm"
-#include "code\modules\mob\living\silicon\pai\recruit.dm"
-#include "code\modules\mob\living\silicon\pai\say.dm"
-#include "code\modules\mob\living\silicon\pai\software.dm"
-#include "code\modules\mob\living\silicon\robot\death.dm"
-#include "code\modules\mob\living\silicon\robot\emote.dm"
-#include "code\modules\mob\living\silicon\robot\examine.dm"
-#include "code\modules\mob\living\silicon\robot\hud.dm"
-#include "code\modules\mob\living\silicon\robot\laws.dm"
-#include "code\modules\mob\living\silicon\robot\life.dm"
-#include "code\modules\mob\living\silicon\robot\login.dm"
-#include "code\modules\mob\living\silicon\robot\robot.dm"
-#include "code\modules\mob\living\silicon\robot\robot_defense.dm"
-#include "code\modules\mob\living\silicon\robot\robot_modules.dm"
-#include "code\modules\mob\living\silicon\robot\robot_movement.dm"
-#include "code\modules\mob\living\silicon\robot\say.dm"
-#include "code\modules\mob\living\silicon\robot\wires.dm"
-#include "code\modules\mob\new_player\hud.dm"
-#include "code\modules\mob\new_player\new_player.dm"
-#include "code\modules\mob\new_player\preferences.dm"
-#include "code\modules\mob\new_player\preferences_setup.dm"
-#include "code\modules\mob\new_player\savefile.dm"
-#include "code\modules\mob\new_player\skill.dm"
-#include "code\modules\mob\new_player\sprite_accessories.dm"
-#include "code\modules\mob\organ\organ.dm"
-#include "code\modules\mob\organ\organ_external.dm"
-#include "code\modules\mob\organ\organ_internal.dm"
-#include "code\modules\mob\organ\pain.dm"
-#include "code\modules\power\apc.dm"
-#include "code\modules\power\cable.dm"
-#include "code\modules\power\cell.dm"
-#include "code\modules\power\engine.dm"
-#include "code\modules\power\generator.dm"
-#include "code\modules\power\generator_type2.dm"
-#include "code\modules\power\lighting.dm"
-#include "code\modules\power\port_gen.dm"
-#include "code\modules\power\power.dm"
-#include "code\modules\power\sd_DynamicAreaLighting.dm"
-#include "code\modules\power\smes.dm"
-#include "code\modules\power\solar.dm"
-#include "code\modules\power\terminal.dm"
-#include "code\modules\power\tracker.dm"
-#include "code\modules\power\turbine.dm"
-#include "code\modules\power\antimatter\computer.dm"
-#include "code\modules\power\antimatter\engine.dm"
-#include "code\modules\power\antimatter\fuel.dm"
-#include "code\modules\power\singularity\collector.dm"
-#include "code\modules\power\singularity\containment_field.dm"
-#include "code\modules\power\singularity\emitter.dm"
-#include "code\modules\power\singularity\field_generator.dm"
-#include "code\modules\power\singularity\generator.dm"
-#include "code\modules\power\singularity\singularity.dm"
-#include "code\modules\power\singularity\particle_accelerator\particle.dm"
-#include "code\modules\power\singularity\particle_accelerator\particle_accelerator.dm"
-#include "code\modules\power\singularity\particle_accelerator\particle_chamber.dm"
-#include "code\modules\power\singularity\particle_accelerator\particle_control.dm"
-#include "code\modules\power\singularity\particle_accelerator\particle_emitter.dm"
-#include "code\modules\power\singularity\particle_accelerator\particle_power.dm"
-#include "code\modules\projectiles\ammunition.dm"
-#include "code\modules\projectiles\gun.dm"
-#include "code\modules\projectiles\projectile.dm"
-#include "code\modules\projectiles\ammunition\boxes.dm"
-#include "code\modules\projectiles\ammunition\bullets.dm"
-#include "code\modules\projectiles\guns\energy.dm"
-#include "code\modules\projectiles\guns\projectile.dm"
-#include "code\modules\projectiles\guns\energy\laser.dm"
-#include "code\modules\projectiles\guns\energy\nuclear.dm"
-#include "code\modules\projectiles\guns\energy\pulse.dm"
-#include "code\modules\projectiles\guns\energy\special.dm"
-#include "code\modules\projectiles\guns\energy\stun.dm"
-#include "code\modules\projectiles\guns\energy\temperature.dm"
-#include "code\modules\projectiles\guns\projectile\automatic.dm"
-#include "code\modules\projectiles\guns\projectile\pistol.dm"
-#include "code\modules\projectiles\guns\projectile\revolver.dm"
-#include "code\modules\projectiles\guns\projectile\shotgun.dm"
-#include "code\modules\projectiles\projectile\beams.dm"
-#include "code\modules\projectiles\projectile\bullets.dm"
-#include "code\modules\projectiles\projectile\change.dm"
-#include "code\modules\projectiles\projectile\energy.dm"
-#include "code\modules\projectiles\projectile\special.dm"
-#include "code\modules\recycling\conveyor2.dm"
-#include "code\modules\recycling\disposal-construction.dm"
-#include "code\modules\recycling\disposal.dm"
-#include "code\modules\recycling\sortingmachinery.dm"
-#include "code\modules\research\circuitprinter.dm"
-#include "code\modules\research\designs.dm"
-#include "code\modules\research\destructive_analyzer.dm"
-#include "code\modules\research\message_server.dm"
-#include "code\modules\research\protolathe.dm"
-#include "code\modules\research\rd-readme.dm"
-#include "code\modules\research\rdconsole.dm"
-#include "code\modules\research\rdmachines.dm"
-#include "code\modules\research\research.dm"
-#include "code\modules\research\server.dm"
-#include "code\modules\scripting\Errors.dm"
-#include "code\modules\scripting\IDE.dm"
-#include "code\modules\scripting\Options.dm"
-#include "code\modules\scripting\stack.dm"
-#include "code\modules\scripting\AST\AST Nodes.dm"
-#include "code\modules\scripting\AST\Blocks.dm"
-#include "code\modules\scripting\AST\Statements.dm"
-#include "code\modules\scripting\AST\Operators\Binary Operators.dm"
-#include "code\modules\scripting\AST\Operators\Unary Operators.dm"
-#include "code\modules\scripting\Implementations\_Logic.dm"
-#include "code\modules\scripting\Implementations\Telecomms.dm"
-#include "code\modules\scripting\Interpreter\Evaluation.dm"
-#include "code\modules\scripting\Interpreter\Interaction.dm"
-#include "code\modules\scripting\Interpreter\Interpreter.dm"
-#include "code\modules\scripting\Interpreter\Scope.dm"
-#include "code\modules\scripting\Parser\Expressions.dm"
-#include "code\modules\scripting\Parser\Keywords.dm"
-#include "code\modules\scripting\Parser\Parser.dm"
-#include "code\modules\scripting\Scanner\Scanner.dm"
-#include "code\modules\scripting\Scanner\Tokens.dm"
-#include "code\modules\security levels\keycard authentication.dm"
-#include "code\modules\security levels\security levels.dm"
-#include "code\WorkInProgress\AI_Visibility.dm"
-#include "code\WorkInProgress\buildmode.dm"
-#include "code\WorkInProgress\explosion_particles.dm"
-#include "code\WorkInProgress\Cael_Aislinn\Tajara\examine.dm"
-#include "code\WorkInProgress\Cael_Aislinn\Tajara\tajara_transformation.dm"
-#include "code\WorkInProgress\Cael_Aislinn\Tajara\tajaran.dm"
-#include "code\WorkInProgress\mapload\dmm_suite.dm"
-#include "code\WorkInProgress\mapload\reader.dm"
-#include "code\WorkInProgress\Mini\atmos_control.dm"
-#include "code\WorkInProgress\Mloc\Shortcuts.dm"
-#include "code\WorkInProgress\Ported\head.dm"
-#include "code\WorkInProgress\Ported\policetape.dm"
-#include "code\WorkInProgress\Ported\Abi79\uplink_kits.dm"
-#include "code\WorkInProgress\Ported\Abi79\uplinks.dm"
-#include "code\WorkInProgress\Ported\Bureaucracy\copier.dm"
-#include "code\WorkInProgress\Ported\Bureaucracy\filing.dm"
-#include "code\WorkInProgress\Ported\ZeroPoint\Laser2.dm"
-#include "code\WorkInProgress\Ported\ZeroPoint\LaserComputer.dm"
-#include "code\WorkInProgress\Ported\ZeroPoint\SuperMatter.dm"
-#include "code\WorkInProgress\SkyMarshal\coatrack.dm"
-#include "code\WorkInProgress\SkyMarshal\traitoritems.dm"
-#include "code\WorkInProgress\SkyMarshal\wardrobes.dm"
-#include "code\WorkInProgress\Tastyfish\Eliza.dm"
-#include "code\WorkInProgress\Tastyfish\Eliza_Data.dm"
-#include "code\WorkInProgress\Tastyfish\livestock.dm"
-#include "code\WorkInProgress\Tastyfish\paiLiza.dm"
-#include "code\WorkInProgress\Tastyfish\Parser.dm"
-#include "code\WorkInProgress\Tastyfish\wallmount_frame.dm"
-#include "code\WorkInProgress\virus2\analyser.dm"
-#include "code\WorkInProgress\virus2\antibodies.dm"
-#include "code\WorkInProgress\virus2\base.dm"
-#include "code\WorkInProgress\virus2\biohazard destroyer.dm"
-#include "code\WorkInProgress\virus2\cureimplanter.dm"
-#include "code\WorkInProgress\virus2\curer.dm"
-#include "code\WorkInProgress\virus2\diseasesplicer.dm"
-#include "code\WorkInProgress\virus2\dishincubator.dm"
-#include "code\WorkInProgress\virus2\isolator.dm"
-#include "code\WorkInProgress\virus2\monkeydispensor.dm"
-#include "code\WorkInProgress\virus2\Prob.dm"
-#include "code\WorkInProgress\Wrongnumber\weldbackpack.dm"
-#include "interface\skin.dmf"
-#include "maps\tgstation.2.0.8.dmm"
-// END_INCLUDE
-
->>>>>>> 38ac469e88283161b33d45c5b51ee39a6ee2fc67
diff --git a/code/WorkInProgress/Chinsky/ashtray.dm b/code/WorkInProgress/Chinsky/ashtray.dm
index e6f307ceb9..9f0fee7edb 100644
--- a/code/WorkInProgress/Chinsky/ashtray.dm
+++ b/code/WorkInProgress/Chinsky/ashtray.dm
@@ -1,16 +1,12 @@
/obj/item/ashtray
- name = "ashtray"
- desc = "Cheap plastic ashtray."
icon = 'ashtray.dmi'
- icon_state = "ashtray_bl"
- health = 15.0
- g_amt = 20
- var/max_butts = 10
- var/empty_desc = "Cheap plastic ashtray."
- var/icon_empty = "ashtray_bl"
- var/icon_half = "ashtray_half_bl"
- var/icon_full = "ashtray_full_bl"
- var/icon_broken = "ashtray_bork_bl"
+ var/
+ max_butts = 0
+ empty_desc = ""
+ icon_empty = ""
+ icon_half = ""
+ icon_full = ""
+ icon_broken = ""
/obj/item/ashtray/New()
..()
@@ -85,6 +81,7 @@
max_butts = 14
health = 24.0
g_amt = 30
+ m_amt = 30
empty_desc = "Cheap plastic ashtray."
throwforce = 3.0
die()
@@ -104,7 +101,7 @@
icon_broken = "ashtray_bork_br"
max_butts = 10
health = 72.0
- m_amt = 50
+ m_amt = 80
empty_desc = "Massive bronze ashtray."
throwforce = 10.0
diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm
index a124ad211d..bf3c7f3d11 100755
--- a/code/game/objects/items/item.dm
+++ b/code/game/objects/items/item.dm
@@ -369,6 +369,7 @@ mob/proc/flash_weak_pain()
M << "Aargh it burns!"
M.updatehealth()
src.add_fingerprint(user)
+ M.react_to_attack(user)
return 1
diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm
index 1bd2c27ea9..a9b1353f51 100644
--- a/code/modules/chemical/Chemistry-Tools.dm
+++ b/code/modules/chemical/Chemistry-Tools.dm
@@ -1018,6 +1018,9 @@
for(var/mob/O in viewers(4, user))
O.show_message("\red [user] takes a blood sample from [target].", 1)
+ if(prob(2) && istype(T,/mob/living/carbon/monkey))
+ T:react_to_attack(user)
+
else //if not mob
if(!target.reagents.total_volume)
user << "\red [target] is empty."
@@ -1059,6 +1062,9 @@
for(var/mob/O in viewers(world.view, user))
O.show_message(text("\red [] injects [] with the syringe!", user, target), 1)
src.reagents.reaction(target, INGEST)
+ if(prob(2) && istype(target,/mob/living/carbon/monkey))
+ var/mob/living/carbon/monkey/M = target
+ M.react_to_attack(user)
if(ismob(target) && target == user)
src.reagents.reaction(target, INGEST)
spawn(5)
diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm
index e7ba23c39e..d268b95ede 100644
--- a/code/modules/mob/living/carbon/monkey/life.dm
+++ b/code/modules/mob/living/carbon/monkey/life.dm
@@ -88,11 +88,7 @@
for(var/obj/item/weapon/grab/G in src)
G.process()
- if(!client && !stat)
- if(prob(33) && canmove && isturf(loc))
- step(src, pick(cardinal))
- if(prob(1))
- emote(pick("scratch","jump","roll","tail"))
+ npc_act()
/mob/living/carbon/monkey
proc
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index dfbb87bb1b..79e6d2f9c6 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -177,6 +177,7 @@
for(var/datum/disease/D in M.viruses)
if(istype(D, /datum/disease/jungle_fever))
contract_disease(D,1,0)
+ react_to_attack(M)
else
for(var/mob/O in viewers(src, null))
O.show_message("\red [M.name] has attempted to bite [name]!", 1)
@@ -239,11 +240,13 @@
return
bruteloss += damage
updatehealth()
+ react_to_attack(M)
else
playsound(loc, 'punchmiss.ogg', 25, 1, -1)
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [] has attempted to [attack_verb] [name]!", M), 1)
+ react_to_attack(M)
else
if (M.a_intent == "grab")
if (M == src)
@@ -265,6 +268,8 @@
playsound(loc, 'thudswoosh.ogg', 50, 1, -1)
for(var/mob/O in viewers(src, null))
O.show_message(text("\red [] has grabbed [name] passively!", M), 1)
+
+ if(prob(1)) react_to_attack(M)
else
if (!( paralysis ))
if (prob(25))
@@ -273,12 +278,14 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [] has pushed down [name]!", M), 1)
+ react_to_attack(M)
else
drop_item()
playsound(loc, 'thudswoosh.ogg', 50, 1, -1)
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [] has disarmed [name]!", M), 1)
+ react_to_attack(M)
return
/mob/living/carbon/monkey/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
@@ -313,6 +320,7 @@
O.show_message(text("\red [] has slashed [name]!", M), 1)
bruteloss += damage
updatehealth()
+ react_to_attack(M)
else
playsound(loc, 'slashmiss.ogg', 25, 1, -1)
for(var/mob/O in viewers(src, null))
@@ -353,6 +361,7 @@
if ((O.client && !( O.blinded )))
O.show_message(text("\red [] has disarmed [name]!", M), 1)
bruteloss += damage
+ react_to_attack(M)
updatehealth()
return
@@ -415,6 +424,7 @@
updatehealth()
+ react_to_attack(M)
return
@@ -568,6 +578,15 @@
M.UpdateFeed(src)
return
+/mob/living/carbon/monkey/attackby(obj/item/weapon/W as obj, mob/user as mob)
+ var/chealth = health
+ var/rval = ..()
+ if(chealth > health)
+ // we were damaged!
+ react_to_attack(user)
+
+ return rval
+
/mob/living/carbon/monkey/verb/removeinternal()
set name = "Remove Internals"
set category = "IC"
diff --git a/code/modules/mob/living/carbon/monkey/npc.dm b/code/modules/mob/living/carbon/monkey/npc.dm
new file mode 100644
index 0000000000..34f77bc75f
--- /dev/null
+++ b/code/modules/mob/living/carbon/monkey/npc.dm
@@ -0,0 +1,99 @@
+mob/living/carbon/monkey/var
+ mob/npc_target = null // the NPC this monkey is attacking
+ mob/npc_fleeing = null // the monkey is scared of this mob
+ mob/hiding_behind = null
+ hid_behind = 0
+
+ var/list/hostiles = list()
+
+ fleeing_duration = 0
+
+mob/living/carbon/monkey/proc/npc_act()
+ if(!client && !stat)
+ if(npc_fleeing && canmove)
+ var/prevloc = loc
+ if(!hiding_behind)
+ for(var/mob/living/carbon/human/H in view(7, src))
+ if(!hostiles.Find(H))
+ hiding_behind = H
+
+ if(hiding_behind)
+ if(get_dist(src, hiding_behind) == 1)
+ if(!hid_behind)
+ emote("me", 1, "hides behind [hiding_behind]!")
+ hid_behind = 1
+ step_to(src, get_step(hiding_behind, get_dir(npc_fleeing, hiding_behind)))
+ else
+ if(!step_to(src, hiding_behind, 1))
+ hiding_behind = null
+ else
+ step_away(src, npc_fleeing, 7)
+
+ if(prob(7))
+ if(prob(50) && (npc_fleeing in view(8,src)))
+ switch(rand(1,3))
+ if(1)
+ emote("me", 1, "shows [npc_fleeing] its fangs!")
+ if(2)
+ emote("me", 2, "gnarls at [npc_fleeing].")
+ if(3)
+ emote("me", 2, "eyes [npc_fleeing] fearfully.")
+ else
+ switch(rand(1,3))
+ if(1)
+ emote("whimper")
+ if(2)
+ emote("me", 1, "trembles heavily.")
+ if(3)
+ emote("me", 2, "chimpers nervously.")
+
+ fleeing_duration--
+ if(fleeing_duration <= 0)
+ npc_fleeing = null
+ hiding_behind = null
+ hid_behind = 0
+
+ if(loc == prevloc) dir = get_dir(src, npc_fleeing)
+ else
+ if(prob(33) && canmove && isturf(loc))
+ step(src, pick(cardinal))
+ if(prob(1))
+ if(health < 70)
+ switch(rand(1,3))
+ if(1)
+ emote("me", 1, "cowers on the floor, writhing in pain.")
+ if(2)
+ emote("me", 1, "trembles visibly, it seems to be in pain.")
+ if(3)
+ emote("me", 1, "wraps its arms around its knees, breathing heavily.")
+ else
+ emote(pick("scratch","jump","roll","tail"))
+
+mob/living/carbon/monkey/react_to_attack(mob/M)
+ if(npc_fleeing == M)
+ fleeing_duration += 30
+ return
+
+ if(!hostiles.Find(M)) hostiles += M
+
+ spawn(5)
+ switch(rand(1,3))
+ if(1)
+ emote("me", 1, "flails about wildly!")
+ if(2)
+ emote("me", 2, "screams loudly at [M]!")
+ if(3)
+ emote("me", 2, "whimpers fearfully!")
+
+ npc_fleeing = M
+ fleeing_duration = 30
+
+
+/*/mob/living/proc/apply_damage(var/damage = 0,var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/slash = 0, var/used_weapon = null)
+ if(!client && !stat)
+ if(damage > 10)
+ if(prob(40) || health == 100)
+ emote("me", 2, pick("screams loudly!", "whimpers in pain!"))
+ else if(health == 100 || (damage > 0 && prob(10)))
+ emote("me", 1, pick("flails about wildly!", "cringes visibly!", "chimpers nervously."))
+ return ..()*/
\ No newline at end of file
diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm
index ba9d524509..6d0562ed53 100644
--- a/code/modules/mob/living/damage_procs.dm
+++ b/code/modules/mob/living/damage_procs.dm
@@ -72,4 +72,8 @@
if(slur) apply_effect(slur, SLUR, blocked)
if(eyeblur) apply_effect(eyeblur, EYE_BLUR, blocked)
if(drowsy) apply_effect(drowsy, DROWSY, blocked)
- return 1
\ No newline at end of file
+ return 1
+
+
+/mob/living/proc/react_to_attack(mob/M)
+ return
diff --git a/config/admins.txt b/config/admins.txt
index 56b485969d..790541e986 100644
--- a/config/admins.txt
+++ b/config/admins.txt
@@ -18,5 +18,4 @@ skymarshal - Game Master
spaceman96 - Game Admin
strumpetplaya - Retired Admin
tastyfish - Game Master
-uristqwerty - Game Master
-chinsky - Game Master
\ No newline at end of file
+uristqwerty - Game Master
\ No newline at end of file