From c9f69869f21e295a40e263a77af7f2db0ff78d68 Mon Sep 17 00:00:00 2001 From: Incoming Date: Sat, 14 Dec 2013 19:40:58 -0500 Subject: [PATCH] Aranclanos Fix Omnibus *Removes zapping oneself by attackselfing a wand, leaving clicking yourself while holding the wand the only way to do it because... *Removes the warnings for zapping yourself with bad wands. Careful with that wand of death, kids! *Removed some redundant lines *Adds logging/sounds to zapping yourself *Removed the change to wizard_continuous_rounds. It will become it's own PR *Removed some redundant lines *Uses the mob/living revive() proc to heal/raise people using the wand/staff of animation --- code/game/gamemodes/wizard/spellbook.dm | 1 - code/game/gamemodes/wizard/wizard.dm | 11 +---- code/modules/projectiles/guns/magic.dm | 3 -- code/modules/projectiles/guns/magic/wand.dm | 48 +++++++------------- code/modules/projectiles/projectile/magic.dm | 15 +----- 5 files changed, 18 insertions(+), 60 deletions(-) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 375a5129c4a..36417f0bd36 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -422,7 +422,6 @@ /obj/item/weapon/spellbook/oneuse/knock/recoil(mob/user as mob) ..() user <<"You're knocked down!" - user.Stun(20) user.Weaken(20) /obj/item/weapon/spellbook/oneuse/horsemask diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 5bbe1a8def6..c89560986df 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -178,7 +178,6 @@ return ..() var/wizards_alive = 0 - var/traitors_alive = 0 for(var/datum/mind/wizard in wizards) if(!istype(wizard.current,/mob/living/carbon)) continue @@ -186,15 +185,7 @@ continue wizards_alive++ - if(!wizards_alive) - for(var/datum/mind/traitor in traitors) - if(!istype(traitor.current,/mob/living/carbon)) - continue - if(traitor.current.stat==2) - continue - traitors_alive++ - - if (wizards_alive || traitors_alive) + if (wizards_alive) return ..() else finished = 1 diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index c47289e6ca4..b5146ca47ed 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -16,9 +16,6 @@ origin_tech = null clumsy_check = 0 -/obj/item/weapon/gun/magic/emp_act(severity) - return - /obj/item/weapon/gun/magic/process_chambered() if(in_chamber) return 1 if(!charges) return 0 diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index f83a0206be7..1bfc24b7ba2 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -22,13 +22,6 @@ usr << "Has [charges] charge\s remaining." return -/obj/item/weapon/gun/magic/wand/attack_self(mob/living/user as mob) - if(charges) - zap_self(user) - else - user << "The [name] whizzles quietly." - ..() - /obj/item/weapon/gun/magic/wand/attack(atom/target as mob, mob/living/user as mob) if(target == user) return @@ -39,12 +32,14 @@ if(charges) zap_self(user) else - user << "The [name] whizzles quietly." + user << "The [name] whizzles quietly." else ..() /obj/item/weapon/gun/magic/wand/proc/zap_self(mob/living/user as mob) user.visible_message("[user] zaps \himself with [src]!") + playsound(user, fire_sound, 50, 1) + user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] zapped \himself with a [src]" /obj/item/weapon/gun/magic/wand/death name = "wand of death" @@ -54,13 +49,12 @@ max_charges = 3 //3, 2, 2, 1 /obj/item/weapon/gun/magic/wand/death/zap_self(mob/living/user as mob) - if(alert(user, "You really want to zap yourself with the wand of death?",, "Yes", "No") == "Yes" && charges && user.get_active_hand() == src && isliving(user)) - var/message ="You irradiate yourself with pure energy! " - message += pick("Do not pass go. Do not collect 200 zorkmids.","You feel more confident in your spell casting skills.","You Die...","Do you want your possessions identified?") - user << message - user.adjustOxyLoss(500) - charges-- - ..() + var/message ="You irradiate yourself with pure energy! " + message += pick("Do not pass go. Do not collect 200 zorkmids.","You feel more confident in your spell casting skills.","You Die...","Do you want your possessions identified?") + user << message + user.adjustOxyLoss(500) + charges-- + ..() /obj/item/weapon/gun/magic/wand/resurrection name = "wand of resurrection" @@ -70,15 +64,7 @@ max_charges = 3 //3, 2, 2, 1 /obj/item/weapon/gun/magic/wand/resurrection/zap_self(mob/living/user as mob) - user.setToxLoss(0) - user.setOxyLoss(0) - user.setCloneLoss(0) - user.SetParalysis(0) - user.SetStunned(0) - user.SetWeakened(0) - user.radiation = 0 - user.heal_overall_damage(user.getBruteLoss(), user.getFireLoss()) - user.reagents.clear_reagents() + user.revive() user << "You feel great!" charges-- ..() @@ -91,10 +77,9 @@ max_charges = 10 //10, 5, 5, 4 /obj/item/weapon/gun/magic/wand/polymorph/zap_self(mob/living/user as mob) - if(alert(user, "Your new form might not have arms to zap with... Continue?",, "Yes", "No") == "Yes" && charges && user.get_active_hand() == src && isliving(user)) - ..() //because the user mob ceases to exists by the time wabbajack fully resolves - wabbajack(user) - charges-- + ..() //because the user mob ceases to exists by the time wabbajack fully resolves + wabbajack(user) + charges-- /obj/item/weapon/gun/magic/wand/teleport name = "wand of teleportation" @@ -129,7 +114,6 @@ max_charges = 8 //8, 4, 4, 3 /obj/item/weapon/gun/magic/wand/fireball/zap_self(mob/living/user as mob) - if(alert(user, "Zapping yourself with a wand of fireball is probably a bad idea, do it anyway?",, "Yes", "No") == "Yes" && charges && user.get_active_hand() == src && isliving(user)) - explosion(user.loc, -1, 0, 2, 3, 0, flame_range = 2) - charges-- - ..() \ No newline at end of file + explosion(user.loc, -1, 0, 2, 3, 0, flame_range = 2) + charges-- + ..() \ No newline at end of file diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 974e7ab7e37..bec53531f8b 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -38,20 +38,7 @@ if(istype(target,/mob)) var/old_stat = target.stat - if(target.stat == DEAD) - dead_mob_list -= target - living_mob_list += target - target.stat = CONSCIOUS - target.tod = null - target.setToxLoss(0) - target.setOxyLoss(0) - target.setCloneLoss(0) - target.SetParalysis(0) - target.SetStunned(0) - target.SetWeakened(0) - target.radiation = 0 - target.heal_overall_damage(target.getBruteLoss(), target.getFireLoss()) - target.reagents.clear_reagents() + target.revive() target.suiciding = 0 if(!target.ckey) for(var/mob/dead/observer/ghost in player_list)