You can store a pen in your PDA to compensate for the lack of a hat-storage slot.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3817 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
elly1989@rocketmail.com
2012-06-14 10:55:23 +00:00
parent 51ed49d4f7
commit ee853b5740
2 changed files with 40 additions and 4 deletions

View File

@@ -806,6 +806,26 @@
usr << "\blue You cannot do this while restrained."
/obj/item/device/pda/verb/verb_remove_pen()
set category = "Object"
set name = "Remove pen"
set src in usr
if ( !(usr.stat || usr.restrained()) )
var/obj/item/weapon/pen/O = locate() in src
if(O)
if (istype(loc, /mob))
var/mob/M = loc
if(M.equipped() == null)
M.put_in_hand(O)
usr << "<span class='notify'>You remove \the [O] from \the [src].</span>"
return
O.loc = get_turf(src)
else
usr << "\blue This PDA does not have a pen in it."
else
usr << "\blue You cannot do this while restrained."
/obj/item/device/pda/proc/id_check(mob/user as mob, choice as num)//To check for IDs; 1 for in-pda use, 2 for out of pda use.
if(choice == 1)
if (id)
@@ -836,7 +856,7 @@
if (istype(C, /obj/item/weapon/cartridge) && isnull(src.cartridge))
user.drop_item()
C.loc = src
user << "\blue You insert [C] into [src]."
user << "<span class='notify'>You insert [C] into [src].</span>"
cartridge = C
if (C:radio)
C:radio.hostpda = src
@@ -846,13 +866,13 @@
owner = C:registered_name
ownjob = C:assignment
name = "PDA-[owner] ([ownjob])"
user << "\blue Card scanned."
user << "<span class='notify'>Card scanned.</span>"
else
//Basic safety check. If either both objects are held by user or PDA is on ground and card is in hand.
if ( ( (src in user.contents) && (C in user.contents)) || (istype(loc, /turf) && in_range(src, user) && (C in user.contents)) )
if ( !(user.stat || user.restrained()) )//If they can still act.
id_check(user, 2)
user << "\blue You put the ID into the [src.name]'s slot."
user << "<span class='notify'>You put the ID into the [src.name]'s slot.</span>"
updateSelfDialog()//Update self dialog on success.
return//Return in case of failed check or when successful.
updateSelfDialog()//For the non-input related code.
@@ -860,8 +880,16 @@
user.drop_item()
C.loc = src
pai = C
user << "\blue You slot \the [C] into [src]."
user << "<span class='notify'>You slot \the [C] into [src].</span>"
updateUsrDialog()
else if( istype(C, /obj/item/weapon/pen) )
var/obj/item/weapon/pen/O = locate() in src
if(O)
user << "<span class='notify'>There is already a pen in \the [src].</span>"
else
user.drop_item()
C.loc = src
user << "<span class='notify'>You slide \the [C] into \the [src].</span>"
return
/obj/item/device/pda/attack(mob/C as mob, mob/user as mob)