diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index de3df02c364..20cfe5ac130 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -104,7 +104,8 @@ var/list/blobs_legit = list() //used for win-score calculations, contains only b /datum/game_mode/blob/proc/burst_blobs() for(var/datum/mind/blob in infected_crew) - burst_blob(blob) + if(blob.special_role != "Blob Overmind") + burst_blob(blob) /datum/game_mode/blob/proc/burst_blob(datum/mind/blob, warned=0) var/client/blob_client = null @@ -143,7 +144,8 @@ var/list/blobs_legit = list() //used for win-score calculations, contains only b for(var/datum/mind/blob in infected_crew) greet_blob(blob) - + var/datum/action/innate/blob_burst/B = new + B.Grant(blob.current) SSshuttle.emergencyNoEscape = 1 // Disable the blob event for this round. diff --git a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm index 796ea7ae9d7..7793b3c430c 100644 --- a/code/game/gamemodes/blob/powers.dm +++ b/code/game/gamemodes/blob/powers.dm @@ -248,4 +248,22 @@ src << "Factory Blobs are blobs that spawn blob spores which will attack nearby enemies. This type of blob must be placed near node blobs or your core to work." src << "Node Blobs are blobs which grow, like the core. Like the core it can activate resource and factory blobs." src << "In addition to the buttons on your HUD, there are a few click shortcuts to speed up expansion and defense." - src << "Shortcuts: Click = Expand Blob | Middle Mouse Click = Rally Spores | Ctrl Click = Create Shield Blob | Alt Click = Remove Blob" \ No newline at end of file + src << "Shortcuts: Click = Expand Blob | Middle Mouse Click = Rally Spores | Ctrl Click = Create Shield Blob | Alt Click = Remove Blob" + +/datum/action/innate/blob_burst + name = "Burst" + button_icon_state = "blob" + background_icon_state = "bg_alien" + +/datum/action/innate/blob_burst/CheckRemoval() + if(ticker.mode.name != "blob" || !ishuman(owner)) + return 1 + var/datum/game_mode/blob/B = ticker.mode + if(!owner.mind || !(owner.mind in B.infected_crew)) + return 1 + return 0 + +/datum/action/innate/blob_burst/Activate() + var/datum/game_mode/blob/B = ticker.mode + B.burst_blob(owner.mind) + Remove(owner) \ No newline at end of file diff --git a/icons/mob/actions.dmi b/icons/mob/actions.dmi index cb410366fe5..263efbbeade 100644 Binary files a/icons/mob/actions.dmi and b/icons/mob/actions.dmi differ