Fixed issue 287, 290, 291

-Cutting/restoring cameras now leaves a print
-building certain overly-abused griff items leaves prints
-grenade launcher no longer shoots your face if you try to backpack it

Chameleon projector movement speed is now based on temperature
Added add_hiddenprint(mob) proc
it's like add_fingerprint but only adds to fingerprintshidden isn't that neat?

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2898 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
quartz235@gmail.com
2012-01-02 07:57:37 +00:00
parent c4b181ad98
commit e0b19c9ce3
7 changed files with 44 additions and 5 deletions

View File

@@ -75,6 +75,30 @@
O << text("\red <B>[] has been hit by [] with []</B>", src, user, W)
return
/atom/proc/add_hiddenprint(mob/living/M as mob)
if(isnull(M)) return
if(isnull(M.key)) return
if (!( src.flags ) & 256)
return
if (ishuman(M))
var/mob/living/carbon/human/H = M
if (!istype(H.dna, /datum/dna))
return 0
if (H.gloves)
if(src.fingerprintslast != H.key)
src.fingerprintshidden += text("\[[time_stamp()]\] (Wearing gloves). Real name: [], Key: []",H.real_name, H.key)
src.fingerprintslast = H.key
return 0
if (!( src.fingerprints ))
if(src.fingerprintslast != H.key)
src.fingerprintshidden += text("\[[time_stamp()]\] Real name: [], Key: []",H.real_name, H.key)
src.fingerprintslast = H.key
return 1
else
if(src.fingerprintslast != M.key)
src.fingerprintshidden += text("\[[time_stamp()]\] Real name: [], Key: []",M.real_name, M.key)
src.fingerprintslast = M.key
return
/atom/proc/add_fingerprint(mob/living/M as mob)
if(isnull(M)) return

View File

@@ -356,11 +356,13 @@
O.show_message(text("\red [] has deactivated []!", user, src), 1)
playsound(src.loc, 'Wirecutter.ogg', 100, 1)
icon_state = "camera1"
add_hiddenprint(user)
else
for(var/mob/O in viewers(user, null))
O.show_message(text("\red [] has reactivated []!", user, src), 1)
playsound(src.loc, 'Wirecutter.ogg', 100, 1)
icon_state = "camera"
add_hiddenprint(user)
// now disconnect anyone using the camera
//Apparently, this will disconnect anyone even if the camera was re-activated.
//I guess that doesn't matter since they can't use it anyway?

View File

@@ -25,7 +25,17 @@
relaymove(var/mob/user, direction)
if(can_move)
can_move = 0
spawn(10) can_move = 1
switch(usr.bodytemperature)
if(300 to INFINITY)
spawn(10) can_move = 1
if(295 to 300)
spawn(13) can_move = 1
if(280 to 295)
spawn(16) can_move = 1
if(260 to 280)
spawn(20) can_move = 1
else
spawn(25) can_move = 1
step(src,direction)
return

View File

@@ -18,7 +18,8 @@ RACK PARTS
del(src)
/obj/item/weapon/table_parts/attack_self(mob/user as mob)
new /obj/structure/table( user.loc )
var/obj/structure/table/T = new /obj/structure/table( user.loc )
T.add_fingerprint(usr)
del(src)
return

View File

@@ -50,8 +50,9 @@ FLOOR TILES
usr << "\blue Assembling grille..."
if (!do_after(usr, 10))
return
new /obj/structure/grille( usr.loc )
var/obj/structure/grille/F = new /obj/structure/grille/ ( usr.loc )
usr << "\blue You assemble a grille"
F.add_fingerprint(usr)
use(2)
return

View File

@@ -157,7 +157,7 @@
t1 += " <A href='?src=\ref[src];make=[i];multiplier=[n]'>[n*R.res_amount]x</A>"
if (!(max_multiplier in multipliers))
t1 += " <A href='?src=\ref[src];make=[i];multiplier=[max_multiplier]'>[max_multiplier*R.res_amount]x</A>"
t1 += "</TT></body></HTML>"
user << browse(t1, "window=stack")
onclose(user, "stack")
@@ -205,6 +205,7 @@
del(oldsrc)
if (istype(O,/obj/item))
usr.put_in_hand(O)
O.add_fingerprint(usr)
if (src && usr.machine==src) //do not reopen closed window
spawn( 0 )
src.interact(usr)

View File

@@ -366,7 +366,7 @@
proc
fire_grenade(atom/target, mob/user)
if (locate (/obj/structure/table, src.loc))
if (locate (/obj/structure/table, src.loc) || locate (/obj/item/weapon/storage, src.loc))
return
else
for(var/mob/O in viewers(world.view, user))