## About The Pull Request
About what it says on the tin. Corpses from spawner legions (e.g. vent
legions, tendril legions) have the storm-hating component, which means
that when a storm starts the body is deleted.
Also makes it so that the `storm_hating` component clears itself when
the atom it's attached to is logged into, so skeletons you do decide to
brainswap into/bodyjack/etc. won't Thanos snap and turn into dust if you
get stormed on.
## Why It's Good For The Game
Ashes to ashes, dust to dust. Prevents corpses from piling up that
badly. I swear this was a feature but I don't know whatever happened to
it.
## Changelog
🆑
qol: The skeletal corpses left from spawner legions (e.g. from ore vent
defenses and legion necropolis tendrils) now disappear during ash
storms. This does not apply if the body gets brainswapped into.
/🆑
---------
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
## About The Pull Request
ports https://github.com/DaedalusDock/daedalusdock/pull/1144
ports https://github.com/DaedalusDock/daedalusdock/pull/1147
full credit to @Kapu1178 for the juice
instead of `reacher.CanReach(target)` we now do
`target.CanBeReachedBy(reacher)`, this allows us to give special
behavior to atoms which we want to reach, which is exactly what I need
for a feature I'm working on.
## Why It's Good For The Game
allows us to be more flexible with reachability
## Changelog
🆑
refactor: refactored how reaching items works, report any oddities with
being unable to reach something you should be able to!
/🆑
## About The Pull Request
Technically, this PR introduces the cuffable_item element and the
cuffed_item status effect and their relative code.
In more player-friendly terms, this allows the ability to use handcuffs
to bind certain items to your hands by right-clicking it with a pair of
handcuffs in your active hand. This makes the item unable to be dropped,
for better or worse, until you or someone else remove said cuffs. And
no, this doesn't conflict with the ability to be handcuffed if you're
silly enough to think that.
There are more than one way to remove the cuffs. For the player with the
item cuffed to their hand, to remove the cuffs they can either click the
status alert, or examine the item and click the relative hyperlink. The
second option is good to have if for some reason the status alert
doesn't show up (too many alerts etc.).
For other people, they can remove the cuffs by opening the strip
inventory menu (the one you open by click-dragging the sprite of person
with the item onto yours). It's an alternative action specific to this
status effect (therefore only held items). Until the cuffs are removed,
trying to remove the item **directly** will bring you nowhere **because
the item is stuck to their hands**, duh. Alternatively you can just chop
their arm off. You do what you do.
For a list of items that can be bound with cuffs (suggestions welcome):
- briefcases
- toolboxes
- lockboxes
- first aid kits
- shields (they generally have handles and all. gameplay-wise they
already take away one hand slot to use. Using cuffs seals the deal: no
swapping items on the go, so no two-handed weapons, but you won't drop
the shield until it's broken)
- jerrycans (Kryson's suggestion)
- soup pots (ditto, kinda weird)
- coffee mugs, and the mauna mug (ditto)
- buckets
- plushes (silly stuff, if you ever want to arrest a plush or test the
feature)
- pet carriers
- mining drills
- swords with closed guards (ERT chainsaw-sword, cap's sabre, parsnip
sabre, cutlass, e-cutlass...)
- crutches and the white cane
- baskets
- flashlights and lamps (not subtypes like flares, glowsticks and
torches)
- TTVs
- chairs
## Why It's Good For The Game
This opens up for some emergent use for handcuffs beside people (or
prisoner shoes). Inspired by a scene of some 1998 action movie, where
one of the bad guys had the mc guffin briefcase latched to his wrist
with a pair of handcuffs.
Codewise, it was also a reason to refactor bits of code like handcuffs
and screen alerts slightly. On a sidenote, actual sprites for
cult/heretic shackles.
## Changelog
🆑
add: You can now bind certain items like briefcases, toolboxes, medkits,
shields, jerrycans etc. to your hand with a pair of handcuffs,
preventing them from being dropped. You can remove said binds at any
time unless incapacitated, and so can others through the strip inventory
menu.
qol: The appearance of a screen alert now updates if the object it
represents (like, an item offered by another player) changes appearance.
imageadd: The shadow shackles item (from cult magic and heretic
sacrifices) now has its own icon.
/🆑
## About The Pull Request
This fixes the admin debug gps tool so that it must be turned on to
activate. (it spawns off now) Also when it is toggled on/off, it resets
the colored turfs to their initial state.
## Why It's Good For The Game
When someone would equip the admin outfit, the debug gps would start
processing immediately, despite it not being in your hand, or even
turned on. This adds some restrictions so that you have to manually
activate it and allows the turfs to reset.
## Changelog
🆑
fix: The admin debug gps is now turned off by default and toggling it
will reset the affected turfs.
admin: Equipping the admin outfit will no longer automatically trigger
the debug gps effect.
/🆑
## About The Pull Request
Hotswapping now hijacks the attack chain in pre_attack rather than doing
so before item_interaction, which now allows players to interact with
items in their inventories (such as stabilizing cores with serums)
without hotswapping the two items.
Also added a unit test to ensure that it works as intended.
## Changelog
🆑
fix: Mining style hotswapping now respects item interactions
/🆑
## About The Pull Request
Fixes#93280
It would give you the null rod arm, then equip the null rod, then try to
give you the null rod arm again, which removed your null rod arm and
caused... problems
## Changelog
🆑 Melbert
fix: Fixed chainsaw nullrod
/🆑
## About The Pull Request
One of the shuttle move refactors/changes broke orbiters, making them
detach on shuttle move and detach improperly, retaining the animation.
This fixes the issue by dropping all of the orbiters before the move,
and reattaching them afterwards.
Our orbiting code is a nightmare and is long due a refactor, but this
should work for now. (I hate bandaid fixes too, sorry)
- Closes#93070
## Changelog
🆑
fix: Fixed orbiters like ghosts and wisps detaching when using a shuttle
/🆑
## About The Pull Request
I *think* this should be all that's required to fix this, it looks like
it's just the variable that iterates over all available stacks on the
dropturf needed to compare against the iterator's type as opposed to the
stack we're about to create otherwise.
Fixes#93256
## Why It's Good For The Game
Prevents a tiiiiny little material transformation/duplication bug.
## Changelog
🆑
fix: Sheets removed from the protolathe/techfab will properly remove the
correct quantity and merge into the right material.
/🆑
## About The Pull Request
This PR allows golems or anyone with the genetic mutation to benefit
from the effects of golem food if what they're eating is made of a
material tied to ore or sheets with golem food effects.
In layman terms, this means you can deepfry a chair and get golem buffs
that way. The duration also scales with the amount of material consumed,
which also depends on the bite size of the food. Smaller doses translate
to a shorter duration of the effect, while the viceversa is also true
(however with diminishing returns).
Also, you won't take immediate damage from biting, food with items made
of metals and glass stuffed into it if you've the rock eater trait (come
on dude, you eat literal raw diamonds). This has nothing to do with
golem food, but it's one less peeve off the list as I slowly and
occasionally work on material datums and their presence in the game.
## Why It's Good For The Game
Adding some depth to materials and food, albeit not much.
## About The Pull Request
- Added full support for RETA system
- Categorized all configs for search purposes
- Added channel check for most usages of get_announcement_system() calls
## Why It's Good For The Game
## Changelog
🆑
code: Little AAS code cleanup. Added full RETA support. Grouped configs
for search purposes.
/🆑
## About The Pull Request
This PR introduces new examine tags for the antimagic component to give
players specific feedback on an item's defensive properties.
| Condition | Tag | Description |
| :--- | :--- | :--- |
| **All Resistances** | `magic-proof` | "It is thoroughly shielded
against all known forms of magic." |
| **MAGIC_RESISTANCE** | `warded` | "It possesses a general resistance
to regular spells and magic." |
| **MAGIC_RESISTANCE_MIND** | `telepathy-proof` | "It appears to be
insulated against telepathic or mental influence." |
| **MAGIC_RESISTANCE_HOLY** | `blessed` | "It is protected by a divine
shield against unholy and dark forms of magic." |
## Why It's Good For The Game
Gives players more context and helpful information about items.
## Changelog
🆑
qol: New examine tags for the antimagic component to give players
specific feedback on an item's magical resistance.
/🆑
## About The Pull Request
Apparently wall construction code is snowflaked and indented as fuck
(and the same goes for door assemblies). I'm not bothering refactoring
everything with them, only to reduce the indentation, changing a couple
vars and overall making it easier to work with them later. This includes
wall construction not being hardcoded to sheets but include the
possibility to use other kind of stacks as well (if you don't count the
snowflake interaction with iron rods). In layman's terms, this means you
can make walls made out of sand (distinct from sandstone) again.
Also I've done some small changes to the materials storage, so that it
can eject ores too if the material doesn't have a sheet type.
Also, I've been told there may be issues with broken, uninteractable
(probably not properly initialized) glass sheets beside the ORM. I'm not
100% sure about the deets, but it may have something to do with spawning
the glass on the same turf the ORM is listening to, when smelting sand,
causing some race conditions, so let's spawn it in nullspace
## Why It's Good For The Game
While I'm sure there may be more elegant solutions (just take a look at
the wall and door construction code, they both use text2path oh god!),
I'm just here to make things a lil' cleaner and be done with issues with
the fact that sand is made of sand.
## Changelog
🆑
fix: You can once again make sand walls.
fix: Deconstructing an autolathe with sand in it should now drop sand.
/🆑
## About The Pull Request
Slightly reworks the mining MODsuit to be more distinct from other
mining gear and have its own designated role as an exploration and
mining tool.
- Base armor (when covered in ash) has been reduced to 50 from 60, being
equal to that of an explorer suit with two goliath plates attached.
However, entering the sphere mode will grant additional 20 armor,
bumping it up to 70 (equal to that of a H.E.C.K. suit)
- Integrated drill no longer mines instantly by default, instead having
a delay of 0.25 seconds. However, when entering the sphere mode, the
drill will overcharge and get back its instamine, as well as get halved
power consumption. Currently, those two are mutually exclusive, and the
drill cannot be used in the sphere mode.
- Mining bomb cooldown has been reduced to 1s from 1.25s. They also now
detonate much faster, and the detonation time matches their animation.
The digging radius has been reduced back to 3x3 from 5x5, and their
damage has been reduced to 28 from 48 to compensate increase in firing
speed and reduced detonation delay making them much easier to use
(functional DPS has been reduced from 36 to 28)
- Rewrote ore bag a bit to try and make sure it doesn't break when
depositing ores into the ORM. I only have faint suspicions of this being
possibly being caused by ore getting deleted and leaving a null in the
list, so removing it should hopefully? stop the bag from breaking.
- The 0.25 slowdown is back, but it should be less of a problem
considering that the sphere mode now is a much more viable traversal
tool and not an utter joke aside from lava traversal.
- The MODsuit now comes pre-equipped with a magnetic harness, which is
now capable of stowing kinetic crushers in addition to guns. This should
make using the sphere mode less of a pain in the ass, as you won't drop
your weapon whenever you enter the sphere mode before you remember to
put it in your suit storage slot. The delay on harnesses has also been
reduced to 0.5 seconds, which should make them more comfortable to use,
while still allowing someone to grab your gun if you're not careful.
- The sphere mode can no longer traverse lava roundstart, instead
requiring to be upgraded with two pieces of bileworm skin to get
lava-resistant plating. This is meant to work together with #92877,
being a part of ongoing effort to bring mining back in terms of speed
and action level, reducing mining and exploration speeds in favor of
higher ore spawns and more focus on gear and equipment progression.
<img width="92" height="98" alt="image"
src="https://github.com/user-attachments/assets/740ab28d-210d-4832-ba07-00dbd8680491"
/>
Additionally, both the mining drill and green raptor bumpmining has been
nerfed (technically fixed, practically nerfed) by removing the diagonal
movement... thing which allowed you to mine thrice as quickly and ignore
the one-tick movement delay due to how diagonal movement works.
https://github.com/user-attachments/assets/711e895f-e7e7-4cd9-b484-d7d11ff597af
Its still fast and comfortable to use, just not absurdly fast.
## Why It's Good For The Game
The mining MODsuit is in a very weird place both balance and progression
wise. Its very easy to get if you ignore vents, it has good armor stats,
it allows you to partly ignore being set on fire (or fully if you get
the regulator module, but that requires more effort). I don't think that
the buff was very needed, it was very strong as-is when used properly
(with a yellow or green raptor mount) which not a lot of people seem to
have realized.
However, its still in a pretty pitiful state as its core feature (sphere
mode) is nigh useless as the drill only works outside of it, and mines
themselves are extremely clunky and uncomfortable to use. This leaves it
only being useful for its cheap armor (without needing to kill
goliaths), free GPS and ore bag that don't occupy your pockets, and
ability to ignore environmental hazards.
The solution I've decided to go with is reworking the MODsuit to be
focused on mining and exploration rather than combat, being a good
equipment piece for newer players and miners less interested in hunting
megafauna. This carves the MODsuit its own niche rather than being
weirdly slotted between base suits and contending with drake armor in
terms of stats/effects.
Roundstart lava crossing capabilities removal alongside bumpmining nerf
is somewhat unrelated to the rest of the changes, it is a part of the
exploration rework alongside #92877, which is intended to force miners
to engage in combat more. Without the nerf, the suit is as fast as a
yellow raptor, which lets it go through lavaland at absurd speeds when
moving diagonally. (Yes, diagonal zig-zag movement ignoring the bump
delay allows you to outspeed someone moving cardinally)
More details about the project can be found in this [design
doc](https://hackmd.io/@smart-kar/HkUINgBtke). The instamine ability of
the sphere will likely get slightly nerfed in the future with the main
batch of ore spread buffs and mining speed nerfs, but I've left it as
powerful as a green raptor to not make the suit useless when compared to
other options in the meantime.
## Changelog
🆑
add: Mining MODsuit has gained a magnetic harness for all of your
crusher stowing needs.
balance: Magnetic harnesses now take only 0.5 seconds to pick up your
gun, and can pick up crushers.
balance: Mining MODsuit has regained it small slowdown, and lost 10
melee armor.
balance: Mining drill MODule is no longer instant (outside of the sphere
mode of a mining MOD)
balance: The mining sphere MODule now can break rocks when rolling into
them, gives 20 melee and bomb armor when active, and has a shorter bomb
cooldown, but bombs themselves have reduced damage and mining AOE.
balance: Mining sphere MODule now requires an upgrade in form of two
pieces of bileworm skin to be able to traverse lava, as opposed to being
able to do so innately.
fix: Fixed MODsuit ore bag sometimes breaking permanently when
depositing ores into the ORM.
/🆑
## About The Pull Request
Fixes#93139
`/datum/component/area_sound_manager` has logic which prevents sound
loops from overlapping when going from an area with a sound loop to
another are with a sound loop.
However the logic fails when going from an area with a sound loop to one
without.
So I reworked the logic. Now it tracks the world.time when the current
sound stops any time we exit an area with a loop (even if the new area
has no loop). That world.time is later used if we re-enter the area with
the loop to see if we can start playing immediately, or need to wait.
## Changelog
🆑 Melbert
fix: Entering and exiting an area with sounds associated (such as
lavaland or the ice wastes while a storm is active) will no longer
result in the storm sounds stacking up
/🆑
## About The Pull Request
Deletes the Bluespace Gas Vendor and accompanying Bluespace Gas Sender
## Why It's Good For The Game
These wall mounts were added as ways to encourage Atmos Techs to
participate in the economy and crew at large. Unfortunately, it's missed
the mark and is unused in 99% of all rounds*.
**I have seen more atmos techs use the bluespace gas sender for exploits
than for its intended use.*
It has been noted that
1. Atmos doesn't need to sell gas to the crew to make money. They can
export gas to cargo to make more money.
2. The crew doesn't really care about gases. They will rarely go out of
their way to acquire them, even if free.
3. Most importantly, most atmos players **like to give out gas for
free** - it's mass producible and seeing people utilize their creations
tend to be its own reward.
4. Even for the atmos techs that want to charge for their products (to
create conflict or whatnot), *you could easily do that by hand via
pre-filling tanks**.
***I have seen more atmos techs make money off of selling pre-filled
tanks than by using the vendor.*
Ultimately, this machine serves no purpose besides bloating wall space
and existing as an atmos exploit vector.
## Changelog
🆑 Melbert
del: Bluespace Gas Vendors and the accompanying Bluespace Gas Sender
have been removed
/🆑
## About The Pull Request
Fixes a copy paste error in omen's InheritComponent to properly give you
the increased damage of the original omen if it was more damaging than
the newer one.
numbers for easy explanation:
Before:
You have an omen with incident 1, luck 2, damage 2.
You inherit one with incident 10, luck 1, damage 1.
You now have incident 10, luck 3, damage 2.
Now:
You have an omen with incident 1, luck 2, damage 2.
You inherit one with incident 10, luck 1, damage 1.
You now have incident 10, luck 2.5, damage 2.5
## Why It's Good For The Game
No longer can you have an omen with a massive damage modifier and get a
longer lasting, weaker omen and have it double add your luck mod while
leaving your damage mod untouched.
## Changelog
🆑
fix: Omens properly transfer their damage modifier when multiple are
applied.
/🆑
## About The Pull Request
This PR aims to fix another issue with #92577. The main problem is that
the list of instances we get from `get_surroundings()` doesn't contain
items that are found within the person that's crafting the recipe, since
those are checked separately in `check_tools()`. This ends up making the
recipe hella slower because the appropriate tool couldn't be found in
the checks for calculating the duration of the craft.
This also trims a few lines of code and other small things worth of a
small refactor.
EDIT: Found out the real problem. the list of instances was an assoc
list of type -> instances, while I thought otherwise.
## Why It's Good For The Game
Fixing some recipes taking too long to make. Fixes
https://github.com/tgstation/tgstation/issues/93003
## Changelog
🆑
fix: Fixed some recipes taking too long to make.
/🆑
## About The Pull Request
Immerse element now uses an alpha filter rather than a vis_contents
object, which allows them to be much more smooth and seamless. There's
no longer a visible contour on fully opaque liquids, nor a janky effect
when you move in a liquid. This also fixes the broken fluid animation,
so now it actually has a bit of a wave to it.
<img width="179" height="183" alt="dreamseeker_PDjP1zyMRl"
src="https://github.com/user-attachments/assets/7c1bbefe-0e97-456e-a303-c34e6a1a238a"
/>
<img width="177" height="180" alt="dreamseeker_hGjKOyBL8f"
src="https://github.com/user-attachments/assets/6c3bc33f-a22c-452a-beb0-9dd44b080a7c"
/>
<img width="152" height="162" alt="dreamseeker_Et3eRd3NF6"
src="https://github.com/user-attachments/assets/1478aaba-d345-44de-8baa-9d0da0bc9d1c"
/>
<img width="185" height="182" alt="dreamseeker_5Iok1lUni2"
src="https://github.com/user-attachments/assets/4ac5fea4-24a7-46c2-b475-4445a43493b4"
/>
The code is immensely cursed in some places, ideally this should not
have to use vis_contents whatsoever but BYOND seems to be intent on
causing memory leaks whenever you try to set mutable's render_target to
an interpolated string, so I'm using a VIS_HIDE object as a relay for
the filter for the time being.
I've ended up changing some mob pixel_y offsets to pixel_z (as they
should've been from the start) to account for this (the logic is being
that pixel_y is "physical" position on the turf, while pixel_z is how
high above the turf something is)
## Why It's Good For The Game
The effect is less jank and looks cool.
## Changelog
🆑
refactor: Refactors immerse element to use alpha filters instead of
static overlays. It should look much prettier now.
/🆑
## About The Pull Request
The recipes are locked behind a particular skillchip anyway. We might as
well just use the framework for learnable recipes instead of relying on
a particular trait with no other use to it. This also prevents these
recipes from showing in the menu even if the requirements aren't met.
## Why It's Good For The Game
See above.
## Changelog
🆑
refactor: Underwater basketweaving refactored so it doesn't show in the
crafting menu unless you've the skillchip active.
/🆑
## About The Pull Request
### Bows deal more damage.
Increases the baseline damage of the shortbow to 25, and the divine bow
to 30.
The divine bow also launches arrows at a higher velocity than normal
bows.
### Flaming arrows have sprites now, and deal burning damage. Oh, and
actually do reasonable damage.

I'm not at all skilled at animation but at least it has an actual,
visible sprite now.
I completely overlooked the fact this did 20 damage when I changed bows
to use damage multipliers. Oops.
### Ashen Bow and Ashen Arrows
Made from sinew, bone and for the bow specifically, leather. The bow is
largely identical to a shortbow, but the arrow has mining bane. If you
feel like hunting megafauna with a bow, this is your means of doing so.
<img width="384" height="128" alt="demonstration_ashen"
src="https://github.com/user-attachments/assets/1c4f493c-f694-4b09-a406-c63140628d56"
/>
Assets partially taken from
https://github.com/Skyrat-SS13/Skyrat-tg/pull/5266
Which in of itself took assets from
https://github.com/BeeStation/BeeStation-Hornet/pull/1802
The functionality is entirely new. I also did some sprite edits.
### Arrow quivers are made from wood.
Iunno, this was really weird to me. Cardboard seems like a poor quiver
material.
### Other Stuff
Shortbows and ashen bows have the ability to be renamed.
## Why It's Good For The Game
Bows are fun, but kind of middling. They're a lot slower to fire than
the vast majority of ranged weapons, and don't really have enough oomph
in their own right to intimidate people being shot by them.
This is even true of the divine bow, which is the chaplain's version.
Because of how slowly it fires and how little damage it does, the
chances of actually killing someone who poses any real threat to you
with it is pretty laughable. This is not true of the nullrod that you
sacrificed to get this weapon. 30 damage is within the ballpark of
chaplain weapons and their potential damage in some contexts. A slow to
attack weapon probably should have a more impactful hit when considering
your alternative options.
The ashen bow is mostly because I really want to go fauna hunting with
entirely bone-based weaponry. Does this mean some ashwalkers might be
putting arrows into you from afar? Yes. Does this sound fun? Yes. Is
this especially strong? Not really. Miners out damage these bows by a
significant margin, and their armor is usually good enough where they're
not at risk from arrows sticking into them or hurting them very much.
This is also a degree more effort to make than other weapons because of
the leather requirement and the need to kill several fauna for the
materials. The outcomes should be more fun than the costs.
## Changelog
🆑
balance: Shortbows and divine bows do more damage. The divine bow also
launches arrows at a higher velocity than normal bows.
image: Flaming arrows now have proper sprites.
balance: Flaming arrows now deal BURN damage. And also deal an
appropriate amount of damage for an arrow.
add: Ashen bows and arrows, made from sinew and bone. And leather for
the bow.
add: Ashen arrows deal significantly more damage to mining mobs.
balance: Arrow quivers are made from wood rather than cardboard.
qol: Shortbows and ashen bows have the ability to be renamed.
/🆑
## About The Pull Request
moves all implementations (im aware of) for "Im a parent type dont spawn
me please" to the datum layer to standardized behavior
adds a standerized proc for filtering out "bad" items that we dont want
spawning. applies to it the subtype vendor, gifts, and a new spawner and
mystery box for a random gun (neither playerfacing)
"port" of https://github.com/shiptest-ss13/Shiptest/pull/4621https://github.com/user-attachments/assets/22f6f0b2-b44e-411a-b3dc-6b97dc0287aa
small warning: I dont have EVERY abstract type defined right now but,
ive done a good enough job for now. Im tired of data entry rn
## Why It's Good For The Game
standardizing behavior. Might be a micro hit to performance however
having this lets us not rely on icon state to determine whether
something is a parent type and makes it much easier to tell something is
a parent type (could be applied further to things like admin spawning
menus and things like that).
need feedback on if this is actually good for the game.
## Changelog
🆑
add: Soda cans show up in the silver slime drink table.
add: Examine tag for items that are not mean to show up ingame.
refactor: Standardizes how gifts rule out abstract types.
fix: gifts no longer check if something has an inhand, massively
expanding the list of potential items.
/🆑
## About The Pull Request
Closes#92778Closes#86829
<img width="347" height="39" alt="image"
src="https://github.com/user-attachments/assets/c50bd1ff-8c00-47a7-a31a-617fae2adc5b"
/>
1. Splits `TRAIT_UNKNOWN` into `TRAIT_UNKNOWN_APPEARANCE` and
`TRAIT_UNKNOWN_VOICE`
2. Renames some stuff like `getvoice` and `getspecialvoice`
3. Gets rid some crummy signals around `get_visible_name` and
`get_voice`
4. Heads now apply the disfigured trait when relevant (rather than
snowflake checking for damage amount)
5. Ling voice refactored into using special voice (it was only used by a
viro symptom anyways; I don't anticipate this overlap being problematic)
6. Mask voice changer refactored into a trait
## Why It's Good For The Game
Potted plants shouldn't have magical voice concealing powers -
especially not over radio, but not over in person either. It's a damn
plant
So I addressed this by refactoring our face and voice system. Overall
things should be a lot cleaner and easier to use.
## Changelog
🆑 Melbert
refactor: Refactored a lot of code relating to human face and voice, ie,
what shows up in examine and in say. Report anything odd when examining
people, with ID cards, when talking over radio, or when disguised
refcator: Refactored how you get disfigured when your head's super
damaged
refactor: Refactored ling mimic voice and traitor voice changer
del: Potted plants no longer hide voice. They still hide appearance,
though
qol: Honorifics now show in examine / in world, rather than only when
speaking.
/🆑
## About The Pull Request
Happens randomly only at round start. Between the time the silo
connection gets initialized (i.e. when the atom subsystem is
initialized) & the round start literarily anything can happen like the
atom getting destroyed by some random event resulting in the parent
becoming null.
So we check for that & abort accordingly
## Changelog
🆑
fix: Fixes random runtime for round start silo connections
/🆑
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
## About The Pull Request
Blocks mobs with players controlling them from breeding (ie. sentience
potion'd raptors)
Fixes#92914
## Why It's Good For The Game

## Changelog
🆑
fix: Blocks mobs with players controlling them from breeding (ie.
sentience potion'd raptors)
/🆑
## About The Pull Request
While looking for possible reported issues and reviewing my own code
post-merge, I've found out that I've made an error in the logic for
crafting and tool speed. It's basically just one line in which the value
wasn't multiplied by `dynamic_recipe_time` anyway, meaning some recipes
were faster than they ought to.
## Why It's Good For The Game
Fixing an issue.
## Changelog
🆑
fix: Crafting recipes with tools such as wirecutters, wrenches,
screwdrivers etc. should take the right amount of time to complete.
/🆑
## About The Pull Request
This PR rewrites how MODtethers behave when something appears in their
way, when they run out of slack or get stuck on a corner. Currently,
first case would freeze you in place, while the other two can result in
the tether being blocked by an object which shouldn't interrupt the
beam. Now when it cannot find a direct LOS or get too far from the
owner, the tether will attempt to move to the side a bit to (hopefully)
slide around the corner or whatever object is blocking it, as long as
its distance permits it to do so. They'll also automatically snap if
they cannot find LOS even after trying to move to the side.
Also fixed multiple bugs and a potential crash due to recursion stemming
from MODtethers.
Additionally, while looking around path_info code I found that foam was
calling its passibility check on an incorrect turf, checking if an
object from the target turf could arrive to the turf itself, rather than
sourcing it from its own location. I also fixed that, should prevent
foam from going through directional objects
## Why It's Good For The Game
This should make them less of a pain to use in-game, especially when the
other half is connected to an unanchored object.
## Changelog
🆑
qol: Significantly improved MODtether behavior, they should be easier to
work with now.
fix: Fixed multiple MODtethers bugs and a potential server crash related
to them.
fix: Fixed foam sometimes passing through directional windows.
/🆑
## About The Pull Request
<img
width="612" height="185" alt="dreamseeker_SNMvxqCRiR"
src="https://github.com/user-attachments/assets/1d3103e9-edc1-4e50-8793-c8c2ace53aea"
/>
This is a small expansion to narcotics, their production, and presence
in the game! For my esteemed Terry and Manuel/Sybil sector colleagues
I've added:
- 2 new solid drug items: **crystal meth and opium**!
- A **precipitation reaction** for meth after it's been cooled,
producing a solid crystal form, 2u sulfuric acid, 10u meth. **Above 90%
purity, the meth will gain an increasingly blue tint!**
- A production method for opium! Slice a well developed poppy pod with
any sharp item, **before it's fully mature and flowered** to extract a
small amount of opium to enjoy! It's a small container for morphine. Can
be pressed together to combine the concentrations up to 10u, as each
extraction contains trace amounts. Scales off poppy's potency.
- Populated narcotics/contraband spawners with new items, and items that
really should have been on there.
- Added a brand new smoking apparatus, the glass pipe! Can be crafted.
Fixed the transparent pixel.
- **Fixed methsplosions so that now spacemen can finally smoke meth
without exploding!!!** Omegaweed too. Normal methsplosions are
untouched!
- **Expanded the ability for players to insert all drug items into
pipes**, so now players can smoke moon rocks, SaturnX, and my new items!
Previously, only 'dried' items were.
- Fentanyl patch box for narcotics spawner, also for a new ruin I've
made.
- **Expanded these changes to the black market uplink.**
<img width="640" height="256" alt="demo"
src="https://github.com/user-attachments/assets/c8a0eb2c-b0fa-4e70-b6c1-2e741cd170a2"
/>
Now, players can precipitate meth into a solid form, and produce opium.
I added a lot of these substances and the ones that didn't exist into
spawners that they were partially in, or could reasonably be in. The
opium poppy extraction required a new variable that can be used for
similar interactions too. Crystal sprites are transparent, smoked sprite
has a nice little animation and glow.
These items are now on the black market uplink, in both expensive dealer
shipments of varying rarities for different narcotics, as well as
personal use quantities on a different rotation, at a steeper price.
Expanded randomized spawners to give the black market and ruins more
teeth and edge, without adding another weapon.
Credit to the moon rock guy, I'm just happy I made your stuff smokable!!
<img width="219" height="201" alt="dreamseeker_N8x9bsN3kS"
src="https://github.com/user-attachments/assets/64d23c27-92b9-423b-91ac-903b8476d0b4"
/>
tl;dr added opium and meth
## Why It's Good For The Game
For **too long**, narcotics, chems and stims have been mere integers or
buffs/debuffs in pills or syringes, so I introduced two new methods for
making them and populated niche, criminal vectors with them. These are
real items now, with more interactions. Allowing these to be smoked also
allowed moon rocks and SaturnX to be smoked too, including them into
this and enticing players to have another reason to make them as well.
Buffs with drawbacks, addictions and problems are actually great.
It's a new venue for flavor. I've put thought into the balance for
addition and quantity. It'll add a criminal, or exotic tone to a round,
provide new business opportunities, and new access to stims and chems
without going over the top. Perhaps something peaceful antagonists can
do. More proverbial floor pills give security or command something to
selectively enforce, and absolutely provide novel opportunities for
medical staff!
Also, methsplosions now don't happen in cigarette items! You can smoke
omegaweed without fucking dying!
## Changelog
🆑
add: Added meth, opium, and their production! Also added to black market
uplink.
add: Added a craftable glass pipe.
add: Added to contraband spawners.
qol: Can now insert any drug item into a pipe.
fix: Spacemen can now smoke meth without exploding!!
/🆑
---------
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
## About The Pull Request
##### Code bounty for holinka4ever
Adds a furnace equippable to the back slot, which when active (it is a
lamp), will form a bubble of space protection, affecting the user and
people nearby, and will last 5 minutes before it dissipates and needs to
be re-formed. This item requires a pyroclastic anomaly core to activate,
while the bubble itself can only be formed in pressurized environments.
It's researchable in the Anomaly technology node.
The downsides of the item is it requires 2 hands to hold, can't be
inserted into storage items (as it's bulky), can only be equipped to the
bag slot, and has slowdown while on, which only affects you when you're
in gravity anyways.
## Why It's Good For The Game
The pyro anomaly is currently one of the more useless anomaly cores, not
even getting a unique reactive armour variation. This hopefully gives it
some purpose as a good tool to keep people alive in a spaced area at a
good cost to the user. This is an item that shouldn't be overpowered,
but also isn't just a selfish tool- when someone's crafting this item
it's specifically aiming to help people, which I think is a benefit.
## Changelog
🆑 JohnFulpWillard, sprites by PopLop
add: Added a new pyroclastic anomaly locked item, the Space Furnace.
Grants space immunity to people nearby while active.
/🆑
## About The Pull Request
Previously, it would always say [left-click icon] open storage if you
had an empty hand. This makes it so that if the item is on the ground,
it'll say [right-click icon] open storage. if it's in your other hand,
it'll still say [left-click icon].
## Why It's Good For The Game
fixes#87340
## Changelog
🆑
fix: tooltip for secure briefcases now shows correct button.
/🆑
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
### Main changes
Across all station maps, emergency shuttles, and arrivals shuttles, the
Emergency NanoMeds (wall mounted medical supply vendors) have been
replcaed with Deforest First Aid Stations.
<img width="303" height="410" alt="image"
src="https://github.com/user-attachments/assets/efc1133b-09d8-4a35-8690-d8b1ebae7cba"
/>
Deforest First Aid Station have an internal supply of healing which
recharges slowly over time (1/10th of the pool is recharged every 30
seconds).
To access this healing, users must insert their arm into the machine
with left click. (Or you can mouse drop other people into it.) Once
their arm is in place, some of the internal supply will be used up to
heal the user. The internal supply can heal brute, burn, tox, and blood
loss. This is straight, instant healing - so it doesn't trigger
allergies or nothing. However, if you insert a robotic arm, it will
refuse to heal you.
Users are charged every time healing is dispensed - 2.5 credits per unit
of damage healed. Payments go to the medical budget, same as kiosks.
You can also right click the machine to dispense gauze for 16 credits.
On **red alert** (or for medical staff, or on emergency shuttles), all
charges are waived. (It's free)
Also you can emag it so it causes damage instead. Funny.
### Other changes:
Buffs the contents of emergency nanomeds
Reverts bridge advanced medkits to normal medkits
## Why It's Good For The Game
Wall vending changes:
People want options to heal chip damage beyond visiting the bar but we
also don't really want people to load up on boat loads of medical
supplies. So here we are: A machine fully capable of healing minor
injuries that you can carry along with you.
If you're missing like 4-6 brute or toxin damage, you can visit a first
aid station and pay 15 credits to top yourself off. This is of course on
top of all the other options available to you, such as getting a hearty
meal, some variety of drink from the bar, sleeping in dorms, water
coolers, etc.
The limited pool + cost requirement prevents you from going 0-100, so
you still have to go to medbay if you are severely wounded or your ID
was stolen.
Nanomed changes:
Now that they are considerably less common once again, they can have a
decent stock.
Advanced medkit changes:
I don't really see the justification behind handing these out so freely,
and given the medical stations will have adequate extra healing for the
command staff, they don't need these.
## Changelog
🆑 Melber
balance: Advanced first aid kits in the bridge are back to being normal
first aid kids
balance: Emergency Nanomed vendors have larger stocks and better
supplies
add: Replaces a majority of Emergency Nanomeds on stations and shuttles
with Deforest First Aid Stations. Left clicking these stationary
machines will heal minor damage and blood loss over time - at a (small)
price. Right clicking them will provide gauze, also for a price. All
costs are waived on shuttles, during red alert, or for medical staff.
You can also click-drag to have other mobs use the machine. However,
robotic limbs need not apply.
/🆑
## About The Pull Request
One line change, max(variable,0) means if the variable is negative then
it is 0 instead
cooldown_remaining can be negative, whether its due to how
spell.next_use_time and world.time is measured, or due to something
else. This makes sure no blood spell will ever give you free blood back,
touch spells are still broken, this PR doesn't change that, they simply
do not interact with splattercasting period as of now, which is not
intended. Sanguine spells not interacting IS intended.
## Why It's Good For The Game
No infinite time stop (via this method, anyway)
## Changelog
🆑
fix: Splattercasting touch spells no longer give infinite blood
/🆑
## About The Pull Request
Toilets no longer act as infinite instant water sources, instead working
like showers and sinks - requiring either plumbing, or water reclaimers
to restore their cistern's supply. If a toilet has a large enough fish
inside, or if someone accidentally drops a small item into it, when
flushing it'll spew out all of its cistern's contents around itself
(Dropped items can be removed using a plunger after a small delay).
Also fixed plunger act code on some plumbing objects, and converted
toilets to use item interactions.
### This is a commission for ImprovedName/Ezel
## Why It's Good For The Game
Makes toilets more intresting with plumbing, and brings them more inline
with other plumbing appliances so that way you can't just make a toilet
with 1 material sheet and conjure a infinite water resouce anywhere you
please without a water recycler.
Also you can get up to some silly stuff with foam production.
## Changelog
🆑
add: Toilets now require plumbing or water reclaimers to function, and
can get clogged by small items.
fix: Trying to use plungers on plumbing objects will no longer hit them
after finishing the interaction.
code: Updated toilet item interaction code
/🆑
## About The Pull Request
Fixes#85028
Obscured flags and covered flags are tracked on carbons, updated as
items are equipped and unequipped. It's that shrimple.
Closes#92760
Just removes the species exception checks for not making sense
Also refactors handcuffs / legcuffs removal. In all of these situations
they were hardcoded when they could easily just use an inventory proc to
work.
## Why It's Good For The Game
Stops a million excessive calls to `check_obscured_slots`
Makes obscured behavior more consistent
Makes obscured behavior easier to use
Cleans up human rendering (There was some cursed stuff before with
render item -> updated obscured -> update body -> cause side effects)
## Changelog
🆑 Melbert
del: Golems which somehow manage to grow wings and somehow manage to
equip something that covers their jumpsuit can no longer fly.
(Seriously, this will not affect anyone)
refactor: Refactored clothing obscurity entirely. Items should be a
loooot more consistent and what covers what, and should update a lot
snappier. As always, report any oddities, like mysteriously disappearing
articles of clothing, hair, or species parts
refactored: Refactored handcuffs and legcuffs a bit, report any odd
situations with cuffs like getting stuck restrained
/🆑
## About The Pull Request
Hovering over mobs on the same tile as the commanded mob will no longer
close the command menu, and it will automatically get closed once the
user lets go of the hotkey without having to forcefully time out.
## Why It's Good For The Game
The same tile requirement prevents the menu from fading out if you're
trying to command the mob you're riding, and not closing the menu when
unregistering the hover signal actually prevented you from getting rid
of the menu without waiting for the automatic timeout, which is super
weird and unintuitive.
## Changelog
🆑
qol: Letting go of the pet command hotkey (Shift by default) will
instantly close the menu
fix: Hovering over things on the same tile no longer closes the pet
command menu
/🆑
## About The Pull Request
This PR adds the ability to install a B.O.R.I.S. in a circuit that
contains an MMI component. These circuits can then be remotely connected
to by an AI by clicking on them or anything they are inside of. To
indicate that a circuit allows remote AI connection, an indicator is
given to the circuit and anything containing it.
Additionally:
- Refactors the MMI component to use `item_interaction`, since it was
pertinent.
- You cannot insert an MMI/B.O.R.I.S. into a locked circuit.
- You can no longer hotswap MMIs/B.O.R.I.S.es - you must manually eject
the inserted one.
Let me know what changelog labels I should use for the hotswap removal
and the prevention of insertion into locked circuits.
## Why It's Good For The Game
If you can put an MMI or posibrain in a circuit, why not allow an AI to
use it using a B.O.R.I.S.?
## Changelog
🆑
add: B.O.R.I.S.es can be installed inside of integrated circuits with
MMI components, allowing an AI to remotely interface with them the same
way an MMI or posibrain could.
refactor: The MMI component now uses item interaction behavior for
inserting MMIs/B.O.R.I.S.es.
/🆑
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
#92394 did more harm than good.
First, only the microwavable element transferred reagents even if the
result was a burned mess (in general, a non-positive one), while
grillable and bakeable comps didn't... but that's because I've
overlooked a few checks that skipped the "transfer reagents to the
result" step, which the microwavable element also has, though it stopped
working as intended after I messed with it.
However, I think it's stupid for bad recipes to have a static amount of
"bad food" reagent in them, and overcooking a whole cake shouldn't yield
the same reagents as a bag of chips burned to a crisp, so I scrapped
those damn bad_result checks, and finally let the burned mess item
itself handle converting the consumable reagents into "bad food".
Second, examining most food items no longer tells you that you can make
a burned mess if you microwave it.
## Why It's Good For The Game
This fixes the above issues.
## Changelog
🆑
fix: Examining most food items no longer tells you that you can make
burned mess by microwaving them.
fix: Burned mess now has "bad food" in it more or less proportional to
the nutrients of the item you just overcooked. This also applies to
decomposition now.
/🆑
## About The Pull Request
- Wrapping a crate with package wrapping while pulling it will now
automatically make you grab it
- You can now open the crate while dragging it with the H.A.U.L.
gauntlets if you're the one who's pulling it. Also applies to other
items (including MOD modules) that have the component
https://github.com/user-attachments/assets/7b4743c8-855d-4274-89ca-b0507f6d3e0e
## Why It's Good For The Game
QOL for cargo technicians - having to constantly grab and let go of
crates is very annoying
## About The Pull Request
makes the "the" a "\the"
## Why It's Good For The Game
fixes#92822
## Changelog
🆑
spellcheck: fixes double the on acid on floors
/🆑
## About The Pull Request
Fixes#92188
1. The Accounting console now has a new UI
<img width="757" height="486" alt="image"
src="https://github.com/user-attachments/assets/0c6ce73f-ae1c-4a54-b6ba-bcc3b3232d13"
/>
2. The Accounting console can now dish out advances on paychecks, giving
you for full paycheck early. You can give up to 3 advances. This of
course means your next paycheck is not paid out when relevant.
3. The Accounting console can now change paycheck sizes of crewmembers -
up to 1.5x and down to 0.5x.
## Why It's Good For The Game
- Gives the HoP some more duties, now being able to dish out money on
request, reward good behavior, or punish bad behavior.
## Changelog
🆑 Melbert
add: Accounting Console: New UI!
add: Accounting Console: Now can give advances to crewmembers
add: Accounting Console: Can now give pay raises or pay cuts
add: Accounting Console: Now only printable in the security lathe
add: Accounting Console: A spare board is now now found in secure tech
storage.
fix: Fix vending machines adding payments to audit log twice.
fix: Non-crewmembers are no longer shown in the accounting console
/🆑
---------
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
## About The Pull Request
Adds portable wind turbines that can be put in your back slot or
anchored to the ground. They accept a cell-powered item and charge it
while you walk, or when space wind passes over them. Can be purchased
for 400 credits or crafted with 3 kitchen knives, plastic, and servos.
Requires a capacitor to charge things, and higher tiers charge faster,
faster walkspeed also charges faster.
<img width="592" height="644" alt="im222age"
src="https://github.com/user-attachments/assets/e9997536-5ee0-4417-a31c-cb58666d4d07"
/>
https://github.com/user-attachments/assets/1cf7fce5-d385-4e3e-be97-fb15e253c308
## Why It's Good For The Game
Sometimes you don't have a cell charger. And you need to charge
something. Now you can charge something by running laps around the
station.
During a blob, rechargers are brought to the front lines to charge
energy guns and such but what if the blob turns off the power? And what
are bar-rp'ers to do? Kill two birds with one stone by having them run
laps instead of sitting around doing nothing.
Also its funny.
## Changelog
🆑
add: Added a portable wind turbine which can charge things when you walk
around
add: Added a signal that procs when an object resists space wind (from
being anchored / pulled)
sound: added woosh.ogg as a low "wooshing" noise
image: added a wind turbine sprite
/🆑
---------
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
This adds the temporary body component to split personality and its
children
This should ensure that once split personality ends, the original mind
will return again and the ghost will be ghosted
fix#80212
and potentially #81256
## About The Pull Request
Title. Using better tools should now make crafting faster (or lower)
depending on the quality of the tools. This affects roughly 85% of the
crafting time, so, for every second of it, you're guaranteed to spend
0.15 seconds even if your tools are fast as light itself.
Also a nit with the main benefit of the mining skill being locked to
humans despite it being bound to the mind datum.
## Why It's Good For The Game
Tool speed previously didn't play a role in crafting. Now it does.
## Changelog
🆑
balance: The speed of tools used in a crafting recipe now affect the
time spent on it. Report any recipe that takes awfully little or too
long to complete.
balance: Non-humanoid mobs can now benefit from being skilled at mining
when swinging that pickaxe.
/🆑
## About The Pull Request
Flamethrower exploding when shot was handled by hit_reaction previously,
and will now use the generic bullet_intercepting component. Also adds
handling for multiple projectile types in the bullet_intercepting
component, as well as a check for whether the object currently can block
bullets. Should have no gameplay changes.
## Why It's Good For The Game
closes#81863 , they said it'd be better consistency