Port -tg-station cameranets

This should make it much easier to port abductors, if we ever want to do
that.

Changes:
  - Fixed a bug where the AI could not delete photos it takes.
  - Ported -tg- cameranets. This means that all of our camera based systems are more or less up to date with -tg-; 510 features are missing.
  - An AI with the 'camera lights' mode on will now, instead of the button toggling the closest camera's light, toggle camera lights on/off as the AI moves.
  - It now takes a minimum of 30 deciseconds between attempting to track someone, and locking on. This number is increased by their distance away from the AI eye.
  - The camera activate/deactivate proc is now called 'toggle_cam'.
  - The 'trackable' proc has been replaced by a more object-oriented 'mob.can_track()' proc.
  - The 'networks' section of the security camera console is now above the camera list.

In laymans terms: This refactors how security cameras calculate what
viewers can see, and adds a few neat features on top.
This commit is contained in:
Tigercat2000
2016-03-13 15:06:24 -07:00
parent db8b472fc7
commit bc78146178
25 changed files with 562 additions and 455 deletions
+2 -2
View File
@@ -38,7 +38,7 @@ var/const/CAMERA_WIRE_NOTHING2 = 32
if(CAMERA_WIRE_POWER)
if(C.status && !mended || !C.status && mended)
C.deactivate(usr, 1)
C.toggle_cam(usr, 1)
if(CAMERA_WIRE_LIGHT)
C.light_disabled = !mended
@@ -60,7 +60,7 @@ var/const/CAMERA_WIRE_NOTHING2 = 32
C.setViewRange(new_range)
if(CAMERA_WIRE_POWER)
C.deactivate(null) // Deactivate the camera
C.toggle_cam(null) // Deactivate the camera
if(CAMERA_WIRE_LIGHT)
C.light_disabled = !C.light_disabled
+2 -2
View File
@@ -49,7 +49,7 @@ var/const/BORG_WIRE_LAWCHECK = 16 // Not used on MoMMIs
if (BORG_WIRE_CAMERA)
if(!isnull(R.camera) && !R.scrambledcodes)
R.camera.status = mended
R.camera.deactivate(usr, 0) // Will kick anyone who is watching the Cyborg's camera.
R.camera.toggle_cam(usr, 0) // Will kick anyone who is watching the Cyborg's camera.
if(BORG_WIRE_LAWCHECK) //Forces a law update if the borg is set to receive them. Since an update would happen when the borg checks its laws anyway, not much use, but eh
if (R.lawupdate)
@@ -70,7 +70,7 @@ var/const/BORG_WIRE_LAWCHECK = 16 // Not used on MoMMIs
if (BORG_WIRE_CAMERA)
if(!isnull(R.camera) && R.camera.can_use() && !R.scrambledcodes)
R.camera.deactivate(usr, 0) // Kick anyone watching the Cyborg's camera, doesn't display you disconnecting the camera.
R.camera.toggle_cam(usr, 0) // Kick anyone watching the Cyborg's camera, doesn't display you disconnecting the camera.
R.visible_message("[R]'s camera lense focuses loudly.")
R << "Your camera lense focuses loudly."