From 0fccd6ffce3e29bfc00394a8a4bd1e6f05ee377b Mon Sep 17 00:00:00 2001 From: Aranclanos Date: Fri, 9 Oct 2015 12:35:43 -0300 Subject: [PATCH] Revert "Revert "Removes alien driveby"" --- .../living/carbon/alien/special/facehugger.dm | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 8253084dc46..fb996c018d5 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -104,8 +104,8 @@ var/const/MAX_ACTIVE_TIME = 400 Attach(hit_atom) /obj/item/clothing/mask/facehugger/proc/Attach(mob/living/M) - if(!isliving(M)) return 0 - + if(!isliving(M)) + return 0 if((!iscorgi(M) && !iscarbon(M)) || isalien(M)) return 0 if(attached) @@ -114,17 +114,17 @@ var/const/MAX_ACTIVE_TIME = 400 attached++ spawn(MAX_IMPREGNATION_TIME) attached = 0 - - if(M.getorgan(/obj/item/organ/internal/alien/hivenode)) return 0 - if(M.getorgan(/obj/item/organ/internal/body_egg/alien_embryo)) return 0 - - if(loc == M) return 0 - if(stat != CONSCIOUS) return 0 + if(M.getorgan(/obj/item/organ/internal/alien/hivenode)) + return 0 + if(M.getorgan(/obj/item/organ/internal/body_egg/alien_embryo)) + return 0 + if(loc == M) + return 0 + if(stat != CONSCIOUS) + return 0 if(!sterile) M.take_organ_damage(strength,0) //done here so that even borgs and humans in helmets take damage - M.visible_message("[src] leaps at [M]'s face!", \ "[src] leaps at [M]'s face!") - if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.is_mouth_covered(head_only = 1)) @@ -132,13 +132,14 @@ var/const/MAX_ACTIVE_TIME = 400 "[src] smashes against [H]'s [H.head]!") Die() return 0 - if(iscarbon(M)) var/mob/living/carbon/target = M if(target.wear_mask) - if(prob(20)) return 0 + if(prob(20)) + return 0 var/obj/item/clothing/W = target.wear_mask - if(W.flags & NODROP) return 0 + if(W.flags & NODROP) + return 0 target.unEquip(W) target.visible_message("[src] tears [W] off of [target]'s face!", \ @@ -146,8 +147,8 @@ var/const/MAX_ACTIVE_TIME = 400 src.loc = target target.equip_to_slot(src, slot_wear_mask,,0) - - if(!sterile) M.Paralyse(MAX_IMPREGNATION_TIME/6) //something like 25 ticks = 20 seconds with the default settings + if(!sterile) + M.Weaken(1) else if (iscorgi(M)) var/mob/living/simple_animal/pet/dog/corgi/C = M loc = C