From 47b9cc20510d9199fd8488d5896c72738f626799 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Sat, 18 Nov 2017 18:37:30 -0600 Subject: [PATCH 1/2] Fixes suicidal blobbernauts (#32851) * Fixes suicidal blobbernauts * Removes notransform --- code/game/gamemodes/blob/powers.dm | 37 +++++++++++++++--------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm index 0dd592665f..e3a4f50082 100644 --- a/code/game/gamemodes/blob/powers.dm +++ b/code/game/gamemodes/blob/powers.dm @@ -154,33 +154,34 @@ return if(!can_buy(40)) return - B.max_integrity = initial(B.max_integrity) * 0.25 //factories that produced a blobbernaut have much lower health - B.obj_integrity = min(B.obj_integrity, B.max_integrity) - B.update_icon() - B.visible_message("The blobbernaut [pick("rips", "tears", "shreds")] its way out of the factory blob!") - playsound(B.loc, 'sound/effects/splat.ogg', 50, 1) - var/mob/living/simple_animal/hostile/blob/blobbernaut/blobber = new /mob/living/simple_animal/hostile/blob/blobbernaut(get_turf(B)) - flick("blobbernaut_produce", blobber) - B.naut = blobber - blobber.factory = B - blobber.overmind = src - blobber.update_icons() - blobber.notransform = 1 //stop the naut from moving around - blobber.adjustHealth(blobber.maxHealth * 0.5) - blob_mobs += blobber - var/list/mob/dead/observer/candidates = pollCandidatesForMob("Do you want to play as a [blob_reagent_datum.name] blobbernaut?", ROLE_BLOB, null, ROLE_BLOB, 50, blobber) //players must answer rapidly + + var/list/mob/dead/observer/candidates = pollCandidatesForMob("Do you want to play as a [blob_reagent_datum.name] blobbernaut?", ROLE_BLOB, null, ROLE_BLOB, 50) //players must answer rapidly if(candidates.len) //if we got at least one candidate, they're a blobbernaut now. + B.max_integrity = initial(B.max_integrity) * 0.25 //factories that produced a blobbernaut have much lower health + B.obj_integrity = min(B.obj_integrity, B.max_integrity) + B.update_icon() + B.visible_message("The blobbernaut [pick("rips", "tears", "shreds")] its way out of the factory blob!") + playsound(B.loc, 'sound/effects/splat.ogg', 50, 1) + var/mob/living/simple_animal/hostile/blob/blobbernaut/blobber = new /mob/living/simple_animal/hostile/blob/blobbernaut(get_turf(B)) + flick("blobbernaut_produce", blobber) + B.naut = blobber + blobber.factory = B + blobber.overmind = src + blobber.update_icons() + blobber.adjustHealth(blobber.maxHealth * 0.5) + blob_mobs += blobber var/client/C = pick(candidates) blobber.key = C.key SEND_SOUND(blobber, sound('sound/effects/blobattack.ogg')) SEND_SOUND(blobber, sound('sound/effects/attackblob.ogg')) to_chat(blobber, "You are a blobbernaut!") - to_chat(blobber, "You are powerful, hard to kill, and slowly regenerate near nodes and cores, but will slowly die if not near the blob or if the factory that made you is killed.") + to_chat(blobber, "You are powerful, hard to kill, and slowly regenerate near nodes and cores, but will slowly die if not near the blob or if the factory that made you is killed.") to_chat(blobber, "You can communicate with other blobbernauts and overminds via :b") to_chat(blobber, "Your overmind's blob reagent is: [blob_reagent_datum.name]!") to_chat(blobber, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.shortdesc ? "[blob_reagent_datum.shortdesc]" : "[blob_reagent_datum.description]"]") - if(blobber) - blobber.notransform = 0 + else + to_chat(src, "You could not conjure a sentience for your blobbernaut. Your points have been refunded. Try again later.") + add_points(40) /mob/camera/blob/verb/relocate_core() set category = "Blob"