From 5a10810df72c0e7af6584ffa3a9270a096e9bb64 Mon Sep 17 00:00:00 2001 From: Incoming Date: Sun, 27 Dec 2015 21:55:53 -0500 Subject: [PATCH 1/4] Adds a buttload of guns to summon guns to bring it up to speed for 2016. I intentionally skipped any guns that had enough stopping power to OHKO a spessman from full health. adds a gun proc, Unlock() that automatically swaps whatever pin the gun has for a generic electronic one. --- code/game/gamemodes/wizard/rightandwrong.dm | 92 +++++++++++++-------- code/modules/projectiles/gun.dm | 4 +- 2 files changed, 61 insertions(+), 35 deletions(-) diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index c8acec3b497..1a1c6d24e75 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -1,7 +1,7 @@ //In this file: Summon Magic/Summon Guns/Summon Events /proc/rightandwrong(summon_type, mob/user, survivor_probability) //0 = Summon Guns, 1 = Summon Magic - 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","speargun","arg","uzi") + 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","speargun","arg","uzi","alienpistol","dragnet","turret","pulsecarbine","decloner","mindflayer","hyperkinetic","advplasmacutter","wormhole","wt550","bulldog","grenadelauncher","goldenrevolver","sniper","medibeam") var/list/magiclist = list("fireball","smoke","blind","mindswap","forcewall","knock","horsemask","charge", "summonitem", "wandnothing", "wanddeath", "wandresurrection", "wandpolymorph", "wandteleport", "wanddoor", "wandfireball", "staffchange", "staffhealing", "armor", "scrying","staffdoor","voodoo", "special") var/list/magicspeciallist = list("staffchange","staffanimation", "wandbelt", "contract", "staffchaos", "necromantic") @@ -33,65 +33,89 @@ var/randomizemagicspecial = pick(magicspeciallist) if(!summon_type) switch (randomizeguns) + var/obj/item/weapon/gun/G if("taser") - new /obj/item/weapon/gun/energy/gun/advtaser(get_turf(H)) + G = new /obj/item/weapon/gun/energy/gun/advtaser(get_turf(H)) if("egun") - new /obj/item/weapon/gun/energy/gun(get_turf(H)) + G = new /obj/item/weapon/gun/energy/gun(get_turf(H)) if("laser") - new /obj/item/weapon/gun/energy/laser(get_turf(H)) + G = new /obj/item/weapon/gun/energy/laser(get_turf(H)) if("revolver") - new /obj/item/weapon/gun/projectile/revolver(get_turf(H)) + G = new /obj/item/weapon/gun/projectile/revolver(get_turf(H)) if("detective") - new /obj/item/weapon/gun/projectile/revolver/detective(get_turf(H)) + G = new /obj/item/weapon/gun/projectile/revolver/detective(get_turf(H)) if("deagle") - new /obj/item/weapon/gun/projectile/automatic/pistol/deagle/camo(get_turf(H)) + G = 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)) + G = new /obj/item/weapon/gun/projectile/automatic/gyropistol(get_turf(H)) if("pulse") - new /obj/item/weapon/gun/energy/pulse(get_turf(H)) + G = new /obj/item/weapon/gun/energy/pulse(get_turf(H)) if("suppressed") - new /obj/item/weapon/gun/projectile/automatic/pistol(get_turf(H)) + G = new /obj/item/weapon/gun/projectile/automatic/pistol(get_turf(H)) new /obj/item/weapon/suppressor(get_turf(H)) if("doublebarrel") - new /obj/item/weapon/gun/projectile/revolver/doublebarrel(get_turf(H)) + G = new /obj/item/weapon/gun/projectile/revolver/doublebarrel(get_turf(H)) if("shotgun") - new /obj/item/weapon/gun/projectile/shotgun(get_turf(H)) + G = new /obj/item/weapon/gun/projectile/shotgun(get_turf(H)) if("combatshotgun") - new /obj/item/weapon/gun/projectile/shotgun/automatic/combat(get_turf(H)) + G = new /obj/item/weapon/gun/projectile/shotgun/automatic/combat(get_turf(H)) if("arg") - new /obj/item/weapon/gun/projectile/automatic/ar(get_turf(H)) + G = new /obj/item/weapon/gun/projectile/automatic/ar(get_turf(H)) if("mateba") - new /obj/item/weapon/gun/projectile/revolver/mateba(get_turf(H)) + G = new /obj/item/weapon/gun/projectile/revolver/mateba(get_turf(H)) if("boltaction") - new /obj/item/weapon/gun/projectile/shotgun/boltaction(get_turf(H)) + G = new /obj/item/weapon/gun/projectile/shotgun/boltaction(get_turf(H)) if("speargun") - new /obj/item/weapon/gun/projectile/automatic/speargun(get_turf(H)) + G = new /obj/item/weapon/gun/projectile/automatic/speargun(get_turf(H)) if("uzi") - new /obj/item/weapon/gun/projectile/automatic/mini_uzi(get_turf(H)) + G = new /obj/item/weapon/gun/projectile/automatic/mini_uzi(get_turf(H)) if("cannon") - var/obj/item/weapon/gun/energy/lasercannon/gat = new(get_turf(H)) - gat.pin = new /obj/item/device/firing_pin //no authentication pins for spawned guns. fun allowed. + G = new /obj/item/weapon/gun/energy/lasercannon(get_turf(H)) if("crossbow") - var/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large/gat = new(get_turf(H)) - gat.pin = new /obj/item/device/firing_pin + G = new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large(get_turf(H)) if("nuclear") - var/obj/item/weapon/gun/energy/gun/nuclear/gat = new(get_turf(H)) - gat.pin = new /obj/item/device/firing_pin + G = new /obj/item/weapon/gun/energy/gun/nuclear(get_turf(H)) if("sabr") - var/obj/item/weapon/gun/projectile/automatic/proto/gat = new(get_turf(H)) - gat.pin = new /obj/item/device/firing_pin + G = new /obj/item/weapon/gun/projectile/automatic/proto(get_turf(H)) if("bulldog") - var/obj/item/weapon/gun/projectile/automatic/shotgun/bulldog/gat = new(get_turf(H)) - gat.pin = new /obj/item/device/firing_pin + G = new /obj/item/weapon/gun/projectile/automatic/shotgun/bulldog(get_turf(H)) if("c20r") - var/obj/item/weapon/gun/projectile/automatic/c20r/gat = new(get_turf(H)) - gat.pin = new /obj/item/device/firing_pin + G = new /obj/item/weapon/gun/projectile/automatic/c20r(get_turf(H)) if("saw") - var/obj/item/weapon/gun/projectile/automatic/l6_saw/gat = new(get_turf(H)) - gat.pin = new /obj/item/device/firing_pin + G = new /obj/item/weapon/gun/projectile/automatic/l6_saw(get_turf(H)) if("car") - var/obj/item/weapon/gun/projectile/automatic/m90/gat = new(get_turf(H)) - gat.pin = new /obj/item/device/firing_pin + G = new /obj/item/weapon/gun/projectile/automatic/m90(get_turf(H)) + if("alienpistol") + G = new /obj/item/weapon/gun/energy/alien(get_turf(H)) + if("dragnet") + G = new /obj/item/weapon/gun/energy/gun/dragnet(get_turf(H)) + if("turret") + G = new /obj/item/weapon/gun/energy/gun/turret(get_turf(H)) + if("pulsecarbine") + G = new /obj/item/weapon/gun/energy/pulse/carbine(get_turf(H)) + if("decloner") + G = new /obj/item/weapon/gun/energy/decloner(get_turf(H)) + if("mindflayer") + G = new /obj/item/weapon/gun/energy/mindflayer(get_turf(H)) + if("hyperkinetic") + G = new /obj/item/weapon/gun/energy/kinetic_accelerator/hyper(get_turf(H)) + if("advplasmacutter") + G = new /obj/item/weapon/gun/energy/plasmacutter/adv(get_turf(H)) + if("wormhole") + G = new /obj/item/weapon/gun/energy/wormhole_projector(get_turf(H)) + if("wt550") + G = new /obj/item/weapon/gun/projectile/automatic/wt550(get_turf(H)) + if("bulldog") + G = new /obj/item/weapon/gun/projectile/automatic/shotgun(get_turf(H)) + if("grenadelauncher") + G = new /obj/item/weapon/gun/projectile/revolver/grenadelauncher(get_turf(H)) + if("goldenrevolver") + G = new /obj/item/weapon/gun/projectile/revolver/golden(get_turf(H)) + if("sniper") + G = new /obj/item/weapon/gun/projectile/sniper_rifle(get_turf(H)) + if("medibeam") + G = new /obj/item/weapon/gun/medbeam(get_turf(H)) + G.unlock() playsound(get_turf(H),'sound/magic/Summon_guns.ogg', 50, 1) else diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index ac922b9637a..39ed3d1983a 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -428,7 +428,9 @@ obj/item/weapon/gun/proc/newshot() process_fire(target, user, 1, params) - +/obj/item/weapon/gun/proc/unlock() //used in summon guns and as a convience for admins + if(pin) qdel(pin) + pin = new /obj/item/device/firing_pin ///////////// // ZOOMING // ///////////// From 42f13b9fe79202711743d7a3c70daf7fbb7cc07e Mon Sep 17 00:00:00 2001 From: Incoming Date: Sun, 27 Dec 2015 21:58:53 -0500 Subject: [PATCH 2/4] Whoops --- code/game/gamemodes/wizard/rightandwrong.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index 1a1c6d24e75..a46d852ae79 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -32,8 +32,8 @@ var/randomizemagic = pick(magiclist) var/randomizemagicspecial = pick(magicspeciallist) if(!summon_type) + var/obj/item/weapon/gun/G switch (randomizeguns) - var/obj/item/weapon/gun/G if("taser") G = new /obj/item/weapon/gun/energy/gun/advtaser(get_turf(H)) if("egun") From 95dbce902f4436628a9750dbe30480f42dbdb89a Mon Sep 17 00:00:00 2001 From: Incoming5643 Date: Sun, 27 Dec 2015 22:13:05 -0500 Subject: [PATCH 3/4] whoooooooops --- code/game/gamemodes/wizard/rightandwrong.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index a46d852ae79..4764b400cb9 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -115,7 +115,7 @@ G = new /obj/item/weapon/gun/projectile/sniper_rifle(get_turf(H)) if("medibeam") G = new /obj/item/weapon/gun/medbeam(get_turf(H)) - G.unlock() + G.unlock() playsound(get_turf(H),'sound/magic/Summon_guns.ogg', 50, 1) else From b7ecdf6a2fa3b29ee7f057440ac5c2949ec5dcab Mon Sep 17 00:00:00 2001 From: Incoming Date: Mon, 28 Dec 2015 20:47:32 -0500 Subject: [PATCH 4/4] Adds scatter lasers to the drop list Changes it so scatter lasers start in scatter mode to drive home the point CODING STANDARDS --- code/game/gamemodes/wizard/rightandwrong.dm | 4 +++- code/modules/projectiles/gun.dm | 4 +++- code/modules/projectiles/guns/energy/laser.dm | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index a46d852ae79..26021fcb966 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -1,7 +1,7 @@ //In this file: Summon Magic/Summon Guns/Summon Events /proc/rightandwrong(summon_type, mob/user, survivor_probability) //0 = Summon Guns, 1 = Summon Magic - 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","speargun","arg","uzi","alienpistol","dragnet","turret","pulsecarbine","decloner","mindflayer","hyperkinetic","advplasmacutter","wormhole","wt550","bulldog","grenadelauncher","goldenrevolver","sniper","medibeam") + 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","speargun","arg","uzi","alienpistol","dragnet","turret","pulsecarbine","decloner","mindflayer","hyperkinetic","advplasmacutter","wormhole","wt550","bulldog","grenadelauncher","goldenrevolver","sniper","medibeam","scatterbeam") var/list/magiclist = list("fireball","smoke","blind","mindswap","forcewall","knock","horsemask","charge", "summonitem", "wandnothing", "wanddeath", "wandresurrection", "wandpolymorph", "wandteleport", "wanddoor", "wandfireball", "staffchange", "staffhealing", "armor", "scrying","staffdoor","voodoo", "special") var/list/magicspeciallist = list("staffchange","staffanimation", "wandbelt", "contract", "staffchaos", "necromantic") @@ -115,6 +115,8 @@ G = new /obj/item/weapon/gun/projectile/sniper_rifle(get_turf(H)) if("medibeam") G = new /obj/item/weapon/gun/medbeam(get_turf(H)) + if("scatterbeam") + G = new /obj/item/weapon/gun/energy/laser/scatter(get_turf(H)) G.unlock() playsound(get_turf(H),'sound/magic/Summon_guns.ogg', 50, 1) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 39ed3d1983a..51e0a7822be 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -429,8 +429,10 @@ obj/item/weapon/gun/proc/newshot() process_fire(target, user, 1, params) /obj/item/weapon/gun/proc/unlock() //used in summon guns and as a convience for admins - if(pin) qdel(pin) + if(pin) + qdel(pin) pin = new /obj/item/device/firing_pin + ///////////// // ZOOMING // ///////////// diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index e2659248250..ea52cf11f12 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -39,7 +39,7 @@ item_state = "laser" desc = "An industrial-grade heavy-duty laser rifle with a modified laser lense to scatter its shot into multiple smaller lasers. The inner-core can self-charge for theorically infinite use." origin_tech = "combat=5;materials=4;powerstorage=4" - ammo_type = list(/obj/item/ammo_casing/energy/laser, /obj/item/ammo_casing/energy/laser/scatter) + ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter, /obj/item/ammo_casing/energy/laser) /obj/item/weapon/gun/energy/laser/cyborg can_charge = 0 @@ -55,7 +55,7 @@ /obj/item/weapon/gun/energy/laser/scatter name = "scatter laser gun" desc = "A laser gun equipped with a refraction kit that spreads bolts." - ammo_type = list(/obj/item/ammo_casing/energy/laser, /obj/item/ammo_casing/energy/laser/scatter) + ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter, /obj/item/ammo_casing/energy/laser) /obj/item/weapon/gun/energy/lasercannon name = "laser cannon"