From b39eb60c4aadfbb1367ff3e6074d515718c79d8e Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 11 Apr 2020 07:30:23 -0700 Subject: [PATCH] shield bashing --- code/game/objects/items/shields.dm | 16 +++++++++++----- code/modules/mob/living/carbon/carbon.dm | 2 -- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 8f3a6fd479..1838d53b35 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -48,10 +48,11 @@ px = -12 var/oldpx = user.pixel_x var/oldpy = user.pixel_y - animate(user, pixel_x = px, pixel_y = py, time = 1, easing = SINE_EASING | EASE_OUT) - animate(user, pixel_x = oldpx, pixel_y = oldpy, time = 1.5) + animate(user, pixel_x = px, pixel_y = py, time = 3, easing = SINE_EASING | EASE_OUT, flags = ANIMATION_END_NOW) + animate(user, pixel_x = oldpx, pixel_y = oldpy, time = 3) user.visible_message("[user] charges forwards with [src]!") - animate(new /obj/effect/temp_visual/dir_setting/shieldbash(user.loc, dir), alpha = 0, pixel_x = px + 4, pixel_y = py + 4, time = 3) + var/obj/effect/temp_visual/dir_setting/shield_bash = new(user.loc, dir) + animate(effect, alpha = 0, pixel_x = px + 4, pixel_y = py + 4, time = 3) /obj/item/shield/proc/bash_target(mob/living/user, mob/living/target) if(!(target.status_flags & CANKNOCKDOWN) || HAS_TRAIT(src, TRAIT_STUNIMMUNE)) // should probably add stun absorption check at some point I guess.. @@ -97,6 +98,8 @@ to_chat(user, "You can't ground slam with [src]!") return FALSE bash_target(user, target) + user.do_attack_animation(target, used_item = src) + playsound(src, "swing_hit", 75, 1) last_shieldbash = world.time user.adjustStaminaLossBuffered(shieldbash_stamcost) return 1 @@ -109,15 +112,18 @@ var/list/victims = list() for(var/i in checking) var/turf/T = i - for(var/mob/living/L in T) + for(var/mob/living/L in T.contents) victims += L if(length(victims)) for(var/i in victims) bash_target(user, target) + playsound(src, "swing_hit", 75, 1) + else + playsound(src, 'sound/weapons/punchmiss.ogg', 75, 1) return length(victims) /obj/effect/temp_visual/dir_setting/shield_bash - icon = 'icon/effects/96x96_attack_sweep.dmi' + icon = 'icons/effects/96x96_attack_sweep.dmi' icon_state = "shieldbash" duration = 3 diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index fc85fc25c4..cf3e8883ca 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -206,8 +206,6 @@ newtonian_move(get_dir(target, src)) thrown_thing.safe_throw_at(target, thrown_thing.throw_range, thrown_thing.throw_speed, src, null, null, null, move_force, random_turn) - - /mob/living/carbon/restrained(ignore_grab) . = (handcuffed || (!ignore_grab && pulledby && pulledby.grab_state >= GRAB_AGGRESSIVE))