Afterattack fixes (#2350)

## About The Pull Request

See name, I'm actually going through with it and doing it.

## Why It's Good For The Game

Fixes broken item interactions

closes #2253
closes #2204

## Proof Of Testing

Worked on my device (So far)

## Changelog

🆑
fix: Phystool and Physgun work correctly again
fix: Clockcult slabs can examine again
fix: Compostbin is now handled correctly
fix: Robohand checks for robohand again
/🆑
This commit is contained in:
Waterpig
2024-11-07 09:42:41 +01:00
committed by GitHub
parent 66e7948cd6
commit b8f00860e4
6 changed files with 80 additions and 71 deletions
@@ -53,7 +53,7 @@
/**
* The control of the dragging.
*/
/obj/item/physic_manipulation_tool/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
/obj/item/physic_manipulation_tool/ranged_interact_with_atom(atom/movable/target, mob/living/user, list/modifiers)
. = ..()
if(istype(target))
if(!can_catch(target, user))
@@ -163,12 +163,12 @@
* Signal controller.
*/
/obj/item/physic_manipulation_tool/proc/on_clicked(atom/source, location, control, params, user)
/obj/item/physic_manipulation_tool/proc/on_clicked(atom/source, atom/clicked_on, modifiers)
SIGNAL_HANDLER
if(!handlet_atom || !physgun_user)
stack_trace("Physgun tried to run its click signal with no linked atoms or users.")
return
var/list/modifiers = params2list(params)
. = COMSIG_MOB_CANCEL_CLICKON
if(LAZYACCESS(modifiers, RIGHT_CLICK))
if(!advanced)
physgun_user.balloon_alert(physgun_user, "Not enjoy power!")
@@ -216,7 +216,7 @@
physgun_user = user
loop_sound.start()
RegisterSignal(physgun_catcher, COMSIG_CLICK, PROC_REF(on_clicked), TRUE)
RegisterSignal(user, COMSIG_MOB_CLICKON, PROC_REF(on_clicked), TRUE)
START_PROCESSING(SSfastprocess, src)
/**
@@ -56,7 +56,7 @@
return
selected_mode.use_act(user)
/obj/item/phystool/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
/obj/item/phystool/ranged_interact_with_atom(atom/target, mob/user, list/modifiers)
. = ..()
if(!selected_mode)
return
@@ -75,7 +75,6 @@
return
do_work_effect(target, user)
playsound(user, 'modular_zubbers/sound/phystools/toolgun_shot1.ogg', 100, TRUE)
return SECONDARY_ATTACK_CONTINUE_CHAIN
/obj/item/phystool/proc/do_work_effect(atom/target, mob/user)
if(!target)