Skip to content

Commit

Permalink
[MIRROR] Removes an exploit that can farm Russian revolver moodlets, …
Browse files Browse the repository at this point in the history
…adds Russian revolvers to the contraband section of games vendors [MDB IGNORE] (Skyrat-SS13#25493)

* Removes an exploit that can farm Russian revolver moodlets, adds Russian revolvers to the contraband section of games vendors (#80159)

## About The Pull Request

Fixes tgstation/tgstation#80158 by making
curses block you from playing Russian roulette regardless of whether or
not there's a live bullet in your Russian revolver's chamber.

A Russian revolver has been added to the contraband section of each Good
Clean Fun vendor.

## Why It's Good For The Game

The bug is incredibly funny, but ~~I want GBP~~ probably should be
fixed.

There's no actual way to get (more) Russian revolvers outside of the
mapstart ones, and that can be a bit stifling to gimmicks that involve
them. And Russian roulette IS a game.

Like the roundstart ones, you could unload these vendor revolvers for
.357 bullets, but you can already just print .357 bullets from a hacked
autolathe directly, so I don't think that's an issue.

## Changelog

:cl: ATHATH
fix: Spacemen can no longer use curses to cheat at Russian roulette by
selectively blocking attempts to shoot themselves.
add: A Russian revolver has been added to the contraband section of each
Good Clean Fun vendor.
/:cl:

---------

Co-authored-by: Jacquerel <hnevard@ gmail.com>

* Removes an exploit that can farm Russian revolver moodlets, adds Russian revolvers to the contraband section of games vendors

---------

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
  • Loading branch information
3 people committed Dec 8, 2023
1 parent 498af23 commit fc53057
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 3 deletions.
7 changes: 4 additions & 3 deletions code/modules/projectiles/guns/ballistic/revolver.dm
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,10 @@
var/is_target_face = zone == BODY_ZONE_HEAD || zone == BODY_ZONE_PRECISE_EYES || zone == BODY_ZONE_PRECISE_MOUTH
var/loaded_rounds = get_ammo(FALSE, FALSE) // check before it is fired

if(HAS_TRAIT(user, TRAIT_CURSED)) // I cannot live, I cannot die, trapped in myself, body my holding cell.
to_chat(user, span_warning("What a horrible night... To have a curse!"))
return

if(loaded_rounds && is_target_face)
add_memory_in_range(user, 7, /datum/memory/witnessed_russian_roulette, \
protagonist = user, \
Expand All @@ -255,9 +259,6 @@
)

if(chambered)
if(HAS_TRAIT(user, TRAIT_CURSED)) // I cannot live, I cannot die, trapped in myself, body my holding cell.
to_chat(user, span_warning("What a horrible night... To have a curse!"))
return
var/obj/item/ammo_casing/AC = chambered
if(AC.fire_casing(user, user, params, distro = 0, quiet = 0, zone_override = null, spread = 0, fired_from = src))
playsound(user, fire_sound, fire_sound_volume, vary_fire_sound)
Expand Down
1 change: 1 addition & 0 deletions code/modules/vending/games.dm
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@
/obj/item/dice/fudge = 9,
/obj/item/clothing/shoes/wheelys/skishoes = 4,
/obj/item/instrument/musicalmoth = 1,
/obj/item/gun/ballistic/revolver/russian = 1, //the most dangerous game
)
premium = list(
/obj/item/disk/holodisk = 5,
Expand Down

0 comments on commit fc53057

Please sign in to comment.