From a8737f8ae4e43298de9f655307e9a591b7ca79da Mon Sep 17 00:00:00 2001 From: Incoming Date: Sun, 14 Sep 2014 03:36:38 -0400 Subject: [PATCH] Stops the exponential hell of petsplosion happening more than once a round it turns out we didn't need 6000 mice Reduces the lava event from "lets slay all idlers and stop all action for 2 minutes" to "lets greviously wound all idlers and stop all action for 30 seconds" Makes summon magic/summon guns work fine without a mob attached, this prevents a runtime and some odd messages to the admins Makes the inviciblity text jive better. --- code/game/gamemodes/wizard/rightandwrong.dm | 9 +++++---- code/game/gamemodes/wizard/spellbook.dm | 4 ++-- code/modules/admin/topic.dm | 4 ++-- code/modules/events/wizard/invincible.dm | 2 +- code/modules/events/wizard/lava.dm | 2 +- code/modules/events/wizard/petsplosion.dm | 2 +- code/modules/events/wizard/summons.dm | 10 ++-------- 7 files changed, 14 insertions(+), 19 deletions(-) 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