Commit Graph
153 Commits
Author SHA1 Message Date
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
GhomandGitHub 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
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
Joshua KidderandGitHub 7a3ad79506 All camelCase (Brute|Burn|Fire|Tox|Oxy|Organ|Stamina)(Loss) procs now use snake_case. UNDERSCORES RULE! (#94111)
## About The Pull Request
It's just a partial cleanup of
anti-[STYLE](https://github.com/tgstation/tgstation/blob/master/.github/guides/STYLE.md)
code from /tg/'s ancient history. I compiled & tested with my helpful
assistant and damage is still working.

<img width="1920" height="1040" alt="image"
src="https://github.com/user-attachments/assets/26dabc17-088f-4008-b299-3ff4c27142c3"
/>


I'll upload the .cs script I used to do it shortly.

## Why It's Good For The Game
Just minor code cleanup.

Script used is located at https://metek.tech/camelTo-Snake.7z

EDIT 11/23/25: Updated the script to use multithreading and sequential
scan so it works a hell of a lot faster
```
/*
//
Copyright 2025 Joshua 'Joan Metekillot' Kidder

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
//
*/
using System.Text.RegularExpressions;
class Program
{
    static async Task Main(string[] args)
    {
        var readFile = new FileStreamOptions
        {
            Access = FileAccess.Read,
            Share = FileShare.ReadWrite,
            Options = FileOptions.Asynchronous | FileOptions.SequentialScan
        };
        FileStreamOptions writeFile = new FileStreamOptions
        {
            Share = FileShare.ReadWrite,
            Access = FileAccess.ReadWrite,
            Mode = FileMode.Truncate,
            Options = FileOptions.Asynchronous
        };
        RegexOptions regexOptions = RegexOptions.Multiline | RegexOptions.Compiled;
        Dictionary<string, int> changedProcs = new();
        string regexPattern = @"(?<=\P{L})([a-z]+)([A-Z]{1,2}[a-z]+)*(Brute|Burn|Fire|Tox|Oxy|Organ|Stamina)(Loss)([A-Z]{1,2}[a-z]+)*";
        Regex camelCaseProcRegex = new(regexPattern, regexOptions);

        string snakeify(Match matchingRegex)
        {
            var vals =
            matchingRegex.Groups.Cast<Group>().SelectMany(_ => _.Captures).Select(_ => _.Value).ToArray();
            var newVal = string.Join("_", vals.Skip(1).ToArray()).ToLower();
            string logString = $"{vals[0]} => {newVal}";
            if (changedProcs.TryGetValue(logString, out int value))
            {
                changedProcs[logString] = value + 1;
            }
            else
            {
                changedProcs.Add(logString, 1);
            }
            return newVal;
        }
        var dmFiles = Directory.EnumerateFiles(".", "*.dm", SearchOption.AllDirectories).ToAsyncEnumerable<string>();

        // uses default ParallelOptions
        // https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.paralleloptions?view=net-10.0#main
        await Parallel.ForEachAsync(dmFiles, async (filePath, UnusedCancellationToken) =>
        {
            var reader = new StreamReader(filePath, readFile);
            string oldContent = await reader.ReadToEndAsync();
            string newContent = camelCaseProcRegex.Replace(oldContent, new MatchEvaluator((Func<Match, string>)snakeify));
            if (oldContent != newContent)
            {
                var writer = new StreamWriter(filePath, writeFile);
                await writer.WriteAsync(newContent);
                await writer.DisposeAsync();
            }
            reader.Dispose();
        });
        var logToList = changedProcs.Cast<KeyValuePair<string, int>>().ToList();
        foreach (var pair in logToList)
        {
            Console.WriteLine($"{pair.Key}: {pair.Value} locations");
        }
    }
}

```

## Changelog
🆑 Bisar
code: All (Brute|Burn|Fire|Tox|Oxy|Organ|Stamina)(Loss) procs now use
snake_case, in-line with the STYLE guide. Underscores rule!
/🆑
2025-11-27 15:50:23 -05:00
Roxy 71faa643bf Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-2025-11-12 2025-11-12 16:44:13 -05:00
RikuTheKillerandGitHub 337ab7f2c3 Refactors status effects to be based on subsystem ticks, among a few other minor status effect fixes/refactors (#93694)
## About The Pull Request

Refactors status effects to track their durations and tick intervals
using counters.
In effect, [var/duration] now directly refers to how many deciseconds
are left on the status effect.
I've also moved the old [var/tick_interval] [world.time] implementation
to a tick-based [var/time_until_next_tick] counter.

There are a couple, less noteworthy changes in here as well. The main
one is that there was an unused bit of bloat code for setting tick
intervals based on a random lower and upper threshold, but that can be
done in tick() now so it's completely redundant, and I thus removed it
entirely. That makes parts of [proc/process] much easier to read.

I added/modified some unit tests (which I expect to fail) to verify that
[var/duration] and [var/tick_interval] are both multiples of the
subsystem wait assigned to the status effect. If the programmer wants a
duration of 2.5 seconds, they expect it to work that way, but it won't
because SSfastprocess only ticks once every 0.2 seconds, which 2.5 is
not a multiple of. This becomes way more apparent when a status effect
is set to use SSprocessing.

The final, perhaps most important unit test I've added, is one that
verifies that the overall tick count and overall accumulated
[seconds_between_ticks] are equal to "[var/duration] /
[var/tick_interval]" and "[var/duration]" respectively.
## Why It's Good For The Game

The main thing this PR fixes is timing inconsistencies. Before this PR,
durations and tick intervals were tracked using world.time, while the
[proc/tick] call timing was dependent on the wait time of the subsystem
the status effect was processing on. Thing is, SSfastprocess and
SSprocessing rarely run completely in one tick during real gameplay.
This led to a continuous desync where status effects were consistently
inconsistent in their overall tick count. This is a big problem as
[seconds_between_ticks] is constant and thus doesn't account for this
difference in tick count.

As an example, Changeling's Fleshmend has a duration of 10 seconds, a
tick interval of 1 second and a healing rate of 4 brute per tick.
Previously, if the server was lagging even slightly and it only ticked 8
times over the course of 10 seconds, you would heal 32 health rather
than the 40 that a full Fleshmend would give you. The total effect
potency of a status effect being reliant on server lag is incredibly
stupid, especially for status effects that have an associated cost.
(like the aforementioned Fleshmend)

As for the refactors, they make status effect code easier to read and
debug. Unit tests also make verifying things are working as intended
much easier.
## Changelog
🆑
fix: Status effects now tick consistently, with Fleshmend and such
giving a consistent total healing amount. Report any oddities.
refactor: Status effect code is now easier to read and makes more sense.
Again, report any oddities, the changes are major.
/🆑
2025-11-07 15:25:16 +01:00
xPokee b308ee9d78 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-09-24 10:13:01 -04:00
YobrocharlieandGitHub 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
nevimer c9956892db Merge remote-tracking branch 'origin/master' into pupstream-08-19-keepsha
# Conflicts:
#	_maps/map_files/BoxStation/BoxStation.dmm
#	code/_globalvars/lists/flavor_misc.dm
2025-09-03 21:03:51 -04:00
61031f6cfb Skyrat gun removal (#3697)
## About The Pull Request
HackMD: https://hackmd.io/@Ssalty/r1wjAgSxll
Ammo removals:
IHDF
Rubber (non-.38, non-shotgun, nukie ones stay since it'd require
overrides. They were never purchasable to begin with.)
Stardust
Magnum
Express
.460 Rowland
.457 Government
MCR magazines
.40 Sol
Hornet's nest


Gun removals:
MCR's
.457 revolver
M4A5
.460 Rowland revolver
CCK
GP-7
R10 revolver

Guns made inaccessible:
NRI guns (including derringer, bobr, plasmas, Miecz)
Sol35 (Tarkon, sol ERT, gateway, adminspawn)
Sol40 (Tarkon, sol ERT, gateway, adminspawn)
Trappiste caliber (wespe, some already adminspawn weapons)


Turret adjustments:
Twin Fang - 4.6x30mm, 2 Second burst delay (40 dmg every 2 seconds vs 30
dmg every 1.5 seconds (old))
Stinger - 4.6x30mm instead of .35, matching damage
Colonist - .45 added instead of sol40, matching damage
Hoplite - Same as above

Armoury:
Armoury spawned MCRs replaced with laser guns and energy guns
SMG's and rifles with WT
If there would be a case with two separate spawns of a WT, the other is
gone.
Breaching shell boxes do not spawn in the armoury (they were capable of
1 shotting a dark mauler I wish I was kidding)

Lathe:
9mm stendo's, AP, HP, INC magazines not availible for print - the 9mm
murphy magazine is. It fits in 9mm firing turrets and the murphy.


## Why It's Good For The Game

Give me like a couple days and I'll fill this out. I doubt anyone who is
already pro-skyrat-gun will change their mind but it's good to
rationalize the decision regardless.

Find this out as in lay it out on paper. 

EDIT 1:  Adding the first part

# Foreword
This PR is a *draft*. That means a lot of things are subject to change,
a lot of things can be disorganized and a lot of things will be done
unoptimally. Going forwards, do keep in mind, the decision-making
process behind "remove entirely" and "virtually remove" will not be
dependant on us going forwards, as the decision on this matter requires
maintainer input more than any other.

Next, the delay. 
I simply am not a machine, neither are other people onboard this
project. With different timezones, it was important to find what isn't
working so I can relay it to people in working hours.

Without further ado,

## The case of the ammo types and workbench

The ammunitions workbench is a machine that provides ammunition into
clips, refilling them. The ammunition workbench is also the source of a
multitude of alternate ammunition types. It has with itself brought
several issues that at least would warrant a rework or heavy
adjustments:

1. Contraband ammunitions. There is no real reason that the entire
security department, or even a single crewmember should be accessing
phasic weapons in the form of printable ammotypes. The argument of "the
pipegun having it" doesn't do it favours, as the way you get it is an 8%
chance on crafting a junk round for a bulky gun and the only way to find
out if you actually have it is checking each shell individually with a
bandolier.

2. Complimentary with the removals. Most use cases for this machine are
refilling the magazines you can order or get alongside your weapons.
This collides with the protolathe, which sources most of our
upstream-based ammunition instead. With the skyrat weapons gone, this
machine becomes redundant. You may claim that it's still useful in
saving on materials, where you would be right! However is it worth to
have and maintain an entirely separate structure, with it's own
mechanics, map placements, etc. to get a benefit equal to 1.6x more bang
for the buck? At the end of the day, splitting ways of getting ammo
across a single room for something so miniscule compared to the bloat it
adds is pointless.



# The weapons, why should they go, one by one. 

### RomTech Flechette rifles
Compared to a standard laser gun, which is in all means our baseline of
ranged damage in ss13 - being the default armoury weapon, the default
laser for turrets and default laser for mobs. Better yet, let's compare
it to that and the default ballistic option that we have from TG.

What turns out, is that not only is the romtech carbine faster at
killing than the laser, but also rivals the WT with a split second of
difference in ttk in the favour of the romtech. Let's assume it's human
error and the WT is better TTK wise, just as an experiment. Clearly,
there must be a tradeoff, somewhere, right? One that balances them all
out to be equal weapons in the grand scale of things, contemporaries!
Well, no, not really. Not even close.

The carbine can be folded to fit in bags, that's one thing. The carbine
has more ammo, that's another thing. Bursts are harder to dodge than
series shots since they cover more perpendicular ground when attempting
to dodge projectiles, as is staple for ss13 combat. Burst weapons are
advantageous in applying more damage quicker, as you can see on the
videos - and initial damage, an alpha strike, applies movement slowdown,
ensuring future projectiles connect easier and the target cannot run.

It might be a coincidence that the only /tg/ derived weapons that fire
burst are adminspawn ERT or the Nukie weapons.

But it doesn't end here, no, the RomTech's ammunition alone would
warrant a complete overhaul if not a removal.

**steel ball**
<p>
Takes 9 shots to stamcrit, deals mixed damage - further increasing the
amount of slowdown applied, and not only is it MUCH faster at
stamcritting than a disabler is, it also leaves the target with 70
damage. Over half their healthbar. Severely overtuned with little
counterplay availible, alpha strike monster that is better at disabling
than disablers and better at stopping people dead in their tracks than
rifles, and if you look at our anti-stun, we have less than ever on
antagonists with Adrenal implants gone, Adreanaline Glands reworked,
etc, etc...
</p>

**Penetrator**

NT's answer to armour! 
The penetrator has 60 AP and otherwise the same damage as the AP WT
rifle. Meaning it's a straight upgrade. Meaning this weapon invalidates
it's predecessor whilst being orderable roundstart, and not only that,
but it can fully ignore elite modsuits on nukeops. Not every mechanic
has to have a counter, there's no direct counter to someone healing
after a fight, there is no direct counter to having multiple shots, and
there shouldn't be a full nullification of armour for such a low cost.
There shouldn't be one for a crew that can mass produce these, ever.

**Magnesium**

Arguably fine, 12 firestacks per shot is still quite insane for a lower
chance of friendly fire compared to original incediary hot turfs,

**Ripper**

Steel ball, but even worse. They don't embed a single time, ***this
embeds every time***. It takes several seconds to take out. Actually,
let's compare this gun's bullets to ninja stars.

- 2 times the embed chance at 200 vs 100
- 8 times the jostle chance at 80 vs 10
- Comparable fall chance, at 1 vs 0
- More pain stam pct, at 0.9 vs 0.8, meaning more stamina damage
- More pain chance, at 70 vs 15
- Less pain modifier, at 2 vs 5
- Takes longer to take out, 5 seconds vs 3
- Jostling pain is the same

### One problem. There's three of those fired per burst, cannot be
caught either. And the armour pen is the same.

in conclusion, every aspect of this gun is unhealthy for the game, from
it's gimmick, to it's execution, to it's stats, to it's ammo, to it's
consistency, to it's firing mode, to it being able to be currently worn
on sec belts along disablers - up to 4, if I remember correct.

No reworks. It has to go.
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>

</details>

## Changelog
🆑
del: Removed breaching slugs from crew (not to be confused with
frangible. These ones 1 shot mechs)
del: Removed MCR, .457 revolver, .460 Rowland revolver, GP-7, R10
revolver, M4A5, and their associated ammo types.
del: Removed ammunition types: IHDF, rubber variants excluding
.38/shotgun/nukie, stardust, magnum, express, hornet's nest
del: Made most NRI guns (Miecz, plasma pistol, plasma thrower, bobr,
derringer) and Sol 35/40 (Tarkon, ERT, gateway, adminspawn) inaccessible
to crew, kept for ERT/Gateway/Flavour/Admin reasons
balance: Turrets which use a removed calibre have been adjusted into
either that of the WT's, Ceres (still printable) or 9mm.
balance: WT's replace missing sindanos across armouries, laser guns and
eguns replace the missing MCR's.
/🆑

---------

Co-authored-by: Artur Lang <24881678+Arturlang@users.noreply.github.com>
2025-08-23 20:38:07 +03:00
efb0e037e6 Splits ammo box multiload into a bitflag, adds a icon for .223, adds a desc for toy magazines (#92409)
## About The Pull Request

Ammo box `multiload` var was changed into a bitflag covering
`AMMO_BOX_MULTILOAD_IN`, and `AMMO_BOX_MULTILOAD_OUT`, respectively. By
default, ammo boxes have both multiloading in and out, while magazines
only have multiloading in, which means you can't use magazines as
speedloaders, but you can still feed ammo into magazines quickly if you
had, say, an ammo box for that magazine's caliber. Or... something.

---

Also adds an icon state for .223 casings, which is just an edit of the
old 7.62 casings to be shorter.
<img width="403" height="89" alt="image"
src="https://github.com/user-attachments/assets/b3206b94-c2b3-4b90-8162-b4c620bbe4cf"
/>

---

Also adds a description for toy gun magazines.

## Why It's Good For The Game

Splitting ammo box multiload into "multiload in" and "multiload out"
means you can't use an ammo box as a speedloader, which I thought was
silly. Emergent gameplay, sure, but also silly.

.223 having a unique icon instead of just looking like any other pistol
casing is nice (read: pistol-caliber casings from a rifle round annoyed
me).

Toy gun magazine thing was for funsies at this point.

## Changelog

🆑
code: Ammo boxes' multiload variable is now a bitflag that determines if
a magazine can be multiloaded into or out of. Ammo boxes can multiload
in or out, while magazines can only multiload in.
image: .223 ammo now has a distinct casing icon.
fix: Foam force magazines now have a proper description.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-08-19 22:30:30 -04:00
8e350f1f86 Splits ammo box multiload into a bitflag, adds a icon for .223, adds a desc for toy magazines (#92409)
## About The Pull Request

Ammo box `multiload` var was changed into a bitflag covering
`AMMO_BOX_MULTILOAD_IN`, and `AMMO_BOX_MULTILOAD_OUT`, respectively. By
default, ammo boxes have both multiloading in and out, while magazines
only have multiloading in, which means you can't use magazines as
speedloaders, but you can still feed ammo into magazines quickly if you
had, say, an ammo box for that magazine's caliber. Or... something.

---

Also adds an icon state for .223 casings, which is just an edit of the
old 7.62 casings to be shorter.
<img width="403" height="89" alt="image"
src="https://github.com/user-attachments/assets/b3206b94-c2b3-4b90-8162-b4c620bbe4cf"
/>

---

Also adds a description for toy gun magazines.

## Why It's Good For The Game

Splitting ammo box multiload into "multiload in" and "multiload out"
means you can't use an ammo box as a speedloader, which I thought was
silly. Emergent gameplay, sure, but also silly.

.223 having a unique icon instead of just looking like any other pistol
casing is nice (read: pistol-caliber casings from a rifle round annoyed
me).

Toy gun magazine thing was for funsies at this point.

## Changelog

🆑
code: Ammo boxes' multiload variable is now a bitflag that determines if
a magazine can be multiloaded into or out of. Ammo boxes can multiload
in or out, while magazines can only multiload in.
image: .223 ammo now has a distinct casing icon.
fix: Foam force magazines now have a proper description.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-08-12 04:03:31 +10:00
combustorandRoxy 1d6cec00bc Healium bolts now heal people instead of damaging them. (#92137)
## About The Pull Request
Fixes healium bolts

## Why It's Good For The Game
Healium bolts are supposed to heal people

## Changelog

🆑
fix: Healium bolts now heal instead of dealing damage
/🆑
2025-07-19 20:29:26 -04:00
combustorandGitHub 9ea010c060 Healium bolts now heal people instead of damaging them. (#92137)
## About The Pull Request
Fixes healium bolts

## Why It's Good For The Game
Healium bolts are supposed to heal people

## Changelog

🆑
fix: Healium bolts now heal instead of dealing damage
/🆑
2025-07-15 13:31:54 -04:00
5573612a43 Adds .38 Flare, which is a lethal laser bullet casing available for printing with Advanced Beam Weaponry. Adjust ammo material values. (#91726)
## About The Pull Request


![image](https://github.com/user-attachments/assets/1332d28c-8d5f-41b7-a614-b74027210145)

Adds the .38 Flare. It does 20 damage. This round highlights the target
for 2 minutes, and projectiles hitting the target always hit the limb
that the shooter was aiming at. Your shot has effectively perfect limb
accuracy, no matter how far the bullet needs to travel. This also
affects other projectiles hitting the target that aren't the .38 Flare.

To indicate whether or not a round in a magazine is either lead or
laser, I've borrowed the implementation of ammo overlays from the C-20r
toy magazines Now each bullet in the speedloaders for .38 can be a
distinct type visibly. Might be interesting if anyone wants to add
additional unique appearances for some of the other .38 rounds.

Reduces the overall cost of a lot of the ammunition in the sec and
autolathe, such as loose bullets. Also reduces the material quantity
within bullet casings.

## Why It's Good For The Game

> .38 Flare

By popular demand, I've come up with a new idea. And that idea...is an
anti-bullet deviation tool. Most players are probably not conscious of
bullet deviation. But if you're familiar with the mechanic, it's why
sometimes your shots may hit into an arm or a leg even though you were
aiming at the head.

The way this works is that over the course of a bullets flight, it
increases in inaccuracy and the pobability of drifting into a limb. From
my last estimate, shooting somewhere around 5 tiles away will usually
result in bullet drift.

While affected by the flare shot, that does not happen. You shoot at the
head, you hit the head.

To put it into perspective; you could consider bullet deviation a form
of damage loss (its a bit more complicated than this and there are
instances where it is positive), and this projectile eliminates that
problem for everyone shooting the target.

> Ammo cost

Some of these were pretty excessive for the cost, and a notable example
of this include the .357 loose casings, .310 Surplus loose casings, and
most shotgun shells. These should go down to roughly below 3/5th of a
sheet of metal when printed from a fully upgraded lathe.

Meanwhile, a single bullet casing was like a sheet of metal each, which
didn't seem right to me. So they're now by default one fifth of a sheet
of metal on recycle.

## Changelog
🆑
add: .38 Flare, a laser bullet! Available in both .38 speedloader and
BR-38 magazine once Advanced Beam Weaponry is researched.
add: .38 Flare highlights the target in an outline and makes sure your
bullets never accidentally hit any limb except the one you are aiming
at. Never accidentally hit someone in the arm when you were going for a
headshot.
balance: Reduces the printing costs of several ammunition types from the
autolathe and security lathe. Reduces the overall material contents of
said printed ammo/magazines. If you find a material dupe, let a coder
know.
/🆑

---------

Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2025-07-11 18:04:51 -04:00
8f15d0ea2c Adds .38 Flare, which is a lethal laser bullet casing available for printing with Advanced Beam Weaponry. Adjust ammo material values. (#91726)
## About The Pull Request


![image](https://github.com/user-attachments/assets/1332d28c-8d5f-41b7-a614-b74027210145)

Adds the .38 Flare. It does 20 damage. This round highlights the target
for 2 minutes, and projectiles hitting the target always hit the limb
that the shooter was aiming at. Your shot has effectively perfect limb
accuracy, no matter how far the bullet needs to travel. This also
affects other projectiles hitting the target that aren't the .38 Flare.

To indicate whether or not a round in a magazine is either lead or
laser, I've borrowed the implementation of ammo overlays from the C-20r
toy magazines Now each bullet in the speedloaders for .38 can be a
distinct type visibly. Might be interesting if anyone wants to add
additional unique appearances for some of the other .38 rounds.

Reduces the overall cost of a lot of the ammunition in the sec and
autolathe, such as loose bullets. Also reduces the material quantity
within bullet casings.

## Why It's Good For The Game

> .38 Flare

By popular demand, I've come up with a new idea. And that idea...is an
anti-bullet deviation tool. Most players are probably not conscious of
bullet deviation. But if you're familiar with the mechanic, it's why
sometimes your shots may hit into an arm or a leg even though you were
aiming at the head.

The way this works is that over the course of a bullets flight, it
increases in inaccuracy and the pobability of drifting into a limb. From
my last estimate, shooting somewhere around 5 tiles away will usually
result in bullet drift.

While affected by the flare shot, that does not happen. You shoot at the
head, you hit the head.

To put it into perspective; you could consider bullet deviation a form
of damage loss (its a bit more complicated than this and there are
instances where it is positive), and this projectile eliminates that
problem for everyone shooting the target.

> Ammo cost

Some of these were pretty excessive for the cost, and a notable example
of this include the .357 loose casings, .310 Surplus loose casings, and
most shotgun shells. These should go down to roughly below 3/5th of a
sheet of metal when printed from a fully upgraded lathe.

Meanwhile, a single bullet casing was like a sheet of metal each, which
didn't seem right to me. So they're now by default one fifth of a sheet
of metal on recycle.

## Changelog
🆑
add: .38 Flare, a laser bullet! Available in both .38 speedloader and
BR-38 magazine once Advanced Beam Weaponry is researched.
add: .38 Flare highlights the target in an outline and makes sure your
bullets never accidentally hit any limb except the one you are aiming
at. Never accidentally hit someone in the arm when you were going for a
headshot.
balance: Reduces the printing costs of several ammunition types from the
autolathe and security lathe. Reduces the overall material contents of
said printed ammo/magazines. If you find a material dupe, let a coder
know.
/🆑

---------

Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2025-07-09 17:11:23 +00:00
SmArtKarandRoxy 3992434cb8 Healium bolts now embed and heal/knock out passively over time instead of being instant and unblockable (#91481)
## About The Pull Request

Healium bolts now heal you for 5 of each damage per second for 6 seconds
before falling out, while applying 2 seconds of drowsiness. If you have
at least 5 seconds of drowsiness (after 4 seconds of processing, because
we add 2 and it gets deducted by 1 afterwards) you get knocked out for 3
seconds (similarly to how it worked before, but with 1 additional second
left of processing if you were only shot by one bolt, you end up knocked
out for 4 seconds). It takes 1.5 seconds to rip one out, so you should
be able to react to being shot by one unless the attacker follows it up
with a melee distruption. Bolts that fall out restore their charges, but
only one bolt at a time can be putting the target to sleep.

https://github.com/user-attachments/assets/7936895e-f4dc-4bd6-847f-495c7f1202db

Video is a bit outdated, delay before knockout been bumped by a second.

###### This is a commission for Ezel/Improvedname

## Why It's Good For The Game

Healium bolts are an instant knockout that could be mass-produced to
either instantly win fights, or thrown at medbay to quickly hit corpses
by poking them over and over again as bolts didn't even embed, so
players can instantly reload and shoot them again. It was either making
them harder to produce, or reducing the effects, and former wouldn't
solve the knockout issue.
They also didn't care about block values, so even if you blocked or
reflected one you'd still get knocked out. lol

## Changelog

🆑
balance: Healium bolts now heal and knock out overtime while being
embedded instead of being instant.
balance: Healium bolts dissolve after being embedded for 6 seconds and
don't work on corpses
fix: Healium bolts no longer ignore being blocked/parried/reflected
/🆑
2025-07-04 16:33:02 -04:00
SmArtKarandGitHub c108ef79ac Healium bolts now embed and heal/knock out passively over time instead of being instant and unblockable (#91481)
## About The Pull Request

Healium bolts now heal you for 5 of each damage per second for 6 seconds
before falling out, while applying 2 seconds of drowsiness. If you have
at least 5 seconds of drowsiness (after 4 seconds of processing, because
we add 2 and it gets deducted by 1 afterwards) you get knocked out for 3
seconds (similarly to how it worked before, but with 1 additional second
left of processing if you were only shot by one bolt, you end up knocked
out for 4 seconds). It takes 1.5 seconds to rip one out, so you should
be able to react to being shot by one unless the attacker follows it up
with a melee distruption. Bolts that fall out restore their charges, but
only one bolt at a time can be putting the target to sleep.

https://github.com/user-attachments/assets/7936895e-f4dc-4bd6-847f-495c7f1202db

Video is a bit outdated, delay before knockout been bumped by a second.

###### This is a commission for Ezel/Improvedname

## Why It's Good For The Game

Healium bolts are an instant knockout that could be mass-produced to
either instantly win fights, or thrown at medbay to quickly hit corpses
by poking them over and over again as bolts didn't even embed, so
players can instantly reload and shoot them again. It was either making
them harder to produce, or reducing the effects, and former wouldn't
solve the knockout issue.
They also didn't care about block values, so even if you blocked or
reflected one you'd still get knocked out. lol

## Changelog

🆑
balance: Healium bolts now heal and knock out overtime while being
embedded instead of being instant.
balance: Healium bolts dissolve after being embedded for 6 seconds and
don't work on corpses
fix: Healium bolts no longer ignore being blocked/parried/reflected
/🆑
2025-06-29 13:47:00 +10:00
MrMelbertandRoxy bc2215667f Re-refactors batons / Refactors attack chain force modifiers (#90809)
Melee attack chain now has a list passed along with it,
`attack_modifiers`, which you can stick force modifiers to change the
resulting attack

This is basically a soft implementation of damage packets until a more
definitive pr, but one that only applies to item attack chain, and not
unarmed attacks.

This change was done to facilitate a baton refactor - batons no longer
hack together their own attack chain, and are now integrated straight
into the real attack chain. This refactor itself was done because batons
don't send any attack signals, which has been annoying in the past (for
swing combat).

🆑 Melbert
refactor: Batons have been refactored again. Baton stuns now properly
count as an attack, when before it was a nothing. Report any oddities,
particularly in regards to harmbatonning vs normal batonning.
refactor: The method of adjusting item damage mid-attack has been
refactored - some affected items include the Nullblade and knives.
Report any strange happenings with damage numbers.
refactor: A few objects have been moved to the new interaction chain -
records consoles, mawed crucible, alien weeds and space vines, hedges,
restaurant portals, and some mobs - to name a few.
fix: Spears only deal bonus damage against secure lockers, not all
closet types (including crates)
/🆑
2025-05-22 21:30:07 -04:00
MrMelbertandGitHub 5261efb67f Re-refactors batons / Refactors attack chain force modifiers (#90809)
## About The Pull Request

Melee attack chain now has a list passed along with it,
`attack_modifiers`, which you can stick force modifiers to change the
resulting attack

This is basically a soft implementation of damage packets until a more
definitive pr, but one that only applies to item attack chain, and not
unarmed attacks.

This change was done to facilitate a baton refactor - batons no longer
hack together their own attack chain, and are now integrated straight
into the real attack chain. This refactor itself was done because batons
don't send any attack signals, which has been annoying in the past (for
swing combat).

## Changelog

🆑 Melbert
refactor: Batons have been refactored again. Baton stuns now properly
count as an attack, when before it was a nothing. Report any oddities,
particularly in regards to harmbatonning vs normal batonning.
refactor: The method of adjusting item damage mid-attack has been
refactored - some affected items include the Nullblade and knives.
Report any strange happenings with damage numbers.
refactor: A few objects have been moved to the new interaction chain -
records consoles, mawed crucible, alien weeds and space vines, hedges,
restaurant portals, and some mobs - to name a few.
fix: Spears only deal bonus damage against secure lockers, not all
closet types (including crates)
/🆑
2025-05-19 13:32:12 +10:00
GhomandShadow-Quill 11d82b7995 You can now interact with held mobs beside wearing them (feat: "minor" melee attack chain cleanup) (#90080)
People can now pet held mothroaches and pugs if they want to, or use
items on them, hopefully without causing many issues. After all, it only
took about a couple dozen lines of code to make...

...Oh, did the 527 files changed or the 850~ lines added/removed perhaps
catch your eye? Made you wonder if I accidentally pushed the wrong
branch? or skewed something up big time? Well, nuh uh. I just happen to
be fed up with the melee attack chain still using stringized params
instead of an array/list. It was frankly revolting to see how I'd have
had to otherwise call `list2params` for what I'm trying to accomplish
here, and make this PR another tessera to the immense stupidity of our
attack chain procs calling `params2list` over and over and over instead
of just using that one call instance from `ClickOn` as an argument. It's
2025, honey, wake up!

I also tried to replace some of those single letter vars/args but there
are just way too many of them.

Improving old code. And I want to be able to pet mobroaches while
holding them too.

🆑
qol: You can now interact with held mobs in more ways beside wearing
them.
/🆑
2025-04-29 18:22:44 -06:00
GhomandGitHub 339616ae78 You can now interact with held mobs beside wearing them (feat: "minor" melee attack chain cleanup) (#90080)
## About The Pull Request
People can now pet held mothroaches and pugs if they want to, or use
items on them, hopefully without causing many issues. After all, it only
took about a couple dozen lines of code to make...

...Oh, did the 527 files changed or the 850~ lines added/removed perhaps
catch your eye? Made you wonder if I accidentally pushed the wrong
branch? or skewed something up big time? Well, nuh uh. I just happen to
be fed up with the melee attack chain still using stringized params
instead of an array/list. It was frankly revolting to see how I'd have
had to otherwise call `list2params` for what I'm trying to accomplish
here, and make this PR another tessera to the immense stupidity of our
attack chain procs calling `params2list` over and over and over instead
of just using that one call instance from `ClickOn` as an argument. It's
2025, honey, wake up!

I also tried to replace some of those single letter vars/args but there
are just way too many of them.

## Why It's Good For The Game
Improving old code. And I want to be able to pet mobroaches while
holding them too.

## Changelog

🆑
qol: You can now interact with held mobs in more ways beside wearing
them.
/🆑
2025-04-23 20:18:26 +00:00
Waterpig 753d8e5ba4 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-04a 2025-04-08 18:58:45 +02:00
df3d6a31ca Reworks flechette into a AP pellet round that does mostly wounds. Adds the Donk Co. 'Donk Spike' flechette round as a surplus round. (#89972)
## About The Pull Request


![image](https://github.com/user-attachments/assets/a9932294-5355-4a75-b64d-cd8350092c21)

Reworks flechette shells from... whatever it was that they were supposed
to be before into an AP pellet round that primarily focuses on wounding
power and embedding power over specifically dealing direct damage (16 as
opposed to buckshot's 30). Useful if you want to maim as a priority.

You can print flechette once science researches Exotic Ammunition.
Nuclear Operatives also get flechette rounds as a Bulldog Shotgun
magazine choice priced as a basic ammunition type.

In addition, you can also acquire Donk Co. 'Donk Spike' flechette
shells. These shells fire plastic darts! They can be purchased by
Nuclear Operatives as a surplus option for Bulldog shotguns. 7 magazines
for the price of one.

Donk Co. 'Donk Spike' flechette was intended to be an alternative to the
standard flechette but failed spectacularly once it hit the market. Due
to a lack of confidence in the product, Donk Co. 'Donk Spike' flechette
now appears in maintenance loot as potential trash, as Donk Co. dumped
it in the millions into various landfills across the sector.

You can also print it if you find the tech in a BEPIS tech disk. 

Does it work? Why don't you take a chance on Donk and find out?

## Why It's Good For The Game

I'm not sure if the person who made the original flechette actually
understood what each of the variables was supposed to be doing or how
they actually worked. A bullet with an excessively negative standard
wound power (for a pellet projectile) and low damage, but then an
excessively high bare wound bonus (for a pellet projectile). But then
some ricochet variables without ricochet being assigned to the bullet...
and a demolition mod on a round meant to be weak against armor?

Nonsensical.

So I've reworked it into two unique rounds. The first serving a
practical purpose and becoming an AP option when the crew typically
begins seeing those options open up (such as x-ray lasers). The same can
be said for nukies, who love AP options, but one focused on lasting
wounds is handy too for keeping someone down. There isn't a milspec
option; so for nukies, this isn't doing nearly as much upfront damage as
buckshot or slugs. You buy this when you want someone not to be
recovered with a LOT of medical attention.

The second being more tongue in cheek, but also giving a surplus option
for Bulldog shotguns, which I think are having ammunition problems even
still. Surplus ammunition might slowly roll out for all the guns, but
I'm mostly focusing on the ones that have some slight price disparity
for total shots compared to other weapons. Also, shooting people full of
plastic is kind of funny.

## Changelog
🆑
balance: Flechette has been reworked into an AP pellet round that embeds
and wounds, but has less actual damage to buckshot. You can print it
once Exotic Ammunition has been researched. Also available to Nuclear
Operatives.
add: Donk Co. 'Donk Spike' flechette rounds. No longer offered by Donk
Co. It can sometimes shows up in trashbins and dumpsters. And operatives
can buy it in bulk if they really feel like it.
/🆑

---------

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2025-03-19 08:01:22 +01:00
PaxilmaniacandRoxy cb1f692172 gives the smartgun aimbot (#89776)
## About The Pull Request

The smartgun, instead of tracking targets if you click directly on them,
will now track the closest target within 2 tiles of wherever you clicked
if you don't click directly on someone.
Also adds a reticle overlay that gets put over anyone targetted by the
smartgun so you can know ahead of time that you're about to die.


https://github.com/user-attachments/assets/0408132d-c02b-45fc-ad55-2fef0301b51b
## Why It's Good For The Game

I tried to argue this is a good new player gun while making it's entire
gimmick only work if you click directly on the spacemen. What kinda
smartgun doesn't have aimbot built into it.
## Changelog
🆑
balance: The syndie smartgun has 2 tile aimbot now
/🆑
2025-03-12 17:18:46 -04:00
SmArtKarandRoxy 57a01623a6 Adds a new syringe gun mode and improves foam darts. (#89510)
## About The Pull Request

This PR implements multiple new features:

Foam darts now can stick to people as long as their cap isn't removed.
Riot foam darts have a chance to jostle when you move with one stuck
inside of you, dealing a bit of stamina damage from the weight stuck to
your limbs.

Syringe guns received a second "low power" mode, toggleable with in-hand
right click. In this mode, syringes fired will embed into their target
and slowly leak their reagents instead of instantly delivering them.
Thankfully, they can be plucked out pretty quickly.

You can also insert syringes into uncapped (screwdriver-ed) foam darts
(similarly to pens) to achieve the same result, allowing you to get a
bootleg low-efficiency syringe gun.

Additionally, I fixed/cleaned up some embedding issues/code which I
found while coding this.

## Why It's Good For The Game

This allows players to explore new funny interactions between items and
chems, as we don't have a reliable slow release mechanism aside from IV
drips currently. And foam darts embedding it just (mostly) harmless
fluff, if someone figures out a way to cause havoc with it then I'll be
very proud of them (someone totally will).

## Changelog
🆑
add: Foam darts now stick to people when they have their cap on, riot
foam darts also can passively deal a bit of stamina damage when you move
with one.
add: Syringes can be inserted into foam darts, making them embed and
slowly leak their reagents into their victim.
add: Syringe guns can be toggled (with right click) between high power
and low power modes, former being their normal functionality and latter
making syringes embed and slowly leak their contents.
fix: Fixed projectiles sometimes not embedding when they should've
code: Cleaned embedding code up
/🆑
2025-03-12 16:52:51 -04:00
PaxilmaniacandGitHub 8846ffe59e gives the smartgun aimbot (#89776)
## About The Pull Request

The smartgun, instead of tracking targets if you click directly on them,
will now track the closest target within 2 tiles of wherever you clicked
if you don't click directly on someone.
Also adds a reticle overlay that gets put over anyone targetted by the
smartgun so you can know ahead of time that you're about to die.


https://github.com/user-attachments/assets/0408132d-c02b-45fc-ad55-2fef0301b51b
## Why It's Good For The Game

I tried to argue this is a good new player gun while making it's entire
gimmick only work if you click directly on the spacemen. What kinda
smartgun doesn't have aimbot built into it.
## Changelog
🆑
balance: The syndie smartgun has 2 tile aimbot now
/🆑
2025-03-09 19:32:54 +01:00
SmArtKarandGitHub 7f15e11993 Adds a new syringe gun mode and improves foam darts. (#89510)
## About The Pull Request

This PR implements multiple new features:

Foam darts now can stick to people as long as their cap isn't removed.
Riot foam darts have a chance to jostle when you move with one stuck
inside of you, dealing a bit of stamina damage from the weight stuck to
your limbs.

Syringe guns received a second "low power" mode, toggleable with in-hand
right click. In this mode, syringes fired will embed into their target
and slowly leak their reagents instead of instantly delivering them.
Thankfully, they can be plucked out pretty quickly.

You can also insert syringes into uncapped (screwdriver-ed) foam darts
(similarly to pens) to achieve the same result, allowing you to get a
bootleg low-efficiency syringe gun.

Additionally, I fixed/cleaned up some embedding issues/code which I
found while coding this.

## Why It's Good For The Game

This allows players to explore new funny interactions between items and
chems, as we don't have a reliable slow release mechanism aside from IV
drips currently. And foam darts embedding it just (mostly) harmless
fluff, if someone figures out a way to cause havoc with it then I'll be
very proud of them (someone totally will).

## Changelog
🆑
add: Foam darts now stick to people when they have their cap on, riot
foam darts also can passively deal a bit of stamina damage when you move
with one.
add: Syringes can be inserted into foam darts, making them embed and
slowly leak their reagents into their victim.
add: Syringe guns can be toggled (with right click) between high power
and low power modes, former being their normal functionality and latter
making syringes embed and slowly leak their contents.
fix: Fixed projectiles sometimes not embedding when they should've
code: Cleaned embedding code up
/🆑
2025-03-01 22:52:19 +11:00
Majkl-J b6b8306fda Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-02a 2025-02-20 00:00:19 -08:00
Penelope HazeandGitHub 4c2a76ede3 Fix a large number of typos (#89254)
Fixes a very large number of typos. A few of these fixes also extend to
variable names, but only the really egregious ones like "concious".
2025-01-28 22:16:16 +01:00
necromanceranneandGitHub 85707b3459 Cargo can source lethal shotgun shells at a premium via Imports. Rebalances shotgun shells. (#89125) 2025-01-24 22:03:59 +00:00
42d80a5963 Fixes .357 Heartseeker not homing in on people (#88696)
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2024-12-24 23:05:29 +00:00
necromanceranneandGitHub e9471b00b0 Adds the NT BR-38 Battle Rifle. A sci-fi hybrid gun, but better than the last attempt. Only SOMETIMES fails at existence. (#88095)
## About The Pull Request

A repeat of the first half of
https://github.com/tgstation/tgstation/pull/86853

The NT BR-38 Battle Rifle is a semi-automatic
railgun...marksman...carbine...rifle...thingy that uses .38 ammunition
and is magazine fed from a 15 round magazine. It comes with a scope, and
is bulky.


![image](https://github.com/user-attachments/assets/456aba07-ba0a-4ad3-993c-7fc2bc1395d6)

Sprites by OrcaCora.

### Some of its features

The gun shoots at a higher than normal velocity for .38. This means it
hits harder (30 damage compared to the standard 25), and flies faster
through the air.

The gun, however, suffers from degradation as it is used. It has a 10
shot buffer before suffering degradation. After the 10 shot buffer, it
has a 10% chance each shot to increase in degradation stage. From stage
1 to stage 5 (the maximum stage), it begins to lose fire rate and
projectile flight speed.

To recalibrate the gun, you can do one of two things; 
A) Use a multitool on the gun. This completely resets the gun, but its
pretty slow.
B) Insert it into a weapon recharger to recharge its buffer and reduce
its degradation stages.

### Some of its downsides

The weapon is EMP vulnerable. If it gets EMP'd, it immediately degrades
and loses any buffer it has. While EMP'd, there is a 75% chance it
doesn't fire when you pull the trigger. This is also true if the gun has
hit maximum degradation. Keep your guns in good shape.

It can be emagged. While emagged, the gun has increased damage (40 for
standard ammunition), but once it hits maximum degradation, it
immediately begins to catastrophically fail. It also degrades
significantly faster while emagged. There is no way to reverse this
effect, and the explosion is extremely lethal.

### Where can I find it? What about ammo?

You can purchase the gun from cargo at a significant premium, as well as
some additional magazines of some basic ammo types.

There is exactly one of these in the armory, and you can print more
magazines from the security protolathe. As research progresses, you can
print different, specialized ammunition for the rifle. (and also the
detective .38 revolver, obviously)

### New .38 ammunition types

True Strike bounces accurately between targets, but deals significantly
less damage than other ammo types (15 base, 18 in this rifle).

It is printed once the station gets Exotic Ammo.

## Why It's Good For The Game

This is a followup on my previous PR, where I tested this weapon and
gathered a whole bunch of feedback on it. Most people quite liked it.
but had some concerns that I feel this addresses.

Much of the justifications given there apply here. Obviously ignoring
anything to do with the combat shotgun removal.

Some stuff obviously has not come back from the original test. Notably,
the TRAC changes were probably a little too powerful. As much as I liked
a default entirely nonlethal ammunition type, TRAC itself is better left
as a late research goal.

In addition, I moved the explosion part to an emag effect. It's funny,
and lends itself to the original intention of the weapon; a callback to
the WT-550 incident. But it isn't a standard part of the guns mechanics.
2024-12-13 19:46:24 +00:00
The SharkeningandGitHub 8a6db3b445 Buffs the L6 Saw (#2639)
## About The Pull Request

Buffs the L6 saw ~ 30 percent more damage

## Why It's Good For The Game

The l6 saw has always been left behind for a nukie weapon. This will
help get it to a better state.

- /obj/projectile/bullet/a7mm (normal ammo) 30 --> 39
- /obj/projectile/bullet/a7mm/ap (AP ammo) 25 --> 30
- /obj/projectile/bullet/incendiary/a7mm (Incendiary Ammo) 15 --> 20
- /obj/projectile/bullet/a7mm/bouncy (bouncy ammo) 20 --> 25

## Proof Of Testing

It compiles and works.

## Changelog

🆑
balance: Increases the L6 Saw damage by around 30 percent
/🆑
2024-12-07 23:01:01 -08:00
560d849e04 gatfruit shoots peas (#88051)
## About The Pull Request
basically #64128 slightly redone (with permission)

gatfruit now shoots peas; 
(injects assuming hit zone is unblocked and this assumes you havent
modified the plants reagent genes)
at 0 potency to god knows what potency a single pea (bullet) deals 5
brute and injects 1u of phytotoxins
at 50 potency it fires 10 brute and injects 15u of phytotoxin
at 100 potency it fires 15 brute and injects 30u of phytotoxin
phytotoxin is the Toxin chemical but with no liver damage, it is not
particularly strong but serves to recreate the original PRs 5 tox with
possibility of actually modifying that

![2024-11-20
17_04_00-Window](https://github.com/user-attachments/assets/4803f02a-d8a5-4acd-bc49-fd50959b4794)

upon peeling the fruit its reagents are spread among the revolvers 7
casings

also i attempted to make the revolver look more plant-like but im pretty
sure i screwed up

![image](https://github.com/user-attachments/assets/0e1b374d-0b8a-441c-b359-6c94298c6ad1)


## Why It's Good For The Game

a bullet of 357 deals 60 brute (not counting falloff (which i dont think
it gets) and armor)
there are 7 bullets of 357 in a revolver so 420 brute in 1 revolver, and
it basically takes 200 brute to kill someone outright if oxygen and
other damage doesnt do it first
at 10 yield (or whatever max yield is i cant really remember) thats 10
revolvers, so 10 x 420 so 4200 in a bag brute per harvest (again 200
brute if you decide to shoot until something dies so you can kill like
21 people if you dont miss in a single yield 10 harvest)
thats pretty busted for something you can achieve fast by making REALLY
easy chems after getting the seeds from exodrones or lavaland

with this change its still a viable weapon but not a supremely lethal
traitor weapon, and also enables some botany gaming if you make it
contain felinid mutation toxin or something

## Changelog
🆑
balance: A mutation in gatfruit seeds has led to a drastic alteration in
the observable traits of the plant, which now fires hardened peas that
deal less damage, but poison the target. Additionally, its poison can
be, with some botanical engineering, replaced with whatever you wish.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-12-06 23:18:55 +01:00
Majkl-J e59d8ba64b Merge commit '179a607a90ad7ec62bdaff4e6fe72af60ee56442' of https://github.com/tgstation/tgstation into upstream-24-10b 2024-10-23 23:27:16 -07:00
SmArtKarandGitHub ad111f4950 Spacemove refactor - Newtonian physics (#84869)
## About The Pull Request

This PR significantly enhances how zero-g movement works. Its no longer
locked to one of 8 directions, everything now has inertia and is
affected by weight. This means that throwing a piece of wire will no
longer completely reverse your movement direction, and that being thrown
out of mass driver no longer will slow you down to a halt at some point.

This leads to following gameplay changes:
* Guns now accelerate you. Ballistics have higher acceleration than
lasers, and higher calibers have higher acceleration than smaller ones.
This means that firing full-auto weapons in zero-g will make you drift
and accelerate significantly. While this can be a hilarious way to
travel in space, it makes using them trickier.
* Impacting a wall or an object while moving at high speeds will cause
you to violently crash into it as if you were thrown. Careful when
exploring!
* Jetpacks now have inertia. Changes introduced in #84712 have been
mostly reverted, although speed buff has been reduced to 0.3 instead of
0.5 (although this is compensated by new movement mechanics, so overall
speed should be roughly equal). All MODsuit jetpacks now possess the
speed boost. Advanced MODsuit jets (which has also been added back) and
captain's jetpack instead have higher acceleration and stabilization
power, providing much more precise control over your movement.
* Firing guns while moving on a jetpack will partially negate your
pack's acceleration, slowing you down. Non-advanced jetpacks'
stabilization is not enough to compensate for heavy caliber weaponry as
sniper rifles, shotguns or rocket launchers.
* You no longer instantly decelerate upon sliding along a wall. Instead,
it may take a few tiles if you are moving at extreme speeds. Passing
over lattices still allows you to grab onto them!

As space movement is angle-based instead of dir-based now, its much more
smooth than before due to using new movement logic.

Example of jetpack stabilization in action:

https://github.com/tgstation/tgstation/assets/44720187/6761a4fd-b7de-4523-97ea-38144b8aab41

And, of course, you can do this now.

![jetpack_500](https://github.com/tgstation/tgstation/assets/44720187/37b11cd8-2bd1-4640-ae0c-5e0cc505bf52)

**This pull request requires extensive gameplay testing before
merging**, as a large amount of numbers have been picked arbitrarily in
an attempt to keep consistency with previous behavior (guns and
normal-sized items applying 1 drift force, which is equal to what
everything applied before this PR). Jetpacks and impacts may also
require adjustments as to not be frustrating to use.

Closes #85165

## Why It's Good For The Game

Zero-G refactor - currently our zero-g movement is rather ugly and can
be uncomfortable to work with. A piece of cable being able to accelerate
you the same as a duffelbag full of items when thrown makes no sense,
and so does instantly changing directions. Inertia-based version is
smoother and more intuitive. This also makes being thrown into space
more of a hazard (possibly opening the door for explosive
decompressions?)
Jetpack inertia and gun changes - this is mostly a consequence of
inertia-based movement. However, zero-g combat being preferred during
modes like warops was an issue due to it negatively affecting everyone
without jetpacks which are in limited supply onboard. This reverts the
mobility changes which severely impacted space exploration, while making
zero-g combat more dangerous and having it require more skill to be a
viable option.

## What's left

- [x] Refactor moth wings to use jetpack code
- [x] Refactor functional wings to use jetpack code
- [x] Locate and fix a recursion runtime that sometimes occurs upon
splattering against a wall
- [x] Add craftable tethers and modify engineering MOD tethers to use
the same system

## Changelog
🆑
add: You can now craft tether anchors, which can be secured with a
wrench and attached to with right click. They won't let you drift into
space and you can adjust tether length/cut it via lmb/rmb/ctrl click on
the wire.
add: MOD tethers now remotely place and connect to tether anchors
instead of throwing you at where they landed.
balance: MOD tethers can now be used in gravity
balance: Jetpacks are now inertia-based. 
balance: Guns can accelerate you significantly in zero-g.
balance: All jetpacks now give you equal speed buff, however advanced
MOD ion jets and captain's jetpack have higher acceleration/deceleration
values.
refactor: Refactored zero-g movement to be inertia-based and utilize
angles instead of directions.
/🆑
2024-09-26 02:49:54 -07:00
b76c42417e [MIRROR] Jarvis, add buckshot to the blackmarket. (#29522)
* Jarvis, add buckshot to the blackmarket. (#85470)

## About The Pull Request

![immagine](https://github.com/user-attachments/assets/82a41ea7-9951-43d5-a553-7c9884058bf2)

~discord light-theme big L.~

By the by, these are slightly nerfed buckshots, create big puffs of
powder smoke when fired, damage your gun, and MIGHT blow you up in the
same style of using a detective revolver loaded with .357 if you fire
too many.

Also, the integrity of the firearm now counts towards the damage of
bullets it's fired from.

## Why It's Good For The Game
The blackmarket is a place where you can find illegally illegal, evil
items, along with other trinkets. I thought it'd be a nice place to
reintroduce buckshot with a little downgrading twist after it has been
nerfed (it used to do 60 damage without falloff) AFTER it was removed
from the lathes and the station.

## Changelog

🆑
add: Buckshot is back on the menu, on the blackmarket.
balance: the integrity of firearms now counts toward projectile damage.
A gun that's on the very verge of breaking down will deal half as much
damage.
/🆑

* Jarvis, add buckshot to the blackmarket.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-08-22 04:49:35 +07:00
GhomandGitHub 11fce492bb Jarvis, add buckshot to the blackmarket. (#85470)
## About The Pull Request

![immagine](https://github.com/user-attachments/assets/82a41ea7-9951-43d5-a553-7c9884058bf2)

~discord light-theme big L.~

By the by, these are slightly nerfed buckshots, create big puffs of
powder smoke when fired, damage your gun, and MIGHT blow you up in the
same style of using a detective revolver loaded with .357 if you fire
too many.

Also, the integrity of the firearm now counts towards the damage of
bullets it's fired from.

## Why It's Good For The Game
The blackmarket is a place where you can find illegally illegal, evil
items, along with other trinkets. I thought it'd be a nice place to
reintroduce buckshot with a little downgrading twist after it has been
nerfed (it used to do 60 damage without falloff) AFTER it was removed
from the lathes and the station.

## Changelog

🆑
add: Buckshot is back on the menu, on the blackmarket.
balance: the integrity of firearms now counts toward projectile damage.
A gun that's on the very verge of breaking down will deal half as much
damage.
/🆑
2024-08-21 16:27:18 +01:00
4dd0fef1cf [READY]Armadyne Anti Trust Act Part 2: Return of The Ballistic Security (#27409)
* Update pistol.dm

* Update pistol.dm

* Update pistol.dm

* we fix the linter

* Update pistol.dm

* Update pistol.dmi

* Update pistol.dm

* this shit

* Update pistol.dm

* Update pistol.dm

* Update pistol.dm

* Update rifle.dm

* I am happy.

* Update vending.dm

* new file

* fire delay

* Create magazine.dm

* finally

* Update pistol.dm

* bazinga

* Update pistol.dm

* this is impossible

* Update magazine.dm

* mm

* as

* i forgot!

* Update pistol.dm

* what the hell are we doing

* Update pistol.dm

* Update security.dm

* Update pistol.dm

* what

* i fixed linter

* help me gordon

* Update allstar.dm

* Update tgstation.dme

* Update pistol.dm

* Update pistol.dm

* now what

* Update tgstation.dme

* i crave sex

* Update smg.dm

* Update magazine.dm

* Update pistol.dm

* Update sec_research.dm

* Update sec_research.dm

* accurate

* mmm

* Update tgstation.dme

* Update sec_research.dm

* Update all_nodes.dm

* don't you feel silly?

* Update all_nodes.dm

* Update tgstation.dme

* Update cargo_stuff.dm

* Update cargo_stuff.dm

* Update magazine.dm

* Update magazine.dm

* we are ready

* Update all_nodes.dm

* Update rifle.dm

* Update gun48x32.dmi

* Update rifle.dm

* bird

* Update rifle.dm

* Why

* its ready?

* what

* Update rifle.dm

* i wish i can die soon

* Update ammo.dmi

* more curious about the result

* Update rifle.dm

* mister mister president i want to die

* Update magazines.dm

* what

* fml lol

* Update gun40x32.dmi

* this is sick af

* Update rifle.dm

* what

* Update rifle.dm

* Update all_nodes.dm

* what

* Update rifle.dm

* Update all_nodes.dm

* yeah

* Update all_nodes.dm

* Update pistol.dm

* so

* Update sec_research.dm

* Update rifle.dm

* ready

* Update head.dmi

* wwhat

* Update gun40x32.dmi

* yeah

* ww got vything done

* we h int at a darker past

* yeah I know that there's no pleasing you

* Update magazines.dm

* Update sol_fed.dm

* mhm

* Update rifle.dm

* Update rifle.dm

* Update magazines.dm

* Update magazine.dm

* Update cargo_stuff.dm

* Update cargo_stuff.dm

* Update gun_redemption.dm

* what

* Update rifle.dm

* how did we mess this up so badly

* be more thorough next time?

* fixed

* Update pistol.dm

* Update rifle.dm

* Update rifle.dm

* stats and stats

* Update rifle.dm

* Update ammobox.dm

* Update beams.dm

* Update magazine.dm

* Update rifle.dm

* Update rifle.dm

* Update magazine.dm

* Update rifle.dm

* Update helmet.dmi

* this should fix it

* Update packs.dm

* Update rifle.dm

* why doesnt this work is beyond me

* Update shotgun.dm

* Update pistol.dm

* i pray this fix it before i die

* Update ammobox.dm

* this should work

* Update shotgun.dm

* this is utterly shit code thati should die for

* Update shotgun.dm

* fix the helmet

* Update sec_clothing_overrides.dm

* Update shotgun.dm

* what did i do

* what else?

* Update pistol.dm

* Update shotgun.dm

* an ode to joy

* Update rifle.dm

* Update pistol.dm

* here we go

* Update tgstation.dme

* Update tgstation.dme

* Update tgstation.dme

* so

* forgive yourself

* Update pistol.dmi

* Update pistol.dm

* Update magazine.dmi

* Update magazine.dmi

* it was also my plan

* mmm

* Update magazine.dm

* Update rifle.dm

* vanilla expanded

* yeah

* Update sec_research.dm

* silly

* Update all_nodes.dm

* yeah

* Update sec_research.dm

* yes

* can  you even say, my name

* Update shotgun.dm

* this is easier

* wonderful

* Update tgstation.dme

* Update tgstation.dme

* Update rifle.dm

* Update rifle.dm

* done

* Update tgstation.dme

* yeah

* Update tgstation.dme

* yes

* Update tgstation.dme

* Update shotgun.dm

* there

* yeah!

* it feels right

* Update helmet.dmi

* Update cargo_packs.dm

* Update peacekeeper_clothing.dm

---------

Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-08-21 06:47:05 +07:00
ebd2f8bc5e [MIRROR] Replaces my old and crusty pp-95 with the cool new nukeops tech on the block, smart SMGs (#29126)
* Replaces my old and crusty pp-95 with the cool new nukeops tech on the block, smart SMGs (#85211)

## About The Pull Request

![image](https://github.com/user-attachments/assets/c399db0d-c8b8-4f0e-b20d-e81e153a4fac)

![smart
bullet](https://github.com/user-attachments/assets/02af6174-f967-487c-b5ee-90c73300d179)

Adds the Abielle Smart-SMG to replace the pp-95 entirely.

The Abielle performs nearly identically to the pp-95 in nearly all
aspects, doing 0.5 less damage because it's not a projectile modifier on
9mm anymore.

What the Abielle does do majorly differently, is give it's bullets a
slight homing ability VS whatever you clicked on. This keeps the weapon
equally useless to it's predecessor at spraying blindly down hallways,
while rewarding careful aim with bullets that slightly track the target.

## Why It's Good For The Game

The surplus smg sucks, and I don't mean performance-wise (although it
certainly does, that's the idea). The surplus smg sucks because
typically you would be better suited using it as a melee weapon due to
the inaccuracy and low damage. Making the cheapo "I forgot to buy a
weapon" gun practically useless is super punishing especially for newer
ops who might not remember to buy a weapon first. The smartgun makes the
surplus smg still pretty shit compared to the other nukeops guns that
can down a man nearly instantly, but means that reinforcements or broke
ass nukeops can still be relatively effective so long as they can click
on a spaceman across the screen.

## Changelog
🆑
balance: The nukeops surplus smg, the pp-95, has been reworked into the
Abielle Smart-SMG. It performs nearly identically to the pp-95, however
it's projectiles get a slight homing ability towards whatever you click
on.
sound: New firing sounds for the surplus smg, credit to the m41 sound
effects from tgmc
image: New sprites for the surplus smg, made by me
/🆑

* Replaces my old and crusty pp-95 with the cool new nukeops tech on the block, smart SMGs

---------

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
2024-07-31 07:30:46 +05:30
PaxilmaniacandGitHub b98afcd140 Replaces my old and crusty pp-95 with the cool new nukeops tech on the block, smart SMGs (#85211)
## About The Pull Request


![image](https://github.com/user-attachments/assets/c399db0d-c8b8-4f0e-b20d-e81e153a4fac)

![smart
bullet](https://github.com/user-attachments/assets/02af6174-f967-487c-b5ee-90c73300d179)

Adds the Abielle Smart-SMG to replace the pp-95 entirely.

The Abielle performs nearly identically to the pp-95 in nearly all
aspects, doing 0.5 less damage because it's not a projectile modifier on
9mm anymore.

What the Abielle does do majorly differently, is give it's bullets a
slight homing ability VS whatever you clicked on. This keeps the weapon
equally useless to it's predecessor at spraying blindly down hallways,
while rewarding careful aim with bullets that slightly track the target.

## Why It's Good For The Game

The surplus smg sucks, and I don't mean performance-wise (although it
certainly does, that's the idea). The surplus smg sucks because
typically you would be better suited using it as a melee weapon due to
the inaccuracy and low damage. Making the cheapo "I forgot to buy a
weapon" gun practically useless is super punishing especially for newer
ops who might not remember to buy a weapon first. The smartgun makes the
surplus smg still pretty shit compared to the other nukeops guns that
can down a man nearly instantly, but means that reinforcements or broke
ass nukeops can still be relatively effective so long as they can click
on a spaceman across the screen.

## Changelog
🆑
balance: The nukeops surplus smg, the pp-95, has been reworked into the
Abielle Smart-SMG. It performs nearly identically to the pp-95, however
it's projectiles get a slight homing ability towards whatever you click
on.
sound: New firing sounds for the surplus smg, credit to the m41 sound
effects from tgmc
image: New sprites for the surplus smg, made by me
/🆑
2024-07-29 17:31:18 +01:00
1fdf3d739a [MIRROR] Donk Co Interstellar Trading Post 6016 (#29007)
* Donk Co Interstellar Trading Post 6016 (#83075)

## About The Pull Request
Adds a new space ruin to the pool. It's the haunted trading post. It is
a whiteship dock with a large (safe) common area. The back rooms contain
loot and danger. Here are a few 'teaser' images.

https://i.imgur.com/M1te9Ha.png https://i.imgur.com/SF3bJ62.png
https://i.imgur.com/i9xeUFP.png https://i.imgur.com/UBwpJAM.png

Notable treasures: Cash, Donk Co merch, Donk Co guns, Donk Co Donk
Pockets, Donk Co vendors, Donk Co ID Cards, and the Donk Co Secret
Recipe.

Oh yeah the secret documents teach you how to make three prototype
variants of Donk Pockets. There is no limit to the amount of times it
can be read, so if you want to corner the market remember to lock up the
documents. Or you can share them with your friends.

**Now COMPLETE!**

![proof i ran this at least once
locally](https://i.imgur.com/39kvyqd.png)

## Why It's Good For The Game
This ruin is a multi-room dungeon with multiple solutions to each room.
It has plenty of action from mobs, traps and hazards. Each room has some
form of treasure or unique item in it. There's a boss at the end with
great rewards for fighting it, including a cool gun (slightly worse
variant of laser carbine).

This ruin is also a whiteship dock and space base. The public area is
entirely safe: stick to the well lit sector and don't trespass in the
employees only areas and you won't be harmed. There is a variety of
vendors to resupply at (including a brand new Donk Co snack vendor) but
unlike most other space ruins you do have to pay. A whiteship can dock
at this ruin if you have one, so you can bring groups of people to party
or attack the dungeon together.
## Changelog
🆑
add: Adds the Haunted Trading Post space ruin.
add: Adds 10+ unique items for the Haunted Trading Post
add: Adds 5 dangerous mobs for the Haunted Trading Post
add: Adds 4 new types of hazardous traps for the Haunted Trading Post.
/🆑

---------

Co-authored-by: Afevis <ShizCalev@ users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>

* Donk Co Interstellar Trading Post 6016

* [MIRROR] Donk Co Interstellar Trading Post 6016 [MDB IGNORE] (#3943)

* Donk Co Interstellar Trading Post 6016

* i'd rather a pepsi

---------

Co-authored-by: Da Cool Boss <142358580+DaCoolBoss@users.noreply.github.com>
Co-authored-by: Fluffles <piecopresident@gmail.com>

---------

Co-authored-by: Da Cool Boss <142358580+DaCoolBoss@users.noreply.github.com>
Co-authored-by: Afevis <ShizCalev@ users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
Co-authored-by: NovaBot <154629622+NovaBot13@users.noreply.github.com>
Co-authored-by: Fluffles <piecopresident@gmail.com>
2024-07-27 19:57:49 +05:30
b748c455df Donk Co Interstellar Trading Post 6016 (#83075)
## About The Pull Request
Adds a new space ruin to the pool. It's the haunted trading post. It is
a whiteship dock with a large (safe) common area. The back rooms contain
loot and danger. Here are a few 'teaser' images.

https://i.imgur.com/M1te9Ha.png https://i.imgur.com/SF3bJ62.png
https://i.imgur.com/i9xeUFP.png https://i.imgur.com/UBwpJAM.png

Notable treasures: Cash, Donk Co merch, Donk Co guns, Donk Co Donk
Pockets, Donk Co vendors, Donk Co ID Cards, and the Donk Co Secret
Recipe.

Oh yeah the secret documents teach you how to make three prototype
variants of Donk Pockets. There is no limit to the amount of times it
can be read, so if you want to corner the market remember to lock up the
documents. Or you can share them with your friends.

**Now COMPLETE!**

![proof i ran this at least once
locally](https://i.imgur.com/39kvyqd.png)

## Why It's Good For The Game
This ruin is a multi-room dungeon with multiple solutions to each room.
It has plenty of action from mobs, traps and hazards. Each room has some
form of treasure or unique item in it. There's a boss at the end with
great rewards for fighting it, including a cool gun (slightly worse
variant of laser carbine).

This ruin is also a whiteship dock and space base. The public area is
entirely safe: stick to the well lit sector and don't trespass in the
employees only areas and you won't be harmed. There is a variety of
vendors to resupply at (including a brand new Donk Co snack vendor) but
unlike most other space ruins you do have to pay. A whiteship can dock
at this ruin if you have one, so you can bring groups of people to party
or attack the dungeon together.
## Changelog
🆑
add: Adds the Haunted Trading Post space ruin.
add: Adds 10+ unique items for the Haunted Trading Post
add: Adds 5 dangerous mobs for the Haunted Trading Post
add: Adds 4 new types of hazardous traps for the Haunted Trading Post.
/🆑

---------

Co-authored-by: Afevis <ShizCalev@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-07-23 04:46:29 +02:00
ae51c811e0 [MIRROR] Buffing some awful black market items to be less awful. (#28856)
* Buffing some awful black market items to be less awful. (#84895)

## About The Pull Request
With this PR, I'm making some awful or bad blackmarket items less bad
(some are still bad imo). I don't aim to tweak every item that I find
mediocre at best, because it ultimately boils down to opinion and maybe
what I don't like, others do, but also because the feature was designed
to have some "scammy" items in there (the broken chameleon hat is a
prime example).

Moving on, some of the more noticeable changes:
- the old spacesuit in a box should no longer cost thousands of credits
- the thermite bottle now contains enough thermite to melt one r-wall
- replaced the shotgun dart item with a more expensive box of XL shotgun
darts (25 units of reagent capacity vs 15)
- replaced the science googles with a more expensive medical-security
combo HUD (the sprites exist already)
- the donk pocket box item can now spawn subtypes of the donk pocket
box, this includes the gondola box, though it's pretty rare.
- the suspicious pill bottle item can now spawn a pill bottle of
maintenance pills

The rest should be price changes.

## Why It's Good For The Game
Many of the blackmarkets choices are downright a bummer, and I'm not
talking about things like the broken chameleon hat, but stuff such as
shotgun darts, science googles, thermite; I mean, SOME of stuff that's
OBVIOUSLY easy and more convenient to get from a (proto/auto) lathe or
the chemist and just make the blackmarket look kinda bad.

## Changelog

🆑
balance: reduced the prices of some blackmarket items across the board.
balance: the thermite bottle (from the contraband spawner and the
blackmarket), now spawns with 50u of thermite vs 30, enough to melt one
reinforced wall.
add: Replaced the science googles from the blackmarket with a security +
health scanner HUD.
add: Replaced the single shotgun dart from the blackmarket with a box of
XL shotgun darts.
add: The donk pocket box from the blackmarket now comes in different
flavors.
/🆑

* Buffing some awful black market items to be less awful.

* modular edits

* maybe?

* fix icons

* fix

* Update storage.dm

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-07-20 21:12:55 +05:30
GhomandGitHub 4611958e74 Buffing some awful black market items to be less awful. (#84895)
## About The Pull Request
With this PR, I'm making some awful or bad blackmarket items less bad
(some are still bad imo). I don't aim to tweak every item that I find
mediocre at best, because it ultimately boils down to opinion and maybe
what I don't like, others do, but also because the feature was designed
to have some "scammy" items in there (the broken chameleon hat is a
prime example).

Moving on, some of the more noticeable changes:
- the old spacesuit in a box should no longer cost thousands of credits
- the thermite bottle now contains enough thermite to melt one r-wall
- replaced the shotgun dart item with a more expensive box of XL shotgun
darts (25 units of reagent capacity vs 15)
- replaced the science googles with a more expensive medical-security
combo HUD (the sprites exist already)
- the donk pocket box item can now spawn subtypes of the donk pocket
box, this includes the gondola box, though it's pretty rare.
- the suspicious pill bottle item can now spawn a pill bottle of
maintenance pills

The rest should be price changes.

## Why It's Good For The Game
Many of the blackmarkets choices are downright a bummer, and I'm not
talking about things like the broken chameleon hat, but stuff such as
shotgun darts, science googles, thermite; I mean, SOME of stuff that's
OBVIOUSLY easy and more convenient to get from a (proto/auto) lathe or
the chemist and just make the blackmarket look kinda bad.

## Changelog

🆑
balance: reduced the prices of some blackmarket items across the board.
balance: the thermite bottle (from the contraband spawner and the
blackmarket), now spawns with 50u of thermite vs 30, enough to melt one
reinforced wall.
add: Replaced the science googles from the blackmarket with a security +
health scanner HUD.
add: Replaced the single shotgun dart from the blackmarket with a box of
XL shotgun darts.
add: The donk pocket box from the blackmarket now comes in different
flavors.
/🆑
2024-07-15 01:49:13 -04:00
45258799bc [MIRROR] Adds additional equipment for Silverscales. (#28694)
* Adds additional equipment for Silverscales.

* merge conflict

---------

Co-authored-by: Toastgoats <63932673+Toastgoats@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-07-09 17:28:34 +05:30
3c4444b1c4 Adds additional equipment for Silverscales. (#84257)
## About The Pull Request

This PR adds a few notable changes to the Silverscale pirates:

- Replaces the old nanotrasen branded hardsuit with the designer EVA
suit, an armored hardsuit equivalent in protection to that of the
standard pirates.

![silverscale](https://github.com/tgstation/tgstation/assets/63932673/85ba8b9c-307d-4800-a876-c0470e9ef0ab)

- Silverscales all start with satchels

- The airlocks on the shuttle can now be locked from the inside

- The shuttle now has a robot butler (medibot) named Mortimer, along
with a burn kit.

- Increased the amount of C4 on the shuttle to 3, and added a 1.30
damage modifier paywalled laser gun to justify having the recharger, the
silverscales will need to supply the card themselves

- Adds explosive implants to the Silverscales' outfit. They're greedy
lizards, did you think they'd let their gear fall into the hands of the
poors so easily?

- The mosins now get phasic rounds to offset the disadvantages of low
DPS compared to lasers.

## Why It's Good For The Game

As it stands, it can be argued that the Silverscales are the weakest
pirate faction, On paper, they sound as though they would be
well-equipped elites, but are left with clunky, unarmored space suits, a
bright dead-giveaway glow, and single shot guns that leave them
extremely vulnerable to being rushed and stunned. As such, they've
become somewhat of a joke amongst players for the past few years.

This pr doesn't necessarily aim to negate their weakness, but I'd like
to give them more of a safety net that puts them on equal to slightly
better footing with standard pirates in terms of their access to armor,
healing, and options.

The addition of the explosive implant also serves to reinforce their
theming of being rich, evil lizards, but is mostly meant to make them
more entertaining.
## Changelog
🆑
add: Added the designer EVA suit, a unique pirate hardsuit for
Silverscales.
balance: Increased the equipment available to Silverscales
image: Sprites for the designer EVA suit
/🆑

---------

Co-authored-by: Afevis <ShizCalev@users.noreply.github.com>
2024-07-07 15:13:26 -04:00
0b0ca5ac1b [MIRROR] Converts slapcrafting into a bespoke element (#28655)
* Converts slapcrafting into a bespoke element (#84226)

## About The Pull Request

Converts slapcrafting into a bespoke element, used to be ac omponent

## Why It's Good For The Game

Noticed this was a big C and realized there was no real reason for that.
It's the same recipe shared across different items.

## Changelog
N/A

---------

Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>

* Converts slapcrafting into a bespoke element

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2024-07-06 09:41:55 +05:30
bd14e92d04 Converts slapcrafting into a bespoke element (#84226)
## About The Pull Request

Converts slapcrafting into a bespoke element, used to be ac omponent

## Why It's Good For The Game

Noticed this was a big C and realized there was no real reason for that.
It's the same recipe shared across different items.

## Changelog
N/A

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-07-05 22:20:30 +00:00