Files
Polaris/code/game/objects/storage/lockbox.dm
mport2004@gmail.com c9bb9c2e5f Doors now check for critter access.
Cleaned up the objectives a bit and made a new "kill" one for rev.
Cleaned up implants and implanters a bit.
Cleaned up the prisoner computer a bit.
Sec Huds can be placed on security helmets (Still needs a sprite)
The beachball now has in hand sprites (Kor)

Cult:
Heads other than the Captain and HoS are now able to start as or be converted to a cultist.
Loyalty implants will block conversion but will not unconvert cultists.

Rev:
Station Heads or Head Revs who leave z1 will count as dead so long as they are off of the z level.
Loyalty implants will block conversion and will unconvert revs upon injection.
Once a mind has been unconverted it may not be reconverted

New items:
Loyalty implants, small implant that prevents reving/cult
The Captain, Warden, Officers, and Detective all start with one already implanted
Loyalty Implanter machine on the prison station that implants loyalty implants and may regen implants after a cooldown.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2049 316c924e-a436-60f5-8080-3fe189b3f50e
2011-08-26 07:41:37 +00:00

77 lines
2.3 KiB
Plaintext

/obj/item/weapon/storage/lockbox
name = "Lockbox"
desc = "A locked box."
icon_state = "lockbox+l"
item_state = "syringe_kit"
w_class = 4
max_w_class = 3
max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item.
storage_slots = 4
req_access = list(access_armory)
var
locked = 1
broken = 0
icon_locked = "lockbox+l"
icon_closed = "lockbox"
icon_broken = "lockbox+b"
attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/card/id))
if(src.broken)
user << "\red It appears to be broken."
return
if(src.allowed(user))
src.locked = !( src.locked )
if(src.locked)
src.icon_state = src.icon_locked
user << "\red You lock the [src.name]!"
return
else
src.icon_state = src.icon_closed
user << "\red You unlock the [src.name]!"
return
else
user << "\red Access Denied"
else if((istype(W, /obj/item/weapon/card/emag)||istype(W, /obj/item/weapon/melee/energy/blade)) && !src.broken)
broken = 1
locked = 0
desc = "It appears to be broken."
icon_state = src.icon_broken
if(istype(W, /obj/item/weapon/melee/energy/blade))
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'blade1.ogg', 50, 1)
playsound(src.loc, "sparks", 50, 1)
for(var/mob/O in viewers(user, 3))
O.show_message(text("\blue The locker has been sliced open by [] with an energy blade!", user), 1, text("\red You hear metal being sliced and sparks flying."), 2)
else
for(var/mob/O in viewers(user, 3))
O.show_message(text("\blue The locker has been broken by [] with an electromagnetic card!", user), 1, text("You hear a faint electrical spark."), 2)
if(!locked)
..()
else
user << "\red Its locked!"
return
show_to(mob/user as mob)
if(locked)
user << "\red Its locked!"
else
..()
return
/obj/item/weapon/storage/lockbox/loyalty
name = "Lockbox (Loyalty Implants)"
req_access = list(access_security)
New()
..()
new /obj/item/weapon/implantcase/loyalty(src)
new /obj/item/weapon/implantcase/loyalty(src)
new /obj/item/weapon/implantcase/loyalty(src)
new /obj/item/weapon/implanter/loyalty(src)