From 86cdeb3fa1a160979753cf812976d4347f293645 Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Thu, 2 May 2019 20:12:24 +0200 Subject: [PATCH 1/2] Force move for regurgitate and devour now --- code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm | 2 +- code/modules/mob/mob_grab.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm index a6454111397..982c606b629 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm @@ -159,7 +159,7 @@ Doesn't work on other aliens/AI.*/ for(var/mob/M in src) if(M in stomach_contents) stomach_contents.Remove(M) - M.loc = loc + M.forceMove(loc) //Paralyse(10) src.visible_message("[src] hurls out the contents of [p_their()] stomach!") return diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 93941d6e7d2..cac5581b3ef 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -395,7 +395,7 @@ if(affecting.mind) add_attack_logs(attacker, affecting, "Devoured") - affecting.loc = user + affecting.forceMove(user) attacker.stomach_contents.Add(affecting) qdel(src) From 7a55bca0544a6f983bc381f39210f92be9213810 Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Sun, 5 May 2019 13:23:31 +0200 Subject: [PATCH 2/2] can't eat while buckled --- code/modules/mob/mob_grab.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index cac5581b3ef..a4a52d4ef1e 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -387,10 +387,19 @@ if(M == assailant && state >= GRAB_AGGRESSIVE) //no eatin unless you have an agressive grab if(checkvalid(user, affecting)) //wut var/mob/living/carbon/attacker = user + + if(affecting.buckled) + to_chat(user, "[affecting] is buckled!") + return + user.visible_message("[user] is attempting to devour \the [affecting]!") if(!do_after(user, checktime(user, affecting), target = affecting)) return + if(affecting.buckled) + to_chat(user, "[affecting] is buckled!") + return + user.visible_message("[user] devours \the [affecting]!") if(affecting.mind) add_attack_logs(attacker, affecting, "Devoured")