Bugfixes: Drones, Infrared emitters, Implant cases and Limbs (#2049)

This PR contains bugfixes for:

Drones being unable to matter-decompile burnt matches (#717). Burnt matches will be decompiled into a small amount of wood.
Ghosts triggering infrared emitters (#644). Added a check whether the movable passing through the laser beam is actually "visible".
Reagent transfer messages showing up when clicking on chem implant cases, even when the syringe is empty (#704). Added a check whether reagents have actually been transferred. The displayed message will now also display the actual amount transferred. Removed spawn(5)-delay to prevent click-stacking.
Limb relocation messages not showing up for bystanders (#778).
This commit is contained in:
inselc
2017-04-07 22:53:21 +02:00
committed by skull132
parent f759bf23d5
commit 238ce7a80c
5 changed files with 26 additions and 9 deletions
+2
View File
@@ -248,6 +248,8 @@
/obj/effect/beam/i_beam/Crossed(atom/movable/AM as mob|obj)
if(istype(AM, /obj/effect/beam))
return
if( (AM.invisibility == INVISIBILITY_OBSERVER) || (AM.invisibility == 101) )
return
spawn(0)
hit()
return
@@ -87,7 +87,7 @@
organs_by_name = null
bad_internal_organs = null
bad_external_organs = null
QDEL_NULL(DS)
// qdel and null out our equipment.
QDEL_NULL(shoes)
@@ -1406,9 +1406,11 @@
var/obj/item/organ/external/current_limb = organs_by_name[choice]
if(self)
src << "<span class='warning'>You brace yourself to relocate your [current_limb.joint]...</span>"
U.visible_message("<span class='warning'>[U] tries to relocate their [current_limb.joint]...</span>", \
"<span class='warning'>You brace yourself to relocate your [current_limb.joint]...</span>")
else
U << "<span class='warning'>You begin to relocate [S]'s [current_limb.joint]...</span>"
U.visible_message("<span class='warning'>[U] tries to relocate [S]'s [current_limb.joint]...</span>", \
"<span class='warning'>You begin to relocate [S]'s [current_limb.joint]...</span>")
if(!do_after(U, 30))
return
@@ -1416,10 +1418,11 @@
return
if(self)
src << "<span class='danger'>You pop your [current_limb.joint] back in!</span>"
U.visible_message("<span class='danger'>[U] pops their [current_limb.joint] back in!</span>", \
"<span class='danger'>You pop your [current_limb.joint] back in!</span>")
else
U << "<span class='danger'>You pop [S]'s [current_limb.joint] back in!</span>"
S << "<span class='danger'>[U] pops your [current_limb.joint] back in!</span>"
U.visible_message("<span class='danger'>[U] pops [S]'s [current_limb.joint] back in!</span>", \
"<span class='danger'>You pop [S]'s [current_limb.joint] back in!</span>")
current_limb.undislocate()
/mob/living/carbon/human/drop_from_inventory(var/obj/item/W, var/atom/Target = null)
@@ -75,6 +75,9 @@
if(istype(W,/obj/item/weapon/cigbutt))
if(plastic)
plastic.add_charge(500)
else if (istype(W, /obj/item/weapon/flame/match))
if (wood)
wood.add_charge(100)
else if(istype(W,/obj/effect/spider/spiderling))
if(wood)
wood.add_charge(2000)