diff --git a/.travis.yml b/.travis.yml
index 44936260a6c..5ebfab3789a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -16,6 +16,7 @@ matrix:
- python3
- python3-pip
- python3-setuptools
+ - pcregrep
install:
- tools/travis/install_build_tools.sh
- tools/travis/install_spaceman_dmm.sh dreamchecker
diff --git a/_maps/map_files/Donutstation/Donutstation.dmm b/_maps/map_files/Donutstation/Donutstation.dmm
index 3cb33fbef18..ecaaf683192 100644
--- a/_maps/map_files/Donutstation/Donutstation.dmm
+++ b/_maps/map_files/Donutstation/Donutstation.dmm
@@ -12919,9 +12919,7 @@
/area/science/xenobiology)
"aJv" = (
/turf/closed/wall,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"aJw" = (
/obj/machinery/computer/operating,
/obj/effect/turf_decal/tile/blue{
@@ -12934,9 +12932,7 @@
dir = 8
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"aJx" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
dir = 6
@@ -13141,9 +13137,7 @@
dir = 8
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"aJV" = (
/obj/structure/closet/l3closet,
/obj/effect/turf_decal/stripes/line{
@@ -13226,9 +13220,7 @@
dir = 4
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"aKg" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -13307,9 +13299,7 @@
/obj/item/reagent_containers/blood/random,
/obj/effect/spawner/lootdrop/organ_spawner,
/turf/open/floor/plasteel,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"aKp" = (
/obj/machinery/door/window/southleft{
name = "Genetics Pen";
@@ -13380,9 +13370,7 @@
dir = 4
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"aKx" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
/obj/machinery/keycard_auth{
@@ -16657,9 +16645,7 @@
dir = 8
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"aUt" = (
/obj/structure/table,
/obj/item/storage/firstaid/regular,
@@ -17785,9 +17771,7 @@
name = "privacy shutters"
},
/turf/open/floor/plating,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"aXq" = (
/obj/structure/table/reinforced,
/obj/item/folder/white,
@@ -17809,9 +17793,7 @@
dir = 4
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"aXs" = (
/obj/structure/table/reinforced,
/obj/machinery/cell_charger,
@@ -17940,9 +17922,7 @@
dir = 4
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"aXL" = (
/obj/machinery/holopad,
/turf/open/floor/plasteel,
@@ -18057,9 +18037,7 @@
dir = 4
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"aXZ" = (
/obj/machinery/door/airlock/maintenance{
name = "Surgery Maintenance Access";
@@ -18162,9 +18140,7 @@
dir = 8
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"aYm" = (
/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/dark,
@@ -20146,9 +20122,7 @@
dir = 8
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"bdl" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
dir = 8
@@ -21073,9 +21047,7 @@
pixel_y = 26
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"bft" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -21180,9 +21152,7 @@
dir = 4
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"bfF" = (
/obj/effect/turf_decal/tile/blue{
dir = 4
@@ -34492,9 +34462,7 @@
dir = 8
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"bMf" = (
/obj/structure/table/optable,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
@@ -45157,9 +45125,7 @@
dir = 8
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"mlN" = (
/obj/structure/closet/secure_closet/freezer/cream_pie,
/obj/item/radio/intercom{
@@ -46117,9 +46083,7 @@
/area/quartermaster/storage)
"onl" = (
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"onT" = (
/obj/structure/table/reinforced,
/obj/machinery/door/window/westleft{
@@ -50413,9 +50377,7 @@
dir = 4
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"xyz" = (
/obj/machinery/atmospherics/pipe/manifold/dark/visible{
dir = 1
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index ee8c91cdbe7..4268bb1c6ba 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -56226,9 +56226,7 @@
},
/obj/structure/cable,
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cts" = (
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -56238,18 +56236,14 @@
dir = 1
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"ctt" = (
/obj/structure/cable,
/obj/machinery/light_switch{
pixel_y = 26
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"ctu" = (
/obj/machinery/door/airlock/medical{
name = "Surgery B";
@@ -56257,9 +56251,7 @@
},
/obj/structure/cable,
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"ctw" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -56613,17 +56605,13 @@
},
/obj/structure/cable,
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cul" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 4
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cum" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -56634,9 +56622,7 @@
},
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cun" = (
/obj/effect/spawner/structure/window,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -56647,9 +56633,7 @@
name = "privacy shutters"
},
/turf/open/floor/plating,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cuo" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 1
@@ -57099,15 +57083,11 @@
network = list("ss13","medbay")
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cvp" = (
/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cvq" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -57587,17 +57567,13 @@
pixel_x = -28
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cwp" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cwq" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -57610,9 +57586,7 @@
},
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cwr" = (
/obj/effect/spawner/structure/window,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -57623,9 +57597,7 @@
name = "privacy shutters"
},
/turf/open/floor/plating,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cws" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -58025,9 +57997,7 @@
pixel_x = -32
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cxf" = (
/obj/effect/turf_decal/tile/blue,
/obj/effect/turf_decal/tile/blue{
@@ -58035,9 +58005,7 @@
},
/obj/machinery/light,
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cxg" = (
/obj/effect/turf_decal/tile/blue,
/obj/effect/turf_decal/tile/blue{
@@ -58049,9 +58017,7 @@
/obj/effect/turf_decal/tile/blue,
/obj/machinery/smartfridge/organ,
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cxh" = (
/obj/effect/spawner/structure/window,
/obj/machinery/door/poddoor/preopen{
@@ -58059,9 +58025,7 @@
name = "privacy shutters"
},
/turf/open/floor/plating,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"cxi" = (
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -74978,9 +74942,7 @@
pixel_y = 4
},
/turf/open/floor/plasteel/white,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"nIb" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/mining{
@@ -75005,9 +74967,7 @@
/area/science/research)
"nMe" = (
/turf/closed/wall,
-/area/medical/patients_rooms/room_a{
- name = "Surgery B"
- })
+/area/medical/surgery/room_b)
"nPC" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
diff --git a/code/__DEFINES/_readme.dm b/code/__DEFINES/_readme.dm
index 85a5dfe7e7c..1b78d44a10d 100644
--- a/code/__DEFINES/_readme.dm
+++ b/code/__DEFINES/_readme.dm
@@ -11,4 +11,4 @@
and most importantly,
how to undo your changes if you screw it up.
- Sayu
-*/
\ No newline at end of file
+*/
diff --git a/code/__DEFINES/cinematics.dm b/code/__DEFINES/cinematics.dm
index aa19ffb4cf1..6d85c45f1bc 100644
--- a/code/__DEFINES/cinematics.dm
+++ b/code/__DEFINES/cinematics.dm
@@ -10,4 +10,4 @@
#define CINEMATIC_NUKE_NO_CORE 10
#define CINEMATIC_NUKE_FAR 11
#define CINEMATIC_NUKE_CLOWNOP 12
-#define CINEMATIC_CULT_NUKE 13
\ No newline at end of file
+#define CINEMATIC_CULT_NUKE 13
diff --git a/code/__DEFINES/exports.dm b/code/__DEFINES/exports.dm
index 9e0caf417fd..6c8b00de528 100644
--- a/code/__DEFINES/exports.dm
+++ b/code/__DEFINES/exports.dm
@@ -1,4 +1,4 @@
#define EXPORT_CARGO 1
#define EXPORT_EMAG 2
#define EXPORT_CONTRABAND 4
-#define EXPORT_PIRATE 8
\ No newline at end of file
+#define EXPORT_PIRATE 8
diff --git a/code/__DEFINES/menu.dm b/code/__DEFINES/menu.dm
index 2730adf87c7..60a7a2379c1 100644
--- a/code/__DEFINES/menu.dm
+++ b/code/__DEFINES/menu.dm
@@ -1,3 +1,3 @@
#define CHECKBOX_NONE 0
#define CHECKBOX_GROUP 1
-#define CHECKBOX_TOGGLE 2
\ No newline at end of file
+#define CHECKBOX_TOGGLE 2
diff --git a/code/__DEFINES/research.dm b/code/__DEFINES/research.dm
index 5349b40baec..95b89ae04e5 100644
--- a/code/__DEFINES/research.dm
+++ b/code/__DEFINES/research.dm
@@ -72,4 +72,4 @@
TECHWEB_POINT_TYPE_GENERIC = "General Research"\
)
-#define TECHWEB_BOMB_POINTCAP 50000 //Adjust as needed; Stops toxins from nullifying RND progression mechanics. Current Value Cap Radius: 100
\ No newline at end of file
+#define TECHWEB_BOMB_POINTCAP 50000 //Adjust as needed; Stops toxins from nullifying RND progression mechanics. Current Value Cap Radius: 100
diff --git a/code/__DEFINES/tgui.dm b/code/__DEFINES/tgui.dm
index 5ba0096d1be..1b3925f43a7 100644
--- a/code/__DEFINES/tgui.dm
+++ b/code/__DEFINES/tgui.dm
@@ -1,4 +1,4 @@
#define UI_INTERACTIVE 2 // Green/Interactive
#define UI_UPDATE 1 // Orange/Updates Only
#define UI_DISABLED 0 // Red/Disabled
-#define UI_CLOSE -1 // Closed
\ No newline at end of file
+#define UI_CLOSE -1 // Closed
diff --git a/code/__HELPERS/config.dm b/code/__HELPERS/config.dm
index ba0104a298c..1320851ef87 100644
--- a/code/__HELPERS/config.dm
+++ b/code/__HELPERS/config.dm
@@ -1,2 +1,2 @@
/proc/get_policy(keyword)
- return global.config.policy[keyword]
\ No newline at end of file
+ return global.config.policy[keyword]
diff --git a/code/__HELPERS/matrices.dm b/code/__HELPERS/matrices.dm
index 306bffc5a15..e2490c8e873 100644
--- a/code/__HELPERS/matrices.dm
+++ b/code/__HELPERS/matrices.dm
@@ -175,4 +175,4 @@ round(cos_inv_third+sqrt3_sin, 0.001), round(cos_inv_third-sqrt3_sin, 0.001), ro
offset = (y-1)*4
for(x in 1 to 4)
output[offset+x] = round(A[offset+1]*B[x] + A[offset+2]*B[x+4] + A[offset+3]*B[x+8] + A[offset+4]*B[x+12]+(y==5?B[x+16]:0), 0.001)
- return output
\ No newline at end of file
+ return output
diff --git a/code/__HELPERS/radio.dm b/code/__HELPERS/radio.dm
index a5bf3a17150..c55fb8095de 100644
--- a/code/__HELPERS/radio.dm
+++ b/code/__HELPERS/radio.dm
@@ -16,4 +16,4 @@
//Opposite of format, returns as a number
/proc/unformat_frequency(frequency)
frequency = text2num(frequency)
- return frequency * 10
\ No newline at end of file
+ return frequency * 10
diff --git a/code/__HELPERS/sanitize_values.dm b/code/__HELPERS/sanitize_values.dm
index 8c6d4fe9f4c..81cb61fe4ba 100644
--- a/code/__HELPERS/sanitize_values.dm
+++ b/code/__HELPERS/sanitize_values.dm
@@ -71,4 +71,4 @@
var/list/HSL = rgb2hsl(hex2num(copytext(color,2,4)),hex2num(copytext(color,4,6)),hex2num(copytext(color,6,8)))
HSL[3] = min(HSL[3],0.4)
var/list/RGB = hsl2rgb(arglist(HSL))
- return "#[num2hex(RGB[1],2)][num2hex(RGB[2],2)][num2hex(RGB[3],2)]"
\ No newline at end of file
+ return "#[num2hex(RGB[1],2)][num2hex(RGB[2],2)][num2hex(RGB[3],2)]"
diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm
index 44773298dfc..8b5972850fe 100644
--- a/code/__HELPERS/text.dm
+++ b/code/__HELPERS/text.dm
@@ -835,4 +835,4 @@ GLOBAL_LIST_INIT(binary, list("0","1"))
try
return json_decode(data)
catch
- return
\ No newline at end of file
+ return
diff --git a/code/_globalvars/game_modes.dm b/code/_globalvars/game_modes.dm
index f6022cdd590..6abe09d87b3 100644
--- a/code/_globalvars/game_modes.dm
+++ b/code/_globalvars/game_modes.dm
@@ -9,4 +9,4 @@ GLOBAL_DATUM(start_state, /datum/station_state) // Used in round-end report
//TODO clear this one up too
-GLOBAL_DATUM(cult_narsie, /obj/singularity/narsie/large/cult)
\ No newline at end of file
+GLOBAL_DATUM(cult_narsie, /obj/singularity/narsie/large/cult)
diff --git a/code/_globalvars/lists/medals.dm b/code/_globalvars/lists/medals.dm
index 0d7903ef7e9..91521694ef7 100755
--- a/code/_globalvars/lists/medals.dm
+++ b/code/_globalvars/lists/medals.dm
@@ -1 +1 @@
-GLOBAL_LIST_EMPTY(commendations)
\ No newline at end of file
+GLOBAL_LIST_EMPTY(commendations)
diff --git a/code/_js/menus.dm b/code/_js/menus.dm
index 76a92469edb..6756862e9b8 100644
--- a/code/_js/menus.dm
+++ b/code/_js/menus.dm
@@ -34,4 +34,4 @@ function dropdowns() {
}
}
}
-"}
\ No newline at end of file
+"}
diff --git a/code/_onclick/overmind.dm b/code/_onclick/overmind.dm
index 2c88892742a..1b1514f3d1e 100644
--- a/code/_onclick/overmind.dm
+++ b/code/_onclick/overmind.dm
@@ -33,4 +33,4 @@
/mob/camera/blob/AltClickOn(atom/A) //Remove a blob
var/turf/T = get_turf(A)
if(T)
- remove_blob(T)
\ No newline at end of file
+ remove_blob(T)
diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm
index 5d012bceff5..5f874a8dd9c 100644
--- a/code/controllers/configuration/configuration.dm
+++ b/code/controllers/configuration/configuration.dm
@@ -421,4 +421,4 @@ Example config:
//Message admins when you can.
/datum/controller/configuration/proc/DelayedMessageAdmins(text)
- addtimer(CALLBACK(GLOBAL_PROC, /proc/message_admins, text), 0)
\ No newline at end of file
+ addtimer(CALLBACK(GLOBAL_PROC, /proc/message_admins, text), 0)
diff --git a/code/controllers/configuration/entries/comms.dm b/code/controllers/configuration/entries/comms.dm
index a1de1c962e9..99945607913 100644
--- a/code/controllers/configuration/entries/comms.dm
+++ b/code/controllers/configuration/entries/comms.dm
@@ -25,4 +25,4 @@
/datum/config_entry/string/medal_hub_address
/datum/config_entry/string/medal_hub_password
- protection = CONFIG_ENTRY_HIDDEN
\ No newline at end of file
+ protection = CONFIG_ENTRY_HIDDEN
diff --git a/code/datums/diseases/advance/presets.dm b/code/datums/diseases/advance/presets.dm
index d2c4b1983f2..9113bc980f1 100644
--- a/code/datums/diseases/advance/presets.dm
+++ b/code/datums/diseases/advance/presets.dm
@@ -39,4 +39,4 @@
symptoms += S
Refresh()
- name = "Sample #[rand(1,10000)]"
\ No newline at end of file
+ name = "Sample #[rand(1,10000)]"
diff --git a/code/datums/diseases/advance/symptoms/headache.dm b/code/datums/diseases/advance/symptoms/headache.dm
index 973de1455bc..3a8c82beed1 100644
--- a/code/datums/diseases/advance/symptoms/headache.dm
+++ b/code/datums/diseases/advance/symptoms/headache.dm
@@ -57,4 +57,4 @@ BONUS
M.adjustStaminaLoss(25)
if(power >= 3 && A.stage >= 5)
to_chat(M, "[pick("Your head hurts!", "You feel a burning knife inside your brain!", "A wave of pain fills your head!")]")
- M.Stun(35)
\ No newline at end of file
+ M.Stun(35)
diff --git a/code/datums/diseases/advance/symptoms/weight.dm b/code/datums/diseases/advance/symptoms/weight.dm
index 8c34d01e29f..f6f79e8bf96 100644
--- a/code/datums/diseases/advance/symptoms/weight.dm
+++ b/code/datums/diseases/advance/symptoms/weight.dm
@@ -48,4 +48,4 @@ Bonus
else
to_chat(M, "[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]")
M.overeatduration = max(M.overeatduration - 100, 0)
- M.adjust_nutrition(-100)
\ No newline at end of file
+ M.adjust_nutrition(-100)
diff --git a/code/datums/diseases/advance/symptoms/youth.dm b/code/datums/diseases/advance/symptoms/youth.dm
index 927be03ed9f..e42e162cf91 100644
--- a/code/datums/diseases/advance/symptoms/youth.dm
+++ b/code/datums/diseases/advance/symptoms/youth.dm
@@ -55,4 +55,4 @@ BONUS
if(5)
if(H.age > 21)
H.age = 21
- to_chat(H, "You feel like you can take on the world!")
\ No newline at end of file
+ to_chat(H, "You feel like you can take on the world!")
diff --git a/code/datums/diseases/beesease.dm b/code/datums/diseases/beesease.dm
index aa6c6d7d650..a31939d79dc 100644
--- a/code/datums/diseases/beesease.dm
+++ b/code/datums/diseases/beesease.dm
@@ -36,4 +36,4 @@
affected_mob.visible_message("[affected_mob] coughs up a swarm of bees!", \
"You cough up a swarm of bees!")
new /mob/living/simple_animal/hostile/poison/bees(affected_mob.loc)
- return
\ No newline at end of file
+ return
diff --git a/code/datums/diseases/cold.dm b/code/datums/diseases/cold.dm
index b93ae4ec12e..386ca3e2449 100644
--- a/code/datums/diseases/cold.dm
+++ b/code/datums/diseases/cold.dm
@@ -50,4 +50,4 @@
if(!affected_mob.disease_resistances.Find(/datum/disease/flu))
var/datum/disease/Flu = new /datum/disease/flu()
affected_mob.ForceContractDisease(Flu, FALSE, TRUE)
- cure()
\ No newline at end of file
+ cure()
diff --git a/code/datums/diseases/cold9.dm b/code/datums/diseases/cold9.dm
index eea3147107f..3d710169b82 100644
--- a/code/datums/diseases/cold9.dm
+++ b/code/datums/diseases/cold9.dm
@@ -36,4 +36,4 @@
if(prob(1))
to_chat(affected_mob, "Your throat feels sore.")
if(prob(10))
- to_chat(affected_mob, "You feel stiff.")
\ No newline at end of file
+ to_chat(affected_mob, "You feel stiff.")
diff --git a/code/datums/diseases/magnitis.dm b/code/datums/diseases/magnitis.dm
index 53a04d23162..3a2e73f9691 100644
--- a/code/datums/diseases/magnitis.dm
+++ b/code/datums/diseases/magnitis.dm
@@ -65,4 +65,4 @@
var/iter = rand(1,3)
for(i=0,i[icon2html(M, viewers(holder))] The drive motor whines briefly.")
else
- holder.visible_message("[icon2html(M, viewers(holder))] You hear a radio crackle.")
\ No newline at end of file
+ holder.visible_message("[icon2html(M, viewers(holder))] You hear a radio crackle.")
diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm
index 02791f8c23f..ba94a16d469 100644
--- a/code/game/area/Space_Station_13_areas.dm
+++ b/code/game/area/Space_Station_13_areas.dm
@@ -679,6 +679,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
name = "Surgery"
icon_state = "surgery"
+/area/medical/surgery/room_b
+ name = "Surgery B"
+ icon_state = "surgery"
+
/area/medical/cryo
name = "Cryogenics"
icon_state = "cryo"
diff --git a/code/game/area/ai_monitored.dm b/code/game/area/ai_monitored.dm
index 2205187819f..d1250c91520 100644
--- a/code/game/area/ai_monitored.dm
+++ b/code/game/area/ai_monitored.dm
@@ -27,4 +27,4 @@
for(var/X in motioncameras)
var/obj/machinery/camera/cam = X
cam.lostTargetRef(WEAKREF(O))
- return
\ No newline at end of file
+ return
diff --git a/code/game/machinery/airlock_control.dm b/code/game/machinery/airlock_control.dm
index 9f51d2e4571..ec5a2633364 100644
--- a/code/game/machinery/airlock_control.dm
+++ b/code/game/machinery/airlock_control.dm
@@ -161,4 +161,4 @@
/obj/machinery/airlock_sensor/Destroy()
SSradio.remove_object(src,frequency)
- return ..()
\ No newline at end of file
+ return ..()
diff --git a/code/game/machinery/doors/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm
index cf46e6b0fd3..26fb2590806 100644
--- a/code/game/machinery/doors/alarmlock.dm
+++ b/code/game/machinery/doors/alarmlock.dm
@@ -40,4 +40,4 @@
close()
if("minor", "clear")
autoclose = FALSE
- open()
\ No newline at end of file
+ open()
diff --git a/code/game/machinery/doors/unpowered.dm b/code/game/machinery/doors/unpowered.dm
index 2e7e7d5cba7..324d8087ce3 100644
--- a/code/game/machinery/doors/unpowered.dm
+++ b/code/game/machinery/doors/unpowered.dm
@@ -22,4 +22,4 @@
icon_state = "door1"
opacity = 1
density = TRUE
- explosion_block = 1
\ No newline at end of file
+ explosion_block = 1
diff --git a/code/game/machinery/embedded_controller/airlock_controller.dm b/code/game/machinery/embedded_controller/airlock_controller.dm
index 0036b418048..8fb7f3dd831 100644
--- a/code/game/machinery/embedded_controller/airlock_controller.dm
+++ b/code/game/machinery/embedded_controller/airlock_controller.dm
@@ -312,4 +312,4 @@
[state_options]"}
- return output
\ No newline at end of file
+ return output
diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm
index 5f8c2b0b341..d977bb4f56d 100644
--- a/code/game/mecha/combat/combat.dm
+++ b/code/game/mecha/combat/combat.dm
@@ -15,4 +15,4 @@
for(var/obj/item/I in equipment)
if(istype(I, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/))
var/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/gun = I
- gun.projectiles_cache = gun.projectiles_cache_max
\ No newline at end of file
+ gun.projectiles_cache = gun.projectiles_cache_max
diff --git a/code/game/mecha/combat/durand.dm b/code/game/mecha/combat/durand.dm
index 87982053435..07369c90998 100644
--- a/code/game/mecha/combat/durand.dm
+++ b/code/game/mecha/combat/durand.dm
@@ -207,4 +207,4 @@ the shield is disabled by means other than the action button (like running out o
/obj/durand_shield/bullet_act()
play_attack_sound()
- . = ..()
\ No newline at end of file
+ . = ..()
diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm
index be0d8378a8d..40857aed040 100644
--- a/code/game/mecha/combat/gygax.dm
+++ b/code/game/mecha/combat/gygax.dm
@@ -71,4 +71,4 @@
/obj/mecha/combat/gygax/dark/RemoveActions(mob/living/user, human_occupant = 0)
..()
- thrusters_action.Remove(user)
\ No newline at end of file
+ thrusters_action.Remove(user)
diff --git a/code/game/objects/empulse.dm b/code/game/objects/empulse.dm
index 16e13a9fe23..f81ba58f435 100644
--- a/code/game/objects/empulse.dm
+++ b/code/game/objects/empulse.dm
@@ -29,4 +29,4 @@
T.emp_act(EMP_LIGHT)
else if(distance <= light_range)
T.emp_act(EMP_LIGHT)
- return 1
\ No newline at end of file
+ return 1
diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm
index 856f8a8438d..73e96965348 100644
--- a/code/game/objects/items/robot/robot_upgrades.dm
+++ b/code/game/objects/items/robot/robot_upgrades.dm
@@ -668,4 +668,4 @@
if (.)
var/obj/item/borg/apparatus/beaker/extra/E = locate() in R.module.modules
if (E)
- R.module.remove_module(E, TRUE)
\ No newline at end of file
+ R.module.remove_module(E, TRUE)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
index ac246d5053c..5c122eb0451 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
@@ -10,4 +10,4 @@
new /obj/item/radio/headset/headset_srv(src)
new /obj/item/cultivator(src)
new /obj/item/hatchet(src)
- new /obj/item/storage/box/disks_plantgene(src)
\ No newline at end of file
+ new /obj/item/storage/box/disks_plantgene(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
index 588509b9114..c555c598512 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
@@ -6,4 +6,4 @@
max_integrity = 250
armor = list("melee" = 30, "bullet" = 50, "laser" = 50, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 80)
secure = TRUE
- damage_deflection = 20
\ No newline at end of file
+ damage_deflection = 20
diff --git a/code/game/objects/structures/crates_lockers/crates/critter.dm b/code/game/objects/structures/crates_lockers/crates/critter.dm
index 56f42d4c9ae..30f734800a6 100644
--- a/code/game/objects/structures/crates_lockers/crates/critter.dm
+++ b/code/game/objects/structures/crates_lockers/crates/critter.dm
@@ -45,4 +45,4 @@
if(tank)
return tank.return_analyzable_air()
else
- return null
\ No newline at end of file
+ return null
diff --git a/code/modules/admin/verbs/cinematic.dm b/code/modules/admin/verbs/cinematic.dm
index 5aa3258f07a..7093ee23ea1 100644
--- a/code/modules/admin/verbs/cinematic.dm
+++ b/code/modules/admin/verbs/cinematic.dm
@@ -8,4 +8,4 @@
var/datum/cinematic/choice = input(src,"Cinematic","Choose",null) as anything in subtypesof(/datum/cinematic)
if(choice)
- Cinematic(initial(choice.id),world,null)
\ No newline at end of file
+ Cinematic(initial(choice.id),world,null)
diff --git a/code/modules/admin/verbs/getlogs.dm b/code/modules/admin/verbs/getlogs.dm
index 5f7b7becc6b..0c3f197f894 100644
--- a/code/modules/admin/verbs/getlogs.dm
+++ b/code/modules/admin/verbs/getlogs.dm
@@ -32,4 +32,4 @@
else
return
to_chat(src, "Attempting to send [path], this may take a fair few minutes if the file is very large.")
- return
\ No newline at end of file
+ return
diff --git a/code/modules/admin/verbs/onlyone.dm b/code/modules/admin/verbs/onlyone.dm
index 87fd8e669b1..33da462ce8e 100644
--- a/code/modules/admin/verbs/onlyone.dm
+++ b/code/modules/admin/verbs/onlyone.dm
@@ -28,4 +28,4 @@ GLOBAL_VAR_INIT(highlander, FALSE)
addtimer(CALLBACK(src, .proc/only_one), 420)
/mob/living/carbon/human/proc/make_scottish()
- mind.add_antag_datum(/datum/antagonist/highlander)
\ No newline at end of file
+ mind.add_antag_datum(/datum/antagonist/highlander)
diff --git a/code/modules/antagonists/_common/antag_hud.dm b/code/modules/antagonists/_common/antag_hud.dm
index f44dae96fe7..11ddfe2e497 100644
--- a/code/modules/antagonists/_common/antag_hud.dm
+++ b/code/modules/antagonists/_common/antag_hud.dm
@@ -55,4 +55,4 @@
/datum/mind/proc/leave_all_antag_huds()
for(var/datum/atom_hud/antag/hud in GLOB.huds)
if(hud.hudusers[current])
- hud.leave_hud(current)
\ No newline at end of file
+ hud.leave_hud(current)
diff --git a/code/modules/antagonists/nightmare/nightmare.dm b/code/modules/antagonists/nightmare/nightmare.dm
index 41a3f181d03..f4e6a17d718 100644
--- a/code/modules/antagonists/nightmare/nightmare.dm
+++ b/code/modules/antagonists/nightmare/nightmare.dm
@@ -1,4 +1,4 @@
/datum/antagonist/nightmare
name = "Nightmare"
show_in_antagpanel = FALSE
- show_name_in_check_antagonists = TRUE
\ No newline at end of file
+ show_name_in_check_antagonists = TRUE
diff --git a/code/modules/assembly/helpers.dm b/code/modules/assembly/helpers.dm
index 5ad5e129a05..f1dc93b4465 100644
--- a/code/modules/assembly/helpers.dm
+++ b/code/modules/assembly/helpers.dm
@@ -13,4 +13,4 @@ Name: IsAssemblyHolder
Desc: If true is an object that can hold an assemblyholder object
*/
/obj/proc/IsAssemblyHolder()
- return FALSE
\ No newline at end of file
+ return FALSE
diff --git a/code/modules/atmospherics/machinery/pipes/layermanifold.dm b/code/modules/atmospherics/machinery/pipes/layermanifold.dm
index 97f5b7c8ce0..6ed67319840 100644
--- a/code/modules/atmospherics/machinery/pipes/layermanifold.dm
+++ b/code/modules/atmospherics/machinery/pipes/layermanifold.dm
@@ -136,4 +136,3 @@
/obj/machinery/atmospherics/pipe/layer_manifold/visible
level = PIPE_VISIBLE_LEVEL
layer = GAS_PIPE_VISIBLE_LAYER
-
\ No newline at end of file
diff --git a/code/modules/awaymissions/mission_code/centcomAway.dm b/code/modules/awaymissions/mission_code/centcomAway.dm
index 8a9b5f3a113..a7a670f84f0 100644
--- a/code/modules/awaymissions/mission_code/centcomAway.dm
+++ b/code/modules/awaymissions/mission_code/centcomAway.dm
@@ -60,4 +60,4 @@
teams never did figure out what happened that last time... and I can't wrap my head \
around it myself. Why would a shuttle full of evacuees all snap and beat each other \
to death the moment they reached safety?
\
- - D. Cereza"
\ No newline at end of file
+ - D. Cereza"
diff --git a/code/modules/bsql/core/connection.dm b/code/modules/bsql/core/connection.dm
index 692d1333f00..7a652607f91 100644
--- a/code/modules/bsql/core/connection.dm
+++ b/code/modules/bsql/core/connection.dm
@@ -65,4 +65,4 @@ BSQL_DEL_PROC(/datum/BSQL_Connection)
return null;
. = world._BSQL_Internal_Call("QuoteString", id, "[str]")
if(!.)
- BSQL_ERROR("Library failed to provide quote for [str]!")
\ No newline at end of file
+ BSQL_ERROR("Library failed to provide quote for [str]!")
diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm
index e3f73a3e69e..0d40d5c6fb3 100644
--- a/code/modules/client/preferences_toggles.dm
+++ b/code/modules/client/preferences_toggles.dm
@@ -453,4 +453,4 @@ GLOBAL_LIST_INIT(ghost_orbits, list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS
to_chat(src, "Custom Asay color is currently disabled by the server.")
return
prefs.asaycolor = initial(prefs.asaycolor)
- prefs.save_preferences()
\ No newline at end of file
+ prefs.save_preferences()
diff --git a/code/modules/events/anomaly.dm b/code/modules/events/anomaly.dm
index 1e074da47b9..d094fec7432 100644
--- a/code/modules/events/anomaly.dm
+++ b/code/modules/events/anomaly.dm
@@ -49,4 +49,4 @@
if(T)
newAnomaly = new anomaly_path(T)
if (newAnomaly)
- announce_to_ghosts(newAnomaly)
\ No newline at end of file
+ announce_to_ghosts(newAnomaly)
diff --git a/code/modules/events/anomaly_bluespace.dm b/code/modules/events/anomaly_bluespace.dm
index ce4d982114a..5d30fe6c1c2 100644
--- a/code/modules/events/anomaly_bluespace.dm
+++ b/code/modules/events/anomaly_bluespace.dm
@@ -11,4 +11,4 @@
anomaly_path = /obj/effect/anomaly/bluespace
/datum/round_event/anomaly/anomaly_bluespace/announce(fake)
- priority_announce("Unstable bluespace anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert")
\ No newline at end of file
+ priority_announce("Unstable bluespace anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert")
diff --git a/code/modules/events/anomaly_grav.dm b/code/modules/events/anomaly_grav.dm
index 19056a44f3f..756d7876917 100644
--- a/code/modules/events/anomaly_grav.dm
+++ b/code/modules/events/anomaly_grav.dm
@@ -11,4 +11,4 @@
anomaly_path = /obj/effect/anomaly/grav
/datum/round_event/anomaly/anomaly_grav/announce(fake)
- priority_announce("Gravitational anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert")
\ No newline at end of file
+ priority_announce("Gravitational anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert")
diff --git a/code/modules/events/anomaly_vortex.dm b/code/modules/events/anomaly_vortex.dm
index 737d7d15a6a..2a88158f44b 100644
--- a/code/modules/events/anomaly_vortex.dm
+++ b/code/modules/events/anomaly_vortex.dm
@@ -12,4 +12,4 @@
anomaly_path = /obj/effect/anomaly/bhole
/datum/round_event/anomaly/anomaly_vortex/announce(fake)
- priority_announce("Localized high-intensity vortex anomaly detected on long range scanners. Expected location: [impact_area.name]", "Anomaly Alert")
\ No newline at end of file
+ priority_announce("Localized high-intensity vortex anomaly detected on long range scanners. Expected location: [impact_area.name]", "Anomaly Alert")
diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm
index 693b577e875..2d183114b76 100644
--- a/code/modules/events/carp_migration.dm
+++ b/code/modules/events/carp_migration.dm
@@ -31,4 +31,4 @@
/datum/round_event/carp_migration/proc/fishannounce(atom/fish)
if (!hasAnnounced)
announce_to_ghosts(fish) //Only anounce the first fish
- hasAnnounced = TRUE
\ No newline at end of file
+ hasAnnounced = TRUE
diff --git a/code/modules/events/dust.dm b/code/modules/events/dust.dm
index ca5d08d8f39..40aad16bc40 100644
--- a/code/modules/events/dust.dm
+++ b/code/modules/events/dust.dm
@@ -28,4 +28,4 @@
fakeable = FALSE
/datum/round_event/sandstorm/tick()
- spawn_meteors(10, GLOB.meteorsC)
\ No newline at end of file
+ spawn_meteors(10, GLOB.meteorsC)
diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm
index 5587234d061..07923353c84 100644
--- a/code/modules/events/ion_storm.dm
+++ b/code/modules/events/ion_storm.dm
@@ -558,4 +558,4 @@
if(4)
message = "ALL [ionthreats] ARE NOW NAMED [ionobjects]."
- return message
\ No newline at end of file
+ return message
diff --git a/code/modules/events/mass_hallucination.dm b/code/modules/events/mass_hallucination.dm
index 2b0c16ebfcb..02107fe3ebe 100644
--- a/code/modules/events/mass_hallucination.dm
+++ b/code/modules/events/mass_hallucination.dm
@@ -35,4 +35,4 @@
/datum/hallucination/delusion,
/datum/hallucination/oh_yeah)
for(var/mob/living/carbon/C in GLOB.alive_mob_list)
- new picked_hallucination(C, TRUE)
\ No newline at end of file
+ new picked_hallucination(C, TRUE)
diff --git a/code/modules/jobs/map_changes/map_changes.dm b/code/modules/jobs/map_changes/map_changes.dm
index b4aa4520a31..506a8343c5d 100644
--- a/code/modules/jobs/map_changes/map_changes.dm
+++ b/code/modules/jobs/map_changes/map_changes.dm
@@ -1,4 +1,4 @@
//this needs to come after the job_types subfolder to keep the correct ordering
#include "..\..\..\..\_maps\map_files\PubbyStation\job_changes.dm"
-#undef JOB_MODIFICATION_MAP_NAME
\ No newline at end of file
+#undef JOB_MODIFICATION_MAP_NAME
diff --git a/code/modules/keybindings/bindings_carbon.dm b/code/modules/keybindings/bindings_carbon.dm
index d17f10e963f..cea93b0da32 100644
--- a/code/modules/keybindings/bindings_carbon.dm
+++ b/code/modules/keybindings/bindings_carbon.dm
@@ -15,4 +15,4 @@
if("4")
a_intent_change("harm")
return
- return ..()
\ No newline at end of file
+ return ..()
diff --git a/code/modules/keybindings/bindings_robot.dm b/code/modules/keybindings/bindings_robot.dm
index 2354f33c9e9..ad10b2bd9aa 100644
--- a/code/modules/keybindings/bindings_robot.dm
+++ b/code/modules/keybindings/bindings_robot.dm
@@ -9,4 +9,4 @@
if("Q")
uneq_active()
return
- return ..()
\ No newline at end of file
+ return ..()
diff --git a/code/modules/mining/laborcamp/laborshuttle.dm b/code/modules/mining/laborcamp/laborshuttle.dm
index 60983aa25a6..17a0c50eb24 100644
--- a/code/modules/mining/laborcamp/laborshuttle.dm
+++ b/code/modules/mining/laborcamp/laborshuttle.dm
@@ -24,4 +24,4 @@
if(S && S.name == "laborcamp_away")
to_chat(usr, "Shuttle is already at the outpost!")
return 0
- ..()
\ No newline at end of file
+ ..()
diff --git a/code/modules/mining/machine_unloading.dm b/code/modules/mining/machine_unloading.dm
index e84c2d6d0d5..900e49a4752 100644
--- a/code/modules/mining/machine_unloading.dm
+++ b/code/modules/mining/machine_unloading.dm
@@ -28,4 +28,4 @@
limit++
if (limit>=10)
return
- CHECK_TICK
\ No newline at end of file
+ CHECK_TICK
diff --git a/code/modules/mob/dead/new_player/logout.dm b/code/modules/mob/dead/new_player/logout.dm
index fd15f5e3097..a0e39232239 100644
--- a/code/modules/mob/dead/new_player/logout.dm
+++ b/code/modules/mob/dead/new_player/logout.dm
@@ -4,4 +4,4 @@
if(!spawning)//Here so that if they are spawning and log out, the other procs can play out and they will have a mob to come back to.
key = null//We null their key before deleting the mob, so they are properly kicked out.
qdel(src)
- return
\ No newline at end of file
+ return
diff --git a/code/modules/mob/living/carbon/alien/humanoid/death.dm b/code/modules/mob/living/carbon/alien/humanoid/death.dm
index ad0d8bbb9d5..5e42e972284 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/death.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/death.dm
@@ -19,4 +19,4 @@
if(istype(node)) // just in case someone would ever add a diffirent node to hivenode slot
node.queen_death()
- return ..()
\ No newline at end of file
+ return ..()
diff --git a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm
index 2b5fff16ec5..71d8a21a3bb 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm
@@ -91,4 +91,4 @@
hands += mutable_appearance(alt_inhands_file, "[itm_state][caste]_r", -HANDS_LAYER)
overlays_standing[HANDS_LAYER] = hands
- apply_overlay(HANDS_LAYER)
\ No newline at end of file
+ apply_overlay(HANDS_LAYER)
diff --git a/code/modules/mob/living/carbon/alien/screen.dm b/code/modules/mob/living/carbon/alien/screen.dm
index b5b646b08b6..adff9e6eac0 100644
--- a/code/modules/mob/living/carbon/alien/screen.dm
+++ b/code/modules/mob/living/carbon/alien/screen.dm
@@ -30,4 +30,4 @@
hud_used.alien_queen_finder.add_overlay(finder_eye)
/mob/living/carbon/alien/humanoid/royal/queen/findQueen()
- return //Queen already knows where she is. Hopefully.
\ No newline at end of file
+ return //Queen already knows where she is. Hopefully.
diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
index 0f53f4bfe07..c0042fa8a59 100644
--- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
@@ -735,4 +735,4 @@
to_chat(H, "You connect [target]'s mind to your slime link!")
else
to_chat(H, "You can't seem to link [target]'s mind...")
- to_chat(target, "The foreign presence leaves your mind.")
\ No newline at end of file
+ to_chat(target, "The foreign presence leaves your mind.")
diff --git a/code/modules/mob/living/carbon/human/species_types/synths.dm b/code/modules/mob/living/carbon/human/species_types/synths.dm
index cc06d97e766..1a6e0a6b54a 100644
--- a/code/modules/mob/living/carbon/human/species_types/synths.dm
+++ b/code/modules/mob/living/carbon/human/species_types/synths.dm
@@ -127,4 +127,4 @@
if(fake_species && L.health > disguise_fail_health)
switch(fake_species.type)
if (/datum/species/golem/bananium)
- speech_args[SPEECH_SPANS] |= SPAN_CLOWN
\ No newline at end of file
+ speech_args[SPEECH_SPANS] |= SPAN_CLOWN
diff --git a/code/modules/mob/living/carbon/monkey/update_icons.dm b/code/modules/mob/living/carbon/monkey/update_icons.dm
index 6311776596a..71a81c3c802 100644
--- a/code/modules/mob/living/carbon/monkey/update_icons.dm
+++ b/code/modules/mob/living/carbon/monkey/update_icons.dm
@@ -74,4 +74,4 @@
/mob/living/carbon/monkey/update_hud_back(obj/item/I)
if(client && hud_used && hud_used.hud_shown)
I.screen_loc = ui_monkey_back
- client.screen += I
\ No newline at end of file
+ client.screen += I
diff --git a/code/modules/mob/living/logout.dm b/code/modules/mob/living/logout.dm
index d2c50559c63..330e17d16c5 100644
--- a/code/modules/mob/living/logout.dm
+++ b/code/modules/mob/living/logout.dm
@@ -2,4 +2,4 @@
update_z(null)
..()
if(!key && mind) //key and mind have become separated.
- mind.active = 0 //This is to stop say, a mind.transfer_to call on a corpse causing a ghost to re-enter its body.
\ No newline at end of file
+ mind.active = 0 //This is to stop say, a mind.transfer_to call on a corpse causing a ghost to re-enter its body.
diff --git a/code/modules/mob/living/silicon/ai/freelook/read_me.dm b/code/modules/mob/living/silicon/ai/freelook/read_me.dm
index 53e68ff1377..186621d81d2 100644
--- a/code/modules/mob/living/silicon/ai/freelook/read_me.dm
+++ b/code/modules/mob/living/silicon/ai/freelook/read_me.dm
@@ -48,4 +48,4 @@
eye.dm = Everything about the AI and the AIEye.
updating.dm = Everything about triggers that will update chunks.
-*/
\ No newline at end of file
+*/
diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index 7836d886917..5792ffa1c08 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -995,4 +995,4 @@
forceMove(H)
H.ForceContractDisease(P)
parrot_interest = null
- H.visible_message("[src] dive bombs into [H]'s chest and vanishes!", "[src] dive bombs into your chest, vanishing! This can't be good!")
\ No newline at end of file
+ H.visible_message("[src] dive bombs into [H]'s chest and vanishes!", "[src] dive bombs into your chest, vanishing! This can't be good!")
diff --git a/code/modules/mob/update_icons.dm b/code/modules/mob/update_icons.dm
index 09a120e5285..0bad7440023 100644
--- a/code/modules/mob/update_icons.dm
+++ b/code/modules/mob/update_icons.dm
@@ -68,4 +68,4 @@
return
/mob/proc/update_inv_ears()
- return
\ No newline at end of file
+ return
diff --git a/code/modules/power/singularity/investigate.dm b/code/modules/power/singularity/investigate.dm
index 38ce154d013..540ad6e71c5 100644
--- a/code/modules/power/singularity/investigate.dm
+++ b/code/modules/power/singularity/investigate.dm
@@ -1,4 +1,4 @@
/area/engine/engineering/poweralert(state, source)
if (state != poweralm)
investigate_log("has a power alarm!", INVESTIGATE_SINGULO)
- ..()
\ No newline at end of file
+ ..()
diff --git a/code/modules/projectiles/projectile/bullets/sniper.dm b/code/modules/projectiles/projectile/bullets/sniper.dm
index eab5e0f06cc..5324cab75b5 100644
--- a/code/modules/projectiles/projectile/bullets/sniper.dm
+++ b/code/modules/projectiles/projectile/bullets/sniper.dm
@@ -42,4 +42,4 @@
icon_state = "gaussstrong"
damage = 25
speed = 0.3
- range = 16
\ No newline at end of file
+ range = 16
diff --git a/code/modules/projectiles/projectile/special/rocket.dm b/code/modules/projectiles/projectile/special/rocket.dm
index a8329b6fc8e..1df7ec25c86 100644
--- a/code/modules/projectiles/projectile/special/rocket.dm
+++ b/code/modules/projectiles/projectile/special/rocket.dm
@@ -72,4 +72,4 @@
explosion(target, 0, 1, 1, 2)
return BULLET_ACT_HIT
//if(istype(target, /turf/closed) || ismecha(target))
- new /obj/item/broken_missile(get_turf(src), 1)
\ No newline at end of file
+ new /obj/item/broken_missile(get_turf(src), 1)
diff --git a/code/modules/research/techweb/_techweb_node.dm b/code/modules/research/techweb/_techweb_node.dm
index 680d4f5727f..e1282a19b21 100644
--- a/code/modules/research/techweb/_techweb_node.dm
+++ b/code/modules/research/techweb/_techweb_node.dm
@@ -97,4 +97,4 @@
return techweb_point_display_generic(get_price(TN))
/datum/techweb_node/proc/on_research() //new proc, not currently in file
- return
\ No newline at end of file
+ return
diff --git a/code/modules/shuttle/syndicate.dm b/code/modules/shuttle/syndicate.dm
index cb6fdd203ef..a1e9566357f 100644
--- a/code/modules/shuttle/syndicate.dm
+++ b/code/modules/shuttle/syndicate.dm
@@ -63,4 +63,4 @@
y_offset = -1
see_hidden = TRUE
-#undef SYNDICATE_CHALLENGE_TIMER
\ No newline at end of file
+#undef SYNDICATE_CHALLENGE_TIMER
diff --git a/code/modules/spells/spell_types/explosion.dm b/code/modules/spells/spell_types/explosion.dm
index bd9d5d005ac..e662967b32c 100644
--- a/code/modules/spells/spell_types/explosion.dm
+++ b/code/modules/spells/spell_types/explosion.dm
@@ -13,4 +13,4 @@
continue
explosion(target.loc,ex_severe,ex_heavy,ex_light,ex_flash)
- return
\ No newline at end of file
+ return
diff --git a/code/modules/spells/spell_types/projectile.dm b/code/modules/spells/spell_types/projectile.dm
index f3942f2dda1..23966ef9b60 100644
--- a/code/modules/spells/spell_types/projectile.dm
+++ b/code/modules/spells/spell_types/projectile.dm
@@ -127,4 +127,4 @@
if(new_turf.density)
break
T = new_turf
- perform(list(T),user = user)
\ No newline at end of file
+ perform(list(T),user = user)
diff --git a/code/modules/spells/spell_types/trigger.dm b/code/modules/spells/spell_types/trigger.dm
index 7dfda257309..681d709a1ea 100644
--- a/code/modules/spells/spell_types/trigger.dm
+++ b/code/modules/spells/spell_types/trigger.dm
@@ -27,4 +27,4 @@
for(var/obj/effect/proc_holder/spell/spell in linked_spells)
spell.perform(list(target),0)
- return
\ No newline at end of file
+ return
diff --git a/code/modules/unit_tests/component_tests.dm b/code/modules/unit_tests/component_tests.dm
index 7cf465a3314..428d1b28a4e 100644
--- a/code/modules/unit_tests/component_tests.dm
+++ b/code/modules/unit_tests/component_tests.dm
@@ -9,4 +9,4 @@
if(dupe_type && !ispath(dupe_type))
bad_dts += t
if(length(bad_dms) || length(bad_dts))
- Fail("Components with invalid dupe modes: ([bad_dms.Join(",")]) ||| Components with invalid dupe types: ([bad_dts.Join(",")])")
\ No newline at end of file
+ Fail("Components with invalid dupe modes: ([bad_dms.Join(",")]) ||| Components with invalid dupe types: ([bad_dts.Join(",")])")
diff --git a/code/modules/unit_tests/subsystem_init.dm b/code/modules/unit_tests/subsystem_init.dm
index f768f03f781..7d5473bc1bb 100644
--- a/code/modules/unit_tests/subsystem_init.dm
+++ b/code/modules/unit_tests/subsystem_init.dm
@@ -4,4 +4,4 @@
if(ss.flags & SS_NO_INIT)
continue
if(!ss.initialized)
- Fail("[ss]([ss.type]) is a subsystem meant to initialize but doesn't get set as initialized.")
\ No newline at end of file
+ Fail("[ss]([ss.type]) is a subsystem meant to initialize but doesn't get set as initialized.")
diff --git a/code/modules/unit_tests/timer_sanity.dm b/code/modules/unit_tests/timer_sanity.dm
index 1e5b022b190..d92323a5253 100644
--- a/code/modules/unit_tests/timer_sanity.dm
+++ b/code/modules/unit_tests/timer_sanity.dm
@@ -1,3 +1,3 @@
/datum/unit_test/timer_sanity/Run()
if(SStimer.bucket_count < 0)
- Fail("SStimer is going into negative bucket count from something")
\ No newline at end of file
+ Fail("SStimer is going into negative bucket count from something")
diff --git a/tools/travis/check_grep.sh b/tools/travis/check_grep.sh
index f4d7d3aa910..134d7566147 100755
--- a/tools/travis/check_grep.sh
+++ b/tools/travis/check_grep.sh
@@ -14,30 +14,30 @@ if grep -P '^\ttag = \"icon' _maps/**/*.dmm; then
echo "ERROR: tag vars from icon state generation detected in maps, please remove them."
st=1
fi;
-if grep 'step_[xy]' _maps/**/*.dmm; then
+if grep -P 'step_[xy]' _maps/**/*.dmm; then
echo "ERROR: step_x/step_y variables detected in maps, please remove them."
st=1
fi;
-if grep 'pixel_[xy] = 0' _maps/**/*.dmm; then
+if grep -P 'pixel_[xy] = 0' _maps/**/*.dmm; then
echo "WARNING: pixel_x/pixel_y = 0 variables detected in maps, please review to ensure they are not dirty varedits."
fi;
if grep -P '\td[1-2] =' _maps/**/*.dmm; then
echo "ERROR: d1/d2 cable variables detected in maps, please remove them."
st=1
fi;
-if grep '^/area/.+[\{]' _maps/**/*.dmm; then
+if grep -P '^/area/.+[\{]' _maps/**/*.dmm; then
echo "ERROR: Vareditted /area path use detected in maps, please replace with proper paths."
st=1
fi;
-if grep '\W\/turf\s*[,\){]' _maps/**/*.dmm; then
+if grep -P '\W\/turf\s*[,\){]' _maps/**/*.dmm; then
echo "ERROR: base /turf path use detected in maps, please replace with proper paths."
st=1
fi;
-if grep '^/*var/' code/**/*.dm; then
+if grep -P '^/*var/' code/**/*.dm; then
echo "ERROR: Unmanaged global var use detected in code, please use the helpers."
st=1
fi;
-if grep '(^(?!(.*\n)).*$)' code/**/*.dm; then
+if pcregrep --buffer-size=100K -LMr '\n$' code/**/*.dm; then
echo "ERROR: No newline at end of file detected"
st=1
fi;