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