Merge pull request #3572 from Aranclanos/evidencebags

Heil myself
This commit is contained in:
Alex
2014-05-02 17:46:04 +01:00
4 changed files with 18 additions and 23 deletions
-4
View File
@@ -113,8 +113,6 @@
if(isturf(A) || isturf(A.loc) || (A.loc && isturf(A.loc.loc)))
if(A.Adjacent(src)) // see adjacent.dm
if(W)
if(W.preattack(A,src,1,params)) //Weapon attack override,return 1 to exit
return
// Return 1 in attackby() to prevent afterattack() effects (when safely moving items for example)
var/resolved = A.attackby(W,src)
if(!resolved && A && W)
@@ -126,8 +124,6 @@
return
else // non-adjacent click
if(W)
if(W.preattack(A,src,0,params)) //Weapon attack override,return 1 to exit
return
W.afterattack(A,src,0,params) // 0: not Adjacent
else
RangedAttack(A, params)
-5
View File
@@ -43,11 +43,6 @@
/obj/item/proc/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
return
// Overrides the weapon attack so it can attack any atoms like when we want to have an effect on an object independent of attackby
// It is a powerfull proc but it should be used wisely, if there is other alternatives instead use those
// If it returns 1 it exits click code. Always . = 1 at start of the function if you delete src.
/obj/item/proc/preattack(atom/target, mob/user, proximity_flag, click_parameters)
return
obj/item/proc/get_clamped_volume()
if(src.force && src.w_class)
@@ -56,8 +56,8 @@
timer = newtime
user << "Timer set for [timer] seconds."
/obj/item/weapon/plastique/preattack(atom/target as obj|turf, mob/user as mob,proximity_flag)
if (!proximity_flag)
/obj/item/weapon/plastique/afterattack(atom/movable/target, mob/user, flag)
if (!flag)
return
if (istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage/))
return
@@ -86,7 +86,6 @@
user << "Bomb has been planted. Timer counting down from [timer]."
spawn(timer*10)
explode(get_turf(target))
return 1
/obj/item/weapon/plastique/proc/explode(var/location)
+16 -11
View File
@@ -8,16 +8,22 @@
item_state = ""
w_class = 1
/obj/item/weapon/evidencebag/afterattack(obj/item/I, mob/user as mob,proximity)
if(!proximity)
/obj/item/weapon/evidencebag/afterattack(obj/item/I, mob/user,proximity)
if(!proximity || loc == I)
return
evidencebagEquip(I, user)
/obj/item/weapon/evidencebag/attackby(obj/item/I, mob/user)
if(evidencebagEquip(I, user))
return 1
/obj/item/weapon/evidencebag/proc/evidencebagEquip(obj/item/I, mob/user)
if(!istype(I) || I.anchored == 1)
return ..()
return
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
return 1 //now this is podracing
if(I.w_class > 3)
user << "<span class='notice'>[I] won't fit in [src].</span>"
@@ -25,7 +31,7 @@
if(contents.len)
user << "<span class='notice'>[src] already has something inside it.</span>"
return ..()
return
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.
@@ -39,8 +45,8 @@
else
return
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.")
user.visible_message("<span class='notice'>[user] puts [I] into [src].</span>", "<span class='notice'>You put [I] inside [src].</span>",\
"<span class='notice'>You hear a rustle as someone puts something into a plastic bag.</span>")
icon_state = "evidence"
@@ -57,14 +63,13 @@
desc = "An evidence bag containing [I]. [I.desc]"
I.loc = src
w_class = I.w_class
return
return 1
/obj/item/weapon/evidencebag/attack_self(mob/user as mob)
if(contents.len)
var/obj/item/I = contents[1]
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.")
user.visible_message("<span class='notice'>[user] takes [I] out of [src].</span>", "<span class='notice'>You take [I] out of [src].</span>",\
"<span class='notice'>You hear someone rustle around in a plastic bag, and remove something.</span>")
overlays.Cut() //remove the overlays
user.put_in_hands(I)
w_class = 1