Skip to content

Commit

Permalink
Blob zombie fixes (#5292)
Browse files Browse the repository at this point in the history
## About The Pull Request

Ports the following PRs from tg:
- tgstation/tgstation#81485
- tgstation/tgstation#82542
- tgstation/tgstation#85078

Fixes #2297

## Why It's Good For The Game

yay bugfixes

## Changelog
:cl:
fix: (IndieanaJones) Blob Zombies now render their blob heads correctly
again.
fix: (Rhials) The tide of post-round blob zombies when a blob wins will
no longer break the speakers in your headset.
fix: (SmArtKar) Blob victory no longer spams spore zombie notifications
to ghosts.
/:cl:

---------

Co-authored-by: IndieanaJones <[email protected]>
Co-authored-by: SmArtKar <[email protected]>
Co-authored-by: Rhials <[email protected]>
  • Loading branch information
4 people authored Feb 4, 2025
1 parent 5cf13a3 commit caa480f
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
2 changes: 1 addition & 1 deletion code/modules/antagonists/blob/overmind.dm
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ GLOBAL_LIST_EMPTY(blob_nodes)
if(live_guy.stat != DEAD)
live_guy.investigate_log("has died from blob takeover.", INVESTIGATE_DEATHS)
live_guy.death()
create_spore(guy_turf)
create_spore(guy_turf, spore_type = /mob/living/basic/blob_minion/spore)
else
live_guy.fully_heal()

Expand Down
9 changes: 5 additions & 4 deletions code/modules/mob/living/basic/blob_minions/blob_zombie.dm
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,13 @@
. = ..()
death()

/mob/living/basic/blob_minion/zombie/update_overlays()
. = ..()
//Sets up our appearance
/mob/living/basic/blob_minion/zombie/proc/set_up_zombie_appearance()
copy_overlays(corpse, TRUE)
var/mutable_appearance/blob_head_overlay = mutable_appearance('icons/mob/nonhuman-player/blob.dmi', "blob_head")
blob_head_overlay.color = LAZYACCESS(atom_colours, FIXED_COLOUR_PRIORITY) || COLOR_WHITE
color = initial(color) // reversing what our component did lol, but we needed the value for the overlay
. += blob_head_overlay
overlays += blob_head_overlay

/// Create an explosion of spores on death
/mob/living/basic/blob_minion/zombie/proc/death_burst()
Expand All @@ -71,6 +71,7 @@
new_corpse.forceMove(src)
corpse = new_corpse
update_appearance(UPDATE_ICON)
set_up_zombie_appearance()
RegisterSignal(corpse, COMSIG_LIVING_REVIVE, PROC_REF(on_corpse_revived))

/// Dynamic changeling reentry
Expand All @@ -84,7 +85,7 @@

/mob/living/basic/blob_minion/zombie/controlled/consume_corpse(mob/living/carbon/human/new_corpse)
. = ..()
if (!isnull(client))
if (!isnull(client) || SSticker.current_state == GAME_STATE_FINISHED)
return
AddComponent(\
/datum/component/ghost_direct_control,\
Expand Down

0 comments on commit caa480f

Please sign in to comment.