From 0acaebb8446973c4f952ce5a5cbb4da0ec764d10 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Sat, 20 Feb 2016 15:20:12 -0600 Subject: [PATCH 1/3] Cursed Revolver --- code/game/gamemodes/wizard/soulstone.dm | 11 +++++----- .../projectiles/guns/projectile/revolver.dm | 20 +++++++++++++++++-- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index f0248c3076e..e23b8666171 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -224,18 +224,19 @@ S.name = "Shade of [T.real_name]" S.real_name = "Shade of [T.real_name]" S.key = T.key - S.faction |= "\ref[U]" //Add the master as a faction, allowing inter-mob cooperation - if(iscultist(U)) + if(U) + S.faction |= "\ref[U]" //Add the master as a faction, allowing inter-mob cooperation + if(U && iscultist(U)) ticker.mode.add_cultist(S.mind,2) S.cancel_camera() C.icon_state = "soulstone2" C.name = "Soul Stone: [S.real_name]" - if(iswizard(U) || usability) + if(U && iswizard(U) || usability) S << "Your soul has been captured! You are now bound to [U.real_name]'s will. Help them succeed in their goals at all costs." - else if(iscultist(U)) + else if(U && iscultist(U)) S << "Your soul has been captured! You are now bound to the cult's will. Help them succeed in their goals at all costs." C.imprinted = "[S.name]" - if(vic) + if(vic && U) U << "Capture successful!: [T.real_name]'s soul has been ripped from their body and stored within the soul stone." U << "The soulstone has been imprinted with [S.real_name]'s mind, it will no longer react to other souls." diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index eb588cfa157..3b8146f1a6f 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -251,11 +251,27 @@ var/obj/item/organ/limb/affecting = H.get_organ(check_zone(user.zone_selected)) var/limb_name = affecting.getDisplayName() if(affecting.name == "head" || affecting.name == "eyes" || affecting.name == "mouth") - user.apply_damage(300, BRUTE, affecting) - user.visible_message("[user.name] fires [src] at \his head!", "You fire [src] at your head!", "You hear a gunshot!") + shoot_self(user, affecting) else user.visible_message("[user.name] cowardly fires [src] at \his [limb_name]!", "You cowardly fire [src] at your [limb_name]!", "You hear a gunshot!") return user.visible_message("*click*") playsound(user, 'sound/weapons/empty.ogg', 100, 1) + + +/obj/item/weapon/gun/projectile/revolver/russian/proc/shoot_self(mob/living/carbon/human/user, affecting = "head") + user.apply_damage(300, BRUTE, affecting) + user.visible_message("[user.name] fires [src] at \his head!", "You fire [src] at your head!", "You hear a gunshot!") + +/obj/item/weapon/gun/projectile/revolver/russian/soul + name = "\improper cursed russian revolver" + desc = "To play with this revolver requires wagering your very soul." + +/obj/item/weapon/gun/projectile/revolver/russian/soul/shoot_self(mob/living/user) + ..() + var/obj/item/device/soulstone/anybody/SS = new /obj/item/device/soulstone/anybody(get_turf(src)) + if(!SS.transfer_soul("FORCE", user)) //Something went wrong + qdel(SS) + return + user.visible_message("[user.name]'s soul is captured by \the [src]!", "You've lost the gamble! Your soul is forfiet!") \ No newline at end of file From f0554d432d46ccd9e531e02c4ee25e0c0408cad2 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Sat, 20 Feb 2016 15:22:27 -0600 Subject: [PATCH 2/3] Excess whitespace removal --- code/modules/projectiles/guns/projectile/revolver.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 3b8146f1a6f..68aeeebcd52 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -259,13 +259,12 @@ user.visible_message("*click*") playsound(user, 'sound/weapons/empty.ogg', 100, 1) - /obj/item/weapon/gun/projectile/revolver/russian/proc/shoot_self(mob/living/carbon/human/user, affecting = "head") user.apply_damage(300, BRUTE, affecting) user.visible_message("[user.name] fires [src] at \his head!", "You fire [src] at your head!", "You hear a gunshot!") /obj/item/weapon/gun/projectile/revolver/russian/soul - name = "\improper cursed russian revolver" + name = "cursed russian revolver" desc = "To play with this revolver requires wagering your very soul." /obj/item/weapon/gun/projectile/revolver/russian/soul/shoot_self(mob/living/user) From 03e205b7b1d53262cdb98808bf210e8779857d74 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Sun, 21 Feb 2016 23:04:05 -0600 Subject: [PATCH 3/3] Missing parantheses --- code/game/gamemodes/wizard/soulstone.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index e23b8666171..bc6e64bdacc 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -231,7 +231,7 @@ S.cancel_camera() C.icon_state = "soulstone2" C.name = "Soul Stone: [S.real_name]" - if(U && iswizard(U) || usability) + if(U && (iswizard(U) || usability)) S << "Your soul has been captured! You are now bound to [U.real_name]'s will. Help them succeed in their goals at all costs." else if(U && iscultist(U)) S << "Your soul has been captured! You are now bound to the cult's will. Help them succeed in their goals at all costs."