From 650233b229b81ae15081603b29c18598c658bfae Mon Sep 17 00:00:00 2001 From: diegoflores31 Date: Thu, 1 Feb 2024 11:26:07 -0500 Subject: [PATCH 1/4] vampo --- .../xenomorph/abilities/lurker/lurker_powers.dm | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm index 24aa94727ca9..dd8139ced9b9 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm @@ -168,7 +168,7 @@ target.apply_armoured_damage(get_xeno_damage_slash(target, xeno.caste.melee_damage_upper), ARMOR_MELEE, BRUTE, rand_zone()) playsound(get_turf(target), 'sound/weapons/alien_claw_flesh4.ogg', 30, TRUE) xeno.flick_heal_overlay(1 SECONDS, "#00B800") - xeno.gain_health(30) + xeno.gain_health(get_xeno_damage_slash(target, xeno.caste.melee_damage_upper)) xeno.animation_attack_on(target) xeno.emote("roar") @@ -189,7 +189,7 @@ if(distance > 2) return - var/list/turf/path = get_line(xeno, hit_target, include_start_atom = FALSE) + var/list/turf/path = get_line(xeno, targeted_atom, include_start_atom = FALSE) for(var/turf/path_turf as anything in path) if(path_turf.density) to_chat(xeno, SPAN_WARNING("There's something blocking us from striking!")) @@ -212,6 +212,14 @@ to_chat(xeno, SPAN_WARNING("There's something blocking us from striking!")) return + for(var/mob/living/carbon/carbonara in get_turf(targeted_atom)) + hit_target = carbonara + to_chat(xeno, SPAN_XENODANGER("We attack [hit_target] with our tail, throwing it back after stabbing it with our tail!")) + + if(targeted_atom == hit_target) //reward for a direct hit + to_chat(xeno, SPAN_XENOHIGHDANGER("We directly slam [hit_target] with our tail, throwing it back after impaling it on our tail!")) + hit_target.apply_armoured_damage(15, ARMOR_MELEE, BRUTE, "chest") + if(!isxeno_human(hit_target) || xeno.can_not_harm(hit_target) || hit_target.stat == DEAD) xeno.visible_message(SPAN_XENOWARNING("\The [xeno] swipes their tail through the air!"), SPAN_XENOWARNING("We swipe our tail through the air!")) apply_cooldown(cooldown_modifier = 0.2) @@ -221,11 +229,8 @@ // FX var/stab_direction - to_chat(xeno, SPAN_XENOHIGHDANGER("We directly slam [hit_target] with our tail, throwing it back after impaling it on our tail!")) + stab_direction = turn(get_dir(xeno, targeted_atom), 180) playsound(hit_target,'sound/weapons/alien_tail_attack.ogg', 50, TRUE) - - stab_direction = turn(get_dir(xeno, hit_target), 180) - if(hit_target.mob_size < MOB_SIZE_BIG) step_away(hit_target, xeno) From 052426ce640ad378a3138bcd22fe1805775c96d5 Mon Sep 17 00:00:00 2001 From: diegoflores31 Date: Sun, 18 Feb 2024 00:48:23 -0500 Subject: [PATCH 2/4] a --- .../living/carbon/xenomorph/abilities/lurker/lurker_powers.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm index dd8139ced9b9..b60cbd6a548a 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm @@ -168,7 +168,7 @@ target.apply_armoured_damage(get_xeno_damage_slash(target, xeno.caste.melee_damage_upper), ARMOR_MELEE, BRUTE, rand_zone()) playsound(get_turf(target), 'sound/weapons/alien_claw_flesh4.ogg', 30, TRUE) xeno.flick_heal_overlay(1 SECONDS, "#00B800") - xeno.gain_health(get_xeno_damage_slash(target, xeno.caste.melee_damage_upper)) + xeno.gain_health(30) xeno.animation_attack_on(target) xeno.emote("roar") @@ -216,7 +216,7 @@ hit_target = carbonara to_chat(xeno, SPAN_XENODANGER("We attack [hit_target] with our tail, throwing it back after stabbing it with our tail!")) - if(targeted_atom == hit_target) //reward for a direct hit + if(targeted_atom == hit_target && iscarbon(targeted_atom)) //reward for a direct hit to_chat(xeno, SPAN_XENOHIGHDANGER("We directly slam [hit_target] with our tail, throwing it back after impaling it on our tail!")) hit_target.apply_armoured_damage(15, ARMOR_MELEE, BRUTE, "chest") From be78042409994c46b96c5a2459f4ee95098adf0c Mon Sep 17 00:00:00 2001 From: diegoflores31 Date: Sun, 18 Feb 2024 02:49:54 -0500 Subject: [PATCH 3/4] finaly --- .../abilities/lurker/lurker_powers.dm | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm index b60cbd6a548a..140e2c7cabd9 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm @@ -211,21 +211,23 @@ if(current_structure.density && !current_structure.throwpass) to_chat(xeno, SPAN_WARNING("There's something blocking us from striking!")) return - - for(var/mob/living/carbon/carbonara in get_turf(targeted_atom)) - hit_target = carbonara - to_chat(xeno, SPAN_XENODANGER("We attack [hit_target] with our tail, throwing it back after stabbing it with our tail!")) - - if(targeted_atom == hit_target && iscarbon(targeted_atom)) //reward for a direct hit - to_chat(xeno, SPAN_XENOHIGHDANGER("We directly slam [hit_target] with our tail, throwing it back after impaling it on our tail!")) - hit_target.apply_armoured_damage(15, ARMOR_MELEE, BRUTE, "chest") - - if(!isxeno_human(hit_target) || xeno.can_not_harm(hit_target) || hit_target.stat == DEAD) +/// find a target in the target turf + if(!iscarbon(targeted_atom) || hit_target.stat == DEAD) + for(var/mob/living/carbon/carbonara in get_turf(targeted_atom)) + hit_target = carbonara + if(!xeno.can_not_harm(hit_target) && hit_target.stat != DEAD) + break + if(iscarbon(hit_target) && !xeno.can_not_harm(hit_target) && hit_target.stat != DEAD) + if(targeted_atom == hit_target) //reward for a direct hit + to_chat(xeno, SPAN_XENOHIGHDANGER("We directly slam [hit_target] with our tail, throwing it back after impaling it on our tail!")) + hit_target.apply_armoured_damage(15, ARMOR_MELEE, BRUTE, "chest") + else + to_chat(xeno, SPAN_XENODANGER("We attack [hit_target] with our tail, throwing it back after stabbing it with our tail!")) + else xeno.visible_message(SPAN_XENOWARNING("\The [xeno] swipes their tail through the air!"), SPAN_XENOWARNING("We swipe our tail through the air!")) apply_cooldown(cooldown_modifier = 0.2) playsound(xeno, 'sound/effects/alien_tail_swipe1.ogg', 50, TRUE) return - // FX var/stab_direction From 821432ee5a36d4ba46a97af8ea6ee14338b60a17 Mon Sep 17 00:00:00 2001 From: Drathek <76988376+Drulikar@users.noreply.github.com> Date: Sun, 18 Feb 2024 01:04:46 -0800 Subject: [PATCH 4/4] Tweak whitespace --- .../living/carbon/xenomorph/abilities/lurker/lurker_powers.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm index 140e2c7cabd9..9d033342f374 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm @@ -211,12 +211,13 @@ if(current_structure.density && !current_structure.throwpass) to_chat(xeno, SPAN_WARNING("There's something blocking us from striking!")) return -/// find a target in the target turf + // find a target in the target turf if(!iscarbon(targeted_atom) || hit_target.stat == DEAD) for(var/mob/living/carbon/carbonara in get_turf(targeted_atom)) hit_target = carbonara if(!xeno.can_not_harm(hit_target) && hit_target.stat != DEAD) break + if(iscarbon(hit_target) && !xeno.can_not_harm(hit_target) && hit_target.stat != DEAD) if(targeted_atom == hit_target) //reward for a direct hit to_chat(xeno, SPAN_XENOHIGHDANGER("We directly slam [hit_target] with our tail, throwing it back after impaling it on our tail!")) @@ -228,6 +229,7 @@ apply_cooldown(cooldown_modifier = 0.2) playsound(xeno, 'sound/effects/alien_tail_swipe1.ogg', 50, TRUE) return + // FX var/stab_direction