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