diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 5d4104f57ac..3ceb8607eba 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1357,6 +1357,7 @@ obj/item/toy/cards/deck/syndicate/black item_state = "gun" lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/guns_righthand.dmi' + hitsound = "swing_hit" flags = CONDUCT slot_flags = SLOT_BELT materials = list(MAT_METAL=2000) @@ -1364,14 +1365,13 @@ obj/item/toy/cards/deck/syndicate/black throwforce = 5 throw_speed = 4 throw_range = 5 - force = 5.0 + force = 5 origin_tech = "combat=1" attack_verb = list("struck", "hit", "bashed") var/bullet_position = 1 - var/is_empty = 0 /obj/item/toy/russian_revolver/suicide_act(mob/user) - user.visible_message("[user] quickly loads six bullets into the [src.name]'s cylinder and points it at \his head before pulling the trigger! It looks like they are trying to commit suicide.") + user.visible_message("[user] quickly loads six bullets into [src]'s cylinder and points it at \his head before pulling the trigger! It looks like they are trying to commit suicide.") playsound(loc, 'sound/weapons/Gunshot.ogg', 50, 1) return (BRUTELOSS) @@ -1381,36 +1381,37 @@ obj/item/toy/cards/deck/syndicate/black /obj/item/toy/russian_revolver/attack_self(mob/user) - if(is_empty) - user.visible_message("[user] loads a bullet into the [src]'s cylinder.") - is_empty = 0 + if(!bullet_position) + user.visible_message("[user] loads a bullet into [src]'s cylinder.") + bullet_position = 1 else spin_cylinder() - user.visible_message("[user] spins the cylinder on the [src]!") + user.visible_message("[user] spins the cylinder on [src]!") - -/obj/item/toy/russian_revolver/attack(mob/living/carbon/M, mob/user) +/obj/item/toy/russian_revolver/attack(mob/living/carbon/human/M, mob/living/carbon/human/user) if(M != user) //can't use this on other people + return ..() + if(!bullet_position) + to_chat(user, "[src] is empty.") return - if(is_empty) - to_chat(user, "The [src] is empty.") + if(!(user.has_organ("head"))) //For sanity + to_chat(user, "Playing this game without a head would be classed as cheating.") return - user.visible_message("[user] points the [src] at their head, ready to pull the trigger!") - if(do_after(user, 30, target = M)) - if(bullet_position != 1) + user.visible_message("[user] points [src] at their head, ready to pull the trigger!") + if(do_after(user, 30, target = user)) + if(bullet_position > 1) user.visible_message("*click*") playsound(src, 'sound/weapons/empty.ogg', 100, 1) - bullet_position -= 1 + bullet_position-- return - if(bullet_position == 1) - is_empty = 1 + else + bullet_position = null playsound(src, 'sound/weapons/Gunshot.ogg', 50, 1) - user.visible_message("The [src] goes off!") - M.apply_damage(200, BRUTE, "head", sharp =1, used_weapon = "Self-inflicted gunshot wound to the head.") - M.death() + user.visible_message("[src] goes off!") + user.apply_damage(200, BRUTE, "head", sharp = 1, used_weapon = "Self-inflicted gunshot wound to the head.") + user.death() else - user.visible_message("[user] lowers the [src] from their head.") - + user.visible_message("[user] lowers [src] from their head.") /obj/item/toy/russian_revolver/proc/spin_cylinder() bullet_position = rand(1,6)