[MIRROR] Admins can reroll random events into something else (#27855)

* Admins can reroll random events into something else

* Fixing Conflicts

---------

Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
This commit is contained in:
SkyratBot
2024-06-06 10:26:30 +05:30
committed by GitHub
co-authored by Rhials SpaceLoveSs13
parent f1652c1258
commit 3c800cf213
2 changed files with 32 additions and 38 deletions
+9 -6
View File
@@ -67,8 +67,13 @@ SUBSYSTEM_DEF(events)
/datum/controller/subsystem/events/proc/reschedule()
scheduled = world.time + rand(frequency_lower, max(frequency_lower,frequency_upper))
//selects a random event based on whether it can occur and it's 'weight'(probability)
/datum/controller/subsystem/events/proc/spawnEvent(threat_override = FALSE) //SKYRAT EDIT CHANGE
/**
* Selects a random event based on whether it can occur and it's 'weight'(probability)
*
* Arguments:
* * excluded_event - The event path we will be foregoing, if present.
*/
/datum/controller/subsystem/events/proc/spawnEvent(datum/round_event_control/excluded_event)
set waitfor = FALSE //for the admin prompt
if(!CONFIG_GET(flag/allow_random_events))
return
@@ -79,12 +84,10 @@ SUBSYSTEM_DEF(events)
var/list/event_roster = list()
for(var/datum/round_event_control/event_to_check in control)
if(excluded_event && event_to_check.typepath == excluded_event.typepath) //If an event has been rerolled we won't just roll the same one again.
continue
if(!event_to_check.can_spawn_event(players_amt))
continue
//SKYRAT EDIT ADDITION
if(threat_override && !event_to_check.alert_observers)
continue
//SKYRAT EDIT END
if(event_to_check.weight < 0) //for round-start events etc.
var/res = TriggerEvent(event_to_check)
if(res == EVENT_INTERRUPTED)