diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index f0248c3076e..bc6e64bdacc 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..68aeeebcd52 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -251,11 +251,26 @@ 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 = "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