diff --git a/code/__DEFINES/events.dm b/code/__DEFINES/events.dm index 0eb196d1304..cc19d9d358b 100644 --- a/code/__DEFINES/events.dm +++ b/code/__DEFINES/events.dm @@ -2,3 +2,7 @@ #define NOT_ENOUGH_PLAYERS 3 #define MAP_ERROR 4 #define WAITING_FOR_SOMETHING 5 + +#define EVENT_CANT_RUN 0 +#define EVENT_READY 1 +#define EVENT_CANCELLED 2 \ No newline at end of file diff --git a/code/controllers/subsystem/events.dm b/code/controllers/subsystem/events.dm index 9f042ad20a6..b922ecc1bab 100644 --- a/code/controllers/subsystem/events.dm +++ b/code/controllers/subsystem/events.dm @@ -93,9 +93,9 @@ var/datum/controller/subsystem/events/SSevent /datum/controller/subsystem/events/proc/TriggerEvent(datum/round_event_control/E) . = E.preRunEvent() - if(!.)//we couldn't run this event for some reason, set its max_occurrences to 0 + if(. == EVENT_CANT_RUN)//we couldn't run this event for some reason, set its max_occurrences to 0 E.max_occurrences = 0 - else + else if(. != EVENT_CANCELLED) E.runEvent(TRUE) /datum/round_event/proc/findEventArea() //Here's a nice proc to use to find an area for your event to land in! diff --git a/code/modules/events/_event.dm b/code/modules/events/_event.dm index 85c2c43e1f7..e90b24fa5e6 100644 --- a/code/modules/events/_event.dm +++ b/code/modules/events/_event.dm @@ -57,7 +57,7 @@ /datum/round_event_control/proc/preRunEvent() if(!ispath(typepath,/datum/round_event)) - return FALSE + return EVENT_CANT_RUN triggering = TRUE if (alertadmins) @@ -65,9 +65,9 @@ sleep(100) if(!triggering) - return TRUE //admin cancelled + return EVENT_CANCELLED //admin cancelled triggering = FALSE - return TRUE + return EVENT_READY /datum/round_event_control/Topic(href, href_list) ..()