diff --git a/code/modules/antagonists/blob/blob_antag.dm b/code/modules/antagonists/blob/blob_antag.dm index 0b9f449ef67..2d606d65b18 100644 --- a/code/modules/antagonists/blob/blob_antag.dm +++ b/code/modules/antagonists/blob/blob_antag.dm @@ -10,6 +10,8 @@ var/datum/action/innate/blobpop/pop_action /// Initial points for a human blob var/starting_points_human_blob = OVERMIND_STARTING_POINTS + /// Has the blob already popped inside of the round? This is here to prevent blobs from "respawning" + var/has_already_popped = FALSE /datum/antagonist/blob/roundend_report() var/basic_report = ..() @@ -26,6 +28,8 @@ owner.announce_objectives() if(!isovermind(owner.current)) to_chat(owner.current, span_notice("Use the pop ability to place your blob core! It is recommended you do this away from anyone else, as you'll be taking on the entire crew!")) + else + has_already_popped = TRUE owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/blobalert.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE) @@ -74,7 +78,7 @@ objectives += main /datum/antagonist/blob/apply_innate_effects(mob/living/mob_override) - if(isovermind(owner.current)) + if(isovermind(owner.current) || has_already_popped) return FALSE if(!pop_action) pop_action = new @@ -131,6 +135,7 @@ old_body.gib() blob_cam.place_blob_core(placement_override, pop_override = TRUE) playsound(get_turf(blob_cam), 'sound/ambience/antag/blobalert.ogg', 50, FALSE) + blobtag.has_already_popped = TRUE notify_ghosts( "A Blob host has burst in [get_area_name(blob_cam.blob_core)]",