Files
a2cad3c467 Pipegun updates and glowup (#83063)
## About The Pull Request

Updates pipeguns with a brand new set of sprites. Also comes with pipe
pistols; plinkier versions of the pipegun.

![ye
pipeguns](https://github.com/tgstation/tgstation/assets/40847847/dd8ea3db-aa5a-403e-9eca-c3aa2c38b694)

![image](https://github.com/tgstation/tgstation/assets/40847847/9015f1fe-8ed2-4724-844d-7d550d35b890)

![image](https://github.com/tgstation/tgstation/assets/40847847/0d99551a-ecc4-4f2b-a397-46c5f26437f7)

Alters pipeguns away from utilizing shotgun/rifle ammunition towards a
bespoke junk round ammo. These shells are crafted similarly to current
improvised shells. This also removes improvised shells as a shotgun ammo
type. (these new shells aren't shotgun shells to begin with, they're
more like rifle bullets)

Crafting junk rounds produces an entirely unknown projectile in the
shell. You won't know what you get until you fire the gun. Almost in
every instance, however, the shot is beneficial towards killing things.
And they all do about the same amount of damage, so there is hopefully
never a round you didn't want to fire in the gun. Fighting someone with
a pipegun is usually predictable for what amount of damage it will do,
but any additional effects it might have is going to be an unknown
factor. They also brutalize borgs, which is a quality that improvised
shells had previously.

Pipeguns operate as they did before, and do roughly 40 damage per shot
with the majority of their ammo types (less than what they do currently
with .310). They only have one shell in the gun at a time, so every time
they're fired, they must be reloaded.

Pipe pistols do roughly 15 damage per shot, but hold more ammo than the
bigger pipegun. However, they're more likely to veer off-course.

There are regal versions of each of these weapons, and each are more
potent respective of their general rarity. Having one is going to be a
lot more noteworthy.

### Minor changes

Some more clothing items can carry pipeguns in their suit storage.

The icemoon hermit spawns with a heroic laser musket rather than a regal
pipegun (partially because it is too difficult for the hermit to get
more ammo for their gun, and also because the regal pipegun is a more
powerful weapon than previously)

## Why It's Good For The Game

It has been a few years since I added the pipegun, and time was never
particularly kind to it. There are alternative weapons now with
interesting mechanics of their own. The ammunition it used has changed
considerably. And it simply didn't ever feel like a 'junk gun' in a way
that was fun. The original mechanics added to give it that feeling were
just not fun to experience and were removed. So the pipegun has been
left as 'a shitty version of X'. Even the regal pipegun was, at the end
of the day, a shittier version of either a shotgun or cargo rifle.

It didn't feel right not having some kind of unique quality to using
these weapons that help them express themselves as unpredictable trash
weapons built inside of maintenance. But I expressly didn't want to make
it 'unpredictable' in a way that felt unfair on the person getting shot
either. So just giving it more damage was right out. As a compromise, I
reduced the overall lethality of the weapons while introducing a gimmick
that will appeal to those wanting to play out the role of a homeless
lunatic with a shitty homemade gun stalking maintenance. A 'chaos gun'
so to speak. Maybe that will appeal to people.

## Changelog
🆑
balance: Reworks pipeguns to use an unpredictable 'junk round'. You
won't know what you're shooting until you fire it.
add: Introduces a pistol version of the pipegun; the pipe pistol. It is
inaccurate and does significantly less damage, but more portable and has
more ammunition in the gun.
image: Updates the visuals of the pipeguns.
balance: Also improves the Regal varieties of these weapons. By a lot.
balance: More articles of clothing can be used to carry pipeguns in suit
storage.
balance: The Icemoon Hermit comes with a Heroic Laser Musket instead of
a Regal Pipegun.
remove: Improvised shells (the shotgun shell) has been replaced with
improvised junk shells (which don't work with shotguns but do work with
pipeguns).
/🆑

---------

Co-authored-by: Jacquerel <hnevard@ gmail.com>
2024-05-08 17:43:04 -04:00

175 lines
5.7 KiB
Plaintext

/obj/item/clothing/suit/jacket
icon = 'icons/obj/clothing/suits/jacket.dmi'
worn_icon = 'icons/mob/clothing/suits/jacket.dmi'
allowed = list(
/obj/item/flashlight,
/obj/item/tank/internals/emergency_oxygen,
/obj/item/tank/internals/plasmaman,
/obj/item/toy,
/obj/item/storage/fancy/cigarettes,
/obj/item/lighter,
/obj/item/radio,
/obj/item/storage/belt/holster,
)
body_parts_covered = CHEST|GROIN|ARMS
cold_protection = CHEST|GROIN|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
species_exception = list(/datum/species/golem)
/obj/item/clothing/suit/toggle/jacket/sweater
name = "sweater jacket"
desc = "A sweater jacket."
icon_state = "sweater"
icon = 'icons/obj/clothing/suits/jacket.dmi'
worn_icon = 'icons/mob/clothing/suits/jacket.dmi'
greyscale_config = /datum/greyscale_config/sweater
greyscale_config_worn = /datum/greyscale_config/sweater/worn
greyscale_colors = "#414344"
flags_1 = IS_PLAYER_COLORABLE_1
/obj/item/clothing/suit/jacket/oversized
name = "oversized jacket"
desc = "An oversized jacket."
icon_state = "jacket_oversized"
greyscale_config = /datum/greyscale_config/jacket_oversized
greyscale_config_worn = /datum/greyscale_config/jacket_oversized/worn
greyscale_colors = "#414344"
flags_1 = IS_PLAYER_COLORABLE_1
/obj/item/clothing/suit/jacket/fancy
name = "fancy fur coat"
desc = "Rated 10 out of 10 in Cosmo for best coat brand."
icon_state = "fancy_coat"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
cold_protection = CHEST|GROIN|LEGS|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
greyscale_config = /datum/greyscale_config/fancy_coat
greyscale_config_worn = /datum/greyscale_config/fancy_coat/worn
greyscale_colors = "#EDE3DC#414344"
flags_1 = IS_PLAYER_COLORABLE_1
/obj/item/clothing/suit/jacket/bomber
name = "bomber jacket"
desc = "Aviators not included."
icon_state = "bomberjacket"
inhand_icon_state = "brownjsuit"
allowed = list(
/obj/item/flashlight,
/obj/item/tank/internals/emergency_oxygen,
/obj/item/tank/internals/plasmaman,
/obj/item/toy,
/obj/item/storage/fancy/cigarettes,
/obj/item/lighter,
/obj/item/gun/ballistic/rifle/boltaction/pipegun,
/obj/item/radio,
)
/obj/item/clothing/suit/jacket/leather
name = "leather jacket"
desc = "Pompadour not included."
icon_state = "leatherjacket"
inhand_icon_state = "hostrench"
resistance_flags = NONE
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
allowed = list(
/obj/item/flashlight,
/obj/item/tank/internals/emergency_oxygen,
/obj/item/tank/internals/plasmaman,
/obj/item/toy,
/obj/item/storage/fancy/cigarettes,
/obj/item/lighter,
/obj/item/gun/ballistic/automatic/pistol,
/obj/item/gun/ballistic/revolver,
/obj/item/gun/ballistic/revolver/c38/detective,
/obj/item/gun/ballistic/rifle/boltaction/pipegun,
/obj/item/radio,
)
/obj/item/clothing/suit/jacket/leather/biker
name = "biker jacket"
desc = "You think I'm not even worth a single dollar, but I feel like a millionare."
icon_state = "leatherjacket_biker"
/obj/item/clothing/suit/jacket/puffer
name = "puffer jacket"
desc = "A thick jacket with a rubbery, water-resistant shell."
icon_state = "pufferjacket"
inhand_icon_state = "hostrench"
armor_type = /datum/armor/jacket_puffer
/datum/armor/jacket_puffer
bio = 50
/obj/item/clothing/suit/jacket/puffer/vest
name = "puffer vest"
desc = "A thick vest with a rubbery, water-resistant shell."
icon_state = "puffervest"
inhand_icon_state = "armor"
body_parts_covered = CHEST|GROIN
cold_protection = CHEST|GROIN
armor_type = /datum/armor/puffer_vest
/datum/armor/puffer_vest
bio = 30
/obj/item/clothing/suit/jacket/miljacket
name = "military jacket"
desc = "A canvas jacket styled after classical American military garb. Feels sturdy, yet comfortable."
icon_state = "militaryjacket"
inhand_icon_state = null
allowed = list(
/obj/item/flashlight,
/obj/item/tank/internals/emergency_oxygen,
/obj/item/tank/internals/plasmaman,
/obj/item/toy,
/obj/item/storage/fancy/cigarettes,
/obj/item/lighter,
/obj/item/gun/ballistic/automatic/pistol,
/obj/item/gun/ballistic/revolver,
/obj/item/gun/ballistic/revolver/c38/detective,
/obj/item/gun/ballistic/rifle/boltaction/pipegun,
/obj/item/radio,
)
/obj/item/clothing/suit/jacket/letterman
name = "letterman jacket"
desc = "A classic brown letterman jacket. Looks pretty hot and heavy."
icon_state = "letterman"
inhand_icon_state = null
species_exception = list(/datum/species/golem)
/obj/item/clothing/suit/jacket/letterman_red
name = "red letterman jacket"
desc = "A letterman jacket in a sick red color. Radical."
icon_state = "letterman_red"
inhand_icon_state = null
species_exception = list(/datum/species/golem)
/obj/item/clothing/suit/jacket/letterman_syndie
name = "blood-red letterman jacket"
desc = "Oddly, this jacket seems to have a large S on the back..."
icon_state = "letterman_s"
inhand_icon_state = null
species_exception = list(/datum/species/golem)
allowed = list(
/obj/item/flashlight,
/obj/item/tank/internals/emergency_oxygen,
/obj/item/tank/internals/plasmaman,
/obj/item/toy,
/obj/item/storage/fancy/cigarettes,
/obj/item/lighter,
/obj/item/gun/ballistic/automatic/pistol,
/obj/item/gun/ballistic/revolver,
/obj/item/gun/ballistic/revolver/c38/detective,
/obj/item/gun/ballistic/rifle/boltaction/pipegun,
/obj/item/radio,
)
/obj/item/clothing/suit/jacket/letterman_nanotrasen
name = "blue letterman jacket"
desc = "A blue letterman jacket with a proud Nanotrasen N on the back. The tag says that it was made in Space China."
icon_state = "letterman_n"
inhand_icon_state = null
species_exception = list(/datum/species/golem)