Merge pull request #5229 from Neerti/4/29/2018_remove_world_REMOVE_WORLD

for(var/bad_code in world)
This commit is contained in:
Atermonera
2018-05-01 13:00:18 -07:00
committed by GitHub
103 changed files with 281 additions and 404 deletions

View File

@@ -237,3 +237,22 @@
#define USE_FAIL_INCAPACITATED 5 #define USE_FAIL_INCAPACITATED 5
#define USE_FAIL_NOT_IN_USER 6 #define USE_FAIL_NOT_IN_USER 6
#define USE_FAIL_IS_SILICON 7 #define USE_FAIL_IS_SILICON 7
// This creates a consistant definition for creating global lists, automatically inserting objects into it when they are created, and removing them when deleted.
// It is very good for removing the 'in world' junk that exists in the codebase painlessly.
// First argument is the list name/path desired, e.g. 'all_candles' would be 'var/list/all_candles = list()'.
// Second argument is the path the list is expected to contain. Note that children will also get added to the global list.
// If the GLOB system is ever ported, you can change this macro in one place and have less work to do than you otherwise would.
#define GLOBAL_LIST_BOILERPLATE(LIST_NAME, PATH)\
var/global/list/##LIST_NAME = list();\
##PATH/initialize(mapload, ...)\
{\
##LIST_NAME += src;\
return ..();\
}\
##PATH/Destroy(force, ...)\
{\
##LIST_NAME -= src;\
return ..();\
}\

View File

@@ -33,7 +33,7 @@
.= res .= res
/proc/get_area_name(N) //get area by its name /proc/get_area_name(N) //get area by its name
for(var/area/A in world) for(var/area/A in all_areas)
if(A.name == N) if(A.name == N)
return A return A
return 0 return 0

View File

@@ -503,9 +503,9 @@ Turf and target are seperate in case you want to teleport some distance from a t
moblist.Add(M) moblist.Add(M)
for(var/mob/living/simple_animal/M in sortmob) for(var/mob/living/simple_animal/M in sortmob)
moblist.Add(M) moblist.Add(M)
// for(var/mob/living/silicon/hivebot/M in world) // for(var/mob/living/silicon/hivebot/M in sortmob)
// mob_list.Add(M) // mob_list.Add(M)
// for(var/mob/living/silicon/hive_mainframe/M in world) // for(var/mob/living/silicon/hive_mainframe/M in sortmob)
// mob_list.Add(M) // mob_list.Add(M)
return moblist return moblist
@@ -672,7 +672,7 @@ proc/GaussRandRound(var/sigma,var/roundto)
//Returns: all the areas in the world //Returns: all the areas in the world
/proc/return_areas() /proc/return_areas()
var/list/area/areas = list() var/list/area/areas = list()
for(var/area/A in world) for(var/area/A in all_areas)
areas += A areas += A
return areas return areas
@@ -690,7 +690,7 @@ proc/GaussRandRound(var/sigma,var/roundto)
areatype = areatemp.type areatype = areatemp.type
var/list/areas = new/list() var/list/areas = new/list()
for(var/area/N in world) for(var/area/N in all_areas)
if(istype(N, areatype)) areas += N if(istype(N, areatype)) areas += N
return areas return areas
@@ -704,7 +704,7 @@ proc/GaussRandRound(var/sigma,var/roundto)
areatype = areatemp.type areatype = areatemp.type
var/list/turfs = new/list() var/list/turfs = new/list()
for(var/area/N in world) for(var/area/N in all_areas)
if(istype(N, areatype)) if(istype(N, areatype))
for(var/turf/T in N) turfs += T for(var/turf/T in N) turfs += T
return turfs return turfs
@@ -719,7 +719,7 @@ proc/GaussRandRound(var/sigma,var/roundto)
areatype = areatemp.type areatype = areatemp.type
var/list/atoms = new/list() var/list/atoms = new/list()
for(var/area/N in world) for(var/area/N in all_areas)
if(istype(N, areatype)) if(istype(N, areatype))
for(var/atom/A in N) for(var/atom/A in N)
atoms += A atoms += A

View File

@@ -84,7 +84,7 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle
evac = 1 evac = 1
emergency_shuttle_called.Announce(replacetext(using_map.emergency_shuttle_called_message, "%ETA%", "[estimated_time] minute\s")) emergency_shuttle_called.Announce(replacetext(using_map.emergency_shuttle_called_message, "%ETA%", "[estimated_time] minute\s"))
for(var/area/A in world) for(var/area/A in all_areas)
if(istype(A, /area/hallway)) if(istype(A, /area/hallway))
A.readyalert() A.readyalert()
@@ -116,7 +116,7 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle
if (evac) if (evac)
emergency_shuttle_recalled.Announce(using_map.emergency_shuttle_recall_message) emergency_shuttle_recalled.Announce(using_map.emergency_shuttle_recall_message)
for(var/area/A in world) for(var/area/A in all_areas)
if(istype(A, /area/hallway)) if(istype(A, /area/hallway))
A.readyreset() A.readyreset()
evac = 0 evac = 0

View File

@@ -49,67 +49,8 @@ datum/controller/game_controller/proc/setup()
// #endif // #endif
datum/controller/game_controller/proc/setup_objects() datum/controller/game_controller/proc/setup_objects()
// #if !UNIT_TEST
// var/initialized_objects = 0
// #endif
// Set up antagonists. // Set up antagonists.
populate_antag_type_list() populate_antag_type_list()
//Set up spawn points. //Set up spawn points.
populate_spawn_points() populate_spawn_points()
/*
admin_notice("<span class='danger'>Initializing Floor Decals</span>", R_DEBUG)
var/list/turfs_with_decals = list()
for(var/obj/effect/floor_decal/D in world)
var/T = D.add_to_turf_decals()
if(T) turfs_with_decals |= T
CHECK_SLEEP_MASTER
for(var/item in turfs_with_decals)
var/turf/T = item
if(T.decals) T.apply_decals()
CHECK_SLEEP_MASTER
floor_decals_initialized = TRUE
sleep(1)
admin_notice("<span class='danger'>Initializing objects</span>", R_DEBUG)
for(var/atom/movable/object in world)
if(!QDELETED(object))
object.initialize()
CHECK_SLEEP_MASTER
sleep(1)
admin_notice("<span class='danger'>Initializing areas</span>", R_DEBUG)
for(var/area/area in all_areas)
area.initialize()
CHECK_SLEEP_MASTER
sleep(1)
admin_notice("<span class='danger'>Initializing atmos machinery connections.</span>", R_DEBUG)
for(var/obj/machinery/atmospherics/machine in machines)
machine.atmos_init()
CHECK_SLEEP_MASTER
admin_notice("<span class='danger'>Initializing pipe networks</span>", R_DEBUG)
for(var/obj/machinery/atmospherics/machine in machines)
machine.build_network()
CHECK_SLEEP_MASTER
admin_notice("<span class='danger'>Initializing atmos machinery.</span>", R_DEBUG)
for(var/obj/machinery/atmospherics/unary/U in machines)
if(istype(U, /obj/machinery/atmospherics/unary/vent_pump))
var/obj/machinery/atmospherics/unary/vent_pump/T = U
T.broadcast_status()
else if(istype(U, /obj/machinery/atmospherics/unary/vent_scrubber))
var/obj/machinery/atmospherics/unary/vent_scrubber/T = U
T.broadcast_status()
CHECK_SLEEP_MASTER
admin_notice("<span class='danger'>Initializing turbolifts</span>", R_DEBUG)
for(var/thing in turbolifts)
var/obj/turbolift_map_holder/lift = thing
if(!QDELETED(lift))
lift.initialize()
CHECK_SLEEP_MASTER
*/

View File

@@ -27,6 +27,9 @@ SUBSYSTEM_DEF(air)
// Updating zone tiles requires temporary storage location of self-zone-blocked turfs across resumes. Used only by process_tiles_to_update. // Updating zone tiles requires temporary storage location of self-zone-blocked turfs across resumes. Used only by process_tiles_to_update.
var/list/selfblock_deferred = null var/list/selfblock_deferred = null
// This is used to tell Travis WHERE the edges are.
var/list/startup_active_edge_log = list()
/datum/controller/subsystem/air/PreInit() /datum/controller/subsystem/air/PreInit()
air_master = src air_master = src
@@ -35,7 +38,7 @@ SUBSYSTEM_DEF(air)
current_cycle = 0 current_cycle = 0
var/simulated_turf_count = 0 var/simulated_turf_count = 0
for(var/turf/simulated/S in world) for(var/turf/simulated/S in turfs)
simulated_turf_count++ simulated_turf_count++
S.update_air_properties() S.update_air_properties()
CHECK_TICK CHECK_TICK
@@ -56,8 +59,9 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun
for(var/connection_edge/E in active_edges) for(var/connection_edge/E in active_edges)
edge_log += "Active Edge [E] ([E.type])" edge_log += "Active Edge [E] ([E.type])"
for(var/turf/T in E.connecting_turfs) for(var/turf/T in E.connecting_turfs)
edge_log += "+--- Connecting Turf [T] @ [T.x], [T.y], [T.z]" edge_log += "+--- Connecting Turf [T] ([T.type]) @ [T.x], [T.y], [T.z] ([T.loc])"
log_debug("Active Edges on ZAS Startup\n" + edge_log.Join("\n")) log_debug("Active Edges on ZAS Startup\n" + edge_log.Join("\n"))
startup_active_edge_log = edge_log.Copy()
..() ..()

View File

@@ -46,7 +46,7 @@ SUBSYSTEM_DEF(atoms)
CHECK_TICK CHECK_TICK
else else
count = 0 count = 0
for(var/atom/A in world) for(var/atom/A in world) // This must be world, since this operation adds all the atoms to their specific lists.
if(!A.initialized) if(!A.initialized)
InitAtom(A, mapload_arg) InitAtom(A, mapload_arg)
++count ++count

View File

@@ -30,7 +30,7 @@ SUBSYSTEM_DEF(xenoarch)
. = ..() . = ..()
/datum/controller/subsystem/xenoarch/proc/SetupXenoarch() /datum/controller/subsystem/xenoarch/proc/SetupXenoarch()
for(var/turf/simulated/mineral/M in world) for(var/turf/simulated/mineral/M in turfs)
if(!M.density) if(!M.density)
continue continue

View File

@@ -39,7 +39,7 @@
if(flags & ANTAG_HAS_NUKE) if(flags & ANTAG_HAS_NUKE)
dat += "<br><table><tr><td><B>Nuclear disk(s)</B></td></tr>" dat += "<br><table><tr><td><B>Nuclear disk(s)</B></td></tr>"
for(var/obj/item/weapon/disk/nuclear/N in world) for(var/obj/item/weapon/disk/nuclear/N in nuke_disks)
dat += "<tr><td>[N.name], " dat += "<tr><td>[N.name], "
var/atom/disk_loc = N.loc var/atom/disk_loc = N.loc
while(!istype(disk_loc, /turf)) while(!istype(disk_loc, /turf))

View File

@@ -373,7 +373,7 @@ var/list/mob/living/forced_ambiance_list = new
var/list/teleportlocs = list() var/list/teleportlocs = list()
/hook/startup/proc/setupTeleportLocs() /hook/startup/proc/setupTeleportLocs()
for(var/area/AR in world) for(var/area/AR in all_areas)
if(istype(AR, /area/shuttle) || istype(AR, /area/syndicate_station) || istype(AR, /area/wizard_station)) continue if(istype(AR, /area/shuttle) || istype(AR, /area/syndicate_station) || istype(AR, /area/wizard_station)) continue
if(teleportlocs.Find(AR.name)) continue if(teleportlocs.Find(AR.name)) continue
var/turf/picked = pick(get_area_turfs(AR.type)) var/turf/picked = pick(get_area_turfs(AR.type))
@@ -388,7 +388,7 @@ var/list/teleportlocs = list()
var/list/ghostteleportlocs = list() var/list/ghostteleportlocs = list()
/hook/startup/proc/setupGhostTeleportLocs() /hook/startup/proc/setupGhostTeleportLocs()
for(var/area/AR in world) for(var/area/AR in all_areas)
if(ghostteleportlocs.Find(AR.name)) continue if(ghostteleportlocs.Find(AR.name)) continue
if(istype(AR, /area/aisat) || istype(AR, /area/derelict) || istype(AR, /area/tdome) || istype(AR, /area/shuttle/specops/centcom)) if(istype(AR, /area/aisat) || istype(AR, /area/derelict) || istype(AR, /area/tdome) || istype(AR, /area/shuttle/specops/centcom))
ghostteleportlocs += AR.name ghostteleportlocs += AR.name

View File

@@ -1,3 +1,5 @@
GLOBAL_LIST_BOILERPLATE(all_atoms, /atom) // Use with care, its likely barely better than using world.
/atom /atom
layer = TURF_LAYER //This was here when I got here. Why though? layer = TURF_LAYER //This was here when I got here. Why though?
var/level = 2 var/level = 2

View File

@@ -319,7 +319,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
runerandom() runerandom()
if(iscultist(user)) if(iscultist(user))
var/C = 0 var/C = 0
for(var/obj/effect/rune/N in world) for(var/obj/effect/rune/N in rune_list)
C++ C++
if (!istype(user.loc,/turf)) if (!istype(user.loc,/turf))
user << "<span class='warning'>You do not have enough space to write a proper rune.</span>" user << "<span class='warning'>You do not have enough space to write a proper rune.</span>"

View File

@@ -21,7 +21,7 @@ var/list/sacrificed = list()
allrunesloc = new/list() allrunesloc = new/list()
var/index = 0 var/index = 0
// var/tempnum = 0 // var/tempnum = 0
for(var/obj/effect/rune/R in world) for(var/obj/effect/rune/R in rune_list)
if(R == src) if(R == src)
continue continue
if(R.word1 == cultwords["travel"] && R.word2 == cultwords["self"] && R.word3 == key && isPlayerLevel(R.z)) if(R.word1 == cultwords["travel"] && R.word2 == cultwords["self"] && R.word3 == key && isPlayerLevel(R.z))
@@ -59,7 +59,7 @@ var/list/sacrificed = list()
var/runecount = 0 var/runecount = 0
var/obj/effect/rune/IP = null var/obj/effect/rune/IP = null
var/mob/living/user = usr var/mob/living/user = usr
for(var/obj/effect/rune/R in world) for(var/obj/effect/rune/R in rune_list)
if(R == src) if(R == src)
continue continue
if(R.word1 == cultwords["travel"] && R.word2 == cultwords["other"] && R.word3 == key) if(R.word1 == cultwords["travel"] && R.word2 == cultwords["other"] && R.word3 == key)
@@ -243,7 +243,7 @@ var/list/sacrificed = list()
drain() drain()
var/drain = 0 var/drain = 0
for(var/obj/effect/rune/R in world) for(var/obj/effect/rune/R in rune_list)
if(R.word1==cultwords["travel"] && R.word2==cultwords["blood"] && R.word3==cultwords["self"]) if(R.word1==cultwords["travel"] && R.word2==cultwords["blood"] && R.word3==cultwords["self"])
for(var/mob/living/carbon/D in R.loc) for(var/mob/living/carbon/D in R.loc)
if(D.stat!=2) if(D.stat!=2)
@@ -343,7 +343,7 @@ var/list/sacrificed = list()
is_sacrifice_target = 0 is_sacrifice_target = 0
find_sacrifice: find_sacrifice:
for(var/obj/effect/rune/R in world) for(var/obj/effect/rune/R in rune_list)
if(R.word1==cultwords["blood"] && R.word2==cultwords["join"] && R.word3==cultwords["hell"]) if(R.word1==cultwords["blood"] && R.word2==cultwords["join"] && R.word3==cultwords["hell"])
for(var/mob/living/carbon/human/N in R.loc) for(var/mob/living/carbon/human/N in R.loc)
if(cult && N.mind && N.mind == cult.sacrifice_target) if(cult && N.mind && N.mind == cult.sacrifice_target)
@@ -1049,7 +1049,7 @@ var/list/sacrificed = list()
if(iscultist(C) && !C.stat) if(iscultist(C) && !C.stat)
culcount++ culcount++
if(culcount >= 5) if(culcount >= 5)
for(var/obj/effect/rune/R in world) for(var/obj/effect/rune/R in rune_list)
if(R.blood_DNA == src.blood_DNA) if(R.blood_DNA == src.blood_DNA)
for(var/mob/living/M in orange(2,R)) for(var/mob/living/M in orange(2,R))
M.take_overall_damage(0,15) M.take_overall_damage(0,15)

View File

@@ -54,11 +54,7 @@
if(3) //Leaving the code in so someone can try and delag it, but this event can no longer occur randomly, per SoS's request. --NEO if(3) //Leaving the code in so someone can try and delag it, but this event can no longer occur randomly, per SoS's request. --NEO
command_alert("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert") command_alert("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert")
world << sound('sound/AI/spanomalies.ogg') world << sound('sound/AI/spanomalies.ogg')
var/list/turfs = new
var/turf/picked var/turf/picked
for(var/turf/simulated/floor/T in world)
if(T.z in station_levels)
turfs += T
for(var/turf/simulated/floor/T in turfs) for(var/turf/simulated/floor/T in turfs)
if(prob(20)) if(prob(20))
spawn(50+rand(0,3000)) spawn(50+rand(0,3000))
@@ -140,7 +136,7 @@ var/hadevent = 0
/proc/high_radiation_event() /proc/high_radiation_event()
/* // Haha, this is way too laggy. I'll keep the prison break though. /* // Haha, this is way too laggy. I'll keep the prison break though.
for(var/obj/machinery/light/L in world) for(var/obj/machinery/light/L in machines)
if(isNotStationLevel(L.z)) continue if(isNotStationLevel(L.z)) continue
L.flicker(50) L.flicker(50)
@@ -173,7 +169,7 @@ var/hadevent = 0
var/list/area/areas = list() var/list/area/areas = list()
for(var/area/A in world) for(var/area/A in all_areas)
if(istype(A, /area/security/prison) || istype(A, /area/security/brig)) if(istype(A, /area/security/prison) || istype(A, /area/security/brig))
areas += A areas += A
@@ -366,21 +362,21 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
spawn(0) spawn(0)
world << "Started processing APCs" world << "Started processing APCs"
for (var/obj/machinery/power/apc/APC in world) for (var/obj/machinery/power/apc/APC in machines)
if(APC.z in station_levels) if(APC.z in station_levels)
APC.ion_act() APC.ion_act()
apcnum++ apcnum++
world << "Finished processing APCs. Processed: [apcnum]" world << "Finished processing APCs. Processed: [apcnum]"
spawn(0) spawn(0)
world << "Started processing SMES" world << "Started processing SMES"
for (var/obj/machinery/power/smes/SMES in world) for (var/obj/machinery/power/smes/SMES in machines)
if(SMES.z in station_levels) if(SMES.z in station_levels)
SMES.ion_act() SMES.ion_act()
smesnum++ smesnum++
world << "Finished processing SMES. Processed: [smesnum]" world << "Finished processing SMES. Processed: [smesnum]"
spawn(0) spawn(0)
world << "Started processing AIRLOCKS" world << "Started processing AIRLOCKS"
for (var/obj/machinery/door/airlock/D in world) for (var/obj/machinery/door/airlock/D in machines)
if(D.z in station_levels) if(D.z in station_levels)
//if(length(D.req_access) > 0 && !(12 in D.req_access)) //not counting general access and maintenance airlocks //if(length(D.req_access) > 0 && !(12 in D.req_access)) //not counting general access and maintenance airlocks
airlocknum++ airlocknum++
@@ -389,7 +385,7 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
world << "Finished processing AIRLOCKS. Processed: [airlocknum]" world << "Finished processing AIRLOCKS. Processed: [airlocknum]"
spawn(0) spawn(0)
world << "Started processing FIREDOORS" world << "Started processing FIREDOORS"
for (var/obj/machinery/door/firedoor/D in world) for (var/obj/machinery/door/firedoor/D in machines)
if(D.z in station_levels) if(D.z in station_levels)
firedoornum++; firedoornum++;
spawn(0) spawn(0)

View File

@@ -5,7 +5,7 @@
var/list/skipped_areas = list(/area/ai) var/list/skipped_areas = list(/area/ai)
for(var/obj/machinery/power/smes/S in world) for(var/obj/machinery/power/smes/S in machines)
var/area/current_area = get_area(S) var/area/current_area = get_area(S)
if(current_area.type in skipped_areas || !(S.z in using_map.station_levels)) if(current_area.type in skipped_areas || !(S.z in using_map.station_levels))
continue continue
@@ -19,7 +19,7 @@
S.power_change() S.power_change()
for(var/obj/machinery/power/apc/C in world) for(var/obj/machinery/power/apc/C in machines)
if(!C.is_critical && C.cell && (C.z in using_map.station_levels)) if(!C.is_critical && C.cell && (C.z in using_map.station_levels))
C.cell.charge = 0 C.cell.charge = 0
@@ -28,10 +28,10 @@
if(announce) if(announce)
command_announcement.Announce("Power has been restored to [station_name()]. We apologize for the inconvenience.", "Power Systems Nominal", new_sound = 'sound/AI/poweron.ogg') command_announcement.Announce("Power has been restored to [station_name()]. We apologize for the inconvenience.", "Power Systems Nominal", new_sound = 'sound/AI/poweron.ogg')
for(var/obj/machinery/power/apc/C in world) for(var/obj/machinery/power/apc/C in machines)
if(C.cell && (C.z in using_map.station_levels)) if(C.cell && (C.z in using_map.station_levels))
C.cell.charge = C.cell.maxcharge C.cell.charge = C.cell.maxcharge
for(var/obj/machinery/power/smes/S in world) for(var/obj/machinery/power/smes/S in machines)
var/area/current_area = get_area(S) var/area/current_area = get_area(S)
if(current_area.type in skipped_areas || isNotStationLevel(S.z)) if(current_area.type in skipped_areas || isNotStationLevel(S.z))
continue continue
@@ -45,7 +45,7 @@
if(announce) if(announce)
command_announcement.Announce("All SMESs on [station_name()] have been recharged. We apologize for the inconvenience.", "Power Systems Nominal", new_sound = 'sound/AI/poweron.ogg') command_announcement.Announce("All SMESs on [station_name()] have been recharged. We apologize for the inconvenience.", "Power Systems Nominal", new_sound = 'sound/AI/poweron.ogg')
for(var/obj/machinery/power/smes/S in world) for(var/obj/machinery/power/smes/S in machines)
if(isNotStationLevel(S.z)) if(isNotStationLevel(S.z))
continue continue
S.charge = S.capacity S.charge = S.capacity

View File

@@ -1,7 +1,7 @@
/proc/wormhole_event() /proc/wormhole_event()
spawn() spawn()
var/list/pick_turfs = list() var/list/pick_turfs = list()
for(var/turf/simulated/floor/T in world) for(var/turf/simulated/floor/T in turfs)
if(T.z in using_map.station_levels) if(T.z in using_map.station_levels)
pick_turfs += T pick_turfs += T

View File

@@ -82,7 +82,7 @@
if(!target) if(!target)
var/list/robots = list() var/list/robots = list()
var/list/robot_names = list() var/list/robot_names = list()
for(var/mob/living/silicon/robot/R in world) for(var/mob/living/silicon/robot/R in silicon_mob_list)
if(istype(R, /mob/living/silicon/robot/drone)) // No drones. if(istype(R, /mob/living/silicon/robot/drone)) // No drones.
continue continue
if(R.connected_ai != user) // No robots linked to other AIs if(R.connected_ai != user) // No robots linked to other AIs

View File

@@ -37,7 +37,7 @@ var/list/nuke_disks = list()
..() ..()
return return
var/disk_rescued = 1 var/disk_rescued = 1
for(var/obj/item/weapon/disk/nuclear/D in world) for(var/obj/item/weapon/disk/nuclear/D in nuke_disks)
var/disk_area = get_area(D) var/disk_area = get_area(D)
if(!is_type_in_list(disk_area, centcom_areas)) if(!is_type_in_list(disk_area, centcom_areas))
disk_rescued = 0 disk_rescued = 0

View File

@@ -45,7 +45,7 @@
examine(mob/user) examine(mob/user)
..(user) ..(user)
for(var/obj/machinery/nuclearbomb/bomb in world) for(var/obj/machinery/nuclearbomb/bomb in machines)
if(bomb.timing) if(bomb.timing)
user << "Extreme danger. Arming signal detected. Time remaining: [bomb.timeleft]" user << "Extreme danger. Arming signal detected. Time remaining: [bomb.timeleft]"

View File

@@ -524,7 +524,7 @@ datum/objective/steal
if(istype(M, /mob/living/silicon/ai) && M.stat != 2) //See if any AI's are alive inside that card. if(istype(M, /mob/living/silicon/ai) && M.stat != 2) //See if any AI's are alive inside that card.
return 1 return 1
for(var/mob/living/silicon/ai/ai in world) for(var/mob/living/silicon/ai/ai in mob_list)
var/turf/T = get_turf(ai) var/turf/T = get_turf(ai)
if(istype(T)) if(istype(T))
var/area/check_area = get_area(ai) var/area/check_area = get_area(ai)

View File

@@ -162,7 +162,7 @@ var/global/list/engineering_networks = list(
number = 1 number = 1
var/area/A = get_area(src) var/area/A = get_area(src)
if(A) if(A)
for(var/obj/machinery/camera/autoname/C in world) for(var/obj/machinery/camera/autoname/C in machines)
if(C == src) continue if(C == src) continue
var/area/CA = get_area(C) var/area/CA = get_area(C)
if(CA.type == A.type) if(CA.type == A.type)

View File

@@ -181,6 +181,8 @@
feedback_inc("cyborg_ais_created",1) feedback_inc("cyborg_ais_created",1)
qdel(src) qdel(src)
GLOBAL_LIST_BOILERPLATE(all_deactivated_AI_cores, /obj/structure/AIcore/deactivated)
/obj/structure/AIcore/deactivated /obj/structure/AIcore/deactivated
name = "inactive AI" name = "inactive AI"
icon = 'icons/mob/AI.dmi' icon = 'icons/mob/AI.dmi'
@@ -255,7 +257,7 @@
set category = "Admin" set category = "Admin"
var/list/cores = list() var/list/cores = list()
for(var/obj/structure/AIcore/deactivated/D in world) for(var/obj/structure/AIcore/deactivated/D in all_deactivated_AI_cores)
cores["[D] ([D.loc.loc])"] = D cores["[D] ([D.loc.loc])"] = D
var/id = input("Which core?", "Toggle AI Core Latejoin", null) as null|anything in cores var/id = input("Which core?", "Toggle AI Core Latejoin", null) as null|anything in cores

View File

@@ -420,7 +420,7 @@
return dat return dat
/proc/enable_prison_shuttle(var/mob/user) /proc/enable_prison_shuttle(var/mob/user)
for(var/obj/machinery/computer/prison_shuttle/PS in world) for(var/obj/machinery/computer/prison_shuttle/PS in machines)
PS.allowedtocall = !(PS.allowedtocall) PS.allowedtocall = !(PS.allowedtocall)
/proc/call_shuttle_proc(var/mob/user) /proc/call_shuttle_proc(var/mob/user)

View File

@@ -122,7 +122,7 @@
dat += "<a href='?src=\ref[src];screen=1'>Back</a>" dat += "<a href='?src=\ref[src];screen=1'>Back</a>"
dat += "<br><b>Medical Robots:</b>" dat += "<br><b>Medical Robots:</b>"
var/bdat = null var/bdat = null
for(var/mob/living/bot/medbot/M in world) for(var/mob/living/bot/medbot/M in mob_list)
if(M.z != src.z) continue //only find medibots on the same z-level as the computer if(M.z != src.z) continue //only find medibots on the same z-level as the computer
var/turf/bl = get_turf(M) var/turf/bl = get_turf(M)

View File

@@ -16,7 +16,7 @@
/obj/machinery/computer/pod/New() /obj/machinery/computer/pod/New()
..() ..()
spawn( 5 ) spawn( 5 )
for(var/obj/machinery/mass_driver/M in world) for(var/obj/machinery/mass_driver/M in machines)
if(M.id == id) if(M.id == id)
connected = M connected = M
else else
@@ -32,19 +32,19 @@
viewers(null, null) << "Cannot locate mass driver connector. Cancelling firing sequence!" viewers(null, null) << "Cannot locate mass driver connector. Cancelling firing sequence!"
return return
for(var/obj/machinery/door/blast/M in world) for(var/obj/machinery/door/blast/M in machines)
if(M.id == id) if(M.id == id)
M.open() M.open()
sleep(20) sleep(20)
for(var/obj/machinery/mass_driver/M in world) for(var/obj/machinery/mass_driver/M in machines)
if(M.id == id) if(M.id == id)
M.power = connected.power M.power = connected.power
M.drive() M.drive()
sleep(50) sleep(50)
for(var/obj/machinery/door/blast/M in world) for(var/obj/machinery/door/blast/M in machines)
if(M.id == id) if(M.id == id)
M.close() M.close()
return return
@@ -182,7 +182,7 @@
time += tp time += tp
time = min(max(round(time), 0), 120) time = min(max(round(time), 0), 120)
if(href_list["door"]) if(href_list["door"])
for(var/obj/machinery/door/blast/M in world) for(var/obj/machinery/door/blast/M in machines)
if(M.id == id) if(M.id == id)
if(M.density) if(M.density)
M.open() M.open()

View File

@@ -29,7 +29,7 @@
else if(screen == 1) else if(screen == 1)
dat += "<HR>Chemical Implants<BR>" dat += "<HR>Chemical Implants<BR>"
var/turf/Tr = null var/turf/Tr = null
for(var/obj/item/weapon/implant/chem/C in world) for(var/obj/item/weapon/implant/chem/C in all_chem_implants)
Tr = get_turf(C) Tr = get_turf(C)
if(!Tr) continue//Out of range if(!Tr) continue//Out of range
if(!C.implanted) continue if(!C.implanted) continue
@@ -39,7 +39,7 @@
dat += "<A href='?src=\ref[src];inject10=\ref[C]'>(<font color=red>(10)</font>)</A><BR>" dat += "<A href='?src=\ref[src];inject10=\ref[C]'>(<font color=red>(10)</font>)</A><BR>"
dat += "********************************<BR>" dat += "********************************<BR>"
dat += "<HR>Tracking Implants<BR>" dat += "<HR>Tracking Implants<BR>"
for(var/obj/item/weapon/implant/tracking/T in world) for(var/obj/item/weapon/implant/tracking/T in all_tracking_implants)
Tr = get_turf(T) Tr = get_turf(T)
if(!Tr) continue//Out of range if(!Tr) continue//Out of range
if(!T.implanted) continue if(!T.implanted) continue

View File

@@ -92,7 +92,7 @@ var/specops_shuttle_timeleft = 0
specops_shuttle_at_station = 0 specops_shuttle_at_station = 0
for(var/obj/machinery/computer/specops_shuttle/S in world) for(var/obj/machinery/computer/specops_shuttle/S in machines)
S.specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY S.specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY
qdel(announcer) qdel(announcer)
@@ -159,10 +159,10 @@ var/specops_shuttle_timeleft = 0
sleep(10) sleep(10)
var/spawn_marauder[] = new() var/spawn_marauder[] = new()
for(var/obj/effect/landmark/L in world) for(var/obj/effect/landmark/L in landmarks_list)
if(L.name == "Marauder Entry") if(L.name == "Marauder Entry")
spawn_marauder.Add(L) spawn_marauder.Add(L)
for(var/obj/effect/landmark/L in world) for(var/obj/effect/landmark/L in landmarks_list)
if(L.name == "Marauder Exit") if(L.name == "Marauder Exit")
var/obj/effect/portal/P = new(L.loc) var/obj/effect/portal/P = new(L.loc)
P.invisibility = 101//So it is not seen by anyone. P.invisibility = 101//So it is not seen by anyone.
@@ -233,7 +233,7 @@ var/specops_shuttle_timeleft = 0
var/mob/M = locate(/mob) in T var/mob/M = locate(/mob) in T
M << "<span class='notice'>You have arrived to [station_name()]. Commence operation!</span>" M << "<span class='notice'>You have arrived to [station_name()]. Commence operation!</span>"
for(var/obj/machinery/computer/specops_shuttle/S in world) for(var/obj/machinery/computer/specops_shuttle/S in machines)
S.specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY S.specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY
qdel(announcer) qdel(announcer)
@@ -241,7 +241,7 @@ var/specops_shuttle_timeleft = 0
/proc/specops_can_move() /proc/specops_can_move()
if(specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom) if(specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom)
return 0 return 0
for(var/obj/machinery/computer/specops_shuttle/S in world) for(var/obj/machinery/computer/specops_shuttle/S in machines)
if(world.timeofday <= S.specops_shuttle_timereset) if(world.timeofday <= S.specops_shuttle_timereset)
return 0 return 0
return 1 return 1

View File

@@ -57,7 +57,7 @@
proc/scan() proc/scan()
for(var/obj/item/clothing/under/C in world) for(var/obj/item/clothing/under/C in all_clothing)
if((C.has_sensor) && (istype(C.loc, /mob/living/carbon/human))) if((C.has_sensor) && (istype(C.loc, /mob/living/carbon/human)))
tracked |= C tracked |= C
return 1 return 1

View File

@@ -128,7 +128,7 @@
dat += "<a href='?src=\ref[src];screen=1'>Back</a>" dat += "<a href='?src=\ref[src];screen=1'>Back</a>"
dat += "<br><b>Medical Robots:</b>" dat += "<br><b>Medical Robots:</b>"
var/bdat = null var/bdat = null
for(var/mob/living/bot/medbot/M in world) for(var/mob/living/bot/medbot/M in mob_list)
if(M.z != computer.z) continue //only find medibots on the same z-level as the computer if(M.z != computer.z) continue //only find medibots on the same z-level as the computer
var/turf/bl = get_turf(M) var/turf/bl = get_turf(M)

View File

@@ -27,7 +27,7 @@
else if(screen == 1) else if(screen == 1)
dat += "<HR>Chemical Implants<BR>" dat += "<HR>Chemical Implants<BR>"
var/turf/Tr = null var/turf/Tr = null
for(var/obj/item/weapon/implant/chem/C in world) for(var/obj/item/weapon/implant/chem/C in all_chem_implants)
Tr = get_turf(C) Tr = get_turf(C)
if((Tr) && (Tr.z != computer.z)) continue//Out of range if((Tr) && (Tr.z != computer.z)) continue//Out of range
if(!C.implanted) continue if(!C.implanted) continue
@@ -37,7 +37,7 @@
dat += "<A href='?src=\ref[src];inject10=\ref[C]'>(<font color=red>(10)</font>)</A><BR>" dat += "<A href='?src=\ref[src];inject10=\ref[C]'>(<font color=red>(10)</font>)</A><BR>"
dat += "********************************<BR>" dat += "********************************<BR>"
dat += "<HR>Tracking Implants<BR>" dat += "<HR>Tracking Implants<BR>"
for(var/obj/item/weapon/implant/tracking/T in world) for(var/obj/item/weapon/implant/tracking/T in all_tracking_implants)
Tr = get_turf(T) Tr = get_turf(T)
if((Tr) && (Tr.z != computer.z)) continue//Out of range if((Tr) && (Tr.z != computer.z)) continue//Out of range
if(!T.implanted) continue if(!T.implanted) continue

View File

@@ -401,7 +401,7 @@
preserve = 1 preserve = 1
if(istype(W,/obj/item/weapon/implant/health)) if(istype(W,/obj/item/weapon/implant/health))
for(var/obj/machinery/computer/cloning/com in world) for(var/obj/machinery/computer/cloning/com in machines)
for(var/datum/dna2/record/R in com.records) for(var/datum/dna2/record/R in com.records)
if(locate(R.implant) == W) if(locate(R.implant) == W)
qdel(R) qdel(R)

View File

@@ -91,7 +91,7 @@
*/ */
/obj/machinery/button/remote/airlock/trigger() /obj/machinery/button/remote/airlock/trigger()
for(var/obj/machinery/door/airlock/D in world) for(var/obj/machinery/door/airlock/D in machines)
if(D.id_tag == id) if(D.id_tag == id)
if(specialfunctions & OPEN) if(specialfunctions & OPEN)
if(D.density) if(D.density)
@@ -135,7 +135,7 @@
desc = "It controls blast doors, remotely." desc = "It controls blast doors, remotely."
/obj/machinery/button/remote/blast_door/trigger() /obj/machinery/button/remote/blast_door/trigger()
for(var/obj/machinery/door/blast/M in world) for(var/obj/machinery/door/blast/M in machines)
if(M.id == id) if(M.id == id)
if(M.density) if(M.density)
spawn(0) spawn(0)
@@ -154,7 +154,7 @@
desc = "It controls emitters, remotely." desc = "It controls emitters, remotely."
/obj/machinery/button/remote/emitter/trigger(mob/user as mob) /obj/machinery/button/remote/emitter/trigger(mob/user as mob)
for(var/obj/machinery/power/emitter/E in world) for(var/obj/machinery/power/emitter/E in machines)
if(E.id == id) if(E.id == id)
spawn(0) spawn(0)
E.activate(user) E.activate(user)

View File

@@ -1175,7 +1175,7 @@ About the new airlock wires panel:
/obj/machinery/door/airlock/initialize() /obj/machinery/door/airlock/initialize()
if(src.closeOtherId != null) if(src.closeOtherId != null)
for (var/obj/machinery/door/airlock/A in world) for (var/obj/machinery/door/airlock/A in machines)
if(A.closeOtherId == src.closeOtherId && A != src) if(A.closeOtherId == src.closeOtherId && A != src)
src.closeOther = A src.closeOther = A
break break

View File

@@ -47,7 +47,7 @@
if(F.id == src.id) if(F.id == src.id)
LAZYADD(targets,F) LAZYADD(targets,F)
for(var/obj/structure/closet/secure_closet/brig/C in world) for(var/obj/structure/closet/secure_closet/brig/C in all_brig_closets)
if(C.id == src.id) if(C.id == src.id)
LAZYADD(targets,C) LAZYADD(targets,C)

View File

@@ -213,7 +213,7 @@
..() ..()
if(autolink) if(autolink)
for(var/obj/machinery/magnetic_module/M in world) for(var/obj/machinery/magnetic_module/M in machines)
if(M.freq == frequency && M.code == code) if(M.freq == frequency && M.code == code)
magnets.Add(M) magnets.Add(M)
@@ -229,7 +229,7 @@
/obj/machinery/magnetic_controller/process() /obj/machinery/magnetic_controller/process()
if(magnets.len == 0 && autolink) if(magnets.len == 0 && autolink)
for(var/obj/machinery/magnetic_module/M in world) for(var/obj/machinery/magnetic_module/M in machines)
if(M.freq == frequency && M.code == code) if(M.freq == frequency && M.code == code)
magnets.Add(M) magnets.Add(M)

View File

@@ -166,7 +166,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
var/log_msg = message var/log_msg = message
var/pass = 0 var/pass = 0
screen = RCS_SENTFAIL screen = RCS_SENTFAIL
for (var/obj/machinery/message_server/MS in world) for (var/obj/machinery/message_server/MS in machines)
if(!MS.active) continue if(!MS.active) continue
MS.send_rc_message(ckey(href_list["department"]),department,log_msg,msgStamped,msgVerified,priority) MS.send_rc_message(ckey(href_list["department"]),department,log_msg,msgStamped,msgVerified,priority)
pass = 1 pass = 1

View File

@@ -89,7 +89,7 @@
if(surplus() < 1500) if(surplus() < 1500)
if(user) user << "<span class='notice'>The connected wire doesn't have enough current.</span>" if(user) user << "<span class='notice'>The connected wire doesn't have enough current.</span>"
return return
for(var/obj/singularity/singulo in world) for(var/obj/singularity/singulo in all_singularities)
if(singulo.z == z) if(singulo.z == z)
singulo.target = src singulo.target = src
icon_state = "[icontype]1" icon_state = "[icontype]1"
@@ -99,7 +99,7 @@
user << "<span class='notice'>You activate the beacon.</span>" user << "<span class='notice'>You activate the beacon.</span>"
/obj/machinery/power/singularity_beacon/proc/Deactivate(mob/user = null) /obj/machinery/power/singularity_beacon/proc/Deactivate(mob/user = null)
for(var/obj/singularity/singulo in world) for(var/obj/singularity/singulo in all_singularities)
if(singulo.target == src) if(singulo.target == src)
singulo.target = null singulo.target = null
icon_state = "[icontype]0" icon_state = "[icontype]0"

View File

@@ -95,7 +95,7 @@
var/list/L = list() var/list/L = list()
var/list/areaindex = list() var/list/areaindex = list()
for(var/obj/item/device/radio/beacon/R in world) for(var/obj/item/device/radio/beacon/R in all_beacons)
var/turf/T = get_turf(R) var/turf/T = get_turf(R)
if(!T) if(!T)
continue continue
@@ -108,7 +108,7 @@
areaindex[tmpname] = 1 areaindex[tmpname] = 1
L[tmpname] = R L[tmpname] = R
for (var/obj/item/weapon/implant/tracking/I in world) for (var/obj/item/weapon/implant/tracking/I in all_tracking_implants)
if(!I.implanted || !ismob(I.loc)) if(!I.implanted || !ismob(I.loc))
continue continue
else else

View File

@@ -51,7 +51,7 @@
else if(ispath(control_area)) else if(ispath(control_area))
control_area = locate(control_area) control_area = locate(control_area)
else if(istext(control_area)) else if(istext(control_area))
for(var/area/A in world) for(var/area/A in all_areas)
if(A.name && A.name==control_area) if(A.name && A.name==control_area)
control_area = A control_area = A
break break

View File

@@ -1,3 +1,5 @@
GLOBAL_LIST_BOILERPLATE(all_portals, /obj/effect/portal)
/obj/effect/portal /obj/effect/portal
name = "portal" name = "portal"
desc = "Looks unstable. Best to test it with the clown." desc = "Looks unstable. Best to test it with the clown."

View File

@@ -46,7 +46,7 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa
var/close = range(world.view+round(devastation_range,1), epicenter) var/close = range(world.view+round(devastation_range,1), epicenter)
// to all distanced mobs play a different sound // to all distanced mobs play a different sound
for(var/mob/M in world) for(var/mob/M in player_list)
if(M.z == epicenter.z) if(M.z == epicenter.z)
if(!(M in close)) if(!(M in close))
// check if the mob can hear // check if the mob can hear

View File

@@ -1,3 +1,5 @@
GLOBAL_LIST_BOILERPLATE(all_items, /obj/item)
/obj/item /obj/item
name = "item" name = "item"
icon = 'icons/obj/items.dmi' icon = 'icons/obj/items.dmi'
@@ -580,7 +582,7 @@ var/list/global/slot_flags_enumeration = list(
I.Blend(new /icon('icons/effects/blood.dmi', "itemblood"),ICON_MULTIPLY) //adds blood and the remaining white areas become transparant I.Blend(new /icon('icons/effects/blood.dmi', "itemblood"),ICON_MULTIPLY) //adds blood and the remaining white areas become transparant
//not sure if this is worth it. It attaches the blood_overlay to every item of the same type if they don't have one already made. //not sure if this is worth it. It attaches the blood_overlay to every item of the same type if they don't have one already made.
for(var/obj/item/A in world) for(var/obj/item/A in all_items)
if(A.type == type && !A.blood_overlay) if(A.type == type && !A.blood_overlay)
A.blood_overlay = image(I) A.blood_overlay = image(I)

View File

@@ -893,7 +893,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if("Toggle Door") if("Toggle Door")
if(cartridge && cartridge.access_remote_door) if(cartridge && cartridge.access_remote_door)
for(var/obj/machinery/door/blast/M in world) for(var/obj/machinery/door/blast/M in machines)
if(M.id == cartridge.remote_door_id) if(M.id == cartridge.remote_door_id)
if(M.density) if(M.density)
M.open() M.open()

View File

@@ -468,7 +468,7 @@ var/list/civilian_cartridges = list(
else else
JaniData["user_loc"] = list("x" = 0, "y" = 0) JaniData["user_loc"] = list("x" = 0, "y" = 0)
var/MopData[0] var/MopData[0]
for(var/obj/item/weapon/mop/M in world) for(var/obj/item/weapon/mop/M in all_mops)
var/turf/ml = get_turf(M) var/turf/ml = get_turf(M)
if(ml) if(ml)
if(ml.z != cl.z) if(ml.z != cl.z)
@@ -481,7 +481,7 @@ var/list/civilian_cartridges = list(
var/BucketData[0] var/BucketData[0]
for(var/obj/structure/mopbucket/B in world) for(var/obj/structure/mopbucket/B in all_mopbuckets)
var/turf/bl = get_turf(B) var/turf/bl = get_turf(B)
if(bl) if(bl)
if(bl.z != cl.z) if(bl.z != cl.z)
@@ -493,7 +493,7 @@ var/list/civilian_cartridges = list(
BucketData[++BucketData.len] = list("x" = 0, "y" = 0, dir=null, status = null) BucketData[++BucketData.len] = list("x" = 0, "y" = 0, dir=null, status = null)
var/CbotData[0] var/CbotData[0]
for(var/mob/living/bot/cleanbot/B in world) for(var/mob/living/bot/cleanbot/B in mob_list)
var/turf/bl = get_turf(B) var/turf/bl = get_turf(B)
if(bl) if(bl)
if(bl.z != cl.z) if(bl.z != cl.z)
@@ -505,7 +505,7 @@ var/list/civilian_cartridges = list(
if(!CbotData.len) if(!CbotData.len)
CbotData[++CbotData.len] = list("x" = 0, "y" = 0, dir=null, status = null) CbotData[++CbotData.len] = list("x" = 0, "y" = 0, dir=null, status = null)
var/CartData[0] var/CartData[0]
for(var/obj/structure/janitorialcart/B in world) for(var/obj/structure/janitorialcart/B in all_janitorial_carts)
var/turf/bl = get_turf(B) var/turf/bl = get_turf(B)
if(bl) if(bl)
if(bl.z != cl.z) if(bl.z != cl.z)

View File

@@ -1,3 +1,5 @@
GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/device/paicard)
/obj/item/device/paicard /obj/item/device/paicard
name = "personal AI device" name = "personal AI device"
icon = 'icons/obj/pda.dmi' icon = 'icons/obj/pda.dmi'

View File

@@ -6,6 +6,8 @@
var/code = "electronic" var/code = "electronic"
origin_tech = list(TECH_BLUESPACE = 1) origin_tech = list(TECH_BLUESPACE = 1)
GLOBAL_LIST_BOILERPLATE(all_beacons, /obj/item/device/radio/beacon)
/obj/item/device/radio/beacon/hear_talk() /obj/item/device/radio/beacon/hear_talk()
return return

View File

@@ -69,6 +69,8 @@
else else
..() ..()
GLOBAL_LIST_BOILERPLATE(all_tracking_implants, /obj/item/weapon/implant/tracking)
/obj/item/weapon/implant/tracking /obj/item/weapon/implant/tracking
name = "tracking implant" name = "tracking implant"
desc = "An implant normally given to dangerous criminals. Allows security to track your location." desc = "An implant normally given to dangerous criminals. Allows security to track your location."
@@ -309,6 +311,8 @@ Implant Specifics:<BR>"}
explosion(get_turf(imp_in), -1, -1, 1, 3) explosion(get_turf(imp_in), -1, -1, 1, 3)
qdel(src) qdel(src)
GLOBAL_LIST_BOILERPLATE(all_chem_implants, /obj/item/weapon/implant/chem)
/obj/item/weapon/implant/chem /obj/item/weapon/implant/chem
name = "chemical implant" name = "chemical implant"
desc = "Injects things." desc = "Injects things."

View File

@@ -1,3 +1,5 @@
GLOBAL_LIST_BOILERPLATE(all_mops, /obj/item/weapon/mop)
/obj/item/weapon/mop /obj/item/weapon/mop
desc = "The world of janitalia wouldn't be complete without a mop." desc = "The world of janitalia wouldn't be complete without a mop."
name = "mop" name = "mop"
@@ -12,7 +14,6 @@
var/mopping = 0 var/mopping = 0
var/mopcount = 0 var/mopcount = 0
/obj/item/weapon/mop/New() /obj/item/weapon/mop/New()
create_reagents(30) create_reagents(30)

View File

@@ -60,7 +60,7 @@ Frequency:
if (sr) if (sr)
src.temp += "<B>Located Beacons:</B><BR>" src.temp += "<B>Located Beacons:</B><BR>"
for(var/obj/item/device/radio/beacon/W in world) for(var/obj/item/device/radio/beacon/W in all_beacons)
if (W.frequency == src.frequency) if (W.frequency == src.frequency)
var/turf/tr = get_turf(W) var/turf/tr = get_turf(W)
if (tr.z == sr.z && tr) if (tr.z == sr.z && tr)
@@ -78,7 +78,7 @@ Frequency:
src.temp += "[W.code]-[dir2text(get_dir(sr, tr))]-[direct]<BR>" src.temp += "[W.code]-[dir2text(get_dir(sr, tr))]-[direct]<BR>"
src.temp += "<B>Extranneous Signals:</B><BR>" src.temp += "<B>Extranneous Signals:</B><BR>"
for (var/obj/item/weapon/implant/tracking/W in world) for (var/obj/item/weapon/implant/tracking/W in all_tracking_implants)
if (!W.implanted || !(istype(W.loc,/obj/item/organ/external) || ismob(W.loc) || W.malfunction)) if (!W.implanted || !(istype(W.loc,/obj/item/organ/external) || ismob(W.loc) || W.malfunction))
continue continue
@@ -137,7 +137,7 @@ Frequency:
user << "<span class='notice'>\The [src] is malfunctioning.</span>" user << "<span class='notice'>\The [src] is malfunctioning.</span>"
return return
var/list/L = list( ) var/list/L = list( )
for(var/obj/machinery/teleport/hub/R in world) for(var/obj/machinery/teleport/hub/R in machines)
var/obj/machinery/computer/teleporter/com = locate(/obj/machinery/computer/teleporter, locate(R.x - 2, R.y, R.z)) var/obj/machinery/computer/teleporter/com = locate(/obj/machinery/computer/teleporter, locate(R.x - 2, R.y, R.z))
if (istype(com, /obj/machinery/computer/teleporter) && com.locked && !com.one_time_use) if (istype(com, /obj/machinery/computer/teleporter) && com.locked && !com.one_time_use)
if(R.icon_state == "tele1") if(R.icon_state == "tele1")
@@ -156,7 +156,7 @@ Frequency:
if ((user.get_active_hand() != src || user.stat || user.restrained())) if ((user.get_active_hand() != src || user.stat || user.restrained()))
return return
var/count = 0 //num of portals from this teleport in world var/count = 0 //num of portals from this teleport in world
for(var/obj/effect/portal/PO in world) for(var/obj/effect/portal/PO in all_portals)
if(PO.creator == src) count++ if(PO.creator == src) count++
if(count >= 3) if(count >= 3)
user.show_message("<span class='notice'>\The [src] is recharging!</span>") user.show_message("<span class='notice'>\The [src] is recharging!</span>")

View File

@@ -1,3 +1,5 @@
GLOBAL_LIST_BOILERPLATE(all_objs, /obj)
/obj /obj
layer = OBJ_LAYER layer = OBJ_LAYER
plane = OBJ_PLANE plane = OBJ_PLANE

View File

@@ -319,7 +319,7 @@
new /obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral(src) new /obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral(src)
return return
GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/brig)
/obj/structure/closet/secure_closet/brig /obj/structure/closet/secure_closet/brig
name = "brig locker" name = "brig locker"

View File

@@ -1,3 +1,5 @@
GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
/obj/structure/janitorialcart /obj/structure/janitorialcart
name = "janitorial cart" name = "janitorial cart"
desc = "The ultimate in janitorial carts! Has space for water, mops, signs, trash bags, and more!" desc = "The ultimate in janitorial carts! Has space for water, mops, signs, trash bags, and more!"

View File

@@ -10,6 +10,7 @@
flags = OPENCONTAINER flags = OPENCONTAINER
var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
GLOBAL_LIST_BOILERPLATE(all_mopbuckets, /obj/structure/mopbucket)
/obj/structure/mopbucket/New() /obj/structure/mopbucket/New()
create_reagents(300) create_reagents(300)

View File

@@ -196,6 +196,8 @@
* Crematorium * Crematorium
*/ */
GLOBAL_LIST_BOILERPLATE(all_crematoriums, /obj/structure/morgue/crematorium)
/obj/structure/morgue/crematorium /obj/structure/morgue/crematorium
name = "crematorium" name = "crematorium"
desc = "A human incinerator. Works well on barbeque nights." desc = "A human incinerator. Works well on barbeque nights."
@@ -342,7 +344,7 @@
if(..()) if(..())
return return
if(src.allowed(user)) if(src.allowed(user))
for (var/obj/structure/morgue/crematorium/C in world) for (var/obj/structure/morgue/crematorium/C in all_crematoriums)
if (C.id == id) if (C.id == id)
if (!C.cremating) if (!C.cremating)
C.cremate(user) C.cremate(user)

View File

@@ -6,5 +6,5 @@
if(!.) if(!.)
return return
for(var/obj/machinery/light/L in world) for(var/obj/machinery/light/L in machines)
L.fix() L.fix()

View File

@@ -6,5 +6,5 @@
if(!.) if(!.)
return return
for(var/obj/item/clothing/O in world) for(var/obj/item/clothing/O in all_clothing)
qdel(O) qdel(O)

View File

@@ -6,5 +6,5 @@
if(!.) if(!.)
return return
for(var/obj/item/clothing/under/O in world) for(var/obj/item/clothing/under/O in all_clothing)
qdel(O) qdel(O)

View File

@@ -16,7 +16,7 @@
return return
gravity_is_on = !gravity_is_on gravity_is_on = !gravity_is_on
for(var/area/A in world) for(var/area/A in all_areas)
A.gravitychange(gravity_is_on,A) A.gravitychange(gravity_is_on,A)
feedback_inc("admin_secrets_fun_used",1) feedback_inc("admin_secrets_fun_used",1)

View File

@@ -85,57 +85,57 @@
else else
var/f2 = text2path(f) var/f2 = text2path(f)
if(text_starts_with(f, "/mob")) if(text_starts_with(f, "/mob"))
for(var/mob/m in world) for(var/mob/m in mob_list)
if(istype(m, f2)) if(istype(m, f2))
from_objs += m from_objs += m
else if(text_starts_with(f, "/turf/space")) else if(text_starts_with(f, "/turf/space"))
for(var/turf/space/m in world) for(var/turf/space/m in turfs)
if(istype(m, f2)) if(istype(m, f2))
from_objs += m from_objs += m
else if(text_starts_with(f, "/turf/simulated")) else if(text_starts_with(f, "/turf/simulated"))
for(var/turf/simulated/m in world) for(var/turf/simulated/m in turfs)
if(istype(m, f2)) if(istype(m, f2))
from_objs += m from_objs += m
else if(text_starts_with(f, "/turf/unsimulated")) else if(text_starts_with(f, "/turf/unsimulated"))
for(var/turf/unsimulated/m in world) for(var/turf/unsimulated/m in turfs)
if(istype(m, f2)) if(istype(m, f2))
from_objs += m from_objs += m
else if(text_starts_with(f, "/turf")) else if(text_starts_with(f, "/turf"))
for(var/turf/m in world) for(var/turf/m in turfs)
if(istype(m, f2)) if(istype(m, f2))
from_objs += m from_objs += m
else if(text_starts_with(f, "/area")) else if(text_starts_with(f, "/area"))
for(var/area/m in world) for(var/area/m in all_areas)
if(istype(m, f2)) if(istype(m, f2))
from_objs += m from_objs += m
else if(text_starts_with(f, "/obj/item")) else if(text_starts_with(f, "/obj/item"))
for(var/obj/item/m in world) for(var/obj/item/m in all_items)
if(istype(m, f2)) if(istype(m, f2))
from_objs += m from_objs += m
else if(text_starts_with(f, "/obj/machinery")) else if(text_starts_with(f, "/obj/machinery"))
for(var/obj/machinery/m in world) for(var/obj/machinery/m in machines)
if(istype(m, f2)) if(istype(m, f2))
from_objs += m from_objs += m
else if(text_starts_with(f, "/obj")) else if(text_starts_with(f, "/obj"))
for(var/obj/m in world) for(var/obj/m in all_objs)
if(istype(m, f2)) if(istype(m, f2))
from_objs += m from_objs += m
else if(text_starts_with(f, "/atom")) else if(text_starts_with(f, "/atom"))
for(var/atom/m in world) for(var/atom/m in all_atoms)
if(istype(m, f2)) if(istype(m, f2))
from_objs += m from_objs += m
/* /*
else else
for(var/datum/m in world) for(var/datum/m in nope)
if(istype(m, f2)) if(istype(m, f2))
from_objs += m from_objs += m
*/ */

View File

@@ -21,7 +21,7 @@
else else
alert("Admin jumping disabled") alert("Admin jumping disabled")
/client/proc/jumptoturf(var/turf/T in world) /client/proc/jumptoturf(var/turf/T in turfs)
set name = "Jump to Turf" set name = "Jump to Turf"
set category = "Admin" set category = "Admin"
if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) if(!check_rights(R_ADMIN|R_MOD|R_DEBUG))

View File

@@ -12,23 +12,23 @@
usr << "Checking for disconnected pipes..." usr << "Checking for disconnected pipes..."
//all plumbing - yes, some things might get stated twice, doesn't matter. //all plumbing - yes, some things might get stated twice, doesn't matter.
for (var/obj/machinery/atmospherics/plumbing in world) for (var/obj/machinery/atmospherics/plumbing in machines)
if (plumbing.nodealert) if (plumbing.nodealert)
usr << "Unconnected [plumbing.name] located at [plumbing.x],[plumbing.y],[plumbing.z] ([get_area(plumbing.loc)])" usr << "Unconnected [plumbing.name] located at [plumbing.x],[plumbing.y],[plumbing.z] ([get_area(plumbing.loc)])"
//Manifolds //Manifolds
for (var/obj/machinery/atmospherics/pipe/manifold/pipe in world) for (var/obj/machinery/atmospherics/pipe/manifold/pipe in machines)
if (!pipe.node1 || !pipe.node2 || !pipe.node3) if (!pipe.node1 || !pipe.node2 || !pipe.node3)
usr << "Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])" usr << "Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])"
//Pipes //Pipes
for (var/obj/machinery/atmospherics/pipe/simple/pipe in world) for (var/obj/machinery/atmospherics/pipe/simple/pipe in machines)
if (!pipe.node1 || !pipe.node2) if (!pipe.node1 || !pipe.node2)
usr << "Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])" usr << "Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])"
usr << "Checking for overlapping pipes..." usr << "Checking for overlapping pipes..."
next_turf: next_turf:
for(var/turf/T in world) for(var/turf/T in turfs)
for(var/dir in cardinal) for(var/dir in cardinal)
var/list/connect_types = list(1 = 0, 2 = 0, 3 = 0) var/list/connect_types = list(1 = 0, 2 = 0, 3 = 0)
for(var/obj/machinery/atmospherics/pipe in T) for(var/obj/machinery/atmospherics/pipe in T)

View File

@@ -173,96 +173,6 @@
else else
alert("Invalid mob") alert("Invalid mob")
/*
/client/proc/cmd_admin_monkeyize(var/mob/M in world)
set category = "Fun"
set name = "Make Monkey"
if(!ticker)
alert("Wait until the game starts")
return
if(istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/target = M
log_admin("[key_name(src)] is attempting to monkeyize [M.key].")
spawn(10)
target.monkeyize()
else
alert("Invalid mob")
/client/proc/cmd_admin_changelinginize(var/mob/M in world)
set category = "Fun"
set name = "Make Changeling"
if(!ticker)
alert("Wait until the game starts")
return
if(istype(M, /mob/living/carbon/human))
log_admin("[key_name(src)] has made [M.key] a changeling.")
spawn(10)
M.absorbed_dna[M.real_name] = M.dna.Clone()
M.make_changeling()
if(M.mind)
M.mind.special_role = "Changeling"
else
alert("Invalid mob")
*/
/*
/client/proc/cmd_admin_abominize(var/mob/M in world)
set category = null
set name = "Make Abomination"
usr << "Ruby Mode disabled. Command aborted."
return
if(!ticker)
alert("Wait until the game starts.")
return
if(istype(M, /mob/living/carbon/human))
log_admin("[key_name(src)] has made [M.key] an abomination.")
// spawn(10)
// M.make_abomination()
*/
/*
/client/proc/make_cultist(var/mob/M in world) // -- TLE, modified by Urist
set category = "Fun"
set name = "Make Cultist"
set desc = "Makes target a cultist"
if(!cultwords["travel"])
runerandom()
if(M)
if(M.mind in ticker.mode.cult)
return
else
if(alert("Spawn that person a tome?",,"Yes","No")=="Yes")
M << "<font color='red'>You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie. A tome, a message from your new master, appears on the ground.</font>"
new /obj/item/weapon/book/tome(M.loc)
else
M << "<font color='red'>You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie.</font>"
var/glimpse=pick("1","2","3","4","5","6","7","8")
switch(glimpse)
if("1")
M << "<font color='red'>You remembered one thing from the glimpse... [cultwords["travel"]] is travel...</font>"
if("2")
M << "<font color='red'>You remembered one thing from the glimpse... [cultwords["blood"]] is blood...</font>"
if("3")
M << "<font color='red'>You remembered one thing from the glimpse... [cultwords["join"]] is join...</font>"
if("4")
M << "<font color='red'>You remembered one thing from the glimpse... [cultwords["hell"]] is Hell...</font>"
if("5")
M << "<font color='red'>You remembered one thing from the glimpse... [cultwords["destroy"]] is destroy...</font>"
if("6")
M << "<font color='red'>You remembered one thing from the glimpse... [cultwords["technology"]] is technology...</font>"
if("7")
M << "<font color='red'>You remembered one thing from the glimpse... [cultwords["self"]] is self...</font>"
if("8")
M << "<font color='red'>You remembered one thing from the glimpse... [cultwords["see"]] is see...</font>"
if(M.mind)
M.mind.special_role = "Cultist"
ticker.mode.cult += M.mind
src << "Made [M] a cultist."
*/
//TODO: merge the vievars version into this or something maybe mayhaps //TODO: merge the vievars version into this or something maybe mayhaps
/client/proc/cmd_debug_del_all() /client/proc/cmd_debug_del_all()
@@ -273,7 +183,7 @@
var/blocked = list(/obj, /mob, /mob/living, /mob/living/carbon, /mob/living/carbon/human, /mob/observer/dead, /mob/living/silicon, /mob/living/silicon/robot, /mob/living/silicon/ai) var/blocked = list(/obj, /mob, /mob/living, /mob/living/carbon, /mob/living/carbon/human, /mob/observer/dead, /mob/living/silicon, /mob/living/silicon/robot, /mob/living/silicon/ai)
var/hsbitem = input(usr, "Choose an object to delete.", "Delete:") as null|anything in typesof(/obj) + typesof(/mob) - blocked var/hsbitem = input(usr, "Choose an object to delete.", "Delete:") as null|anything in typesof(/obj) + typesof(/mob) - blocked
if(hsbitem) if(hsbitem)
for(var/atom/O in world) for(var/atom/O in all_atoms)
if(istype(O, hsbitem)) if(istype(O, hsbitem))
qdel(O) qdel(O)
log_admin("[key_name(src)] has deleted all instances of [hsbitem].") log_admin("[key_name(src)] has deleted all instances of [hsbitem].")
@@ -431,41 +341,41 @@
var/list/areas_with_intercom = list() var/list/areas_with_intercom = list()
var/list/areas_with_camera = list() var/list/areas_with_camera = list()
for(var/area/A in world) for(var/area/A in all_areas)
if(!(A.type in areas_all)) if(!(A.type in areas_all))
areas_all.Add(A.type) areas_all.Add(A.type)
for(var/obj/machinery/power/apc/APC in world) for(var/obj/machinery/power/apc/APC in machines)
var/area/A = get_area(APC) var/area/A = get_area(APC)
if(!(A.type in areas_with_APC)) if(!(A.type in areas_with_APC))
areas_with_APC.Add(A.type) areas_with_APC.Add(A.type)
for(var/obj/machinery/alarm/alarm in world) for(var/obj/machinery/alarm/alarm in machines)
var/area/A = get_area(alarm) var/area/A = get_area(alarm)
if(!(A.type in areas_with_air_alarm)) if(!(A.type in areas_with_air_alarm))
areas_with_air_alarm.Add(A.type) areas_with_air_alarm.Add(A.type)
for(var/obj/machinery/requests_console/RC in world) for(var/obj/machinery/requests_console/RC in machines)
var/area/A = get_area(RC) var/area/A = get_area(RC)
if(!(A.type in areas_with_RC)) if(!(A.type in areas_with_RC))
areas_with_RC.Add(A.type) areas_with_RC.Add(A.type)
for(var/obj/machinery/light/L in world) for(var/obj/machinery/light/L in machines)
var/area/A = get_area(L) var/area/A = get_area(L)
if(!(A.type in areas_with_light)) if(!(A.type in areas_with_light))
areas_with_light.Add(A.type) areas_with_light.Add(A.type)
for(var/obj/machinery/light_switch/LS in world) for(var/obj/machinery/light_switch/LS in machines)
var/area/A = get_area(LS) var/area/A = get_area(LS)
if(!(A.type in areas_with_LS)) if(!(A.type in areas_with_LS))
areas_with_LS.Add(A.type) areas_with_LS.Add(A.type)
for(var/obj/item/device/radio/intercom/I in world) for(var/obj/item/device/radio/intercom/I in machines)
var/area/A = get_area(I) var/area/A = get_area(I)
if(!(A.type in areas_with_intercom)) if(!(A.type in areas_with_intercom))
areas_with_intercom.Add(A.type) areas_with_intercom.Add(A.type)
for(var/obj/machinery/camera/C in world) for(var/obj/machinery/camera/C in machines)
var/area/A = get_area(C) var/area/A = get_area(C)
if(!(A.type in areas_with_camera)) if(!(A.type in areas_with_camera))
areas_with_camera.Add(A.type) areas_with_camera.Add(A.type)
@@ -546,31 +456,31 @@
if(alert("Are you sure? This will start up the engine. Should only be used during debug!",,"Yes","No") != "Yes") if(alert("Are you sure? This will start up the engine. Should only be used during debug!",,"Yes","No") != "Yes")
return return
for(var/obj/machinery/power/emitter/E in world) for(var/obj/machinery/power/emitter/E in machines)
if(istype(get_area(E), /area/space)) if(istype(get_area(E), /area/space))
E.anchored = TRUE E.anchored = TRUE
E.state = 2 E.state = 2
E.connect_to_network() E.connect_to_network()
E.active = TRUE E.active = TRUE
for(var/obj/machinery/field_generator/F in world) for(var/obj/machinery/field_generator/F in machines)
if(istype(get_area(F), /area/space)) if(istype(get_area(F), /area/space))
F.Varedit_start = 1 F.Varedit_start = 1
for(var/obj/machinery/power/grounding_rod/GR in world) for(var/obj/machinery/power/grounding_rod/GR in machines)
GR.anchored = TRUE GR.anchored = TRUE
GR.update_icon() GR.update_icon()
for(var/obj/machinery/power/tesla_coil/TC in world) for(var/obj/machinery/power/tesla_coil/TC in machines)
TC.anchored = TRUE TC.anchored = TRUE
TC.update_icon() TC.update_icon()
for(var/obj/structure/particle_accelerator/PA in world) for(var/obj/structure/particle_accelerator/PA in machines)
PA.anchored = TRUE PA.anchored = TRUE
PA.construction_state = 3 PA.construction_state = 3
PA.update_icon() PA.update_icon()
for(var/obj/machinery/particle_accelerator/PA in world) for(var/obj/machinery/particle_accelerator/PA in machines)
PA.anchored = TRUE PA.anchored = TRUE
PA.construction_state = 3 PA.construction_state = 3
PA.update_icon() PA.update_icon()
for(var/obj/machinery/power/rad_collector/Rad in world) for(var/obj/machinery/power/rad_collector/Rad in machines)
if(Rad.anchored) if(Rad.anchored)
if(!Rad.P) if(!Rad.P)
var/obj/item/weapon/tank/phoron/Phoron = new/obj/item/weapon/tank/phoron(Rad) var/obj/item/weapon/tank/phoron/Phoron = new/obj/item/weapon/tank/phoron(Rad)
@@ -597,7 +507,7 @@
var/found_the_pump = 0 var/found_the_pump = 0
var/obj/machinery/power/supermatter/SM var/obj/machinery/power/supermatter/SM
for(var/obj/machinery/M in world) for(var/obj/machinery/M in machines)
if(!M) if(!M)
continue continue
if(!M.loc) if(!M.loc)

View File

@@ -48,7 +48,7 @@
var/largest_click_time = 0 var/largest_click_time = 0
var/mob/largest_move_mob = null var/mob/largest_move_mob = null
var/mob/largest_click_mob = null var/mob/largest_click_mob = null
for(var/mob/M in world) for(var/mob/M in mob_list)
if(!M.client) if(!M.client)
continue continue
if(M.next_move >= largest_move_time) if(M.next_move >= largest_move_time)

View File

@@ -38,7 +38,7 @@
unsorted_overlays |= gas_data.tile_overlay[id] unsorted_overlays |= gas_data.tile_overlay[id]
for(var/turf/simulated/T in world) for(var/turf/simulated/T in turfs)
T.air = null T.air = null
T.overlays.Remove(unsorted_overlays) T.overlays.Remove(unsorted_overlays)
T.zone = null T.zone = null

View File

@@ -22,6 +22,8 @@
var/camera_range_display_status = 0 var/camera_range_display_status = 0
var/intercom_range_display_status = 0 var/intercom_range_display_status = 0
GLOBAL_LIST_BOILERPLATE(all_debugging_effects, /obj/effect/debugging)
/obj/effect/debugging/camera_range /obj/effect/debugging/camera_range
icon = 'icons/480x480.dmi' icon = 'icons/480x480.dmi'
icon_state = "25percent" icon_state = "25percent"
@@ -54,7 +56,7 @@ var/intercom_range_display_status = 0
for(var/obj/effect/debugging/camera_range/C in world) for(var/obj/effect/debugging/camera_range/C in all_debugging_effects)
qdel(C) qdel(C)
if(camera_range_display_status) if(camera_range_display_status)
@@ -113,11 +115,11 @@ var/intercom_range_display_status = 0
else else
intercom_range_display_status = 1 intercom_range_display_status = 1
for(var/obj/effect/debugging/marker/M in world) for(var/obj/effect/debugging/marker/M in all_debugging_effects)
qdel(M) qdel(M)
if(intercom_range_display_status) if(intercom_range_display_status)
for(var/obj/item/device/radio/intercom/I in world) for(var/obj/item/device/radio/intercom/I in machines)
for(var/turf/T in orange(7,I)) for(var/turf/T in orange(7,I))
var/obj/effect/debugging/marker/F = new/obj/effect/debugging/marker(T) var/obj/effect/debugging/marker/F = new/obj/effect/debugging/marker(T)
if (!(F in view(7,I.loc))) if (!(F in view(7,I.loc)))
@@ -294,7 +296,7 @@ var/list/debug_verbs = list (
var/list/atom/atom_list = list() var/list/atom/atom_list = list()
for(var/atom/A in world) for(var/atom/A in all_atoms)
if(istype(A,type_path)) if(istype(A,type_path))
var/atom/B = A var/atom/B = A
while(!(isturf(B.loc))) while(!(isturf(B.loc)))
@@ -330,7 +332,7 @@ var/list/debug_verbs = list (
var/count = 0 var/count = 0
for(var/atom/A in world) for(var/atom/A in all_atoms)
if(istype(A,type_path)) if(istype(A,type_path))
count++ count++
/* /*

View File

@@ -139,12 +139,12 @@
M.vars[variable] = O.vars[variable] M.vars[variable] = O.vars[variable]
else if(istype(O, /obj)) else if(istype(O, /obj))
for(var/obj/A in world) for(var/obj/A in all_objs)
if ( istype(A , O.type) ) if ( istype(A , O.type) )
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else if(istype(O, /turf)) else if(istype(O, /turf))
for(var/turf/A in world) for(var/turf/A in turfs)
if ( istype(A , O.type) ) if ( istype(A , O.type) )
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
@@ -155,12 +155,12 @@
M.vars[variable] = O.vars[variable] M.vars[variable] = O.vars[variable]
else if(istype(O, /obj)) else if(istype(O, /obj))
for(var/obj/A in world) for(var/obj/A in all_objs)
if (A.type == O.type) if (A.type == O.type)
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else if(istype(O, /turf)) else if(istype(O, /turf))
for(var/turf/A in world) for(var/turf/A in turfs)
if (A.type == O.type) if (A.type == O.type)
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
@@ -179,12 +179,12 @@
M.vars[variable] = O.vars[variable] M.vars[variable] = O.vars[variable]
else if(istype(O, /obj)) else if(istype(O, /obj))
for(var/obj/A in world) for(var/obj/A in all_objs)
if ( istype(A , O.type) ) if ( istype(A , O.type) )
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else if(istype(O, /turf)) else if(istype(O, /turf))
for(var/turf/A in world) for(var/turf/A in turfs)
if ( istype(A , O.type) ) if ( istype(A , O.type) )
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else else
@@ -194,12 +194,12 @@
M.vars[variable] = O.vars[variable] M.vars[variable] = O.vars[variable]
else if(istype(O, /obj)) else if(istype(O, /obj))
for(var/obj/A in world) for(var/obj/A in all_objs)
if (A.type == O.type) if (A.type == O.type)
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else if(istype(O, /turf)) else if(istype(O, /turf))
for(var/turf/A in world) for(var/turf/A in turfs)
if (A.type == O.type) if (A.type == O.type)
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
@@ -223,7 +223,7 @@
M.vars[variable] = O.vars[variable] M.vars[variable] = O.vars[variable]
else if(istype(O, /obj)) else if(istype(O, /obj))
for(var/obj/A in world) for(var/obj/A in all_objs)
if ( istype(A , O.type) ) if ( istype(A , O.type) )
if(variable=="light_range") if(variable=="light_range")
A.set_light(new_value) A.set_light(new_value)
@@ -231,7 +231,7 @@
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else if(istype(O, /turf)) else if(istype(O, /turf))
for(var/turf/A in world) for(var/turf/A in turfs)
if ( istype(A , O.type) ) if ( istype(A , O.type) )
if(variable=="light_range") if(variable=="light_range")
A.set_light(new_value) A.set_light(new_value)
@@ -248,7 +248,7 @@
M.vars[variable] = O.vars[variable] M.vars[variable] = O.vars[variable]
else if(istype(O, /obj)) else if(istype(O, /obj))
for(var/obj/A in world) for(var/obj/A in all_objs)
if (A.type == O.type) if (A.type == O.type)
if(variable=="light_range") if(variable=="light_range")
A.set_light(new_value) A.set_light(new_value)
@@ -256,7 +256,7 @@
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else if(istype(O, /turf)) else if(istype(O, /turf))
for(var/turf/A in world) for(var/turf/A in turfs)
if (A.type == O.type) if (A.type == O.type)
if(variable=="light_range") if(variable=="light_range")
A.set_light(new_value) A.set_light(new_value)
@@ -275,12 +275,12 @@
M.vars[variable] = O.vars[variable] M.vars[variable] = O.vars[variable]
else if(istype(O, /obj)) else if(istype(O, /obj))
for(var/obj/A in world) for(var/obj/A in all_objs)
if ( istype(A , O.type) ) if ( istype(A , O.type) )
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else if(istype(O, /turf)) else if(istype(O, /turf))
for(var/turf/A in world) for(var/turf/A in turfs)
if ( istype(A , O.type) ) if ( istype(A , O.type) )
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else else
@@ -290,12 +290,12 @@
M.vars[variable] = O.vars[variable] M.vars[variable] = O.vars[variable]
else if(istype(O, /obj)) else if(istype(O, /obj))
for(var/obj/A in world) for(var/obj/A in all_objs)
if (A.type == O.type) if (A.type == O.type)
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else if(istype(O, /turf)) else if(istype(O, /turf))
for(var/turf/A in world) for(var/turf/A in turfs)
if (A.type == O.type) if (A.type == O.type)
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
@@ -311,12 +311,12 @@
M.vars[variable] = O.vars[variable] M.vars[variable] = O.vars[variable]
else if(istype(O.type, /obj)) else if(istype(O.type, /obj))
for(var/obj/A in world) for(var/obj/A in all_objs)
if ( istype(A , O.type) ) if ( istype(A , O.type) )
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else if(istype(O.type, /turf)) else if(istype(O.type, /turf))
for(var/turf/A in world) for(var/turf/A in turfs)
if ( istype(A , O.type) ) if ( istype(A , O.type) )
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else else
@@ -326,12 +326,12 @@
M.vars[variable] = O.vars[variable] M.vars[variable] = O.vars[variable]
else if(istype(O.type, /obj)) else if(istype(O.type, /obj))
for(var/obj/A in world) for(var/obj/A in all_objs)
if (A.type == O.type) if (A.type == O.type)
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else if(istype(O.type, /turf)) else if(istype(O.type, /turf))
for(var/turf/A in world) for(var/turf/A in turfs)
if (A.type == O.type) if (A.type == O.type)
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
@@ -346,12 +346,12 @@
M.vars[variable] = O.vars[variable] M.vars[variable] = O.vars[variable]
else if(istype(O, /obj)) else if(istype(O, /obj))
for(var/obj/A in world) for(var/obj/A in all_objs)
if ( istype(A , O.type) ) if ( istype(A , O.type) )
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else if(istype(O, /turf)) else if(istype(O, /turf))
for(var/turf/A in world) for(var/turf/A in turfs)
if ( istype(A , O.type) ) if ( istype(A , O.type) )
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
@@ -362,12 +362,12 @@
M.vars[variable] = O.vars[variable] M.vars[variable] = O.vars[variable]
else if(istype(O, /obj)) else if(istype(O, /obj))
for(var/obj/A in world) for(var/obj/A in all_objs)
if (A.type == O.type) if (A.type == O.type)
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]
else if(istype(O, /turf)) else if(istype(O, /turf))
for(var/turf/A in world) for(var/turf/A in turfs)
if (A.type == O.type) if (A.type == O.type)
A.vars[variable] = O.vars[variable] A.vars[variable] = O.vars[variable]

View File

@@ -54,12 +54,12 @@ var/list/sounds_cache = list()
set name = "Cuban Pete Time" set name = "Cuban Pete Time"
message_admins("[key_name_admin(usr)] has declared Cuban Pete Time!", 1) message_admins("[key_name_admin(usr)] has declared Cuban Pete Time!", 1)
for(var/mob/M in world) for(var/mob/M in player_list)
if(M.client) if(M.client)
if(M.client.midis) if(M.client.midis)
M << 'cubanpetetime.ogg' M << 'cubanpetetime.ogg'
for(var/mob/living/carbon/human/CP in world) for(var/mob/living/carbon/human/CP in human_mob_list)
if(CP.real_name=="Cuban Pete" && CP.key!="Rosham") if(CP.real_name=="Cuban Pete" && CP.key!="Rosham")
CP << "Your body can't contain the rhumba beat" CP << "Your body can't contain the rhumba beat"
CP.gib() CP.gib()
@@ -70,7 +70,7 @@ var/list/sounds_cache = list()
set name = "Banana Phone" set name = "Banana Phone"
message_admins("[key_name_admin(usr)] has activated Banana Phone!", 1) message_admins("[key_name_admin(usr)] has activated Banana Phone!", 1)
for(var/mob/M in world) for(var/mob/M in player_list)
if(M.client) if(M.client)
if(M.client.midis) if(M.client.midis)
M << 'bananaphone.ogg' M << 'bananaphone.ogg'
@@ -81,7 +81,7 @@ client/proc/space_asshole()
set name = "Space Asshole" set name = "Space Asshole"
message_admins("[key_name_admin(usr)] has played the Space Asshole Hymn.", 1) message_admins("[key_name_admin(usr)] has played the Space Asshole Hymn.", 1)
for(var/mob/M in world) for(var/mob/M in player_list)
if(M.client) if(M.client)
if(M.client.midis) if(M.client.midis)
M << 'sound/music/space_asshole.ogg' M << 'sound/music/space_asshole.ogg'
@@ -92,7 +92,7 @@ client/proc/honk_theme()
set name = "Honk" set name = "Honk"
message_admins("[key_name_admin(usr)] has creeped everyone out with Blackest Honks.", 1) message_admins("[key_name_admin(usr)] has creeped everyone out with Blackest Honks.", 1)
for(var/mob/M in world) for(var/mob/M in player_list)
if(M.client) if(M.client)
if(M.client.midis) if(M.client.midis)
M << 'honk_theme.ogg'*/ M << 'honk_theme.ogg'*/

View File

@@ -704,7 +704,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
switch(alert("How would you like to ban someone today?", "Manual Ban", "Key List", "Enter Manually", "Cancel")) switch(alert("How would you like to ban someone today?", "Manual Ban", "Key List", "Enter Manually", "Cancel"))
if("Key List") if("Key List")
var/list/keys = list() var/list/keys = list()
for(var/mob/M in world) for(var/mob/M in player_list)
keys += M.client keys += M.client
var/selection = input("Please, select a player!", "Admin Jumping", null, null) as null|anything in keys var/selection = input("Please, select a player!", "Admin Jumping", null, null) as null|anything in keys
if(!selection) if(!selection)

View File

@@ -184,7 +184,7 @@
switch(action_type) switch(action_type)
if("Strict type") if("Strict type")
var/i = 0 var/i = 0
for(var/obj/Obj in world) for(var/obj/Obj in all_objs)
if(Obj.type == O_type) if(Obj.type == O_type)
i++ i++
qdel(Obj) qdel(Obj)
@@ -195,7 +195,7 @@
message_admins("<span class='notice'>[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted)</span>") message_admins("<span class='notice'>[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted)</span>")
if("Type and subtypes") if("Type and subtypes")
var/i = 0 var/i = 0
for(var/obj/Obj in world) for(var/obj/Obj in all_objs)
if(istype(Obj,O_type)) if(istype(Obj,O_type))
i++ i++
qdel(Obj) qdel(Obj)

View File

@@ -117,14 +117,6 @@ Code:
signal.data["message"] = "ACTIVATE" signal.data["message"] = "ACTIVATE"
radio_connection.post_signal(src, signal) radio_connection.post_signal(src, signal)
return 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/pulse(var/radio = 0) /obj/item/device/assembly/signaler/pulse(var/radio = 0)

View File

@@ -1,3 +1,5 @@
GLOBAL_LIST_BOILERPLATE(all_clothing, /obj/item/clothing)
/obj/item/clothing /obj/item/clothing
name = "clothing" name = "clothing"
siemens_coefficient = 0.9 siemens_coefficient = 0.9

View File

@@ -32,7 +32,7 @@
/datum/event/escaped_slimes/start() /datum/event/escaped_slimes/start()
var/list/vents = list() var/list/vents = list()
for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in world) for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in machines)
if(temp_vent.network && temp_vent.loc.z in using_map.station_levels) //borrowed from spiders event, but it works. Distribute the slimes only in rooms with vents if(temp_vent.network && temp_vent.loc.z in using_map.station_levels) //borrowed from spiders event, but it works. Distribute the slimes only in rooms with vents
vents += temp_vent vents += temp_vent

View File

@@ -16,7 +16,7 @@
/datum/event/gravity/start() /datum/event/gravity/start()
gravity_is_on = 0 gravity_is_on = 0
for(var/area/A in world) for(var/area/A in all_areas)
if(A.z in zLevels) if(A.z in zLevels)
A.gravitychange(gravity_is_on, A) A.gravitychange(gravity_is_on, A)
@@ -24,7 +24,7 @@
if(!gravity_is_on) if(!gravity_is_on)
gravity_is_on = 1 gravity_is_on = 1
for(var/area/A in world) for(var/area/A in all_areas)
if(A.z in zLevels) if(A.z in zLevels)
A.gravitychange(gravity_is_on, A) A.gravitychange(gravity_is_on, A)

View File

@@ -12,7 +12,7 @@
continue continue
players += player.real_name players += player.real_name
for (var/mob/living/silicon/ai/target in world) for (var/mob/living/silicon/ai/target in silicon_mob_list)
var/law = target.generate_ion_law() var/law = target.generate_ion_law()
target << "<font color='red'><b>You have detected a change in your laws information:</b></font>" target << "<font color='red'><b>You have detected a change in your laws information:</b></font>"
target << law target << law
@@ -30,7 +30,7 @@
/datum/event/ionstorm/tick() /datum/event/ionstorm/tick()
if(botEmagChance) if(botEmagChance)
for(var/mob/living/bot/bot in world) for(var/mob/living/bot/bot in mob_list)
if(prob(botEmagChance)) if(prob(botEmagChance))
bot.emag_act(1) bot.emag_act(1)
@@ -146,7 +146,7 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
M.add_ion_law("THE STATION IS [who2pref] [who2]") M.add_ion_law("THE STATION IS [who2pref] [who2]")
if(botEmagChance) if(botEmagChance)
for(var/obj/machinery/bot/bot in world) for(var/obj/machinery/bot/bot in mob_list)
if(prob(botEmagChance)) if(prob(botEmagChance))
bot.Emag() bot.Emag()
*/ */
@@ -162,21 +162,21 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
spawn(0) spawn(0)
world << "Started processing APCs" world << "Started processing APCs"
for (var/obj/machinery/power/apc/APC in world) for (var/obj/machinery/power/apc/APC in machines)
if(APC.z in station_levels) if(APC.z in station_levels)
APC.ion_act() APC.ion_act()
apcnum++ apcnum++
world << "Finished processing APCs. Processed: [apcnum]" world << "Finished processing APCs. Processed: [apcnum]"
spawn(0) spawn(0)
world << "Started processing SMES" world << "Started processing SMES"
for (var/obj/machinery/power/smes/SMES in world) for (var/obj/machinery/power/smes/SMES in machines)
if(SMES.z in station_levels) if(SMES.z in station_levels)
SMES.ion_act() SMES.ion_act()
smesnum++ smesnum++
world << "Finished processing SMES. Processed: [smesnum]" world << "Finished processing SMES. Processed: [smesnum]"
spawn(0) spawn(0)
world << "Started processing AIRLOCKS" world << "Started processing AIRLOCKS"
for (var/obj/machinery/door/airlock/D in world) for (var/obj/machinery/door/airlock/D in machines)
if(D.z in station_levels) if(D.z in station_levels)
//if(length(D.req_access) > 0 && !(12 in D.req_access)) //not counting general access and maintenance airlocks //if(length(D.req_access) > 0 && !(12 in D.req_access)) //not counting general access and maintenance airlocks
airlocknum++ airlocknum++
@@ -185,7 +185,7 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
world << "Finished processing AIRLOCKS. Processed: [airlocknum]" world << "Finished processing AIRLOCKS. Processed: [airlocknum]"
spawn(0) spawn(0)
world << "Started processing FIREDOORS" world << "Started processing FIREDOORS"
for (var/obj/machinery/door/firedoor/D in world) for (var/obj/machinery/door/firedoor/D in machines)
if(D.z in station_levels) if(D.z in station_levels)
firedoornum++; firedoornum++;
spawn(0) spawn(0)

View File

@@ -20,7 +20,7 @@
Notifications will be sent as updates occur.<br>" Notifications will be sent as updates occur.<br>"
var/my_department = "[station_name()] firewall subroutines" var/my_department = "[station_name()] firewall subroutines"
for(var/obj/machinery/message_server/MS in world) for(var/obj/machinery/message_server/MS in machines)
if(!MS.active) continue if(!MS.active) continue
MS.send_rc_message("Head of Personnel's Desk", my_department, message, "", "", 2) MS.send_rc_message("Head of Personnel's Desk", my_department, message, "", "", 2)
@@ -62,6 +62,6 @@
var/my_department = "[station_name()] firewall subroutines" var/my_department = "[station_name()] firewall subroutines"
for(var/obj/machinery/message_server/MS in world) for(var/obj/machinery/message_server/MS in machines)
if(!MS.active) continue if(!MS.active) continue
MS.send_rc_message("Head of Personnel's Desk", my_department, message, "", "", 2) MS.send_rc_message("Head of Personnel's Desk", my_department, message, "", "", 2)

View File

@@ -41,14 +41,14 @@
/datum/event/prison_break/start() /datum/event/prison_break/start()
for(var/area/A in world) for(var/area/A in all_areas)
if(is_type_in_list(A,areaType) && !is_type_in_list(A,areaNotType)) if(is_type_in_list(A,areaType) && !is_type_in_list(A,areaNotType))
areas += A areas += A
if(areas && areas.len > 0) if(areas && areas.len > 0)
var/my_department = "[station_name()] firewall subroutines" var/my_department = "[station_name()] firewall subroutines"
var/rc_message = "An unknown malicious program has been detected in the [english_list(areaName)] lighting and airlock control systems at [stationtime2text()]. Systems will be fully compromised within approximately three minutes. Direct intervention is required immediately.<br>" var/rc_message = "An unknown malicious program has been detected in the [english_list(areaName)] lighting and airlock control systems at [stationtime2text()]. Systems will be fully compromised within approximately three minutes. Direct intervention is required immediately.<br>"
for(var/obj/machinery/message_server/MS in world) for(var/obj/machinery/message_server/MS in machines)
MS.send_rc_message("Engineering", my_department, rc_message, "", "", 2) MS.send_rc_message("Engineering", my_department, rc_message, "", "", 2)
for(var/mob/living/silicon/ai/A in player_list) for(var/mob/living/silicon/ai/A in player_list)
A << "<span class='danger'>Malicious program detected in the [english_list(areaName)] lighting and airlock control systems by [my_department].</span>" A << "<span class='danger'>Malicious program detected in the [english_list(areaName)] lighting and airlock control systems by [my_department].</span>"

View File

@@ -16,7 +16,7 @@
/datum/event/spider_infestation/start() /datum/event/spider_infestation/start()
var/list/vents = list() var/list/vents = list()
for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in world) for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in machines)
if(!temp_vent.welded && temp_vent.network && temp_vent.loc.z in using_map.station_levels) if(!temp_vent.welded && temp_vent.network && temp_vent.loc.z in using_map.station_levels)
if(temp_vent.network.normal_members.len > 50) if(temp_vent.network.normal_members.len > 50)
vents += temp_vent vents += temp_vent

View File

@@ -81,7 +81,7 @@ var/global/datum/controller/plants/plant_controller // Set in New().
// Make sure any seed packets that were mapped in are updated // Make sure any seed packets that were mapped in are updated
// correctly (since the seed datums did not exist a tick ago). // correctly (since the seed datums did not exist a tick ago).
for(var/obj/item/seeds/S in world) for(var/obj/item/seeds/S in all_seed_packs)
S.update_seed() S.update_seed()
//Might as well mask the gene types while we're at it. //Might as well mask the gene types while we're at it.

View File

@@ -1,5 +1,7 @@
var/global/list/plant_seed_sprites = list() var/global/list/plant_seed_sprites = list()
GLOBAL_LIST_BOILERPLATE(all_seed_packs, /obj/item/seeds)
//Seed packet object/procs. //Seed packet object/procs.
/obj/item/seeds /obj/item/seeds
name = "packet of seeds" name = "packet of seeds"

View File

@@ -1,6 +1,6 @@
// Create lighting overlays on all turfs with dynamic lighting in areas with dynamic lighting. // Create lighting overlays on all turfs with dynamic lighting in areas with dynamic lighting.
/proc/create_all_lighting_overlays() /proc/create_all_lighting_overlays()
for(var/area/A in world) for(var/area/A in all_areas)
if(!A.dynamic_lighting) if(!A.dynamic_lighting)
continue continue
for(var/turf/T in A) for(var/turf/T in A)

View File

@@ -285,7 +285,7 @@ var/global/use_preloader = FALSE
var/atom/instance var/atom/instance
_preloader.setup(members_attributes[index])//preloader for assigning set variables on atom creation _preloader.setup(members_attributes[index])//preloader for assigning set variables on atom creation
var/atype = members[index] var/atype = members[index]
for(var/area/A in world) for(var/area/A in all_areas)
if(A.type == atype) if(A.type == atype)
instance = A instance = A
break break

View File

@@ -795,7 +795,7 @@ mob/observer/dead/MayRespawn(var/feedback = 0)
set name = "Blank pAI alert" set name = "Blank pAI alert"
set desc = "Flash an indicator light on available blank pAI devices for a smidgen of hope." set desc = "Flash an indicator light on available blank pAI devices for a smidgen of hope."
if(usr.client.prefs.be_special & BE_PAI) if(usr.client.prefs.be_special & BE_PAI)
for(var/obj/item/device/paicard/p in world) for(var/obj/item/device/paicard/p in all_pai_cards)
var/obj/item/device/paicard/PP = p var/obj/item/device/paicard/PP = p
if(PP.pai == null) if(PP.pai == null)
PP.overlays += "pai-ghostalert" PP.overlays += "pai-ghostalert"

View File

@@ -843,7 +843,7 @@
src.verbs -= /mob/living/carbon/human/proc/remotesay src.verbs -= /mob/living/carbon/human/proc/remotesay
return return
var/list/creatures = list() var/list/creatures = list()
for(var/mob/living/carbon/h in world) for(var/mob/living/carbon/h in mob_list)
creatures += h creatures += h
var/mob/target = input("Who do you want to project your mind to ?") as null|anything in creatures var/mob/target = input("Who do you want to project your mind to ?") as null|anything in creatures
if (isnull(target)) if (isnull(target))
@@ -856,7 +856,7 @@
target.show_message("<font color='blue'> You hear a voice that seems to echo around the room: [say]</font>") target.show_message("<font color='blue'> You hear a voice that seems to echo around the room: [say]</font>")
usr.show_message("<font color='blue'> You project your mind into [target.real_name]: [say]</font>") usr.show_message("<font color='blue'> You project your mind into [target.real_name]: [say]</font>")
log_say("(TPATH to [key_name(target)]) [say]",src) log_say("(TPATH to [key_name(target)]) [say]",src)
for(var/mob/observer/dead/G in world) for(var/mob/observer/dead/G in mob_list)
G.show_message("<i>Telepathic message from <b>[src]</b> to <b>[target]</b>: [say]</i>") G.show_message("<i>Telepathic message from <b>[src]</b> to <b>[target]</b>: [say]</i>")
/mob/living/carbon/human/proc/remoteobserve() /mob/living/carbon/human/proc/remoteobserve()
@@ -881,7 +881,7 @@
var/list/mob/creatures = list() var/list/mob/creatures = list()
for(var/mob/living/carbon/h in world) for(var/mob/living/carbon/h in mob_list)
var/turf/temp_turf = get_turf(h) var/turf/temp_turf = get_turf(h)
if((temp_turf.z != 1 && temp_turf.z != 5) || h.stat!=CONSCIOUS) //Not on mining or the station. Or dead if((temp_turf.z != 1 && temp_turf.z != 5) || h.stat!=CONSCIOUS) //Not on mining or the station. Or dead
continue continue
@@ -920,7 +920,7 @@
restore_all_organs() // Reapply robotics/amputated status from preferences. restore_all_organs() // Reapply robotics/amputated status from preferences.
if(!client || !key) //Don't boot out anyone already in the mob. if(!client || !key) //Don't boot out anyone already in the mob.
for (var/obj/item/organ/internal/brain/H in world) for (var/obj/item/organ/internal/brain/H in all_brain_organs)
if(H.brainmob) if(H.brainmob)
if(H.brainmob.real_name == src.real_name) if(H.brainmob.real_name == src.real_name)
if(H.brainmob.mind) if(H.brainmob.mind)

View File

@@ -8,7 +8,7 @@
remove_ai_verbs(src) remove_ai_verbs(src)
for(var/obj/machinery/ai_status_display/O in world) for(var/obj/machinery/ai_status_display/O in machines)
spawn( 0 ) spawn( 0 )
O.mode = 2 O.mode = 2
if (istype(loc, /obj/item/device/aicard)) if (istype(loc, /obj/item/device/aicard))

View File

@@ -1,6 +1,6 @@
/mob/living/silicon/ai/Logout() /mob/living/silicon/ai/Logout()
..() ..()
for(var/obj/machinery/ai_status_display/O in world) //change status for(var/obj/machinery/ai_status_display/O in machines) //change status
O.mode = 0 O.mode = 0
if(!isturf(loc)) if(!isturf(loc))
if (client) if (client)

View File

@@ -3,6 +3,6 @@
icon_state = "ai-crash" icon_state = "ai-crash"
spawn(10) spawn(10)
explosion(loc, 3, 6, 12, 15) explosion(loc, 3, 6, 12, 15)
for(var/obj/machinery/ai_status_display/O in world) //change status for(var/obj/machinery/ai_status_display/O in machines) //change status
O.mode = 2 O.mode = 2
return ..(gibbed) return ..(gibbed)

View File

@@ -87,7 +87,7 @@ var/datum/paiController/paiController // Global handler for pAI candidates
if("submit") if("submit")
if(candidate) if(candidate)
candidate.ready = 1 candidate.ready = 1
for(var/obj/item/device/paicard/p in world) for(var/obj/item/device/paicard/p in all_pai_cards)
if(p.looking_for_personality == 1) if(p.looking_for_personality == 1)
p.alertUpdate() p.alertUpdate()
usr << browse(null, "window=paiRecruit") usr << browse(null, "window=paiRecruit")

View File

@@ -187,8 +187,7 @@ var/list/mob_hat_cache = list()
user.visible_message("<span class='danger'>\The [user] swipes [TU.his] ID card through \the [src], attempting to reboot it.</span>", "<span class='danger'>>You swipe your ID card through \the [src], attempting to reboot it.</span>") user.visible_message("<span class='danger'>\The [user] swipes [TU.his] ID card through \the [src], attempting to reboot it.</span>", "<span class='danger'>>You swipe your ID card through \the [src], attempting to reboot it.</span>")
var/drones = 0 var/drones = 0
for(var/mob/living/silicon/robot/drone/D in world) for(var/mob/living/silicon/robot/drone/D in player_list)
if(D.key && D.client)
drones++ drones++
if(drones < config.max_maint_drones) if(drones < config.max_maint_drones)
request_player() request_player()

View File

@@ -26,7 +26,7 @@
var/dat var/dat
dat += "<B>Maintenance Units</B><BR>" dat += "<B>Maintenance Units</B><BR>"
for(var/mob/living/silicon/robot/drone/D in world) for(var/mob/living/silicon/robot/drone/D in mob_list)
if(D.z != src.z) if(D.z != src.z)
continue continue
dat += "<BR>[D.real_name] ([D.stat == 2 ? "<font color='red'>INACTIVE</FONT>" : "<font color='green'>ACTIVE</FONT>"])" dat += "<BR>[D.real_name] ([D.stat == 2 ? "<font color='red'>INACTIVE</FONT>" : "<font color='green'>ACTIVE</FONT>"])"
@@ -68,8 +68,8 @@
else if (href_list["ping"]) else if (href_list["ping"])
usr << "<span class='notice'>You issue a maintenance request for all active drones, highlighting [drone_call_area].</span>" usr << "<span class='notice'>You issue a maintenance request for all active drones, highlighting [drone_call_area].</span>"
for(var/mob/living/silicon/robot/drone/D in world) for(var/mob/living/silicon/robot/drone/D in player_list)
if(D.client && D.stat == 0) if(D.stat == 0)
D << "-- Maintenance drone presence requested in: [drone_call_area]." D << "-- Maintenance drone presence requested in: [drone_call_area]."
else if (href_list["resync"]) else if (href_list["resync"])

View File

@@ -1,7 +1,6 @@
/proc/count_drones() /proc/count_drones()
var/drones = 0 var/drones = 0
for(var/mob/living/silicon/robot/drone/D in world) for(var/mob/living/silicon/robot/drone/D in player_list)
if(D.key && D.client)
drones++ drones++
return drones return drones
@@ -135,7 +134,7 @@
return return
var/list/all_fabricators = list() var/list/all_fabricators = list()
for(var/obj/machinery/drone_fabricator/DF in world) for(var/obj/machinery/drone_fabricator/DF in machines)
if(DF.stat & NOPOWER || !DF.produce_drones) if(DF.stat & NOPOWER || !DF.produce_drones)
continue continue
if(DF.drone_progress >= 100) if(DF.drone_progress >= 100)

View File

@@ -1,3 +1,5 @@
GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
/obj/item/organ/internal/brain /obj/item/organ/internal/brain
name = "brain" name = "brain"
health = 400 //They need to live awhile longer than other organs. Is this even used by organ code anymore? health = 400 //They need to live awhile longer than other organs. Is this even used by organ code anymore?

View File

@@ -17,7 +17,7 @@
to_chat(usr, "Error: you are not an admin!") to_chat(usr, "Error: you are not an admin!")
return return
if(!(locate(/obj/machinery/power/fusion_core/mapped) in world)) if(!(locate(/obj/machinery/power/fusion_core/mapped) in machines))
to_chat(usr, "This map is not appropriate for this verb.") to_chat(usr, "This map is not appropriate for this verb.")
return return
@@ -40,7 +40,7 @@
var/list/delayed_objects = list() var/list/delayed_objects = list()
// SETUP PHASE // SETUP PHASE
for(var/obj/effect/engine_setup/S in world) for(var/obj/effect/engine_setup/S in machines)
var/result = S.activate(0) var/result = S.activate(0)
switch(result) switch(result)
if(SETUP_OK) if(SETUP_OK)

View File

@@ -35,7 +35,7 @@
/obj/machinery/power/sensor/Destroy() /obj/machinery/power/sensor/Destroy()
. = ..() . = ..()
// TODO - Switch power_monitor to register deletion events instead of this. // TODO - Switch power_monitor to register deletion events instead of this.
for(var/obj/machinery/computer/power_monitor/PM in world) for(var/obj/machinery/computer/power_monitor/PM in machines)
if(PM.power_monitor) if(PM.power_monitor)
PM.power_monitor.refresh_sensors() PM.power_monitor.refresh_sensors()

View File

@@ -1,5 +1,7 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity)
/obj/singularity/ /obj/singularity/
name = "gravitational singularity" name = "gravitational singularity"
desc = "A gravitational singularity." desc = "A gravitational singularity."

View File

@@ -32,7 +32,7 @@
// CONFIGURATION PHASE // CONFIGURATION PHASE
// Coolant canisters, set types according to response. // Coolant canisters, set types according to response.
for(var/obj/effect/engine_setup/coolant_canister/C in world) for(var/obj/effect/engine_setup/coolant_canister/C in all_engine_setup_markers)
switch(response) switch(response)
if("N2") if("N2")
C.canister_type = /obj/machinery/portable_atmospherics/canister/nitrogen/engine_setup/ C.canister_type = /obj/machinery/portable_atmospherics/canister/nitrogen/engine_setup/
@@ -44,7 +44,7 @@
C.canister_type = /obj/machinery/portable_atmospherics/canister/phoron/engine_setup/ C.canister_type = /obj/machinery/portable_atmospherics/canister/phoron/engine_setup/
continue continue
for(var/obj/effect/engine_setup/core/C in world) for(var/obj/effect/engine_setup/core/C in all_engine_setup_markers)
switch(response) switch(response)
if("N2") if("N2")
C.energy_setting = ENERGY_NITROGEN C.energy_setting = ENERGY_NITROGEN
@@ -56,12 +56,12 @@
C.energy_setting = ENERGY_PHORON C.energy_setting = ENERGY_PHORON
continue continue
for(var/obj/effect/engine_setup/atmo_filter/F in world) for(var/obj/effect/engine_setup/atmo_filter/F in all_engine_setup_markers)
F.coolant = response F.coolant = response
var/list/delayed_objects = list() var/list/delayed_objects = list()
// SETUP PHASE // SETUP PHASE
for(var/obj/effect/engine_setup/S in world) for(var/obj/effect/engine_setup/S in all_engine_setup_markers)
var/result = S.activate(0) var/result = S.activate(0)
switch(result) switch(result)
if(SETUP_OK) if(SETUP_OK)
@@ -108,6 +108,8 @@
icon = 'icons/mob/screen1.dmi' icon = 'icons/mob/screen1.dmi'
icon_state = "x3" icon_state = "x3"
GLOBAL_LIST_BOILERPLATE(all_engine_setup_markers, /obj/effect/engine_setup)
/obj/effect/engine_setup/proc/activate(var/last = 0) /obj/effect/engine_setup/proc/activate(var/last = 0)
return 1 return 1

View File

@@ -103,7 +103,7 @@
usr << "No input found please hang up and try your call again." usr << "No input found please hang up and try your call again."
return return
id = input id = input
for(var/obj/machinery/conveyor_switch/C in world) for(var/obj/machinery/conveyor_switch/C in machines)
if(C.id == id) if(C.id == id)
C.conveyors |= src C.conveyors |= src
return return
@@ -190,7 +190,7 @@
/obj/machinery/conveyor_switch/LateInitialize() /obj/machinery/conveyor_switch/LateInitialize()
conveyors = list() conveyors = list()
for(var/obj/machinery/conveyor/C in world) for(var/obj/machinery/conveyor/C in machines)
if(C.id == id) if(C.id == id)
conveyors += C conveyors += C
@@ -238,7 +238,7 @@
update() update()
// find any switches with same id as this one, and set their positions to match us // find any switches with same id as this one, and set their positions to match us
for(var/obj/machinery/conveyor_switch/S in world) for(var/obj/machinery/conveyor_switch/S in machines)
if(S.id == src.id) if(S.id == src.id)
S.position = position S.position = position
S.update() S.update()
@@ -269,7 +269,7 @@
return return
id = input id = input
conveyors = list() // Clear list so they aren't double added. conveyors = list() // Clear list so they aren't double added.
for(var/obj/machinery/conveyor/C in world) for(var/obj/machinery/conveyor/C in machines)
if(C.id == id) if(C.id == id)
conveyors += C conveyors += C
return return
@@ -289,7 +289,7 @@
update() update()
// find any switches with same id as this one, and set their positions to match us // find any switches with same id as this one, and set their positions to match us
for(var/obj/machinery/conveyor_switch/S in world) for(var/obj/machinery/conveyor_switch/S in machines)
if(S.id == src.id) if(S.id == src.id)
S.position = position S.position = position
S.update() S.update()

View File

@@ -967,7 +967,7 @@
// *** TEST verb // *** TEST verb
//client/verb/dispstop() //client/verb/dispstop()
// for(var/obj/structure/disposalholder/H in world) // for(var/obj/structure/disposalholder/H in all_objs)
// H.active = 0 // H.active = 0
// a straight or bent segment // a straight or bent segment

View File

@@ -132,7 +132,7 @@
/obj/machinery/keycard_auth/proc/broadcast_request() /obj/machinery/keycard_auth/proc/broadcast_request()
icon_state = "auth_on" icon_state = "auth_on"
for(var/obj/machinery/keycard_auth/KA in world) for(var/obj/machinery/keycard_auth/KA in machines)
if(KA == src) continue if(KA == src) continue
KA.reset() KA.reset()
spawn() spawn()

View File

@@ -182,10 +182,10 @@
sleep(10) sleep(10)
var/spawn_marauder[] = new() var/spawn_marauder[] = new()
for(var/obj/effect/landmark/L in world) for(var/obj/effect/landmark/L in landmarks_list)
if(L.name == "Marauder Entry") if(L.name == "Marauder Entry")
spawn_marauder.Add(L) spawn_marauder.Add(L)
for(var/obj/effect/landmark/L in world) for(var/obj/effect/landmark/L in landmarks_list)
if(L.name == "Marauder Exit") if(L.name == "Marauder Exit")
var/obj/effect/portal/P = new(L.loc) var/obj/effect/portal/P = new(L.loc)
P.invisibility = 101//So it is not seen by anyone. P.invisibility = 101//So it is not seen by anyone.

View File

@@ -257,7 +257,7 @@
if(processing_objects.Find(src)) if(processing_objects.Find(src))
//scan radios in the world to try and find one //scan radios in the world to try and find one
var/cur_dist = 999 var/cur_dist = 999
for(var/obj/item/device/radio/beacon/R in world) for(var/obj/item/device/radio/beacon/R in all_beacons)
if(R.z == src.z && R.frequency == src.frequency) if(R.z == src.z && R.frequency == src.frequency)
var/check_dist = get_dist(src,R) var/check_dist = get_dist(src,R)
if(check_dist < cur_dist) if(check_dist < cur_dist)

Some files were not shown because too many files have changed in this diff Show More