-Made motion cameras use HasProximity if they aren't area based motion cameras. This will allow people to set up motion cameras that will set off, without having to be in an "AI Monitored" area, such as EVA.

-Removed cameras from all bots. I'll change this if there's an outcry but my reasoning is that the bot's cameras don't work well with freelook, removing it would save a lot of trouble and would help out in certain rounds. I also doubt people even care about viewing the bot's view, I sometimes forget it's a thing.

-Make the AI's cancel camera view the same verb as AI Core. I did this because people were getting really confused on how to return to their core view, and the verb was basically useless since people just stopped tracking by moving a tile in a random direction.

-Removed a floating camera in Engineering. -Removed a camera in the AI Chamber (front of the AI) and I made the camera an "All" camera. (EMP Proof, X-Ray and Motion)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4622 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
giacomand@gmail.com
2012-09-05 05:30:56 +00:00
parent c486f4cb93
commit 5ed77f8dad
7 changed files with 6652 additions and 6664 deletions

View File

@@ -7,18 +7,20 @@
..()
// locate and store the motioncamera
spawn (20) // spawn on a delay to let turfs/objs load
for (var/obj/machinery/camera/motion/M in src)
motioncamera = M
return
for (var/obj/machinery/camera/M in src)
if(M.isMotion())
motioncamera = M
M.area_motion = src
return
return
/area/ai_monitored/Entered(atom/movable/O)
..()
if (istype(O, /mob) && motioncamera)
if (ismob(O) && motioncamera)
motioncamera.newTarget(O)
/area/ai_monitored/Exited(atom/movable/O)
if (istype(O, /mob) && motioncamera)
if (ismob(O) && motioncamera)
motioncamera.lostTarget(O)

View File

@@ -43,8 +43,6 @@
var/auto_patrol = 0 // set to make bot automatically patrol
var/obj/machinery/camera/cam //Camera for the AI to find them I guess
var/beacon_freq = 1445 // navigation beacon frequency
var/control_freq = 1447 // bot control frequency
@@ -81,9 +79,7 @@
spawn(3)
src.botcard = new /obj/item/weapon/card/id(src)
src.botcard.access = get_access("Detective")
src.cam = new /obj/machinery/camera(src)
src.cam.c_tag = src.name
src.cam.network = "SS13"
if(radio_controller)
radio_controller.add_object(src, control_freq, filter = RADIO_SECBOT)
radio_controller.add_object(src, beacon_freq, filter = RADIO_NAVBEACONS)
@@ -854,8 +850,7 @@ Auto Patrol: []"},
/obj/machinery/bot/ed209/emp_act(severity)
if (cam)
cam.emp_act(severity)
if(severity==2 && prob(70))
..(severity-1)
else

View File

@@ -16,7 +16,6 @@
req_access =list(access_medical)
var/stunned = 0 //It can be stunned by tasers. Delicate circuits.
//var/emagged = 0
var/obj/machinery/camera/cam = null
var/list/botcard_access = list(access_medical, access_morgue, access_genetics, access_robotics)
var/obj/item/weapon/reagent_containers/glass/reagent_glass = null //Can be set to draw from this for reagents.
var/skin = null //Set to "tox", "ointment" or "o2" for the other two firstaid kits.
@@ -75,9 +74,6 @@
src.botcard.access = get_access("Medical Doctor")
else
src.botcard.access = src.botcard_access
src.cam = new /obj/machinery/camera(src)
src.cam.c_tag = src.name
src.cam.network = "SS13"
/obj/machinery/bot/medbot/turn_on()
. = ..()
@@ -456,11 +452,6 @@
src.stunned = min(stunned+10,20)
..()
/obj/machinery/bot/medbot/emp_act(severity)
if (cam)
cam.emp_act(severity)
..()
/obj/machinery/bot/medbot/explode()
src.on = 0
for(var/mob/O in hearers(src, null))

View File

@@ -34,8 +34,6 @@
var/auto_patrol = 0 // set to make bot automatically patrol
var/obj/machinery/camera/cam //Camera for the AI to find them I guess
var/beacon_freq = 1445 // navigation beacon frequency
var/control_freq = 1447 // bot control frequency
@@ -77,9 +75,6 @@
spawn(3)
src.botcard = new /obj/item/weapon/card/id(src)
src.botcard.access = get_access("Detective")
src.cam = new /obj/machinery/camera(src)
src.cam.c_tag = src.name
src.cam.network = "SS13"
if(radio_controller)
radio_controller.add_object(src, control_freq, filter = RADIO_SECBOT)
radio_controller.add_object(src, beacon_freq, filter = RADIO_NAVBEACONS)
@@ -702,11 +697,6 @@ Auto Patrol: []"},
src.target = user
src.mode = SECBOT_HUNT
/obj/machinery/bot/secbot/emp_act(severity)
if(cam)
cam.emp_act(severity)
..()
//Secbot Construction
/obj/item/clothing/head/helmet/attackby(var/obj/item/device/assembly/signaler/S, mob/user as mob)

View File

@@ -2,7 +2,7 @@
var/list/motionTargets = list()
var/detectTime = 0
var/locked = 1
var/area/ai_monitored/area_motion = null
/obj/machinery/camera/process()
@@ -17,6 +17,12 @@
else if (detectTime == -1)
for (var/mob/target in motionTargets)
if (target.stat == 2) lostTarget(target)
// If not detecting with motion camera...
if (!area_motion)
// See if the camera is still in range
if(!in_range(src, target))
// If they aren't in range, lose the target.
lostTarget(target)
/obj/machinery/camera/proc/newTarget(var/mob/target)
if (istype(target, /mob/living/silicon/ai)) return 0
@@ -46,3 +52,9 @@
detectTime = -1
return 1
/obj/machinery/camera/HasProximity(atom/movable/AM as mob|obj)
// Motion cameras outside of an "ai monitored" area will use this to detect stuff.
if (!area_motion)
if(isliving(AM))
newTarget(AM)

View File

@@ -510,9 +510,9 @@
/mob/living/silicon/ai/cancel_camera()
set category = "AI Commands"
set name = "Cancel Camera View"
//reset_view(null)
//machine = null
src.cameraFollow = null
//src.cameraFollow = null
src.core()
//Replaces /mob/living/silicon/ai/verb/change_network() in ai.dm & camera.dm

File diff suppressed because it is too large Load Diff