diff --git a/baystation12.dme b/baystation12.dme index eecee68b134..145b86d4f3f 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -917,11 +917,13 @@ #include "code\modules\mob\living\say.dm" #include "code\modules\mob\living\ventcrawl.dm" #include "code\modules\mob\living\carbon\carbon.dm" +#include "code\modules\mob\living\carbon\carbon_defenses.dm" #include "code\modules\mob\living\carbon\carbon_defines.dm" #include "code\modules\mob\living\carbon\give.dm" #include "code\modules\mob\living\carbon\shock.dm" #include "code\modules\mob\living\carbon\species.dm" #include "code\modules\mob\living\carbon\alien\alien.dm" +#include "code\modules\mob\living\carbon\alien\alien_defenses.dm" #include "code\modules\mob\living\carbon\alien\death.dm" #include "code\modules\mob\living\carbon\alien\login.dm" #include "code\modules\mob\living\carbon\alien\logout.dm" diff --git a/code/modules/mob/living/carbon/alien/alien_defenses.dm b/code/modules/mob/living/carbon/alien/alien_defenses.dm new file mode 100644 index 00000000000..989e09c6755 --- /dev/null +++ b/code/modules/mob/living/carbon/alien/alien_defenses.dm @@ -0,0 +1,2 @@ +/mob/living/carbon/alien/hitby(atom/movable/AM) + ..(AM, 1) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/carbon_defenses.dm b/code/modules/mob/living/carbon/carbon_defenses.dm new file mode 100644 index 00000000000..7730e67df53 --- /dev/null +++ b/code/modules/mob/living/carbon/carbon_defenses.dm @@ -0,0 +1,12 @@ +/mob/living/carbon/hitby(atom/movable/AM, skip) + if(!skip) //ugly, but easy + if(in_throw_mode && !get_active_hand()) //empty active hand and we're in throw mode + if(canmove && !restrained()) + if(istype(AM, /obj/item)) + var/obj/item/I = AM + if(isturf(I.loc)) + put_in_active_hand(I) + visible_message("[src] catches [I]!") + throw_mode_off() + return + ..() \ No newline at end of file