From b59c8c6e715665408e4e982088d4d7b6fb3c84d6 Mon Sep 17 00:00:00 2001 From: Leo Date: Fri, 19 Jan 2018 12:14:24 -0200 Subject: [PATCH 01/59] Merge pull request #34581 from ShizCalev/stacked-turf-cleanup Corrects some stacked turf --- .../LavaRuins/lavaland_surface_cultaltar.dmm | 19 +- .../LavaRuins/lavaland_surface_hermit.dmm | 5 +- _maps/RandomRuins/SpaceRuins/asteroid4.dmm | 1 - .../RandomRuins/SpaceRuins/caravanambush.dmm | 25 +- _maps/RandomRuins/SpaceRuins/crashedship.dmm | 514 ++++++--------- _maps/RandomRuins/SpaceRuins/derelict6.dmm | 21 - _maps/RandomRuins/SpaceRuins/vaporwave.dmm | 1 - _maps/RandomZLevels/caves.dmm | 6 - _maps/RandomZLevels/centcomAway.dmm | 4 - _maps/RandomZLevels/moonoutpost19.dmm | 4 - _maps/RandomZLevels/research.dmm | 35 +- _maps/RandomZLevels/snowdin.dmm | 1 - _maps/RandomZLevels/spacebattle.dmm | 606 ++++-------------- _maps/map_files/BoxStation/BoxStation.dmm | 19 +- .../map_files/Deltastation/DeltaStation2.dmm | 2 - _maps/map_files/OmegaStation/OmegaStation.dmm | 1 - _maps/shuttles/emergency_mini.dmm | 6 +- _maps/templates/medium_shuttle1.dmm | 38 +- _maps/templates/medium_shuttle2.dmm | 61 +- _maps/templates/medium_shuttle3.dmm | 144 ++--- 20 files changed, 428 insertions(+), 1085 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm index d77a0f7ec0..02f3446902 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm @@ -120,9 +120,6 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered) "t" = ( -/turf/open/floor/plasteel/cult{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, /obj/effect/baseturf_helper/lava_land/surface, /turf/closed/wall/mineral/cult, /area/ruin/unpowered) @@ -169,7 +166,7 @@ s d c c -n +g c c d @@ -234,7 +231,7 @@ b b c c -h +g i b b @@ -252,14 +249,14 @@ b g b b -j +d b o b -j +d b b -r +g b c "} @@ -285,10 +282,10 @@ a c c c -h +g b m -j +d q b b @@ -339,7 +336,7 @@ s d c c -p +g c c d diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm index 8d52fc9180..587e234886 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm @@ -1,4 +1,4 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( /turf/closed/mineral/volcanic/lava_land_surface, /area/lavaland/surface/outdoors) @@ -145,9 +145,6 @@ /turf/open/floor/pod/dark, /area/ruin/powered) "E" = ( -/turf/open/floor/plating{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, /obj/structure/shuttle/engine/propulsion/burst{ dir = 8 }, diff --git a/_maps/RandomRuins/SpaceRuins/asteroid4.dmm b/_maps/RandomRuins/SpaceRuins/asteroid4.dmm index c6234672bf..da6047ce22 100644 --- a/_maps/RandomRuins/SpaceRuins/asteroid4.dmm +++ b/_maps/RandomRuins/SpaceRuins/asteroid4.dmm @@ -30,7 +30,6 @@ /turf/closed/wall/mineral/titanium, /area/ruin/unpowered) "k" = ( -/turf/open/floor/plating, /obj/item/stack/sheet/mineral/bananium{ amount = 15 }, diff --git a/_maps/RandomRuins/SpaceRuins/caravanambush.dmm b/_maps/RandomRuins/SpaceRuins/caravanambush.dmm index 6811cc6be2..2f3a1eb42c 100644 --- a/_maps/RandomRuins/SpaceRuins/caravanambush.dmm +++ b/_maps/RandomRuins/SpaceRuins/caravanambush.dmm @@ -355,7 +355,6 @@ /turf/closed/wall/mineral/titanium, /area/ruin/unpowered) "bm" = ( -/turf/open/floor/plating, /obj/machinery/door/poddoor{ id = "caravantrade1"; name = "cargo blastdoor" @@ -399,17 +398,6 @@ /obj/structure/lattice, /turf/template_noop, /area/template_noop) -"bt" = ( -/turf/open/floor/plating/airless{ - icon_plating = "platingdmg3"; - icon_state = "platingdmg3" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless{ - icon_plating = "platingdmg2"; - icon_state = "platingdmg2" - }, -/area/ruin/unpowered) "bu" = ( /obj/item/stack/sheet/metal, /obj/effect/decal/cleanable/dirt, @@ -493,7 +481,6 @@ /turf/open/floor/mineral/titanium/blue/airless, /area/ruin/unpowered) "bJ" = ( -/turf/open/floor/plating, /obj/effect/spawner/structure/window/shuttle, /turf/open/floor/plating/airless{ icon_plating = "platingdmg2"; @@ -649,7 +636,6 @@ /turf/template_noop, /area/template_noop) "ch" = ( -/turf/template_noop, /obj/item/stack/rods, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ @@ -754,7 +740,6 @@ }, /area/ruin/unpowered) "cx" = ( -/turf/template_noop, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ icon_plating = "platingdmg2"; @@ -1159,12 +1144,6 @@ }, /turf/open/floor/plasteel, /area/ruin/powered) -"dB" = ( -/obj/machinery/computer{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/powered) "dC" = ( /obj/machinery/computer{ dir = 8 @@ -1862,7 +1841,7 @@ aa aa ab ce -dB +dC ce ab aa @@ -3497,7 +3476,7 @@ aa aa aa bl -bt +ci bB bB bU diff --git a/_maps/RandomRuins/SpaceRuins/crashedship.dmm b/_maps/RandomRuins/SpaceRuins/crashedship.dmm index 2f4586c11b..177f1c3cbc 100644 --- a/_maps/RandomRuins/SpaceRuins/crashedship.dmm +++ b/_maps/RandomRuins/SpaceRuins/crashedship.dmm @@ -10,18 +10,9 @@ "ac" = ( /turf/closed/wall/mineral/titanium, /area/awaymission/BMPship/Aft) -"ad" = ( -/turf/closed/wall/mineral/titanium/interior, -/area/awaymission/BMPship/Aft) "ae" = ( /turf/closed/wall/mineral/titanium/overspace, /area/awaymission/BMPship/Aft) -"af" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/end{ - dir = 1 - }, -/turf/open/floor/engine, -/area/awaymission/BMPship/Aft) "ag" = ( /obj/machinery/porta_turret{ dir = 8; @@ -181,22 +172,9 @@ }, /turf/open/floor/plating, /area/awaymission/BMPship/Aft) -"aH" = ( -/turf/closed/wall/mineral/titanium/interior, -/area/awaymission/BMPship/Fore) "aI" = ( /turf/closed/wall/mineral/titanium/overspace, /area/awaymission/BMPship/Fore) -"aJ" = ( -/turf/open/floor/plating/airless{ - icon_state = "platingdmg2" - }, -/area/awaymission/BMPship/Midship) -"aK" = ( -/turf/open/floor/plating/airless{ - icon_state = "platingdmg3" - }, -/area/awaymission/BMPship/Midship) "aL" = ( /obj/structure/cable{ icon_state = "1-2" @@ -224,12 +202,6 @@ }, /turf/open/floor/plating, /area/awaymission/BMPship/Aft) -"aQ" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/end{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/awaymission/BMPship/Fore) "aR" = ( /obj/structure/table/wood, /obj/item/stack/spacecash/c500, @@ -274,16 +246,6 @@ /obj/structure/sign/vacuum, /turf/closed/wall/mineral/titanium, /area/awaymission/BMPship/Fore) -"aZ" = ( -/turf/open/floor/plating/airless{ - icon_state = "platingdmg1" - }, -/area/awaymission/BMPship/Midship) -"ba" = ( -/turf/open/floor/plating/airless{ - icon_state = "panelscorched" - }, -/area/awaymission/BMPship/Midship) "bb" = ( /obj/effect/decal/cleanable/blood/gibs/old, /obj/effect/gibspawner/human, @@ -296,12 +258,6 @@ /obj/item/clothing/glasses/regular/hipster, /turf/open/floor/plating/airless, /area/awaymission/BMPship/Midship) -"bd" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/airless, -/area/awaymission/BMPship/Midship) "be" = ( /obj/machinery/door/unpowered/shuttle, /obj/structure/cable{ @@ -370,12 +326,6 @@ /obj/machinery/door/airlock/external, /turf/open/floor/plating, /area/awaymission/BMPship/Fore) -"br" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/awaymission/BMPship/Aft) "bs" = ( /obj/structure/closet/crate, /obj/item/stack/spacecash/c1000, @@ -455,12 +405,6 @@ /obj/item/hand_labeler, /turf/open/floor/plating, /area/awaymission/BMPship/Aft) -"bF" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/awaymission/BMPship/Aft) "bG" = ( /obj/structure/cable{ icon_state = "4-8" @@ -474,10 +418,6 @@ }, /turf/open/floor/plating, /area/awaymission/BMPship/Aft) -"bI" = ( -/obj/machinery/door/unpowered/shuttle, -/turf/open/floor/carpet, -/area/awaymission/BMPship/Fore) "bJ" = ( /obj/machinery/door/airlock/silver, /turf/open/floor/carpet, @@ -697,12 +637,6 @@ }, /turf/open/floor/plating, /area/awaymission/BMPship/Aft) -"co" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet, -/area/awaymission/BMPship/Fore) "cp" = ( /obj/item/reagent_containers/food/snacks/hugemushroomslice, /turf/open/floor/plasteel/bar, @@ -758,18 +692,9 @@ "cC" = ( /turf/open/floor/plasteel/hydrofloor, /area/awaymission/BMPship/Aft) -"cD" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/awaymission/BMPship/Aft) "cE" = ( /turf/open/floor/plasteel, /area/awaymission/BMPship/Aft) -"cF" = ( -/turf/closed/wall/mineral/titanium/overspace, -/area/template_noop) "cG" = ( /turf/closed/wall/mineral/titanium/interior, /area/awaymission/BMPship/Fore) @@ -922,12 +847,6 @@ }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) -"dh" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/bar, -/area/awaymission/BMPship/Midship) "di" = ( /obj/structure/cable{ icon_state = "2-8" @@ -1079,15 +998,6 @@ }, /turf/open/floor/plasteel, /area/awaymission/BMPship/Aft) -"dF" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/awaymission/BMPship/Aft) "dG" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end{ dir = 1 @@ -1509,12 +1419,6 @@ }, /turf/open/floor/plasteel/bar, /area/awaymission/BMPship/Midship) -"eN" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/awaymission/BMPship/Aft) "eO" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2041,12 +1945,6 @@ }, /turf/open/floor/plasteel, /area/awaymission/BMPship/Aft) -"gB" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/awaymission/BMPship/Aft) "gC" = ( /obj/structure/cable{ icon_state = "1-4" @@ -2250,12 +2148,6 @@ dir = 2 }, /area/awaymission/BMPship/Aft) -"hm" = ( -/turf/open/floor/plasteel/cafeteria{ - dir = 2 - }, -/turf/closed/wall/mineral/titanium/interior, -/area/awaymission/BMPship/Aft) "hn" = ( /obj/item/clothing/gloves/color/fyellow, /turf/open/floor/plating/asteroid/airless, @@ -2305,24 +2197,6 @@ }, /turf/open/floor/carpet, /area/awaymission/BMPship/Fore) -"hy" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/awaymission/BMPship/Fore) -"hz" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/awaymission/BMPship/Fore) -"hA" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/awaymission/BMPship/Fore) -"hB" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/awaymission/BMPship/Fore) -"hC" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/awaymission/BMPship/Fore) -"hD" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/awaymission/BMPship/Fore) "hE" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/awaymission/BMPship/Fore) @@ -2702,7 +2576,7 @@ aa aa aa aI -hD +hE bV hx ee @@ -2752,7 +2626,7 @@ aa aa aa aI -hC +hE bV bV dH @@ -2802,7 +2676,7 @@ aa aa aa aI -hB +hE bV bV bV @@ -2847,12 +2721,12 @@ aa aa aa aa -aH -aQ +cG +gk bl bt -hy -hA +hE +hE bV bV cY @@ -2862,15 +2736,15 @@ eg bV bV bV -bI +fc fv fJ -aH +cG hE -aQ +gk gF gR -aH +cG fS fS gb @@ -2898,7 +2772,7 @@ aa aa aa aa -aH +cG aR bm bu @@ -2911,17 +2785,17 @@ du bV bV ev -co -co +db +db fd fw fu fT -aH +cG gl gG gl -aH +cG gb gb gb @@ -2949,11 +2823,11 @@ aa aa aa aa -aH +cG aS bn bm -bI +fc bV bV bV @@ -2968,11 +2842,11 @@ aT fx fK fU -aH +cG gm gG gG -aH +cG gb gb gb @@ -3000,13 +2874,13 @@ aa aa aa aa -aH +cG aT aT aT -hz +hE bW -co +db cH bV bV @@ -3019,11 +2893,11 @@ aT fy fL fv -aH -aH +cG +cG gH -aH -aH +cG +cG gb gb gb @@ -3051,7 +2925,7 @@ aa aa aa aa -aH +cG aU bo bp @@ -3059,10 +2933,10 @@ bJ bV bV cI -co +db dv dI -co +db ex bV eU @@ -3074,7 +2948,7 @@ gd gn gI fv -aH +cG gb gb gb @@ -3102,7 +2976,7 @@ aa aa aa aa -aH +cG aV bp bv @@ -3125,7 +2999,7 @@ aT go fI fv -aH +cG gb gb gb @@ -3153,7 +3027,7 @@ aa aa aa aa -aH +cG aW bp bv @@ -3163,7 +3037,7 @@ ce ce ce dw -dh +dy ce ce ce @@ -3204,7 +3078,7 @@ aa aa aa aa -aH +cG aV bp bw @@ -3255,7 +3129,7 @@ aa aa aa aa -aH +cG aW bp bv @@ -3264,7 +3138,7 @@ bZ bZ bZ dc -dh +dy dB dB dB @@ -3306,7 +3180,7 @@ aa aa aa aa -aH +cG aV bp bv @@ -3315,7 +3189,7 @@ ca cq cq dd -dh +dy dB eh eh @@ -3357,7 +3231,7 @@ aa aa aa aa -aH +cG aX bp bx @@ -3366,7 +3240,7 @@ cb cq cJ dd -dh +dy dB eh ey @@ -3417,7 +3291,7 @@ cc cq cq de -dh +dy dB eh ej @@ -3468,7 +3342,7 @@ ca cr cq dd -dh +dy dB ei ei @@ -3519,7 +3393,7 @@ cd cd cd df -dh +dy dL ej ej @@ -3624,7 +3498,7 @@ ce ce ce ek -dh +dy ce ce fg @@ -3717,7 +3591,7 @@ am aa am aq -aZ +gt aq cf cs @@ -3726,7 +3600,7 @@ ce ce ce ce -dh +dy ce ce ce @@ -3766,9 +3640,9 @@ am aa aa am -aZ +gt at -ba +ha aq cg cs @@ -3816,15 +3690,15 @@ aa aa am am -aJ -aK -ba +gL +hg +ha at aq ch cs cN -dh +dy ce dO ce @@ -3833,7 +3707,7 @@ ce ce dO ce -dh +dy ce fm at @@ -3867,15 +3741,15 @@ aa aa ap aq -aK +hg at -aK +hg by aq ci ct cO -dh +dy dA dP el @@ -3884,7 +3758,7 @@ ce dA fi fB -dh +dy ce fm gt @@ -3919,14 +3793,14 @@ aa aq as at -ba +ha at bz aq ce ce ce -dh +dy dB dQ dB @@ -3935,7 +3809,7 @@ eL dB fj dB -dh +dy ce fm gs @@ -3971,13 +3845,13 @@ aq at at bb -ba +ha at bK ce ce ce -dh +dy dB dP dB @@ -3986,7 +3860,7 @@ ce dB fk dB -dh +dy fV fm gu @@ -4028,7 +3902,7 @@ bK ce ce ce -dh +dy dB dP dB @@ -4037,7 +3911,7 @@ ce dB fk dB -dh +dy ce fm at @@ -4079,7 +3953,7 @@ bK ce ce ce -dh +dy dB dP dB @@ -4088,7 +3962,7 @@ ce dB fk dB -dh +dy ce fm gs @@ -4130,7 +4004,7 @@ aq cj cu ce -dh +dy dB dP dB @@ -4139,7 +4013,7 @@ ce dB fk dB -dh +dy ce fm gt @@ -4181,7 +4055,7 @@ aq ck cu ce -dh +dy dB dR dB @@ -4190,7 +4064,7 @@ ce dB dR dB -dh +dy ce fm gv @@ -4232,7 +4106,7 @@ aq cl ce cP -dh +dy dB dS dB @@ -4241,7 +4115,7 @@ ce dB dS dB -dh +dy fV fm gw @@ -4276,7 +4150,7 @@ aa aq az at -bd +gV at bA aq @@ -4327,7 +4201,7 @@ aa aq aA at -bd +gV at bB aq @@ -4339,7 +4213,7 @@ ce dU em ce -dh +dy eW fl ce @@ -4348,7 +4222,7 @@ ce fm gy at -bd +gV at hi fm @@ -4390,7 +4264,7 @@ aq aq en ce -dh +dy eX fm fm @@ -4423,7 +4297,7 @@ aa aa aa ac -af +ho aj an ac @@ -4441,7 +4315,7 @@ cw cw eo cw -eN +fD eo cw cw @@ -4450,11 +4324,11 @@ ac cE gz gg -gB +gX cE hj -ad -af +ht +ho aj hu dk @@ -4473,7 +4347,7 @@ aa aa aa aa -ad +ht ag ah ag @@ -4481,7 +4355,7 @@ ac aC al bg -br +fR bD bM ac @@ -4501,10 +4375,10 @@ ac cE cE cE -gB +gX cE hk -ad +ht ag ah ag @@ -4524,7 +4398,7 @@ aa aa aa aa -ad +ht ah ah ao @@ -4546,16 +4420,16 @@ eD eD eq fn -eN +fD cw fY cE al cE -gB +gX hb cE -ad +ht hp ah ah @@ -4575,7 +4449,7 @@ aa aa aa aa -ad +ht ac ak ac @@ -4584,7 +4458,7 @@ aE aN bh al -bF +dm bO ac cx @@ -4597,16 +4471,16 @@ al er eY fo -eN +fD cw ac cE cE gN -gB +gX hc al -ad +ht ac ak ac @@ -4626,7 +4500,7 @@ aa aa aa aa -ad +ht ai al al @@ -4635,7 +4509,7 @@ aF al al al -bF +dm bM ac cy @@ -4648,16 +4522,16 @@ eE al al fo -eN +fD cw ac gf cE cE -gB +gX cE cE -ad +ht hq al ai @@ -4678,7 +4552,7 @@ aa aa aa ae -ad +ht al al ar @@ -4702,7 +4576,7 @@ fp fE dj fZ -cD +dE gA gO gY @@ -4711,7 +4585,7 @@ cE fY al hs -ad +ht ae aa aa @@ -4730,14 +4604,14 @@ aa aa aa ae -ad +ht al ac aG al bi al -bF +dm bP ac cA @@ -4754,14 +4628,14 @@ cw fP ac gg -gB +gX cE cE cE cE -ad +ht hr -ad +ht ae aa aa @@ -4782,13 +4656,13 @@ aa aa aa ae -ad -ad +ht +ht aG al bj al -bF +dm bQ ac cB @@ -4805,12 +4679,12 @@ fF fQ ac gh -gB +gX gN cE gN cE -ad +ht ac ae aa @@ -4834,34 +4708,34 @@ aa aa aa ae -ad +ht aG al bk al -bF +dm bR -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +ht +ht +ht +ht +ht +ht +ht +ht +ht +ht +ht +ht +ht +ht gi -gB +gX cE cE cE cE -ad +ht ae aa aa @@ -4885,12 +4759,12 @@ aa aa aa aa -ad +ht aG al al al -bF +dm bS ac cC @@ -4907,12 +4781,12 @@ cV cV ac gf -gB +gX cE -ad +ht hd -ad -ad +ht +ht aa aa aa @@ -4936,7 +4810,7 @@ aa aa aa aa -ad +ht aG aO al @@ -4944,26 +4818,26 @@ al bg bT cn -cD -cD +dE +dE dl -cD +dE dZ dZ -cD -cD +dE +dE fa dZ -cD -br +dE +fR ga -cD +dE gC cE -ad +ht he hl -ad +ht aa aa aa @@ -4988,16 +4862,16 @@ aa aa aa ae -ad +ht aP aP bs bH bU -ad +ht cE cC -bF +dm al al al @@ -5011,9 +4885,9 @@ ac gj gD gP -ad +ht hf -hm +ht ae aa aa @@ -5040,30 +4914,30 @@ aa aa aa ae -ad -ad -ad -ad -ad -ad -ad +ht +ht +ht +ht +ht +ht +ht cC dn -br +fR ea -br -br +fR +fR eQ al fq cC -ad -ad -ad -ad -ad -ad -ad +ht +ht +ht +ht +ht +ht +ht ae aa aa @@ -5108,7 +4982,7 @@ eb al al fG -ad +ht ae aa aa @@ -5151,15 +5025,15 @@ aa ac cX dp -dF +eu ec -dF -dF +eu +eu eR cX fr fH -ad +ht aa aa aa @@ -5200,17 +5074,17 @@ aa aa aa ac -ad -ad +ht +ht ak -ad -ad +ht +ht ac -ad +ht fb -ad -ad -ad +ht +ht +ht aa aa aa @@ -5251,16 +5125,16 @@ aa aa aa ae -ad +ht dq ah ah -ad -ad +ht +ht eS ah fs -ad +ht ae aa aa @@ -5302,16 +5176,16 @@ aa aa aa aa -ad +ht dr dr dr -ad -ad +ht +ht dr dr dr -ad +ht aa aa aa diff --git a/_maps/RandomRuins/SpaceRuins/derelict6.dmm b/_maps/RandomRuins/SpaceRuins/derelict6.dmm index 6b714814af..c1ba9f561c 100644 --- a/_maps/RandomRuins/SpaceRuins/derelict6.dmm +++ b/_maps/RandomRuins/SpaceRuins/derelict6.dmm @@ -11,16 +11,8 @@ icon_plating = "platingdmg3"; icon_state = "platingdmg3" }, -/turf/open/floor/plating/airless{ - icon_plating = "platingdmg2"; - icon_state = "platingdmg2" - }, /area/ruin/unpowered) "ad" = ( -/turf/open/floor/plating/airless{ - icon_plating = "platingdmg3"; - icon_state = "platingdmg3" - }, /obj/structure/girder, /turf/open/floor/plating/airless{ icon_plating = "platingdmg2"; @@ -33,10 +25,6 @@ /turf/template_noop, /area/template_noop) "af" = ( -/turf/open/floor/plating/airless{ - icon_plating = "platingdmg3"; - icon_state = "platingdmg3" - }, /obj/item/stack/sheet/metal, /turf/open/floor/plating/airless{ icon_plating = "platingdmg2"; @@ -63,10 +51,6 @@ /turf/template_noop, /area/template_noop) "ak" = ( -/turf/open/floor/plating/airless{ - icon_plating = "platingdmg3"; - icon_state = "platingdmg3" - }, /obj/item/stack/rods, /turf/open/floor/plating/airless{ icon_plating = "platingdmg2"; @@ -116,7 +100,6 @@ /turf/open/floor/plating/airless, /area/ruin/unpowered) "as" = ( -/turf/open/floor/plating/airless, /obj/item/stack/sheet/metal, /turf/open/floor/plating/airless{ icon_plating = "platingdmg2"; @@ -147,7 +130,6 @@ /turf/open/floor/plasteel/airless, /area/ruin/unpowered) "ay" = ( -/turf/open/floor/plating/airless, /obj/item/stack/tile/plasteel, /turf/open/floor/plating/airless{ icon_plating = "platingdmg2"; @@ -328,9 +310,6 @@ /turf/open/floor/plasteel/airless/bar, /area/ruin/unpowered) "be" = ( -/turf/open/floor/plasteel/bar{ - initial_gas_mix = "TEMP=2.7" - }, /turf/open/floor/plating/airless{ icon_plating = "platingdmg2"; icon_state = "platingdmg2" diff --git a/_maps/RandomRuins/SpaceRuins/vaporwave.dmm b/_maps/RandomRuins/SpaceRuins/vaporwave.dmm index 3a4010784a..896a34e5db 100644 --- a/_maps/RandomRuins/SpaceRuins/vaporwave.dmm +++ b/_maps/RandomRuins/SpaceRuins/vaporwave.dmm @@ -162,7 +162,6 @@ /turf/open/floor/plating/asteroid/airless, /area/ruin/unpowered/no_grav) "I" = ( -/turf/open/space, /obj/effect/turf_decal/sand, /turf/open/floor/plasteel/airless/asteroid, /area/ruin/unpowered/no_grav) diff --git a/_maps/RandomZLevels/caves.dmm b/_maps/RandomZLevels/caves.dmm index 06ef5c5c79..b1e840ac15 100644 --- a/_maps/RandomZLevels/caves.dmm +++ b/_maps/RandomZLevels/caves.dmm @@ -137,9 +137,6 @@ }, /area/awaymission/caves/BMP_asteroid/level_four) "ax" = ( -/turf/open/floor/engine/cult{ - initial_gas_mix = "n2=23;o2=14" - }, /turf/closed/wall/mineral/cult, /area/awaymission/caves/BMP_asteroid/level_four) "ay" = ( @@ -377,9 +374,6 @@ }, /area/awaymission/caves/BMP_asteroid/level_three) "bd" = ( -/turf/open/floor/plating/asteroid/basalt/lava{ - initial_gas_mix = "n2=23;o2=14" - }, /turf/closed/wall/mineral/cult, /area/awaymission/caves/BMP_asteroid/level_four) "be" = ( diff --git a/_maps/RandomZLevels/centcomAway.dmm b/_maps/RandomZLevels/centcomAway.dmm index 1a58d927e3..94f830e139 100644 --- a/_maps/RandomZLevels/centcomAway.dmm +++ b/_maps/RandomZLevels/centcomAway.dmm @@ -350,9 +350,6 @@ }, /area/awaymission/centcomAway/hangar) "bn" = ( -/turf/open/floor/plasteel/vault{ - dir = 5 - }, /turf/closed/wall/mineral/titanium/interior, /area/awaymission/centcomAway/hangar) "bo" = ( @@ -1884,7 +1881,6 @@ /turf/open/floor/plasteel/dark, /area/awaymission/centcomAway/hangar) "gS" = ( -/turf/open/floor/plating, /obj/structure/shuttle/engine/propulsion/burst{ dir = 8 }, diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm index f4737a3d7c..528f5f7321 100644 --- a/_maps/RandomZLevels/moonoutpost19.dmm +++ b/_maps/RandomZLevels/moonoutpost19.dmm @@ -5685,10 +5685,6 @@ }, /area/awaymission/moonoutpost19/arrivals) "lc" = ( -/turf/open/floor/plating/asteroid{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251"; - heat_capacity = 1e+006 - }, /turf/closed/wall/mineral/titanium/interior, /area/awaymission/moonoutpost19/arrivals) "ld" = ( diff --git a/_maps/RandomZLevels/research.dmm b/_maps/RandomZLevels/research.dmm index b98b064142..6c9a86a7cc 100644 --- a/_maps/RandomZLevels/research.dmm +++ b/_maps/RandomZLevels/research.dmm @@ -20,8 +20,7 @@ /area/awaymission/research/exterior) "ag" = ( /turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" + dir = 8 }, /area/awaymission/research/interior/engineering) "ah" = ( @@ -42,8 +41,7 @@ /area/awaymission/research/interior/engineering) "ak" = ( /turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" + dir = 1 }, /area/awaymission/research/interior/engineering) "al" = ( @@ -231,9 +229,7 @@ /turf/open/floor/plasteel{ icon_state = "damaged4" }, -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, +/turf/closed/wall/mineral/plastitanium, /area/awaymission/research/interior/engineering) "aT" = ( /mob/living/simple_animal/hostile/syndicate/melee, @@ -244,8 +240,7 @@ icon_state = "damaged1" }, /turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" + dir = 4 }, /area/awaymission/research/interior/engineering) "aV" = ( @@ -303,9 +298,7 @@ /turf/open/floor/plasteel{ icon_state = "damaged5" }, -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, +/turf/closed/wall/mineral/plastitanium, /area/awaymission/research/interior/engineering) "bd" = ( /turf/open/floor/plasteel{ @@ -320,12 +313,8 @@ }, /area/awaymission/research/interior/engineering) "bf" = ( -/turf/open/floor/plasteel{ - icon_state = "damaged3" - }, /turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" + dir = 4 }, /area/awaymission/research/interior/engineering) "bg" = ( @@ -4041,7 +4030,6 @@ /turf/closed/wall/mineral/titanium, /area/awaymission/research/exterior) "mf" = ( -/turf/open/floor/plating/asteroid/airless, /obj/structure/shuttle/engine/propulsion/burst{ dir = 4 }, @@ -4152,7 +4140,6 @@ /turf/closed/wall/mineral/titanium/interior, /area/awaymission/research/exterior) "mz" = ( -/turf/open/floor/plating/asteroid/airless, /obj/structure/shuttle/engine/propulsion/burst{ dir = 8 }, @@ -4357,6 +4344,12 @@ "ne" = ( /turf/open/floor/mineral/plasma, /area/space/nearstation) +"nf" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/awaymission/research/interior/engineering) +"ng" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/awaymission/research/interior/engineering) (1,1,1) = {" aa @@ -41728,7 +41721,7 @@ ap ap an aJ -al +nf bc bp bH @@ -42499,7 +42492,7 @@ aq ay an aL -al +ng bf bs bK diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm index 84c91c3dd7..2df265cda6 100644 --- a/_maps/RandomZLevels/snowdin.dmm +++ b/_maps/RandomZLevels/snowdin.dmm @@ -1464,7 +1464,6 @@ /turf/open/floor/plating/ice/colder, /area/awaymission/snowdin/dungeon1) "eK" = ( -/turf/open/space, /obj/structure/girder, /turf/open/floor/plating/snowed, /area/awaymission/snowdin/post) diff --git a/_maps/RandomZLevels/spacebattle.dmm b/_maps/RandomZLevels/spacebattle.dmm index 9f3b0c8fc1..d1b199e8a3 100644 --- a/_maps/RandomZLevels/spacebattle.dmm +++ b/_maps/RandomZLevels/spacebattle.dmm @@ -5,12 +5,6 @@ "ab" = ( /turf/open/space, /area/space) -"ac" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate2) "ad" = ( /obj/structure/shuttle/engine/propulsion/right{ dir = 1 @@ -29,12 +23,6 @@ }, /turf/open/space, /area/awaymission/spacebattle/syndicate2) -"ag" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate2) "ah" = ( /turf/closed/wall/mineral/plastitanium, /area/awaymission/spacebattle/syndicate2) @@ -98,12 +86,6 @@ /obj/machinery/door/unpowered/shuttle, /turf/open/floor/mineral/titanium/blue, /area/awaymission/spacebattle/syndicate2) -"av" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate3) "aw" = ( /obj/structure/shuttle/engine/propulsion/right{ dir = 1 @@ -122,12 +104,6 @@ }, /turf/open/space, /area/awaymission/spacebattle/syndicate3) -"az" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate3) "aA" = ( /obj/structure/table/reinforced, /obj/item/gun/ballistic/automatic/pistol, @@ -150,11 +126,6 @@ /obj/machinery/door/airlock/external, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate3) -"aF" = ( -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate2) "aG" = ( /mob/living/simple_animal/hostile/syndicate/melee{ deathmessage = "\[src] falls limp as they release their grip from the energy weapons, activating their self-destruct function!"; @@ -162,12 +133,6 @@ }, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate2) -"aH" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate2) "aI" = ( /obj/structure/table/reinforced, /obj/item/clothing/suit/space/hardsuit/syndi, @@ -183,28 +148,10 @@ }, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate2) -"aL" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate2) "aM" = ( /obj/machinery/door/airlock/external, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate2) -"aN" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate2) -"aO" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate1) "aP" = ( /obj/structure/shuttle/engine/propulsion/right{ dir = 1 @@ -223,12 +170,6 @@ }, /turf/open/space, /area/awaymission/spacebattle/syndicate1) -"aS" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate1) "aT" = ( /obj/machinery/sleeper, /turf/open/floor/mineral/plastitanium, @@ -358,21 +299,10 @@ /obj/item/restraints/handcuffs, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate1) -"bq" = ( -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate3) "br" = ( /mob/living/simple_animal/hostile/syndicate, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate3) -"bs" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate3) "bt" = ( /obj/structure/table/reinforced, /obj/item/melee/transforming/energy/sword/saber/red, @@ -384,18 +314,6 @@ }, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate3) -"bv" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate3) -"bw" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate3) "bx" = ( /obj/structure/table/reinforced, /obj/item/clothing/head/helmet/swat, @@ -409,43 +327,20 @@ }, /turf/open/floor/plating, /area/awaymission/spacebattle/syndicate3) -"bz" = ( -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate1) "bA" = ( /obj/structure/chair, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate2) -"bB" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate1) "bC" = ( /obj/machinery/computer/shuttle{ dir = 1 }, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate1) -"bD" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate1) "bE" = ( /obj/machinery/door/airlock/external, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate1) -"bF" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate1) "bG" = ( /obj/machinery/porta_turret{ dir = 8; @@ -526,15 +421,6 @@ "bT" = ( /turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) -"bU" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) -"bV" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) -"bW" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) "bX" = ( /obj/structure/shuttle/engine/propulsion/burst/left{ dir = 8 @@ -576,9 +462,6 @@ /obj/machinery/door/unpowered/shuttle, /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) -"ce" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) "cf" = ( /obj/structure/shuttle/engine/propulsion{ dir = 8 @@ -589,14 +472,6 @@ /obj/structure/table/reinforced, /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) -"ch" = ( -/turf/open/floor/plasteel{ - icon_state = "damaged5" - }, -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/cruiser) "ci" = ( /obj/machinery/door/poddoor/preopen{ id = "spacebattlepod"; @@ -604,27 +479,10 @@ }, /turf/open/floor/plating, /area/awaymission/spacebattle/cruiser) -"cj" = ( -/turf/open/floor/plasteel{ - icon_state = "damaged4" - }, -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/cruiser) "ck" = ( /mob/living/simple_animal/hostile/syndicate, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate1) -"cl" = ( -/turf/open/floor/plasteel{ - icon_state = "damaged2" - }, -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/cruiser) "cm" = ( /turf/open/floor/plasteel{ icon_state = "damaged4" @@ -635,15 +493,6 @@ icon_state = "damaged3" }, /area/awaymission/spacebattle/cruiser) -"co" = ( -/turf/open/floor/plasteel{ - icon_state = "damaged5" - }, -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/cruiser) "cp" = ( /turf/open/floor/plasteel{ icon_state = "damaged1" @@ -661,15 +510,9 @@ /obj/effect/decal/cleanable/blood, /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) -"cs" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) "ct" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/awaymission/spacebattle/cruiser) -"cu" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) "cv" = ( /obj/machinery/power/smes/magical{ desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; @@ -790,9 +633,6 @@ /obj/item/stack/sheet/metal, /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) -"cR" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) "cS" = ( /obj/effect/mob_spawn/human/engineer{ mob_name = "Bill Sanchez"; @@ -916,20 +756,6 @@ /obj/effect/decal/cleanable/blood, /turf/open/floor/plasteel/bar, /area/awaymission/spacebattle/cruiser) -"do" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) -"dp" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) -"dq" = ( -/turf/open/floor/plasteel{ - icon_state = "damaged4" - }, -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/cruiser) "dr" = ( /obj/machinery/door/poddoor/preopen{ id = "spacebattlepod2"; @@ -937,28 +763,10 @@ }, /turf/open/floor/plating, /area/awaymission/spacebattle/cruiser) -"ds" = ( -/turf/open/floor/plasteel{ - icon_state = "damaged1" - }, -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/cruiser) -"dt" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) "du" = ( /obj/effect/decal/cleanable/blood, /turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) -"dv" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) -"dw" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) "dx" = ( /obj/structure/chair, /turf/open/floor/plasteel/bar, @@ -1018,15 +826,6 @@ }, /turf/open/floor/engine, /area/awaymission/spacebattle/cruiser) -"dI" = ( -/turf/open/floor/plasteel{ - icon_state = "damaged3" - }, -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/cruiser) "dJ" = ( /obj/item/stack/rods, /turf/open/floor/plasteel, @@ -1221,21 +1020,9 @@ }, /turf/open/floor/plasteel/bar, /area/awaymission/spacebattle/cruiser) -"eq" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate4) "er" = ( /turf/closed/wall/mineral/plastitanium, /area/awaymission/spacebattle/syndicate4) -"es" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate4) "et" = ( /obj/machinery/gateway{ dir = 10 @@ -1279,9 +1066,6 @@ }, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate1) -"eB" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) "eC" = ( /obj/structure/table/reinforced, /turf/open/floor/plasteel/blue/side{ @@ -1298,12 +1082,6 @@ /obj/structure/table/reinforced, /turf/open/floor/plasteel/blue, /area/awaymission/spacebattle/cruiser) -"eF" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/end{ - dir = 1 - }, -/turf/open/floor/plating, -/area/awaymission/spacebattle/cruiser) "eG" = ( /obj/structure/chair, /turf/open/floor/mineral/plastitanium, @@ -1317,12 +1095,6 @@ /obj/effect/decal/cleanable/blood, /turf/open/floor/plating/airless, /area/awaymission/spacebattle/cruiser) -"eI" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) -"eJ" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) "eK" = ( /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate4) @@ -1351,12 +1123,6 @@ }, /turf/open/floor/plasteel/blue, /area/awaymission/spacebattle/cruiser) -"eQ" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 4 - }, -/turf/open/floor/plating, -/area/awaymission/spacebattle/cruiser) "eR" = ( /obj/machinery/sleeper, /turf/open/floor/mineral/plastitanium, @@ -1468,9 +1234,6 @@ /obj/machinery/computer/security/telescreen, /turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) -"fk" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) "fl" = ( /obj/machinery/door/airlock/external, /turf/open/floor/mineral/plastitanium, @@ -1889,17 +1652,6 @@ /obj/item/gun/ballistic/shotgun/automatic/combat, /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) -"gA" = ( -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate4) -"gB" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate4) "gC" = ( /obj/structure/closet/crate/secure/weapon, /obj/item/gun/energy/laser, @@ -1911,10 +1663,6 @@ /obj/item/stack/spacecash/c10, /turf/open/floor/plating, /area/awaymission/spacebattle/cruiser) -"gE" = ( -/obj/effect/decal/cleanable/blood, -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) "gF" = ( /obj/effect/mob_spawn/human/doctor{ mob_name = "Adam Smith"; @@ -1975,12 +1723,6 @@ }, /turf/open/floor/plating/airless, /area/awaymission/spacebattle/syndicate7) -"gQ" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate7) "gR" = ( /obj/structure/shuttle/engine/heater, /obj/structure/window/reinforced{ @@ -2039,12 +1781,6 @@ /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, /area/awaymission/spacebattle/cruiser) -"hb" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate7) "hc" = ( /turf/closed/wall/mineral/plastitanium, /area/awaymission/spacebattle/syndicate7) @@ -2198,15 +1934,6 @@ icon_state = "damaged3" }, /area/awaymission/spacebattle/cruiser) -"hG" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate7) -"hH" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) "hI" = ( /obj/structure/table/reinforced, /turf/open/floor/plasteel/white, @@ -2308,16 +2035,10 @@ /obj/item/storage/firstaid/fire, /turf/open/floor/plasteel/white, /area/awaymission/spacebattle/cruiser) -"ia" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) "ib" = ( /obj/machinery/door/unpowered/shuttle, /turf/open/floor/plasteel/freezer, /area/awaymission/spacebattle/cruiser) -"ic" = ( -/turf/closed/wall/mineral/titanium, -/area/awaymission/spacebattle/cruiser) "id" = ( /obj/item/storage/firstaid/regular, /turf/open/floor/plasteel/white, @@ -2382,11 +2103,6 @@ /obj/machinery/sleep_console, /turf/open/floor/plasteel/white, /area/awaymission/spacebattle/cruiser) -"in" = ( -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate7) "io" = ( /obj/structure/sink{ dir = 4; @@ -2456,12 +2172,6 @@ "iz" = ( /turf/closed/wall/mineral/plastitanium, /area/space/nearstation) -"iA" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/space/nearstation) "iB" = ( /obj/machinery/sleeper, /turf/open/floor/mineral/plastitanium/airless, @@ -2487,21 +2197,9 @@ /obj/item/stack/rods, /turf/open/floor/mineral/plastitanium/airless, /area/space/nearstation) -"iH" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate5) "iI" = ( /turf/closed/wall/mineral/plastitanium, /area/awaymission/spacebattle/syndicate5) -"iJ" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate5) "iK" = ( /obj/machinery/sleeper, /turf/open/floor/plasteel/airless, @@ -2513,17 +2211,6 @@ /obj/machinery/computer/shuttle, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate5) -"iN" = ( -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/space/nearstation) -"iO" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/space/nearstation) "iP" = ( /obj/machinery/sleeper, /turf/open/floor/mineral/plastitanium, @@ -2550,17 +2237,6 @@ /obj/machinery/door/airlock/external, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate5) -"iU" = ( -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate5) -"iV" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate5) "iW" = ( /obj/structure/shuttle/engine/heater, /obj/structure/window/reinforced{ @@ -2572,21 +2248,9 @@ /obj/structure/shuttle/engine/propulsion, /turf/open/space, /area/awaymission/spacebattle/syndicate5) -"iY" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate6) "iZ" = ( /turf/closed/wall/mineral/plastitanium, /area/awaymission/spacebattle/syndicate6) -"ja" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate6) "jb" = ( /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate6) @@ -2609,17 +2273,6 @@ /obj/machinery/door/airlock/external, /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate6) -"jg" = ( -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate6) -"jh" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/awaymission/spacebattle/syndicate6) "ji" = ( /obj/structure/shuttle/engine/heater, /obj/structure/window/reinforced{ @@ -2952,12 +2605,6 @@ }, /turf/open/floor/plating, /area/awaymission/spacebattle/cruiser) -"ko" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/end{ - dir = 1 - }, -/turf/open/floor/engine/vacuum, -/area/awaymission/spacebattle/cruiser) "kp" = ( /obj/structure/rack, /obj/item/gun/energy/xray, @@ -3089,6 +2736,27 @@ /obj/effect/mapping_helpers/planet_z, /turf/closed/mineral/random, /area/space/nearstation) +"vw" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/awaymission/spacebattle/syndicate5) +"zS" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/awaymission/spacebattle/syndicate6) +"BO" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/awaymission/spacebattle/syndicate2) +"Dv" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/awaymission/spacebattle/syndicate3) +"UZ" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/awaymission/spacebattle/syndicate1) +"Wv" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/awaymission/spacebattle/cruiser) +"Yq" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/awaymission/spacebattle/syndicate4) (1,1,1) = {" aa @@ -15808,14 +15476,14 @@ ab ab ab ab -eq +er er er fl fl er er -gA +er ab ab ab @@ -16064,16 +15732,16 @@ ab ab ab ab -eq er +Yq eK eK eK eK eK eR +Yq er -gA ab ab ab @@ -16320,8 +15988,8 @@ ab ab ab ab -eq er +Yq eR eK eK @@ -16330,8 +15998,8 @@ eK eK eK eR +Yq er -gA ab ab ab @@ -16589,7 +16257,7 @@ eK eK eR er -gA +er ab ab ab @@ -17874,7 +17542,7 @@ eK eK eR er -gB +er ab ab ab @@ -18119,8 +17787,8 @@ ab ab ab ab -es er +Yq eR eK eK @@ -18129,8 +17797,8 @@ eK eK eK eR +Yq er -gB ab ab ab @@ -18377,16 +18045,16 @@ ab ab ab ab -es er +Yq eK eK eK eK eK eR +Yq er -gB ab ab ab @@ -18635,14 +18303,14 @@ ab ab ab ab -es +er er er fl fl er er -gB +er ab ab ab @@ -21382,7 +21050,7 @@ ab ab ab ab -aO +aU aU aU bb @@ -21405,7 +21073,8 @@ aU aU aU aU -bz +aU +aU ab ab ab @@ -21500,15 +21169,14 @@ ab ab ab ab -ab -iH +iI iI iI iT iT iI iI -iU +iI ab ab ab @@ -21662,9 +21330,9 @@ bx aU bh bh +UZ aU aU -bz ab ab ab @@ -21757,16 +21425,16 @@ ab ab ab ab -iH iI +vw iL iL iL iL iL iP +vw iI -iU ab ab ab @@ -21925,7 +21593,7 @@ aU aU aU aU -bz +aU ab ab ab @@ -22013,8 +21681,8 @@ ab ab ab ab -iH iI +vw iP iL iL @@ -22023,8 +21691,8 @@ iL iL iL iP +vw iI -iU ab ab ab @@ -22282,7 +21950,7 @@ iL iL iP iI -iU +iI ab ab ab @@ -22434,13 +22102,13 @@ aU aY aY aY -bD +UZ +aU aU aU aU aU aU -bz ab ab ab @@ -22733,7 +22401,7 @@ bM bM bM bM -ch +bM cc cp cc @@ -22990,8 +22658,8 @@ bQ bO bO cb +Wv bM -cl cc cL cc @@ -23567,7 +23235,7 @@ iL iL iP iI -iV +iI ab ab ab @@ -23761,8 +23429,8 @@ bR dN kj bO +Wv bM -co cx cN cM @@ -23812,8 +23480,8 @@ ab ab ab ab -iJ iI +vw iP iL iL @@ -23822,8 +23490,8 @@ iL iL iL iP +vw iI -iV ab ab ab @@ -24018,7 +23686,7 @@ bM bM bM bM -cj +bM cp cc cN @@ -24070,16 +23738,16 @@ ab ab ab ab -iJ iI +vw iL iL iL iL iL iP +vw iI -iV ab ab ab @@ -24233,13 +23901,13 @@ aU aY aY aY -bF +UZ +aU aU aU aU aU aU -bB ab ab ab @@ -24328,14 +23996,14 @@ ab ab ab ab -iJ +iI iI iI iT iT iI iI -iV +iI ab ab ab @@ -24752,7 +24420,7 @@ aU aU aU aU -bB +aU ab ab ab @@ -25003,9 +24671,9 @@ bf aU bh bh +UZ aU aU -bB ab ab ab @@ -25237,7 +24905,7 @@ ab ab ab ab -aS +aU aU aU bb @@ -25260,8 +24928,8 @@ aU aU aU aU -bB -ab +aU +aU ab ab ab @@ -27694,14 +27362,14 @@ ab ab ab ab -iY +iZ iZ iZ jf jf iZ iZ -jg +iZ ab ab ab @@ -27950,16 +27618,16 @@ ab ab ab ab -iY iZ +zS jb jb jb jb jb jd +zS iZ -jg ab ab ab @@ -28206,8 +27874,8 @@ ab ab ab ab -iY iZ +zS jd jb jb @@ -28216,8 +27884,8 @@ jb jb jb jd +zS iZ -jg ab ab ab @@ -28475,7 +28143,7 @@ jb jb jd iZ -jg +iZ ab ab ab @@ -29760,7 +29428,7 @@ jb jb jd iZ -jh +iZ ab ab ab @@ -30005,8 +29673,8 @@ ab ab ab ab -ja iZ +zS jd jb jb @@ -30015,8 +29683,8 @@ jb jb jb jd +zS iZ -jh ab ab ab @@ -30263,16 +29931,16 @@ ab ab ab ab -ja iZ +zS jb jb jb jb jb jd +zS iZ -jh ab ab ab @@ -30521,14 +30189,14 @@ ab ab ab ab -ja +iZ iZ iZ jf jf iZ iZ -jh +iZ ab ab ab @@ -36777,7 +36445,7 @@ ab ab ab ab -ac +ah ah ah ak @@ -36800,8 +36468,8 @@ ah ah ah ah -aF -ab +ah +ah ab ab ab @@ -37057,9 +36725,9 @@ an ah ao ao +BO ah ah -aF ab ab ab @@ -37320,7 +36988,7 @@ ah ah ah ah -aF +ah ab ab ab @@ -37829,13 +37497,13 @@ ah aG aj aj -aL +BO +ah ah ah ah ah ah -aF ab ab ab @@ -38087,7 +37755,6 @@ aj aj aj ah -ac ah ah ah @@ -38096,7 +37763,8 @@ ah ah ah ah -aF +ah +ah ab ab ab @@ -38353,8 +38021,8 @@ aZ aZ aj bj +BO ah -aF ab ab ab @@ -39124,8 +38792,8 @@ ba ba aj aj +BO ah -aH ab ab ab @@ -39372,7 +39040,6 @@ aj aj aj ah -ag ah ah ah @@ -39381,7 +39048,8 @@ ah ah ah ah -aH +ah +ah ab ab ab @@ -39628,13 +39296,13 @@ ah aj aj aj -aN +BO +ah ah ah ah ah ah -aH ab ab ab @@ -40147,7 +39815,7 @@ ah ah ah ah -aH +ah ab ab ab @@ -40398,9 +40066,9 @@ aA ah ao ao +BO ah ah -aH ab ab ab @@ -40632,7 +40300,7 @@ ab ab ab ab -ag +ah ah ah ak @@ -40655,8 +40323,8 @@ ah ah ah ah -aH -ab +ah +ah ab ab ab @@ -45915,7 +45583,7 @@ iF iF iz iz -iN +iz ab ab ab @@ -46173,7 +45841,7 @@ iC iC iK iz -iN +iz ab ab ab @@ -46431,7 +46099,7 @@ iC iC iB iz -iN +iz ab ab ab @@ -46689,7 +46357,7 @@ iC iC iB iz -iN +iz ab ab ab @@ -47974,7 +47642,7 @@ iC iC iB iz -iO +iz ab ab ab @@ -48230,7 +47898,7 @@ iC iC iB iz -iO +iz ab ab ab @@ -48477,7 +48145,7 @@ ab ab ab ab -iA +iz iz iC iC @@ -48486,7 +48154,7 @@ iC iC iB iz -iO +iz ab ab ab @@ -48735,14 +48403,14 @@ ab ab ab ab -iA +iz iz iz iF iF iz iz -iO +iz ab ab ab @@ -50159,7 +49827,7 @@ ab ab ab ab -av +aB aB aB aE @@ -50182,8 +49850,8 @@ aB aB aB aB -bq -ab +aB +aB ab ab ab @@ -50439,9 +50107,9 @@ aJ aB aT aT +Dv aB aB -bq ab ab ab @@ -50702,7 +50370,7 @@ aB aB aB aB -bq +aB ab ab ab @@ -51211,13 +50879,13 @@ aB aD aD aD -bv +Dv +aB aB aB aB aB aB -bq ab ab ab @@ -51524,7 +51192,7 @@ bM bM bM bM -dq +bM cm hR cc @@ -51781,8 +51449,8 @@ bQ bO bO dc +Wv bM -ch cp cc cc @@ -52552,8 +52220,8 @@ bR dN kj bO +Wv bM -dI cc ca cc @@ -52809,7 +52477,7 @@ bM bM bM bM -ds +bM cc cn cp @@ -53010,13 +52678,13 @@ aB aD db aD -bw +Dv +aB aB aB aB aB aB -bs ab ab ab @@ -53529,7 +53197,7 @@ aB aB aB aB -bs +aB ab ab ab @@ -53780,9 +53448,9 @@ aJ aB aT aT +Dv aB aB -bs ab ab ab @@ -54014,7 +53682,7 @@ ab ab ab ab -az +aB aB aB aE @@ -54037,8 +53705,8 @@ aB aB aB aB -bs -ab +aB +aB ab ab ab @@ -61820,7 +61488,7 @@ ab ab ab ab -hb +hc hi hu hu @@ -61828,7 +61496,7 @@ hu hu hu hu -in +hc ab ab ab @@ -62590,7 +62258,7 @@ ab ab ab ab -gQ +hc hc hk hk @@ -62600,7 +62268,7 @@ hk hk hk hc -hG +hc ab ab ab @@ -64390,15 +64058,15 @@ ab ab ab ab -gQ +hc hm hv -hG +hc ab -gQ +hc hm hv -hG +hc ab ab ab diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index f1b2f9bf66..eebfbcb040 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -57126,15 +57126,12 @@ /area/science/circuit) "Qpp" = ( /turf/closed/wall, -/turf/open/floor/circuit, /area/science/circuit) "Qpq" = ( /turf/closed/wall, -/turf/open/floor/circuit, /area/science/circuit) "Qpr" = ( /turf/closed/wall, -/turf/open/floor/circuit, /area/science/circuit) "Qps" = ( /turf/closed/wall/r_wall, @@ -57155,7 +57152,6 @@ /area/maintenance/starboard/aft) "Qpw" = ( /turf/closed/wall, -/turf/open/floor/circuit, /area/science/circuit) "Qpx" = ( /obj/structure/table/reinforced, @@ -57186,7 +57182,6 @@ /area/maintenance/starboard/aft) "QpB" = ( /turf/closed/wall, -/turf/open/floor/circuit, /area/science/circuit) "QpC" = ( /obj/structure/table/reinforced, @@ -57212,7 +57207,6 @@ /area/science/circuit) "QpG" = ( /turf/closed/wall, -/turf/open/floor/circuit, /area/science/circuit) "QpH" = ( /turf/open/floor/plasteel/white, @@ -57229,7 +57223,6 @@ /area/science/circuit) "QpK" = ( /turf/closed/wall, -/turf/open/floor/circuit, /area/science/circuit) "QpL" = ( /turf/open/floor/plasteel/white, @@ -57243,7 +57236,6 @@ /area/science/circuit) "QpO" = ( /turf/closed/wall, -/turf/open/floor/circuit, /area/science/circuit) "QpP" = ( /obj/machinery/light_switch{ @@ -57264,9 +57256,8 @@ /turf/open/floor/plasteel, /area/science/circuit) "QpS" = ( -/turf/closed/wall, /obj/structure/sign/nanotrasen, -/turf/open/floor/circuit, +/turf/closed/wall, /area/science/circuit) "QpT" = ( /obj/machinery/light{ @@ -57367,16 +57358,14 @@ /turf/open/floor/plating, /area/maintenance/starboard/aft) "Qqg" = ( -/turf/closed/wall, /obj/structure/sign/nanotrasen, -/turf/open/floor/circuit, +/turf/closed/wall, /area/science/circuit) "Qqh" = ( -/turf/open/floor/plasteel/white, /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/pen, -/turf/open/floor/circuit, +/turf/open/floor/plasteel/white, /area/science/circuit) "Qqi" = ( /obj/machinery/light{ @@ -57391,7 +57380,6 @@ /area/science/misc_lab) "Qqk" = ( /turf/closed/wall, -/turf/open/floor/circuit, /area/science/circuit) "Qql" = ( /obj/structure/table/reinforced, @@ -57413,7 +57401,6 @@ /area/science/circuit) "Qqo" = ( /turf/closed/wall, -/turf/open/floor/circuit, /area/science/circuit) "Qqp" = ( /obj/structure/table/reinforced, diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index dc82b90d33..e20c29861a 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -19457,7 +19457,6 @@ /turf/open/floor/plasteel/redyellow/side, /area/security/prison) "aPt" = ( -/turf/open/floor/plasteel/redyellow/side, /obj/machinery/vending/sustenance, /turf/open/floor/plating{ icon_state = "platingdmg2" @@ -59948,7 +59947,6 @@ /turf/open/floor/plating, /area/maintenance/starboard) "crA" = ( -/turf/open/floor/plating, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ icon_state = "platingdmg2" diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index 1297107dd7..d6a7308f19 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -2113,7 +2113,6 @@ /turf/open/floor/plasteel, /area/asteroid/nearstation) "aep" = ( -/turf/open/floor/plating, /turf/open/floor/plating{ icon_state = "platingdmg2" }, diff --git a/_maps/shuttles/emergency_mini.dmm b/_maps/shuttles/emergency_mini.dmm index 6a4d35124c..d7d5644336 100644 --- a/_maps/shuttles/emergency_mini.dmm +++ b/_maps/shuttles/emergency_mini.dmm @@ -195,7 +195,6 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "F" = ( -/turf/closed/wall/mineral/titanium, /obj/structure/table, /obj/item/storage/firstaid/fire, /obj/item/storage/firstaid/regular{ @@ -204,7 +203,7 @@ }, /obj/item/crowbar, /obj/item/extinguisher, -/turf/open/floor/mineral/titanium, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "G" = ( /turf/closed/wall/mineral/titanium, @@ -246,11 +245,10 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "N" = ( -/turf/closed/wall/mineral/titanium, /obj/machinery/computer/security{ dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "O" = ( /obj/machinery/computer/crew{ diff --git a/_maps/templates/medium_shuttle1.dmm b/_maps/templates/medium_shuttle1.dmm index 07cad627cb..80833ada8d 100644 --- a/_maps/templates/medium_shuttle1.dmm +++ b/_maps/templates/medium_shuttle1.dmm @@ -20,19 +20,6 @@ "d" = ( /turf/closed/wall/mineral/plastitanium, /area/ruin/powered/shuttle/medium_1) -"e" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/ruin/powered/shuttle/medium_1) -"f" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/turf/closed/wall/mineral/titanium, -/area/ruin/powered/shuttle/medium_1) "g" = ( /turf/closed/wall/mineral/titanium, /area/ruin/powered/shuttle/medium_1) @@ -100,19 +87,6 @@ }, /turf/open/space, /area/ruin/powered/shuttle/medium_1) -"x" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/turf/closed/wall/mineral/titanium, -/area/ruin/powered/shuttle/medium_1) -"y" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/ruin/powered/shuttle/medium_1) (1,1,1) = {" a @@ -202,7 +176,7 @@ c (6,1,1) = {" d d -f +g g k g @@ -212,7 +186,7 @@ g g k g -x +g d d "} @@ -248,10 +222,10 @@ j j g d -y +d "} (9,1,1) = {" -e +d d g j @@ -264,12 +238,12 @@ g j j g -y +d a "} (10,1,1) = {" a -e +d g g g diff --git a/_maps/templates/medium_shuttle2.dmm b/_maps/templates/medium_shuttle2.dmm index 537d1db934..3b46d40382 100644 --- a/_maps/templates/medium_shuttle2.dmm +++ b/_maps/templates/medium_shuttle2.dmm @@ -20,37 +20,18 @@ "d" = ( /turf/closed/wall/mineral/plastitanium, /area/ruin/powered/shuttle/medium_2) -"e" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/ruin/powered/shuttle/medium_2) "f" = ( /obj/structure/shuttle/engine/propulsion/burst/right{ dir = 8 }, /turf/open/space, /area/ruin/powered/shuttle/medium_2) -"g" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/turf/closed/wall/mineral/titanium, -/area/ruin/powered/shuttle/medium_2) "h" = ( /turf/closed/wall/mineral/titanium, /area/ruin/powered/shuttle/medium_2) "i" = ( /turf/closed/wall/mineral/titanium/overspace, /area/ruin/powered/shuttle/medium_2) -"j" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/area/ruin/powered/shuttle/medium_2) "k" = ( /turf/open/floor/plasteel/dark, /area/ruin/powered/shuttle/medium_2) @@ -71,11 +52,6 @@ "p" = ( /turf/open/floor/plasteel/darkyellow, /area/ruin/powered/shuttle/medium_2) -"q" = ( -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/ruin/powered/shuttle/medium_2) "r" = ( /obj/structure/table, /turf/open/floor/plasteel, @@ -114,19 +90,6 @@ }, /turf/open/floor/plasteel/darkyellow, /area/ruin/powered/shuttle/medium_2) -"z" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/turf/closed/wall/mineral/titanium, -/area/ruin/powered/shuttle/medium_2) -"A" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/ruin/powered/shuttle/medium_2) "B" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ruin/powered/shuttle/medium_2) @@ -179,15 +142,15 @@ a (4,1,1) = {" b f -j d d -q +d +d a -j d d -q +d +d b f "} @@ -196,11 +159,11 @@ c c d d -g +h h l h -z +h d d c @@ -209,7 +172,7 @@ c (6,1,1) = {" d d -g +h h h r @@ -217,7 +180,7 @@ m r h h -z +h d d "} @@ -238,7 +201,7 @@ d "} (8,1,1) = {" d -g +h h n h @@ -248,7 +211,7 @@ B h n h -z +h d "} (9,1,1) = {" @@ -267,7 +230,7 @@ h d "} (10,1,1) = {" -e +d h k k @@ -279,7 +242,7 @@ h k k h -A +d "} (11,1,1) = {" a diff --git a/_maps/templates/medium_shuttle3.dmm b/_maps/templates/medium_shuttle3.dmm index 263c52c416..6e9f935242 100644 --- a/_maps/templates/medium_shuttle3.dmm +++ b/_maps/templates/medium_shuttle3.dmm @@ -17,34 +17,13 @@ }, /turf/open/floor/plating/airless, /area/ruin/powered/shuttle/medium_3) -"e" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/area/ruin/powered/shuttle/medium_3) -"f" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/area/ruin/powered/shuttle/medium_3) "g" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, +/turf/closed/wall/mineral/plastitanium, /turf/closed/wall/mineral/titanium, /area/ruin/powered/shuttle/medium_3) "h" = ( /turf/closed/wall/mineral/titanium, /area/ruin/powered/shuttle/medium_3) -"i" = ( -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/turf/closed/wall/mineral/titanium, -/area/ruin/powered/shuttle/medium_3) "j" = ( /obj/machinery/door/airlock/external/glass, /turf/open/floor/plating, @@ -87,24 +66,10 @@ }, /turf/open/space, /area/ruin/powered/shuttle/medium_3) -"s" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 1; - icon_state = "diagonalWall3" - }, -/turf/closed/wall/mineral/titanium, -/area/ruin/powered/shuttle/medium_3) "t" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/ruin/powered/shuttle/medium_3) -"u" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 8; - icon_state = "diagonalWall3" - }, -/turf/closed/wall/mineral/titanium, -/area/ruin/powered/shuttle/medium_3) "v" = ( /obj/structure/table, /turf/open/floor/plasteel/darkyellow, @@ -118,11 +83,6 @@ }, /turf/open/floor/plasteel/darkyellow, /area/ruin/powered/shuttle/medium_3) -"y" = ( -/turf/closed/wall/mineral/plastitanium{ - icon_state = "diagonalWall3" - }, -/area/ruin/powered/shuttle/medium_3) "z" = ( /obj/machinery/sleeper, /turf/open/floor/plasteel/darkblue, @@ -130,12 +90,6 @@ "A" = ( /turf/open/floor/plasteel/dark, /area/ruin/powered/shuttle/medium_3) -"B" = ( -/turf/closed/wall/mineral/plastitanium{ - dir = 4; - icon_state = "diagonalWall3" - }, -/area/ruin/powered/shuttle/medium_3) "C" = ( /turf/open/floor/plasteel/darkblue, /area/ruin/powered/shuttle/medium_3) @@ -210,18 +164,18 @@ a a a a -e +c o c c -y +c a a -e +c c c o -y +c a a a @@ -233,7 +187,7 @@ a a a a -e +c c c c @@ -246,7 +200,7 @@ c c c c -y +c a a a @@ -256,22 +210,22 @@ a a a a -e -g -h -h -s -c -g -j -j -s c g h h -s -y +g +c +g +j +j +g +c +g +h +h +g +c a a a @@ -279,7 +233,7 @@ a (6,1,1) = {" a a -e +c c h k @@ -296,7 +250,7 @@ l k h c -y +c a a "} @@ -329,7 +283,7 @@ a c c c -i +g G l l @@ -342,7 +296,7 @@ l l l G -u +g c c c @@ -375,7 +329,7 @@ F (10,1,1) = {" a a -f +c c g G @@ -390,9 +344,9 @@ A G p G -s +g +c c -B a a "} @@ -447,9 +401,9 @@ a (13,1,1) = {" a a -e c -i +c +g G p G @@ -462,9 +416,9 @@ A G p G -u +g +c c -y a a "} @@ -510,7 +464,7 @@ l l l G -s +g c c c @@ -543,7 +497,7 @@ a (17,1,1) = {" a a -f +c c h k @@ -560,7 +514,7 @@ l k h c -B +c a a "} @@ -568,22 +522,22 @@ a a a a -f -i -h -h -u c -i +g +h +h +g +c +g j j -u +g c -i +g h h -u -B +g +c a a a @@ -593,7 +547,7 @@ a a a a -f +c c c c @@ -606,7 +560,7 @@ c c c c -B +c a a a @@ -618,18 +572,18 @@ a a a a -f +c q c c -B +c a a -f +c c c q -B +c a a a From 7a16f0a3efbcbe387330047c65255d629415a35a Mon Sep 17 00:00:00 2001 From: Robustin Date: Fri, 19 Jan 2018 09:40:09 -0500 Subject: [PATCH 03/59] Temperature Refactor and Fixes --- code/__DEFINES/atmospherics.dm | 20 ++++---- .../mob/living/carbon/human/species.dm | 37 +++++++------- code/modules/mob/living/carbon/life.dm | 19 ++++---- code/modules/mob/living/carbon/monkey/life.dm | 4 +- .../mob/living/simple_animal/simple_animal.dm | 2 +- .../chemistry/reagents/food_reagents.dm | 48 ++++++++++--------- 6 files changed, 71 insertions(+), 59 deletions(-) diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index 0c735844f8..6f4aa69277 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -86,16 +86,18 @@ #define HAZARD_LOW_PRESSURE 20 //This is when the black ultra-low pressure icon is displayed. (This one is set as a constant) #define TEMPERATURE_DAMAGE_COEFFICIENT 1.5 //This is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount. -#define BODYTEMP_AUTORECOVERY_DIVISOR 12 //This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive. -#define BODYTEMP_AUTORECOVERY_MINIMUM 10 //Minimum amount of kelvin moved toward 310.15K per tick. So long as abs(310.15 - bodytemp) is more than 50. -#define BODYTEMP_NORMAL 310.15 //98.6F, or 37C, the normal temprature of the human body. -#define BODYTEMP_COLD_DIVISOR 6 //Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster. -#define BODYTEMP_HEAT_DIVISOR 6 //Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster. -#define BODYTEMP_COOLING_MAX 30 //The maximum number of degrees that your body can cool in 1 tick, when in a cold area. -#define BODYTEMP_HEATING_MAX 30 //The maximum number of degrees that your body can heat up in 1 tick, when in a hot area. -#define BODYTEMP_HEAT_DAMAGE_LIMIT 360.15 // The limit the human body can take before it starts taking damage from heat. -#define BODYTEMP_COLD_DAMAGE_LIMIT 260.15 // The limit the human body can take before it starts taking damage from coldness. +#define BODYTEMP_NORMAL 310.15 //The natural temperature for a body +#define BODYTEMP_AUTORECOVERY_DIVISOR 11 //This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive. +#define BODYTEMP_AUTORECOVERY_MINIMUM 12 //Minimum amount of kelvin moved toward 310K per tick. So long as abs(310.15 - bodytemp) is more than 50. +#define BODYTEMP_COLD_DIVISOR 6 //Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster. +#define BODYTEMP_HEAT_DIVISOR 15 //Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster. +#define BODYTEMP_COOLING_MAX -100 //The maximum number of degrees that your body can cool in 1 tick, due to the environment, when in a cold area. +#define BODYTEMP_HEATING_MAX 30 //The maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area. + +#define BODYTEMP_HEAT_DAMAGE_LIMIT (BODYTEMP_NORMAL + 50) // The limit the human body can take before it starts taking damage from heat. +#define BODYTEMP_COLD_DAMAGE_LIMIT (BODYTEMP_NORMAL - 50) // The limit the human body can take before it starts taking damage from coldness. + #define SPACE_HELM_MIN_TEMP_PROTECT 2.0 //what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0. #define SPACE_HELM_MAX_TEMP_PROTECT 1500 //Thermal insulation works both ways /Malkevin diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 05cb67cdaa..987484bc8f 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1623,24 +1623,29 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/loc_temp = H.get_temperature(environment) - //Body temperature is adjusted in two steps. First, your body tries to stabilize itself a bit. - if(H.stat != DEAD) - H.natural_bodytemperature_stabilization() - - //Then, it reacts to the surrounding atmosphere based on your thermal protection + //Body temperature is adjusted in two parts: first there your body tries to naturally preserve homeostasis (shivering/sweating), then it reacts to the surrounding environment + //Thermal protection (insulation) has mixed benefits in two situations (hot in hot places, cold in hot places) if(!H.on_fire) //If you're on fire, you do not heat up or cool down based on surrounding gases - if(loc_temp < H.bodytemperature) - //Place is colder than we are - var/thermal_protection = H.get_cold_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. - if(thermal_protection < 1) - H.bodytemperature += min((1-thermal_protection) * ((loc_temp - H.bodytemperature) / BODYTEMP_COLD_DIVISOR), BODYTEMP_COOLING_MAX) - else - //Place is hotter than we are - var/thermal_protection = H.get_heat_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. - if(thermal_protection < 1) - H.bodytemperature += min((1-thermal_protection) * ((loc_temp - H.bodytemperature) / BODYTEMP_HEAT_DIVISOR), BODYTEMP_HEATING_MAX) + if((abs(BODYTEMP_NORMAL - H.bodytemperature) <= 5) && (abs(BODYTEMP_NORMAL - loc_temp) <= 25)) + return //Performance saver + var/natural = 0 + if(H.stat != DEAD) + natural = H.natural_bodytemperature_stabilization() + var/thermal_protection = 1 + if(loc_temp < H.bodytemperature) //Place is colder than we are + thermal_protection -= H.get_cold_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. + if(H.bodytemperature < BODYTEMP_NORMAL) //we're cold, insulation helps us retain body heat and will reduce the heat we lose to the environment + H.bodytemperature += (thermal_protection+1)*natural + max(thermal_protection * (loc_temp - H.bodytemperature) / BODYTEMP_COLD_DIVISOR, BODYTEMP_COOLING_MAX) + else //we're sweating, insulation hinders our ability to reduce heat - and it will reduce the amount of cooling you get from the environment + H.bodytemperature += natural*(1/(thermal_protection+1)) + max((thermal_protection * (loc_temp - H.bodytemperature) + BODYTEMP_NORMAL - H.bodytemperature) / BODYTEMP_COLD_DIVISOR , BODYTEMP_COOLING_MAX) //Extra calculation for hardsuits to bleed off heat + else //Place is hotter than we are + thermal_protection -= H.get_heat_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. + if(H.bodytemperature < BODYTEMP_NORMAL) //and we're cold, insulation enhances our ability to retain body heat but reduces the heat we get from the environment + H.bodytemperature += (thermal_protection+1)*natural + min(thermal_protection * (loc_temp - H.bodytemperature) / BODYTEMP_HEAT_DIVISOR, BODYTEMP_HEATING_MAX) + else //we're sweating, insulation hinders out ability to reduce heat - but will reduce the amount of heat we get from the environment + H.bodytemperature += natural*(1/(thermal_protection+1)) + min(thermal_protection * (loc_temp - H.bodytemperature) / BODYTEMP_HEAT_DIVISOR, BODYTEMP_HEATING_MAX) - // +/- 50 degrees from 310.15K is the 'safe' zone, where no damage is dealt. + // +/- 50 degrees from 310K is the 'safe' zone, where no damage is dealt. if(H.bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT && !(RESISTHOT in species_traits)) //Body temperature is too hot. var/burn_damage diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 0ac97fba5a..7595b5276b 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -396,15 +396,14 @@ /mob/living/carbon/proc/natural_bodytemperature_stabilization() var/body_temperature_difference = BODYTEMP_NORMAL - bodytemperature switch(bodytemperature) - if(-INFINITY to BODYTEMP_COLD_DAMAGE_LIMIT) //BODYTEMP_COLD_DAMAGE_LIMIT is BODYTEMP_NORMAL(310.15) - 50, the temperature where you start to feel effects. - bodytemperature += max((body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR), BODYTEMP_AUTORECOVERY_MINIMUM) + if(-INFINITY to BODYTEMP_COLD_DAMAGE_LIMIT) //Cold damage limit is 50 below the default, the temperature where you start to feel effects. + return max((body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR), BODYTEMP_AUTORECOVERY_MINIMUM) if(BODYTEMP_COLD_DAMAGE_LIMIT to BODYTEMP_NORMAL) - bodytemperature += max(body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR, min(body_temperature_difference, BODYTEMP_AUTORECOVERY_MINIMUM/4)) - if(BODYTEMP_NORMAL to BODYTEMP_HEAT_DAMAGE_LIMIT) - bodytemperature += min(body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR, max(body_temperature_difference, -BODYTEMP_AUTORECOVERY_MINIMUM/4)) - if(BODYTEMP_HEAT_DAMAGE_LIMIT to INFINITY) //BODYTEMP_HEAT_DAMAGE_LIMIT is BODYTEMP_NORMAL(310.15) + 50, the temperature where you start to feel effects. - //We totally need a sweat system cause it totally makes sense...~ - bodytemperature += min((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), -BODYTEMP_AUTORECOVERY_MINIMUM) //We're dealing with negative numbers + return max(body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR, min(body_temperature_difference, BODYTEMP_AUTORECOVERY_MINIMUM/4)) + if(BODYTEMP_NORMAL to BODYTEMP_HEAT_DAMAGE_LIMIT) // Heat damage limit is 50 above the default, the temperature where you start to feel effects. + return min(body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR, max(body_temperature_difference, -BODYTEMP_AUTORECOVERY_MINIMUM/4)) + if(BODYTEMP_HEAT_DAMAGE_LIMIT to INFINITY) + return min((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), -BODYTEMP_AUTORECOVERY_MINIMUM) //We're dealing with negative numbers ///////// //LIVER// ///////// @@ -460,4 +459,8 @@ death() var/obj/item/organ/brain/B = getorganslot(ORGAN_SLOT_BRAIN) if(B) +<<<<<<< HEAD B.damaged_brain = TRUE +======= + B.damaged_brain = TRUE +>>>>>>> 15864dc... Temperature Refactor and Fixes (#34133) diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index ca78e165c2..2b1f49cb7e 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -66,13 +66,13 @@ var/loc_temp = get_temperature(environment) if(stat != DEAD) - natural_bodytemperature_stabilization() + bodytemperature += natural_bodytemperature_stabilization() if(!on_fire) //If you're on fire, you do not heat up or cool down based on surrounding gases if(loc_temp < bodytemperature) bodytemperature += min(((loc_temp - bodytemperature) / BODYTEMP_COLD_DIVISOR), BODYTEMP_COOLING_MAX) else - bodytemperature += min(((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR), BODYTEMP_HEATING_MAX) + bodytemperature += max(((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR), BODYTEMP_HEATING_MAX) if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT) switch(bodytemperature) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 634c1ebb5f..371f19f033 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -231,7 +231,7 @@ var/atom/A = src.loc if(isturf(A)) var/areatemp = get_temperature(environment) - if( abs(areatemp - bodytemperature) > 40 ) + if( abs(areatemp - bodytemperature) > 5) var/diff = areatemp - bodytemperature diff = diff / 5 bodytemperature += diff diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 835bcaaad7..e0ea5de450 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -213,29 +213,31 @@ taste_description = "mint" /datum/reagent/consumable/frostoil/on_mob_life(mob/living/M) - switch(current_cycle) - if(1 to 15) - M.bodytemperature -= 10 * TEMPERATURE_DAMAGE_COEFFICIENT - if(holder.has_reagent("capsaicin")) - holder.remove_reagent("capsaicin", 5) - if(isslime(M)) - M.bodytemperature -= rand(5,20) - if(15 to 25) - M.bodytemperature -= 20 * TEMPERATURE_DAMAGE_COEFFICIENT - if(isslime(M)) - M.bodytemperature -= rand(10,20) - if(25 to 35) - M.bodytemperature -= 30 * TEMPERATURE_DAMAGE_COEFFICIENT - if(prob(1)) - M.emote("shiver") - if(isslime(M)) - M.bodytemperature -= rand(15,20) - if(35 to INFINITY) - M.bodytemperature -= 40 * TEMPERATURE_DAMAGE_COEFFICIENT - if(prob(5)) - M.emote("shiver") - if(isslime(M)) - M.bodytemperature -= rand(20,25) + if(M.bodytemperature > 50) + switch(current_cycle) + if(1 to 15) + M.bodytemperature -= 10 * TEMPERATURE_DAMAGE_COEFFICIENT + if(holder.has_reagent("capsaicin")) + holder.remove_reagent("capsaicin", 5) + if(isslime(M)) + M.bodytemperature -= rand(5,20) + if(15 to 25) + M.bodytemperature -= 20 * TEMPERATURE_DAMAGE_COEFFICIENT + if(isslime(M)) + M.bodytemperature -= rand(10,20) + if(25 to 35) + M.bodytemperature -= 30 * TEMPERATURE_DAMAGE_COEFFICIENT + if(prob(1)) + M.emote("shiver") + if(isslime(M)) + M.bodytemperature -= rand(15,20) + if(35 to INFINITY) + M.bodytemperature -= 40 * TEMPERATURE_DAMAGE_COEFFICIENT + if(prob(5)) + M.emote("shiver") + if(isslime(M)) + M.bodytemperature -= rand(20,25) + M.bodytemperature = max(50, M.bodytemperature) ..() /datum/reagent/consumable/frostoil/reaction_turf(turf/T, reac_volume) From f706605227b510849fec5b3ede712cb13102740e Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Fri, 19 Jan 2018 10:12:28 -0500 Subject: [PATCH 04/59] Low memory mode --- _maps/_basemap.dm | 25 +++++++++++++++++++++++++ code/_compile_options.dm | 3 +++ code/controllers/subsystem/mapping.dm | 4 ++-- tgstation.dme | 2 +- 4 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 _maps/_basemap.dm diff --git a/_maps/_basemap.dm b/_maps/_basemap.dm new file mode 100644 index 0000000000..794f57ea58 --- /dev/null +++ b/_maps/_basemap.dm @@ -0,0 +1,25 @@ +//#define LOWMEMORYMODE //uncomment this to load centcom and runtime station and thats it. + +#include "map_files\generic\CentCom.dmm" +#include "map_files\generic\SpaceStation.dmm" + +#ifndef LOWMEMORYMODE + + #include "map_files\generic\Space.dmm" + #include "map_files\generic\SpaceDock.dmm" + #include "map_files\Mining\Lavaland.dmm" + #include "map_files\generic\City_of_Cogs.dmm" + + #ifdef ALL_MAPS + #include "map_files\debug\runtimestation.dmm" + #include "map_files\Deltastation\DeltaStation2.dmm" + #include "map_files\MetaStation\MetaStation.dmm" + #include "map_files\OmegaStation\OmegaStation.dmm" + #include "map_files\PubbyStation\PubbyStation.dmm" + #include "map_files\BoxStation\BoxStation.dmm" + + #ifdef TRAVISBUILDING + #include "templates.dm" + #endif + #endif +#endif \ No newline at end of file diff --git a/code/_compile_options.dm b/code/_compile_options.dm index c0985281c5..5e2cca0cc9 100644 --- a/code/_compile_options.dm +++ b/code/_compile_options.dm @@ -18,6 +18,9 @@ #endif // 1 to use the default behaviour; // 2 for preloading absolutely everything; +#ifdef LOWMEMORYMODE +#define FORCE_MAP "_maps/runtimestation.json" +#endif #define BACKGROUND_ENABLED 0 // The default value for all uses of set background. Set background can cause gradual lag and is recommended you only turn this on if necessary. // 1 will enable set background. 0 will disable set background. diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 8046dab41e..90f3380b81 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -42,7 +42,7 @@ SUBSYSTEM_DEF(mapping) repopulate_sorted_areas() process_teleport_locs() //Sets up the wizard teleport locations preloadTemplates() - +#ifndef LOWMEMORYMODE // Create space levels for(var/I in 1 to ZLEVEL_SPACE_RUIN_COUNT) add_new_zlevel("Empty Area [2 + I]", CROSSLINKED, list(ZTRAIT_SPACE_RUINS = TRUE)) @@ -67,7 +67,7 @@ SUBSYSTEM_DEF(mapping) if (space_ruins.len) seedRuins(space_ruins, CONFIG_GET(number/space_budget), /area/space, space_ruins_templates) loading_ruins = FALSE - +#endif repopulate_sorted_areas() // Set up Z-level transitions. setup_map_transitions() diff --git a/tgstation.dme b/tgstation.dme index 30a3d3639b..df8e99313e 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -13,7 +13,7 @@ // END_PREFERENCES // BEGIN_INCLUDE -#include "_maps\basemap.dm" +#include "_maps\_basemap.dm" #include "code\_compile_options.dm" #include "code\world.dm" #include "code\__DATASTRUCTURES\globals.dm" From 06573738217ee6fad4ed739b71beda2768011842 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Fri, 19 Jan 2018 10:18:15 -0500 Subject: [PATCH 05/59] Makes fire priority values defines --- code/__DEFINES/subsystems.dm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 4773cf0664..7a8fa17718 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -75,6 +75,7 @@ // Subsystem fire priority, from lowest to highest priority // If the subsystem isn't listed here it's either DEFAULT or PROCESS (if it's a processing subsystem child) +<<<<<<< HEAD #define FIRE_PRIORITY_IDLE_NPC 1 #define FIRE_PRIORITY_SERVER_MAINT 1 @@ -105,6 +106,33 @@ #define FIRE_PRIORITY_OVERLAYS 20 #define FIRE_PRIORITY_INPUT 100 // This must always always be the max highest priority. Player input must never be lost. +======= +#define FIRE_PRIORITY_IDLE_NPC 10 +#define FIRE_PRIORITY_SERVER_MAINT 10 +#define FIRE_PRIORITY_GARBAGE 15 +#define FIRE_PRIORITY_RESEARCH 15 +#define FIRE_PRIORITY_AIR 20 +#define FIRE_PRIORITY_NPC 20 +#define FIRE_PRIORITY_PROCESS 25 +#define FIRE_PRIORITY_THROWING 25 +#define FIRE_PRIORITY_FLIGHTPACKS 30 +#define FIRE_PRIORITY_SPACEDRIFT 30 +#define FIRE_PRIOTITY_SMOOTHING 35 +#define FIRE_PRIORITY_ORBIT 35 +#define FIRE_PRIORITY_OBJ 40 +#define FIRE_PRIORUTY_FIELDS 40 +#define FIRE_PRIORITY_ACID 40 +#define FIRE_PRIOTITY_BURNING 40 +#define FIRE_PRIORITY_INBOUNDS 40 +#define FIRE_PRIORITY_DEFAULT 50 +#define FIRE_PRIORITY_PARALLAX 65 +#define FIRE_PRIORITY_NETWORKS 80 +#define FIRE_PRIORITY_MOBS 100 +#define FIRE_PRIORITY_TGUI 110 +#define FIRE_PRIORITY_TICKER 200 +#define FIRE_PRIORITY_OVERLAYS 500 +#define FIRE_PRIORITY_INPUT 1000 // This must always always be the max highest priority. Player input must never be lost. +>>>>>>> 8e6a7a3... Merge pull request #34534 from ninjanomnom/redo-fire-priority-defines // SS runlevels From 7b9fda5411a52c308c939f4f12ebb6a86fa59fbe Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Fri, 19 Jan 2018 10:23:31 -0500 Subject: [PATCH 06/59] Merge pull request #34591 from XDTM/goodBoy Fixes slimes attacking people with the slime faction --- code/modules/mob/living/simple_animal/slime/life.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index 6cc1df085c..c4288cbfae 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -339,6 +339,14 @@ if(L in Friends) // No eating friends! continue + var/ally = FALSE + for(var/F in faction) + if(F in L.faction) + ally = TRUE + break + if(ally) + continue + if(issilicon(L) && (rabid || attacked)) // They can't eat silicons, but they can glomp them in defence targets += L // Possible target found! From 4aa52b8d997940b6c4a6c5b14d929f47907f5705 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Fri, 19 Jan 2018 14:32:40 -0500 Subject: [PATCH 08/59] Update life.dm --- code/modules/mob/living/carbon/life.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 7595b5276b..1a610d97a6 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -459,8 +459,4 @@ death() var/obj/item/organ/brain/B = getorganslot(ORGAN_SLOT_BRAIN) if(B) -<<<<<<< HEAD - B.damaged_brain = TRUE -======= B.damaged_brain = TRUE ->>>>>>> 15864dc... Temperature Refactor and Fixes (#34133) From 15d1adfea83aa85f0faa751aafc24e95f29e7b19 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Fri, 19 Jan 2018 14:38:12 -0500 Subject: [PATCH 09/59] Update _basemap.dm --- _maps/_basemap.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/_maps/_basemap.dm b/_maps/_basemap.dm index 794f57ea58..f522d569c1 100644 --- a/_maps/_basemap.dm +++ b/_maps/_basemap.dm @@ -12,14 +12,14 @@ #ifdef ALL_MAPS #include "map_files\debug\runtimestation.dmm" - #include "map_files\Deltastation\DeltaStation2.dmm" - #include "map_files\MetaStation\MetaStation.dmm" - #include "map_files\OmegaStation\OmegaStation.dmm" - #include "map_files\PubbyStation\PubbyStation.dmm" - #include "map_files\BoxStation\BoxStation.dmm" + #include "cit_map_files\Deltastation\DeltaStation2.dmm" + #include "cit_map_files\MetaStation\MetaStation.dmm" + #include "cit_map_files\OmegaStation\OmegaStation.dmm" + #include "cit_map_files\PubbyStation\PubbyStation.dmm" + #include "cit_map_files\BoxStation\BoxStation.dmm" #ifdef TRAVISBUILDING #include "templates.dm" #endif #endif -#endif \ No newline at end of file +#endif From a71cea4832c23c93055df5b77c6d2f6ac4ebc81e Mon Sep 17 00:00:00 2001 From: deathride58 Date: Fri, 19 Jan 2018 14:40:39 -0500 Subject: [PATCH 10/59] Update subsystems.dm --- code/__DEFINES/subsystems.dm | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 7a8fa17718..6e223446fd 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -75,38 +75,6 @@ // Subsystem fire priority, from lowest to highest priority // If the subsystem isn't listed here it's either DEFAULT or PROCESS (if it's a processing subsystem child) -<<<<<<< HEAD -#define FIRE_PRIORITY_IDLE_NPC 1 -#define FIRE_PRIORITY_SERVER_MAINT 1 - -#define FIRE_PRIORITY_GARBAGE 4 -#define FIRE_PRIORITY_RESEARCH 4 -#define FIRE_PRIORITY_AIR 5 -#define FIRE_PRIORITY_NPC 5 -#define FIRE_PRIORITY_PROCESS 6 -#define FIRE_PRIORITY_THROWING 6 -#define FIRE_PRIORITY_FLIGHTPACKS 7 -#define FIRE_PRIORITY_SPACEDRIFT 7 -#define FIRE_PRIOTITY_SMOOTHING 8 -#define FIRE_PRIORITY_ORBIT 8 -#define FIRE_PRIORITY_OBJ 9 -#define FIRE_PRIORUTY_FIELDS 9 -#define FIRE_PRIORITY_ACID 9 -#define FIRE_PRIOTITY_BURNING 9 -#define FIRE_PRIORITY_INBOUNDS 9 - -#define FIRE_PRIORITY_DEFAULT 10 - -#define FIRE_PRIORITY_PARALLAX 11 -#define FIRE_PRIORITY_NETWORKS 12 -#define FIRE_PRIORITY_MOBS 13 -#define FIRE_PRIORITY_TGUI 14 - -#define FIRE_PRIORITY_TICKER 19 -#define FIRE_PRIORITY_OVERLAYS 20 - -#define FIRE_PRIORITY_INPUT 100 // This must always always be the max highest priority. Player input must never be lost. -======= #define FIRE_PRIORITY_IDLE_NPC 10 #define FIRE_PRIORITY_SERVER_MAINT 10 #define FIRE_PRIORITY_GARBAGE 15 @@ -132,7 +100,6 @@ #define FIRE_PRIORITY_TICKER 200 #define FIRE_PRIORITY_OVERLAYS 500 #define FIRE_PRIORITY_INPUT 1000 // This must always always be the max highest priority. Player input must never be lost. ->>>>>>> 8e6a7a3... Merge pull request #34534 from ninjanomnom/redo-fire-priority-defines // SS runlevels From bb51095b003bd6d1fcb24521687f55223ee70d30 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 20 Jan 2018 15:09:41 -0500 Subject: [PATCH 11/59] Merge pull request #34656 from ShizCalev/makeslippery Fixes missing MakeSlippery() args --- code/game/objects/items/extinguisher.dm | 2 +- code/game/objects/structures/watercloset.dm | 2 +- code/game/turfs/open.dm | 2 +- code/modules/mob/living/simple_animal/bot/cleanbot.dm | 2 +- code/modules/reagents/chemistry/reagents/blob_reagents.dm | 4 ++-- code/modules/reagents/chemistry/reagents/food_reagents.dm | 4 ++-- code/modules/reagents/chemistry/reagents/other_reagents.dm | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index 009bc211b4..b450e6750a 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -188,6 +188,6 @@ var/turf/T = get_turf(loc) if(isopenturf(T)) var/turf/open/theturf = T - theturf.MakeSlippery(min_wet_time = 10, wet_time_to_add = 5) + theturf.MakeSlippery(TURF_WET_WATER, min_wet_time = 10, wet_time_to_add = 5) user.visible_message("[user] empties out \the [src] onto the floor using the release valve.", "You quietly empty out \the [src] using its release valve.") diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index c7595f3981..ea051ab16c 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -236,7 +236,7 @@ soundloop.stop() if(isopenturf(loc)) var/turf/open/tile = loc - tile.MakeSlippery(min_wet_time = 5, wet_time_to_add = 1) + tile.MakeSlippery(TURF_WET_WATER, min_wet_time = 5, wet_time_to_add = 1) /obj/machinery/shower/attackby(obj/item/I, mob/user, params) diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index b8d46977be..12b37d0e01 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -168,7 +168,7 @@ return 1 /turf/open/proc/water_vapor_gas_act() - MakeSlippery(min_wet_time = 10, wet_time_to_add = 5) + MakeSlippery(TURF_WET_WATER, min_wet_time = 10, wet_time_to_add = 5) for(var/mob/living/simple_animal/slime/M in src) M.apply_water() diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index b9276116d5..6ed80afbb7 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -247,7 +247,7 @@ if(prob(75)) var/turf/open/T = loc if(istype(T)) - T.MakeSlippery(min_wet_time = 20, wet_time_to_add = 15) + T.MakeSlippery(TURF_WET_WATER, min_wet_time = 20, wet_time_to_add = 15) else visible_message("[src] whirs and bubbles violently, before releasing a plume of froth!") new /obj/effect/particle_effect/foam(loc) diff --git a/code/modules/reagents/chemistry/reagents/blob_reagents.dm b/code/modules/reagents/chemistry/reagents/blob_reagents.dm index de96631bc9..cd5f4aa7c7 100644 --- a/code/modules/reagents/chemistry/reagents/blob_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/blob_reagents.dm @@ -459,7 +459,7 @@ reac_volume = ..() var/turf/open/T = get_turf(M) if(istype(T) && prob(reac_volume)) - T.MakeSlippery(min_wet_time = 10, wet_time_to_add = 5) + T.MakeSlippery(TURF_WET_WATER, min_wet_time = 10, wet_time_to_add = 5) M.adjust_fire_stacks(-(reac_volume / 10)) M.ExtinguishMob() M.apply_damage(0.4*reac_volume, BRUTE) @@ -481,7 +481,7 @@ /datum/reagent/blob/pressurized_slime/proc/extinguisharea(obj/structure/blob/B, probchance) for(var/turf/open/T in range(1, B)) if(prob(probchance)) - T.MakeSlippery(min_wet_time = 10, wet_time_to_add = 5) + T.MakeSlippery(TURF_WET_WATER, min_wet_time = 10, wet_time_to_add = 5) for(var/obj/O in T) O.extinguish() for(var/mob/living/L in T) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 835bcaaad7..0fc27fe512 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -124,7 +124,7 @@ if(!istype(T)) return if(reac_volume >= 5) - T.MakeSlippery(min_wet_time = 10, wet_time_to_add = reac_volume * 1.5) + T.MakeSlippery(TURF_WET_LUBE, min_wet_time = 10, wet_time_to_add = reac_volume * 1.5) T.name = "deep-fried [initial(T.name)]" T.add_atom_colour(color, TEMPORARY_COLOUR_PRIORITY) @@ -430,7 +430,7 @@ /datum/reagent/consumable/cornoil/reaction_turf(turf/open/T, reac_volume) if (!istype(T)) return - T.MakeSlippery(min_wet_time = 10, wet_time_to_add = reac_volume*2) + T.MakeSlippery(TURF_WET_LUBE, min_wet_time = 10, wet_time_to_add = reac_volume*2) var/obj/effect/hotspot/hotspot = (locate(/obj/effect/hotspot) in T) if(hotspot) var/datum/gas_mixture/lowertemp = T.remove_air(T.air.total_moles()) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index dd740b0c68..8778e657f2 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -130,7 +130,7 @@ var/CT = cooling_temperature if(reac_volume >= 5) - T.MakeSlippery(min_wet_time = 10, wet_time_to_add = min(reac_volume*1.5, 60)) + T.MakeSlippery(TURF_WET_WATER, min_wet_time = 10, wet_time_to_add = min(reac_volume*1.5, 60)) for(var/mob/living/simple_animal/slime/M in T) M.apply_water() From b2d7044eb956f579b375149a1ecc94c2a9aefe17 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 20 Jan 2018 15:09:35 -0500 Subject: [PATCH 13/59] Merge pull request #34654 from ShizCalev/tailwag-fix Actually fixes wag emote runtime --- code/modules/mob/living/carbon/human/emote.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 35aecbf6cb..5b756fd3d5 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -74,6 +74,8 @@ /datum/emote/living/carbon/human/wag/run_emote(mob/user, params) . = ..() + if(!.) + return var/mob/living/carbon/human/H = user if(!H.is_wagging_tail()) H.startTailWag() From 5164e3810469f598b909d9895a3ec9697b093be5 Mon Sep 17 00:00:00 2001 From: AnturK Date: Sun, 21 Jan 2018 05:04:37 +0100 Subject: [PATCH 15/59] Fixes tgui reload script (#34632) * Fixes reload bat * That's possible --- tgui/reload.bat | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tgui/reload.bat b/tgui/reload.bat index c59d502f36..d45411f006 100644 --- a/tgui/reload.bat +++ b/tgui/reload.bat @@ -4,5 +4,5 @@ REM Get the documents folder from the registry. for /f "tokens=3*" %%p in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Personal') do ( set DocumentsFolder=%%p ) -REM Copy assets to the BYOND cache -cmd /c copy assets\* "%DocumentsFolder%\BYOND\cache" /y +REM Copy to tmp subdirectories +FOR /D %%G in ("%DocumentsFolder%\BYOND\cache\tmp*") DO (cmd /c copy assets\* %%G /y) \ No newline at end of file From bb3d4b13d4dbfbf58a7dbdb33d5fb3b0d25e7928 Mon Sep 17 00:00:00 2001 From: WJohn Date: Sun, 21 Jan 2018 02:20:35 -0500 Subject: [PATCH 17/59] gives greyscale sprite much more contrast (#34682) --- icons/obj/tools.dmi | Bin 15928 -> 15928 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index b02c369814572790548870915a788695f8b7f81a..7fa7bec6041c9c6a8229bff5559a0bfe03525466 100644 GIT binary patch delta 15221 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 Date: Sat, 20 Jan 2018 01:24:24 -0500 Subject: [PATCH 19/59] Matched wirecutter colors --- code/game/objects/items/tools/screwdriver.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index fb1a9c8787..c3bbc18d10 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -23,12 +23,12 @@ var/random_color = TRUE //if the screwdriver uses random coloring var/static/list/screwdriver_colors = list( "blue" = rgb(24, 97, 213), - "red" = rgb(149, 23, 16), + "red" = rgb(255, 0, 0), "pink" = rgb(213, 24, 141), "brown" = rgb(160, 82, 18), "green" = rgb(14, 127, 27), "cyan" = rgb(24, 162, 213), - "yellow" = rgb(213, 140, 24) + "yellow" = rgb(255, 165, 0) ) /obj/item/screwdriver/suicide_act(mob/user) From 2a267815cb3156a0b960e6fd3e6c708e2e48d692 Mon Sep 17 00:00:00 2001 From: Kyle Spier-Swenson Date: Sat, 20 Jan 2018 00:15:55 -0800 Subject: [PATCH 21/59] Adds nightlies and cdn info to readme --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index aaf2ad2a27..862e166821 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,8 @@ code tab of https://github.com/tgstation/tgstation (note: this will use a lot of bandwidth if you wish to update and is a lot of hassle if you want to make any changes at all, so it's not recommended.) +Option 3: Download a pre-compiled nightly at https://tgstation13.download/nightlies/ (same caveats as option 2) + ## INSTALLATION First-time installation should be fairly straightforward. First, you'll need @@ -128,6 +130,18 @@ To enable an away mission open `config/awaymissionconfig.txt` and uncomment one The SQL backend requires a Mariadb server running 10.2 or later. Mysql is not supported but Mariadb is a drop in replacement for mysql. SQL is required for the library, stats tracking, admin notes, and job-only bans, among other features, mostly related to server administration. Your server details go in /config/dbconfig.txt, and the SQL schema is in /SQL/tgstation_schema.sql and /SQL/tgstation_schema_prefix.sql depending on if you want table prefixes. More detailed setup instructions are located here: https://www.tgstation13.org/wiki/Downloading_the_source_code#Setting_up_the_database +<<<<<<< HEAD +======= +## WEB/CDN RESOURCE DELIVERY + +Web delivery of game resources makes it quicker for players to join and reduces some of the stress on the game server. + +1. Edit compile_options.dm to set the `PRELOAD_RSC` define to `0` +1. Add a url to config/external_rsc_urls pointing to a .zip file containing the .rsc. + * If you keep up to date with /tg/ you could reuse /tg/'s rsc cdn at http://tgstation13.download/byond/tgstation.zip. Otherwise you can use cdn services like CDN77 or cloudflare (requires adding a page rule to enable caching of the zip), or roll your own cdn using route 53 and vps providers. + * Regardless even offloading the rsc to a website without a CDN will be a massive improvement over the in game system for transferring files. + +>>>>>>> 34d51dc... Adds nightlies and cdn info ## IRC BOT SETUP Included in the repository is a python3 compatible IRC bot capable of relaying adminhelps to a specified From 0a984356941ec37c6c6248b4ee2f539bbba25306 Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Fri, 19 Jan 2018 03:34:26 -0500 Subject: [PATCH 22/59] Fixed runtimes --- .../clock_structures/ark_of_the_clockwork_justicar.dm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm index d66b16f209..d70be9c31c 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm @@ -88,10 +88,14 @@ set_security_level("delta") for(var/V in SSticker.mode.servants_of_ratvar) var/datum/mind/M = V + if(!M) + continue if(ishuman(M.current)) M.current.add_overlay(mutable_appearance('icons/effects/genetics.dmi', "servitude", -MUTATIONS_LAYER)) for(var/V in GLOB.brass_recipes) var/datum/stack_recipe/R = V + if(!R) + continue if(R.title == "wall gear") R.time *= 2 //Building walls becomes slower when the Ark activates mass_recall() @@ -123,6 +127,8 @@ /obj/structure/destructible/clockwork/massive/celestial_gateway/proc/mass_recall() for(var/V in SSticker.mode.servants_of_ratvar) var/datum/mind/M = V + if(!M) + continue if(isliving(M.current) && M.current.stat != DEAD) M.current.forceMove(get_turf(src)) M.current.overlay_fullscreen("flash", /obj/screen/fullscreen/flash) @@ -262,7 +268,7 @@ return if(!first_sound_played || prob(7)) for(var/mob/M in GLOB.player_list) - if(M && !isnewplayer(M)) + if(!isnewplayer(M)) var/turf/T = get_turf(M) if(T && T.z == z) to_chat(M, "You hear otherworldly sounds from the [dir2text(get_dir(get_turf(M), get_turf(src)))]...") From a0098744c867a7d29201e81e53b85cfea4b15924 Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Fri, 19 Jan 2018 18:30:50 -0500 Subject: [PATCH 24/59] Reinvigorates the disco inferno --- code/game/machinery/dance_machine.dm | 59 +++++++++++++++------------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 62d203464c..53b1f88fb8 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -185,56 +185,56 @@ FOR_DVIEW(var/turf/t, 3, get_turf(src),INVISIBILITY_LIGHTING) if(t.x == cen.x && t.y > cen.y) var/obj/item/device/flashlight/spotlight/L = new /obj/item/device/flashlight/spotlight(t) - L.light_color = "red" + L.light_color = LIGHT_COLOR_RED L.light_power = 30-(get_dist(src,L)*8) L.range = 1+get_dist(src, L) spotlights+=L continue if(t.x == cen.x && t.y < cen.y) var/obj/item/device/flashlight/spotlight/L = new /obj/item/device/flashlight/spotlight(t) - L.light_color = "purple" + L.light_color = LIGHT_COLOR_PURPLE L.light_power = 30-(get_dist(src,L)*8) L.range = 1+get_dist(src, L) spotlights+=L continue if(t.x > cen.x && t.y == cen.y) var/obj/item/device/flashlight/spotlight/L = new /obj/item/device/flashlight/spotlight(t) - L.light_color = "#ffff00" + L.light_color = LIGHT_COLOR_YELLOW L.light_power = 30-(get_dist(src,L)*8) L.range = 1+get_dist(src, L) spotlights+=L continue if(t.x < cen.x && t.y == cen.y) var/obj/item/device/flashlight/spotlight/L = new /obj/item/device/flashlight/spotlight(t) - L.light_color = "green" + L.light_color = LIGHT_COLOR_GREEN L.light_power = 30-(get_dist(src,L)*8) L.range = 1+get_dist(src, L) spotlights+=L continue if((t.x+1 == cen.x && t.y+1 == cen.y) || (t.x+2==cen.x && t.y+2 == cen.y)) var/obj/item/device/flashlight/spotlight/L = new /obj/item/device/flashlight/spotlight(t) - L.light_color = "sw" + L.light_color = LIGHT_COLOR_ORANGE L.light_power = 30-(get_dist(src,L)*8) L.range = 1.4+get_dist(src, L) spotlights+=L continue if((t.x-1 == cen.x && t.y-1 == cen.y) || (t.x-2==cen.x && t.y-2 == cen.y)) var/obj/item/device/flashlight/spotlight/L = new /obj/item/device/flashlight/spotlight(t) - L.light_color = "ne" + L.light_color = LIGHT_COLOR_CYAN L.light_power = 30-(get_dist(src,L)*8) L.range = 1.4+get_dist(src, L) spotlights+=L continue if((t.x-1 == cen.x && t.y+1 == cen.y) || (t.x-2==cen.x && t.y+2 == cen.y)) var/obj/item/device/flashlight/spotlight/L = new /obj/item/device/flashlight/spotlight(t) - L.light_color = "se" + L.light_color = LIGHT_COLOR_BLUEGREEN L.light_power = 30-(get_dist(src,L)*8) L.range = 1.4+get_dist(src, L) spotlights+=L continue if((t.x+1 == cen.x && t.y-1 == cen.y) || (t.x+2==cen.x && t.y-2 == cen.y)) var/obj/item/device/flashlight/spotlight/L = new /obj/item/device/flashlight/spotlight(t) - L.light_color = "nw" + L.light_color = LIGHT_COLOR_BLUE L.light_power = 30-(get_dist(src,L)*8) L.range = 1.4+get_dist(src, L) spotlights+=L @@ -247,6 +247,8 @@ spawn_atom_to_turf(/obj/effect/temp_visual/hierophant/telegraph/edge, src, 1, FALSE) sleep(5) +#define DISCO_INFENO_RANGE (rand(85, 115)*0.01) + /obj/machinery/disco/proc/lights_spin() for(var/i in 1 to 25) if(QDELETED(src) || !active) @@ -273,56 +275,57 @@ for(var/obj/item/device/flashlight/spotlight/glow in spotlights) // The multiples reflects custom adjustments to each colors after dozens of tests if(QDELETED(src) || !active || QDELETED(glow)) return - if(glow.light_color == "red") - glow.light_color = "nw" + if(glow.light_color == LIGHT_COLOR_RED) + glow.light_color = LIGHT_COLOR_BLUE glow.light_power = glow.light_power * 1.48 glow.light_range = 0 glow.update_light() continue - if(glow.light_color == "nw") - glow.light_color = "green" - glow.light_range = glow.range * 1.1 + if(glow.light_color == LIGHT_COLOR_BLUE) + glow.light_color = LIGHT_COLOR_GREEN + glow.light_range = glow.range * DISCO_INFENO_RANGE glow.light_power = glow.light_power * 2 // Any changes to power must come in pairs to neutralize it for other colors glow.update_light() continue - if(glow.light_color == "green") - glow.light_color = "sw" + if(glow.light_color == LIGHT_COLOR_GREEN) + glow.light_color = LIGHT_COLOR_ORANGE glow.light_power = glow.light_power * 0.5 glow.light_range = 0 glow.update_light() continue - if(glow.light_color == "sw") - glow.light_color = "purple" + if(glow.light_color == LIGHT_COLOR_ORANGE) + glow.light_color = LIGHT_COLOR_PURPLE glow.light_power = glow.light_power * 2.27 - glow.light_range = glow.range * 1.15 + glow.light_range = glow.range * DISCO_INFENO_RANGE glow.update_light() continue - if(glow.light_color == "purple") - glow.light_color = "se" + if(glow.light_color == LIGHT_COLOR_PURPLE) + glow.light_color = LIGHT_COLOR_BLUEGREEN glow.light_power = glow.light_power * 0.44 glow.light_range = 0 glow.update_light() continue - if(glow.light_color == "se") - glow.light_color = "#ffff00" - glow.light_range = glow.range * 0.9 + if(glow.light_color == LIGHT_COLOR_BLUEGREEN) + glow.light_color = LIGHT_COLOR_YELLOW + glow.light_range = glow.range * DISCO_INFENO_RANGE glow.update_light() continue - if(glow.light_color == "#ffff00") - glow.light_color = "ne" + if(glow.light_color == LIGHT_COLOR_YELLOW) + glow.light_color = LIGHT_COLOR_CYAN glow.light_range = 0 glow.update_light() continue - if(glow.light_color == "ne") - glow.light_color = "red" + if(glow.light_color == LIGHT_COLOR_CYAN) + glow.light_color = LIGHT_COLOR_RED glow.light_power = glow.light_power * 0.68 - glow.light_range = glow.range * 0.85 + glow.light_range = glow.range * DISCO_INFENO_RANGE glow.update_light() continue if(prob(2)) // Unique effects for the dance floor that show up randomly to mix things up INVOKE_ASYNC(src, .proc/hierofunk) sleep(selection.song_beat) +#undef DISCO_INFENO_RANGE /obj/machinery/disco/proc/dance(var/mob/living/M) //Show your moves set waitfor = FALSE From 8d5d7d1d50a59441667af910c0bd008f26f600b2 Mon Sep 17 00:00:00 2001 From: BordListian Date: Mon, 15 Jan 2018 21:09:20 +0100 Subject: [PATCH 26/59] - Fixes smoke and foam having 1/4th of the reagents they should have (yoooo) - Fixes copy_to runtiming if you transfer from a container that contains nothing directly to a reagents datum - Removes redundant total_volume check in trans_to - Fixes cryostylane and pyrosium not heating up people - Fixes cryostylane cooling beakers to negative kelvins - Fixes cryostylane cooling people to negative kelvins (stop copypasting code for temperature) --- code/game/objects/effects/effect_system/effects_foam.dm | 2 +- code/game/objects/effects/effect_system/effects_smoke.dm | 2 +- code/modules/reagents/chemistry/holder.dm | 6 +++--- .../reagents/chemistry/reagents/pyrotechnic_reagents.dm | 2 +- code/modules/reagents/chemistry/recipes/pyrotechnics.dm | 4 +++- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index f5754029eb..5d3a345e8c 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -189,7 +189,7 @@ location = get_turf(loca) amount = round(sqrt(amt / 2), 1) - carry.copy_to(chemholder, 4*carry.total_volume) //The foam holds 4 times the total reagents volume for balance purposes. + carry.copy_to(chemholder, carry.total_volume, 4) //The foam holds 4 times the total reagents volume for balance purposes. /datum/effect_system/foam_spread/metal/set_up(amt=5, loca, datum/reagents/carry = null, metaltype) ..() diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index 4dc985c9a1..b0991461ec 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -271,7 +271,7 @@ else location = get_turf(loca) amount = radius - carry.copy_to(chemholder, 4*carry.total_volume) //The smoke holds 4 times the total reagents volume for balance purposes. + carry.copy_to(chemholder, carry.total_volume, 4) //The smoke holds 4 times the total reagents volume for balance purposes. if(!silent) var/contained = "" diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 08a087dbac..6080763548 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -158,7 +158,7 @@ if(istype(target, /datum/reagents)) R = target else - if(!target.reagents || src.total_volume<=0) + if(!target.reagents) return R = target.reagents amount = min(min(amount, src.total_volume), R.maximum_volume-R.total_volume) @@ -181,14 +181,14 @@ /datum/reagents/proc/copy_to(obj/target, amount=1, multiplier=1, preserve_data=1) var/list/cached_reagents = reagent_list - if(!target) + if(!target || !total_volume) return var/datum/reagents/R if(istype(target, /datum/reagents)) R = target else - if(!target.reagents || src.total_volume<=0) + if(!target.reagents) return R = target.reagents diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index 526a2602b6..7f4e481a29 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -187,7 +187,7 @@ /datum/reagent/cryostylane/on_mob_life(mob/living/M) //TODO: code freezing into an ice cube if(M.reagents.has_reagent("oxygen")) M.reagents.remove_reagent("oxygen", 0.5) - M.bodytemperature -= 15 + M.bodytemperature = max(M.bodytemperature - 15,0) ..() /datum/reagent/cryostylane/reaction_turf(turf/T, reac_volume) diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index b77dcc435a..9f11498ee5 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -346,15 +346,17 @@ id = "cryostylane_oxygen" results = list("cryostylane" = 1) required_reagents = list("cryostylane" = 1, "oxygen" = 1) + mob_react = FALSE /datum/chemical_reaction/cryostylane_oxygen/on_reaction(datum/reagents/holder, created_volume) - holder.chem_temp -= 10*created_volume + holder.chem_temp = max(holder.chem_temp - 10*created_volume,0) /datum/chemical_reaction/pyrosium_oxygen name = "ephemeral pyrosium reaction" id = "pyrosium_oxygen" results = list("pyrosium" = 1) required_reagents = list("pyrosium" = 1, "oxygen" = 1) + mob_react = FALSE /datum/chemical_reaction/pyrosium_oxygen/on_reaction(datum/reagents/holder, created_volume) holder.chem_temp += 10*created_volume From 2abbd8cc8916eeb4b4d89914e78cf600c441583c Mon Sep 17 00:00:00 2001 From: BordListian Date: Sun, 21 Jan 2018 09:04:31 +0100 Subject: [PATCH 28/59] - Changes gas reagents (liquid plasma, oxygen, etc) to emit gas based on chem temperature instead of at room temperature when dumped. (#34515) --- .../chemistry/reagents/other_reagents.dm | 24 ++++++++++++------- .../chemistry/reagents/toxin_reagents.dm | 6 +++-- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index dd740b0c68..b5f14ea9c3 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -614,11 +614,13 @@ /datum/reagent/oxygen/reaction_obj(obj/O, reac_volume) if((!O) || (!reac_volume)) return 0 - O.atmos_spawn_air("o2=[reac_volume/2];TEMP=[T20C]") + var/temp = holder ? holder.chem_temp : T20C + O.atmos_spawn_air("o2=[reac_volume/2];TEMP=[temp]") /datum/reagent/oxygen/reaction_turf(turf/open/T, reac_volume) if(istype(T)) - T.atmos_spawn_air("o2=[reac_volume/2];TEMP=[T20C]") + var/temp = holder ? holder.chem_temp : T20C + T.atmos_spawn_air("o2=[reac_volume/2];TEMP=[temp]") return /datum/reagent/copper @@ -640,11 +642,13 @@ /datum/reagent/nitrogen/reaction_obj(obj/O, reac_volume) if((!O) || (!reac_volume)) return 0 - O.atmos_spawn_air("n2=[reac_volume/2];TEMP=[T20C]") + var/temp = holder ? holder.chem_temp : T20C + O.atmos_spawn_air("n2=[reac_volume/2];TEMP=[temp]") /datum/reagent/nitrogen/reaction_turf(turf/open/T, reac_volume) if(istype(T)) - T.atmos_spawn_air("n2=[reac_volume/2];TEMP=[T20C]") + var/temp = holder ? holder.chem_temp : T20C + T.atmos_spawn_air("n2=[reac_volume/2];TEMP=[temp]") return /datum/reagent/hydrogen @@ -1119,11 +1123,13 @@ /datum/reagent/carbondioxide/reaction_obj(obj/O, reac_volume) if((!O) || (!reac_volume)) return 0 - O.atmos_spawn_air("co2=[reac_volume/5];TEMP=[T20C]") + var/temp = holder ? holder.chem_temp : T20C + O.atmos_spawn_air("co2=[reac_volume/5];TEMP=[temp]") /datum/reagent/carbondioxide/reaction_turf(turf/open/T, reac_volume) if(istype(T)) - T.atmos_spawn_air("co2=[reac_volume/5];TEMP=[T20C]") + var/temp = holder ? holder.chem_temp : T20C + T.atmos_spawn_air("co2=[reac_volume/5];TEMP=[temp]") return /datum/reagent/nitrous_oxide @@ -1138,11 +1144,13 @@ /datum/reagent/nitrous_oxide/reaction_obj(obj/O, reac_volume) if((!O) || (!reac_volume)) return 0 - O.atmos_spawn_air("n2o=[reac_volume/5];TEMP=[T20C]") + var/temp = holder ? holder.chem_temp : T20C + O.atmos_spawn_air("n2o=[reac_volume/5];TEMP=[temp]") /datum/reagent/nitrous_oxide/reaction_turf(turf/open/T, reac_volume) if(istype(T)) - T.atmos_spawn_air("n2o=[reac_volume/5];TEMP=[T20C]") + var/temp = holder ? holder.chem_temp : T20C + T.atmos_spawn_air("n2o=[reac_volume/5];TEMP=[temp]") /datum/reagent/nitrous_oxide/reaction_mob(mob/M, method=TOUCH, reac_volume) if(method == VAPOR) diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 6e1e8046fe..fa996b0bc0 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -73,11 +73,13 @@ /datum/reagent/toxin/plasma/reaction_obj(obj/O, reac_volume) if((!O) || (!reac_volume)) return 0 - O.atmos_spawn_air("plasma=[reac_volume];TEMP=[T20C]") + var/temp = holder ? holder.chem_temp : T20C + O.atmos_spawn_air("plasma=[reac_volume];TEMP=[temp]") /datum/reagent/toxin/plasma/reaction_turf(turf/open/T, reac_volume) if(istype(T)) - T.atmos_spawn_air("plasma=[reac_volume];TEMP=[T20C]") + var/temp = holder ? holder.chem_temp : T20C + T.atmos_spawn_air("plasma=[reac_volume];TEMP=[temp]") return /datum/reagent/toxin/plasma/reaction_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with plasma is stronger than fuel! From 4826dec8802f0a0d794486b5be056ec53c2fb205 Mon Sep 17 00:00:00 2001 From: Dax Dupont Date: Sun, 21 Jan 2018 09:04:07 +0100 Subject: [PATCH 30/59] Adds holy vision (Some mobs can now see blessed tiles) (#34497) * Blessed turfs are visible to people who care about blessed turfs * A better way * Adds holy vision * Compacts special types * space space space * Glowing * Final Solution * wraith * bawhoppen has autism and we must hugbox * Implements feedback --- code/_globalvars/lists/objects.dm | 2 +- code/game/alternate_appearance.dm | 17 +++++++++++++++++ .../clock_cult/clock_mobs/_eminence.dm | 2 +- .../gamemodes/miniantags/revenant/revenant.dm | 1 - .../miniantags/revenant/revenant_abilities.dm | 5 +++-- code/game/objects/effects/blessing.dm | 18 ++++++++++++++++++ code/game/turfs/turf.dm | 2 +- code/modules/mob/mob_movement.dm | 10 +++++++--- .../spells/spell_types/ethereal_jaunt.dm | 14 ++++++++++---- icons/effects/effects.dmi | Bin 873863 -> 874978 bytes tgstation.dme | 1 + 11 files changed, 59 insertions(+), 13 deletions(-) create mode 100644 code/game/objects/effects/blessing.dm diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index ad295167cf..14c752613b 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -38,4 +38,4 @@ GLOBAL_LIST_EMPTY(wire_name_directory) GLOBAL_LIST_EMPTY(ai_status_displays) GLOBAL_LIST_EMPTY(mob_spawners) // All mob_spawn objects -GLOBAL_LIST_EMPTY(alert_consoles) // Station alert consoles, /obj/machinery/computer/station_alert \ No newline at end of file +GLOBAL_LIST_EMPTY(alert_consoles) // Station alert consoles, /obj/machinery/computer/station_alert diff --git a/code/game/alternate_appearance.dm b/code/game/alternate_appearance.dm index 712b3425e0..1a62a0fd5f 100644 --- a/code/game/alternate_appearance.dm +++ b/code/game/alternate_appearance.dm @@ -124,3 +124,20 @@ GLOBAL_LIST_EMPTY(active_alternate_appearances) /datum/atom_hud/alternate_appearance/basic/observers/mobShouldSee(mob/M) return isobserver(M) + +/datum/atom_hud/alternate_appearance/basic/blessedAware + +/datum/atom_hud/alternate_appearance/basic/blessedAware/New() + ..() + for(var/mob in GLOB.mob_list) + if(mobShouldSee(mob)) + add_hud_to(mob) + +/datum/atom_hud/alternate_appearance/basic/blessedAware/mobShouldSee(mob/M) + if(M.mind && (M.mind.assigned_role == "Chaplain")) + return TRUE + if (istype(M, /mob/living/simple_animal/hostile/construct/wraith)) + return TRUE + if(isrevenant(M) || iseminence(M) || iswizard(M)) + return TRUE + return FALSE \ No newline at end of file diff --git a/code/game/gamemodes/clock_cult/clock_mobs/_eminence.dm b/code/game/gamemodes/clock_cult/clock_mobs/_eminence.dm index b53caee281..b3ac43a6c7 100644 --- a/code/game/gamemodes/clock_cult/clock_mobs/_eminence.dm +++ b/code/game/gamemodes/clock_cult/clock_mobs/_eminence.dm @@ -26,7 +26,7 @@ var/OldLoc = loc if(NewLoc && !istype(NewLoc, /turf/open/indestructible/reebe_void)) var/turf/T = get_turf(NewLoc) - if(T.flags_1 & NOJAUNT_1) + for(var/obj/effect/blessing/B in T) if(last_failed_turf != T) T.visible_message("[T] suddenly emits a ringing sound!", ignore_mob = src) playsound(T, 'sound/machines/clockcult/ark_damage.ogg', 75, FALSE) diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm index 0719072077..94775887f9 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant.dm @@ -224,7 +224,6 @@ invisibility = INVISIBILITY_ABSTRACT revealed = FALSE ghostize(0)//Don't re-enter invisible corpse - return //reveal, stun, icon updates, cast checks, and essence changing diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm index c401dfea52..5530db7881 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm @@ -238,9 +238,10 @@ INVOKE_ASYNC(src, .proc/defile, T) /obj/effect/proc_holder/spell/aoe_turf/revenant/defile/proc/defile(turf/T) - if(T.flags_1 & NOJAUNT_1) - T.flags_1 &= ~NOJAUNT_1 + for(var/obj/effect/blessing/B in T) + qdel(B) new /obj/effect/temp_visual/revenant(T) + if(!isplatingturf(T) && !istype(T, /turf/open/floor/engine/cult) && isfloorturf(T) && prob(15)) var/turf/open/floor/floor = T if(floor.intact && floor.floor_tile) diff --git a/code/game/objects/effects/blessing.dm b/code/game/objects/effects/blessing.dm new file mode 100644 index 0000000000..06ba2bb47c --- /dev/null +++ b/code/game/objects/effects/blessing.dm @@ -0,0 +1,18 @@ +/obj/effect/blessing + name = "holy blessing" + desc = "Holy energies interfere with ethereal travel at this location." + icon = 'icons/effects/effects.dmi' + icon_state = null + anchored = TRUE + density = FALSE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + +/obj/effect/blessing/Initialize(mapload) + . = ..() + for(var/obj/effect/blessing/B in loc) + if(B != src) + return INITIALIZE_HINT_QDEL + var/image/I = image(icon = 'icons/effects/effects.dmi', icon_state = "blessed", layer = ABOVE_OPEN_TURF_LAYER, loc = src) + I.alpha = 64 + I.appearance_flags = RESET_ALPHA + add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/blessedAware, "blessing", I) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 472df91354..c9d3e18743 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -264,7 +264,7 @@ M.take_damage(damage*2, BRUTE, "melee", 1) /turf/proc/Bless() - flags_1 |= NOJAUNT_1 + new /obj/effect/blessing(src) /turf/storage_contents_dump_act(obj/item/storage/src_object, mob/user) if(src_object.contents.len) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 4a7278289c..0b770888ec 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -212,9 +212,13 @@ R.stun(20) return if(stepTurf.flags_1 & NOJAUNT_1) - to_chat(L, "Holy energies block your path.") - else - L.loc = get_step(L, direct) + to_chat(L, "Some strange aura is blocking the way.") + return + if (locate(/obj/effect/blessing, stepTurf)) + to_chat(L, "Holy energies block your path!") + return + + L.loc = get_step(L, direct) L.setDir(direct) return TRUE diff --git a/code/modules/spells/spell_types/ethereal_jaunt.dm b/code/modules/spells/spell_types/ethereal_jaunt.dm index 79d53d5f49..e438966f45 100644 --- a/code/modules/spells/spell_types/ethereal_jaunt.dm +++ b/code/modules/spells/spell_types/ethereal_jaunt.dm @@ -85,12 +85,18 @@ return var/turf/newLoc = get_step(src,direction) setDir(direction) - if(!(newLoc.flags_1 & NOJAUNT_1)) - forceMove(newLoc) - else - to_chat(user, "Some strange aura is blocking the way!") + movedelay = world.time + movespeed + if(newLoc.flags_1 & NOJAUNT_1) + to_chat(user, "Some strange aura is blocking the way.") + return + if (locate(/obj/effect/blessing, newLoc)) + to_chat(user, "Holy energies block your path!") + return + + forceMove(newLoc) + /obj/effect/dummy/spell_jaunt/ex_act(blah) return /obj/effect/dummy/spell_jaunt/bullet_act(blah) diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 3451915c092bfdb8db183ef6736c3cf04c96cbc4..c05ac6d02200745d613613be4b04e37e12dcf60a 100644 GIT binary patch delta 24950 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

bYOIS8HKT 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 p!KyS$4EP{futn({xaXE@_bNmX7)M?>*-| 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 ^9AGBbLS8ik$cRaXv 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 F`5y$O+ok{j diff --git a/tgstation.dme b/tgstation.dme index 48f6d1694a..4b7ac36d32 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -820,6 +820,7 @@ #include "code\game\objects\structures.dm" #include "code\game\objects\effects\alien_acid.dm" #include "code\game\objects\effects\anomalies.dm" +#include "code\game\objects\effects\blessing.dm" #include "code\game\objects\effects\bump_teleporter.dm" #include "code\game\objects\effects\contraband.dm" #include "code\game\objects\effects\countdown.dm" From f59a365c230d22e5a0273ebc73f8501e2729d8d3 Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Sat, 20 Jan 2018 11:28:04 -0500 Subject: [PATCH 32/59] Fixes get_area_name runtime --- code/__HELPERS/game.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 67ec38bdcf..0f8860bfc9 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -15,10 +15,17 @@ return T ? T.loc : null /proc/get_area_name(atom/X, format_text = FALSE) +<<<<<<< HEAD var/area/Y = get_area(X) if(format_text) return format_text(Y.name) return Y.name +======= + var/area/A = isarea(X) ? X : get_area(X) + if(!A) + return null + return format_text ? format_text(A.name) : A.name +>>>>>>> f46dcd7... honk /proc/get_area_by_name(N) //get area by its name for(var/area/A in world) From 5f53625f0b23defcac2f6aa55303df6f1b2d00a6 Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Sat, 20 Jan 2018 15:55:38 +0500 Subject: [PATCH 33/59] fix bananium ore overlay --- icons/effects/ore_visuals.dmi | Bin 22792 -> 22791 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/effects/ore_visuals.dmi b/icons/effects/ore_visuals.dmi index 30a05b043a87d32ac5f900425eab098b93de35d9..1353a2d814ad318313b994ee7490af4e58840184 100644 GIT binary patch delta 217 zcmV;~04D#4vH^#(0gxnr!g^F#bVOxyV{&P5bZKvH004NLozbxh!Y~j9;5m7Uqur&2 z4lY@0q;zNzsIXgQw>18%dL^lwSf3S+o5Njl= ziEK3M(9GJ!s-01OQn9M+diV4}ndpDuDUijWW8ogd*8<+JHxwVORQ9imYe)9CNnzVc TkWI~BM8&$yPRZi*vG5pJrLt+} delta 218 zcmV<0044v2vH^&)0gxnr!+KO$bVOxyV{&P5bZKvH004NLmC-#5gD?;V;Mx3&L-(TK z&?So>NCu@~JC{_`dNk%rk}Cc8U0m9sG}|4#4;=3$P}Gg+plStMlyyi3IOMyOMJtYe z0uK2;WznSYHu-IHUU~%_VoSsQe6rHubB Date: Fri, 19 Jan 2018 01:35:23 -0500 Subject: [PATCH 35/59] Brass skewer runtime fix --- .../clock_cult/clock_structures/traps/brass_skewer.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_structures/traps/brass_skewer.dm b/code/game/gamemodes/clock_cult/clock_structures/traps/brass_skewer.dm index ea56aaa833..20a18d18f6 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/traps/brass_skewer.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/traps/brass_skewer.dm @@ -19,7 +19,7 @@ /obj/structure/destructible/clockwork/trap/brass_skewer/Destroy() STOP_PROCESSING(SSfastprocess, src) - if(buckled_mobs && buckled_mobs.len) + if(buckled_mobs && LAZYLEN(buckled_mobs)) var/mob/living/L = buckled_mobs[1] if(iscarbon(L)) L.Knockdown(100) @@ -30,18 +30,18 @@ /obj/structure/destructible/clockwork/trap/brass_skewer/process() if(density) - if(buckled_mobs.len) + if(buckled_mobs && LAZYLEN(buckled_mobs)) var/mob/living/spitroast = buckled_mobs[1] spitroast.adjustBruteLoss(0.1) /obj/structure/destructible/clockwork/trap/attackby(obj/item/I, mob/living/user, params) - if(user in buckled_mobs) + if(buckled_mobs && (user in buckled_mobs)) to_chat(user, "You can't reach!") return ..() /obj/structure/destructible/clockwork/trap/brass_skewer/bullet_act(obj/item/projectile/P) - if(buckled_mobs.len) + if(buckled_mobs && LAZYLEN(buckled_mobs)) var/mob/living/L = buckled_mobs[1] return L.bullet_act(P) return ..() From 5f3653f4a554cfa39aec2d957e8541d94cd8fff2 Mon Sep 17 00:00:00 2001 From: Lexorion Date: Sun, 21 Jan 2018 11:16:49 +0100 Subject: [PATCH 37/59] Adds new eldritch longsword sprite (#34678) * updates the eldritch longsword sprite * properly rewinds the left inhand animation --- icons/mob/inhands/weapons/swords_lefthand.dmi | Bin 21208 -> 22465 bytes .../mob/inhands/weapons/swords_righthand.dmi | Bin 24474 -> 25547 bytes icons/obj/items_and_weapons.dmi | Bin 114140 -> 115411 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/inhands/weapons/swords_lefthand.dmi b/icons/mob/inhands/weapons/swords_lefthand.dmi index 802b9b85f196ffba6e95ec373eceb071ae67a20e..231a98f537f4c604f5e577bdb28c9aea54e50a7b 100644 GIT binary patch literal 22465 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 K{JrV5fBpkmzw=W7 literal 24474 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

i9J=u|B`TT_zbSeC4iZQ%_^-bcB^%6{NL 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᷉x&3u!F0t4Y8`Ls_jgI% zDTDaomsn!D1l~l(WEx~S>5cnQkfgd#VnS8Mrg0}h-r0Fq?~YP5YNJj^4O1@`FT4@O z#VPYR{6$YkITl9vb0%j;2&m*7sEMAvOktaHGFL=4OduOPfI^@37xs zC(>jn5Gf~&2+FDajK)ytN=xqqrbWi!@>So;`ZP+8rg}t?zpiiRQhQRRVJr8zXP$>N zUTqziun)L+O}KcN0+PU0^N&5`z4RC_A=bxOy!-?iw%8YC`EKU_`SWvA4tb39w;naFARtxlPOf&XD6YBMQ*FP7@nzjV&_)lGHp(%uNTOp`GXUmb87^I{Q48zh!`bO2_+&T zx^mzkl`6(RyR$ zVXAq^l1sG1kGM(X?DVvzjtPYW@?#uM|>t$`)@C?^|`?2jr4{$JeWa7N$*pcadbuD}zC%V%LTc_>bi~ z$jVg-55VV+OjSmNPUD$}*J|C;jv$4`!DT#?Xrq&)xbvvpcp@lhk8}#VzZnB!Uw^>C ztoA=LXAC``P`}IcvxnFUP|&v(78S+ZoNbE_yDKZ>W5mS7ymk)%(%TzbQq>%8a1Xzi z)BYn>(g;Z%)$yoT)^M1{3^$e>XKQPPXP4o{tqc9Th|= zj0>t-6r@|&+hEaWdoVM99dIXGyMhB22P>_qE#BK-zkYotiQ0dHNjky*wNwL8R8dhW zxplqTnUM4OtoG-m#KIPCwf!gvi|1fO`Vd86&-qBycTcxO%#CPFGsCij3|n6zf||!1 zpnuF3fNl$XXK2U9%F3E0?jH|E)2r`&2PCNSaxTnjyO9h(6srB?wly*MiXK{NpF2@U zoOJ-1iL^4gMy?eh#SkSUz7y9t))*K}7|Qamb?+POBu$R{{?lmky~uaQ4qM$>)*EoD z6_J{bjZV z*u!wwemCh!-IGtxy5o-^f4w23gD_y|6-A@SF<)|VJs$eT?JXaii}w9=ZL3Xw)-#3O)Vory<~le2WB%@X=dOyUu`9)I5Rdl zNbWpao=8qX(Nk@8Nz8zlz#D6E^wYLEGI}G;K=->wM?uvthIe0?jj&%T8)CIvFMbp% zu#|-8@4ad<$;mqnDYCu=I%DO`kCyh-o?=~3<9(qQm33KaG!y0c4v$&9&3;c+CQ~^4 zqblnHd)fb}J(*Fw7jb_?(ssE7oE!o7tyWTaK$>R5MW!r2Y(xk0j$}5&I5!gx#tAI( z=JO8Cz_qP-p;m!HOod64%2PiE)=?glt+z%q1H;1+S@bIL)TaQ5hsa3Mh`XH~TkzE( zHmL)3_jlQNj1Q8NoYr3+$q9I%s`zd VDZO0Rmwy^!?#G^kT@4Gkf_QeEncrQ{rC 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%0Dj;-%fHf{)W?hc{7PsjI2S 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 delta 33190 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⪼gfjMd$IlX2R{nsnfI#T$#o#NmX$8V0 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 kAiyw<3wzLt{Rp^xzh{~40emAH0{%VJdVH@;(< Date: Sun, 21 Jan 2018 05:21:21 -0500 Subject: [PATCH 39/59] Readability over micro-optimizations (#34646) --- .github/CONTRIBUTING.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 7de3b2eb45..9b14e19b41 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -345,9 +345,7 @@ eg: var/mob/living/carbon/human/H = YOU_THE_READER H.gib() ``` -However, DM also has a dot variable, accessed just as ```.``` on its own, defaulting to a value of null. Now, what's special about the dot operator is that it is automatically returned (as in the ```return``` statement) at the end of a proc, provided the proc does not already manually return (```return count``` for example.) Why is this special? - -Well, the ```return``` statement should ideally be free from overhead (functionally free, although of course nothing's free), but DM fails to fulfill this. DM's return statement is actually fairly costly for what it does and for what it's used for. +However, DM also has a dot variable, accessed just as ```.``` on its own, defaulting to a value of null. Now, what's special about the dot operator is that it is automatically returned (as in the ```return``` statement) at the end of a proc, provided the proc does not already manually return (```return count``` for example.) Why is this special? With ```.``` being everpresent in every proc, can we use it as a temporary variable? Of course we can! However, the ```.``` operator cannot replace a typecasted variable - it can hold data any other var in DM can, it just can't be accessed as one, although the ```.``` operator is compatible with a few operators that look weird but work perfectly fine, such as: ```.++``` for incrementing ```.'s``` value, or ```.[1]``` for accessing the first element of ```.```, provided that it's a list. From 805a07de7ee1976102949260340d2dd01cbbff73 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sun, 21 Jan 2018 10:09:55 -0500 Subject: [PATCH 41/59] Merge pull request #34679 from Xhuis/patch-3 Fixes emergency lights literally never working --- code/modules/power/lighting.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index f83a4f41d8..22e78298b8 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -492,7 +492,7 @@ // if a light is turned off, it won't activate emergency power /obj/machinery/light/proc/turned_off() var/area/A = get_area(src) - return !A.lightswitch && A.power_light || !flickering + return !A.lightswitch && A.power_light || flickering // returns whether this light has power // true if area has power and lightswitch is on From 0558e83ff898764e56cce58fc4f7d9c2bf3e6e3d Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sun, 21 Jan 2018 10:12:38 -0500 Subject: [PATCH 43/59] Merge pull request #34692 from Tlaltecuhtli/revs changes min players for revs to 30 from 20 --- code/game/gamemodes/revolution/revolution.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 4c78ecca90..9fe7acd2cd 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -13,8 +13,8 @@ antag_flag = ROLE_REV false_report_weight = 10 restricted_jobs = list("Security Officer", "Warden", "Detective", "AI", "Cyborg","Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer") - required_players = 20 - required_enemies = 1 + required_players = 30 + required_enemies = 2 recommended_enemies = 3 enemy_minimum_age = 14 From c36b095146a97cf072f1b224dde3699c5a976635 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sun, 21 Jan 2018 10:13:59 -0500 Subject: [PATCH 45/59] Fixes ghost show_hud runtime --- code/_onclick/hud/ghost.dm | 90 ++++++++++++++++++++++++++++++++++++++ code/_onclick/hud/hud.dm | 41 +++++++++-------- code/_onclick/hud/human.dm | 8 ++-- 3 files changed, 116 insertions(+), 23 deletions(-) diff --git a/code/_onclick/hud/ghost.dm b/code/_onclick/hud/ghost.dm index acda7f36e5..4b1e65547e 100644 --- a/code/_onclick/hud/ghost.dm +++ b/code/_onclick/hud/ghost.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /obj/screen/ghost icon = 'icons/mob/screen_ghost.dmi' @@ -82,3 +83,92 @@ /mob/dead/observer/create_mob_hud() if(client && !hud_used) hud_used = new /datum/hud/ghost(src, ui_style2icon(client.prefs.UI_style)) +======= +/obj/screen/ghost + icon = 'icons/mob/screen_ghost.dmi' + +/obj/screen/ghost/MouseEntered() + flick(icon_state + "_anim", src) + +/obj/screen/ghost/jumptomob + name = "Jump to mob" + icon_state = "jumptomob" + +/obj/screen/ghost/jumptomob/Click() + var/mob/dead/observer/G = usr + G.jumptomob() + +/obj/screen/ghost/orbit + name = "Orbit" + icon_state = "orbit" + +/obj/screen/ghost/orbit/Click() + var/mob/dead/observer/G = usr + G.follow() + +/obj/screen/ghost/reenter_corpse + name = "Reenter corpse" + icon_state = "reenter_corpse" + +/obj/screen/ghost/reenter_corpse/Click() + var/mob/dead/observer/G = usr + G.reenter_corpse() + +/obj/screen/ghost/teleport + name = "Teleport" + icon_state = "teleport" + +/obj/screen/ghost/teleport/Click() + var/mob/dead/observer/G = usr + G.dead_tele() + +/obj/screen/ghost/pai + name = "pAI Candidate" + icon_state = "pai" + +/obj/screen/ghost/pai/Click() + var/mob/dead/observer/G = usr + G.register_pai() + +/datum/hud/ghost/New(mob/owner, ui_style = 'icons/mob/screen_midnight.dmi') + ..() + var/obj/screen/using + + using = new /obj/screen/ghost/jumptomob() + using.screen_loc = ui_ghost_jumptomob + static_inventory += using + + using = new /obj/screen/ghost/orbit() + using.screen_loc = ui_ghost_orbit + static_inventory += using + + using = new /obj/screen/ghost/reenter_corpse() + using.screen_loc = ui_ghost_reenter_corpse + static_inventory += using + + using = new /obj/screen/ghost/teleport() + using.screen_loc = ui_ghost_teleport + static_inventory += using + + using = new /obj/screen/ghost/pai() + using.screen_loc = ui_ghost_pai + static_inventory += using + + using = new /obj/screen/language_menu + using.icon = ui_style + static_inventory += using + +/datum/hud/ghost/show_hud(version = 0, mob/viewmob) + . = ..() + if(!.) + return + var/mob/screenmob = viewmob || mymob + if(!screenmob.client.prefs.ghost_hud) + screenmob.client.screen -= static_inventory + else + screenmob.client.screen += static_inventory + +/mob/dead/observer/create_mob_hud() + if(client && !hud_used) + hud_used = new /datum/hud/ghost(src, ui_style2icon(client.prefs.UI_style)) +>>>>>>> e59c43d... Merge pull request #34629 from ShizCalev/showhud-runtime diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index a212d46f99..5693e9c47e 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -7,11 +7,10 @@ /datum/hud var/mob/mymob - var/hud_shown = 1 //Used for the HUD toggle (F12) - var/hud_version = 1 //Current displayed version of the HUD - var/inventory_shown = 0 //Equipped item inventory - var/show_intent_icons = 0 - var/hotkey_ui_hidden = 0 //This is to hide the buttons that can be used via hotkeys. (hotkeybuttons list of buttons) + var/hud_shown = TRUE //Used for the HUD toggle (F12) + var/hud_version = HUD_STYLE_STANDARD //Current displayed version of the HUD + var/inventory_shown = FALSE //Equipped item inventory + var/hotkey_ui_hidden = FALSE //This is to hide the buttons that can be used via hotkeys. (hotkeybuttons list of buttons) var/obj/screen/ling/chems/lingchemdisplay var/obj/screen/ling/sting/lingstingdisplay @@ -23,7 +22,6 @@ var/obj/screen/devil/soul_counter/devilsouldisplay - var/obj/screen/nightvisionicon var/obj/screen/action_intent var/obj/screen/zone_select var/obj/screen/pull_icon @@ -40,7 +38,7 @@ var/list/obj/screen/plane_master/plane_masters = list() // see "appearance_flags" in the ref, assoc list of "[plane]" = object var/obj/screen/movable/action_button/hide_toggle/hide_actions_toggle - var/action_buttons_hidden = 0 + var/action_buttons_hidden = FALSE var/obj/screen/healths var/obj/screen/healthdoll @@ -111,7 +109,6 @@ blobpwrdisplay = null alien_plasma_display = null alien_queen_finder = null - nightvisionicon = null if(plane_masters.len) for(var/thing in plane_masters) @@ -134,10 +131,10 @@ //Version denotes which style should be displayed. blank or 0 means "next version" /datum/hud/proc/show_hud(version = 0,mob/viewmob) if(!ismob(mymob)) - return 0 + return FALSE var/mob/screenmob = viewmob || mymob if(!screenmob.client) - return 0 + return FALSE screenmob.client.screen = list() screenmob.client.apply_clickcatcher() @@ -150,7 +147,7 @@ switch(display_hud_version) if(HUD_STYLE_STANDARD) //Default HUD - hud_shown = 1 //Governs behavior of other procs + hud_shown = TRUE //Governs behavior of other procs if(static_inventory.len) screenmob.client.screen += static_inventory if(toggleable_inventory.len && screenmob.hud_used && screenmob.hud_used.inventory_shown) @@ -166,7 +163,7 @@ action_intent.screen_loc = initial(action_intent.screen_loc) //Restore intent selection to the original position if(HUD_STYLE_REDUCED) //Reduced HUD - hud_shown = 0 //Governs behavior of other procs + hud_shown = FALSE //Governs behavior of other procs if(static_inventory.len) screenmob.client.screen -= static_inventory if(toggleable_inventory.len) @@ -186,7 +183,7 @@ action_intent.screen_loc = ui_acti_alt //move this to the alternative position, where zone_select usually is. if(HUD_STYLE_NOHUD) //No HUD - hud_shown = 0 //Governs behavior of other procs + hud_shown = FALSE //Governs behavior of other procs if(static_inventory.len) screenmob.client.screen -= static_inventory if(toggleable_inventory.len) @@ -201,17 +198,23 @@ hud_version = display_hud_version persistent_inventory_update(screenmob) - mymob.update_action_buttons(1) + screenmob.update_action_buttons(1) reorganize_alerts() - mymob.reload_fullscreen() + screenmob.reload_fullscreen() update_parallax_pref(screenmob) + return TRUE /datum/hud/human/show_hud(version = 0,mob/viewmob) - ..() - hidden_inventory_update(viewmob) + . = ..() + if(!.) + return + var/mob/screenmob = viewmob || mymob + hidden_inventory_update(screenmob) /datum/hud/robot/show_hud(version = 0, mob/viewmob) - ..() + . = ..() + if(!.) + return update_robot_modules_display() /datum/hud/proc/hidden_inventory_update() @@ -224,7 +227,7 @@ //Triggered when F12 is pressed (Unless someone changed something in the DMF) /mob/verb/button_pressed_F12() set name = "F12" - set hidden = 1 + set hidden = TRUE if(hud_used && client) hud_used.show_hud() //Shows the next hud preset diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index fe53528155..f9f1849c87 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -15,10 +15,10 @@ targetmob = M if(usr.hud_used.inventory_shown && targetmob.hud_used) - usr.hud_used.inventory_shown = 0 + usr.hud_used.inventory_shown = FALSE usr.client.screen -= targetmob.hud_used.toggleable_inventory else - usr.hud_used.inventory_shown = 1 + usr.hud_used.inventory_shown = TRUE usr.client.screen += targetmob.hud_used.toggleable_inventory targetmob.hud_used.hidden_inventory_update(usr) @@ -438,7 +438,7 @@ if(hud_used.hotkey_ui_hidden) client.screen += hud_used.hotkeybuttons - hud_used.hotkey_ui_hidden = 0 + hud_used.hotkey_ui_hidden = FALSE else client.screen -= hud_used.hotkeybuttons - hud_used.hotkey_ui_hidden = 1 + hud_used.hotkey_ui_hidden = TRUE From a7c9593aa6beb3955b14e565f4dcd7a6fa9d458d Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sun, 21 Jan 2018 10:15:26 -0500 Subject: [PATCH 46/59] Merge pull request #34695 from AnturK/brotherobjectivefix Fixes brother objectives not showing in TP --- code/datums/antagonists/brother.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/datums/antagonists/brother.dm b/code/datums/antagonists/brother.dm index e4c43ef788..fc690fd2bb 100644 --- a/code/datums/antagonists/brother.dm +++ b/code/datums/antagonists/brother.dm @@ -17,14 +17,15 @@ /datum/antagonist/brother/on_gain() SSticker.mode.brothers += owner - owner.objectives += team.objectives + objectives += team.objectives + owner.objectives += objectives owner.special_role = special_role finalize_brother() return ..() /datum/antagonist/brother/on_removal() SSticker.mode.brothers -= owner - owner.objectives -= team.objectives + owner.objectives -= objectives if(owner.current) to_chat(owner.current,"You are no longer the [special_role]!") owner.special_role = null From c4f0e121dd0cdbf6c0395017dc1461f13b7f13b6 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 21 Jan 2018 11:47:10 -0600 Subject: [PATCH 48/59] Automatic changelog generation for PR #4929 [ci skip] --- html/changelogs/AutoChangeLog-pr-4929.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4929.yml diff --git a/html/changelogs/AutoChangeLog-pr-4929.yml b/html/changelogs/AutoChangeLog-pr-4929.yml new file mode 100644 index 0000000000..2f78ca8c6a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4929.yml @@ -0,0 +1,6 @@ +author: "Robustin" +delete-after: True +changes: + - bugfix: "Fixed frost oil (cryosting) sending insulated crewmembers below absolute zero temperatures." + - bugfix: "Fixed damaging cold temps being a death sentence to simple mobs (they wouldn't heat back up to safe temps at room temperature)." + - refactor: "Refactored human temperature code, insulating clothing now helps you stay warm but going unprotected will help you cool off. However, you will now benefit from colder temps when you're overheating even in full EVA/hardsuit gear and you will warm up faster at room temperature in insulated gear as well (i.e. putting on a winter coat will no longer suppress your temperature if your already cold)." From 5e7710ee64a59e3b01e43048a9cf89800b34dff3 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 21 Jan 2018 11:48:09 -0600 Subject: [PATCH 49/59] Automatic changelog generation for PR #4954 [ci skip] --- html/changelogs/AutoChangeLog-pr-4954.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4954.yml diff --git a/html/changelogs/AutoChangeLog-pr-4954.yml b/html/changelogs/AutoChangeLog-pr-4954.yml new file mode 100644 index 0000000000..fe18bb3685 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4954.yml @@ -0,0 +1,4 @@ +author: "XDTM" +delete-after: True +changes: + - bugfix: "Slimes no longer attack people with their same faction." From b93bd3ca4cae17018c909460e1123a335e1228ed Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 21 Jan 2018 11:49:53 -0600 Subject: [PATCH 50/59] Automatic changelog generation for PR #4978 [ci skip] --- html/changelogs/AutoChangeLog-pr-4978.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4978.yml diff --git a/html/changelogs/AutoChangeLog-pr-4978.yml b/html/changelogs/AutoChangeLog-pr-4978.yml new file mode 100644 index 0000000000..5aac9860ca --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4978.yml @@ -0,0 +1,4 @@ +author: "WJohnston" +delete-after: True +changes: + - imageadd: "Wirecutter greyscaling is now less ugly" From 9d8a375adc0e037c1d8049d4a3ef067976128a23 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 21 Jan 2018 11:50:40 -0600 Subject: [PATCH 51/59] Update README.md --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 862e166821..1bdc45fa63 100644 --- a/README.md +++ b/README.md @@ -130,8 +130,6 @@ To enable an away mission open `config/awaymissionconfig.txt` and uncomment one The SQL backend requires a Mariadb server running 10.2 or later. Mysql is not supported but Mariadb is a drop in replacement for mysql. SQL is required for the library, stats tracking, admin notes, and job-only bans, among other features, mostly related to server administration. Your server details go in /config/dbconfig.txt, and the SQL schema is in /SQL/tgstation_schema.sql and /SQL/tgstation_schema_prefix.sql depending on if you want table prefixes. More detailed setup instructions are located here: https://www.tgstation13.org/wiki/Downloading_the_source_code#Setting_up_the_database -<<<<<<< HEAD -======= ## WEB/CDN RESOURCE DELIVERY Web delivery of game resources makes it quicker for players to join and reduces some of the stress on the game server. @@ -141,7 +139,6 @@ Web delivery of game resources makes it quicker for players to join and reduces * If you keep up to date with /tg/ you could reuse /tg/'s rsc cdn at http://tgstation13.download/byond/tgstation.zip. Otherwise you can use cdn services like CDN77 or cloudflare (requires adding a page rule to enable caching of the zip), or roll your own cdn using route 53 and vps providers. * Regardless even offloading the rsc to a website without a CDN will be a massive improvement over the in game system for transferring files. ->>>>>>> 34d51dc... Adds nightlies and cdn info ## IRC BOT SETUP Included in the repository is a python3 compatible IRC bot capable of relaying adminhelps to a specified From 26c34990fc5cf3543ad0caee383d85fd092c2887 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 21 Jan 2018 11:54:18 -0600 Subject: [PATCH 52/59] Automatic changelog generation for PR #4984 [ci skip] --- html/changelogs/AutoChangeLog-pr-4984.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4984.yml diff --git a/html/changelogs/AutoChangeLog-pr-4984.yml b/html/changelogs/AutoChangeLog-pr-4984.yml new file mode 100644 index 0000000000..7bcdcd1d76 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4984.yml @@ -0,0 +1,9 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - balance: "foam and smoke now get 4x the reagents as they should according to the comments" + - bugfix: "fixes pyrosium and cryostylane not heating or cooling humans at all" + - bugfix: "fixes cryostylane cooling beakers to negative kelvin, it's now limited to what the description says" + - bugfix: "fixes cryostylane cooling people to negative body temperature" + - code_imp: "removed redundant check in trans_to" + - code_imp: "fixes a runtime when total_volume is 0 in copy_to" From 5029e1294f5d201392236dd8304e65ce9aa8e4bd Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 21 Jan 2018 11:55:25 -0600 Subject: [PATCH 53/59] Automatic changelog generation for PR #4985 [ci skip] --- html/changelogs/AutoChangeLog-pr-4985.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4985.yml diff --git a/html/changelogs/AutoChangeLog-pr-4985.yml b/html/changelogs/AutoChangeLog-pr-4985.yml new file mode 100644 index 0000000000..fc731138f9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4985.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - tweak: "Gas reagents (o2, plasma, ...) now dump out gas based on container temperature instead of room temperature" From 327d4401cd3a66e90c5a0f131d3eee1f8a3e8c49 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 21 Jan 2018 11:55:54 -0600 Subject: [PATCH 54/59] Automatic changelog generation for PR #4986 [ci skip] --- html/changelogs/AutoChangeLog-pr-4986.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4986.yml diff --git a/html/changelogs/AutoChangeLog-pr-4986.yml b/html/changelogs/AutoChangeLog-pr-4986.yml new file mode 100644 index 0000000000..05c15b0984 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4986.yml @@ -0,0 +1,4 @@ +author: "Dax Dupont & Coiax" +delete-after: True +changes: + - rscadd: "Praise the lord for he has granted thy chaplains, wizards, revenants and eminences with holy vision. They can now see blessed tiles." From c158d2f6dda5fc2577286aa98cb12322100bbc98 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 21 Jan 2018 11:56:09 -0600 Subject: [PATCH 55/59] Update game.dm --- code/__HELPERS/game.dm | 7 ------- 1 file changed, 7 deletions(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 0f8860bfc9..2d200438ef 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -15,17 +15,10 @@ return T ? T.loc : null /proc/get_area_name(atom/X, format_text = FALSE) -<<<<<<< HEAD - var/area/Y = get_area(X) - if(format_text) - return format_text(Y.name) - return Y.name -======= var/area/A = isarea(X) ? X : get_area(X) if(!A) return null return format_text ? format_text(A.name) : A.name ->>>>>>> f46dcd7... honk /proc/get_area_by_name(N) //get area by its name for(var/area/A in world) From 977b57573d1d823c51d4e2bb578b577ac4ac97bd Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 21 Jan 2018 11:56:42 -0600 Subject: [PATCH 56/59] Automatic changelog generation for PR #4988 [ci skip] --- html/changelogs/AutoChangeLog-pr-4988.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4988.yml diff --git a/html/changelogs/AutoChangeLog-pr-4988.yml b/html/changelogs/AutoChangeLog-pr-4988.yml new file mode 100644 index 0000000000..373705280e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4988.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - bugfix: "Bananium shows up on mining scanners again" From f692ffaa0c21569c30c6988301d7166f52390a12 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 21 Jan 2018 12:01:45 -0600 Subject: [PATCH 57/59] Automatic changelog generation for PR #4992 [ci skip] --- html/changelogs/AutoChangeLog-pr-4992.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4992.yml diff --git a/html/changelogs/AutoChangeLog-pr-4992.yml b/html/changelogs/AutoChangeLog-pr-4992.yml new file mode 100644 index 0000000000..84d5717ecd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4992.yml @@ -0,0 +1,4 @@ +author: "Xhuis" +delete-after: True +changes: + - bugfix: "Emergency lights now function correctly." From 923b72e13851f116ba9f0d555789057a4bf70a2a Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 21 Jan 2018 14:19:48 -0600 Subject: [PATCH 58/59] Update ghost.dm --- code/_onclick/hud/ghost.dm | 87 -------------------------------------- 1 file changed, 87 deletions(-) diff --git a/code/_onclick/hud/ghost.dm b/code/_onclick/hud/ghost.dm index 4b1e65547e..50bf9c9222 100644 --- a/code/_onclick/hud/ghost.dm +++ b/code/_onclick/hud/ghost.dm @@ -1,89 +1,3 @@ -<<<<<<< HEAD -/obj/screen/ghost - icon = 'icons/mob/screen_ghost.dmi' - -/obj/screen/ghost/MouseEntered() - flick(icon_state + "_anim", src) - -/obj/screen/ghost/jumptomob - name = "Jump to mob" - icon_state = "jumptomob" - -/obj/screen/ghost/jumptomob/Click() - var/mob/dead/observer/G = usr - G.jumptomob() - -/obj/screen/ghost/orbit - name = "Orbit" - icon_state = "orbit" - -/obj/screen/ghost/orbit/Click() - var/mob/dead/observer/G = usr - G.follow() - -/obj/screen/ghost/reenter_corpse - name = "Reenter corpse" - icon_state = "reenter_corpse" - -/obj/screen/ghost/reenter_corpse/Click() - var/mob/dead/observer/G = usr - G.reenter_corpse() - -/obj/screen/ghost/teleport - name = "Teleport" - icon_state = "teleport" - -/obj/screen/ghost/teleport/Click() - var/mob/dead/observer/G = usr - G.dead_tele() - -/obj/screen/ghost/pai - name = "pAI Candidate" - icon_state = "pai" - -/obj/screen/ghost/pai/Click() - var/mob/dead/observer/G = usr - G.register_pai() - -/datum/hud/ghost/New(mob/owner, ui_style = 'icons/mob/screen_midnight.dmi') - ..() - var/obj/screen/using - - using = new /obj/screen/ghost/jumptomob() - using.screen_loc = ui_ghost_jumptomob - static_inventory += using - - using = new /obj/screen/ghost/orbit() - using.screen_loc = ui_ghost_orbit - static_inventory += using - - using = new /obj/screen/ghost/reenter_corpse() - using.screen_loc = ui_ghost_reenter_corpse - static_inventory += using - - using = new /obj/screen/ghost/teleport() - using.screen_loc = ui_ghost_teleport - static_inventory += using - - using = new /obj/screen/ghost/pai() - using.screen_loc = ui_ghost_pai - static_inventory += using - - using = new /obj/screen/language_menu - using.icon = ui_style - static_inventory += using - -/datum/hud/ghost/show_hud(version = 0, mob/viewmob) - ..() - if(!mymob.client.prefs.ghost_hud) - mymob.client.screen -= static_inventory - else - mymob.client.screen += static_inventory - -/mob/dead/observer/create_mob_hud() - if(client && !hud_used) - hud_used = new /datum/hud/ghost(src, ui_style2icon(client.prefs.UI_style)) -======= /obj/screen/ghost icon = 'icons/mob/screen_ghost.dmi' @@ -171,4 +85,3 @@ /mob/dead/observer/create_mob_hud() if(client && !hud_used) hud_used = new /datum/hud/ghost(src, ui_style2icon(client.prefs.UI_style)) ->>>>>>> e59c43d... Merge pull request #34629 from ShizCalev/showhud-runtime From 3a34f68f9d80744383dd63c573c1eb95b60add96 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 21 Jan 2018 16:37:10 -0600 Subject: [PATCH 59/59] Automatic changelog generation for PR #4993 [ci skip] --- html/changelogs/AutoChangeLog-pr-4993.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4993.yml diff --git a/html/changelogs/AutoChangeLog-pr-4993.yml b/html/changelogs/AutoChangeLog-pr-4993.yml new file mode 100644 index 0000000000..5366599d25 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4993.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - tweak: "min player req for rev is 30 now"