Skip to content

Fix some antags still rolling after the emergency shuttle is past the point of no return #6319

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 13, 2025
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
1 change: 1 addition & 0 deletions code/modules/antagonists/pirate/pirate_event.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
track = EVENT_TRACK_MAJOR
tags = list(TAG_COMBAT, TAG_COMMUNAL, TAG_EXTERNAL, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE
//monkestation edit end

/datum/round_event_control/pirates/preRunEvent()
Expand Down
4 changes: 4 additions & 0 deletions code/modules/events/_event.dm
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@
var/can_run_post_roundstart = TRUE
/// If set then the type or list of types of storytellers we are restricted to being trigged by
var/list/allowed_storytellers
/// If TRUE, then this event will not roll if the emergency shuttle is past the point of no recall.
var/dont_spawn_near_roundend = FALSE
// monkestation end

/datum/round_event_control/New()
Expand Down Expand Up @@ -100,6 +102,8 @@
// monkestation start: event groups and storyteller stuff
if(SSgamemode.current_storyteller?.disable_distribution || SSgamemode.halted_storyteller)
return FALSE
if(dont_spawn_near_roundend && EMERGENCY_PAST_POINT_OF_NO_RETURN)
return FALSE
if(event_group && !GLOB.event_groups[event_group].can_run())
return FALSE
if(roundstart && (!SSgamemode.can_run_roundstart || (SSgamemode.ran_roundstart && !fake_check && !SSgamemode.current_storyteller?.ignores_roundstart)))
Expand Down
6 changes: 0 additions & 6 deletions code/modules/events/ghost_role/blob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,6 @@
category = EVENT_CATEGORY_ENTITIES
description = "Spawns a new blob overmind."

/datum/round_event_control/blob/can_spawn_event(players, allow_magic = FALSE, fake_check = FALSE) //MONKESTATION ADDITION: fake_check = FALSE
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dont_spawn_near_roundend = TRUE is just set in the event overrides file now for blob

if(EMERGENCY_PAST_POINT_OF_NO_RETURN) // no blobs if the shuttle is past the point of no return
return FALSE

return ..()

/datum/round_event/ghost_role/blob
announce_chance = 0
role_name = "blob overmind"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
track = EVENT_TRACK_MODERATE
tags = list(TAG_DESTRUCTIVE, TAG_COMBAT, TAG_EXTERNAL, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event/ghost_role/florida_man
minimum_required = 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
track = EVENT_TRACK_MODERATE
tags = list(TAG_SPOOKY, TAG_COMBAT, TAG_EXTERNAL, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event/ghost_role/slasher
minimum_required = 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
track = EVENT_TRACK_MAJOR
tags = list(TAG_OUTSIDER_ANTAG, TAG_SPACE, TAG_COMBAT)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event/ghost_role/contractor
minimum_required = 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
/datum/round_event_control/antagonist
checks_antag_cap = TRUE
track = EVENT_TRACK_ROLESET
dont_spawn_near_roundend = TRUE
///list of required roles, needed for this to form
var/list/exclusive_roles
/// Protected roles from the antag roll. People will not get those roles if a config is enabled
Expand Down Expand Up @@ -124,8 +125,6 @@
. = ..()
if(!.)
return
if(EMERGENCY_PAST_POINT_OF_NO_RETURN)
return FALSE
if(!check_required())
return FALSE

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
track = EVENT_TRACK_MAJOR
tags = list(TAG_TARGETED, TAG_SPOOKY, TAG_EXTERNAL, TAG_ALIEN, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event_control/anomaly
track = EVENT_TRACK_MODERATE
Expand All @@ -12,6 +13,7 @@
track = EVENT_TRACK_ROLESET
tags = list(TAG_COMBAT, TAG_DESTRUCTIVE, TAG_EXTERNAL, TAG_ALIEN, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event_control/aurora_caelus
track = EVENT_TRACK_MUNDANE
Expand All @@ -21,6 +23,7 @@
track = EVENT_TRACK_ROLESET
tags = list(TAG_DESTRUCTIVE, TAG_COMBAT, TAG_EXTERNAL, TAG_ALIEN, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event_control/brain_trauma
track = EVENT_TRACK_MUNDANE
Expand Down Expand Up @@ -50,6 +53,7 @@
track = EVENT_TRACK_MAJOR
tags = list(TAG_COMBAT, TAG_SPACE, TAG_EXTERNAL, TAG_ALIEN, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event_control/communications_blackout
max_occurrences = 2
Expand Down Expand Up @@ -81,6 +85,7 @@
/datum/round_event_control/fugitives
track = EVENT_TRACK_MAJOR
tags = list(TAG_COMBAT, TAG_EXTERNAL, TAG_OUTSIDER_ANTAG)
dont_spawn_near_roundend = TRUE

/datum/round_event_control/gravity_generator_blackout
track = EVENT_TRACK_MODERATE
Expand Down Expand Up @@ -129,11 +134,13 @@
track = EVENT_TRACK_MAJOR
tags = list(TAG_COMBAT, TAG_SPOOKY, TAG_EXTERNAL, TAG_ALIEN, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event_control/nightmare
track = EVENT_TRACK_MAJOR
tags = list(TAG_COMBAT, TAG_SPOOKY, TAG_EXTERNAL, TAG_ALIEN, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event_control/obsessed
weight = 0 // use storyteller variants instead
Expand Down Expand Up @@ -165,6 +172,7 @@
track = EVENT_TRACK_MAJOR
tags = list(TAG_DESTRUCTIVE, TAG_SPOOKY, TAG_EXTERNAL, TAG_MAGICAL, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event_control/sandstorm
track = EVENT_TRACK_MODERATE
Expand All @@ -188,11 +196,13 @@
/datum/round_event_control/sentience
track = EVENT_TRACK_MUNDANE
tags = list(TAG_COMMUNAL, TAG_SPOOKY, TAG_MAGICAL)
dont_spawn_near_roundend = TRUE

/datum/round_event_control/sentient_disease
track = EVENT_TRACK_MAJOR
tags = list(TAG_COMBAT, TAG_DESTRUCTIVE, TAG_EXTERNAL, TAG_ALIEN, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event_control/shuttle_catastrophe
track = EVENT_TRACK_MODERATE
Expand All @@ -206,6 +216,7 @@
track = EVENT_TRACK_MAJOR
tags = list(TAG_COMBAT, TAG_SPOOKY, TAG_EXTERNAL, TAG_MAGICAL, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event_control/space_dust
track = EVENT_TRACK_MUNDANE
Expand All @@ -215,11 +226,13 @@
track = EVENT_TRACK_ROLESET
tags = list(TAG_COMBAT, TAG_SPACE, TAG_EXTERNAL, TAG_ALIEN, TAG_MAGICAL, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event_control/space_ninja
track = EVENT_TRACK_ROLESET
tags = list(TAG_COMBAT, TAG_DESTRUCTIVE, TAG_EXTERNAL, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event_control/spacevine
track = EVENT_TRACK_MAJOR
Expand All @@ -231,6 +244,7 @@
track = EVENT_TRACK_ROLESET
tags = list(TAG_COMBAT, TAG_DESTRUCTIVE, TAG_EXTERNAL, TAG_ALIEN, TAG_OUTSIDER_ANTAG)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event_control/stray_cargo
track = EVENT_TRACK_MUNDANE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
weight = 5
tags = list(TAG_COMBAT, TAG_DESTRUCTIVE, TAG_OUTSIDER_ANTAG, TAG_EXTERNAL, TAG_ALIEN)
checks_antag_cap = TRUE
dont_spawn_near_roundend = TRUE

/datum/round_event/ghost_role/teratoma
minimum_required = 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
min_wizard_trigger_potency = 6
max_wizard_trigger_potency = 7
tags = list(TAG_OUTSIDER_ANTAG, TAG_COMMUNAL, TAG_COMBAT, TAG_ALIEN)
dont_spawn_near_roundend = TRUE

/datum/round_event/ghost_role/plague_rat
minimum_required = 1
Expand Down
Loading