From cc2771d4d5c526b0415d90acef78b25bca39095a Mon Sep 17 00:00:00 2001 From: Cael_Aislinn Date: Mon, 3 Dec 2012 13:58:58 +1000 Subject: [PATCH] thrown facehuggers only have a 25% chance of hitting now, and they have a chance to miss when leaping normally Signed-off-by: Cael_Aislinn --- .../living/carbon/alien/special/facehugger.dm | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 909bf25219a..c67017d7953 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -89,7 +89,8 @@ var/const/MAX_ACTIVE_TIME = 400 return /obj/item/clothing/mask/facehugger/throw_impact(atom/hit_atom) - Attach(hit_atom) + if(prob(25)) + Attach(hit_atom) return /obj/item/clothing/mask/facehugger/proc/Attach(M as mob) @@ -129,17 +130,21 @@ var/const/MAX_ACTIVE_TIME = 400 for(var/mob/O in viewers(target, null)) O.show_message("\red \b [src] tears [W] off of [target]'s face!", 1) - loc = target - layer = 20 - target.wear_mask = src - target.update_inv_wear_mask() + if(prob(75)) + loc = target + layer = 20 + target.wear_mask = src + target.update_inv_wear_mask() - GoIdle() //so it doesn't jump the people that tear it off + GoIdle() //so it doesn't jump the people that tear it off - if(!sterile) target.Paralyse(MAX_IMPREGNATION_TIME/6) //something like 25 ticks = 20 seconds with the default settings + if(!sterile) target.Paralyse(MAX_IMPREGNATION_TIME/6) //something like 25 ticks = 20 seconds with the default settings - spawn(rand(MIN_IMPREGNATION_TIME,MAX_IMPREGNATION_TIME)) - Impregnate(target) + spawn(rand(MIN_IMPREGNATION_TIME,MAX_IMPREGNATION_TIME)) + Impregnate(target) + else + for(var/mob/O in viewers(target, null)) + O.show_message("\red \b [src] misses [target]'s face!", 1) return