diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm index 4bd70a93684f..213ba2413737 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm @@ -904,6 +904,9 @@ current = get_step_towards(current, target_turf) +/datum/action/xeno_action/activable/tail_stab/can_use_action() + return TRUE + /datum/action/xeno_action/activable/tail_stab/use_ability(atom/targetted_atom) var/mob/living/carbon/xenomorph/stabbing_xeno = owner @@ -925,6 +928,9 @@ if (world.time <= stabbing_xeno.next_move) return FALSE + if(stabbing_xeno.m_intent == MOVE_INTENT_STALK) + stabbing_xeno.set_movement_intent(MOVE_INTENT_HUNT, 10 SECONDS) + var/distance = get_dist(stabbing_xeno, targetted_atom) if(distance > 2) return FALSE diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/xeno_action.dm b/code/modules/mob/living/carbon/xenomorph/abilities/xeno_action.dm index 8f88443ef8e2..1c3ba325ed76 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/xeno_action.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/xeno_action.dm @@ -146,7 +146,7 @@ /datum/action/xeno_action/activable /datum/action/xeno_action/activable/can_use_action() - return TRUE + . = ..() // Called when the action is clicked on. // For non-activable Xeno actions, this is used to diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/drone/healer.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/drone/healer.dm index de53c8fb01b2..e7251415b5fe 100644 --- a/code/modules/mob/living/carbon/xenomorph/strains/castes/drone/healer.dm +++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/drone/healer.dm @@ -61,6 +61,10 @@ /datum/action/xeno_action/activable/apply_salve/use_ability(atom/target_atom) var/mob/living/carbon/xenomorph/xeno = owner + + if(xeno.m_intent == MOVE_INTENT_STALK) + return FALSE + xeno.xeno_apply_salve(target_atom, health_transfer_amount, max_range, damage_taken_mod) return ..()