diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm index 49b1b280a7a..13a76e44558 100644 --- a/code/game/objects/items/weapons/implants/implantcase.dm +++ b/code/game/objects/items/weapons/implants/implantcase.dm @@ -37,9 +37,9 @@ if(src.imp.reagents.total_volume >= src.imp.reagents.maximum_volume) user << "\The [src] is full." else - spawn(5) - I.reagents.trans_to_obj(src.imp, 5) - user << "You inject 5 units of the solution. The syringe now contains [I.reagents.total_volume] units." + var/trans = I.reagents.trans_to_obj(src.imp, 5) + if (trans > 0) + user << "You inject [trans] units of the solution. The syringe now contains [I.reagents.total_volume] units." else if (istype(I, /obj/item/weapon/implanter)) var/obj/item/weapon/implanter/M = I if (M.imp) diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index b28b0f46b46..06acb04d7ec 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -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 diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 33d656106dc..5d0ee11a225 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -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 << "You brace yourself to relocate your [current_limb.joint]..." + U.visible_message("[U] tries to relocate their [current_limb.joint]...", \ + "You brace yourself to relocate your [current_limb.joint]...") else - U << "You begin to relocate [S]'s [current_limb.joint]..." + U.visible_message("[U] tries to relocate [S]'s [current_limb.joint]...", \ + "You begin to relocate [S]'s [current_limb.joint]...") if(!do_after(U, 30)) return @@ -1416,10 +1418,11 @@ return if(self) - src << "You pop your [current_limb.joint] back in!" + U.visible_message("[U] pops their [current_limb.joint] back in!", \ + "You pop your [current_limb.joint] back in!") else - U << "You pop [S]'s [current_limb.joint] back in!" - S << "[U] pops your [current_limb.joint] back in!" + U.visible_message("[U] pops [S]'s [current_limb.joint] back in!", \ + "You pop [S]'s [current_limb.joint] back in!") current_limb.undislocate() /mob/living/carbon/human/drop_from_inventory(var/obj/item/W, var/atom/Target = null) diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index e2d312f9246..4438c4bcc81 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -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) diff --git a/html/changelogs/inselc-PR-2049.yml b/html/changelogs/inselc-PR-2049.yml new file mode 100644 index 00000000000..a45894ed48b --- /dev/null +++ b/html/changelogs/inselc-PR-2049.yml @@ -0,0 +1,9 @@ +author: inselc + +delete-after: True + +changes: + - bugfix: "Drones are now able to decompile burnt matches." + - bugfix: "Ghosts will no longer trigger infrared emitters." + - bugfix: "Transferring chemicals to a chem implant will now show actual amount of reagents transferred." + - bugfix: "Relocating your/someone's limb will now properly show a message to all bystanders."