## About The Pull Request
This standardizes fugitive hunter IDs, making all hunter packs use the
same subtype and giving them to hunters who would spawn with no ID at
all.
The badass flaming ID color that the OG Bounty Hunter team got are now
the standard for fugitive hunter IDs. Additionally, these IDs now come
with a radical skull trim.
(Spacepol Officers don't get the badass flaming skull ID, and instead
get a more modest Police Officer ID).
**These IDs come with access, too. Airlocks, bolt buttons, shuttle
controls, and shutters on all of the hunter shuttles now require a
hunter's ID to operate.**
While I was in the area doing mapping stuff to get the accesses in
place, I made a few other very minor changes to the shuttles. These
include:
- The Bounty Hunter shuttle now has an oxygen dispenser. Two walls have
been moved to make space.
- The Russian Hunter shuttle now gets enough oxygen tanks to share with
everyone.
- The Psyker Hunter spawners now have proper spawner menu text. This was
due to duplicate-but-not-really subtypes existing, and me mistakenly
putting the wrong ones there in a previous PR.
- The cut ai wire helpers from the Russian/Psyker shuttles have been
extended to the Bounty/Spacepol shuttles.
- Every hunter shuttle now has a shuttle pinpointer on it somewhere, and
is no longer exclusive to a single Bounty Hunter's loadout.
## Why It's Good For The Game
Some of the hunter IDs would spawn without trims or coloration, and some
hunters wouldn't spawn with IDs at all. Now, everyone gets a credible,
cool-looking ID that lets everyone know what you're here to do at a
glance.
One of these is a crazed larper with an unregistered firearm, the other
is a certified bounty hunter.
As for the hunter access, it's pretty nonsensical that anyone can just
walk into the hunter ship and set up shop. At least the pirates get
turrets! Not to mention, it's hard to balance or give hunters new
equipment in good conscience when their entire domain is public-access
and anything they can't carry is considered forfeit to the crew. Now it
can be used as a base of operations, storage area, etc. more securely.
Locking down the shuttle with accesses isn't going to stop a determined
gamer with a toolset, but it'll at least make it more interesting and an
actual risk. If the fugitives want to try and loot/hijack the shuttle,
it will require the effort of taking down one of their hunters first.
While hunters stand out for the differences/imbalances between each
group, I don't see the shuttle pinpointer as something that contributes
positively to the OG bounty hunter's uniqueness. There's no reason why
the other hunters shouldn't also be able to track their ship.
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
Short and simple, just converts the changeling's headslug (that ability
they get that lets them infest another body) into a basic mob. Also
touches up some of the code, as well as split up the code such that the
headslug resides in the basic mobs folder, while the eggs are in the
changeling's antagonist folder, rather than one megafile for both.
No AI because this is 100% a player-controlled mob, it never exists in
any other context. No UpdatePaths for the same reason as well, this
shouldn't (and really doesn't) exist on maps because its sole purpose is
player-driven.
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
## Why It's Good For The Game
Knocks another one off the list, potentially clears up some janky code
with how this operated and just beautifies it overall. I also
standardized the name "headslug" in any applicable context because the
name "headcrab" is quite confusing. Some other code still refers to it
as headcrab/crab, but that's whatever, at least the paths are a-okay
now.
Also opens the door in case someone really wants these to be AI-powered?
That sounds really weird and I don't really support that idea, but it's
indeed possible.

Grow and regrow, the life cycle.
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
refactor: Headslugs (the really small slug-like changeling form) are now
basic mobs. They only wander around aimlessly now instead of attacking
corpses all the time, and examining will let you know what type. Should
probably still smash them before they suddenly gain sapience...
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
* Fugitive hunters gather candidates with a deadchat poll (#75485)
## About The Pull Request
Fugitive Hunter spawning now works a lot more like it does for Pirates.
Rather than just using the spawners, it collects candidates from a ghost
poll, and leaves the remaining spawners to be used if any are left.
## Why It's Good For The Game
The only way this event gathered candidates was through the
notify_ghosts that hunter spawners threw on Initialize(). This easily
flies under the radar (and I think also stopped working after
lazyloading was implemented??), contributing to how infrequently hunter
rolls are taken.
The hunters are an important part of fugitives as a whole, so making
sure they're properly filled out is good.
Closes#74625.
## Changelog
🆑
qol: Fugitive hunters now get a deadchat poll and notify deadchat
properly.
/🆑
* Fugitive hunters gather candidates with a deadchat poll
---------
Co-authored-by: Rhials <Datguy33456@gmail.com>
## About The Pull Request
Fugitive Hunter spawning now works a lot more like it does for Pirates.
Rather than just using the spawners, it collects candidates from a ghost
poll, and leaves the remaining spawners to be used if any are left.
## Why It's Good For The Game
The only way this event gathered candidates was through the
notify_ghosts that hunter spawners threw on Initialize(). This easily
flies under the radar (and I think also stopped working after
lazyloading was implemented??), contributing to how infrequently hunter
rolls are taken.
The hunters are an important part of fugitives as a whole, so making
sure they're properly filled out is good.
Closes#74625.
## Changelog
🆑
qol: Fugitive hunters now get a deadchat poll and notify deadchat
properly.
/🆑
* Replaces the syndicate corpse Legions can drop with one without a MODSuit (#75700)
## About The Pull Request
This is part of a pass I'm working on doing where I go through and
remove instances of antag gear outside of their normal context. This is
mostly going to involve replacing space/Lavaland ruin gear with
something close to the same power level but not distinctly something
only antags should be able to get. I want to keep ruins rewarding but I
don't want explicit antag gear to be something you can obtain without
needing an uplink.
The first part of this is me removing the MODSuit from the syndicate
operative corpse. The new one drops a turtleneck, a syndicate gas mask,
and gripper gloves.
## Why It's Good For The Game
It's my opinion that antag gear should probably stay in antag hands
unless you manage to kill one or steal an uplink. The main impetus for
this was a discussion I had a while back about how blood red hardsuits
used to _just_ be an antag thing. I kind of miss that general feeling of
paranoia that came from seeing someone wearing it, as opposed to seeing
it these days and just thinking "Yeah, it's probably someone who got it
from space".
In this specific instance, Syndicate MODSuits are pretty strong anyway
and, regardless of the low odds of getting one, I really don't think it
should be available as loot off a fairly easy-to-kill mob.
## Changelog
🆑
balance: Syndicate corpses dropped from killing a Legion no longer come
with a MODSuit.
/🆑
* Replaces the syndicate corpse Legions can drop with one without a MODSuit
---------
Co-authored-by: TheVekter <TheVekter@users.noreply.github.com>
## About The Pull Request
This is part of a pass I'm working on doing where I go through and
remove instances of antag gear outside of their normal context. This is
mostly going to involve replacing space/Lavaland ruin gear with
something close to the same power level but not distinctly something
only antags should be able to get. I want to keep ruins rewarding but I
don't want explicit antag gear to be something you can obtain without
needing an uplink.
The first part of this is me removing the MODSuit from the syndicate
operative corpse. The new one drops a turtleneck, a syndicate gas mask,
and gripper gloves.
## Why It's Good For The Game
It's my opinion that antag gear should probably stay in antag hands
unless you manage to kill one or steal an uplink. The main impetus for
this was a discussion I had a while back about how blood red hardsuits
used to _just_ be an antag thing. I kind of miss that general feeling of
paranoia that came from seeing someone wearing it, as opposed to seeing
it these days and just thinking "Yeah, it's probably someone who got it
from space".
In this specific instance, Syndicate MODSuits are pretty strong anyway
and, regardless of the low odds of getting one, I really don't think it
should be available as loot off a fairly easy-to-kill mob.
## Changelog
🆑
balance: Syndicate corpses dropped from killing a Legion no longer come
with a MODSuit.
/🆑
* Frees free golems (#75249)
## About The Pull Request
The autolathe free golem shells created on the free golem ruin now
create free golems rather than servant golems.
On the backend, this was done by delegating the responsbility for what
to do with the "owner" to the spawned subtype.
Now the three golem ghost spawners are:
- Default, which creates a normal free golem.
- Adamantine, the "leaders" on the free golem ruin, who get special
vocal cords.
- Servant, which enslaves itself to whoever finished building the shell.
Previously the servant subtype did not do anything at all, but now it
holds all of the relevant behaviour and the other two simply don't care
who their creator was.
## Why It's Good For The Game
Makes item does what it was supposed to, not sure how long it has been
broken but it has been a while.
Makes raiding free golem ruin for autolathe design create free rather
than loyal golems, which could backfire.
Free golems constructed in the ruin by other free golems are no longer
forced into a hierarchy, which can be a good or bad thing depending on
the temperament of whoever made them but might reduce the incidence of
one guy ordering everyone else to tide cargo.
* Frees free golems
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
## About The Pull Request
The autolathe free golem shells created on the free golem ruin now
create free golems rather than servant golems.
On the backend, this was done by delegating the responsbility for what
to do with the "owner" to the spawned subtype.
Now the three golem ghost spawners are:
- Default, which creates a normal free golem.
- Adamantine, the "leaders" on the free golem ruin, who get special
vocal cords.
- Servant, which enslaves itself to whoever finished building the shell.
Previously the servant subtype did not do anything at all, but now it
holds all of the relevant behaviour and the other two simply don't care
who their creator was.
## Why It's Good For The Game
Makes item does what it was supposed to, not sure how long it has been
broken but it has been a while.
Makes raiding free golem ruin for autolathe design create free rather
than loyal golems, which could backfire.
Free golems constructed in the ruin by other free golems are no longer
forced into a hierarchy, which can be a good or bad thing depending on
the temperament of whoever made them but might reduce the incidence of
one guy ordering everyone else to tide cargo.
* Removes ELITE SYNDICATE MODSUIT from Space Ruin (#75213)
## About The Pull Request
- Removes an ELITE SYNDICATE MODSUIT SPAWN from infested_frigate.dmm
- Removes a Combat Defibrillator from infested_frigate.dmm
- Removes Dart Pistol from infested_frigate.dmm
## Why It's Good For The Game
We will never learn. Space Loot should not be put in control of easily
cheesable simplemobs, and we shouldn't be straight up putting NUKIE
STUFF in Space
## Changelog
🆑 Melbert
del: You can't get an Elite Syndie Modsuit (or combat defib, or dart
pistol) from Space Ruins
/🆑
* Removes ELITE SYNDICATE MODSUIT from Space Ruin
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
## About The Pull Request
- Removes an ELITE SYNDICATE MODSUIT SPAWN from infested_frigate.dmm
- Removes a Combat Defibrillator from infested_frigate.dmm
- Removes Dart Pistol from infested_frigate.dmm
## Why It's Good For The Game
We will never learn. Space Loot should not be put in control of easily
cheesable simplemobs, and we shouldn't be straight up putting NUKIE
STUFF in Space
## Changelog
🆑 Melbert
del: You can't get an Elite Syndie Modsuit (or combat defib, or dart
pistol) from Space Ruins
/🆑
This PR implements this design document:
https://hackmd.io/@Y6uzGFDGSXKRaWDNicSiEg/BkRr176st
Put briefly, this will remove every existing golem subtype and
consolidate golems into a single species with cool new sprites.
NOT implemented from that PR is the ability to eat Telecrystals, I
couldn't come up with an appropriate visual that can stack with the
existing ones, but that should be a reasonably trivial add for a future
artist & developer.
New Golems have a food-based mechanic where their hunger decays pretty
quickly and can only be replenished by eating minerals. They start
moving slower as they get hungrier, until eventually they become
completely immobilised and need to be rescued.
Eating different kinds of minerals will visually change your sprite and
give you a special effect in a similar way to old golems, but temporary.
While transformed, you can't eat any other kind of mineral which would
transform you (but can still consume glass).
To see the full list of effects, look at the hackmd above.
In service of these sprites working I have refactored the
`species/offset_features` feature by killing it and delegating that
responsibility to limbs instead. Rather than applying an offset to items
due to your species, it is due to your weird head or arms. This makes
overall more sense to me, but it inflates the code changes in this PR
somewhat.
It doesn't make a lot of sense to atomise unfortunately because that
code also seemed to be entirely unused until I tried to use it in this
PR, so you wouldn't be able to tell if my changes broke anything. I
might make a downstream sad by doing this.
All of the actual numbers in this PR are made up and only loosely
tested, it will need some testmerges to gather feedback about whether it
sucks or not.
Other relevant changes:
I reworked how bioscrambling works based off bodypart bodytypes, to
automatically exclude golem limbs in either direction. There's really no
way to have those work on humans or vice versa. Organs still fly though.
* Demotes Psyker Pirates to Bounty Hunter Duty (#75031)
This PR demotes the Psyker-gang from a pirate team to a fugitive hunting
team. For more information on Psyker pirates, please refer to #71650.
Stuff this also does in the process:
- Gives fugitive hunters their own subfolder in the fugitives antagonist
folder, moves some of their stuff into hunter-specific files rather than
interlacing it with the rest of the fugitive code.
- Moves the hunter backstories to defines, to make reading things easier
while I made this change.
- Exhaustively moves everything related to psykers from being
pirate-oriented to hunter-oriented (typepaths, locations where stuff is
defined, etc. There should be nothing left behind related to psykers in
anything pirate related). (Tell me if I missed anything somehow).
They still get their ship (they even get their own custom
psyker-friendly prisoner capsule). They still have a bunch of lethally
chambered firearms. They're the same gunrunning nutcases they were
before, just as bounty hunters.
To assist with basic tasks such as "getting to the station" or "figuring
out who the fuck we're supposed to be kidnapping", the psykers have
"acquired" a Seer to assist them. They can _try_ to coordinate the
psykers and lead them through situations where their impairments put
them at too great a disadvantage. If you're one of the psykers, make
sure to keep this guy alive at all costs!
Why are they called Shikaris instead of hunters? Mariam-Webster says
it's a Hindi word for some kind of hunter/tracker, and it sounded like
something a bunch of space-junkies would call themselves because they
think it sounds cool.
They now also come with a slightly different motivation, now that they
can't directly threaten the crew for money. Psyker hunters now arrive
tasked with a dirty kidnapping job, payment rendered in GORE.
## Why It's Good For The Game
Psykers aren't up to the challenge of being pirates. They're bogged down
by a number of fundamental issues that render them unable to do anything
expected of pirates. As it currently stands, they present about as much
threat as you would expect from three blind junkies with guns.
Removing them wholesale would be kind of lame. They can function as a
bunch of chaotic-neutral gun-toting space-maniacs, but for the purposes
of gameplay, keeping them as pirates would be a waste of their talents.
Moving them to a lower-stakes role not only moves them to a niche they
are more capable of filling, but gives players a more lax environment to
get a grip on playing psyker without being overwhelmed.
Giving them a seeing-eye role should bring a more unique dynamic to how
psykers are played (that is, some semblance of organization rather than
blind flailing), and should help get over the mechanical hurdles of
being a psyker until better solutions can be made. It shouldn't be too
big of an impact on balance considering the psyker gang only has three
spawns, while most hunter packs have 4+.
* Demotes Psyker Pirates to Bounty Hunter Duty
---------
Co-authored-by: Rhials <Datguy33456@gmail.com>
This PR demotes the Psyker-gang from a pirate team to a fugitive hunting
team. For more information on Psyker pirates, please refer to #71650.
Stuff this also does in the process:
- Gives fugitive hunters their own subfolder in the fugitives antagonist
folder, moves some of their stuff into hunter-specific files rather than
interlacing it with the rest of the fugitive code.
- Moves the hunter backstories to defines, to make reading things easier
while I made this change.
- Exhaustively moves everything related to psykers from being
pirate-oriented to hunter-oriented (typepaths, locations where stuff is
defined, etc. There should be nothing left behind related to psykers in
anything pirate related). (Tell me if I missed anything somehow).
They still get their ship (they even get their own custom
psyker-friendly prisoner capsule). They still have a bunch of lethally
chambered firearms. They're the same gunrunning nutcases they were
before, just as bounty hunters.
To assist with basic tasks such as "getting to the station" or "figuring
out who the fuck we're supposed to be kidnapping", the psykers have
"acquired" a Seer to assist them. They can _try_ to coordinate the
psykers and lead them through situations where their impairments put
them at too great a disadvantage. If you're one of the psykers, make
sure to keep this guy alive at all costs!
Why are they called Shikaris instead of hunters? Mariam-Webster says
it's a Hindi word for some kind of hunter/tracker, and it sounded like
something a bunch of space-junkies would call themselves because they
think it sounds cool.
They now also come with a slightly different motivation, now that they
can't directly threaten the crew for money. Psyker hunters now arrive
tasked with a dirty kidnapping job, payment rendered in GORE.
## Why It's Good For The Game
Psykers aren't up to the challenge of being pirates. They're bogged down
by a number of fundamental issues that render them unable to do anything
expected of pirates. As it currently stands, they present about as much
threat as you would expect from three blind junkies with guns.
Removing them wholesale would be kind of lame. They can function as a
bunch of chaotic-neutral gun-toting space-maniacs, but for the purposes
of gameplay, keeping them as pirates would be a waste of their talents.
Moving them to a lower-stakes role not only moves them to a niche they
are more capable of filling, but gives players a more lax environment to
get a grip on playing psyker without being overwhelmed.
Giving them a seeing-eye role should bring a more unique dynamic to how
psykers are played (that is, some semblance of organization rather than
blind flailing), and should help get over the mechanical hurdles of
being a psyker until better solutions can be made. It shouldn't be too
big of an impact on balance considering the psyker gang only has three
spawns, while most hunter packs have 4+.
* Adds a game log for enslaving (#75038)
## About The Pull Request
A mob being enslaved to another is now logged in game logs. This hits
sentience potions, guardians, and Golems. This helps admins know through
logs who made/used what.
## Why It's Good For The Game
I was told that it's pretty hard to tell who made Golems because this
type of info isn't logged, so you can't check it post-round. This should
help admins with that.
## Changelog
🆑
admin: Enslaving mobs is now logged in game.log
/🆑
* Adds a game log for enslaving
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
## About The Pull Request
A mob being enslaved to another is now logged in game logs. This hits
sentience potions, guardians, and Golems. This helps admins know through
logs who made/used what.
## Why It's Good For The Game
I was told that it's pretty hard to tell who made Golems because this
type of info isn't logged, so you can't check it post-round. This should
help admins with that.
## Changelog
🆑
admin: Enslaving mobs is now logged in game.log
/🆑
This tracks the seconds per tick of a subsystem, however note that it is
not completely accurate, as subsystems can be delayed, however it's
useful to have this number as a multiplier or ratio, so that if in
future someone changes the subsystem wait time code correctly adjusts
how fast it applies effects
regexes used
git grep --files-with-matches --name-only 'DT_PROB' | xargs -l sed -i
's/DT_PROB/SPT_PROB/g'
git grep --files-with-matches --name-only 'delta_time' | xargs -l sed -i
's/delta_time/seconds_per_tick/g'
* Adds The Sturdy Shako (HoS Hat) (#74277)
## About The Pull Request
Adds a new craftable HoS shako, made from the standard peaked cap and
some plasteel and gold.

Moves the HoS cap into a subtype `/obj/item/clothing/head/hats/hos/cap`
to avoid catching the beret in the crafting recipe, the base type
`/obj/item/clothing/head/hats/hos` is now a generic subtype which should
never exist.
(Yes there's a TF2 reference included with the hat)
## Why It's Good For The Game
Adds an additional level of style for an HoS willing to put a little
effort into gathering the required materials. As it is crafted as a
one-to-one trade with another headgear there is no additional spare
headgear introduced.
## Changelog
🆑
add: The Nanotrasen Costuming Department has released specifications for
how to convert the Head of Security's cap into a shako.
/🆑
---------
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Adds The Sturdy Shako (HoS Hat)
---------
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Traveller's rest and prey pod fixes (#74279)
## About The Pull Request
- Traveller's rest had two airlock cyclelinks that did not work, as one
of them was on a windoor, so I have removed them. Not playerfacing.
- The mob spawner spawned without clothes and runtiming, as instead of
an outfit, it had the roboticist's jumpsuit added. I have made a new
outfit and used that in a new spawner. Might be too specific of a
spawner though.
- I have also added a dedicated roboticist spawner, which uses a full
outfit. I originally wanted to use this one, but I realized, making this
spawn with robotics ID and gear is a pretty big balance change, so I
elected not to use that, but I have added it anyways, as it should be
useful in the future (and I have already made the sprite).
### Mapping March
Ckey to receive rewards: N/A
## Why It's Good For The Game
Less warnings during initialization.
## Changelog
🆑
fix: the roboticist in the prey pod now has clothes as intended
/🆑
* Traveller's rest and prey pod fixes
---------
Co-authored-by: Profakos <profakos@gmail.com>
## About The Pull Request
### The Rifle:
-The Sniper Rifle is now a bolt action. This replaces the 4 second fire
delay on the sniper rifle. This overall will improve the fire rate if
you're good at racking the bolt, but it will also feel less like you're
in a weird limbo of inaction while using the sniper rifle, since the
fire delay can be quite confusing to players not used to it. This can be
tweaked, like reducing the speed of the racking action, if it seems like
it is too much.
-The scope component now goes up to 50 tiles (or so), which allows you
to gain a significant sightline over an area. The reasoning for this is
simple. The component actually nerfed the overall range of the sniper
rifle's scope, so this should hopefully restore that somewhat. And
having such a huge sightline makes it much easier to utilize the
impressive range of the rifle. Currently, it's really only ideal for
extremely close range fighting.
-The normal sniper rifle, the one that syndicate base scientists get,
can be suppressed. I don't know why it was different.
### The Ammo:
Normal .50 BMG: Does much more object damage, and on top of that deals
additional damage to mechs, but not by much more. Now, when it
dismembers a limb, it also deals its damage to the chest. This ensures
that you didn't straight up lose out on dealing a killing blow because
you took their limb off, and makes the dismemberment property of .50 BMG
a significant upside rather than a immense detriment.
Marksman: Gains a lot of the above benefits, but has much lower range.
Why this nerf? It's actually because of some funny nonsense with how
ricochet works. Which can cause....accidents to happen. To you. Consider
that firing down a straight line and missing could be quite embarrassing
when the bullet has 400 tiles of range.
Soporific: Now called Disruptor ammo. Works as it did before, putting
humans to sleep for 40 seconds (seriously, 40 seconds). Also deals some
stamina damage, if...that's relevant. But now also causes an EMP effect
and a boatload of added damage to both mechs and borgs, allowing it to
be an excellent anti-mech and anti-borg ammo type, as well as scrambling
any pesky suit sensors, energy weapons and so on in an area around the
impact. Useful for support fire.
Incendiary (NEW!): Causes a massive firebomb to go off where it impacts
(no explosion, so this isn't a stun). Also sets the target on fire,
which is always fun. Good for shooting into groups of people with
impunity. Also deals burn damage instead, since I think nukies could use
more methods for direct fire damage.
Surplus (NEW!): It's .50 BMG but it lacks most if not all the upsides.
No armour penetration, no dismemberment, no paralysis. It still deals a
lot of damage to objects, so not a bad option for simply removing
structures from afar. So what's the point in this ammo? You can buy 7
magazines for the price of one. I want to introduce 'Surplus' as an idea
for nukies to invest in if they want to be able to keep shooting but
they're really on a budget, like most non-warop nukies tend to be. This
is definitely subject to change (like a damage decrease on top of
everything else).
Pricing and Capacity: Normal ammo and surplus costs 3 TC. Every special
ammo costs 4 TC. Every special ammo also has the same ammo capacity as
the normal magazine. It's kind of weird how most of the subtypes had 5
shots rather than 6, but then soporific had...3? I don't get it. This
would probably cause a good deal of confusion, especially if you are
swapping ammo types and weren't aware of this particular oddity.
Anyway, 6 shots.
### Minor Addition
Gets rid of the cheap suppressor. It lies to players, tricking them into
thinking this is a low quality suppressor. Newsflash, it isn't. There is
no distinct difference between that suppressor and the normal
suppressor.
## Why It's Good For The Game
The sniper rifle, unfortunately, sucks a lot except for very specific
use cases. It got a big nerf with the scope component in terms of range,
even if the functionality is way cooler. And, at a baseline, there was
some counterintuitive functions attached to it. Dismemberment was cool,
but it also caused a loss in overall damage due to how limbs contribute
to core health. On top of this, the cool ammo types were...not much
better? Penetrator was almost always the best option, even if it lost a
lot of damage as a consequence.
So, what was it good for? X-ray + Penetrator. Pretty much, that's it. It
has some other uses but if I had to be entirely honest, there wasn't
much that other weapon couldn't do as well.
Hopefully this helps things going forward, and I want to mess with this
as well down the line in case its a bit too much of a boost in power.
Absolutely please rip this PR apart.
## Changelog
🆑
balance: Makes the syndicate sniper rifle a bolt-action rifle.
balance: Sniper rifles have a scope range of roughly 50 tiles.
balance: Sniper rifle ammo, if it dismembers your limbs, does damage to
the chest.
balance: All the various syndicate sniper rifle magazines have
consistent casing quantities (6 shots). They also have more consistent
pricing. 3 for normal and a box of surplus, and 4 for every other type.
balance: Reduces the range of Marksman ammo to 50 tiles. Not because it
is strong, but because you might accidentally shoot yourself if you're
not watching where you're shooting. Ricochets are no joke.
add: Replaces Soporific with Disruptor ammo. Works like soporific, but
also EMPS things it hits.
add: Adds Incendiary .50 BMG. Causes a combustion to erupt from the
struck target, as well as setting targets on fire. Great for parties.
add: Adds Surplus .50 BMG. It sucks, but you get a lot of them! Quantity
over quality, baby.
remove: The suppressors in the bundle are of standard quality. The
apparent 'cheap suppressor' that came bundled with the C-20r and sniper
rifle were found to actually be 'fine'. Trust us.
/🆑
## About The Pull Request
Adds a new craftable HoS shako, made from the standard peaked cap and
some plasteel and gold.

Moves the HoS cap into a subtype `/obj/item/clothing/head/hats/hos/cap`
to avoid catching the beret in the crafting recipe, the base type
`/obj/item/clothing/head/hats/hos` is now a generic subtype which should
never exist.
(Yes there's a TF2 reference included with the hat)
## Why It's Good For The Game
Adds an additional level of style for an HoS willing to put a little
effort into gathering the required materials. As it is crafted as a
one-to-one trade with another headgear there is no additional spare
headgear introduced.
## Changelog
🆑
add: The Nanotrasen Costuming Department has released specifications for
how to convert the Head of Security's cap into a shako.
/🆑
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
## About The Pull Request
- Traveller's rest had two airlock cyclelinks that did not work, as one
of them was on a windoor, so I have removed them. Not playerfacing.
- The mob spawner spawned without clothes and runtiming, as instead of
an outfit, it had the roboticist's jumpsuit added. I have made a new
outfit and used that in a new spawner. Might be too specific of a
spawner though.
- I have also added a dedicated roboticist spawner, which uses a full
outfit. I originally wanted to use this one, but I realized, making this
spawn with robotics ID and gear is a pretty big balance change, so I
elected not to use that, but I have added it anyways, as it should be
useful in the future (and I have already made the sprite).
### Mapping March
Ckey to receive rewards: N/A
## Why It's Good For The Game
Less warnings during initialization.
## Changelog
🆑
fix: the roboticist in the prey pod now has clothes as intended
/🆑
* Fixes infinite ghost role spawners not being infinite (#74090)
## About The Pull Request
I love it when we add something and we have like three PRs around the
same time touching the same code and none of it conflicts, it's awesome,
believe me!
Adds the `!infinite_use` to the other check that checked the uses left,
to ensure that it still allows infinite spawners to remain infinite.
## Why It's Good For The Game
Code that works is always good for the game.
## Changelog
🆑 GoldenAlpharex
fix: Ghost role spawners that are set to have infinite uses no longer
run out of uses.
/🆑
* Fixes infinite ghost role spawners not being infinite
---------
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
## About The Pull Request
I love it when we add something and we have like three PRs around the
same time touching the same code and none of it conflicts, it's awesome,
believe me!
Adds the `!infinite_use` to the other check that checked the uses left,
to ensure that it still allows infinite spawners to remain infinite.
## Why It's Good For The Game
Code that works is always good for the game.
## Changelog
🆑 GoldenAlpharex
fix: Ghost role spawners that are set to have infinite uses no longer
run out of uses.
/🆑
## About The Pull Request
Turns out https://github.com/tgstation/tgstation/pull/73833 happened
before my PR was merged, and somehow miraculously didn't conflict with
it.
However, it still made it so the ckey was now null, and the way that Git
handled the conflict, made it so the variable was now at the wrong spot,
and now it was null.
Fun times.
## Why It's Good For The Game
People gotta be able to spawn in from other spawners, that's the whole
point.
## Changelog
🆑 GoldenAlpharex
fix: Fixes ghost role spawners not allowing you to spawn from more than
one ghost role per round.
/🆑
## About The Pull Request
Turns out there was no verification to ensure that you weren't already
in the process of trying to join a ghost role, when clicking on a ghost
role spawner.
That resulted in people being able to double-click on a spawner and
basically, trying to spawn twice... Or thrice... Or even more than that
if they're fast.
Of course, that's not a good thing, so I made it so you can only try to
spawn one time at a time, which includes only getting one prompt at a
time. That includes ALL spawners, because I know that bug will otherwise
pop up at some point from someone thinking they're clever.
I added a CRASH() for the handling of ckey-less ghosts, in case someone
tries to do another subtype that somehow manages to bypass all of the
checks I already added. That way, they'll know if they fuck up.
I also made a second uses check considering there's stoplags in the
is_banned() check.
Fixes https://github.com/tgstation/tgstation/issues/73619.
## Why It's Good For The Game
Having mindless bodies is just not very cash money and it can break
spawners to the point of making them go to negative amounts of uses,
which isn't very cash money.
## Changelog
🆑 GoldenAlpharex
fix: You should only be able to spawn as one ghost role at a time. Close
the prompt if you want to spawn as another one. Begone soulless
randomgen humans!
/🆑
* Fixes syndicate ghost roles not spawning with codespeak language
* Fixes related NRI issues as well while we're at it
* Fixes a couple issue and adds the new naming scheme
* Phonetic alphabet numbers, fixes trailing space in formatting
* change to NATO numbers rather than phonetic
* final quality sweep
* moved this into the proper place
* Removes the no longer in use 'rank' var
* fixes a runtime
* Update modular_skyrat/master_files/code/modules/mob_spawn/mob_spawn.dm
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Fixes a mistake
* refactor outfit paths
* Doc
* Fixes ashwalkers sometimes spawning without language
* Removes the need for post_transfer_prefs for languages and fixes language prefs not being applied correctly due to a bug
Fixes another bug - the innate language (common) was always being applied when a new mob was spawned on the station, but interestingly it works fine for ghost roles.
My solution to ensure that things are always set up correctly is to use the proc 'adjust_language_to_prefs' to do just that, and call it at the highest level after a mob spawns.
This fixes the bug that was making it so that even if you deselected common from language prefs you'd still get it no matter what. Which honestly I am still fuzzy on the precise cause of because of how much coupling there is between mind code, language holders, and spawning new mobs. The logic of this code is absolutely mental and rather than try to weave things into functions it seems best to just do this instead. Less prone to breakage that way.
* Update modular_skyrat/master_files/code/modules/client/preferences/middleware/languages.dm
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Suggestions
* A more fitting description for this var
* Modifies language perk tooltips to better fit the codebase, refactors do_not_sanitize into a whitelist instead that can be configured for species
The Ashwalker tooltip inaccurately listed common as a language they were able to speak. Also slightly changed the wording of the rest of the tooltips to reflect the fact it is possible to disable a species' native tongue via prefs.
Refactored the 'do_not_sanitize' var to use a whitelist instead, allowing for more reliable sanitizing and also more configuration for new species to have such features.
* rephrasing
---------
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Fixes pirates and starfury assailants transferring minds (#73833)
## About The Pull Request
Same issue as before, these skipped the spawn step and snowflaked their
own creation process.
So I split off the create part of attack ghost so these could share.
Fixes#73823 , may fix also #73822 but I don't *think* it will, whatever
changed spawners a few months ago is a little sus
## Why It's Good For The Game
Changeling pirate bad
## Changelog
🆑 Melbert
fix: Fixes pirates and starfury assailants keeping minds of past lives
/🆑
* Fixes pirates and starfury assailants transferring minds
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
## About The Pull Request
Same issue as before, these skipped the spawn step and snowflaked their
own creation process.
So I split off the create part of attack ghost so these could share.
Fixes#73823 , may fix also #73822 but I don't *think* it will, whatever
changed spawners a few months ago is a little sus
## Why It's Good For The Game
Changeling pirate bad
## Changelog
🆑 Melbert
fix: Fixes pirates and starfury assailants keeping minds of past lives
/🆑
Midwife Spiders (the egg laying ones) can now double-examine their eggs
to see an approximation of how fully grown a given set of eggs are.
This should make the first 5-10 minutes of playing Broodmother slightly
less nerve-wracking. Knowing whether or not your eggs are almost ready
can be very important in deciding whether to fight or risk relocating
when John Maintcrawler accidentally opens the airlock to your nest.
* Allows mob spawners to be infinite (#73726)
## About The Pull Request
Gives a more 'proper' way for mob spawners to be infinite than just "set
a very large number".
## Why It's Good For The Game
Useful for admins
## Changelog
not really player facing
* Allows mob spawners to be infinite
---------
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
## About The Pull Request
Gives a more 'proper' way for mob spawners to be infinite than just "set
a very large number".
## Why It's Good For The Game
Useful for admins
## Changelog
not really player facing
Buff scythes, goats, and plantbgone vs PLANT biotypes (#72889)
This buffs scythes, goats, and plantbgone vs PLANT biotypes:
- Scythes now deal x1.5 damage to venus flytraps (3 hits to kill)
- Scythes now target the flower bud vines
- Goats now target flower bud vines and deal 15 damage to PLANT biotypes
- Goats have a eating sound whenever they bite PLANT biotypes
- Plantbgone now does 2 dmg per unit to PLANT biotypes (10 dmg per
spray)
- Plantbgone now has a 75% chance to remove weeds and deals large damage
to flower buds
- Weed control crates now come with a pair of leather gloves
- Golems are immune to thorn effects
- Any kind of thick glove material will prevent thorn effects when
attacking
- Flower buds will now take x4 damage from fire and sharp weapons
(unless they have fire trait)
- Regular scythes are now a sharp object
Also this fixes a few runtimes with spacevines and nulls. The bane
element now accepts `mob_biotypes` bitflags as an argument.
Before my changes:
- Plant-b-gone was doing 0.4 dmg per unit to PLANT biotypes (2 dmg per
spray)
- Scythes took 5 hits to kill venus flytraps
- Goats only affected podpeople
- Flower bud vines were being ignored by weed killing code
- Plantbgone only had a 50% chance to remove weeds (and this was very
inconsistent due to RNG)
- Botanical gloves and thick gloves didn't protect from thorns
- Golems were getting pierced by thorns despite having pierce immunity
- Flower buds were not taking the x4 damage like they should have been
- Regular scythes were not a sharp object, but other scythes
(chaplain's, megafauna loot) were sharp
This makes the weed killer crate more effective since people were
complaining about it being worthless vs vines and flower buds. These
changes give people more options to respond to threats vs plants.
🆑
add: Add a pair of leather gloves to weed control crate
balance: Mobs with the PLANT biotypes (venus flytraps, pod people,
killer tomatoes) are now much weaker vs scythes, goats, and plantbgone.
balance: Plantbgone is now more effective at destroying weeds.
balance: Regular scythes are now a sharp object
fix: Fixed scythes, goats, and plantbgone not affecting flower bud
vines.
fix: Thick and botanical gloves not protecting from thorns
fix: Golems not having pierce immunity from thorns
fix: Runtime where vines tried to spread into null turf
fix: Runtime where null vines that were destroyed were trying to spread
to nearby turfs
soundadd: Add eat food sound when goats eat plants
code: Improved goat targeting code
code: The bane element now accepts `mob_biotypes` bitflags as an
argument.
/🆑
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>