diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm
index c03b2fae173..9f935d457d3 100644
--- a/code/game/gamemodes/wizard/rightandwrong.dm
+++ b/code/game/gamemodes/wizard/rightandwrong.dm
@@ -1,13 +1,14 @@
//In this file: Summon Magic/Summon Guns/Summon Events
-/mob/proc/rightandwrong(var/summon_type) //0 = Summon Guns, 1 = Summon Magic
+/proc/rightandwrong(var/summon_type, var/mob/user) //0 = Summon Guns, 1 = Summon Magic
var/list/gunslist = list("taser","egun","laser","revolver","detective","smg","nuclear","deagle","gyrojet","pulse","suppressed","cannon","doublebarrel","shotgun","combatshotgun","mateba","smg","uzi","crossbow","saw")
var/list/magiclist = list("fireball","smoke","blind","mindswap","forcewall","knock","horsemask","charge","wandnothing", "wanddeath", "wandresurrection", "wandpolymorph", "wandteleport", "wanddoor", "wandfireball", "staffchange", "staffhealing", "armor", "scrying", "staffdoor", "special")
var/list/magicspeciallist = list("staffchange","staffanimation", "wandbelt", "contract", "staffchaos")
- usr << "You summoned [summon_type ? "magic" : "guns"]!"
- message_admins("[key_name_admin(usr, 1)] summoned [summon_type ? "magic" : "guns"]!")
- log_game("[key_name(usr)] summoned [summon_type ? "magic" : "guns"]!")
+ if(user) //in this case either someone holding a spellbook or a badmin
+ user << "You summoned [summon_type ? "magic" : "guns"]!"
+ message_admins("[key_name_admin(user, 1)] summoned [summon_type ? "magic" : "guns"]!")
+ log_game("[key_name(user)] summoned [summon_type ? "magic" : "guns"]!")
for(var/mob/living/carbon/human/H in player_list)
if(H.stat == 2 || !(H.client)) continue
if(H.mind)
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index 7dd699d5789..aded7d5e8d2 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -295,12 +295,12 @@
temp = "You have learned flesh to stone."
if("summonguns")
feedback_add_details("wizard_spell_learned","SG") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.rightandwrong(0)
+ rightandwrong(0, H)
max_uses--
temp = "You have cast summon guns."
if("summonmagic")
feedback_add_details("wizard_spell_learned","SU") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
- H.rightandwrong(1)
+ rightandwrong(1, H)
max_uses--
temp = "You have cast summon magic."
if("summonevents")
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index c75382d3878..7b48ba9ed2e 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -1820,11 +1820,11 @@
if("guns")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","SG")
- usr.rightandwrong(0)
+ rightandwrong(0, usr)
if("magic")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","SM")
- usr.rightandwrong(1)
+ rightandwrong(1, usr)
if("dorf")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","DF")
diff --git a/code/modules/events/wizard/invincible.dm b/code/modules/events/wizard/invincible.dm
index 34aa2e6ea18..b2cc9a803b2 100644
--- a/code/modules/events/wizard/invincible.dm
+++ b/code/modules/events/wizard/invincible.dm
@@ -9,4 +9,4 @@
for(var/mob/living/carbon/human/H in living_mob_list)
H.reagents.add_reagent("adminordrazine", 40) //100 ticks of absolute invinciblity (barring gibs)
- H << "Yes! I am invincible!"
\ No newline at end of file
+ H << "You feel invincible, nothing can hurt you!"
\ No newline at end of file
diff --git a/code/modules/events/wizard/lava.dm b/code/modules/events/wizard/lava.dm
index a3abc5fe1f1..9817430850c 100644
--- a/code/modules/events/wizard/lava.dm
+++ b/code/modules/events/wizard/lava.dm
@@ -7,7 +7,7 @@
/datum/round_event/wizard/lava/
- endWhen = 120 //2 minutes
+ endWhen = 30 //half a minutes
/datum/round_event/wizard/lava/start()
diff --git a/code/modules/events/wizard/petsplosion.dm b/code/modules/events/wizard/petsplosion.dm
index 4e74d32a4d9..d99793778d3 100644
--- a/code/modules/events/wizard/petsplosion.dm
+++ b/code/modules/events/wizard/petsplosion.dm
@@ -2,7 +2,7 @@
name = "Petsplosion"
weight = 2
typepath = /datum/round_event/wizard/petsplosion/
- max_occurrences = 3
+ max_occurrences = 1 //Exponential growth is nothing to sneeze at!
earliest_start = 0
/datum/round_event/wizard/petsplosion/
diff --git a/code/modules/events/wizard/summons.dm b/code/modules/events/wizard/summons.dm
index 67a154d5ac6..b6ea39cef65 100644
--- a/code/modules/events/wizard/summons.dm
+++ b/code/modules/events/wizard/summons.dm
@@ -6,10 +6,7 @@
earliest_start = 0
/datum/round_event/wizard/summonguns/start()
- if(!ticker.mode.wizards) return
- var/datum/mind/M = pick(ticker.mode.wizards)
- if(M.current)
- M.current.rightandwrong(0)
+ rightandwrong(0)
/datum/round_event_control/wizard/summonmagic //The Somewhat Less Classic
name = "Summon Magic"
@@ -19,7 +16,4 @@
earliest_start = 0
/datum/round_event/wizard/summonmagic/start()
- if(!ticker.mode.wizards) return
- var/datum/mind/M = pick(ticker.mode.wizards)
- if(M.current)
- M.current.rightandwrong(1)
\ No newline at end of file
+ rightandwrong(1)
\ No newline at end of file