From 4be2fc6768df54259810688e1ab01d3c2e332aff Mon Sep 17 00:00:00 2001 From: Geeves Date: Fri, 10 Apr 2020 20:35:36 +0200 Subject: [PATCH] Schlorrgo Kicking (#8620) --- .../living/simple_animal/friendly/adhomai.dm | 20 ++++++++++++++++++- .../mob/living/simple_animal/simple_animal.dm | 11 ++++++---- html/changelogs/geeves-schlorrgo_kicking.yml | 6 ++++++ 3 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 html/changelogs/geeves-schlorrgo_kicking.yml diff --git a/code/modules/mob/living/simple_animal/friendly/adhomai.dm b/code/modules/mob/living/simple_animal/friendly/adhomai.dm index 87a9f29084b..71b64e50c41 100644 --- a/code/modules/mob/living/simple_animal/friendly/adhomai.dm +++ b/code/modules/mob/living/simple_animal/friendly/adhomai.dm @@ -128,4 +128,22 @@ meat_type = /obj/item/reagent_containers/food/snacks/meat/chicken butchering_products = list(/obj/item/reagent_containers/food/snacks/spreads/lard = 5) - holder_type = /obj/item/holder/schlorrgo \ No newline at end of file + holder_type = /obj/item/holder/schlorrgo + +/mob/living/simple_animal/schlorrgo/unarmed_harm_attack(mob/living/carbon/human/user) + var/obj/item/organ/external/left_leg = user.get_organ(BP_L_LEG) + var/obj/item/organ/external/right_leg = user.get_organ(BP_R_LEG) + + if(left_leg?.is_usable() && right_leg?.is_usable()) + user.visible_message(SPAN_WARNING("[user] punts \the [src]!")) + user.do_attack_animation(src) + make_noise() + throw_at(get_edge_target_turf(user, get_dir(user, src)), 4, 1) + poke(TRUE) + else + ..() + +/mob/living/simple_animal/schlorrgo/turf_collision(var/turf/T, var/speed = THROWFORCE_SPEED_DIVISOR) + visible_message(SPAN_WARNING("[src] harmlessly bounces off \the [T]!")) + playsound(T, 'sound/effects/bangtaper.ogg', 50, 1, 1) + make_noise() diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 52001403bee..927ad1041af 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -404,13 +404,16 @@ mob/living/simple_animal/bullet_act(var/obj/item/projectile/Proj) poke(1) if(I_HURT) - apply_damage(harm_intent_damage, BRUTE, used_weapon = "Attack by [M.name]") - M.visible_message("[M] [response_harm] \the [src]") - M.do_attack_animation(src) - poke(1) + unarmed_harm_attack(M) return +/mob/living/simple_animal/proc/unarmed_harm_attack(var/mob/living/carbon/human/user) + apply_damage(harm_intent_damage, BRUTE, used_weapon = "Attack by [user.name]") + user.visible_message(SPAN_WARNING("[user] [response_harm] \the [src]!")) + user.do_attack_animation(src) + poke(TRUE) + /mob/living/simple_animal/attackby(obj/item/O, mob/user) if(istype(O, /obj/item/reagent_containers/glass/rag)) //You can't milk an udder with a rag. attacked_with_item(O, user) diff --git a/html/changelogs/geeves-schlorrgo_kicking.yml b/html/changelogs/geeves-schlorrgo_kicking.yml new file mode 100644 index 00000000000..603ab5716d7 --- /dev/null +++ b/html/changelogs/geeves-schlorrgo_kicking.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "You now harmlessly kick Schlorrgo on harm intent." \ No newline at end of file