From 9ff52f91a891f9ea5bea77b7803209e889e9c44b Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Fri, 29 Jan 2016 22:54:07 -0500 Subject: [PATCH] Updates Summon Guns --- code/datums/spell.dm | 4 +- code/game/gamemodes/wizard/rightandwrong.dm | 66 ++++++++++++++------- 2 files changed, 49 insertions(+), 21 deletions(-) diff --git a/code/datums/spell.dm b/code/datums/spell.dm index ec1c34fee60..236b7c8e9b1 100644 --- a/code/datums/spell.dm +++ b/code/datums/spell.dm @@ -65,7 +65,9 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin caster.reset_view(0) return 0 - if((user.z in config.admin_levels) && !centcom_cancast) //Certain spells are not allowed on the centcom zlevel + if(user.z == ZLEVEL_CENTCOMM && !centcom_cancast) //Certain spells are not allowed on the centcom zlevel + return 0 + if(user.z == ZLEVEL_CENTCOMM && ticker.mode.name == "ragin' mages") return 0 if(!skipcharge) diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index d0c6f059f26..b6052320615 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -1,15 +1,19 @@ /mob/proc/rightandwrong(var/summon_type) //0 = Summon Guns, 1 = Summon Magic - var/list/gunslist = list("taser","egun","laser","revolver","detective","c20r","nuclear","deagle","gyrojet","pulse","silenced","cannon","doublebarrel","shotgun","combatshotgun","bulldog","mateba","sabr","crossbow","saw","car","boltaction","arg") - var/list/magiclist = list("fireball","smoke","blind","mindswap","forcewall","knock","horsemask","charge", "summonitem", "wandnothing", "wanddeath", "wandresurrection", "wandpolymorph", "wandteleport", "wanddoor", "wandfireball", "staffhealing", "armor", "scrying", "staffdoor", "special","voodoo") + var/list/gunslist = list("taser","egun","laser","revolver","detective","c20r","nuclear","deagle","gyrojet","pulse","suppressed","cannon","doublebarrel","shotgun","combatshotgun","bulldog","mateba","sabr","crossbow","saw","car","boltaction","arg","uzi","turret","pulsecarbine","decloner","mindflayer","hyperkinetic","advplasmacutter","wormhole","wt550","grenadelauncher","medibeam") + var/list/magiclist = list("fireball","smoke","blind","mindswap","forcewall","knock","horsemask","charge", "summonitem", "wandnothing", "wanddeath", "wandresurrection", "wandpolymorph", "wandteleport", "wanddoor", "wandfireball", "staffhealing", "armor", "scrying", "staffdoor", "special","voodoo","special") var/list/magicspeciallist = list("staffchange","staffanimation", "wandbelt", "contract", "staffchaos","necromantic") + usr << "You summoned [summon_type ? "magic" : "guns"]!" message_admins("[key_name_admin(usr)] summoned [summon_type ? "magic" : "guns"]!") + for(var/mob/living/carbon/human/H in player_list) - if(H.stat == 2 || !(H.client)) continue + if(H.stat == 2 || !(H.client)) + continue if(H.mind) - if(H.mind.special_role == "Wizard" || H.mind.special_role == "apprentice") continue + if(H.mind.special_role == "Wizard" || H.mind.special_role == "apprentice") + continue var/randomizeguns = pick(gunslist) var/randomizemagic = pick(magiclist) var/randomizemagicspecial = pick(magicspeciallist) @@ -25,43 +29,65 @@ new /obj/item/weapon/gun/projectile/revolver(get_turf(H)) if("detective") new /obj/item/weapon/gun/projectile/revolver/detective(get_turf(H)) - if("c20r") - new /obj/item/weapon/gun/projectile/automatic/c20r(get_turf(H)) - if("nuclear") - new /obj/item/weapon/gun/energy/gun/nuclear(get_turf(H)) if("deagle") new /obj/item/weapon/gun/projectile/automatic/pistol/deagle/camo(get_turf(H)) if("gyrojet") new /obj/item/weapon/gun/projectile/automatic/gyropistol(get_turf(H)) if("pulse") new /obj/item/weapon/gun/energy/pulse_rifle(get_turf(H)) - if("silenced") + if("suppressed") new /obj/item/weapon/gun/projectile/automatic/pistol(get_turf(H)) new /obj/item/weapon/suppressor(get_turf(H)) - if("cannon") - new /obj/item/weapon/gun/energy/lasercannon(get_turf(H)) if("doublebarrel") new /obj/item/weapon/gun/projectile/revolver/doublebarrel(get_turf(H)) if("shotgun") - new /obj/item/weapon/gun/projectile/shotgun/(get_turf(H)) + new /obj/item/weapon/gun/projectile/shotgun(get_turf(H)) if("combatshotgun") new /obj/item/weapon/gun/projectile/shotgun/automatic/combat(get_turf(H)) - if("bulldog") - new /obj/item/weapon/gun/projectile/automatic/shotgun/bulldog(get_turf(H)) if("arg") new /obj/item/weapon/gun/projectile/automatic/ar(get_turf(H)) if("mateba") new /obj/item/weapon/gun/projectile/revolver/mateba(get_turf(H)) + if("boltaction") + new /obj/item/weapon/gun/projectile/shotgun/boltaction(get_turf(H)) + if("uzi") + new /obj/item/weapon/gun/projectile/automatic/mini_uzi(get_turf(H)) + if("cannon") + new /obj/item/weapon/gun/energy/lasercannon(get_turf(H)) + if("crossbow") + new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large(get_turf(H)) + if("nuclear") + new /obj/item/weapon/gun/energy/gun/nuclear(get_turf(H)) if("sabr") new /obj/item/weapon/gun/projectile/automatic/proto(get_turf(H)) - if("crossbow") - new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow(get_turf(H)) + if("bulldog") + new /obj/item/weapon/gun/projectile/automatic/shotgun/bulldog(get_turf(H)) + if("c20r") + new /obj/item/weapon/gun/projectile/automatic/c20r(get_turf(H)) if("saw") new /obj/item/weapon/gun/projectile/automatic/l6_saw(get_turf(H)) if("car") new /obj/item/weapon/gun/projectile/automatic/m90(get_turf(H)) - if("boltaction") - new /obj/item/weapon/gun/projectile/shotgun/boltaction(get_turf(H)) + if("turret") + new /obj/item/weapon/gun/energy/gun/turret(get_turf(H)) + if("pulsecarbine") + new /obj/item/weapon/gun/energy/pulse_rifle/carbine(get_turf(H)) + if("decloner") + new /obj/item/weapon/gun/energy/decloner(get_turf(H)) + if("mindflayer") + new /obj/item/weapon/gun/energy/mindflayer(get_turf(H)) + if("hyperkinetic") + new /obj/item/weapon/gun/energy/kinetic_accelerator/hyper(get_turf(H)) + if("advplasmacutter") + new /obj/item/weapon/gun/energy/plasmacutter/adv(get_turf(H)) + if("wormhole") + new /obj/item/weapon/gun/energy/wormhole_projector(get_turf(H)) + if("wt550") + new /obj/item/weapon/gun/projectile/automatic/wt550(get_turf(H)) + if("grenadelauncher") + new /obj/item/weapon/gun/projectile/revolver/grenadelauncher(get_turf(H)) + if("medibeam") + new /obj/item/weapon/gun/medbeam(get_turf(H)) else switch (randomizemagic) if("fireball") @@ -80,6 +106,8 @@ new /obj/item/weapon/spellbook/oneuse/horsemask(get_turf(H)) if("charge") new /obj/item/weapon/spellbook/oneuse/charge(get_turf(H)) + if("summonitem") + new /obj/item/weapon/spellbook/oneuse/summonitem(get_turf(H)) if("wandnothing") new /obj/item/weapon/gun/magic/wand(get_turf(H)) if("wanddeath") @@ -109,10 +137,8 @@ H.see_in_dark = 8 H.see_invisible = SEE_INVISIBLE_LEVEL_TWO H << "The walls suddenly disappear." - if("voodoo") new /obj/item/voodoo(get_turf(H)) - if("special") magiclist -= "special" //only one super OP item per summoning max switch (randomizemagicspecial)