-Tweaked cameras based on feedback!

It takes no time to open camera panels now.
There's no chance that pulsing a wire will set the alarm off.
Properly killed the camera from processing, if it isn't a motion camera.
Added some extra feedback to welding.
EMPing cameras will set their alarms off, if it passes the first prob check.

Updated the changelog.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4613 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
giacomand@gmail.com
2012-09-03 13:46:48 +00:00
parent 042524c2fc
commit f1d3bdb8e7
6 changed files with 31 additions and 18 deletions

View File

@@ -49,10 +49,12 @@
cameranet.removeCamera(src)
stat |= EMPED
SetLuminosity(0)
triggerCameraAlarm()
spawn(900)
network = initial(network)
icon_state = initial(icon_state)
stat &= ~EMPED
cancelCameraAlarm()
if(can_use())
cameranet.addCamera(src)
for(var/mob/O in mob_list)
@@ -99,9 +101,11 @@
// DECONSTRUCTION
if(isscrewdriver(W))
if(toggle_panel(user))
user.visible_message("<span class='warning'>[user] screws the camera's panel [panel_open ? "open" : "closed"]!</span>",
"<span class='notice'>You screw the camera's panel [panel_open ? "open" : "closed"].</span>")
//user << "<span class='notice'>You start to [panel_open ? "close" : "open"] the camera's panel.</span>"
//if(toggle_panel(user)) // No delay because no one likes screwdrivers trying to be hip and have a duration cooldown
panel_open = !panel_open
user.visible_message("<span class='warning'>[user] screws the camera's panel [panel_open ? "open" : "closed"]!</span>",
"<span class='notice'>You screw the camera's panel [panel_open ? "open" : "closed"].</span>")
else if((iswirecutter(W) || ismultitool(W)) && panel_open)
interact(user)
@@ -196,20 +200,20 @@
/obj/machinery/camera/proc/triggerCameraAlarm()
alarm_on = 1
for(var/mob/living/silicon/S in mob_list)
S.triggerAlarm("Camera", get_area(src), src)
S.triggerAlarm("Camera", get_area(src), list(src), src)
/obj/machinery/camera/proc/cancelCameraAlarm()
alarm_on = 0
for(var/mob/living/silicon/S in mob_list)
S.cancelAlarm("Camera", get_area(src), src)
S.cancelAlarm("Camera", get_area(src), list(src), src)
/obj/machinery/camera/proc/toggle_panel(var/mob/user)
if(busy)
return 0
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
busy = 1
if(do_after(user, 50))
if(do_after(user, 30))
panel_open = !panel_open
busy = 0
return 1
@@ -276,10 +280,11 @@
return 0
// Do after stuff here
user << "<span class='notice'>You start to weld the [src]..</span>"
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
WT.eyecheck(user)
busy = 1
if(do_after(user, 20))
if(do_after(user, 100))
busy = 0
if(!WT.isOn())
return 0

View File

@@ -139,7 +139,7 @@
if(!WT.isOn())
return 0
// Do after stuff here
user << "<span class='notice'>You start to weld the [src]..</span>"
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
WT.eyecheck(user)
busy = 1

View File

@@ -11,7 +11,7 @@
/obj/machinery/camera/process()
// motion camera event loop
if(!isMotion())
..()
. = PROCESS_KILL
return
if (detectTime > 0)
var/elapsed = world.time - detectTime

View File

@@ -94,10 +94,7 @@
light_disabled = !light_disabled
if(CAMERA_WIRE_ALARM)
if(prob(80))
src.visible_message("\icon[src] *beep*", "\icon[src] *beep*")
else
triggerCameraAlarm()
src.visible_message("\icon[src] *beep*", "\icon[src] *beep*")
src.interact(usr)

View File

@@ -440,10 +440,10 @@
/mob/living/silicon/ai/proc/switchCamera(var/obj/machinery/camera/C)
src.cameraFollow = null
if (!C || stat == 2 || !C.can_use())
//machine = null
//reset_view(null)
if (!C || stat == 2) //C.can_use())
return 0
if(!src.eyeobj)
core()
return

View File

@@ -50,14 +50,25 @@ should be listed in the changelog upon commit tho. Thanks. -->
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
<div class="commit sansserif">
<h2 class="date">31 August</h2>
<h2 class="date">3 September 2012</h2>
<h3 class="author">Giacom updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Cameras has changed quite a bit. They are no longer created from grenade canisters, instead you make them from an autolathe. The construction and deconstruction for them has also changed, so look it up or experiment it with yourself to see how to setup the cameras now. Cameras also get wires, like airlocks and APCs. There's two duds, a focus wire, a power wire, an alarm wire and a light wire. Protip: You can see which one is the alarm wire by pulsing it.</li>
<li class="imageadd">Added a red phone and placed it in the Cyborg Station. Sprite by Pewtershmitz! You'll also find an AI restorer there, replacing the computer frame.</li>
<li class="rscadd">Cameras aren't all X-ray anymore. The AI won't be able to see what room you are in if there's no normal camera inside that room or if there's no X-ray camera nearby..</li>
<li class="rscadd">Cameras get upgrades! Currently there's X-ray, EMP-Proof and Motion. You'll find the EMP-Proof and Motion cameras in the normal places (Singularity Pen & EVA), the new X-ray cameras can be found in the Dormitory and Bathrooms, plus some extra ones to invade your privacy. See if you can smash them all.</li>
<li class="tweak">Alien Larva can bite simple animals (see: Ian, Runtime, Mice) to kill them and gain a small amount of growing points.</li>
</ul>
</div>
<div class="commit sansserif">
<h2 class="date">31 August 2012</h2>
<h3 class="author">Agouri updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Overhauled newscasters. No visual additions but the thing is much more robust and everything works as intended. Wanted issues are fixed. Admins, check out Access News Network under Fun.</li>
</ul>
</div>
<div class="commit sansserif">
<h2 class="date">30 August 2012</h2>
<h3 class="author">Giacom updated:</h3>