- Moved TAGGERLOCATIONS to setup.dm for easier access and lookup.

- Added an areatest verb to debug verbs. This tests areas for whether they have APCs, air alarms, etc.
- Added an 'autoname' subtype of obj/machinery/camera. Cameras of this type auto-assign their c_tag, based on which area they're in, followed by a number. For example "Male Dorm #1", "Male Dorm #2", etc.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4806 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
baloh.matevz
2012-10-04 21:01:42 +00:00
parent 6aebb2b035
commit 148b6e5c19
7 changed files with 2355 additions and 1769 deletions

View File

@@ -295,4 +295,24 @@
return 0
return 1
busy = 0
return 0
return 0
/obj/machinery/camera/autoname
var/number = 0 //camera number in area
//This camera type automatically sets it's name to whatever the area that it's in is called.
/obj/machinery/camera/autoname/New()
..()
spawn(10)
number = 1
var/area/A = get_area(src)
if(A)
for(var/obj/machinery/camera/autoname/C in world)
if(C == src) continue
var/area/CA = get_area(C)
if(CA.type == A.type)
if(C.number)
number = max(number, C.number+1)
c_tag = "[A.name] #[number]"

View File

@@ -441,6 +441,93 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
message_admins("[key_name_admin(src)] has turned the experimental radio system [GLOBAL_RADIO_TYPE ? "on" : "off"].", 0)
feedback_add_details("admin_verb","SRM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/cmd_admin_areatest()
set category = "Mapping"
set name = "Test areas"
var/list/areas_all = list()
var/list/areas_with_APC = list()
var/list/areas_with_air_alarm = list()
var/list/areas_with_RC = list()
var/list/areas_with_light = list()
var/list/areas_with_LS = list()
var/list/areas_with_intercom = list()
var/list/areas_with_camera = list()
for(var/area/A in world)
if(!(A.type in areas_all))
areas_all.Add(A.type)
for(var/obj/machinery/power/apc/APC in world)
var/area/A = get_area(APC)
if(!(A.type in areas_with_APC))
areas_with_APC.Add(A.type)
for(var/obj/machinery/alarm/alarm in world)
var/area/A = get_area(alarm)
if(!(A.type in areas_with_air_alarm))
areas_with_air_alarm.Add(A.type)
for(var/obj/machinery/requests_console/RC in world)
var/area/A = get_area(RC)
if(!(A.type in areas_with_RC))
areas_with_RC.Add(A.type)
for(var/obj/machinery/light/L in world)
var/area/A = get_area(L)
if(!(A.type in areas_with_light))
areas_with_light.Add(A.type)
for(var/obj/machinery/light_switch/LS in world)
var/area/A = get_area(LS)
if(!(A.type in areas_with_LS))
areas_with_LS.Add(A.type)
for(var/obj/item/device/radio/intercom/I in world)
var/area/A = get_area(I)
if(!(A.type in areas_with_intercom))
areas_with_intercom.Add(A.type)
for(var/obj/machinery/camera/C in world)
var/area/A = get_area(C)
if(!(A.type in areas_with_camera))
areas_with_camera.Add(A.type)
var/list/areas_without_APC = areas_all - areas_with_APC
var/list/areas_without_air_alarm = areas_all - areas_with_air_alarm
var/list/areas_without_RC = areas_all - areas_with_RC
var/list/areas_without_light = areas_all - areas_with_light
var/list/areas_without_LS = areas_all - areas_with_LS
var/list/areas_without_intercom = areas_all - areas_with_intercom
var/list/areas_without_camera = areas_all - areas_with_camera
world << "<b>AREAS WITHOUT AN APC:</b>"
for(var/areatype in areas_without_APC)
world << "* [areatype]"
world << "<b>AREAS WITHOUT AN AIR ALARM:</b>"
for(var/areatype in areas_without_air_alarm)
world << "* [areatype]"
world << "<b>AREAS WITHOUT A REQUEST CONSOLE:</b>"
for(var/areatype in areas_without_RC)
world << "* [areatype]"
world << "<b>AREAS WITHOUT ANY LIGHTS:</b>"
for(var/areatype in areas_without_light)
world << "* [areatype]"
world << "<b>AREAS WITHOUT A LIGHT SWITCH:</b>"
for(var/areatype in areas_without_LS)
world << "* [areatype]"
world << "<b>AREAS WITHOUT ANY INTERCOMS:</b>"
for(var/areatype in areas_without_intercom)
world << "* [areatype]"
world << "<b>AREAS WITHOUT ANY CAMERAS:</b>"
for(var/areatype in areas_without_camera)
world << "* [areatype]"
/client/proc/cmd_admin_dress(var/mob/living/carbon/human/M in mob_list)
set category = "Fun"

View File

@@ -144,6 +144,7 @@ var/intercom_range_display_status = 0
src.verbs += /client/proc/cmd_admin_grantfullaccess
src.verbs += /client/proc/kaboom
src.verbs += /client/proc/splash
src.verbs += /client/proc/cmd_admin_areatest
//src.verbs += /client/proc/cmd_admin_rejuvenate
feedback_add_details("admin_verb","mDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!

View File

@@ -935,7 +935,7 @@
/obj/structure/disposalpipe/sortjunction
icon_state = "pipe-j1s"
var/sortType = 0
var/sortType = 0 //Look at the list called TAGGERLOCATIONS in setup.dm
var/posdir = 0
var/negdir = 0
var/sortdir = 0

View File

@@ -150,13 +150,6 @@
return
// Old, non-global name: "locationList"
var/list/TAGGERLOCATIONS = list("Disposals",
"Cargo Bay", "QM Office", "Engineering", "CE Office",
"Atmospherics", "Security", "HoS Office", "Medbay",
"CMO Office", "Chemistry", "Research", "RD Office",
"Robotics", "HoP Office", "Library", "Chapel", "Theatre",
"Bar", "Kitchen", "Hydroponics", "Janitor Closet","Genetics")
/obj/item/device/destTagger
name = "destination tagger"
desc = "Used to set the destination of properly wrapped packages."

View File

@@ -507,3 +507,13 @@ var/list/liftable_structures = list(\
//some arbitrary defines to be used by self-pruning global lists. (see master_controller)
#define PROCESS_KILL 26 //Used to trigger removal from a processing list
// Reference list for disposal sort junctions. Set the sortType variable on disposal sort junctions to
// the index of the sort department that you want. For example, sortType set to 2 will reroute all packages
// tagged for the Cargo Bay.
var/list/TAGGERLOCATIONS = list("Disposals",
"Cargo Bay", "QM Office", "Engineering", "CE Office",
"Atmospherics", "Security", "HoS Office", "Medbay",
"CMO Office", "Chemistry", "Research", "RD Office",
"Robotics", "HoP Office", "Library", "Chapel", "Theatre",
"Bar", "Kitchen", "Hydroponics", "Janitor Closet","Genetics")

File diff suppressed because it is too large Load Diff