From 889f0781b3da657976d47ad902115878e4bd2b97 Mon Sep 17 00:00:00 2001 From: Dahlular Date: Fri, 11 Sep 2020 08:17:37 -0600 Subject: [PATCH] more micro interactions --- .../code/modules/resize/holder_micro.dm | 37 ++++++++++++++++--- hyperstation/code/modules/resize/resizing.dm | 3 +- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/hyperstation/code/modules/resize/holder_micro.dm b/hyperstation/code/modules/resize/holder_micro.dm index 203cf5d8..22fef80b 100644 --- a/hyperstation/code/modules/resize/holder_micro.dm +++ b/hyperstation/code/modules/resize/holder_micro.dm @@ -59,10 +59,18 @@ return //TODO: add a timer to escape someone's grip dependant on size diff -/obj/item/clothing/head/mob_holder/micro/container_resist() - if(isliving(loc)) - var/mob/living/L = loc - visible_message("[src] escapes [L]!") +/obj/item/clothing/head/mob_holder/micro/container_resist(mob/living/user) + if(user.incapacitated()) + to_chat(user, "You can't escape while you're restrained like this!") + return + user.changeNext_move(CLICK_CD_BREAKOUT) + user.last_special = world.time + CLICK_CD_BREAKOUT + var/mob/living/L = loc + visible_message("[src] begins to squirm in [L]'s grasp!") + if(!do_after(user, 100, target = src)) + to_chat(loc, "[L] stops resisting.") + return + visible_message("[src] escapes [L]!") release() /mob/living/proc/mob_pickup_micro(mob/living/L) @@ -151,8 +159,25 @@ O.show_inv(usr) /obj/item/clothing/head/mob_holder/micro/attack_self(var/mob/living/user) - for(var/mob/living/carbon/human/M in contents) - M.help_shake_act(user) + if(cooldown < world.time) + for(var/mob/living/carbon/human/M in contents) + cooldown = world.time + 15 + if(user.a_intent == "harm") //TO:DO, rework all of these interactions to be a lot more in depth + visible_message(" [user] slams their fist down on [M]!") + playsound(loc, 'sound/weapons/punch1.ogg', 50, 1) + M.adjustBruteLoss(5) + return + if(user.a_intent == "disarm") + visible_message(" [user] pins [M] down with a finger!") + playsound(loc, 'sound/effects/bodyfall1.ogg', 50, 1) + M.adjustStaminaLoss(10) + return + if(user.a_intent == "grab") + visible_message(" [user] squeezes their fist around [M]!") + playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1) + M.adjustOxyLoss(5) + return + M.help_shake_act(user) /obj/item/clothing/head/mob_holder/micro/attacked_by(obj/item/I, mob/living/user) for(var/mob/living/carbon/human/M in contents) diff --git a/hyperstation/code/modules/resize/resizing.dm b/hyperstation/code/modules/resize/resizing.dm index 9b73ba52..133ff659 100644 --- a/hyperstation/code/modules/resize/resizing.dm +++ b/hyperstation/code/modules/resize/resizing.dm @@ -128,8 +128,9 @@ mob/living/get_effective_size() H.forceMove(tmob.loc) sizediffStamLoss(tmob) sizediffBruteloss(tmob) + playsound(loc, 'sound/misc/splort.ogg', 50, 1) H.add_movespeed_modifier(MOVESPEED_ID_STOMP, multiplicative_slowdown = 10) - addtimer(CALLBACK(H, /mob/.proc/remove_movespeed_modifier, MOVESPEED_ID_STOMP), 10) //1 seconds + addtimer(CALLBACK(H, /mob/.proc/remove_movespeed_modifier, MOVESPEED_ID_STOMP), 10) //1 second //H.Stun(20) if(get_effective_size() > tmob.get_effective_size() && iscarbon(H)) if(istype(H) && H.dna.features["taur"] == "Naga" || H.dna.features["taur"] == "Tentacle")