Commit Graph

697 Commits

Author SHA1 Message Date
shayoki f601a6ddaf Merge remote-tracking branch 'tgstation/master' into upstream-6-2-2026 2026-06-03 01:23:54 -05:00
necromanceranne 2275e1958e Adds deep lore to some pistols, and partially rewrites the baton lore. Repaths some items. (#96056)
## About The Pull Request

Moves the deep lore proc to the parent for guns. 

Adds deep lore to some of the pistols.

Rewrites the deep lore for the stun baton and contractor baton.

Repaths the Liberator pistol to a more sensible path name.

Rechambers the Regal Condor to .45, because I was today years old when I
learned that the Tiger Cooperative are _[radical Christian
extremists](https://github.com/tgstation/common_core/blob/cf1edb9f770e7d3c38ca894e951ab5ac50395a47/Governments%20and%20Organisations/Corporations/The%20Syndicate/The%20Syndicate.md?plain=1#L73)_.
I just thought they were nutso about changelings, I didn't know they
also think they're God's ubermensch. Anyway, that freak who started the
cult would chamber their relic pistol in .45 and you know it.

## Why It's Good For The Game

I love dumping large amounts of text into the code base that will
rarely, if ever, be noticed by the player. It's also the means by which
I can summon forth my good friend Hatterhat to contribute to this
codebase. Like a carrot on a stick.

If I post enough, one day he'll PR flashforge mines like he promised me.
2026-06-01 20:33:27 -05:00
MrMelbert ea0859d5fe Bane refactor (now uses damage multipliers) (#96003) 2026-05-16 11:41:29 +10:00
Alexis 21b4095dfd [MDB IGNORE] [IDB IGNORE] Upstream Sync - 04/17/2026 (#5453)
Upstream 04/17/2026

fixes https://github.com/Bubberstation/Bubberstation/issues/5549

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
Co-authored-by: rageguy505 <54517726+rageguy505@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Aliceee2ch <160794176+Aliceee2ch@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Maxipat <108554989+Maxipat112@users.noreply.github.com>
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com>
Co-authored-by: loganuk <fakeemail123@aol.com>
Co-authored-by: Leland Kemble <70413276+lelandkemble@users.noreply.github.com>
Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com>
Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
Co-authored-by: Lucy <lucy@absolucy.moe>
Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com>
Co-authored-by: Isratosh <Isratosh@hotmail.com>
Co-authored-by: TheRyeGuyWhoWillNowDie <70169560+TheRyeGuyWhoWillNowDie@users.noreply.github.com>
Co-authored-by: Neocloudy <88008002+Neocloudy@users.noreply.github.com>
Co-authored-by: Alexander V. <volas@ya.ru>
Co-authored-by: ElGitificador <168473461+ElGitificador@users.noreply.github.com>
Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Layzu666 <121319428+Layzu666@users.noreply.github.com>
Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: mrmanlikesbt <99309552+mrmanlikesbt@users.noreply.github.com>
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: John F. Kennedy <54908920+MacaroniCritter@users.noreply.github.com>
Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com>
Co-authored-by: Josh <josh.adam.powell@gmail.com>
Co-authored-by: Josh Powell <josh.powell@softwire.com>
Co-authored-by: Yobrocharlie <Charliemiller5617@gmail.com>
Co-authored-by: Hardly3D <66234359+Hardly3D@users.noreply.github.com>
Co-authored-by: shayoki <96078776+shayoki@users.noreply.github.com>
Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
2026-05-16 00:56:00 +02:00
Leland Kemble 081818078b Liberator pistol applies damage multipliers in process_fire() rather than fire_gun() (#95599)
## About The Pull Request

The code works exactly the same, because it didn't really need to be in
`fire_gun()`. The reason for this is that there are some ways that guns
are shot directly through `process_fire()`, such as clowns or mail,
which never end up applying multipliers.

## Why It's Good For The Game

I'd say that the distance from your hand to your foot is probably
point-blank.
2026-04-13 12:45:20 -05:00
SmArtKar 93ea8085cb Datumizes material effects, slots, and material spears (#95341) 2026-04-11 09:15:07 +10:00
John Willard 76c88edea9 Removes Object & Server tab (#95292)
## About The Pull Request

Removes Object tab, which didn't work as it required a whole reload of
your verbs to update to what verbs would show up in it (which is very
hard to actually trigger as a player), but leaves the verbs that had
them show in the dropdown menu.

Removes the Point-To and Examine verbs from the Stat panel, now it's
commandbar only. Originally only did Point-To, but because the stat
panel sorts itself by the category of the item, then the order of the
name, I had to remove Examine's category so it would remain sorted the
same.

bruuuuuh

<img width="1259" height="985" alt="image"
src="https://github.com/user-attachments/assets/ea89db24-fafd-41d6-939e-4dbc7bbf3828"
/>
<img width="309" height="244" alt="image"
src="https://github.com/user-attachments/assets/3b8d9c52-056b-44ce-8ee8-051439a2fa51"
/>


Removes Server tab for players (not Admins) by moving Show Map Vote
Tallies to the OOC tab, as that was the only verb there.

Activate Held Object has been moved to IC since it's a roundstart verb,
I thought I should leave it be (do we have numbers on how many people
use these? Why would someone use the verb over clicking on the item
in-game or Z? Should I remove this too?).
Admin's Object Possession verbs are now in Admin Fun instead of Object.

Player stat panel
<img width="299" height="194" alt="image"
src="https://github.com/user-attachments/assets/8a3c9ad0-514a-44c5-b023-f71e57de4758"
/>

Admin stat panel
<img width="581" height="224" alt="image"
src="https://github.com/user-attachments/assets/7232485f-af41-469e-abfd-fce066816eec"
/>
<img width="624" height="297" alt="image"
src="https://github.com/user-attachments/assets/6eb540be-4912-44f6-be36-5fe3a74b7f19"
/>


## Why It's Good For The Game

We have 2 tabs that exists for a total of 3 procs, 2 of them fit
elsewhere and the last one doesn't work at all. Most verbs here don't
show up in the stat panel at all for the vast majority of players due to
the stat panel not actually loading them in when it's available, which
to me shows that it's a feature that isn't really cared about anyways.

It also helps newer players because there's less tabs to navigate and
less verbs to sift through, we have a ton of verbs that basically don't
need to exist and they only exist to make looking for the important
verbs a larger hassle.

## Changelog

🆑
del: Deleted Object tab, and Server tab for players. Activate Held
Object verb is now in the IC tab. Examine and Point To was removed from
the stat panel.
admin: Object possession verbs have been moved to Admin Fun.
/🆑
2026-04-05 20:21:59 -07:00
Cody Brittain 965c4a40a9 Add an equivalent to balloon_alert_to_viewers, but for hearing (#95376) 2026-03-17 17:28:27 -04:00
necromanceranne 1ce02afed8 Adds the pump-action grenade launcher and updates the existing break-action ballistic grenade launcher with a new sprite (#95244) 2026-03-10 20:54:05 +02:00
Leland Kemble 07138d5445 Adds some special case interactions with the mail counterfitter device (#95180)
## About The Pull Request

Adds some type specific interactions to the mail produced by the GLA-2
mail counterfit device. Currently, it applies `attack_self()` to all
items when armed. The new interactions are, currently:

- Facehuggers jump on your face
- Flashes flash you
- Boxing gloves uppercut you
- Syringes prick you with poison
- Sprays spray you
- Signallers signal
- Monkey cubes/other cubes expand 
- Guns shoot you in the head

There'll be more, probably. Leave your ideas(only good ones though).

## Why It's Good For The Game

First of all, none of these are strenuous from a balance perspective.
The primary use of this device is an instant bomb, and none of these
things are bombs. Easy delineation, I doubt this will become a problem.

As said already, the primary use of this device is a bomb. I've seen it
used for another thing once ever, and while that thing was incredibly
cool, the counterfit device is still a one-trick pony for the most part.
While none of these can compete with the lethality of the bomb, the hope
is that they will collectively help bring variety to an item that feels
built for variety.

## Changelog
🆑

add: Several items have been given special interactions when placed
inside counterfit mail.

/🆑
2026-02-25 14:51:55 +13:00
nevimer 00ccf0c6b5 Merge remote-tracking branch 'tgstation/master' into upstream-feb12-2026
# Conflicts:
#	.github/CODEOWNERS
#	.github/workflows/compile_changelogs.yml
#	.github/workflows/stale.yml
#	SQL/database_changelog.md
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	code/__DEFINES/atom_hud.dm
#	code/__DEFINES/inventory.dm
#	code/__DEFINES/mobs.dm
#	code/__DEFINES/species_clothing_paths.dm
#	code/__DEFINES/subsystems.dm
#	code/__DEFINES/surgery.dm
#	code/__HELPERS/global_lists.dm
#	code/_globalvars/lists/maintenance_loot.dm
#	code/_globalvars/traits/_traits.dm
#	code/controllers/subsystem/minor_mapping.dm
#	code/controllers/subsystem/processing/quirks.dm
#	code/controllers/subsystem/shuttle.dm
#	code/datums/components/palette.dm
#	code/datums/components/surgery_initiator.dm
#	code/datums/diseases/advance/advance.dm
#	code/datums/hud.dm
#	code/datums/mood.dm
#	code/datums/mutations/chameleon.dm
#	code/datums/quirks/negative_quirks/nyctophobia.dm
#	code/datums/status_effects/debuffs/debuffs.dm
#	code/datums/status_effects/debuffs/drunk.dm
#	code/datums/status_effects/debuffs/slime/slime_leech.dm
#	code/datums/weather/weather.dm
#	code/game/data_huds.dm
#	code/game/objects/items.dm
#	code/game/objects/items/devices/scanners/health_analyzer.dm
#	code/game/objects/items/frog_statue.dm
#	code/game/objects/items/rcd/RLD.dm
#	code/game/objects/items/robot/items/hypo.dm
#	code/game/objects/items/stacks/medical.dm
#	code/game/objects/items/stacks/wrap.dm
#	code/game/objects/items/storage/garment.dm
#	code/game/objects/items/tools/medical/defib.dm
#	code/game/objects/items/weaponry.dm
#	code/game/objects/items/weaponry/melee/misc.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/game/objects/structures/curtains.dm
#	code/game/objects/structures/dresser.dm
#	code/game/objects/structures/girders.dm
#	code/game/objects/structures/maintenance.dm
#	code/game/objects/structures/mirror.dm
#	code/modules/admin/greyscale_modify_menu.dm
#	code/modules/admin/verbs/light_debug.dm
#	code/modules/antagonists/ashwalker/ashwalker.dm
#	code/modules/antagonists/heretic/knowledge/starting_lore.dm
#	code/modules/antagonists/ninja/ninjaDrainAct.dm
#	code/modules/art/paintings.dm
#	code/modules/client/preferences.dm
#	code/modules/client/verbs/ooc.dm
#	code/modules/clothing/head/wig.dm
#	code/modules/events/disease_outbreak.dm
#	code/modules/holodeck/holo_effect.dm
#	code/modules/jobs/job_types/head_of_security.dm
#	code/modules/jobs/job_types/security_officer.dm
#	code/modules/library/skill_learning/generic_skillchips/point.dm
#	code/modules/mining/lavaland/ash_flora.dm
#	code/modules/mining/lavaland/mining_loot/megafauna/ash_drake.dm
#	code/modules/mob/dead/new_player/new_player.dm
#	code/modules/mob/living/basic/guardian/guardian.dm
#	code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm
#	code/modules/mob/living/carbon/carbon.dm
#	code/modules/mob/living/carbon/human/human.dm
#	code/modules/mob/living/carbon/human/human_defines.dm
#	code/modules/mob/living/carbon/life.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob/living/living_defines.dm
#	code/modules/mob/mob.dm
#	code/modules/mob_spawn/ghost_roles/mining_roles.dm
#	code/modules/mod/mod_control.dm
#	code/modules/mod/modules/modules_general.dm
#	code/modules/modular_computers/computers/item/computer_ui.dm
#	code/modules/paperwork/paper.dm
#	code/modules/paperwork/paperbin.dm
#	code/modules/power/lighting/light.dm
#	code/modules/projectiles/guns/energy/kinetic_accelerator.dm
#	code/modules/projectiles/projectile.dm
#	code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm
#	code/modules/reagents/chemistry/reagents/food_reagents.dm
#	code/modules/reagents/chemistry/reagents/other_reagents.dm
#	code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm
#	code/modules/research/xenobiology/crossbreeding/_clothing.dm
#	code/modules/research/xenobiology/crossbreeding/prismatic.dm
#	code/modules/surgery/advanced/brainwashing.dm
#	code/modules/surgery/advanced/lobotomy.dm
#	code/modules/surgery/amputation.dm
#	code/modules/surgery/blood_filter.dm
#	code/modules/surgery/bodyparts/_bodyparts.dm
#	code/modules/surgery/brain_surgery.dm
#	code/modules/surgery/cavity_implant.dm
#	code/modules/surgery/coronary_bypass.dm
#	code/modules/surgery/gastrectomy.dm
#	code/modules/surgery/healing.dm
#	code/modules/surgery/limb_augmentation.dm
#	code/modules/surgery/organ_manipulation.dm
#	code/modules/surgery/revival.dm
#	code/modules/surgery/sleeper_protocol.dm
#	code/modules/surgery/surgery_helpers.dm
#	code/modules/surgery/surgery_step.dm
#	code/modules/unit_tests/_unit_tests.dm
#	code/modules/unit_tests/designs.dm
#	code/modules/unit_tests/icon_state_worn.dm
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_cultist.png
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_headrevolutionary.png
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_provocateur.png
#	code/modules/unit_tests/screenshots/screenshot_husk_body.png
#	code/modules/unit_tests/screenshots/screenshot_husk_body_missing_limbs.png
#	icons/map_icons/clothing/head/_head.dmi
#	icons/map_icons/clothing/shoes.dmi
#	icons/map_icons/items/_item.dmi
#	icons/mob/huds/hud.dmi
#	icons/mob/inhands/64x64_lefthand.dmi
#	icons/mob/inhands/64x64_righthand.dmi
#	icons/obj/machines/computer.dmi
#	tgui/packages/tgui/interfaces/OperatingComputer.jsx
#	tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/MainPage.tsx
#	tgui/packages/tgui/interfaces/PreferencesMenu/types.ts
#	tgui/packages/tgui/interfaces/SurgeryInitiator.tsx
#	tools/icon_cutter/check.py
2026-02-12 23:50:09 -05:00
nevimer a33fd49968 Upstream 12 15 25 unique reskins fixes (#5019)
This branch needs help, tons of datums to make for the customizable
items.

---------

Co-authored-by: Alexis <catmc8565@gmail.com>
2026-01-10 13:14:26 -05:00
Bloop 83cd43da91 Extends atom_reskin to be more modular/adds support for greyscale reskins in the loadout menu (#94466)
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2026-01-05 09:02:23 +00:00
MrMelbert bfdb237612 Spooky Scary Supreme Surgery (Rework) (#93697) 2025-12-19 18:42:58 +01:00
nevimer 1a21687143 Revert "Refactors unique_reskin, deletes retool kit (#93775)"
This reverts commit 6ebfbccebb.

# Conflicts:
#	code/modules/loadout/loadout_items.dm
#	code/modules/paperwork/clipboard.dm
2025-12-15 18:17:06 -05:00
nevimer 6e9f2ccfc0 Merge remote-tracking branch 'tgstation/master' into upstream-12-15
# Conflicts:
#	.github/workflows/compile_all_maps.yml
#	.github/workflows/run_integration_tests.yml
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	code/_onclick/hud/credits.dm
#	code/controllers/subsystem/networks/id_access.dm
#	code/datums/diseases/advance/advance.dm
#	code/datums/diseases/advance/symptoms/heal.dm
#	code/game/machinery/doors/door.dm
#	code/game/objects/structures/crates_lockers/closets/secure/medical.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/modules/antagonists/malf_ai/malf_ai_modules.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/loadout/categories/accessories.dm
#	code/modules/loadout/loadout_helpers.dm
#	code/modules/loadout/loadout_items.dm
#	code/modules/loadout/loadout_preference.dm
#	code/modules/mob/living/silicon/robot/robot_defense.dm
#	code/modules/mod/mod_theme.dm
#	code/modules/projectiles/ammunition/energy/laser.dm
#	code/modules/reagents/reagent_containers/cups/drinks.dm
#	code/modules/shuttle/mobile_port/variants/supply.dm
#	code/modules/surgery/organs/internal/eyes/_eyes.dm
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_heretic.png
#	icons/hud/screen_full.dmi
2025-12-15 18:12:29 -05:00
Bloop 2ab2be0f37 Guards against qdeletion in afterattack (#94211) 2025-12-10 11:33:06 +01:00
FalloutFalcon e7615580ac Better recoil visuals (#93904)
## About The Pull Request
Port of https://github.com/shiptest-ss13/Shiptest/pull/3330
Partial port of https://github.com/shiptest-ss13/Shiptest/pull/1601

Makes two changes to how guns handle recoil.
- Changes recoil from an erratic shaking to a kicking of your screen
relative to your firing angle
- Adds a small cosmetic recoil to all ballistics (with an accompanying
pref option to tweak or disable it)

Primary recoil still is only used as a balance lever for a very small
handful of guns (and sawoff)

## Why It's Good For The Game

Cosmetic recoil makes guns feel a lot more punchier. People who think
its a competitive disadvantage (nerds/loosers) or people with a
legitimate sickness to screen shake or similar can just turn it off.

Old recoil was just reused explosion, while new recoil feels like its
actually recoil
2025-12-07 16:51:37 -06:00
Ghom 0b0c5ea91e Unit test material checks are now performed on all crafting recipes by default. All stack recipes now transfer mats to the results (#92620)
## About The Pull Request
Extends the part of the crafting unit test that ensures consistency
between the total mats of the components of a recipe (or rather, the
result of said recipe) and a generic instance of the same type as its
result, previously only implemented on food recipes.

## Why It's Good For The Game
This ensures a degree of consistency with the material composition of
various objects in the game. I couldn't do it in the original PR as that
one was too big already and it took months to get it merged, and have
the relative bugs fixed.

Currently a WIP as I slowly deal with the unit test reports.

## Changelog

🆑
refactor: Follow-up to the crafting/material refactor from months ago.
All objects crafted with stacks now inherit their mat composition (not
necessarily the effects and color) by default, while previously only a
few things like chair, sinks and toilets did. Report any object looking
or behaving weirdly as a result.
fix: The material composition of ammo boxes is no longer a 1/10 of what
it's supposed to be. It was a shitty hack to make it harder to recycle
empty ammo boxes. Instead, they lose materials as they're emptied now.
/🆑
2025-12-02 18:29:01 -05:00
MrMelbert 6ebfbccebb Refactors unique_reskin, deletes retool kit (#93775)
## About The Pull Request

Closes #93635

`unique_reskin` is no longer a list on `/item`, now `/datum/atom_skin`

The actual reskinning behavior has been moved out to
`/datum/component/reskinable_item`

PKC reskinning is now handled via alt-click reskin, rather than via the
retooling kit. The retooling kit has been removed.
There's no limit on how many times you can reskin your PKC (though
perhaps we limit it to one reskin and keep the retooling kit as a way to
allow a miner to reskin it a second time?)

The Ashen Skull unique reskin is still a trophy, and instead unlocks its
unique reskin option in the alt-click radial.

## Why It's Good For The Game

I'm unsure why the retooling kit exists on its own, when it's relatively
cheap and just performs the behavior of alt-click reskinning.

So to keep it consistent with all other forms of reskinning I've just
made it baseline. To accomplish that I refactored reskinning.

The new form of reskinning allows for greater potential in adding
reskins, allowing far more than just an icon state change. Also we can
put it on turfs and mobs and structures now which is cool I guess

There's also the added benefit of being able to see an item's reskins
without needing to instantiate it, which the loadout menu uses to great
effect.

## Changelog

🆑 Melbert
refactor: Refactored item reskinning (the alt-click way), report any
oddities with that
del: Deleted the crusher retool kit, now you can just reskin your
crusher with alt-click. The Skull skin is still locked behind having the
Ashen Skull trophy applied.
fix: Stunswords no longer have an incorrect lore blurb
fix: Fixed loadout item reskinning's UI
/🆑
2025-11-30 19:31:29 -07:00
archbtw 3425cf03e5 Gun Muzzle Flash (2) (#94172)
## About The Pull Request

Continues https://github.com/tgstation/tgstation/pull/81507

Adds a directional muzzle flash to all guns (excluding suppressors,
toys, e-bow, etc).
Changes color depending on the laser/projectile.
If anything is missed, let me know.

## Why It's Good For The Game

Realism
Cool visuals
Makes sense
2025-11-30 13:37:00 -06:00
nevimer baf3837ae8 Merge remote-tracking branch 'tgstation/master' into upstream-2025-11-29
# Conflicts:
#	_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm
#	_maps/RandomRuins/SpaceRuins/garbagetruck2.dmm
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	_maps/map_files/tramstation/tramstation.dmm
#	code/_onclick/hud/new_player.dm
#	code/datums/components/squashable.dm
#	code/datums/diseases/advance/symptoms/heal.dm
#	code/datums/diseases/chronic_illness.dm
#	code/datums/status_effects/buffs.dm
#	code/datums/status_effects/debuffs/drunk.dm
#	code/datums/status_effects/debuffs/stamcrit.dm
#	code/game/machinery/computer/crew.dm
#	code/game/objects/items/devices/scanners/health_analyzer.dm
#	code/game/objects/items/wall_mounted.dm
#	code/game/turfs/closed/indestructible.dm
#	code/modules/admin/view_variables/filterrific.dm
#	code/modules/antagonists/heretic/influences.dm
#	code/modules/cargo/orderconsole.dm
#	code/modules/client/preferences.dm
#	code/modules/events/space_vines/vine_mutations.dm
#	code/modules/mob/dead/new_player/new_player.dm
#	code/modules/mob/living/carbon/human/death.dm
#	code/modules/mob/living/carbon/human/species_types/jellypeople.dm
#	code/modules/mob/living/damage_procs.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob_spawn/ghost_roles/mining_roles.dm
#	code/modules/mob_spawn/mob_spawn.dm
#	code/modules/projectiles/ammunition/energy/laser.dm
#	code/modules/projectiles/guns/ballistic/launchers.dm
#	code/modules/projectiles/guns/energy/laser.dm
#	code/modules/reagents/chemistry/machinery/chem_dispenser.dm
#	code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm
#	code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm
#	code/modules/reagents/chemistry/reagents/medicine_reagents.dm
#	code/modules/surgery/healing.dm
#	code/modules/unit_tests/designs.dm
#	icons/mob/inhands/items_lefthand.dmi
#	icons/mob/inhands/items_righthand.dmi
#	tgui/packages/tgui/interfaces/ChemDispenser.tsx
2025-11-29 22:49:21 -05:00
Thunder12345 006605caf9 Adds time defines to a couple of shooting related delay vars (#93966)
## About The Pull Request

Converted `fire_delay` and `shot_delay` vars to use time defines

## Why It's Good For The Game

Code readability

## Changelog
🆑
code: Converted some gun related variables to use time defines, make an
issue report if anything shoots abnormally fast/slow.
/🆑
2025-11-17 23:22:34 -07:00
necromanceranne ff222d3adb Fixes the icon state for the ashen bow (#93911)
## About The Pull Request

What it says on the tin.

## Why It's Good For The Game

This is obviously the incorrect icon state.

## Changelog
🆑
fix: Ashen bows look like they are actually made from bone.
/🆑
2025-11-13 19:17:00 +01:00
Roxy d0ca474789 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-2025-11-05 2025-11-05 19:43:07 -05:00
Aliceee2ch 12d8e6d19d Everyone can use bow now (#93673) 2025-10-30 23:12:53 +11:00
Roxy e28e9fbdba Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-23-10-2025 2025-10-23 17:38:23 -04:00
necromanceranne 0b643cfcd8 Fixes BR-38 degradation occuring when it shouldn't (#93494)
## About The Pull Request

Sometimes the BR-38 would degrade when it is dropped onto tables,
smacked against windows, etc. This PR fixes this by making sure that it
only degrades when the gun is actually fired.

## Why It's Good For The Game

Losing charges sucks ass when it isn't from firing the gun.

## Changelog
🆑
fix: The BR-38 does not mysteriously lose charges when it is used on
some objects, dropped on tables or smacked against glass panels.
/🆑
2025-10-18 17:27:48 +02:00
Roxy d14e538393 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-15-10-2025 2025-10-15 19:34:41 -04:00
ArchBTW f5ab9dbe01 Fixes riot shotgun unintentional melee when point blank shooting (#93320)
## About The Pull Request

Due to 'fire_delay = 8', when pump racking a riot shotgun (with a live
shotgun bullet in it) it will instead melee when you try to point blank
shoot at someone.
This PR fixes that by blocking melee, on the condition that you pump
racked the riot shotgun and it is about to be ready to fire.

You still melee with LMB if you have no ammo pump racked/didn't pump
rack the shotgun, and if you have ammo pump racked, you can use RMB as
intended.

tldr Melee combat functionality for riot shotgun remains unchanged, the
PR only fixes the unintentional melee attack.

## Why It's Good For The Game

The PR fixes unintentional tediousness when wanting to fire at someone
point blank with a riot shotgun - It will no longer melee, which is
good, because otherwise it makes arbitrarily make riot shotgun cooldown
longer due to an unintentional melee attack.

## Changelog

🆑 ArchBTW
fix: Fixes riot shotgun unintentional melee when point blank shooting
/🆑
2025-10-12 05:38:27 +02:00
Ghom aa4cf2b136 The nullrod refactor (the carp-sie plushie is now actually a plushie) (#93311) 2025-10-10 13:42:33 +11:00
Da Cool Boss 2a12b4d9c9 Fixes 'bricking' of ballistic laser rifles (#93330)
## About The Pull Request
I don't think these are obtainable through normal gameplay, these guns
are ballistic weapons designed to emulate laser guns, except with a
swappable "battery".

It had the wrong bolt type, which caused problems. It chambered rounds
so it could fire a shot without a battery in it, and worse when it
emptied its chamber and didn't have a new round to load in, the gun
would unrack itself. There is no way to re-rack this gun so at that
point it is made permanantly useless. Now it fires directly from the
clip without chambering anything or caring about whether or not it is
racked. This stops it getting stuck, stops you being able to fire the
gun when there's no power pack loaded, and simplifies ammo management
which makes it feel more like an energy weapon. Even if it isn't really
one.
## Why It's Good For The Game
Fixes some bugs that made using this thing needlessly difficult.
## Changelog
🆑
fix: Ballistic laser guns will no longer brick themselves when out of
ammo.
fix: Ballistic laser guns now fire ammo directly from their loaded clip,
without chambering.
/🆑
2025-10-09 21:13:46 +02:00
necromanceranne 3419def3fa Adds the pipegun monologue to the lore element (#93350)
## About The Pull Request

What it says on the tin.

## Why It's Good For The Game

This is why the element even exists.

## Changelog
🆑
refactor: The pipegun now hints at its deep lore.
/🆑
2025-10-09 20:20:59 +02:00
SmArtKar 1056e1bf63 Fixes an (at least) year old bug which prevented projectiles from making chat messages when hitting someone (#93291)
## About The Pull Request

So, while working on #93275 I've noticed that suspiciously none of the
projectiles made impact messages, the only ones I could see in chat were
wounds, not hits. Turns out that because guns, for whatever ungodly
reason, have been storing their suppression state and their suppressor
in the same variable presumably since their inception, instead of
SUPPRESSED_NONE (0) projectiles were assigned null, or if suppressed by
an item the suppressor itself, both of which were treated as
SUPPRESSED_VERY by impact message logic and skipped actually sending any
messages to players' chats.
I've split the variables and put suppressor onto ballistics (which are
the only user of said mechanic), so now projectiles should actually
inform players that they/someone nearby have been hit with a bullet.
2025-10-05 15:33:27 -05:00
Hatterhat 99c25d0ca5 lore component and lore component usage for the br38, iaito, sc/fisher, ansem/sc (#93135)
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-10-05 20:50:06 +11:00
xPokee 8aa39b75f0 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-10-04 05:28:09 -04:00
paganiy dfc917e1b0 Cycler shotgun fixing (#93261)
## About The Pull Request
closes https://github.com/tgstation/tgstation/issues/93214
- Fixed the cycler shotgun consuming two rounds per shot.
- Fixed racking action on the cycler shotgun.
- Bounty hunter cycler shotgun now correctly uses incendiary rounds in
its secondary tube.
## Changelog
🆑
fix: fixed cycler shotgun double ammo consumption
fix: fixed racking action on the cycler shotgun
fix: bounty hunter cycler shotgun now properly fires incendiary rounds
from secondary tube
/🆑
2025-10-04 04:35:58 +02:00
xPokee 5e629dff04 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-10-03 07:05:54 -04:00
Paxilmaniac f82b91d777 adds the bayonet sprites I made for the sakhno rifles a while ago (#93153)
## About The Pull Request

When I made the latest sprites of the bolt action rifles, I made a
bayonet sprite for them that looked pretty good.
I umm forgot to actually put it in, so here you go.

<img width="560" height="345" alt="image"
src="https://github.com/user-attachments/assets/b14aad88-acff-42da-b495-617e3cfc81a1"
/>

These ONLY apply to the bolt action rifles in particular.
## Why It's Good For The Game

The giant old bayonet doesn't look especially good on these rifles.
## Changelog
🆑
image: adds new sprites for bayonets on bolt action rifles
/🆑
2025-09-28 21:07:18 +02:00
xPokee b308ee9d78 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-09-24 10:13:01 -04:00
Yobrocharlie e90c61a00b Lahti l39 (#92812)
## About The Pull Request

A new admin only weapon to kill people.
Scriptis told me he wanted this weapon upstream and mothblocks was like
"sure whatever"
see
https://discord.com/channels/326822144233439242/326831214667235328/1410700500550291619

## Why It's Good For The Game

Lets admins hit people with a gun that shoots a really big bullet, its
therapeutic
<img width="270" height="148" alt="image"
src="https://github.com/user-attachments/assets/020e2bc2-2d96-44eb-bafe-d34b82f71e93"
/>
<img width="205" height="150" alt="image"
src="https://github.com/user-attachments/assets/2c550ca5-7d5c-4fe2-a483-c4b229a2c31f"
/>
IRL comparison taken from some guys YT video
<img width="259" height="194" alt="image"
src="https://github.com/user-attachments/assets/4a536c4d-15ad-4ba4-9137-c2d5e106445e"
/>


## Changelog

3 new files and one dependent new sniper rifle which is worse than the
other sniper rifle and one new lahti-l39

🆑
add: Added the Lahti-L39 rifle
/🆑
2025-09-21 14:38:32 +02:00
xPokee 9b282a850e Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-09-17 11:45:44 -04:00
necromanceranne 62190069d0 Bow revisit; they hit harder, there are more sprites, there is a new bow made of bone. Really live that ranger fantasy. (#92809)
## About The Pull Request

### Bows deal more damage.

Increases the baseline damage of the shortbow to 25, and the divine bow
to 30.

The divine bow also launches arrows at a higher velocity than normal
bows.

### Flaming arrows have sprites now, and deal burning damage. Oh, and
actually do reasonable damage.


![demonstration_flaming](https://github.com/user-attachments/assets/918893c9-8d09-46ab-a8f9-9ef76ca5e044)

I'm not at all skilled at animation but at least it has an actual,
visible sprite now.

I completely overlooked the fact this did 20 damage when I changed bows
to use damage multipliers. Oops.

### Ashen Bow and Ashen Arrows

Made from sinew, bone and for the bow specifically, leather. The bow is
largely identical to a shortbow, but the arrow has mining bane. If you
feel like hunting megafauna with a bow, this is your means of doing so.

<img width="384" height="128" alt="demonstration_ashen"
src="https://github.com/user-attachments/assets/1c4f493c-f694-4b09-a406-c63140628d56"
/>

Assets partially taken from
https://github.com/Skyrat-SS13/Skyrat-tg/pull/5266

Which in of itself took assets from
https://github.com/BeeStation/BeeStation-Hornet/pull/1802

The functionality is entirely new. I also did some sprite edits.

### Arrow quivers are made from wood.

Iunno, this was really weird to me. Cardboard seems like a poor quiver
material.

### Other Stuff

Shortbows and ashen bows have the ability to be renamed.

## Why It's Good For The Game

Bows are fun, but kind of middling. They're a lot slower to fire than
the vast majority of ranged weapons, and don't really have enough oomph
in their own right to intimidate people being shot by them.

This is even true of the divine bow, which is the chaplain's version.
Because of how slowly it fires and how little damage it does, the
chances of actually killing someone who poses any real threat to you
with it is pretty laughable. This is not true of the nullrod that you
sacrificed to get this weapon. 30 damage is within the ballpark of
chaplain weapons and their potential damage in some contexts. A slow to
attack weapon probably should have a more impactful hit when considering
your alternative options.

The ashen bow is mostly because I really want to go fauna hunting with
entirely bone-based weaponry. Does this mean some ashwalkers might be
putting arrows into you from afar? Yes. Does this sound fun? Yes. Is
this especially strong? Not really. Miners out damage these bows by a
significant margin, and their armor is usually good enough where they're
not at risk from arrows sticking into them or hurting them very much.
This is also a degree more effort to make than other weapons because of
the leather requirement and the need to kill several fauna for the
materials. The outcomes should be more fun than the costs.

## Changelog
🆑
balance: Shortbows and divine bows do more damage. The divine bow also
launches arrows at a higher velocity than normal bows.
image: Flaming arrows now have proper sprites.
balance: Flaming arrows now deal BURN damage. And also deal an
appropriate amount of damage for an arrow.
add: Ashen bows and arrows, made from sinew and bone. And leather for
the bow.
add: Ashen arrows deal significantly more damage to mining mobs.
balance: Arrow quivers are made from wood rather than cardboard.
qol: Shortbows and ashen bows have the ability to be renamed.
/🆑
2025-09-14 14:00:23 -04:00
FalloutFalcon d2f34e33be moves abstract_type up to datum, spawners wont spawn them (#92909)
## About The Pull Request
moves all implementations (im aware of) for "Im a parent type dont spawn
me please" to the datum layer to standardized behavior
adds a standerized proc for filtering out "bad" items that we dont want
spawning. applies to it the subtype vendor, gifts, and a new spawner and
mystery box for a random gun (neither playerfacing)
"port" of https://github.com/shiptest-ss13/Shiptest/pull/4621



https://github.com/user-attachments/assets/22f6f0b2-b44e-411a-b3dc-6b97dc0287aa

small warning: I dont have EVERY abstract type defined right now but,
ive done a good enough job for now. Im tired of data entry rn
## Why It's Good For The Game
standardizing behavior. Might be a micro hit to performance however

having this lets us not rely on icon state to determine whether
something is a parent type and makes it much easier to tell something is
a parent type (could be applied further to things like admin spawning
menus and things like that).

need feedback on if this is actually good for the game.
## Changelog
🆑
add: Soda cans show up in the silver slime drink table.
add: Examine tag for items that are not mean to show up ingame.
refactor: Standardizes how gifts rule out abstract types.
fix: gifts no longer check if something has an inhand, massively
expanding the list of potential items.
/🆑
2025-09-13 00:36:15 +02:00
nevimer b348b617a3 Merge branch 'master' of https://github.com/tgstation/tgstation into pupstream-2025-09-07
# Conflicts:
#	README.md
#	code/__DEFINES/admin.dm
#	code/__DEFINES/melee.dm
#	code/_globalvars/traits/_traits.dm
#	code/controllers/subsystem/economy.dm
#	code/datums/components/crafting/crafting.dm
#	code/datums/elements/crusher_loot.dm
#	code/modules/antagonists/pirate/pirate_shuttle_equipment.dm
#	code/modules/clothing/suits/_suits.dm
#	code/modules/escape_menu/leave_body.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/mining/equipment/mineral_scanner.dm
#	code/modules/mob/living/living.dm
#	code/modules/plumbing/plumbers/pill_press.dm
#	tgui/packages/tgui/interfaces/Vending.tsx
2025-09-07 00:37:52 -04:00
Paxilmaniac 945e78d073 updates to the sprites of the bolt action rifle (#92557) 2025-08-24 17:03:07 -04:00
SmArtKar 4c4fba16a4 Fixes M90 underbarrel having its separate inaccessible firing pin (#92305)
## About The Pull Request

Underbarrel now depends on the gun's own firing pin, instead of having a
separate inaccessible pin.
Closes #92292

## Changelog
🆑
fix: Fixed M90 underbarrel having its separate inaccessible firing pin
/🆑
2025-08-04 20:53:38 -04:00
SmArtKar 7e3a91f297 Fixes M90 underbarrel having its separate inaccessible firing pin (#92305)
## About The Pull Request

Underbarrel now depends on the gun's own firing pin, instead of having a
separate inaccessible pin.
Closes #92292

## Changelog
🆑
fix: Fixed M90 underbarrel having its separate inaccessible firing pin
/🆑
2025-07-31 21:05:10 -04:00
kuricityy 977caf1478 Makes seclights attachable to almost every security firearm. (#91922)
## About The Pull Request
THE SECLIGHTENING!!

Hi hello. This PR adds the ability to attach seclights to most security
firearms. Nothing like some good seclight QOL.
Below is a picture with them attached, but off.

![image](https://github.com/user-attachments/assets/81fd4bb0-4e27-417b-9971-07d1afdfcf21)
Below is an image with the lights on:

![image](https://github.com/user-attachments/assets/53797ff8-9cff-403d-bbf0-df859e606788)
(if no one understands why/what the shotguns look like, I tried to make
it look like someone taped a flashlight to the side, as god intended.)
I'm no good at spriting (it was just changing offsets for already
existing sprites) but if you have any suggestions for what we can move
the offsets to, be my guest.
## Why It's Good For The Game

Well, for starters, we can easily attach seclights to disablers, energy
guns, advanced egun, the X01 energy gun, but we cant attach them to
other weapons. Why? Balance? I dont see how its unbalanced for a secoff
to see in the dark better. I couldnt tell you why you couldnt
previously, but I can tell you that it just makes more sense to have
them attachable to every weapon.

## Changelog


🆑
qol: Makes seclights attachable to almost every security firearm.
/🆑
2025-07-30 17:37:24 -04:00
kuricityy 320b775cf0 Makes seclights attachable to almost every security firearm. (#91922)
## About The Pull Request
THE SECLIGHTENING!!

Hi hello. This PR adds the ability to attach seclights to most security
firearms. Nothing like some good seclight QOL.
Below is a picture with them attached, but off.

![image](https://github.com/user-attachments/assets/81fd4bb0-4e27-417b-9971-07d1afdfcf21)
Below is an image with the lights on:

![image](https://github.com/user-attachments/assets/53797ff8-9cff-403d-bbf0-df859e606788)
(if no one understands why/what the shotguns look like, I tried to make
it look like someone taped a flashlight to the side, as god intended.)
I'm no good at spriting (it was just changing offsets for already
existing sprites) but if you have any suggestions for what we can move
the offsets to, be my guest.
## Why It's Good For The Game

Well, for starters, we can easily attach seclights to disablers, energy
guns, advanced egun, the X01 energy gun, but we cant attach them to
other weapons. Why? Balance? I dont see how its unbalanced for a secoff
to see in the dark better. I couldnt tell you why you couldnt
previously, but I can tell you that it just makes more sense to have
them attachable to every weapon.

## Changelog


🆑
qol: Makes seclights attachable to almost every security firearm.
/🆑
2025-07-21 20:06:14 +10:00