Fixes issue 1097. Shaft Miners not getting pda

Fixes issue 1118. duplicating trashbags
Fixes issue 1117. evidence bag issues

Syndie shuttle can now travel to mining and the tcomms sat.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5152 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
petethegoat@gmail.com
2012-11-21 17:17:00 +00:00
parent ab9c532ae8
commit 0c9195fbe4
12 changed files with 3174 additions and 3149 deletions

View File

@@ -153,8 +153,10 @@ obj/machinery/computer/forensic_scanning
if(istype(I, /obj/item/weapon/evidencebag))
scanning = I.contents[1]
scanning.loc = src
I.overlays -= scanning
I.overlays = null
I.w_class = 1
I.icon_state = "evidenceobj"
I.desc = "An empty evidence bag."
else
scanning = I
M.drop_item()

View File

@@ -5,63 +5,77 @@
desc = "An empty evidence bag."
icon = 'icons/obj/storage.dmi'
icon_state = "evidenceobj"
item_state = ""
w_class = 1
/obj/item/weapon/evidencebag/afterattack(obj/item/O, mob/user as mob)
if(!in_range(O,user))
/obj/item/weapon/evidencebag/afterattack(obj/item/I, mob/user as mob)
if(!in_range(I, user))
return
if(istype(O, /obj/item/weapon/storage))
if(!istype(I) || I.anchored == 1)
return ..()
if(!istype(O) || O.anchored == 1)
user << "<span class='notice'>You can't put that inside \the [src]!</span>"
if(istype(I, /obj/item/weapon/storage))
return ..()
if(istype(O, /obj/item/weapon/evidencebag))
if(istype(I, /obj/item/weapon/evidencebag))
user << "<span class='notice'>You find putting an evidence bag in another evidence bag to be slightly absurd.</span>"
return
if(I.w_class > 3)
user << "<span class='notice'>[I] won't fit in [src].</span>"
return
if(contents.len)
user << "<span class='notice'>\The [src] already has something inside it.</span>"
user << "<span class='notice'>[src] already has something inside it.</span>"
return ..()
if(!isturf(O.loc)) //If it isn't on the floor. Do some checks to see if it's in our hands or a box. Otherwise give up.
if(istype(O.loc,/obj/item/weapon/storage)) //in a container.
var/obj/item/weapon/storage/U = O.loc
user.client.screen -= O
U.contents.Remove(O)
else if(user.l_hand == O) //in a hand
if(!isturf(I.loc)) //If it isn't on the floor. Do some checks to see if it's in our hands or a box. Otherwise give up.
if(istype(I.loc,/obj/item/weapon/storage)) //in a container.
var/obj/item/weapon/storage/U = I.loc
user.client.screen -= I
U.contents.Remove(I)
else if(user.l_hand == I) //in a hand
user.drop_l_hand()
else if(user.r_hand == O) //in a hand
else if(user.r_hand == I) //in a hand
user.drop_r_hand()
else
return
user.visible_message("\The [user] puts \a [O] into \a [src]", "You put \the [O] inside \the [src].",\
user.visible_message("[user] puts [I] into [src]", "You put [I] inside [src].",\
"You hear a rustle as someone puts something into a plastic bag.")
icon_state = "evidence"
var/image/I = image("icon"=O, "layer"=FLOAT_LAYER) //take a snapshot. (necessary to stop the underlays appearing under our inventory-HUD slots ~Carn
underlays += I
desc = "An evidence bag containing \a [O]. [O.desc]"
O.loc = src
w_class = O.w_class
var/xx = I.pixel_x //save the offset of the item
var/yy = I.pixel_y
I.pixel_x = 0 //then remove it so it'll stay within the evidence bag
I.pixel_y = 0
var/image/img = image("icon"=I, "layer"=FLOAT_LAYER) //take a snapshot. (necessary to stop the underlays appearing under our inventory-HUD slots ~Carn
I.pixel_x = xx //and then return it
I.pixel_y = yy
overlays += img
overlays += "evidence" //should look nicer for transparent stuff. not really that important, but hey.
desc = "An evidence bag containing [I]. [I.desc]"
I.loc = src
w_class = I.w_class
return
/obj/item/weapon/evidencebag/attack_self(mob/user as mob)
if (contents.len)
if(contents.len)
var/obj/item/I = contents[1]
user.visible_message("\The [user] takes \a [I] out of \a [src]", "You take \the [I] out of \the [src].",\
user.visible_message("[user] takes [I] out of [src]", "You take [I] out of [src].",\
"You hear someone rustle around in a plastic bag, and remove something.")
underlays = null //remove the underlays
overlays = null //remove the overlays
user.put_in_hands(I)
w_class = 1
icon_state = "evidenceobj"
desc = "An empty evidence bag."
else
user << "\The [src] is empty."
user << "[src] is empty."
icon_state = "evidenceobj"
return

View File

@@ -89,11 +89,11 @@
afterattack(var/obj/target as obj, mob/user as mob)
if(!(istype(target, /obj))) //this really shouldn't be necessary (but it is). -Pete
if(!istype(target)) //this really shouldn't be necessary (but it is). -Pete
return
if(istype(target, /obj/structure/table) || istype(target, /obj/structure/rack) \
|| istype(target, /obj/item/smallDelivery) || istype(target,/obj/structure/bigDelivery) \
|| istype(target, /obj/item/weapon/gift))
|| istype(target, /obj/item/weapon/gift) || istype(target, /obj/item/weapon/evidencebag))
return
if(target.anchored)
return