Files
Bubberstation/code/modules/projectiles/guns/ballistic/toy.dm
necromanceranne c1a180c35d Traitors can purchase weapon cases for the Makarov and Riot Toy Pistol. Basic ammo comes in ammo packs. Other stuff. (#88482)
## About The Pull Request

Makarovs and Donksoft Riot Toy Pistols now come in weapon cases. These
cases come with the gun, two spare magazines and a box of spare loose
ammo.

Basic ammunition for these guns come in case packs of three, with a
spare box of loose ammo. The basic ammo for Makarovs is slightly more
expensive.

Donksoft Toy Pistols from the uplink (and given to clown ops) now deal
substantially more damage. For riot darts, this goes from 25 to 35
stamina force. However, the case now costs 6 TC.

Makarov and Donksoft toy pistols have had their magazines increased by 4
bullets, for a total of 12. The Ansem is still at 8.

The pistol cases now have a unique sprite thanks to SmartKar.


![image](https://github.com/user-attachments/assets/e5726d45-47bc-405a-9d14-c68fd4cb95d5)

All included cases come with a disposal bomb built into the case. Use
Alt-Right-Click on the case to start the countdown, and stand back. Or
chuck it at someone you don't like.

## Why It's Good For The Game

>Makarovs and Donksoft Riot Toy Pistols now come in weapon cases. These
cases come with the gun, two spare magazines and a box of spare loose
ammo.

>Basic ammunition for these guns come in case packs of three, with a
spare box of loose ammo. The basic ammo for Makarovs is slightly more
expensive.

A long time ago, I proposed to a maintainer that maybe traitor weapons
should be bundled together with some starting ammo, to give them a
little bit of a necessary boost for longevity for their cost. This being
in a state of the game with only 20 TC and no way to get more. I thought
progtot may alleviate this issue somewhat, but I don't believe it has at
all.

I narrowed this down to just the Makarov and Toy Pistol as I think
they're the ones in need of help, and my reasoning is thus;

A) The TC value is extremely deceptive. 

The weapons themselves are not very good at doing anything without
additionally putting in more TC to load up on ammunition or support
equipment. While it does say 7 TC on the header for the Makarov, if you
want it to be silent, you have to spend more TC on a suppressor (3 TC).
Then, if you're not entirely sure that only 8+1 shots you get from the
beginning is enough to take out a target (maybe they're known to have
armor), then you may need to get either specialized ammo or additional
ammunition. At a certain point, it begs the question 'why didn't I just
buy the bigger stick and get more value out of my purchase as well as
more reliability?' Particularly since drawing heat probably means all
that TC is just going straight into more ammo, one way or another. Or a
bigger stick if you're doing side objectives, making that early purchase
redundant.

B) Whenever you look at either, I want you to consider. 'Could I get
better results by just getting a station weapon?'

The answer is almost universally 'yes'. Even some improvised weapons can
be more reliable. Even spending TC on getting that weapon (like C-4) is
miles more worthwhile than spending TC to get either weapon upfront.

C) It significantly overvalues autolathe access just to make the weapon
feel less like a ripoff. If the uplink can't in of itself justify using
the weapons, they're just flat out not good. and that's assuming players
even know to keep magazines.

It's just a bad value purchase and deceptive in just how expensive it
can end up to use them. The weapon is overshadowed by fairly comparable
items once you factor additional expenditures.

Even the toy pistol is a bad value purchase and it's literally just 2
TC, because the damage it does is dogshit. It's worse than a disabler.
It's worse than a sleepy pen for value to effect. It's so shit, people
put them on maps for free grabs. Let's resolve that with the following.

> Donksoft Toy Pistols from the uplink (and given to clown ops) now deal
substantially more damage. For riot darts, this goes from 25 to 35
stamina force. However, the case now costs 6 TC.

Subtle weapon, good, reliable damage. Fantastic for kidnapping at 40
damage. All without ever actually inflicting a real point of damage.
Great for clowns, great for pacifist tots. Decent deniability. Silicons
may have a harder time justifying an intervention. Genuinely a budget
tool that increases the value of any TC you put into it. Since it has so
much more value, this is why I've increased the price to offset this. It
is actually competing with similar tools well enough to not go too
overboard.

> Makarov and Donksoft toy pistols have had their magazines increased by
4 bullets, for a total of 12. The Ansem is still at 8.

Longevity is the only thing Makarovs seem to want to claim to have over
the revolver, and it isn't much more longevity from just the gun itself
(7 bullets on the revolver compared to 8+1 on the pistol). If we're
talking real longevity, and particularly if you're considering getting a
silencer, than the ebow is literally 3 TC more expensive, silent, and
has endless ammunition with high damage output.

You still need to dump a lot of TC into the Makarov to satiate its ammo
needs if you happen to be skirmishing a lot. By comparison, just getting
a single laser can often times do a much better job at skirmishing than
the tot with a Makarov can. And do comparable damage no less. From
experience, I've always done better with lasers than the Makarov.

Making it more directly able to maintain a good ammo count during a
fight hopefully makes the Makarov feel more like a value purchase for
what I think should be its strength. Staying power and the ability to be
aggressive with ammo expenditure. Particularly against larger numbers,
which traitors are almost always expected to go up against. If those
opponents have lasers, the Makarov just always gets outgunned by an
absurd amount (lasers on their own have like 16 shots, so you can do the
math if there are even two people with a laser each).

Simply put; let's not make make tots feel like a dumbass for not just
getting a laser themselves or buying a ebow to maintain firepower over
long fights, especially with rechargers usually being in pretty nicely
secluded locations for them to access.

## Changelog

🆑 NecromancerAnne (code), SmArtKar (sprites)
balance: Makarovs and Toy Pistols come in weapon cases. Complete with
spare ammo.
balance: Basic ammo for either weapon comes in weapon cases of three
extra magazines at an affordable price.
balance: Donksoft Toy Pistols from the uplink are much stronger than
their standard counterparts, but now priced at 6 TC.
balance: Makarovs and Toy pistols have a magazine capacity of 12 rounds.
balance: Gun/Ammo cases from the traitor uplink can be destroyed by
activating the disposal bomb. Press Alt-Right-Click on the case to start
the timer.
/🆑

---------

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2024-12-22 02:39:59 +01:00

118 lines
4.4 KiB
Plaintext

/obj/item/gun/ballistic/automatic/toy
name = "foam force SMG"
desc = "A prototype three-round burst toy submachine gun. Ages 8 and up."
icon_state = "saber"
selector_switch_icon = TRUE
inhand_icon_state = "gun"
accepted_magazine_type = /obj/item/ammo_box/magazine/toy/smg
fire_sound = 'sound/items/syringeproj.ogg'
force = 0
throwforce = 0
burst_size = 3
can_suppress = TRUE
clumsy_check = FALSE
item_flags = NONE
gun_flags = TOY_FIREARM_OVERLAY | NOT_A_REAL_GUN
casing_ejector = FALSE
/obj/item/gun/ballistic/automatic/toy/riot
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/smg/riot
/obj/item/gun/ballistic/automatic/pistol/toy
name = "foam force pistol"
desc = "A small, easily concealable toy handgun. Ages 8 and up."
accepted_magazine_type = /obj/item/ammo_box/magazine/toy/pistol
fire_sound = 'sound/items/syringeproj.ogg'
gun_flags = TOY_FIREARM_OVERLAY | NOT_A_REAL_GUN
/obj/item/gun/ballistic/automatic/pistol/toy/riot
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/pistol/riot
/obj/item/gun/ballistic/automatic/pistol/riot/Initialize(mapload)
magazine = new /obj/item/ammo_box/magazine/toy/pistol/riot(src)
return ..()
/obj/item/gun/ballistic/automatic/pistol/toy/riot/clandestine
projectile_damage_multiplier = 1.4
/obj/item/gun/ballistic/shotgun/toy
name = "foam force shotgun"
desc = "A toy shotgun with wood furniture and a four-shell capacity underneath. Ages 8 and up."
force = 0
throwforce = 0
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/toy
fire_sound = 'sound/items/syringeproj.ogg'
clumsy_check = FALSE
item_flags = NONE
casing_ejector = FALSE
can_suppress = FALSE
weapon_weight = WEAPON_LIGHT
pb_knockback = 0
gun_flags = TOY_FIREARM_OVERLAY | NOT_A_REAL_GUN
/obj/item/gun/ballistic/shotgun/toy/handle_chamber(empty_chamber = TRUE, from_firing = TRUE, chamber_next_round = TRUE)
. = ..()
if(chambered && !chambered.loaded_projectile)
qdel(chambered)
/obj/item/gun/ballistic/shotgun/toy/riot
spawn_magazine_type = /obj/item/ammo_box/magazine/internal/shot/toy/riot
/obj/item/gun/ballistic/shotgun/toy/crossbow
name = "foam force crossbow"
desc = "A weapon favored by many overactive children. Ages 8 and up."
icon = 'icons/obj/toys/toy.dmi'
icon_state = "foamcrossbow"
inhand_icon_state = "crossbow"
lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi'
inhand_x_dimension = 32
inhand_y_dimension = 32
worn_icon_state = "gun"
worn_icon = null
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/toy/crossbow
fire_sound = 'sound/items/syringeproj.ogg'
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
gun_flags = NONE
/obj/item/gun/ballistic/shotgun/toy/crossbow/riot
spawn_magazine_type = /obj/item/ammo_box/magazine/internal/shot/toy/crossbow/riot
/obj/item/gun/ballistic/automatic/c20r/toy //This is the syndicate variant with syndicate firing pin and riot darts.
name = "donksoft SMG"
desc = "A bullpup three-round burst toy SMG, designated 'C-20r'. Ages 8 and up."
can_suppress = TRUE
item_flags = NONE
accepted_magazine_type = /obj/item/ammo_box/magazine/toy/smgm45
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/smgm45/riot
casing_ejector = FALSE
clumsy_check = FALSE
gun_flags = TOY_FIREARM_OVERLAY | NOT_A_REAL_GUN
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted //Use this for actual toys
pin = /obj/item/firing_pin
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/smgm45
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/smgm45/riot
/obj/item/gun/ballistic/automatic/l6_saw/toy //This is the syndicate variant with syndicate firing pin and riot darts.
name = "donksoft LMG"
desc = "A heavily modified toy light machine gun, designated 'L6 SAW'. Ages 8 and up."
fire_sound = 'sound/items/syringeproj.ogg'
can_suppress = FALSE
item_flags = NONE
accepted_magazine_type = /obj/item/ammo_box/magazine/toy/m762
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/m762/riot
casing_ejector = FALSE
clumsy_check = FALSE
gun_flags = TOY_FIREARM_OVERLAY | NOT_A_REAL_GUN
/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted //Use this for actual toys
pin = /obj/item/firing_pin
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/m762
/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted/riot
spawn_magazine_type = /obj/item/ammo_box/magazine/toy/m762/riot