diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm index 5991ac7fde8b..fab3afbc8fc9 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm @@ -252,36 +252,33 @@ var/activation_delay = 1 SECONDS var/prime_delay = 1 SECONDS -/datum/action/xeno_action/activable/prae_acid_ball/use_ability(atom/target) - if (!target) - return +/datum/action/xeno_action/activable/prae_acid_ball/use_ability(atom/target_atom) + var/mob/living/carbon/xenomorph/acid_ball_user = owner - var/mob/living/carbon/xenomorph/acidball_user = owner - if (!acidball_user.check_state() || acidball_user.action_busy) + if(acid_ball_user.action_busy) return - if (!action_cooldown_check()) - return - var/turf/current_turf = get_turf(acidball_user) + XENO_ACTION_CHECK(acid_ball_user) - if (!current_turf) - return + var/turf/current_turf = get_turf(acid_ball_user) - if (!do_after(acidball_user, activation_delay, INTERRUPT_ALL | BEHAVIOR_IMMOBILE, BUSY_ICON_HOSTILE)) - to_chat(acidball_user, SPAN_XENODANGER("We cancel our acid ball.")) + if(!current_turf) return - if (!check_and_use_plasma_owner()) + if(!do_after(acid_ball_user, activation_delay, INTERRUPT_ALL | BEHAVIOR_IMMOBILE, BUSY_ICON_HOSTILE)) + to_chat(acid_ball_user, SPAN_XENODANGER("We cancel our acid ball.")) return + XENO_ACTION_CHECK_USE_PLASMA(acid_ball_user) + apply_cooldown() - to_chat(acidball_user, SPAN_XENOWARNING("We lob a compressed ball of acid into the air!")) + to_chat(acid_ball_user, SPAN_XENOWARNING("We lob a compressed ball of acid into the air!")) var/obj/item/explosive/grenade/xeno_acid_grenade/grenade = new /obj/item/explosive/grenade/xeno_acid_grenade - grenade.cause_data = create_cause_data(initial(acidball_user.caste_type), acidball_user) - grenade.forceMove(get_turf(acidball_user)) - grenade.throw_atom(target, 5, SPEED_SLOW, acidball_user, TRUE) + grenade.cause_data = create_cause_data(initial(acid_ball_user.caste_type), acid_ball_user) + grenade.forceMove(get_turf(acid_ball_user)) + grenade.throw_atom(target_atom, 5, SPEED_SLOW, acid_ball_user, TRUE) addtimer(CALLBACK(grenade, TYPE_PROC_REF(/obj/item/explosive, prime)), prime_delay) return ..() diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Praetorian.dm b/code/modules/mob/living/carbon/xenomorph/castes/Praetorian.dm index adc0a2b38921..fac0fcd724f8 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Praetorian.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Praetorian.dm @@ -83,26 +83,26 @@ ///reward for hitting shots instead of spamming acid ball var/reward_shield = 15 -/datum/behavior_delegate/praetorian_base/ranged_attack_additional_effects_target(atom/A) - if (!ishuman(A)) +/datum/behavior_delegate/praetorian_base/ranged_attack_additional_effects_target(atom/target_atom) + if(!ishuman(target_atom)) return - var/mob/living/carbon/human/H = A + var/mob/living/carbon/human/target_human = target_atom - var/datum/effects/prae_acid_stacks/PAS = null - for (var/datum/effects/prae_acid_stacks/prae_acid_stacks in H.effects_list) - PAS = prae_acid_stacks + var/datum/effects/prae_acid_stacks/acid_stack = null + for(var/datum/effects/prae_acid_stacks/prae_acid_stacks in target_human.effects_list) + acid_stack = prae_acid_stacks break - if (PAS == null) - new /datum/effects/prae_acid_stacks(H) + if(acid_stack == null) + new /datum/effects/prae_acid_stacks(target_human) return else - PAS.increment_stack_count() + acid_stack.increment_stack_count() return -/datum/behavior_delegate/praetorian_base/ranged_attack_additional_effects_self(atom/A) - if(!ismob(A)) +/datum/behavior_delegate/praetorian_base/ranged_attack_additional_effects_self(atom/target_atom) + if(!ismob(target_atom)) return bound_xeno.add_xeno_shield(reward_shield, XENO_SHIELD_SOURCE_BASE_PRAE, add_shield_on = TRUE, max_shield = 45) to_chat(bound_xeno, SPAN_NOTICE("Your exoskeleton shimmers for a fraction of a second as the acid coats your target."))