diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm index 3fb8ac55..f44991cd 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm @@ -13,19 +13,16 @@ var/list/living_antags = list() var/list/dead_players = list() var/list/list_observers = list() - -/datum/dynamic_ruleset/event/acceptable(population=0, threat=0) - if(istype(controller, /datum/round_event_control)) - var/datum/round_event_control/R = controller - if(R.map_blacklist.len && (SSmapping.config.map_file in R.map_blacklist)) //Apparently dynamic doesn't call a controller's canSpawnEvent :> - return FALSE - if(R.map_whitelist.len && !(SSmapping.config.map_file in R.map_whitelist)) - return FALSE - return ..() + var/list/map_blacklist = list() //Determines if a map, "BoxStation.dmm" for example, will spawn. Has to be case-sensitive + var/list/map_whitelist = list() //Blacklist/Whitelist does not check round event controllers, they are separate vars /datum/dynamic_ruleset/event/ready(forced = 0) if (!forced) var/job_check = 0 + if (map_blacklist.len && (SSmapping.config.map_file in map_blacklist)) + return FALSE + if (map_whitelist.len && !(SSmapping.config.map_file in map_whitelist)) + return FALSE if (enemy_roles.len > 0) for (var/mob/M in mode.current_players[CURRENT_LIVING_PLAYERS]) if (M.stat == DEAD) @@ -232,6 +229,7 @@ //property_weights = list("extended" = -2) occurances_max = 2 chaos_min = 1.5 + map_blacklist = list("LayeniaStation.dmm") /datum/dynamic_ruleset/event/meteor_wave/ready() if(world.time-SSticker.round_start_time > 35 MINUTES && mode.threat_level > 40 && mode.threat >= 25 && prob(30)) @@ -408,6 +406,7 @@ //property_weights = list("extended" = 1) occurances_max = 3 chaos_min = 0.5 + map_blacklist = list("LayeniaStation.dmm") /datum/dynamic_ruleset/event/communications_blackout name = "Communications Blackout" @@ -471,6 +470,7 @@ repeatable = TRUE //property_weights = list("extended" = 1) occurances_max = 3 + /datum/dynamic_ruleset/event/electrical_storm name = "Electrical Storm" @@ -544,6 +544,7 @@ //property_weights = list("extended" = 1) occurances_max = 2 chaos_min = 1.0 + map_blacklist = list("LayeniaStation.dmm") /datum/dynamic_ruleset/event/swarmers name = "Swarmers" @@ -604,6 +605,7 @@ repeatable_weight_decrease = 2 chaos_min = 1.5 var/atom/special_target + map_blacklist = list("LayeniaStation.dmm") /* /datum/dynamic_ruleset/event/immovable_rod/execute() //I do not know why this is necessary @@ -629,6 +631,7 @@ cost = 10 repeatable = TRUE occurances_max = 2 + map_blacklist = list("LayeniaStation.dmm") /datum/dynamic_ruleset/event/high_priority_bounty name = "High Priority Bounty" @@ -723,6 +726,7 @@ weight = 4 repeatable_weight_decrease = 3 occurances_max = 2 + map_blacklist = list("LayeniaStation.dmm") /datum/dynamic_ruleset/event/sentience name = "Random Human-level Intelligence"