From b4dc5c6c82d79437598eb4143521b625e48ee73d Mon Sep 17 00:00:00 2001 From: Dahlular Date: Sat, 18 Apr 2020 10:04:54 -0600 Subject: [PATCH] Basic grab intent for stepping woo yeah man woo yeah --- hyperstation/code/modules/resize/resizing.dm | 21 +++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/hyperstation/code/modules/resize/resizing.dm b/hyperstation/code/modules/resize/resizing.dm index 48b542d0..a8588c58 100644 --- a/hyperstation/code/modules/resize/resizing.dm +++ b/hyperstation/code/modules/resize/resizing.dm @@ -108,7 +108,21 @@ mob/living/get_effective_size() sizediffBruteloss(tmob) return 1 -// if(src.a_inent == "grab"... goes here... WIP + if(src.a_intent == "grab" && src.canmove && !src.buckled) + now_pushing = 0 + src.forceMove(tmob.loc) + if(get_effective_size() > tmob.get_effective_size() && iscarbon(src)) + if(istype(tmob) && istype(tmob, /datum/sprite_accessory/taur/naga)) + to_chat(src,"You curl [tmob] up into your tail!") + to_chat(tmob,"[src]'s massive tail catches you and wraps around you!") + sizediffStamLoss(tmob) + sizediffStun(tmob) + else + to_chat(src,"You pin [tmob] helplessly to the floor with your foot!") + to_chat(tmob,"[src] weightfully pins you to the ground!") + sizediffStamLoss(tmob) + sizediffStun(tmob) + return 1 if(tmob.get_effective_size() > get_effective_size()) micro_step_under(tmob) @@ -130,6 +144,11 @@ mob/living/get_effective_size() var/S = (get_effective_size()/tmob.get_effective_size()*25) //macro divided by micro, times 25 tmob.Knockdown(S) //final result in stamina knockdown +//Proc for scaling stuns on size difference (for grab intent) +/mob/living/proc/sizediffStun(var/mob/living/tmob) + var/T = (get_effective_size()/tmob.get_effective_size()*15) //Macro divided by micro, times 15 + tmob.Stun(T) + //Proc for scaling brute damage on size difference /mob/living/proc/sizediffBruteloss(var/mob/living/tmob) var/B = (get_effective_size()/tmob.get_effective_size()*2) //macro divided by micro, times 2