From c909a10f5c0515d7e2c04b56c5ba1f5e82d19017 Mon Sep 17 00:00:00 2001 From: PidgeyThePirate Date: Thu, 14 May 2020 11:38:43 +0930 Subject: [PATCH 1/3] Headcrabs now check if they're alive before nomming adjacent dead simple mobs as well as zombifying dead humans. --- code/modules/mob/living/simple_animal/hostile/headcrab.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index ece990c7743..67a87131fba 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -25,7 +25,9 @@ var/list/human_overlays = list() /mob/living/simple_animal/hostile/headcrab/Life(seconds, times_fired) - if(!is_zombie && isturf(src.loc) && stat != DEAD) + if(stat == DEAD) + return + if(!is_zombie && isturf(src.loc)) for(var/mob/living/carbon/human/H in oview(src, 1)) //Only for corpse right next to/on same tile if(H.stat == DEAD || (!H.check_death_method() && H.health <= HEALTH_THRESHOLD_DEAD)) Zombify(H) From b08aeeb1ffe09c3475f3aa90aa647c5881c08db5 Mon Sep 17 00:00:00 2001 From: PidgeyThePirate Date: Thu, 14 May 2020 12:05:47 +0930 Subject: [PATCH 2/3] Whoopsie. --- .../living/simple_animal/hostile/headcrab.dm | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index 67a87131fba..cef8bc552ba 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -25,24 +25,23 @@ var/list/human_overlays = list() /mob/living/simple_animal/hostile/headcrab/Life(seconds, times_fired) - if(stat == DEAD) - return - if(!is_zombie && isturf(src.loc)) - for(var/mob/living/carbon/human/H in oview(src, 1)) //Only for corpse right next to/on same tile - if(H.stat == DEAD || (!H.check_death_method() && H.health <= HEALTH_THRESHOLD_DEAD)) - Zombify(H) - break - var/cycles = 4 - if(cycles >= 4) - for(var/mob/living/simple_animal/K in oview(src, 1)) //Only for corpse right next to/on same tile - if(K.stat == DEAD || (!K.check_death_method() && K.health <= HEALTH_THRESHOLD_DEAD)) - visible_message("[src] consumes [target] whole!") - if(health < maxHealth) - health += 10 - qdel(K) - break - cycles = 0 - cycles++ + if(stat != DEAD) + if(!is_zombie && isturf(src.loc)) + for(var/mob/living/carbon/human/H in oview(src, 1)) //Only for corpse right next to/on same tile + if(H.stat == DEAD || (!H.check_death_method() && H.health <= HEALTH_THRESHOLD_DEAD)) + Zombify(H) + break + var/cycles = 4 + if(cycles >= 4) + for(var/mob/living/simple_animal/K in oview(src, 1)) //Only for corpse right next to/on same tile + if(K.stat == DEAD || (!K.check_death_method() && K.health <= HEALTH_THRESHOLD_DEAD)) + visible_message("[src] consumes [target] whole!") + if(health < maxHealth) + health += 10 + qdel(K) + break + cycles = 0 + cycles++ ..() /mob/living/simple_animal/hostile/headcrab/OpenFire(atom/A) From 736f2132e308fc19e8cf0b3f55fc6542e041304b Mon Sep 17 00:00:00 2001 From: PidgeyThePirate Date: Thu, 14 May 2020 12:59:38 +0930 Subject: [PATCH 3/3] You learn something new every day. --- code/modules/mob/living/simple_animal/hostile/headcrab.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index cef8bc552ba..8d2ba52709f 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -25,7 +25,7 @@ var/list/human_overlays = list() /mob/living/simple_animal/hostile/headcrab/Life(seconds, times_fired) - if(stat != DEAD) + if(..()) if(!is_zombie && isturf(src.loc)) for(var/mob/living/carbon/human/H in oview(src, 1)) //Only for corpse right next to/on same tile if(H.stat == DEAD || (!H.check_death_method() && H.health <= HEALTH_THRESHOLD_DEAD)) @@ -42,7 +42,6 @@ break cycles = 0 cycles++ - ..() /mob/living/simple_animal/hostile/headcrab/OpenFire(atom/A) if(check_friendly_fire)