From b79cefc6b83d9e4a48645fbf0e647ccfec0eba56 Mon Sep 17 00:00:00 2001
From: Jamie D <993128+JamieD1@users.noreply.github.com>
Date: Fri, 22 Apr 2022 01:45:55 +0100
Subject: [PATCH 1/3] Fixes Blob Resource Rate
---
code/modules/admin/topic.dm | 2 +-
.../antagonists/blob/blobstrains/_blobstrain.dm | 3 ++-
code/modules/antagonists/blob/overmind.dm | 4 +++-
code/modules/events/blob.dm | 12 +++++++-----
code/modules/mob/transform_procs.dm | 4 ++--
5 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index dd134d4d38f5..b6f221f8190f 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -166,7 +166,7 @@
return
message_admins("[key_name(usr)] spawned a blob with base resource gain [strength].")
log_admin("[key_name(usr)] spawned a blob with base resource gain [strength].")
- new/datum/round_event/ghost_role/blob(TRUE, strength)
+ new/datum/round_event/ghost_role/blob(strength)
if("centcom")
message_admins("[key_name(usr)] is creating a CentCom response team...")
if(src.makeEmergencyresponseteam())
diff --git a/code/modules/antagonists/blob/blobstrains/_blobstrain.dm b/code/modules/antagonists/blob/blobstrains/_blobstrain.dm
index a2986d8ab962..44d86682e426 100644
--- a/code/modules/antagonists/blob/blobstrains/_blobstrain.dm
+++ b/code/modules/antagonists/blob/blobstrains/_blobstrain.dm
@@ -47,6 +47,7 @@ GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/
/datum/blobstrain/proc/core_process()
if(resource_delay <= world.time)
resource_delay = world.time + 10 // 1 second
+ point_rate = point_rate * overmind.basemodifier
overmind.add_points(point_rate)
overmind.blob_core.obj_integrity = min(overmind.blob_core.max_integrity, overmind.blob_core.obj_integrity+core_regen)
@@ -74,4 +75,4 @@ GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/
return
/datum/blobstrain/proc/examine(mob/user)
- return list("Progress to Critical Mass: [span_notice("[overmind.blobs_legit.len]/[overmind.blobwincount].")]")
\ No newline at end of file
+ return list("Progress to Critical Mass: [span_notice("[overmind.blobs_legit.len]/[overmind.blobwincount].")]")
diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm
index 3f31797c88a7..1040de6d1cf8 100644
--- a/code/modules/antagonists/blob/overmind.dm
+++ b/code/modules/antagonists/blob/overmind.dm
@@ -42,10 +42,12 @@ GLOBAL_LIST_EMPTY(blob_nodes)
var/announcement_size = 75
var/announcement_time
var/has_announced = FALSE
+ var/basemodifier = 1
-/mob/camera/blob/Initialize(mapload, starting_points = 60)
+/mob/camera/blob/Initialize(mapload, starting_points = 60, pointmodifier)
validate_location()
blob_points = starting_points
+ basemodifier = pointmodifier
manualplace_min_time += world.time
autoplace_max_time += world.time
GLOB.overminds += src
diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm
index 5c167ddaa8e7..b287014875a0 100644
--- a/code/modules/events/blob.dm
+++ b/code/modules/events/blob.dm
@@ -3,18 +3,20 @@
typepath = /datum/round_event/ghost_role/blob
weight = 8
max_occurrences = 1
-
min_players = 25
-
dynamic_should_hijack = TRUE
-
gamemode_blacklist = list("blob") //Just in case a blob survives that long
-
+
/datum/round_event/ghost_role/blob
announceWhen = -1
role_name = "blob overmind"
fakeable = TRUE
+ var/pointmodifier = 1
+/datum/round_event/ghost_role/blob/New(pointrate)
+ .=..()
+ pointmodifier = pointrate
+
/datum/round_event/ghost_role/blob/announce(fake)
priority_announce("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", ANNOUNCER_OUTBREAK5)
@@ -25,7 +27,7 @@
if(!candidates.len)
return NOT_ENOUGH_PLAYERS
var/mob/dead/observer/new_blob = pick(candidates)
- var/mob/camera/blob/BC = new_blob.become_overmind()
+ var/mob/camera/blob/BC = new_blob.become_overmind(60, pointmodifier)
spawned_mobs += BC
message_admins("[ADMIN_LOOKUPFLW(BC)] has been made into a blob overmind by an event.")
log_game("[key_name(BC)] was spawned as a blob overmind by an event.")
diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index b42ed6b9e007..305c5d944aa5 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -524,8 +524,8 @@
. = new_slime
qdel(src)
-/mob/proc/become_overmind(starting_points = 60)
- var/mob/camera/blob/B = new /mob/camera/blob(get_turf(src), starting_points)
+/mob/proc/become_overmind(starting_points = 60, pointmodifier)
+ var/mob/camera/blob/B = new /mob/camera/blob(get_turf(src), starting_points, pointmodifier)
B.key = key
. = B
qdel(src)
From 7eb67590cccfe49021d8a00d7826e71cf828df65 Mon Sep 17 00:00:00 2001
From: Jamie D <993128+JamieD1@users.noreply.github.com>
Date: Fri, 22 Apr 2022 01:53:43 +0100
Subject: [PATCH 2/3] Fixes a dumb
---
code/modules/antagonists/blob/blobstrains/_blobstrain.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/antagonists/blob/blobstrains/_blobstrain.dm b/code/modules/antagonists/blob/blobstrains/_blobstrain.dm
index 44d86682e426..ad439d962de2 100644
--- a/code/modules/antagonists/blob/blobstrains/_blobstrain.dm
+++ b/code/modules/antagonists/blob/blobstrains/_blobstrain.dm
@@ -24,6 +24,7 @@ GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/
/datum/blobstrain/proc/on_gain()
overmind.color = complementary_color
+ point_rate = point_rate * overmind.basemodifier
for(var/BL in GLOB.blobs)
var/obj/structure/blob/B = BL
B.update_icon()
@@ -47,7 +48,6 @@ GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/
/datum/blobstrain/proc/core_process()
if(resource_delay <= world.time)
resource_delay = world.time + 10 // 1 second
- point_rate = point_rate * overmind.basemodifier
overmind.add_points(point_rate)
overmind.blob_core.obj_integrity = min(overmind.blob_core.max_integrity, overmind.blob_core.obj_integrity+core_regen)
From bd958aafcee9585fed11982f93933f65386ec8ec Mon Sep 17 00:00:00 2001
From: Jamie D <993128+JamieD1@users.noreply.github.com>
Date: Sat, 23 Apr 2022 03:11:05 +0100
Subject: [PATCH 3/3] Update code/modules/events/blob.dm
right..
Co-authored-by: tattax <71668564+tattax@users.noreply.github.com>
---
code/modules/events/blob.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm
index b287014875a0..392d9535d4dc 100644
--- a/code/modules/events/blob.dm
+++ b/code/modules/events/blob.dm
@@ -14,7 +14,7 @@
var/pointmodifier = 1
/datum/round_event/ghost_role/blob/New(pointrate)
- .=..()
+ . = ..()
pointmodifier = pointrate
/datum/round_event/ghost_role/blob/announce(fake)