Files
Bubberstation/code/game/objects/items/storage/holsters.dm
iwishforducks d8615a5cd3 Returns the original Revolver look for traitors (#87039)
## About The Pull Request

Returns the original look of the revolver for traitors:

![srBs2K1fvz](https://github.com/user-attachments/assets/e1d7f569-e854-4762-ab08-59b0bcb74f60)
While still giving Nuclear Operatives the red-revolver:

![dreamseeker_guBVku71t9](https://github.com/user-attachments/assets/17f86e07-7387-48a1-93e8-5b3b7aeda997)
Re-flavors the red revolver to a "Badass Revolver" as well, so that it
helps differentiate it a bit more:

![dreamseeker_YrF52zMuWv](https://github.com/user-attachments/assets/bcf75096-a775-4971-846b-ef23ee0d50fd)

## Why It's Good For The Game

I always thought that the red "Syndicate Revolver" was way too on the
nose and dorky, especially for undercover agents. However, I thought
that dorkiness was a perfect fit for the Nuclear Operatives who love
painting all of their gear to be red and over-the-top badass looking.

## Changelog

🆑
image: Traitors now get the classic Revolver in their uplink. Nuclear
Operatives still keep the red look for their revolvers.
/🆑
2024-10-05 02:02:51 +02:00

206 lines
7.6 KiB
Plaintext

/obj/item/storage/belt/holster
name = "shoulder holster"
desc = "A rather plain but still cool looking holster that can hold a handgun."
icon_state = "holster"
inhand_icon_state = "holster"
worn_icon_state = "holster"
alternate_worn_layer = UNDER_SUIT_LAYER
w_class = WEIGHT_CLASS_BULKY
/obj/item/storage/belt/holster/equipped(mob/user, slot)
. = ..()
if(slot & (ITEM_SLOT_BELT|ITEM_SLOT_SUITSTORE))
ADD_CLOTHING_TRAIT(user, TRAIT_GUNFLIP)
/obj/item/storage/belt/holster/dropped(mob/user)
. = ..()
REMOVE_CLOTHING_TRAIT(user, TRAIT_GUNFLIP)
/obj/item/storage/belt/holster/Initialize(mapload)
. = ..()
atom_storage.max_slots = 1
atom_storage.max_total_storage = 16
atom_storage.set_holdable(list(
/obj/item/gun/ballistic/automatic/pistol,
/obj/item/gun/ballistic/revolver,
/obj/item/gun/energy/e_gun/mini,
/obj/item/gun/energy/disabler,
/obj/item/gun/energy/dueling,
/obj/item/food/grown/banana,
/obj/item/gun/energy/laser/thermal,
/obj/item/gun/ballistic/rifle/boltaction, //fits if you make it an obrez
/obj/item/gun/energy/laser/captain,
/obj/item/gun/energy/e_gun/hos,
))
atom_storage.open_sound = 'sound/items/handling/holster_open.ogg'
atom_storage.open_sound_vary = TRUE
/obj/item/storage/belt/holster/energy
name = "energy shoulder holsters"
desc = "A rather plain pair of shoulder holsters with a bit of insulated padding inside. Designed to hold energy weaponry."
/obj/item/storage/belt/holster/energy/Initialize(mapload)
. = ..()
atom_storage.max_slots = 2
atom_storage.max_specific_storage = WEIGHT_CLASS_NORMAL
atom_storage.set_holdable(list(
/obj/item/gun/energy/e_gun/mini,
/obj/item/gun/energy/disabler,
/obj/item/gun/energy/dueling,
/obj/item/food/grown/banana,
/obj/item/gun/energy/laser/thermal,
/obj/item/gun/energy/recharge/ebow,
/obj/item/gun/energy/laser/captain,
/obj/item/gun/energy/e_gun/hos,
))
/obj/item/storage/belt/holster/energy/thermal
name = "thermal shoulder holsters"
desc = "A rather plain pair of shoulder holsters with a bit of insulated padding inside. Meant to hold a twinned pair of thermal pistols, but can fit several kinds of energy handguns as well."
/obj/item/storage/belt/holster/energy/thermal/PopulateContents()
generate_items_inside(list(
/obj/item/gun/energy/laser/thermal/inferno = 1,
/obj/item/gun/energy/laser/thermal/cryo = 1,
),src)
/obj/item/storage/belt/holster/energy/disabler
desc = "A rather plain pair of shoulder holsters with a bit of insulated padding inside. Designed to hold energy weaponry. A production stamp indicates that it was shipped with a disabler."
/obj/item/storage/belt/holster/energy/disabler/PopulateContents()
generate_items_inside(list(
/obj/item/gun/energy/disabler = 1,
),src)
/obj/item/storage/belt/holster/energy/smoothbore
desc = "A rather plain pair of shoulder holsters with a bit of insulated padding inside. Designed to hold energy weaponry. Seems it was meant to fit two smoothbores."
/obj/item/storage/belt/holster/energy/smoothbore/PopulateContents()
generate_items_inside(list(
/obj/item/gun/energy/disabler/smoothbore = 2,
),src)
/obj/item/storage/belt/holster/detective
name = "detective's holster"
desc = "A holster able to carry handguns and some ammo. WARNING: Badasses only."
w_class = WEIGHT_CLASS_BULKY
/obj/item/storage/belt/holster/detective/Initialize(mapload)
. = ..()
atom_storage.max_slots = 3
atom_storage.max_specific_storage = WEIGHT_CLASS_NORMAL
atom_storage.set_holdable(list(
/obj/item/gun/ballistic/automatic/pistol,
/obj/item/ammo_box/magazine/m9mm, // Pistol magazines.
/obj/item/ammo_box/magazine/m9mm_aps,
/obj/item/ammo_box/magazine/m10mm,
/obj/item/ammo_box/magazine/m45,
/obj/item/ammo_box/magazine/m50,
/obj/item/gun/ballistic/revolver,
/obj/item/ammo_box/c38, // Revolver speedloaders.
/obj/item/ammo_box/a357,
/obj/item/ammo_box/strilka310,
/obj/item/ammo_box/magazine/toy/pistol,
/obj/item/gun/energy/e_gun/mini,
/obj/item/gun/energy/disabler,
/obj/item/gun/energy/dueling,
/obj/item/gun/energy/laser/thermal,
/obj/item/gun/energy/laser/captain,
/obj/item/gun/energy/e_gun/hos,
/obj/item/gun/ballistic/rifle/boltaction, //fits if you make it an obrez
))
/obj/item/storage/belt/holster/detective/full/PopulateContents()
generate_items_inside(list(
/obj/item/ammo_box/c38 = 2,
/obj/item/gun/ballistic/revolver/c38/detective = 1,
), src)
/obj/item/storage/belt/holster/detective/full/ert
name = "marine's holster"
desc = "Wearing this makes you feel badass, but you suspect it's just a repainted detective's holster from the NT surplus."
icon_state = "syndicate_holster"
inhand_icon_state = "syndicate_holster"
worn_icon_state = "syndicate_holster"
/obj/item/storage/belt/holster/detective/full/ert/PopulateContents()
generate_items_inside(list(
/obj/item/ammo_box/magazine/m45 = 2,
/obj/item/gun/ballistic/automatic/pistol/m1911 = 1,
),src)
/obj/item/storage/belt/holster/chameleon
name = "syndicate holster"
desc = "A hip holster that uses chameleon technology to disguise itself, due to the added chameleon tech, it cannot be mounted onto armor."
icon_state = "syndicate_holster"
inhand_icon_state = "syndicate_holster"
worn_icon_state = "syndicate_holster"
w_class = WEIGHT_CLASS_NORMAL
actions_types = list(/datum/action/item_action/chameleon/change/belt)
/obj/item/storage/belt/holster/chameleon/Initialize(mapload)
. = ..()
atom_storage.max_slots = 2
atom_storage.max_specific_storage = WEIGHT_CLASS_NORMAL
atom_storage.set_holdable(list(
/obj/item/gun/ballistic/automatic/pistol,
/obj/item/ammo_box/magazine/m9mm,
/obj/item/ammo_box/magazine/m9mm_aps,
/obj/item/ammo_box/magazine/m10mm,
/obj/item/ammo_box/magazine/m45,
/obj/item/ammo_box/magazine/m50,
/obj/item/gun/ballistic/revolver,
/obj/item/ammo_box/c38,
/obj/item/ammo_box/a357,
/obj/item/ammo_box/strilka310,
/obj/item/ammo_box/magazine/toy/pistol,
/obj/item/gun/energy/recharge/ebow,
/obj/item/gun/energy/e_gun/mini,
/obj/item/gun/energy/disabler,
/obj/item/gun/energy/dueling,
/obj/item/gun/energy/laser/captain,
/obj/item/gun/energy/e_gun/hos,
))
atom_storage.silent = TRUE
/obj/item/storage/belt/holster/nukie
name = "operative holster"
desc = "A deep shoulder holster capable of holding almost any form of firearm and its ammo."
icon_state = "syndicate_holster"
inhand_icon_state = "syndicate_holster"
worn_icon_state = "syndicate_holster"
w_class = WEIGHT_CLASS_BULKY
/obj/item/storage/belt/holster/nukie/Initialize(mapload)
. = ..()
atom_storage.max_slots = 2
atom_storage.max_specific_storage = WEIGHT_CLASS_BULKY
atom_storage.set_holdable(list(
/obj/item/gun, // ALL guns.
/obj/item/ammo_box/magazine, // ALL magazines.
/obj/item/ammo_box/c38, //There isn't a speedloader parent type, so I just put these three here by hand.
/obj/item/ammo_box/a357, //I didn't want to just use /obj/item/ammo_box, because then this could hold huge boxes of ammo.
/obj/item/ammo_box/strilka310,
/obj/item/ammo_casing, // For shotgun shells, rockets, launcher grenades, and a few other things.
/obj/item/grenade, // All regular grenades, the big grenade launcher fires these.
))
/obj/item/storage/belt/holster/nukie/cowboy
desc = "A deep shoulder holster capable of holding almost any form of small firearm and its ammo. This one's specialized for handguns."
/obj/item/storage/belt/holster/nukie/cowboy/Initialize(mapload)
. = ..()
atom_storage.max_slots = 3
atom_storage.max_specific_storage = WEIGHT_CLASS_NORMAL
/obj/item/storage/belt/holster/nukie/cowboy/full/PopulateContents()
generate_items_inside(list(
/obj/item/ammo_box/a357 = 2,
/obj/item/gun/ballistic/revolver/cowboy/nuclear = 1,
), src)