Fixes unarmed telekinesis breaking chameleon. (#65505)

Apparently whoever implemented the signal handler forgot to pass the signal source so it was reading the thing clicked on as whether the thing clicked on was adjacent. As datums are truthy this resulted in all clicks breaking chameleon.
This commit is contained in:
TemporalOroboros
2022-03-17 02:48:24 -07:00
committed by GitHub
parent 3eae84fef1
commit 227264cd4d
+21 -2
View File
@@ -19,12 +19,31 @@
/datum/mutation/human/chameleon/on_life(delta_time, times_fired)
owner.alpha = max(owner.alpha - (12.5 * delta_time), 0)
/datum/mutation/human/chameleon/proc/on_move()
/**
* Resets the alpha of the host to the chameleon default if they move.
*
* Arguments:
* - [source][/atom/movable]: The source of the signal. Presumably the host mob.
* - [old_loc][/atom]: The location the host mob used to be in.
* - move_dir: The direction the host mob moved in.
* - forced: Whether the movement was caused by a forceMove or moveToNullspace.
* - [old_locs][/list/atom]: The locations the host mob used to be in.
*/
/datum/mutation/human/chameleon/proc/on_move(atom/movable/source, atom/old_loc, move_dir, forced, list/atom/old_locs)
SIGNAL_HANDLER
owner.alpha = CHAMELEON_MUTATION_DEFAULT_TRANSPARENCY
/datum/mutation/human/chameleon/proc/on_attack_hand(atom/target, proximity)
/**
* Resets the alpha of the host if they click on something nearby.
*
* Arguments:
* - [source][/mob/living/carbon/human]: The host mob that just clicked on something.
* - [target][/atom]: The thing the host mob clicked on.
* - proximity: Whether the host mob can physically reach the thing that they clicked on.
* - [modifiers][/list]: The set of click modifiers associated with this attack chain call.
*/
/datum/mutation/human/chameleon/proc/on_attack_hand(mob/living/carbon/human/source, atom/target, proximity, list/modifiers)
SIGNAL_HANDLER
if(!proximity) //stops tk from breaking chameleon