Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion code/modules/admin/topic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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())
Expand Down
3 changes: 2 additions & 1 deletion code/modules/antagonists/blob/blobstrains/_blobstrain.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down Expand Up @@ -74,4 +75,4 @@ GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/
return

/datum/blobstrain/proc/examine(mob/user)
return list("<b>Progress to Critical Mass:</b> [span_notice("[overmind.blobs_legit.len]/[overmind.blobwincount].")]")
return list("<b>Progress to Critical Mass:</b> [span_notice("[overmind.blobs_legit.len]/[overmind.blobwincount].")]")
4 changes: 3 additions & 1 deletion code/modules/antagonists/blob/overmind.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 7 additions & 5 deletions code/modules/events/blob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand All @@ -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.")
Expand Down
4 changes: 2 additions & 2 deletions code/modules/mob/transform_procs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down