From 9cb93925517aacf810dd21794bbe3ef7b815429e Mon Sep 17 00:00:00 2001 From: 1080pCat <96908085+1080pCat@users.noreply.github.com> Date: Wed, 1 Jan 2025 14:01:55 +1000 Subject: [PATCH] Removes the fake fake trick revolver, and the weird old (cursed)russian one (#27435) * Removes the fake fake trick revolver, and the weird russian one * ARRGUH * Update code/game/objects/items/toys.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> * Update code/game/objects/items/toys.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> * i hate merge conflicts * AAAAAAAAAAAAAGHu --------- Signed-off-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> --- .../LavaRuins/lavaland_surface_greed.dmm | 2 +- .../RandomRuins/SpaceRuins/derelict5.dmm | 2 +- _maps/map_files/stations/boxstation.dmm | 2 +- _maps/map_files/stations/cerestation.dmm | 27 +++-- _maps/map_files/stations/deltastation.dmm | 44 ++++---- _maps/map_files/stations/emeraldstation.dmm | 2 +- _maps/map_files/stations/metastation.dmm | 2 +- code/game/objects/items/toys.dm | 70 ++---------- .../projectiles/guns/projectile/revolver.dm | 105 ------------------ 9 files changed, 53 insertions(+), 203 deletions(-) diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm index b701d975b9d..2b638494762 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm @@ -14,7 +14,7 @@ /area/ruin/powered/greed) "e" = ( /obj/structure/table/wood/poker, -/obj/item/gun/projectile/revolver/russian/soul, +/obj/item/toy/russian_revolver/soul, /obj/machinery/light/small{ dir = 1 }, diff --git a/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm b/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm index 4435ee1f2c5..a57154509b6 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm @@ -172,7 +172,7 @@ /area/ruin/space/unpowered) "xQ" = ( /obj/structure/table, -/obj/item/gun/projectile/revolver/russian, +/obj/item/toy/russian_revolver, /turf/simulated/floor/plasteel, /area/ruin/space/unpowered) "yq" = ( diff --git a/_maps/map_files/stations/boxstation.dmm b/_maps/map_files/stations/boxstation.dmm index 1a26fc8f15a..b635a75832e 100644 --- a/_maps/map_files/stations/boxstation.dmm +++ b/_maps/map_files/stations/boxstation.dmm @@ -64445,7 +64445,7 @@ /obj/structure/safe/floor{ known_by = list("captain") }, -/obj/item/gun/projectile/revolver/russian, +/obj/item/toy/russian_revolver, /obj/item/reagent_containers/drinks/bottle/absinthe/premium, /obj/item/lighter/zippo/nt_rep, /obj/item/storage/fancy/cigarettes/cigpack_robustgold, diff --git a/_maps/map_files/stations/cerestation.dmm b/_maps/map_files/stations/cerestation.dmm index cf543394d43..9bde68fd932 100644 --- a/_maps/map_files/stations/cerestation.dmm +++ b/_maps/map_files/stations/cerestation.dmm @@ -2733,10 +2733,11 @@ /obj/structure/safe/floor{ known_by = list("captain") }, +/obj/item/toy/russian_revolver, +/obj/item/reagent_containers/drinks/bottle/absinthe/premium, /obj/item/lighter/zippo/nt_rep, -/obj/item/toy/figure/crew/captain, -/obj/item/gun/projectile/revolver/russian, /obj/item/storage/fancy/cigarettes/cigpack_robustgold, +/obj/item/toy/figure/crew/captain, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/carpet/royalblack, /area/station/command/office/captain) @@ -39074,6 +39075,17 @@ icon_state = "floorgrime" }, /area/station/security/permabrig) +"hhl" = ( +/obj/structure/cable/orange{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/blood/old, +/obj/item/toy/russian_revolver, +/obj/effect/landmark/spawner/rev, +/turf/simulated/floor/wood, +/area/station/maintenance/gambling_den) "hhs" = ( /obj/structure/fence{ dir = 4 @@ -82799,15 +82811,6 @@ icon_state = "arrival" }, /area/station/hallway/secondary/entry/east) -"sls" = ( -/obj/structure/cable/orange{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/blood/old, -/obj/item/gun/projectile/revolver/russian, -/obj/effect/landmark/spawner/rev, -/turf/simulated/floor/wood, -/area/station/maintenance/gambling_den) "slw" = ( /obj/structure/gunrack, /obj/item/gun/projectile/shotgun/riot{ @@ -130203,7 +130206,7 @@ dgP dgP dgP jyM -sls +hhl nmx eMb hUU diff --git a/_maps/map_files/stations/deltastation.dmm b/_maps/map_files/stations/deltastation.dmm index be717ee4626..142f79b280f 100644 --- a/_maps/map_files/stations/deltastation.dmm +++ b/_maps/map_files/stations/deltastation.dmm @@ -57248,6 +57248,28 @@ }, /turf/simulated/floor/plasteel, /area/station/security/permabrig) +"etC" = ( +/obj/structure/safe/floor{ + known_by = list("captain") + }, +/obj/item/toy/russian_revolver, +/obj/item/reagent_containers/drinks/bottle/absinthe/premium, +/obj/item/lighter/zippo/nt_rep, +/obj/item/storage/fancy/cigarettes/cigpack_robustgold, +/obj/item/toy/figure/crew/captain, +/obj/effect/mapping_helpers/airlock/windoor/access/any/security/doors{ + dir = 8 + }, +/obj/machinery/door/window{ + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/carpet/black, +/area/station/command/office/captain/bedroom) "etR" = ( /obj/structure/extinguisher_cabinet{ name = "east bump"; @@ -74026,26 +74048,6 @@ }, /turf/simulated/floor/plasteel/dark, /area/station/engineering/gravitygenerator) -"nYv" = ( -/obj/machinery/door/window{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/windoor/access/any/security/doors{ - dir = 8 - }, -/obj/structure/safe/floor{ - known_by = list("captain") - }, -/obj/item/gun/projectile/revolver/russian, -/obj/item/reagent_containers/drinks/bottle/absinthe/premium, -/obj/item/lighter/zippo/nt_rep, -/obj/item/storage/fancy/cigarettes/cigpack_robustgold, -/obj/item/toy/figure/crew/captain, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor/carpet/black, -/area/station/command/office/captain/bedroom) "nYw" = ( /turf/simulated/floor/plasteel, /area/station/maintenance/fore) @@ -136619,7 +136621,7 @@ bYD bYD bYD car -nYv +etC cdY bYD chy diff --git a/_maps/map_files/stations/emeraldstation.dmm b/_maps/map_files/stations/emeraldstation.dmm index 79307aebe15..086242ff87a 100644 --- a/_maps/map_files/stations/emeraldstation.dmm +++ b/_maps/map_files/stations/emeraldstation.dmm @@ -46236,7 +46236,7 @@ known_by = list("captain") }, /obj/item/reagent_containers/drinks/bottle/absinthe/premium, -/obj/item/gun/projectile/revolver/russian, +/obj/item/toy/russian_revolver, /obj/item/lighter/zippo/nt_rep, /obj/item/storage/fancy/cigarettes/cigpack_robustgold, /obj/item/toy/figure/crew/captain, diff --git a/_maps/map_files/stations/metastation.dmm b/_maps/map_files/stations/metastation.dmm index e2188f2b55f..498f6efd9b1 100644 --- a/_maps/map_files/stations/metastation.dmm +++ b/_maps/map_files/stations/metastation.dmm @@ -19643,7 +19643,7 @@ /obj/structure/safe/floor{ known_by = list("captain") }, -/obj/item/gun/projectile/revolver/russian, +/obj/item/toy/russian_revolver, /obj/item/reagent_containers/drinks/bottle/absinthe/premium, /obj/item/lighter/zippo/nt_rep, /obj/item/storage/fancy/cigarettes/cigpack_robustgold, diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index a1bf9fb3bb6..8190b14d1a4 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1485,6 +1485,7 @@ attack_verb = list("struck", "hit", "bashed") var/bullets_left = 0 var/max_shots = 6 + var/cursed_shot = FALSE /obj/item/toy/russian_revolver/suicide_act(mob/user) user.visible_message("[user] quickly loads six bullets into [src]'s cylinder and points it at [user.p_their()] head before pulling the trigger! It looks like [user.p_theyre()] trying to commit suicide!") @@ -1537,6 +1538,11 @@ playsound(src, 'sound/weapons/gunshots/gunshot_strong.ogg', 50, 1) user.visible_message("[src] goes off!") post_shot(user) + if(cursed_shot) + var/obj/item/soulstone/anybody/SS = new /obj/item/soulstone/anybody(get_turf(src)) + SS.transfer_soul("FORCE", user) + user.death(FALSE) + user.visible_message("[user.name]'s soul is captured by [src]!", "You've lost the gamble! Your soul is forfeit!") user.apply_damage(300, BRUTE, zone, sharp = TRUE, used_weapon = "Self-inflicted gunshot wound to the [zone].") user.bleed(BLOOD_VOLUME_NORMAL) user.death() // Just in case @@ -1547,66 +1553,10 @@ to_chat(user, "[src] needs to be reloaded.") return FALSE -/obj/item/toy/russian_revolver/trick_revolver - name = "\improper .357 revolver" - desc = "A suspicious revolver. Uses .357 ammo." - icon_state = "revolver" - max_shots = 1 - var/fake_bullets = 0 - -/obj/item/toy/russian_revolver/trick_revolver/New() - ..() - fake_bullets = rand(2, 7) - -/obj/item/toy/russian_revolver/trick_revolver/examine(mob/user) //Sneaky sneaky - . = ..() - . += "Use a pen on it to rename it." - . += "Has [fake_bullets] round\s remaining." - . += "Use in hand to empty the gun's ammo reserves." - . += "[fake_bullets] of those are live rounds." - . += "You can Alt-Click [src] to spin it's barrel." - -/obj/item/toy/russian_revolver/trick_revolver/post_shot(user) - to_chat(user, "[src] did look pretty dodgey!") - SEND_SOUND(user, sound('sound/misc/sadtrombone.ogg')) //HONK - -/obj/item/toy/russian_revolver/trick_revolver/AltClick(mob/user) - if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) - return - - to_chat(user, "You go to spin the chamber... and it goes off in your face!") - shoot_gun(user) - -/obj/item/toy/russian_revolver/trick_revolver/activate_self(mob/user) - if(..()) - return - if(!bullets_left) //You can re-arm the trap... - user.visible_message("[user] loads a bullet into [src]'s cylinder before spinning it.") - spin_cylinder() - else //But if you try to spin it to see if it was fake... - user.visible_message("[user] tries to empty [src], but it goes off in their face!") - shoot_gun(user) - -/obj/item/toy/russian_revolver/trick_revolver/attack_by(obj/item/attacking, mob/user, params) - if(..()) - return FINISH_ATTACK - if(is_pen(attacking)) - to_chat(user, "You go to write on [src].. and it goes off in your face!") - shoot_gun(user) - if(istype(attacking, /obj/item/ammo_casing/a357)) - to_chat(user, "You go to load a bullet into [src].. and it goes off in your face!") - shoot_gun(user) - if(istype(attacking, /obj/item/ammo_box/a357)) - to_chat(user, "You go to speedload [src].. and it goes off in your face!") - shoot_gun(user) - -/obj/item/toy/russian_revolver/trick_revolver/run_pointed_on_item(mob/pointer_mob, atom/target_atom) - if(target_atom != src) - pointer_mob.visible_message("[pointer_mob] points [src] at- and [src] goes off in their hand!") - shoot_gun(pointer_mob) - return TRUE - return ..() - +/obj/item/toy/russian_revolver/soul + name = "cursed russian revolver" + desc = "To play with this revolver requires wagering your very soul." + cursed_shot = TRUE /* * Rubber Chainsaw */ diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 8a82da35600..ff3ef65d932 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -197,111 +197,6 @@ origin_tech = "combat=3;biotech=5" mag_type = /obj/item/ammo_box/magazine/internal/overgrown -// A gun to play Russian Roulette! -// You can spin the chamber to randomize the position of the bullet. - -/obj/item/gun/projectile/revolver/russian - name = "\improper Russian Revolver" - desc = "A Russian-made revolver for drinking games. Uses .357 ammo, and has a mechanism that spins the chamber before each trigger pull." - icon_state = "russian_revolver" - origin_tech = "combat=2;materials=2" - mag_type = /obj/item/ammo_box/magazine/internal/rus357 - var/spun = 0 - - -/obj/item/gun/projectile/revolver/russian/Initialize(mapload) - . = ..() - Spin() - update_icon() - -/obj/item/gun/projectile/revolver/russian/proc/Spin() - chambered = null - var/random = rand(1, magazine.max_ammo) - if(random <= get_ammo(0,0)) - chamber_round() - spun = 1 - -/obj/item/gun/projectile/revolver/russian/attackby__legacy__attackchain(obj/item/A, mob/user, params) - var/num_loaded = ..() - if(num_loaded) - user.visible_message("[user] loads a single bullet into the revolver and spins the chamber.", "You load a single bullet into the chamber and spin it.") - else - user.visible_message("[user] spins the chamber of the revolver.", "You spin the revolver's chamber.") - if(get_ammo() > 0) - Spin() - update_icon() - A.update_icon() - return - -/obj/item/gun/projectile/revolver/russian/attack_self__legacy__attackchain(mob/user) - if(!spun && can_shoot()) - user.visible_message("[user] spins the chamber of the revolver.", "You spin the revolver's chamber.") - Spin() - else - var/num_unloaded = 0 - while(get_ammo() > 0) - var/obj/item/ammo_casing/CB - CB = magazine.get_round() - chambered = null - CB.loc = get_turf(loc) - CB.update_icon() - playsound(get_turf(CB), "casingdrop", 60, 1) - num_unloaded++ - if(num_unloaded) - to_chat(user, "You unload [num_unloaded] shell\s from [src].") - else - to_chat(user, "[src] is empty.") - -/obj/item/gun/projectile/revolver/russian/afterattack__legacy__attackchain(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params) - if(flag) - if(!(target in user.contents) && ismob(target)) - if(user.a_intent == INTENT_HARM) // Flogging action - return - - if(isliving(user)) - if(!can_trigger_gun(user)) - return - if(target != user) - if(ismob(target)) - to_chat(user, "A mechanism prevents you from shooting anyone but yourself!") - return - - if(ishuman(user)) - if(!spun) - to_chat(user, "You need to spin the revolver's chamber first!") - return - - spun = 0 - - if(chambered) - var/obj/item/ammo_casing/AC = chambered - if(AC.fire(user, user, firer_source_atom = src)) - playsound(user, fire_sound, 50, 1) - var/zone = check_zone(user.zone_selected) - if(zone == "head" || zone == "eyes" || zone == "mouth") - shoot_self(user, zone) - else - user.visible_message("[user.name] cowardly fires [src] at [user.p_their()] [zone]!", "You cowardly fire [src] at your [zone]!", "You hear a gunshot!") - return - - user.visible_message("*click*") - playsound(user, 'sound/weapons/empty.ogg', 100, 1) - -/obj/item/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 [user.p_their()] head!", "You fire [src] at your head!", "You hear a gunshot!") - -/obj/item/gun/projectile/revolver/russian/soul - name = "cursed Russian revolver" - desc = "To play with this revolver requires wagering your very soul." - -/obj/item/gun/projectile/revolver/russian/soul/shoot_self(mob/living/user) - ..() - var/obj/item/soulstone/anybody/SS = new /obj/item/soulstone/anybody(get_turf(src)) - SS.transfer_soul("FORCE", user) - user.death(FALSE) - user.visible_message("[user.name]'s soul is captured by \the [src]!", "You've lost the gamble! Your soul is forfeit!") - /obj/item/gun/projectile/revolver/capgun name = "cap gun" desc = "Looks almost like the real thing! Ages 8 and up."