diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 9805599a28..da7410fd46 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -317,7 +317,7 @@ dir = 8; icon_state = "diagonalWall3" }, -/area/space) +/area/security/prison) "aaV" = ( /turf/closed/wall/mineral/titanium, /area/shuttle/pod_2) @@ -327,7 +327,7 @@ dir = 1; icon_state = "diagonalWall3" }, -/area/space) +/area/security/prison) "aaY" = ( /obj/structure/cable{ icon_state = "1-2" @@ -22505,7 +22505,7 @@ req_access_txt = "10" }, /turf/open/floor/plating, -/area/engine/engineering) +/area/maintenance/starboard) "aVh" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -27482,7 +27482,7 @@ dir = 4 }, /turf/open/floor/plating, -/area/janitor) +/area/maintenance/central) "bfo" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -34724,7 +34724,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, -/area/engine/break_room) +/area/maintenance/starboard) "btA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -36212,7 +36212,7 @@ dir = 8 }, /turf/open/floor/plating, -/area/crew_quarters/heads/captain/private) +/area/maintenance/central) "bwH" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 @@ -45468,7 +45468,7 @@ dir = 4 }, /turf/open/floor/plating, -/area/gateway) +/area/maintenance/central) "bQy" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -46700,7 +46700,7 @@ icon_state = "4-8" }, /turf/open/floor/plating, -/area/crew_quarters/kitchen) +/area/maintenance/starboard) "bTa" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -52046,7 +52046,7 @@ req_one_access_txt = "0" }, /turf/open/floor/plating, -/area/hydroponics) +/area/maintenance/starboard/aft) "cdV" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -55242,7 +55242,7 @@ }, /obj/structure/disposalpipe/segment, /turf/open/space, -/area/space) +/area/maintenance/disposal/incinerator) "ckD" = ( /obj/machinery/doorButtons/access_button{ idDoor = "incinerator_airlock_exterior"; @@ -56225,7 +56225,7 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, -/area/science/research) +/area/maintenance/starboard/aft) "cmN" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -58078,7 +58078,7 @@ req_access_txt = "40" }, /turf/open/floor/plating, -/area/crew_quarters/heads/cmo) +/area/maintenance/aft) "cqq" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -58752,7 +58752,7 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, -/area/medical/chemistry) +/area/maintenance/aft) "crF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/item/device/radio/intercom{ @@ -59473,7 +59473,7 @@ dir = 4 }, /turf/open/floor/plating, -/area/science/research) +/area/maintenance/aft) "csV" = ( /obj/structure/disposalpipe/junction{ dir = 8 @@ -59789,7 +59789,7 @@ }, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, -/area/medical/genetics) +/area/maintenance/aft) "ctD" = ( /obj/structure/sign/directions/evac, /turf/closed/wall, @@ -59848,7 +59848,7 @@ req_one_access_txt = "7;47;29" }, /turf/open/floor/plating, -/area/science/misc_lab/range) +/area/maintenance/aft) "ctN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/light{ @@ -60841,7 +60841,7 @@ }, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, -/area/science/robotics/mechbay) +/area/maintenance/aft) "cvJ" = ( /obj/structure/sign/nosmoking_2{ pixel_x = -29 @@ -67721,7 +67721,7 @@ dir = 1 }, /turf/open/floor/plating, -/area/science/lab) +/area/maintenance/aft) "cJn" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -78755,7 +78755,7 @@ pixel_x = 32 }, /turf/open/floor/plating, -/area/science/research) +/area/maintenance/starboard/aft) "diI" = ( /obj/item/poster/random_contraband, /obj/item/poster/random_contraband, @@ -79516,7 +79516,7 @@ req_access_txt = "12" }, /turf/open/floor/plating, -/area/crew_quarters/locker) +/area/maintenance/starboard/fore) "dtP" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -80743,6 +80743,20 @@ /obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating, /area/engine/atmos) +"EDx" = ( +/turf/open/space, +/turf/closed/wall/mineral/plastitanium{ + dir = 8; + icon_state = "diagonalWall3" + }, +/area/hallway/secondary/entry) +"EDy" = ( +/turf/open/space, +/turf/closed/wall/mineral/plastitanium{ + dir = 1; + icon_state = "diagonalWall3" + }, +/area/hallway/secondary/entry) (1,1,1) = {" aaa @@ -89844,8 +89858,8 @@ aaa aaa aaa aaa -aaU -blx +EDx +aRA aRA aRA aRA @@ -90872,13 +90886,8 @@ aaa aaa aaf aaa -<<<<<<< HEAD -aaX -blx -======= -EDx +EDy aRA ->>>>>>> 84f0306... Cleans up floors.dmi a bit and adds new turf decals. (#32860) aRA aRA aRA @@ -100955,7 +100964,7 @@ coE cpZ coB csp -ctp +csr duH dyg ceu @@ -118598,7 +118607,7 @@ aaa aaa aaf aaa -blx +acP adl bih adl @@ -118855,11 +118864,7 @@ aaa aaa aaf aaa -<<<<<<< HEAD -blx -======= -EDB ->>>>>>> 84f0306... Cleans up floors.dmi a bit and adds new turf decals. (#32860) +acP adl aQf adl diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index d1c6ffcd44..c0ed0a47cf 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -372,7 +372,7 @@ "acF" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on, /turf/open/floor/plating/airless, -/area/space) +/area/ai_monitored/turret_protected/AIsatextAS) "acG" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -35497,7 +35497,7 @@ layer = 2.9 }, /turf/open/floor/plating/airless, -/area/space/nearstation) +/area/chapel/dock) "bGH" = ( /obj/structure/window/reinforced, /turf/open/space, @@ -43480,7 +43480,7 @@ dir = 1 }, /turf/open/floor/plating/airless, -/area/space) +/area/engine/atmos) "bZL" = ( /obj/machinery/atmospherics/pipe/simple, /obj/structure/grille, @@ -45191,7 +45191,7 @@ dir = 1 }, /turf/open/floor/plating/airless, -/area/space/nearstation) +/area/maintenance/disposal/incinerator) "ceB" = ( /obj/structure/window/reinforced/fulltile, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -47280,7 +47280,7 @@ dir = 4 }, /turf/open/floor/plating/airless, -/area/space) +/area/science/mixing) "cly" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -51246,6 +51246,18 @@ "cCA" = ( /turf/closed/wall, /area/science/lab) +"cCF" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/maintenance/department/chapel/monastery) +"cCG" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/tcommsat/computer) (1,1,1) = {" aaa @@ -66344,7 +66356,7 @@ cvX cke cky cld -ceA +cCF aaa aaa aaa @@ -67379,10 +67391,10 @@ cfN cfN cfN aaa -cxG -cxG -cxG -cxG +aaa +aaa +aaa +aaa cjp cyU cjp @@ -67635,10 +67647,10 @@ caS caS caS caS -cxF -cxF -cxF -cxF +aht +aht +aht +aht cjp cjp ckH @@ -67892,10 +67904,10 @@ cfN caS cfN aaa -cxG -cxG -cxG -cxG +aaa +aaa +aaa +aaa cjp ckW ckH @@ -68149,10 +68161,10 @@ cfN caS caS aht -cxF -cxF -cxF -cxF +aht +aht +aht +aht cjp ckW ckH @@ -68406,10 +68418,10 @@ cwe cwe cfN aaa -cxG -cxG -cxG -cxG +aaa +aaa +aaa +aaa cjp cyP ckH @@ -69691,10 +69703,10 @@ cln cwe cfN aaa -cxG -cxG -cxG -cxG +aaa +aaa +aaa +aaa cjp cyS ckH @@ -69948,10 +69960,10 @@ cln cwe caS aht -cxF -cxF -cxF -cxF +aht +aht +aht +aht cjp cko ckH @@ -70205,10 +70217,10 @@ cln cwe cfN cfN -cxG -cxG -cxG -cxG +aaa +aaa +aaa +aaa cjp cyT ckH @@ -70462,10 +70474,10 @@ cwe cwe caS caS -cxF -cxF -cxF -cxF +aht +aht +aht +aht cjp cjp ckH @@ -70720,10 +70732,10 @@ cfN cfN cfN aaa -cxG -cxG -cxG -cxF +aaa +aaa +aaa +aht cjp cyU cjp @@ -80231,7 +80243,7 @@ aaa aaa aaa aaa -clx +cCG clw clw clw diff --git a/_maps/shuttles/emergency_airless.dmm b/_maps/shuttles/emergency_airless.dmm index 444a104f1d..5e4eeab679 100644 --- a/_maps/shuttles/emergency_airless.dmm +++ b/_maps/shuttles/emergency_airless.dmm @@ -3,329 +3,605 @@ /turf/open/space, /area/space) "b" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plating/airless, /area/shuttle/escape) "c" = ( -/turf/closed/wall, +/turf/closed/wall/mineral/plastitanium, /area/shuttle/escape) "d" = ( -/obj/structure/closet/malf, +/obj/structure/window/reinforced, +/obj/structure/shuttle/engine/heater{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plating/airless, /area/shuttle/escape) "e" = ( -/obj/machinery/status_display, /turf/closed/wall, /area/shuttle/escape) "f" = ( -/obj/effect/shuttle_build, /turf/open/floor/plating/airless, /area/shuttle/escape) "g" = ( -/turf/open/floor/plating, +/obj/docking_port/mobile/emergency{ + dwidth = 11; + height = 18; + name = "Shuttle Under Construction"; + port_direction = 4; + preferred_direction = 2; + timid = 1; + width = 30 + }, +/turf/open/floor/plating/airless, /area/shuttle/escape) "h" = ( -/obj/docking_port/mobile/emergency{ - name = "Shuttle Under Construction"; - timid = 1 - }, +/obj/effect/shuttle_build, /turf/open/floor/plating/airless, /area/shuttle/escape) "i" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 4; - name = "4maintenance loot spawner" - }, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"j" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/shuttle/engine/heater, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"k" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"l" = ( -/obj/structure/closet/malf, -/obj/machinery/light/built{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"m" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 4; - name = "4maintenance loot spawner" - }, -/obj/machinery/light/built{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/shuttle/escape) +/turf/open/space/basic, +/area/space) (1,1,1) = {" a -a -a -a -a -a -b +c +e +f +f +f +f +f +f +f +f g -b -h -b -b -b -b -a -a -a -a -a -a +f +f +f +f +f +f +f +f +f +f +e +e a +i +i +i a "} (2,1,1) = {" -a b -c +d +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f e -b -b -b -b -b -b -b -b -b -b -b -b -b -c -c -c a +i +i +i a "} (3,1,1) = {" b -b d -l -d -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -j -k +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +a +i +i +i +a "} (4,1,1) = {" b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -j -k +d +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +e +a +i +i +i +a "} (5,1,1) = {" -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -j -k +c +c +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +e +e +f +f +e +e "} (6,1,1) = {" b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -j -k +d +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +e "} (7,1,1) = {" b -b -b +d +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f f -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -j -k "} (8,1,1) = {" -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -j -k +c +c +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f "} (9,1,1) = {" b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -i -m -i -b -b -j -k +d +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f "} (10,1,1) = {" -a b -b -b -b -b -b -b -b -b -b -b -b -b -b -c -e -c -b -c -a -a +d +f +f +f +f +f +f +f +f +f +f +f +f +f +h +f +f +f +f +f +f +f +f +f +f +f +f +f "} (11,1,1) = {" -a -a -a -a -a -a -c -c -c c c +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +"} +(12,1,1) = {" b +d +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +"} +(13,1,1) = {" +b +d +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +e +"} +(14,1,1) = {" c c -a -a -a +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +e +e +f +f +e +e +"} +(15,1,1) = {" +b +d +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +e +a +a +a +a +a +"} +(16,1,1) = {" +b +d +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +a +a +a +a +a +"} +(17,1,1) = {" +b +d +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +e +a +a +a +a +a +"} +(18,1,1) = {" +a +c +e +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +f +e +e a a a diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 0b79afb941..ca35aa7e47 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -84,18 +84,6 @@ init_subtypes(/datum/crafting_recipe, GLOB.crafting_recipes) -/* // Uncomment to debug chemical reaction list. -/client/verb/debug_chemical_list() - - for (var/reaction in chemical_reactions_list) - . += "chemical_reactions_list\[\"[reaction]\"\] = \"[chemical_reactions_list[reaction]]\"\n" - if(islist(chemical_reactions_list[reaction])) - var/list/L = chemical_reactions_list[reaction] - for(var/t in L) - . += " has: [t]\n" - to_chat(world, .) -*/ - //creates every subtype of prototype (excluding prototype) and adds it to list L. //if no list/L is provided, one is created. /proc/init_subtypes(prototype, list/L) diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 6b014efd6a..99c540ec34 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -865,8 +865,7 @@ The _flatIcons list is a cache for generated icon files. /mob/proc/AddCamoOverlay(atom/A)//A is the atom which we are using as the overlay. var/icon/opacity_icon = new(A.icon, A.icon_state)//Don't really care for overlays/underlays. //Now we need to culculate overlays+underlays and add them together to form an image for a mask. - //var/icon/alpha_mask = getFlatIcon(src)//Accurate but SLOW. Not designed for running each tick. Could have other uses I guess. - var/icon/alpha_mask = getIconMask(src)//Which is why I created that proc. Also a little slow since it's blending a bunch of icons together but good enough. + var/icon/alpha_mask = getIconMask(src)//getFlatIcon(src) is accurate but SLOW. Not designed for running each tick. This is also a little slow since it's blending a bunch of icons together but good enough. opacity_icon.AddAlphaMask(alpha_mask)//Likely the main source of lag for this proc. Probably not designed to run each tick. opacity_icon.ChangeOpacity(0.4)//Front end for MapColors so it's fast. 0.5 means half opacity and looks the best in my opinion. for(var/i=0,i<5,i++)//And now we add it as overlays. It's faster than creating an icon and then merging it. diff --git a/code/__HELPERS/sorts/__main.dm b/code/__HELPERS/sorts/__main.dm index c7ccfa97d7..768622818f 100644 --- a/code/__HELPERS/sorts/__main.dm +++ b/code/__HELPERS/sorts/__main.dm @@ -27,7 +27,6 @@ GLOBAL_DATUM_INIT(sortInstance, /datum/sortInstance, new()) //Stores information regarding runs yet to be merged. //Run i starts at runBase[i] and extends for runLen[i] elements. //runBase[i] + runLen[i] == runBase[i+1] - //var/stackSize var/list/runBases = list() var/list/runLens = list() @@ -326,8 +325,6 @@ GLOBAL_DATUM_INIT(sortInstance, /datum/sortInstance, new()) while(offset < maxOffset && call(cmp)(key, fetchElement(L,base+hint-offset)) < 0) //we are iterating backwards lastOffset = offset offset = (offset << 1) + 1 //1 3 7 15 - //if(offset <= 0) //int overflow, not an issue here since we are using floats - // offset = maxOffset if(offset > maxOffset) offset = maxOffset @@ -341,8 +338,6 @@ GLOBAL_DATUM_INIT(sortInstance, /datum/sortInstance, new()) while(offset < maxOffset && call(cmp)(key, fetchElement(L,base+hint+offset)) >= 0) lastOffset = offset offset = (offset << 1) + 1 - //if(offset <= 0) //int overflow, not an issue here since we are using floats - // offset = maxOffset if(offset > maxOffset) offset = maxOffset @@ -575,7 +570,6 @@ GLOBAL_DATUM_INIT(sortInstance, /datum/sortInstance, new()) //If array is small, do an insertion sort if(remaining < MIN_MERGE) - //var/initRunLen = countRunAndMakeAscending(start, end) binarySort(start, end, start/*+initRunLen*/) return @@ -637,8 +631,6 @@ GLOBAL_DATUM_INIT(sortInstance, /datum/sortInstance, new()) break ++end1 ++cursor1 - //if(++cursor1 >= end1) - // break val2 = fetchElement(L,cursor2) diff --git a/code/__HELPERS/time.dm b/code/__HELPERS/time.dm index e3ce12397e..74c565da52 100644 --- a/code/__HELPERS/time.dm +++ b/code/__HELPERS/time.dm @@ -19,10 +19,6 @@ if(month == MM && day == DD) return 1 - // Uncomment this out when debugging! - //else - //return 1 - //returns timestamp in a sql and ISO 8601 friendly format /proc/SQLtime(timevar) if(!timevar) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 41ee61f780..5e266fdaa2 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -64,7 +64,6 @@ Turf and target are separate in case you want to teleport some distance from a t errorx = abs(errorx)//Error should never be negative. errory = abs(errory) - //var/errorxy = round((errorx+errory)/2)//Used for diagonal boxes. switch(target.dir)//This can be done through equations but switch is the simpler method. And works fast to boot. //Directs on what values need modifying. @@ -340,10 +339,6 @@ Turf and target are separate in case you want to teleport some distance from a t moblist.Add(M) for(var/mob/living/simple_animal/M in sortmob) moblist.Add(M) -// for(var/mob/living/silicon/hivebot/M in world) -// mob_list.Add(M) -// for(var/mob/living/silicon/hive_mainframe/M in world) -// mob_list.Add(M) for(var/mob/living/carbon/true_devil/M in sortmob) moblist.Add(M) return moblist @@ -1447,7 +1442,6 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) var/target_loc = target.loc var/endtime = world.time+time -// var/starttime = world.time . = TRUE while (world.time < endtime) stoplag(1) diff --git a/code/_js/byjax.dm b/code/_js/byjax.dm index 895cfc91d9..5557440d32 100644 --- a/code/_js/byjax.dm +++ b/code/_js/byjax.dm @@ -1,50 +1,47 @@ -//this function places received data into element with specified id. -#define js_byjax {" - -function replaceContent() { - var args = Array.prototype.slice.call(arguments); - var id = args\[0\]; - var content = args\[1\]; - var callback = null; - if(args\[2\]){ - callback = args\[2\]; - if(args\[3\]){ - args = args.slice(3); - } - } - var parent = document.getElementById(id); - if(typeof(parent)!=='undefined' && parent!=null){ - parent.innerHTML = content?content:''; - } - if(callback && window\[callback\]){ - window\[callback\].apply(null,args); - } -} -"} - -/* -sends data to control_id:replaceContent - -receiver - mob -control_id - window id (for windows opened with browse(), it'll be "windowname.browser") -target_element - HTML element id -new_content - HTML content -callback - js function that will be called after the data is sent -callback_args - arguments for callback function - -Be sure to include required js functions in your page, or it'll raise an exception. -*/ -/proc/send_byjax(receiver, control_id, target_element, new_content=null, callback=null, list/callback_args=null) - if(receiver && target_element && control_id) // && winexists(receiver, control_id)) - var/list/argums = list(target_element, new_content) - if(callback) - argums += callback - if(callback_args) - argums += callback_args - argums = list2params(argums) -/* if(callback_args) - argums += "&[list2params(callback_args)]" -*/ - receiver << output(argums,"[control_id]:replaceContent") - return - +//this function places received data into element with specified id. +#define js_byjax {" + +function replaceContent() { + var args = Array.prototype.slice.call(arguments); + var id = args\[0\]; + var content = args\[1\]; + var callback = null; + if(args\[2\]){ + callback = args\[2\]; + if(args\[3\]){ + args = args.slice(3); + } + } + var parent = document.getElementById(id); + if(typeof(parent)!=='undefined' && parent!=null){ + parent.innerHTML = content?content:''; + } + if(callback && window\[callback\]){ + window\[callback\].apply(null,args); + } +} +"} + +/* +sends data to control_id:replaceContent + +receiver - mob +control_id - window id (for windows opened with browse(), it'll be "windowname.browser") +target_element - HTML element id +new_content - HTML content +callback - js function that will be called after the data is sent +callback_args - arguments for callback function + +Be sure to include required js functions in your page, or it'll raise an exception. +*/ +/proc/send_byjax(receiver, control_id, target_element, new_content=null, callback=null, list/callback_args=null) + if(receiver && target_element && control_id) // && winexists(receiver, control_id)) + var/list/argums = list(target_element, new_content) + if(callback) + argums += callback + if(callback_args) + argums += callback_args + argums = list2params(argums) + + receiver << output(argums,"[control_id]:replaceContent") + return diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index 95ee0c317a..e97f4d5426 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -80,12 +80,6 @@ set_waypoint(A) return - /* - AI restrained() currently does nothing - if(restrained()) - RestrainedClickOn(A) - else - */ A.attack_ai(src) /* diff --git a/code/controllers/subsystem/events.dm b/code/controllers/subsystem/events.dm index 3aa1747dee..e70fd1cd7d 100644 --- a/code/controllers/subsystem/events.dm +++ b/code/controllers/subsystem/events.dm @@ -57,8 +57,6 @@ SUBSYSTEM_DEF(events) /datum/controller/subsystem/events/proc/spawnEvent() set waitfor = FALSE //for the admin prompt if(!CONFIG_GET(flag/allow_random_events)) -// var/datum/round_event_control/E = locate(/datum/round_event_control/dust) in control -// if(E) E.runEvent() return var/gamemode = SSticker.mode.config_tag diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 5fa770179e..8e3ceec261 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -505,14 +505,7 @@ SUBSYSTEM_DEF(shuttle) // Then we want the point closest to -infinity,-infinity var/x2 = min(x0, x1) var/y2 = min(y0, y1) -/* - var/lowx = topleft.x + SHUTTLE_TRANSIT_BORDER - var/lowy = topleft.y + SHUTTLE_TRANSIT_BORDER - var/turf/low_point = locate(lowx, lowy, topleft.z) - new /obj/effect/landmark/stationary(low_point) - to_chat(world, "Starting at the low point, we go [x2],[y2]") -*/ // Then invert the numbers var/transit_x = topleft.x + SHUTTLE_TRANSIT_BORDER + abs(x2) var/transit_y = topleft.y + SHUTTLE_TRANSIT_BORDER + abs(y2) diff --git a/code/datums/antagonists/changeling.dm b/code/datums/antagonists/changeling.dm index d72cb64b81..8a27da5b46 100644 --- a/code/datums/antagonists/changeling.dm +++ b/code/datums/antagonists/changeling.dm @@ -15,8 +15,6 @@ var/list/stored_profiles = list() //list of datum/changelingprofile var/datum/changelingprofile/first_prof = null - //var/list/absorbed_dna = list() - //var/list/protected_dna = list() //dna that is not lost when capacity is otherwise full var/dna_max = 6 //How many extra DNA strands the changeling can store for transformation. var/absorbedcount = 0 var/chem_charges = 20 diff --git a/code/datums/browser.dm b/code/datums/browser.dm index e8a1a17fe2..f863a5007d 100644 --- a/code/datums/browser.dm +++ b/code/datums/browser.dm @@ -220,18 +220,6 @@ // This is added to mob so that it can be used without a reference to the browser object // There is probably a better place for this... /mob/proc/browse_rsc_icon(icon, icon_state, dir = -1) - /* - var/icon/I - if (dir >= 0) - I = new /icon(icon, icon_state, dir) - else - I = new /icon(icon, icon_state) - setDir("default") - - var/filename = "[ckey("[icon]_[icon_state]_[dir]")].png" - src << browse_rsc(I, filename) - return filename - */ // Registers the on-close verb for a browse window (client/verb/.windowclose) diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index d618ceda89..c6acb7d78d 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -22,8 +22,6 @@ var/last_insert_success var/precise_insertion = FALSE var/datum/callback/precondition - //MAX_STACK_SIZE = 50 - //MINERAL_MATERIAL_AMOUNT = 2000 /datum/component/material_container/Initialize(list/mat_list, max_amt = 0, _show_on_examine = FALSE, list/allowed_types, datum/callback/_precondition) materials = list() diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index e41666008c..894f34345d 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -418,24 +418,9 @@ item = "[VV_HTML_ENCODE(name)] = /icon ([value])" #endif -/* else if (istype(value, /image)) - #ifdef VARSICON - var/rnd = rand(1, 10000) - var/image/I = value - - src << browse_rsc(I.icon, "tmp[REF(value)][rnd].png") - html += "[name] = " - #else - html += "[name] = /image ([value])" - #endif -*/ else if (isfile(value)) item = "[VV_HTML_ENCODE(name)] = '[value]'" - //else if (istype(value, /client)) - // var/client/C = value - // item = "[VV_HTML_ENCODE(name)] [REF(value)] = [C] [C.type]" - else if (istype(value, /datum)) var/datum/D = value if ("[D]" != "[D.type]") //if the thing as a name var, lets use it. diff --git a/code/datums/diseases/beesease.dm b/code/datums/diseases/beesease.dm index 3a7e8cfbe3..f02c3b90ee 100644 --- a/code/datums/diseases/beesease.dm +++ b/code/datums/diseases/beesease.dm @@ -35,6 +35,4 @@ affected_mob.visible_message("[affected_mob] coughs up a swarm of bees!", \ "You cough up a swarm of bees!") new /mob/living/simple_animal/hostile/poison/bees(affected_mob.loc) - //if(5) - //Plus if you die, you explode into bees return diff --git a/code/datums/diseases/cold.dm b/code/datums/diseases/cold.dm index 38b23cf3de..5915a784ea 100644 --- a/code/datums/diseases/cold.dm +++ b/code/datums/diseases/cold.dm @@ -13,12 +13,6 @@ ..() switch(stage) if(2) -/* - if(affected_mob.sleeping && prob(40)) //removed until sleeping is fixed - to_chat(affected_mob, "\blue You feel better.") - cure() - return -*/ if(affected_mob.lying && prob(40)) //changed FROM prob(10) until sleeping is fixed to_chat(affected_mob, "You feel better.") cure() @@ -36,12 +30,6 @@ if(prob(1)) to_chat(affected_mob, "Mucous runs down the back of your throat.") if(3) -/* - if(affected_mob.sleeping && prob(25)) //removed until sleeping is fixed - to_chat(affected_mob, "\blue You feel better.") - cure() - return -*/ if(affected_mob.lying && prob(25)) //changed FROM prob(5) until sleeping is fixed to_chat(affected_mob, "You feel better.") cure() diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index cb5878208e..b17fe26898 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -511,10 +511,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Research Director's Private Quarters" icon_state = "rd_private" -/area/mint - name = "Mint" - icon_state = "green" - /area/comms name = "Communications Relay" icon_state = "tcomsatcham" @@ -1375,16 +1371,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "eva" ambientsounds = HIGHSEC -/area/ai_monitored/storage/secure - name = "AI Satellite Storage" - icon_state = "storage" - ambientsounds = HIGHSEC - -/area/ai_monitored/storage/emergency - name = "Emergency Storage" - icon_state = "storage" - ambientsounds = HIGHSEC - /area/ai_monitored/storage/satellite name = "AI Satellite Maint" icon_state = "storage" @@ -1522,7 +1508,6 @@ GLOBAL_LIST_INIT(the_station_areas, list ( /area/library, /area/maintenance, /area/medical, -// /area/mint, //not present on map /area/quartermaster, /area/science, /area/security, @@ -1530,8 +1515,6 @@ GLOBAL_LIST_INIT(the_station_areas, list ( /area/storage, /area/teleporter, /area/ai_monitored/storage/eva, //do not try to simplify to "/area/ai_monitored" --rastaf0 -// /area/ai_monitored/storage/secure, //not present on map -// /area/ai_monitored/storage/emergency, //not present on map /area/ai_monitored/turret_protected/ai_upload, //do not try to simplify to "/area/ai_monitored/turret_protected" --rastaf0 /area/ai_monitored/turret_protected/ai_upload_foyer, /area/ai_monitored/turret_protected/ai, diff --git a/code/game/atoms.dm b/code/game/atoms.dm index e450c54c1b..8a85bbb814 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -257,8 +257,6 @@ if(desc) to_chat(user, desc) - // *****RM - //to_chat(user, "[name]: Dn:[density] dir:[dir] cont:[contents] icon:[icon] is:[icon_state] loc:[loc]") if(reagents && (is_open_container() || is_transparent())) //is_open_container() isn't really the right proc for this, but w/e to_chat(user, "It contains:") diff --git a/code/game/gamemodes/devil/objectives.dm b/code/game/gamemodes/devil/objectives.dm index 181d40ba48..8d5cb430dd 100644 --- a/code/game/gamemodes/devil/objectives.dm +++ b/code/game/gamemodes/devil/objectives.dm @@ -44,8 +44,6 @@ contractName = "of revival" if(CONTRACT_KNOWLEDGE) contractName = "for knowledge" - //if(CONTRACT_UNWILLING) //Makes round unfun. - // contractName = "against their will" update_explanation_text() /datum/objective/devil/soulquality/update_explanation_text() diff --git a/code/game/gamemodes/miniantags/abduction/abduction.dm b/code/game/gamemodes/miniantags/abduction/abduction.dm index d6f1b775e9..4eb8642c02 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction.dm @@ -26,6 +26,7 @@ var/max_teams = 4 var/list/datum/objective_team/abductor_team/abductor_teams = list() var/finished = FALSE + var/static/team_count = 0 /datum/game_mode/abduction/announce() to_chat(world, "The current game mode is - Abduction!") @@ -44,7 +45,11 @@ return TRUE /datum/game_mode/abduction/proc/make_abductor_team(datum/mind/agent, datum/mind/scientist) - var/team_number = abductor_teams.len+1 + team_count++ //TODO: Fix the edge case of abductor game mode rolling twice+ and failing to setup on first time. + var/team_number = team_count + + if(team_number > max_teams) + return //or should it try to stuff them in anway ? var/datum/objective_team/abductor_team/team = new team.team_number = team_number diff --git a/code/game/gamemodes/miniantags/sintouched/objectives.dm b/code/game/gamemodes/miniantags/sintouched/objectives.dm index 2070cdf39a..fae6120f9c 100644 --- a/code/game/gamemodes/miniantags/sintouched/objectives.dm +++ b/code/game/gamemodes/miniantags/sintouched/objectives.dm @@ -1,16 +1,6 @@ /datum/objective/sintouched completed = 1 -/* NO ERP OBJECTIVE FOR YOU. -/datum/objective/sintouched/lust - -/datum/objective/sintouched/lust/New() - var/mob/dead/D = pick(dead_mob_list) - if(prob(50) && D) - explanation_text = "You know that [D] has perished.... and you think [D] is kinda cute. Make sure everyone knows how HOT [D]'s lifeless body is." - else - explanation_text = "Go get married, then immediately cheat on your new spouse." */ - /datum/objective/sintouched/gluttony explanation_text = "Everything is so delicious. Go eat everything." diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 630a5929d7..1e5d899bfa 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -178,14 +178,6 @@ disk_rescued = 0 break var/crew_evacuated = (SSshuttle.emergency.mode == SHUTTLE_ENDGAME) - //var/operatives_are_dead = is_operatives_are_dead() - - - //nukes_left - //station_was_nuked - //derp //Used for tracking if the syndies actually haul the nuke to the station //no - //herp //Used for tracking if the syndies got the shuttle off of the z-level //NO, DON'T FUCKING NAME VARS LIKE THIS - if(nuke_off_station == NUKE_SYNDICATE_BASE) SSticker.mode_result = "loss - syndicate nuked - disk secured" diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 9e51d9125b..cba82f805f 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -100,10 +100,6 @@ dat += text("[]", R.fields["p_stat"]) dat += text("[]", R.fields["m_stat"]) dat += "
" -// if(GLOB.data_core.general) -// for(var/datum/data/record/R in sortRecord(GLOB.data_core.general)) -// dat += "[R.fields["id"]]: [R.fields["name"]]
" -// //Foreach goto(132) dat += "
Back" if(3) dat += "Records Maintenance
\nBackup To Disk
\nUpload From Disk
\nDelete All Records
\n
\nBack" diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index d41bcce164..750551abda 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -119,9 +119,6 @@ //Message Logs if(1) var/index = 0 - //var/recipient = "Unspecified" //name of the person - //var/sender = "Unspecified" //name of the sender - //var/message = "Blank" //transferred message dat += "
Back - Refresh

" dat += "" for(var/datum/data_pda_msg/pda in src.linkedServer.pda_msgs) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 4b8da75d87..465f74f05e 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -261,7 +261,7 @@ justzap = TRUE addtimer(CALLBACK(src, .proc/unzap), 10) return - else /*if(src.justzap)*/ + else return else if(user.hallucinating() && ishuman(user) && prob(4) && !operating) var/mob/living/carbon/human/H = user diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index fa6275809d..e446670105 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -63,9 +63,6 @@ spark_system = null return ..() -//process() - //return - /obj/machinery/door/CollidedWith(atom/movable/AM) if(operating || emagged) return diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 39df6f409e..41c0fabcae 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -73,7 +73,6 @@ if(src.z in GLOB.station_z_levels) add_overlay("overlay_[GLOB.security_level]") else - //var/green = SEC_LEVEL_GREEN add_overlay("overlay_[SEC_LEVEL_GREEN]") if(detecting) diff --git a/code/game/machinery/overview.dm b/code/game/machinery/overview.dm index f800309131..6aa4cdade9 100644 --- a/code/game/machinery/overview.dm +++ b/code/game/machinery/overview.dm @@ -119,7 +119,6 @@ if(!colour2 && !T.density) var/datum/gas_mixture/environment = T.return_air() var/turf_total = environment.total_moles() - //var/turf_total = T.co2 + T.oxygen + T.poison + T.sl_gas + T.n2 var/t1 = turf_total / MOLES_CELLSTANDARD * 150 @@ -242,9 +241,6 @@ else colour = rgb(255,128,128) - //if(istype(AM, /obj/structure/blob)) - // colour = rgb(255,0,255) - var/area/A = T.loc if(A.fire) @@ -296,10 +292,6 @@ src.close(user) -/* if(seccomp == src) - drawmap(user) - else - user.clearmap()*/ return diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 1705a14c40..8bfade3ebc 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -622,16 +622,6 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY CANISTER CHARGES in vending_items.dm */ -/* -/obj/machinery/vending/atmospherics //Commenting this out until someone ponies up some actual working, broken, and unpowered sprites - Quarxink - name = "Tank Vendor" - desc = "A vendor with a wide variety of masks and gas tanks." - icon = 'icons/obj/objects.dmi' - icon_state = "dispenser" - product_paths = "/obj/item/tank/internals/oxygen;/obj/item/tank/internals/plasma;/obj/item/tank/internals/emergency_oxygen;/obj/item/tank/internals/emergency_oxygen/engi;/obj/item/clothing/mask/breath" - product_amounts = "10;10;10;5;25" -*/ - /obj/machinery/vending/boozeomat name = "\improper Booze-O-Mat" desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one." diff --git a/code/game/mecha/combat/honker.dm b/code/game/mecha/combat/honker.dm index fe399e64da..ceb88aa9b0 100644 --- a/code/game/mecha/combat/honker.dm +++ b/code/game/mecha/combat/honker.dm @@ -15,17 +15,6 @@ max_equip = 3 var/squeak = 0 -/* -/obj/mecha/combat/honker/New() - ..() - - weapons += new /datum/mecha_weapon/honker(src) - weapons += new /datum/mecha_weapon/missile_rack/banana_mortar(src) - weapons += new /datum/mecha_weapon/missile_rack/mousetrap_mortar(src) - selected_weapon = weapons[1] - return -*/ - /obj/mecha/combat/honker/get_stats_part() var/integrity = obj_integrity/max_integrity*100 var/cell_charge = get_charge() diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 2bfce20ccd..34e6793d5b 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -162,4 +162,35 @@ name = "25% cyborg mask spawner" loot = list( /obj/item/clothing/mask/gas/cyborg = 25, - "" = 75) \ No newline at end of file + "" = 75) + +/obj/effect/spawner/lootdrop/aimodule_harmless // These shouldn't allow the AI to start butchering people + name = "harmless AI module spawner" + loot = list( + /obj/item/aiModule/core/full/asimov, + /obj/item/aiModule/core/full/asimovpp, + /obj/item/aiModule/core/full/hippocratic, + /obj/item/aiModule/core/full/paladin_devotion, + /obj/item/aiModule/core/full/paladin + ) + +/obj/effect/spawner/lootdrop/aimodule_neutral // These shouldn't allow the AI to start butchering people without reason + name = "neutral AI module spawner" + loot = list( + /obj/item/aiModule/core/full/corp, + /obj/item/aiModule/core/full/maintain, + /obj/item/aiModule/core/full/drone, + /obj/item/aiModule/core/full/peacekeeper, + /obj/item/aiModule/core/full/reporter, + /obj/item/aiModule/core/full/robocop, + /obj/item/aiModule/core/full/liveandletlive + ) + +/obj/effect/spawner/lootdrop/aimodule_harmful // These will get the shuttle called + name = "harmful AI module spawner" + loot = list( + /obj/item/aiModule/core/full/antimov, + /obj/item/aiModule/core/full/balance, + /obj/item/aiModule/core/full/tyrant, + /obj/item/aiModule/core/full/thermurderdynamic + ) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 3e6d17d4da..e96c4c015b 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -51,7 +51,6 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) var/item_color = null //this needs deprecating, soonish var/body_parts_covered = 0 //see setup.dm for appropriate bit flags - //var/heat_transfer_coefficient = 1 //0 prevents all transfers, 1 is invisible var/gas_transfer_coefficient = 1 // for leaking gas from turf to mask and vice-versa (for masks right now, but at some point, i'd like to include space helmets) var/permeability_coefficient = 1 // for chemicals/diseases var/siemens_coefficient = 1 // for electrical admittance/conductance (electrocution checks and shit) diff --git a/code/game/objects/items/AI_modules.dm b/code/game/objects/items/AI_modules.dm index d14b764049..b3e49f0991 100644 --- a/code/game/objects/items/AI_modules.dm +++ b/code/game/objects/items/AI_modules.dm @@ -564,3 +564,11 @@ AI MODULES /obj/item/aiModule/core/full/balance name = "'Guardian of Balance' Core AI Module" law_id = "balance" + +/obj/item/aiModule/core/full/maintain + name = "'Station Efficiency' Core AI Module" + law_id = "maintain" + +/obj/item/aiModule/core/full/peacekeeper + name = "'Peacekeeper' Core AI Module" + law_id = "peacekeeper" diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index 1e2d00706f..bfcda7d271 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -29,7 +29,6 @@ var/access = 0 //Bit flags_1 for cartridge access -// var/access_flora = 0 var/remote_door_id = "" var/bot_access_flags = 0 //Bit flags_1. Selection: SEC_BOT | MULE_BOT | FLOOR_BOT | CLEAN_BOT | MED_BOT @@ -110,13 +109,6 @@ icon_state = "cart-s" access = CART_NEWSCASTER -/* -/obj/item/cartridge/botanist - name = "\improper Green Thumb v4.20 cartridge" - icon_state = "cart-b" - access_flora = 1 -*/ - /obj/item/cartridge/roboticist name = "\improper B.O.O.P. Remote Control cartridge" desc = "Packed with heavy duty triple-bot interlink!" @@ -669,9 +661,6 @@ Code: var/mob/living/simple_animal/bot/Bot -// if(!SC) -// menu = "Interlink Error - Please reinsert cartridge." -// return if(active_bot) menu += "[active_bot]
Status: (refresh)
" menu += "Model: [active_bot.model]
" diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index e36b97b328..40963c3b08 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -4,7 +4,6 @@ /** * Multitool -- A multitool is used for hacking electronic devices. - * TO-DO -- Using it as a power measurement tool for cables etc. Nannek. * */ diff --git a/code/game/objects/items/devices/radio/beacon.dm b/code/game/objects/items/devices/radio/beacon.dm index 78e8757034..4cd286ec85 100644 --- a/code/game/objects/items/devices/radio/beacon.dm +++ b/code/game/objects/items/devices/radio/beacon.dm @@ -35,9 +35,3 @@ src.code = "beacon" src.add_fingerprint(usr) return - -/* -//Probably a better way of doing this, I'm lazy. -/obj/item/device/radio/beacon/bacon/proc/digest_delay() - spawn(600) - qdel(src)*/ //Bacon beacons are no more rip in peace diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 50a15b20b0..6603bc29ef 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -454,18 +454,6 @@ if(message_mode == MODE_WHISPER || message_mode == MODE_WHISPER_CRIT) raw_message = stars(raw_message) talk_into(speaker, raw_message, , spans, language=message_language) -/* -/obj/item/device/radio/proc/accept_rad(obj/item/device/radio/R as obj, message) - - if ((R.frequency == frequency && message)) - return 1 - else if - - else - return null - return -*/ - /obj/item/device/radio/proc/receive_range(freq, level) // check if this radio can receive on the given frequency, and if so, diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 8c36a5965f..7beb11b6e1 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -375,16 +375,12 @@ GLOBAL_LIST_INIT(adamantine_recipes, list( sheettype = "abductor" GLOBAL_LIST_INIT(abductor_recipes, list ( \ -/* new/datum/stack_recipe("alien chair", /obj/structure/chair, one_per_turf = 1, on_floor = 1), \ */ new/datum/stack_recipe("alien bed", /obj/structure/bed/abductor, 2, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("alien locker", /obj/structure/closet/abductor, 2, time = 15, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("alien table frame", /obj/structure/table_frame/abductor, 1, time = 15, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("alien airlock assembly", /obj/structure/door_assembly/door_assembly_abductor, 4, time = 20, one_per_turf = 1, on_floor = 1), \ null, \ new/datum/stack_recipe("alien floor tile", /obj/item/stack/tile/mineral/abductor, 1, 4, 20), \ -/* null, \ - new/datum/stack_recipe("Abductor Agent Statue", /obj/structure/statue/bananium/clown, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Abductor Sciencist Statue", /obj/structure/statue/bananium/clown, 5, one_per_turf = 1, on_floor = 1)*/ )) /obj/item/stack/sheet/mineral/abductor/Initialize(mapload, new_amount, merge = TRUE) diff --git a/code/game/objects/items/storage/storage.dm b/code/game/objects/items/storage/storage.dm index cb9e6e2d63..6ea3529b3b 100644 --- a/code/game/objects/items/storage/storage.dm +++ b/code/game/objects/items/storage/storage.dm @@ -254,7 +254,6 @@ adjusted_contents++ numbered_contents.Add( new/datum/numbered_display(I) ) - //var/mob/living/carbon/human/H = user var/row_num = 0 var/col_count = min(7,storage_slots) -1 if(adjusted_contents > 7) diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm index b1e83a9d6f..49a9621fba 100644 --- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm @@ -53,11 +53,6 @@ if ("delete") qdel(src) - //If you want to re-add fire, just add "fire" = 15 to the pick list. - /*if ("fire") - new /obj/structure/closet/firecloset(src.loc) - qdel(src)*/ - /* * Fire Closet */ diff --git a/code/game/turfs/simulated/wall/mineral_walls.dm b/code/game/turfs/simulated/wall/mineral_walls.dm index ad85568267..e8975c41aa 100644 --- a/code/game/turfs/simulated/wall/mineral_walls.dm +++ b/code/game/turfs/simulated/wall/mineral_walls.dm @@ -13,8 +13,6 @@ icon = 'icons/turf/walls/gold_wall.dmi' icon_state = "gold" sheet_type = /obj/item/stack/sheet/mineral/gold - //var/electro = 1 - //var/shocked = null explosion_block = 0 //gold is a soft metal you dingus. canSmoothWith = list(/turf/closed/wall/mineral/gold, /obj/structure/falsewall/gold) @@ -24,8 +22,6 @@ icon = 'icons/turf/walls/silver_wall.dmi' icon_state = "silver" sheet_type = /obj/item/stack/sheet/mineral/silver - //var/electro = 0.75 - //var/shocked = null canSmoothWith = list(/turf/closed/wall/mineral/silver, /obj/structure/falsewall/silver) /turf/closed/wall/mineral/diamond diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm index bd32533a7f..885528f6f9 100644 --- a/code/modules/admin/NewBan.dm +++ b/code/modules/admin/NewBan.dm @@ -175,7 +175,6 @@ GLOBAL_PROTECT(Banlist) /datum/admins/proc/unbanpanel() var/count = 0 var/dat - //var/dat = "
Unban Player: \blue(U) = Unban , (E) = Edit Ban\green (Total
XSenderRecipientMessage
" GLOB.Banlist.cd = "/base" for (var/A in GLOB.Banlist.dir) count++ diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index fb646059bf..2ec95eb755 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -615,24 +615,6 @@ ////////////////////////////////////////////////////////////////////////////////////////////////ADMIN HELPER PROCS -/* -/datum/admins/proc/get_sab_desc(var/target) - switch(target) - if(1) - return "Destroy at least 70% of the plasma canisters on the station" - if(2) - return "Destroy the AI" - if(3) - var/count = 0 - for(var/mob/living/carbon/monkey/Monkey in world) - if(Monkey.z in GLOB.station_z_levels) - count++ - return "Kill all [count] of the monkeys on the station" - if(4) - return "Cut power to at least 80% of the station" - else - return "Error: Invalid sabotage target: [target]" -*/ /datum/admins/proc/spawn_atom(object as text) set category = "Debug" set desc = "(atom path) Spawn an atom" diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index d560099563..ea89cace30 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -228,15 +228,6 @@ GLOBAL_LIST_INIT(admin_verbs_debug_mapping, list( if(B.z == num_level) count++ atom_list += A - /* - var/atom/temp_atom - for(var/i = 0; i <= (atom_list.len/10); i++) - var/line = "" - for(var/j = 1; j <= 10; j++) - if(i*10+j <= atom_list.len) - temp_atom = atom_list[i*10+j] - line += " no.[i+10+j]@\[[temp_atom.x], [temp_atom.y], [temp_atom.z]\]; " - to_chat(world, line)*/ to_chat(world, "There are [count] objects of type [type_path] on z-level [num_level]") SSblackbox.add_details("admin_verb","Count Objects Zlevel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -257,15 +248,6 @@ GLOBAL_LIST_INIT(admin_verbs_debug_mapping, list( for(var/atom/A in world) if(istype(A,type_path)) count++ - /* - var/atom/temp_atom - for(var/i = 0; i <= (atom_list.len/10); i++) - var/line = "" - for(var/j = 1; j <= 10; j++) - if(i*10+j <= atom_list.len) - temp_atom = atom_list[i*10+j] - line += " no.[i+10+j]@\[[temp_atom.x], [temp_atom.y], [temp_atom.z]\]; " - to_chat(world, line)*/ to_chat(world, "There are [count] objects of type [type_path] in the game world") SSblackbox.add_details("admin_verb","Count Objects All") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 0b35304620..f263fc0063 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -39,10 +39,6 @@ /obj/item/device/assembly/signaler/interact(mob/user, flag1) if(is_secured(user)) var/t1 = "-------" - // if ((src.b_stat && !( flag1 ))) - // t1 = text("-------
\nGreen Wire: []
\nRed Wire: []
\nBlue Wire: []
\n", (src.wires & 4 ? "Cut Wire" : "Mend Wire"), (src.wires & 2 ? "Cut Wire" : "Mend Wire"), (src.wires & 1 ? "Cut Wire" : "Mend Wire")) - // else - // t1 = "-------" Speaker: [src.listening ? "Engaged" : "Disengaged"]
var/dat = {" @@ -123,17 +119,6 @@ Code: return -/* - for(var/obj/item/device/assembly/signaler/S in world) - if(!S) - continue - if(S == src) - continue - if((S.frequency == src.frequency) && (S.code == src.code)) - spawn(0) - if(S) - S.pulse(0) - return 0*/ /obj/item/device/assembly/signaler/receive_signal(datum/signal/signal) if(!signal) diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index 8ddde526a7..64d77a27dc 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -423,22 +423,7 @@ GLOBAL_LIST_INIT(gaslist_cache, init_gaslist_cache()) continue reaction_loop //at this point, all minimum requirements for the reaction are satisfied. - /* currently no reactions have maximum requirements, so we can leave the checks commented out for a slight performance boost - var/list/max_reqs = reaction.max_requirements.Copy() - if((max_reqs["TEMP"] && temp > max_reqs["TEMP"]) \ - || (max_reqs["ENER"] && ener > max_reqs["ENER"])) - continue - max_reqs -= "TEMP" - max_reqs -= "ENER" - - for(var/id in max_reqs) - if(cached_gases[id] && cached_gases[id][MOLES] > max_reqs[id]) - continue reaction_loop - //at this point, all requirements for the reaction are satisfied. we can now react() - */ - . |= reaction.react(src, dump_location) - //to_chat(world,reaction.name) if (. & STOP_REACTIONS) break if(.) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm index 15f0ccddd2..f8204947f1 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm @@ -197,7 +197,6 @@ Acts like a normal vent, but has an input AND output. spawn(2) broadcast_status() return //do not update_icon - //if(signal.data["tag"]) spawn(2) broadcast_status() update_icon() diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index ea02e81c23..d9b25939a5 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -31,7 +31,6 @@ // asset_cache if(href_list["asset_cache_confirm_arrival"]) - //to_chat(src, "ASSET JOB [href_list["asset_cache_confirm_arrival"]] ARRIVED.") var/job = text2num(href_list["asset_cache_confirm_arrival"]) //because we skip the limiter, we have to make sure this is a valid arrival and not somebody tricking us // into letting append to a list without limit. @@ -131,13 +130,6 @@ if(filelength > UPLOAD_LIMIT) to_chat(src, "Error: AllowUpload(): File Upload too large. Upload Limit: [UPLOAD_LIMIT/1024]KiB.") return 0 -/* //Don't need this at the moment. But it's here if it's needed later. - //Helps prevent multiple files being uploaded at once. Or right after eachother. - var/time_to_wait = fileaccess_timer - world.time - if(time_to_wait > 0) - to_chat(src, "Error: AllowUpload(): Spam prevention. Please wait [round(time_to_wait/10)] seconds.") - return 0 - fileaccess_timer = world.time + FTPDELAY */ return 1 diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index fac42b0787..96942af46a 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -239,8 +239,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) S["real_name"] >> name if(!name) name = "Character[i]" - /*if(i!=1) - dat += " | " */ dat += "[name] " dat += "" diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 4a86008ad2..3bd255c058 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -18,7 +18,6 @@ flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH item_state = "welding" materials = list(MAT_METAL=1750, MAT_GLASS=400) -// var/up = 0 flash_protect = 2 tint = 2 armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 60) diff --git a/code/modules/events/abductor.dm b/code/modules/events/abductor.dm index 9bba04a68d..c7e9baf779 100755 --- a/code/modules/events/abductor.dm +++ b/code/modules/events/abductor.dm @@ -26,7 +26,11 @@ var/mob/living/carbon/human/agent = makeBody(pick_n_take(candidates)) var/mob/living/carbon/human/scientist = makeBody(pick_n_take(candidates)) - GM.post_setup_team(GM.make_abductor_team(agent.mind, scientist.mind)) + var/team = GM.make_abductor_team(agent.mind, scientist.mind) + if(!team) + return MAP_ERROR + + GM.post_setup_team(team) spawned_mobs += list(agent, scientist) return SUCCESSFUL_SPAWN diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index 2343a23c9a..a4c9a8563c 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -471,7 +471,6 @@ else //If tile is fully grown SV.entangle_mob() - //if(prob(25)) SV.spread() if(i >= length) break diff --git a/code/modules/holodeck/area_copy.dm b/code/modules/holodeck/area_copy.dm index bc2c92e3fb..4acedb4780 100644 --- a/code/modules/holodeck/area_copy.dm +++ b/code/modules/holodeck/area_copy.dm @@ -78,7 +78,6 @@ GLOBAL_LIST_INIT(duplicate_forbidden_vars,list("tag","area","type","loc","locs", var/copiedobjs = list() for (var/turf/T in refined_src) - //var/datum/coords/C_src = refined_src[T] var/coordstring = refined_src[T] var/turf/B = refined_trg[coordstring] if(!istype(B)) diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index fb55a0565b..52077d2367 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -230,11 +230,9 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums dat += "

Checked Out Books


" for(var/datum/borrowbook/b in checkouts) var/timetaken = world.time - b.getdate - //timetaken *= 10 timetaken /= 600 timetaken = round(timetaken) var/timedue = b.duedate - world.time - //timedue *= 10 timedue /= 600 if(timedue <= 0) timedue = "(OVERDUE) [timedue]" diff --git a/code/modules/lighting/lighting_source.dm b/code/modules/lighting/lighting_source.dm index 31ddb27b2a..8e56acc2fb 100644 --- a/code/modules/lighting/lighting_source.dm +++ b/code/modules/lighting/lighting_source.dm @@ -138,42 +138,6 @@ // This is the define used to calculate falloff. -/* -/datum/light_source/proc/apply_lum() - var/static/update_gen = 1 - applied = 1 - - // Keep track of the last applied lum values so that the lighting can be reversed - var/thing - var/datum/lighting_corner/C - var/corners = list() - LAZYINITLIST(effect_str) - FOR_DVIEW(var/turf/T, light_range+1, source_turf, INVISIBILITY_LIGHTING) - var/list/turf_corners = T.get_corners() - - for (thing in turf_corners) - C = thing - if (C.update_gen == update_gen) - continue - - C.update_gen = update_gen - LAZYADD(C.affecting,src) - - if (!C.active) - effect_str[C] = 0 - continue - - APPLY_CORNER(C) - - LAZYADD(T.affecting_lights, src) - LAZYADD(affecting_turfs, T) - FOR_DVIEW_END - update_gen++ - applied_lum_r = lum_r - applied_lum_g = lum_g - applied_lum_b = lum_b -*/ - /datum/light_source/proc/remove_lum() applied = FALSE var/thing diff --git a/code/modules/mob/living/brain/life.dm b/code/modules/mob/living/brain/life.dm index 9d87f412e8..c8df16a1cf 100644 --- a/code/modules/mob/living/brain/life.dm +++ b/code/modules/mob/living/brain/life.dm @@ -24,14 +24,6 @@ if(BR) BR.damaged_brain = 1 //beaten to a pulp -/* //currently unused feature, since brain outside a mmi is always dead. -/mob/living/brain/proc/handle_brain_revival_life() - if(stat != DEAD) - if(config.revival_brain_life != -1) - if( !container && (world.time - timeofhostdeath) > config.revival_brain_life) - death() -*/ - /mob/living/brain/proc/handle_emp_damage() if(emp_damage) if(stat == DEAD) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 36bd1893e2..3a5988e09a 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -32,7 +32,6 @@ var/aiRestorePowerRoutine = 0 var/requires_power = POWER_REQ_ALL var/can_be_carded = TRUE - //var/list/laws = list() var/alarms = list("Motion"=list(), "Fire"=list(), "Atmosphere"=list(), "Power"=list(), "Camera"=list(), "Burglar"=list()) var/viewalerts = 0 var/icon/holo_icon//Default is assigned when AI is created. @@ -172,7 +171,6 @@ if(incapacitated()) return - //if(icon_state == initial(icon_state)) var/icontype = input("Please, select a display!", "AI", null/*, null*/) in list("Clown", "Monochrome", "Blue", "Inverted", "Firewall", "Green", "Red", "Static", "Red October", "House", "Heartline", "Hades", "Helios", "President", "Syndicat Meow", "Alien", "Too Deep", "Triumvirate", "Triumvirate-M", "Text", "Matrix", "Dorf", "Bliss", "Not Malf", "Fuzzy", "Goon", "Database", "Glitchman", "Murica", "Nanotrasen", "Gentoo", "Angel") if(icontype == "Clown") icon_state = "ai-clown2" @@ -238,9 +236,6 @@ icon_state = "ai-gentoo" else if(icontype == "Angel") icon_state = "ai-angel" - //else - //to_chat(usr, "You can only change your display once!") - //return /mob/living/silicon/ai/Stat() ..() diff --git a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm index 812e207249..48ca0ac19c 100644 --- a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm +++ b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm @@ -1,161 +1,149 @@ -// CAMERA NET -// -// The datum containing all the chunks. - -#define CHUNK_SIZE 16 // Only chunk sizes that are to the power of 2. E.g: 2, 4, 8, 16, etc.. - -GLOBAL_DATUM_INIT(cameranet, /datum/cameranet, new) - -/datum/cameranet - var/name = "Camera Net" // Name to show for VV and stat() - - // The cameras on the map, no matter if they work or not. Updated in obj/machinery/camera.dm by New() and Del(). - var/list/cameras = list() - // The chunks of the map, mapping the areas that the cameras can see. - var/list/chunks = list() - var/ready = 0 - - // The object used for the clickable stat() button. - var/obj/effect/statclick/statclick - -// Checks if a chunk has been Generated in x, y, z. -/datum/cameranet/proc/chunkGenerated(x, y, z) - x &= ~(CHUNK_SIZE - 1) - y &= ~(CHUNK_SIZE - 1) - var/key = "[x],[y],[z]" - return (chunks[key]) - -// Returns the chunk in the x, y, z. -// If there is no chunk, it creates a new chunk and returns that. -/datum/cameranet/proc/getCameraChunk(x, y, z) - x &= ~(CHUNK_SIZE - 1) - y &= ~(CHUNK_SIZE - 1) - var/key = "[x],[y],[z]" - if(!chunks[key]) - chunks[key] = new /datum/camerachunk(null, x, y, z) - - return chunks[key] - -// Updates what the aiEye can see. It is recommended you use this when the aiEye moves or it's location is set. - -/datum/cameranet/proc/visibility(mob/camera/aiEye/ai) - // 0xf = 15 - var/x1 = max(0, ai.x - 16) & ~(CHUNK_SIZE - 1) - var/y1 = max(0, ai.y - 16) & ~(CHUNK_SIZE - 1) - var/x2 = min(world.maxx, ai.x + 16) & ~(CHUNK_SIZE - 1) - var/y2 = min(world.maxy, ai.y + 16) & ~(CHUNK_SIZE - 1) - - var/list/visibleChunks = list() - - for(var/x = x1; x <= x2; x += CHUNK_SIZE) - for(var/y = y1; y <= y2; y += CHUNK_SIZE) - visibleChunks |= getCameraChunk(x, y, ai.z) - - var/list/remove = ai.visibleCameraChunks - visibleChunks - var/list/add = visibleChunks - ai.visibleCameraChunks - - for(var/chunk in remove) - var/datum/camerachunk/c = chunk - c.remove(ai) - - for(var/chunk in add) - var/datum/camerachunk/c = chunk - c.add(ai) - -// Updates the chunks that the turf is located in. Use this when obstacles are destroyed or when doors open. - -/datum/cameranet/proc/updateVisibility(atom/A, opacity_check = 1) - - if(!SSticker || (opacity_check && !A.opacity)) - return - majorChunkChange(A, 2) - -/datum/cameranet/proc/updateChunk(x, y, z) - // 0xf = 15 - if(!chunkGenerated(x, y, z)) - return - var/datum/camerachunk/chunk = getCameraChunk(x, y, z) - chunk.hasChanged() - -// Removes a camera from a chunk. - -/datum/cameranet/proc/removeCamera(obj/machinery/camera/c) - if(c.can_use()) - majorChunkChange(c, 0) - -// Add a camera to a chunk. - -/datum/cameranet/proc/addCamera(obj/machinery/camera/c) - if(c.can_use()) - majorChunkChange(c, 1) - -// Used for Cyborg cameras. Since portable cameras can be in ANY chunk. - -/datum/cameranet/proc/updatePortableCamera(obj/machinery/camera/c) - if(c.can_use()) - majorChunkChange(c, 1) - //else - // majorChunkChange(c, 0) - -// Never access this proc directly!!!! -// This will update the chunk and all the surrounding chunks. -// It will also add the atom to the cameras list if you set the choice to 1. -// Setting the choice to 0 will remove the camera from the chunks. -// If you want to update the chunks around an object, without adding/removing a camera, use choice 2. - -/datum/cameranet/proc/majorChunkChange(atom/c, choice) - // 0xf = 15 - if(!c) - return - - var/turf/T = get_turf(c) - if(T) - var/x1 = max(0, T.x - (CHUNK_SIZE / 2)) & ~(CHUNK_SIZE - 1) - var/y1 = max(0, T.y - (CHUNK_SIZE / 2)) & ~(CHUNK_SIZE - 1) - var/x2 = min(world.maxx, T.x + (CHUNK_SIZE / 2)) & ~(CHUNK_SIZE - 1) - var/y2 = min(world.maxy, T.y + (CHUNK_SIZE / 2)) & ~(CHUNK_SIZE - 1) - for(var/x = x1; x <= x2; x += CHUNK_SIZE) - for(var/y = y1; y <= y2; y += CHUNK_SIZE) - if(chunkGenerated(x, y, T.z)) - var/datum/camerachunk/chunk = getCameraChunk(x, y, T.z) - if(choice == 0) - // Remove the camera. - chunk.cameras -= c - else if(choice == 1) - // You can't have the same camera in the list twice. - chunk.cameras |= c - chunk.hasChanged() - -// Will check if a mob is on a viewable turf. Returns 1 if it is, otherwise returns 0. - -/datum/cameranet/proc/checkCameraVis(mob/living/target) - - // 0xf = 15 - var/turf/position = get_turf(target) - return checkTurfVis(position) - - -/datum/cameranet/proc/checkTurfVis(turf/position) - var/datum/camerachunk/chunk = getCameraChunk(position.x, position.y, position.z) - if(chunk) - if(chunk.changed) - chunk.hasChanged(1) // Update now, no matter if it's visible or not. - if(chunk.visibleTurfs[position]) - return 1 - return 0 - -/datum/cameranet/proc/stat_entry() - if(!statclick) - statclick = new/obj/effect/statclick/debug(null, "Initializing...", src) - - stat(name, statclick.update("Cameras: [GLOB.cameranet.cameras.len] | Chunks: [GLOB.cameranet.chunks.len]")) - -// Debug verb for VVing the chunk that the turf is in. -/* -/turf/verb/view_chunk() - set src in world - - if(cameranet.chunkGenerated(x, y, z)) - var/datum/camerachunk/chunk = cameranet.getCameraChunk(x, y, z) - usr.client.debug_variables(chunk) -*/ +// CAMERA NET +// +// The datum containing all the chunks. + +#define CHUNK_SIZE 16 // Only chunk sizes that are to the power of 2. E.g: 2, 4, 8, 16, etc.. + +GLOBAL_DATUM_INIT(cameranet, /datum/cameranet, new) + +/datum/cameranet + var/name = "Camera Net" // Name to show for VV and stat() + + // The cameras on the map, no matter if they work or not. Updated in obj/machinery/camera.dm by New() and Del(). + var/list/cameras = list() + // The chunks of the map, mapping the areas that the cameras can see. + var/list/chunks = list() + var/ready = 0 + + // The object used for the clickable stat() button. + var/obj/effect/statclick/statclick + +// Checks if a chunk has been Generated in x, y, z. +/datum/cameranet/proc/chunkGenerated(x, y, z) + x &= ~(CHUNK_SIZE - 1) + y &= ~(CHUNK_SIZE - 1) + var/key = "[x],[y],[z]" + return (chunks[key]) + +// Returns the chunk in the x, y, z. +// If there is no chunk, it creates a new chunk and returns that. +/datum/cameranet/proc/getCameraChunk(x, y, z) + x &= ~(CHUNK_SIZE - 1) + y &= ~(CHUNK_SIZE - 1) + var/key = "[x],[y],[z]" + if(!chunks[key]) + chunks[key] = new /datum/camerachunk(null, x, y, z) + + return chunks[key] + +// Updates what the aiEye can see. It is recommended you use this when the aiEye moves or it's location is set. + +/datum/cameranet/proc/visibility(mob/camera/aiEye/ai) + // 0xf = 15 + var/x1 = max(0, ai.x - 16) & ~(CHUNK_SIZE - 1) + var/y1 = max(0, ai.y - 16) & ~(CHUNK_SIZE - 1) + var/x2 = min(world.maxx, ai.x + 16) & ~(CHUNK_SIZE - 1) + var/y2 = min(world.maxy, ai.y + 16) & ~(CHUNK_SIZE - 1) + + var/list/visibleChunks = list() + + for(var/x = x1; x <= x2; x += CHUNK_SIZE) + for(var/y = y1; y <= y2; y += CHUNK_SIZE) + visibleChunks |= getCameraChunk(x, y, ai.z) + + var/list/remove = ai.visibleCameraChunks - visibleChunks + var/list/add = visibleChunks - ai.visibleCameraChunks + + for(var/chunk in remove) + var/datum/camerachunk/c = chunk + c.remove(ai) + + for(var/chunk in add) + var/datum/camerachunk/c = chunk + c.add(ai) + +// Updates the chunks that the turf is located in. Use this when obstacles are destroyed or when doors open. + +/datum/cameranet/proc/updateVisibility(atom/A, opacity_check = 1) + + if(!SSticker || (opacity_check && !A.opacity)) + return + majorChunkChange(A, 2) + +/datum/cameranet/proc/updateChunk(x, y, z) + // 0xf = 15 + if(!chunkGenerated(x, y, z)) + return + var/datum/camerachunk/chunk = getCameraChunk(x, y, z) + chunk.hasChanged() + +// Removes a camera from a chunk. + +/datum/cameranet/proc/removeCamera(obj/machinery/camera/c) + if(c.can_use()) + majorChunkChange(c, 0) + +// Add a camera to a chunk. + +/datum/cameranet/proc/addCamera(obj/machinery/camera/c) + if(c.can_use()) + majorChunkChange(c, 1) + +// Used for Cyborg cameras. Since portable cameras can be in ANY chunk. + +/datum/cameranet/proc/updatePortableCamera(obj/machinery/camera/c) + if(c.can_use()) + majorChunkChange(c, 1) + +// Never access this proc directly!!!! +// This will update the chunk and all the surrounding chunks. +// It will also add the atom to the cameras list if you set the choice to 1. +// Setting the choice to 0 will remove the camera from the chunks. +// If you want to update the chunks around an object, without adding/removing a camera, use choice 2. + +/datum/cameranet/proc/majorChunkChange(atom/c, choice) + // 0xf = 15 + if(!c) + return + + var/turf/T = get_turf(c) + if(T) + var/x1 = max(0, T.x - (CHUNK_SIZE / 2)) & ~(CHUNK_SIZE - 1) + var/y1 = max(0, T.y - (CHUNK_SIZE / 2)) & ~(CHUNK_SIZE - 1) + var/x2 = min(world.maxx, T.x + (CHUNK_SIZE / 2)) & ~(CHUNK_SIZE - 1) + var/y2 = min(world.maxy, T.y + (CHUNK_SIZE / 2)) & ~(CHUNK_SIZE - 1) + for(var/x = x1; x <= x2; x += CHUNK_SIZE) + for(var/y = y1; y <= y2; y += CHUNK_SIZE) + if(chunkGenerated(x, y, T.z)) + var/datum/camerachunk/chunk = getCameraChunk(x, y, T.z) + if(choice == 0) + // Remove the camera. + chunk.cameras -= c + else if(choice == 1) + // You can't have the same camera in the list twice. + chunk.cameras |= c + chunk.hasChanged() + +// Will check if a mob is on a viewable turf. Returns 1 if it is, otherwise returns 0. + +/datum/cameranet/proc/checkCameraVis(mob/living/target) + + // 0xf = 15 + var/turf/position = get_turf(target) + return checkTurfVis(position) + + +/datum/cameranet/proc/checkTurfVis(turf/position) + var/datum/camerachunk/chunk = getCameraChunk(position.x, position.y, position.z) + if(chunk) + if(chunk.changed) + chunk.hasChanged(1) // Update now, no matter if it's visible or not. + if(chunk.visibleTurfs[position]) + return 1 + return 0 + +/datum/cameranet/proc/stat_entry() + if(!statclick) + statclick = new/obj/effect/statclick/debug(null, "Initializing...", src) + + stat(name, statclick.update("Cameras: [GLOB.cameranet.cameras.len] | Chunks: [GLOB.cameranet.chunks.len]")) diff --git a/code/modules/mob/living/silicon/ai/say.dm b/code/modules/mob/living/silicon/ai/say.dm index 8593eafc37..13f0609c0d 100644 --- a/code/modules/mob/living/silicon/ai/say.dm +++ b/code/modules/mob/living/silicon/ai/say.dm @@ -138,14 +138,6 @@ for(var/word in words) play_vox_word(word, src.z, null) -/* - for(var/mob/M in player_list) - if(M.client) - var/turf/T = get_turf(M) - var/turf/our_turf = get_turf(src) - if(T.z == our_turf.z) - to_chat(M, "AI announcement: [message]") -*/ /proc/play_vox_word(word, z_level, mob/only_listener) diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index e21abfc6b2..7df929f20a 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -588,7 +588,6 @@ if(!istype(machine, /obj/machinery/door)) dat += "Connected device's firmware does not appear to be compatible with Airlock Jack protocols.
" return dat -// var/obj/machinery/airlock/door = machine if(!hackdoor) dat += "Begin Airlock Jacking
" diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 81e99abcc6..c566aaf082 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -1,215 +1,214 @@ -//These procs handle putting stuff in your hand. It's probably best to use these rather than setting stuff manually -//as they handle all relevant stuff like adding it to the player's screen and such - -//Returns the thing in our active hand (whatever is in our active module-slot, in this case) -/mob/living/silicon/robot/get_active_held_item() - return module_active - - - -/*-------TODOOOOOOOOOO--------*/ //fuck yooooooooooooou -/mob/living/silicon/robot/proc/uneq_module(obj/item/O) - if(!O) - return 0 - O.mouse_opacity = MOUSE_OPACITY_OPAQUE - if(istype(O, /obj/item/borg/sight)) - var/obj/item/borg/sight/S = O - sight_mode &= ~S.sight_mode - update_sight() - else if(istype(O, /obj/item/storage/bag/tray/)) - var/obj/item/storage/bag/tray/T = O - T.do_quick_empty() - if(client) - client.screen -= O - observer_screen_update(O,FALSE) - O.forceMove(module) //Return item to module so it appears in its contents, so it can be taken out again. - - if(O.flags_1 & DROPDEL_1) - O.flags_1 &= ~DROPDEL_1 //we shouldn't HAVE things with DROPDEL_1 in our modules, but better safe than runtiming horribly - - O.dropped(src) - - if(module_active == O) - module_active = null - if(held_items[1] == O) - inv1.icon_state = "inv1" - held_items[1] = null - else if(held_items[2] == O) - inv2.icon_state = "inv2" - held_items[2] = null - else if(held_items[3] == O) - inv3.icon_state = "inv3" - held_items[3] = null - hud_used.update_robot_modules_display() - return 1 - -/mob/living/silicon/robot/proc/activate_module(obj/item/O) - . = FALSE - if(!(O in module.modules)) - return - if(activated(O)) - to_chat(src, "That module is already activated.") - return - if(!held_items[1]) - held_items[1] = O - O.screen_loc = inv1.screen_loc - . = TRUE - else if(!held_items[2]) - held_items[2] = O - O.screen_loc = inv2.screen_loc - . = TRUE - else if(!held_items[3]) - held_items[3] = O - O.screen_loc = inv3.screen_loc - . = TRUE - else - to_chat(src, "You need to disable a module first!") - if(.) - O.equipped(src, slot_hands) - O.mouse_opacity = initial(O.mouse_opacity) - O.layer = ABOVE_HUD_LAYER - O.plane = ABOVE_HUD_PLANE - observer_screen_update(O,TRUE) - O.forceMove(src) - if(istype(O, /obj/item/borg/sight)) - var/obj/item/borg/sight/S = O - sight_mode |= S.sight_mode - update_sight() - - -/mob/living/silicon/robot/proc/observer_screen_update(obj/item/I,add = TRUE) - if(observers && observers.len) - for(var/M in observers) - var/mob/dead/observe = M - if(observe.client && observe.client.eye == src) - if(add) - observe.client.screen += I - else - observe.client.screen -= I - else - observers -= observe - if(!observers.len) - observers = null - break - -/mob/living/silicon/robot/proc/uneq_active() - uneq_module(module_active) - -/mob/living/silicon/robot/proc/uneq_all() - for(var/obj/item/I in held_items) - uneq_module(I) - -/mob/living/silicon/robot/proc/activated(obj/item/O) - if(O in held_items) - return TRUE - return FALSE - -//Helper procs for cyborg modules on the UI. -//These are hackish but they help clean up code elsewhere. - -//module_selected(module) - Checks whether the module slot specified by "module" is currently selected. -/mob/living/silicon/robot/proc/module_selected(module) //Module is 1-3 - return module == get_selected_module() - -//module_active(module) - Checks whether there is a module active in the slot specified by "module". -/mob/living/silicon/robot/proc/module_active(module) //Module is 1-3 - if(module < 1 || module > 3) - return FALSE - - if(LAZYLEN(held_items) >= module) - if(held_items[module]) - return TRUE - return FALSE - -//get_selected_module() - Returns the slot number of the currently selected module. Returns 0 if no modules are selected. -/mob/living/silicon/robot/proc/get_selected_module() - if(module_active) - return held_items.Find(module_active) - - return 0 - -//select_module(module) - Selects the module slot specified by "module" -/mob/living/silicon/robot/proc/select_module(module) //Module is 1-3 - if(module < 1 || module > 3) - return - - if(!module_active(module)) - return - - switch(module) - if(1) - if(module_active != held_items[module]) - inv1.icon_state = "inv1 +a" - inv2.icon_state = "inv2" - inv3.icon_state = "inv3" - if(2) - if(module_active != held_items[module]) - inv1.icon_state = "inv1" - inv2.icon_state = "inv2 +a" - inv3.icon_state = "inv3" - if(3) - if(module_active != held_items[module]) - inv1.icon_state = "inv1" - inv2.icon_state = "inv2" - inv3.icon_state = "inv3 +a" - module_active = held_items[module] - -//deselect_module(module) - Deselects the module slot specified by "module" -/mob/living/silicon/robot/proc/deselect_module(module) //Module is 1-3 - if(module < 1 || module > 3) - return - - if(!module_active(module)) - return - - switch(module) - if(1) - if(module_active == held_items[module]) - inv1.icon_state = "inv1" - if(2) - if(module_active == held_items[module]) - inv2.icon_state = "inv2" - if(3) - if(module_active == held_items[module]) - inv3.icon_state = "inv3" - module_active = null - -//toggle_module(module) - Toggles the selection of the module slot specified by "module". -/mob/living/silicon/robot/proc/toggle_module(module) //Module is 1-3 - if(module < 1 || module > 3) - return - - if(module_selected(module)) - deselect_module(module) - else - if(module_active(module)) - select_module(module) - else - deselect_module(get_selected_module()) //If we can't do select anything, at least deselect the current module. - return - -//cycle_modules() - Cycles through the list of selected modules. -/mob/living/silicon/robot/proc/cycle_modules() - var/slot_start = get_selected_module() - if(slot_start) - deselect_module(slot_start) //Only deselect if we have a selected slot. - - var/slot_num - if(slot_start == 0) - slot_num = 1 - slot_start = 4 - else - slot_num = slot_start + 1 - - while(slot_num != slot_start) //If we wrap around without finding any free slots, just give up. - if(module_active(slot_num)) - select_module(slot_num) - return - slot_num++ - if(slot_num > 4) // not >3 otherwise cycling with just one item on module 3 wouldn't work - slot_num = 1 //Wrap around. - - - -/mob/living/silicon/robot/swap_hand() - cycle_modules() +//These procs handle putting stuff in your hand. It's probably best to use these rather than setting stuff manually +//as they handle all relevant stuff like adding it to the player's screen and such + +//Returns the thing in our active hand (whatever is in our active module-slot, in this case) +/mob/living/silicon/robot/get_active_held_item() + return module_active + + + +/mob/living/silicon/robot/proc/uneq_module(obj/item/O) + if(!O) + return 0 + O.mouse_opacity = MOUSE_OPACITY_OPAQUE + if(istype(O, /obj/item/borg/sight)) + var/obj/item/borg/sight/S = O + sight_mode &= ~S.sight_mode + update_sight() + else if(istype(O, /obj/item/storage/bag/tray/)) + var/obj/item/storage/bag/tray/T = O + T.do_quick_empty() + if(client) + client.screen -= O + observer_screen_update(O,FALSE) + O.forceMove(module) //Return item to module so it appears in its contents, so it can be taken out again. + + if(O.flags_1 & DROPDEL_1) + O.flags_1 &= ~DROPDEL_1 //we shouldn't HAVE things with DROPDEL_1 in our modules, but better safe than runtiming horribly + + O.dropped(src) + + if(module_active == O) + module_active = null + if(held_items[1] == O) + inv1.icon_state = "inv1" + held_items[1] = null + else if(held_items[2] == O) + inv2.icon_state = "inv2" + held_items[2] = null + else if(held_items[3] == O) + inv3.icon_state = "inv3" + held_items[3] = null + hud_used.update_robot_modules_display() + return 1 + +/mob/living/silicon/robot/proc/activate_module(obj/item/O) + . = FALSE + if(!(O in module.modules)) + return + if(activated(O)) + to_chat(src, "That module is already activated.") + return + if(!held_items[1]) + held_items[1] = O + O.screen_loc = inv1.screen_loc + . = TRUE + else if(!held_items[2]) + held_items[2] = O + O.screen_loc = inv2.screen_loc + . = TRUE + else if(!held_items[3]) + held_items[3] = O + O.screen_loc = inv3.screen_loc + . = TRUE + else + to_chat(src, "You need to disable a module first!") + if(.) + O.equipped(src, slot_hands) + O.mouse_opacity = initial(O.mouse_opacity) + O.layer = ABOVE_HUD_LAYER + O.plane = ABOVE_HUD_PLANE + observer_screen_update(O,TRUE) + O.forceMove(src) + if(istype(O, /obj/item/borg/sight)) + var/obj/item/borg/sight/S = O + sight_mode |= S.sight_mode + update_sight() + + +/mob/living/silicon/robot/proc/observer_screen_update(obj/item/I,add = TRUE) + if(observers && observers.len) + for(var/M in observers) + var/mob/dead/observe = M + if(observe.client && observe.client.eye == src) + if(add) + observe.client.screen += I + else + observe.client.screen -= I + else + observers -= observe + if(!observers.len) + observers = null + break + +/mob/living/silicon/robot/proc/uneq_active() + uneq_module(module_active) + +/mob/living/silicon/robot/proc/uneq_all() + for(var/obj/item/I in held_items) + uneq_module(I) + +/mob/living/silicon/robot/proc/activated(obj/item/O) + if(O in held_items) + return TRUE + return FALSE + +//Helper procs for cyborg modules on the UI. +//These are hackish but they help clean up code elsewhere. + +//module_selected(module) - Checks whether the module slot specified by "module" is currently selected. +/mob/living/silicon/robot/proc/module_selected(module) //Module is 1-3 + return module == get_selected_module() + +//module_active(module) - Checks whether there is a module active in the slot specified by "module". +/mob/living/silicon/robot/proc/module_active(module) //Module is 1-3 + if(module < 1 || module > 3) + return FALSE + + if(LAZYLEN(held_items) >= module) + if(held_items[module]) + return TRUE + return FALSE + +//get_selected_module() - Returns the slot number of the currently selected module. Returns 0 if no modules are selected. +/mob/living/silicon/robot/proc/get_selected_module() + if(module_active) + return held_items.Find(module_active) + + return 0 + +//select_module(module) - Selects the module slot specified by "module" +/mob/living/silicon/robot/proc/select_module(module) //Module is 1-3 + if(module < 1 || module > 3) + return + + if(!module_active(module)) + return + + switch(module) + if(1) + if(module_active != held_items[module]) + inv1.icon_state = "inv1 +a" + inv2.icon_state = "inv2" + inv3.icon_state = "inv3" + if(2) + if(module_active != held_items[module]) + inv1.icon_state = "inv1" + inv2.icon_state = "inv2 +a" + inv3.icon_state = "inv3" + if(3) + if(module_active != held_items[module]) + inv1.icon_state = "inv1" + inv2.icon_state = "inv2" + inv3.icon_state = "inv3 +a" + module_active = held_items[module] + +//deselect_module(module) - Deselects the module slot specified by "module" +/mob/living/silicon/robot/proc/deselect_module(module) //Module is 1-3 + if(module < 1 || module > 3) + return + + if(!module_active(module)) + return + + switch(module) + if(1) + if(module_active == held_items[module]) + inv1.icon_state = "inv1" + if(2) + if(module_active == held_items[module]) + inv2.icon_state = "inv2" + if(3) + if(module_active == held_items[module]) + inv3.icon_state = "inv3" + module_active = null + +//toggle_module(module) - Toggles the selection of the module slot specified by "module". +/mob/living/silicon/robot/proc/toggle_module(module) //Module is 1-3 + if(module < 1 || module > 3) + return + + if(module_selected(module)) + deselect_module(module) + else + if(module_active(module)) + select_module(module) + else + deselect_module(get_selected_module()) //If we can't do select anything, at least deselect the current module. + return + +//cycle_modules() - Cycles through the list of selected modules. +/mob/living/silicon/robot/proc/cycle_modules() + var/slot_start = get_selected_module() + if(slot_start) + deselect_module(slot_start) //Only deselect if we have a selected slot. + + var/slot_num + if(slot_start == 0) + slot_num = 1 + slot_start = 4 + else + slot_num = slot_start + 1 + + while(slot_num != slot_start) //If we wrap around without finding any free slots, just give up. + if(module_active(slot_num)) + select_module(slot_num) + return + slot_num++ + if(slot_num > 4) // not >3 otherwise cycling with just one item on module 3 wouldn't work + slot_num = 1 //Wrap around. + + + +/mob/living/silicon/robot/swap_hand() + cycle_modules() diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 6ff04231af..641e78a0f3 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -70,8 +70,6 @@ var/parrot_dam_zone = list("chest", "head", "l_arm", "l_leg", "r_arm", "r_leg") //For humans, select a bodypart to attack var/parrot_speed = 5 //"Delay in world ticks between movement." according to byond. Yeah, that's BS but it does directly affect movement. Higher number = slower. - //var/parrot_been_shot = 0 this wasn't working right, and parrots don't survive bullets.((Parrots get a speed bonus after being shot. This will deincrement every Life() and at 0 the parrot will return to regular speed.)) - var/parrot_lastmove = null //Updates/Stores position of the parrot while it's moving var/parrot_stuck = 0 //If parrot_lastmove hasnt changed, this will increment until it reaches parrot_stuck_threshold var/parrot_stuck_threshold = 10 //if this == parrot_stuck, it'll force the parrot back to wandering @@ -547,8 +545,6 @@ parrot_state = PARROT_WANDER walk_away(src, parrot_interest, 1, parrot_speed) - /*if(parrot_been_shot > 0) - parrot_been_shot-- didn't work anyways, and besides, any bullet poly survives isn't worth the speed boost.*/ if(isStuck()) return diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index 0ec41119dc..6cc1df085c 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -112,7 +112,6 @@ if(!environment) return - //var/environment_heat_capacity = environment.heat_capacity() var/loc_temp = get_temperature(environment) bodytemperature += adjust_body_temperature(bodytemperature, loc_temp, 1) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index df80302743..9a9b161e51 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -420,18 +420,6 @@ I.attack_self(src) update_inv_hands() - -/* -/mob/verb/dump_source() - - var/master = "
"
-	for(var/t in typesof(/area))
-		master += text("[]\n", t)
-		//Foreach goto(26)
-	src << browse(master)
-	return
-*/
-
 /mob/verb/memory()
 	set name = "Notes"
 	set category = "IC"
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index 525e6ecb2c..58cb82714e 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -110,9 +110,6 @@
 
 	var/list/mob_spell_list = list() //construct spells and mime spells. Spells that do not transfer from one mob to another and can not be lost in mindswap.
 
-//Changlings, but can be used in other modes
-//	var/obj/effect/proc_holder/changpower/list/power_list = list()
-
 //List of active diseases
 
 	var/list/viruses = list() // list of all diseases in a mob
diff --git a/code/modules/modular_computers/file_system/programs/sm_monitor.dm b/code/modules/modular_computers/file_system/programs/sm_monitor.dm
index ae719c9bc4..2141f4fdd7 100644
--- a/code/modules/modular_computers/file_system/programs/sm_monitor.dm
+++ b/code/modules/modular_computers/file_system/programs/sm_monitor.dm
@@ -41,7 +41,6 @@
 	var/turf/T = get_turf(ui_host())
 	if(!T)
 		return
-	//var/valid_z_levels = (GetConnectedZlevels(T.z) & using_map.station_levels)
 	for(var/obj/machinery/power/supermatter_shard/S in GLOB.machines)
 		// Delaminating, not within coverage, not on a tile.
 		if(!((S.z in GLOB.station_z_levels) || S.z == ZLEVEL_MINING || S.z == T.z || !isturf(S.loc)))
diff --git a/code/modules/ninja/Ninja_Readme.dm b/code/modules/ninja/Ninja_Readme.dm
deleted file mode 100644
index 2d383f9b1f..0000000000
--- a/code/modules/ninja/Ninja_Readme.dm
+++ /dev/null
@@ -1,10 +0,0 @@
-
-/*
-
-Removing Snowflake:
-- Search for NINJACODE (one word, all caps) to find Space Ninja Code outside of the /modules/ninja folder.
-
-Ninja Folder:
-- This folder contains 90% of Ninja code and will eventually contain it all, once snowflake is cleaned out
-
-*/
diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm
index 72dce2b8d2..21d157a33c 100644
--- a/code/modules/paperwork/filingcabinet.dm
+++ b/code/modules/paperwork/filingcabinet.dm
@@ -101,7 +101,6 @@
 	if(href_list["retrieve"])
 		usr << browse("", "window=filingcabinet") // Close the menu
 
-		//var/retrieveindex = text2num(href_list["retrieve"])
 		var/obj/item/P = locate(href_list["retrieve"])//contents[retrieveindex]
 		if(istype(P) && P.loc == src && in_range(src, usr))
 			usr.put_in_hands(P)
diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm
index f0bcf5e9f1..327b3a716a 100644
--- a/code/modules/power/antimatter/shielding.dm
+++ b/code/modules/power/antimatter/shielding.dm
@@ -180,7 +180,6 @@
 	for(var/direction in GLOB.alldirs)
 		var/found_am_device=0
 		for(var/obj/machinery/machine in get_step(loc, direction))
-		//var/machine = locate(/obj/machinery, get_step(loc, direction))
 			if(!machine)
 				continue//Need all for a core
 			if(istype(machine, /obj/machinery/am_shielding) || istype(machine, /obj/machinery/power/am_control_unit))
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index ce1148f985..35d104819f 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -1052,15 +1052,6 @@
 		force_update = 1
 		return
 
-	/*
-	if (equipment > 1) // off=0, off auto=1, on=2, on auto=3
-		use_power(src.equip_consumption, EQUIP)
-	if (lighting > 1) // off=0, off auto=1, on=2, on auto=3
-		use_power(src.light_consumption, LIGHT)
-	if (environ > 1) // off=0, off auto=1, on=2, on auto=3
-		use_power(src.environ_consumption, ENVIRON)
-
-	area.calc_lighting() */
 	lastused_light = area.usage(STATIC_LIGHT)
 	lastused_light += area.usage(LIGHT)
 	lastused_equip = area.usage(EQUIP)
diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm
index 040a05c1cb..3e57ae2689 100644
--- a/code/modules/power/cell.dm
+++ b/code/modules/power/cell.dm
@@ -111,12 +111,6 @@
 
 /obj/item/stock_parts/cell/proc/explode()
 	var/turf/T = get_turf(src.loc)
-/*
- * 1000-cell	explosion(T, -1, 0, 1, 1)
- * 2500-cell	explosion(T, -1, 0, 1, 1)
- * 10000-cell	explosion(T, -1, 1, 3, 3)
- * 15000-cell	explosion(T, -1, 2, 4, 4)
- * */
 	if (charge==0)
 		return
 	var/devastation_range = -1 //round(charge/11000)
diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm
index 5369686b31..6a8c6ec5ec 100644
--- a/code/modules/power/generator.dm
+++ b/code/modules/power/generator.dm
@@ -1,12 +1,3 @@
-// dummy generator object for testing
-
-/*/obj/machinery/power/generator/verb/set_amount(var/g as num)
-	set src in view(1)
-
-	gen_amount = g
-
-*/
-
 /obj/machinery/power/generator
 	name = "thermoelectric generator"
 	desc = "It's a high efficiency thermoelectric generator."
diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm
index d17071eeb3..933cfc70e0 100644
--- a/code/modules/power/power.dm
+++ b/code/modules/power/power.dm
@@ -188,7 +188,6 @@
 // if unmarked==1, only return those with no powernet
 /proc/power_list(turf/T, source, d, unmarked=0, cable_only = 0)
 	. = list()
-	//var/fdir = (!d)? 0 : turn(d, 180)			// the opposite direction to d (or 0 if d==0)
 
 	for(var/AM in T)
 		if(AM == source)
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index fc06adfe78..7596d890e0 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -152,11 +152,6 @@
 
 
 /obj/machinery/power/emitter/emp_act(severity)//Emitters are hardened but still might have issues
-//	add_load(1000)
-/*	if((severity == 1)&&prob(1)&&prob(1))
-		if(src.active)
-			src.active = 0
-			src.use_power = IDLE_POWER_USE	*/
 	return 1
 
 
diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm
index 0d1a8904f4..497fc53ae3 100644
--- a/code/modules/power/turbine.dm
+++ b/code/modules/power/turbine.dm
@@ -139,7 +139,6 @@
 	// It's a simplified version taking only 1/10 of the moles from the turf nearby. It should be later changed into a better version
 
 	var/transfer_moles = environment.total_moles()/10
-	//var/transfer_moles = rpm/10000*capacity
 	var/datum/gas_mixture/removed = inturf.remove_air(transfer_moles)
 	gas_contained.merge(removed)
 
diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm
index bb26694021..a45b713b85 100644
--- a/code/modules/projectiles/projectile.dm
+++ b/code/modules/projectiles/projectile.dm
@@ -336,7 +336,6 @@
 	step_towards(src, locate(new_x, new_y, z))
 	pixel_x = old_pixel_x
 	pixel_y = old_pixel_y
-	//var/animation_time = ((SSprojectiles.flags & SS_TICKER? (SSprojectiles.wait * world.tick_lag) : SSprojectiles.wait) / moves)
 	animate(src, pixel_x = pixel_x_offset, pixel_y = pixel_y_offset, time = 1, flags = ANIMATION_END_NOW)
 	old_pixel_x = pixel_x_offset
 	old_pixel_y = pixel_y_offset
diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm
index 6d541dad1a..05135e9765 100644
--- a/code/modules/recycling/conveyor2.dm
+++ b/code/modules/recycling/conveyor2.dm
@@ -179,12 +179,6 @@
 	if(C)
 		C.set_operable(stepdir, id, op)
 
-/*
-/obj/machinery/conveyor/verb/destroy()
-	set src in view()
-	src.broken()
-*/
-
 /obj/machinery/conveyor/power_change()
 	..()
 	update()
diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm
index 51485380ce..6d0c32fcb1 100644
--- a/code/modules/research/designs/mechfabricator_designs.dm
+++ b/code/modules/research/designs/mechfabricator_designs.dm
@@ -191,16 +191,6 @@
 	construction_time = 130
 	category = list("Odysseus")
 
-/*/datum/design/odysseus_armor
-	name = "Exosuit Armor (\"Odysseus\")"
-	id = "odysseus_armor"
-	build_type = MECHFAB
-	build_path = /obj/item/mecha_parts/part/odysseus_armor
-	materials = list(MAT_METAL=15000)
-	construction_time = 200
-	category = list("Odysseus")
-	*/
-
 //Gygax
 /datum/design/gygax_chassis
 	name = "Exosuit Chassis (\"Gygax\")"
diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm
index 1f2a3bb472..57ca602774 100644
--- a/code/modules/research/experimentor.dm
+++ b/code/modules/research/experimentor.dm
@@ -43,20 +43,6 @@
 		temp_list[O] = text2num(temp_list[O])
 	return temp_list
 
-/* //uncomment to enable forced reactions.
-/obj/machinery/r_n_d/experimentor/verb/forceReaction()
-	set name = "Force Experimentor Reaction"
-	set category = "Debug"
-	set src in oview(1)
-	var/reaction = input(usr,"What reaction?") in list(SCANTYPE_POKE,SCANTYPE_IRRADIATE,SCANTYPE_GAS,SCANTYPE_HEAT,SCANTYPE_COLD,SCANTYPE_OBLITERATE)
-	var/oldReaction = item_reactions["[loaded_item.type]"]
-	item_reactions["[loaded_item.type]"] = reaction
-	experiment(item_reactions["[loaded_item.type]"],loaded_item)
-	spawn(10)
-		if(loaded_item)
-			item_reactions["[loaded_item.type]"] = oldReaction
-*/
-
 /obj/machinery/r_n_d/experimentor/proc/SetTypeReactions()
 	var/probWeight = 0
 	for(var/I in typesof(/obj/item))
diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm
index 295dd4429a..d42e43ec9a 100644
--- a/code/modules/research/message_server.dm
+++ b/code/modules/research/message_server.dm
@@ -98,8 +98,6 @@ GLOBAL_LIST_INIT(message_servers, list())
 	return newKey
 
 /obj/machinery/message_server/process()
-	//if(decryptkey == "password")
-	//	decryptkey = generateKey()
 	if(active && (stat & (BROKEN|NOPOWER)))
 		active = 0
 		return
diff --git a/code/modules/security_levels/security_levels.dm b/code/modules/security_levels/security_levels.dm
index a145028ad3..22f420df91 100644
--- a/code/modules/security_levels/security_levels.dm
+++ b/code/modules/security_levels/security_levels.dm
@@ -56,11 +56,6 @@ GLOBAL_VAR_INIT(security_level, 0)
 				else
 					minor_announce(CONFIG_GET(string/alert_red_downto), "Attention! Code red!")
 				GLOB.security_level = SEC_LEVEL_RED
-
-				/*	- At the time of commit, setting status displays didn't work properly
-				var/obj/machinery/computer/communications/CC = locate(/obj/machinery/computer/communications,world)
-				if(CC)
-					CC.post_status("alert", "redalert")*/
 				sound_to_playing_players('sound/misc/voyalert.ogg')
 				for(var/obj/machinery/firealarm/FA in GLOB.machines)
 					if(FA.z in GLOB.station_z_levels)
@@ -116,15 +111,3 @@ GLOBAL_VAR_INIT(security_level, 0)
 			return SEC_LEVEL_RED
 		if("delta")
 			return SEC_LEVEL_DELTA
-
-
-/*DEBUG
-/mob/verb/set_thing0()
-	set_security_level(0)
-/mob/verb/set_thing1()
-	set_security_level(1)
-/mob/verb/set_thing2()
-	set_security_level(2)
-/mob/verb/set_thing3()
-	set_security_level(3)
-*/
diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm
index f2d451f6e2..6db6e73cff 100644
--- a/code/modules/shuttle/special.dm
+++ b/code/modules/shuttle/special.dm
@@ -140,6 +140,7 @@
 	name = "Bardrone"
 	desc = "A barkeeping drone, an indestructible robot built to tend bars."
 	seeStatic = FALSE
+	hacked = TRUE
 	laws = "1. Serve drinks.\n\
 		2. Talk to patrons.\n\
 		3. Don't get messed up in their affairs."
@@ -227,10 +228,10 @@
 /obj/effect/forcefield/luxury_shuttle/CollidedWith(atom/movable/AM)
 	if(!isliving(AM))
 		return ..()
-	
+
 	if(check_times[AM] && check_times[AM] > world.time) //Let's not spam the message
 		return ..()
-	
+
 	check_times[AM] = world.time + LUXURY_MESSAGE_COOLDOWN
 
 	var/total_cash = 0
diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm
index 20a79903ef..24cfd9ab92 100644
--- a/code/modules/vehicles/scooter.dm
+++ b/code/modules/vehicles/scooter.dm
@@ -57,6 +57,9 @@
 		H.throw_at(throw_target, 4, 3)
 		H.Knockdown(100)
 		H.adjustStaminaLoss(40)
+		if(!istype(H.head,/obj/item/clothing/head/helmet/) && !istype(H.head,/obj/item/clothing/head/hardhat))
+			H.adjustBrainLoss(3)
+			H.updatehealth()
 		visible_message("[src] crashes into [A], sending [H] flying!")
 		playsound(src, 'sound/effects/bang.ogg', 50, 1)
 
@@ -131,4 +134,4 @@
 				var/mob/living/carbon/H = buckled_mobs[1]
 				unbuckle_mob(H)
 				S.buckle_mob(H)
-			qdel(src)
\ No newline at end of file
+			qdel(src)
diff --git a/html/changelogs/AutoChangeLog-pr-4030.yml b/html/changelogs/AutoChangeLog-pr-4030.yml
new file mode 100644
index 0000000000..ca630fbfd8
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-4030.yml
@@ -0,0 +1,5 @@
+author: "zennerx"
+delete-after: True
+changes: 
+  - tweak: "Skateboard crashes now give slight brain damage!"
+  - rscadd: "Using a helmet prevents brain damage from the skateboard!"
diff --git a/html/changelogs/AutoChangeLog-pr-4032.yml b/html/changelogs/AutoChangeLog-pr-4032.yml
new file mode 100644
index 0000000000..4969c5bcaf
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-4032.yml
@@ -0,0 +1,4 @@
+author: "ShizCalev"
+delete-after: True
+changes: 
+  - bugfix: "PubbyStation - Unpowered air injectors in various locations have been fixed."
diff --git a/html/changelogs/AutoChangeLog-pr-4033.yml b/html/changelogs/AutoChangeLog-pr-4033.yml
new file mode 100644
index 0000000000..effc283b83
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-4033.yml
@@ -0,0 +1,5 @@
+author: "ShizCalev"
+delete-after: True
+changes: 
+  - bugfix: "MetaStation - Air injector leading out of the incinerator has been fixed"
+  - bugfix: "MetaStation - Corrected a couple maintenance airlocks being powered by the wrong areas."
diff --git a/html/changelogs/AutoChangeLog-pr-4038.yml b/html/changelogs/AutoChangeLog-pr-4038.yml
new file mode 100644
index 0000000000..9500855d83
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-4038.yml
@@ -0,0 +1,4 @@
+author: "WJohnston"
+delete-after: True
+changes: 
+  - bugfix: "Green banded default airlocks now have extended click area like all other airlocks."
diff --git a/html/changelogs/AutoChangeLog-pr-4043.yml b/html/changelogs/AutoChangeLog-pr-4043.yml
new file mode 100644
index 0000000000..b867396350
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-4043.yml
@@ -0,0 +1,4 @@
+author: "Francinum"
+delete-after: True
+changes: 
+  - tweak: "The shuttle build plate is now better sized for all stations."
diff --git a/icons/obj/doors/airlocks/station/public.dmi b/icons/obj/doors/airlocks/station/public.dmi
index efb4600adb..ac135873a6 100644
Binary files a/icons/obj/doors/airlocks/station/public.dmi and b/icons/obj/doors/airlocks/station/public.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index b68ee744a2..cf8d759a69 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1663,7 +1663,6 @@
 #include "code\modules\mob\login.dm"
 #include "code\modules\mob\logout.dm"
 #include "code\modules\mob\mob.dm"
-#include "code\modules\mob\mob_cleanup.dm"
 #include "code\modules\mob\mob_defines.dm"
 #include "code\modules\mob\mob_helpers.dm"
 #include "code\modules\mob\mob_movement.dm"
@@ -2011,7 +2010,6 @@
 #include "code\modules\ninja\__ninjaDefines.dm"
 #include "code\modules\ninja\energy_katana.dm"
 #include "code\modules\ninja\ninja_event.dm"
-#include "code\modules\ninja\Ninja_Readme.dm"
 #include "code\modules\ninja\outfit.dm"
 #include "code\modules\ninja\suit\gloves.dm"
 #include "code\modules\ninja\suit\head.dm"
@@ -2060,7 +2058,6 @@
 #include "code\modules\power\rtg.dm"
 #include "code\modules\power\smes.dm"
 #include "code\modules\power\solar.dm"
-#include "code\modules\power\switch.dm"
 #include "code\modules\power\terminal.dm"
 #include "code\modules\power\tracker.dm"
 #include "code\modules\power\turbine.dm"