diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm
index 5c6e9ff06f7..e8560103ecc 100644
--- a/code/game/gamemodes/wizard/rightandwrong.dm
+++ b/code/game/gamemodes/wizard/rightandwrong.dm
@@ -134,12 +134,12 @@
new /obj/item/weapon/gun/magic/staff/chaos(get_turf(H))
H << "You suddenly feel lucky."
-/mob/proc/summonevents()
+/proc/summonevents()
if(events) //if there isn't something is very wrong
if(!events.wizardmode)
- events.toggleWizardmode()
events.frequency_lower = 600 //1 minute lower bound
events.frequency_upper = 3000 //5 minutes upper bound
+ events.toggleWizardmode()
events.reschedule()
else //Speed it up
@@ -148,4 +148,6 @@
if(events.frequency_upper < events.frequency_lower)
events.frequency_upper = events.frequency_lower //this can't happen unless somehow multiple spellbooks are used, but just in case
- events.reschedule()
+ events.reschedule()
+ message_admins("Summon Events intensifies, events will now occur every [events.frequency_lower / 600] to [events.frequency_upper / 600] minutes.")
+ log_game("Summon Events was increased!")
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index aded7d5e8d2..09cad46c59b 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -305,7 +305,7 @@
temp = "You have cast summon magic."
if("summonevents")
feedback_add_details("wizard_spell_learned","SE") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.summonevents()
+ summonevents()
max_uses--
temp = "You have cast summon events."
if("staffchange")
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 2f00ae34b70..3459e1ebe67 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -444,6 +444,7 @@ var/global/floorIsLava = 0
Everyone is the traitor
Summon Guns
Summon Magic
+ Summon Events (Toggle)
There can only be one!
Make all players retarded
Egalitarian Station Mode
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 54ca285ed53..c00a662f66f 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -1853,6 +1853,22 @@
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","SM")
rightandwrong(1, usr)
+ if("events")
+ if(events && !events.wizardmode)
+ if(alert("Do you want to toggle summon events on?",,"Yes","No") == "Yes")
+ summonevents()
+ feedback_inc("admin_secrets_fun_used",1)
+ feedback_add_details("admin_secrets_fun_used","SE")
+
+ else if(events && events.wizardmode)
+ switch(alert("What would you like to do?",,"Intensify Summon Events","Turn Off Summon Events","Nothing"))
+ if("Intensify Summon Events")
+ summonevents()
+ feedback_inc("admin_secrets_fun_used",1)
+ feedback_add_details("admin_secrets_fun_used","SE")
+ if("Turn Off Summon Events")
+ events.toggleWizardmode()
+ events.resetFrequency()
if("dorf")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","DF")
diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm
index 13ea11fb964..cf18c8b549f 100644
--- a/code/modules/events/event_manager.dm
+++ b/code/modules/events/event_manager.dm
@@ -273,4 +273,10 @@ var/datum/controller/event/events
for(var/datum/round_event_control/E in control)
E.weight = initial(E.weight)
if((E.wizardevent && !wizardmode) || (!E.wizardevent && wizardmode))
- E.weight = 0
\ No newline at end of file
+ E.weight = 0
+ message_admins("Summon Events has been [wizardmode ? "enabled, events will occur every [events.frequency_lower / 600] to [events.frequency_upper / 600] minutes" : "disabled"]!")
+ log_game("Summon Events was [wizardmode ? "enabled" : "disabled"]!")
+
+/datum/controller/event/proc/resetFrequency()
+ frequency_lower = initial(frequency_lower)
+ frequency_upper = initial(frequency_upper)
\ No newline at end of file