From 4d321386efc4995a46af60132c6498750b95bcf4 Mon Sep 17 00:00:00 2001 From: azzzertyy <42524344+azzzertyy@users.noreply.github.com> Date: Fri, 13 Oct 2023 17:22:38 +0100 Subject: [PATCH 1/3] done --- code/modules/antagonists/blob/overmind.dm | 4 ++-- code/modules/mob/transform_procs.dm | 4 ++-- code/modules/power/supermatter/supermatter.dm | 20 ++++++++++++++++++- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm index 2d00eb9ab763..dacff037b249 100644 --- a/code/modules/antagonists/blob/overmind.dm +++ b/code/modules/antagonists/blob/overmind.dm @@ -44,7 +44,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) var/has_announced = FALSE var/basemodifier = 1 -/mob/camera/blob/Initialize(mapload, starting_points = 60, pointmodifier = 1) +/mob/camera/blob/Initialize(mapload, starting_points = 60, pointmodifier = 1, announcement_delay = 6000) validate_location() blob_points = starting_points basemodifier = pointmodifier @@ -61,7 +61,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) if(blob_core) blob_core.update_appearance(UPDATE_ICON) SSshuttle.registerHostileEnvironment(src) - announcement_time = world.time + 6000 + announcement_time = world.time + announcement_delay . = ..() START_PROCESSING(SSobj, src) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 376c0c77ebb8..489a556afce9 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -519,8 +519,8 @@ . = new_slime qdel(src) -/mob/proc/become_overmind(starting_points = 60, pointmodifier = 1) - var/mob/camera/blob/B = new /mob/camera/blob(get_turf(src), starting_points, pointmodifier) +/mob/proc/become_overmind(starting_points = 60, pointmodifier = 1, announcement_time = 6000) + var/mob/camera/blob/B = new /mob/camera/blob(get_turf(src), starting_points, pointmodifier, announcement_time) B.key = key . = B qdel(src) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index f1fa4ea210cc..16cf46f44be6 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -63,6 +63,8 @@ #define DAMAGE_HARDCAP 0.002 #define DAMAGE_INCREASE_MULTIPLIER 0.25 +#define MIASMA_DELAM_PERCENTAGE 50 ///The percentage of miasma before it is classed as a miasma delamination, causing a blob to spawn. + #define THERMAL_RELEASE_MODIFIER 5 //Higher == less heat released during reaction, not to be confused with the above values #define PLASMA_RELEASE_MODIFIER 750 //Higher == less plasma released by reaction #define OXYGEN_RELEASE_MODIFIER 325 //Higher == less oxygen released at high temperature/power @@ -384,7 +386,23 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) SEND_SOUND(M, 'sound/magic/charge.ogg') to_chat(M, span_boldannounce("You feel reality distort for a moment...")) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "delam", /datum/mood_event/delam) - + + if (T) + var/datum/gas_mixture/air = T.return_air() + if (air) + if (((air.get_moles(/datum/gas/miasma) / air.total_moles()) * 100) > MIASMA_DELAM_PERCENTAGE && air.total_moles() > 5000) + var/list/candidates = pollGhostCandidates("Do you wish to be considered for the special role of Supermatter Blob?", ROLE_BLOB, null, ROLE_BLOB) + if(candidates.len) + var/mob/dead/observer/new_blob = pick(candidates) + var/mob/camera/blob/BC = new_blob.become_overmind(200, 1.3, 1) + BC.forceMove(T) + BC.place_blob_core(BLOB_FORCE_PLACEMENT) + + message_admins("[src] has created a blob. [ADMIN_JMP(src)].") + investigate_log("has created a blob.", INVESTIGATE_SUPERMATTER) + qdel(src) + return + if(resonance_cascading) sound_to_playing_players('sound/magic/lightningbolt.ogg', volume = 50) var/datum/round_event_control/resonance_cascade/xen = new From 04119f6a9973083da6db28da0b0d1b314238f79f Mon Sep 17 00:00:00 2001 From: azzzertyy <42524344+azzzertyy@users.noreply.github.com> Date: Fri, 13 Oct 2023 18:23:30 +0100 Subject: [PATCH 2/3] buffs the blob, its overcharged --- code/modules/power/supermatter/supermatter.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 16cf46f44be6..b21fd83d9646 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -394,7 +394,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) var/list/candidates = pollGhostCandidates("Do you wish to be considered for the special role of Supermatter Blob?", ROLE_BLOB, null, ROLE_BLOB) if(candidates.len) var/mob/dead/observer/new_blob = pick(candidates) - var/mob/camera/blob/BC = new_blob.become_overmind(200, 1.3, 1) + var/mob/camera/blob/BC = new_blob.become_overmind(350, 1.5, 1) BC.forceMove(T) BC.place_blob_core(BLOB_FORCE_PLACEMENT) From c81745895a66694cb369b9baee6b1c5034d89d01 Mon Sep 17 00:00:00 2001 From: azzzertyy <42524344+azzzertyy@users.noreply.github.com> Date: Fri, 13 Oct 2023 23:13:23 +0100 Subject: [PATCH 3/3] woops --- code/modules/mob/transform_procs.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 489a556afce9..c38f830ecdbe 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -519,8 +519,8 @@ . = new_slime qdel(src) -/mob/proc/become_overmind(starting_points = 60, pointmodifier = 1, announcement_time = 6000) - var/mob/camera/blob/B = new /mob/camera/blob(get_turf(src), starting_points, pointmodifier, announcement_time) +/mob/proc/become_overmind(starting_points = 60, pointmodifier = 1, announcement_delay = 6000) + var/mob/camera/blob/B = new /mob/camera/blob(get_turf(src), starting_points, pointmodifier, announcement_delay) B.key = key . = B qdel(src)