diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 6a2149d6ac3..c034db32fce 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -63,6 +63,24 @@ log_admin("[key_name(usr)] spawned a blob with strength [strength].") new/datum/round_event/blob(strength) + else if(href_list["forceevent"]) + var/datum/round_event_control/E = locate(href_list["forceevent"]) in events.control + if(E) + var/datum/round_event/event = E.runEvent() + if(event.announceWhen>0) + event.processing = 0 + var/prompt = alert(usr, "Would you like to alert the crew?", "Alert", "Yes", "No", "Cancel") + switch(prompt) + if("Cancel") + event.kill() + return + if("No") + event.announceWhen = -1 + event.processing = 1 + message_admins("[key_name_admin(usr)] has triggered an event. ([E.name])", 1) + log_admin("[key_name(usr)] has triggered an event. ([E.name])") + return + else if(href_list["dbsearchckey"] || href_list["dbsearchadmin"]) var/adminckey = href_list["dbsearchadmin"] var/playerckey = href_list["dbsearchckey"] diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm index 59a29a5a3d6..0174bda76b3 100644 --- a/code/modules/events/event_manager.dm +++ b/code/modules/events/event_manager.dm @@ -109,23 +109,25 @@ var/datum/controller/event/events -//allows a client to trigger an event (For Debugging Purposes) -/client/proc/forceEvent(var/datum/round_event_control/E in events.control) +//allows a client to trigger an event +//aka Badmin Central +/client/proc/forceEvent() set name = "Trigger Event" set category = "Fun" if(!holder ||!check_rights(R_FUN)) return - if(istype(E)) - var/datum/round_event/event = E.runEvent() - if(event.announceWhen>0) - event.processing = 0 - if(alert(usr, "Would you like to alert the crew?", "Alert", "Yes", "No") == "No") - event.announceWhen = -1 - event.processing = 1 - message_admins("[key_name_admin(usr)] has triggered an event. ([E.name])", 1) - log_admin("[key_name(usr)] has triggered an event. ([E.name])") + holder.forceEvent() + +/datum/admins/proc/forceEvent() + var/dat = "" + for(var/datum/round_event_control/E in events.control) + dat += "
[E]" + + var/datum/browser/popup = new(usr, "forceevent", "Force Random Event", 300, 750) + popup.set_content(dat) + popup.open() /* diff --git a/code/modules/events/holiday/halloween.dm b/code/modules/events/holiday/halloween.dm index 88093e1f9ab..ad6a82e04df 100644 --- a/code/modules/events/holiday/halloween.dm +++ b/code/modules/events/holiday/halloween.dm @@ -1,5 +1,5 @@ /datum/round_event_control/spooky - name = "2 SPOOKY!" + name = "2 SPOOKY! (Halloween)" holidayID = "Halloween" typepath = /datum/round_event/spooky weight = -1 //forces it to be called, regardless of weight diff --git a/code/modules/events/holiday/xmas.dm b/code/modules/events/holiday/xmas.dm index d7021e0e12d..5641bdfab23 100644 --- a/code/modules/events/holiday/xmas.dm +++ b/code/modules/events/holiday/xmas.dm @@ -1,5 +1,5 @@ /datum/round_event_control/treevenge - name = "Treevenge" + name = "Treevenge (Christmas)" holidayID = "Xmas" typepath = /datum/round_event/treevenge max_occurrences = 1