## About The Pull Request
Does as the title suggests. I am pretty impartial to these existing, so
long as they get a resprite, and get proper digitigrade leg sprites
before they make a return. If anyone is super attached to the hats, let
me know in the comments, and I'll remove them from this PR. I only
included them with this due to it feeling silly to only have the hats
without the uniforms.
## Why It's Good For The Game
I am normally a firm believer in "Improve. Don't remove." but these
sprites lack digitigrade sprites and their own sprites have clearly not
been touched up in quite some time leads me to believe they are being
unmaintained and would best be removed for the time being.
## Proof Of Testing
It compiled. If CI passes it should work.
## Changelog
🆑
del: Removed the imperial/naval hats and jumpsuits.
/🆑
## About The Pull Request
First, boring stuff.
The "Modsuit equipment" techweb node has been split into two nodes, with
the additional node containing the more civilian MODules (And the new
plating), and costing 20 points.
A new "Perfumer" MODule has been added(not printable anywhere, but in
the new suit by default) that just cleans you.
The MODsuit being added has been added to the LawDrobe's premium
section, for 300 credits.
Now, the real addition.
This adds a MODsuit that is a modular suit, that is to say, a suit, tie,
shoes and glasses. The glasses aren't actually real flash-proof
sunglasses by default, but the welding protection module can be added.
The suit is obviously not space-proof, and offers no protection to
anything but biohazards. The suit has 10 complexity max, due to the fact
that most modules don't have a point on it. This is subject to change.
The pre-made one also has the stamp and paper dispenser MODules
pre-installed, which are both now activateable via the neck slot.
The suit control unit is the tie.
## Why It's Good For The Game
Have you ever been called to court, but you didn't have a nice suit, so
the judge holds you in contempt and sends you to jail? Well, never
again. Gone are the days that you cause two innocent boys to almost be
executed for a crime they didn't commit simply because you don't have a
nice suit. With the Moonraker Conglomerate's newest export in your
hands, you'll never be the less formal one ever again. No matter the
occasion, you're never more than a few moments away from
self-representing.
Video of the fit:
https://github.com/user-attachments/assets/44d08ca8-9ae1-4887-81e6-cec11792132e
It's the same look as a suit jacket, white tie, sunglasses and laceup
shoes. You must get a matching jumpsuit of your own.
I think it's neat, and it's a damn shame that there's not a single
MODsuit that isn't just head gloves suit shoes. All these MODules which
are activateable from head, mask or glasses, and no suits that allow it.
Missed opportunity, I'd say.
Also, lawyer buff. Need I say more?
## Changelog
🆑
add: Added a modular SUIT, a deployable, one-piece three-piece suit.
Purchasable from the LawDrobe.
balance: The MODsuit equipment techweb node has been split in two, with
an offshoot for civilian MODules.
/🆑
---------
Co-authored-by: san7890 <the@san7890.com>
## About The Pull Request
Passes a standardized define into some of the tgui to parody behavior
with vending machines.
Adds a few defines for money symbols to make it easier to rework types
of money.
If yall are for this I can also go through and find and replace a ton of
strings and other tgui with these, but dont want to sink 2 much time
into it if not.
<img width="966" height="646" alt="image"
src="https://github.com/user-attachments/assets/2d4753be-7e5d-4733-acf8-05f354127a6a"
/>
Proof of concept if Nanotrasen was not an evil conglomerate and the
dollar never went out of style
<img width="1009" height="661" alt="image"
src="https://github.com/user-attachments/assets/e68bfcd3-4053-4641-9b28-f384f2cb049b"
/>
some broken shit here but 99% thats cause minimal runtime station does
not support the supply console
<img width="795" height="767" alt="image"
src="https://github.com/user-attachments/assets/30dbd625-5338-4dc3-80db-922ff045f0f0"
/>
## About The Pull Request
- Fixes
https://github.com/tgstation/tgstation/pull/91987#issuecomment-3573314355
Strings such as `\improper` and other non alphanumeric characters that
are stripped out when sent to the UI are now discarded so we don't end
up with malformed hashes
## Changelog
🆑
fix: items such as dna injectors and others that have strange characters
in their names can now be dispensed from custom vending machines
/🆑
## About The Pull Request
Repaths the green captain suit and its skirt version to be costumes
instead of real captain clothing, as this is in line with how they're
used and makes them not have the armour of real captain clothing.
Deleted an unused identical copy of the same suit.
Fixes#93972
## Why It's Good For The Game
These are costumes and it's inconsistent for them to have armour values.
## Changelog
🆑
fix: The captain suit costume (green suit) no longer has the same armour
as real captain outfits.
/🆑
## About The Pull Request
Puts one service plumbing constructor in bartender's wardrobe vendor
Lets plumbing constructors actually build the chemical teleporters
(before this only the sender could be made)
## Why It's Good For The Game
An alcohol factory isn't anything game changing. Not forcing the
bartender to wait for very niche research nobody will ever do to play
with it is a good thing
## Changelog
🆑 Cat
balance: Bartender's wardrobe vendor starts with a service plumbing
constructor
/🆑
---------
Co-authored-by: John Doe <markkavalerov87@gmail.com>
## About The Pull Request
A new recolorable cape in the clothesmate, called the robe cape.
<img width="398" height="241" alt="cape"
src="https://github.com/user-attachments/assets/68d51edd-93b3-4038-a444-b187aa29dc9d"
/>
<img width="157" height="156" alt="detective"
src="https://github.com/user-attachments/assets/3200d77f-ee3d-472a-8432-74999d3fd3e0"
/>
## Why It's Good For The Game
Capes and cloaks look incredible and the only one we have right now is
an owl cloak. This cape exposes one arm and shows off more of your
suit/arms than other capes do, and it's also colorable so you can adjust
it to suit your style. It's the best one I've seen and if people like
it, I might port more capes and accessories.
It was tough to track down the original spriter, I believe the cape was
brought from Nova to Monke.
## Changelog
🆑
add: Added a recolorable cape to the ClothesMate accessories section
/🆑
## About The Pull Request
<img width="195" height="177" alt="image"
src="https://github.com/user-attachments/assets/af6505b9-1036-41d0-98c7-04df08cb01ed"
/>
## Why It's Good For The Game
I love Metal Gear Solid 3. I'm not a very emotional person. But Metal
Gear Solid 3's ending, Snake's debriefing specifically brings me to
tears whenever I think about it.
With MGS Delta releasing, I thought about it again. So I commissioned
Crumpaloo, and took ~~another Doppler~~, (correction, the bandana is by
~~Alterist~~ Kuro020, how have I got credit wrong three times, of TGMC)
sprite to bring the legendary soldiers together. The Mother of Special
Forces and the Man Who Sold the World.
Armored varients are in the Syndi/Sec drobe while unarmored variants are
in the Autodrobe.
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>
</details>
## Changelog
🆑 TheSelfish, Crumpaloo, Alterist and Hideo Kojima
add: Sing. Sing a song. Straight from Soviet Russia, don the iconic
gears of the Legendary Soldiers, Naked Snake and The Boss. Unarmored
variants in a Hacked Autodrobe, Armored in a hacked Security Drobe and
Syndidrobe respectively.
/🆑
---------
Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>
## About The Pull Request
Title. I just moved the Clown stuff from the main part to the bit with
the rest of the Clown stuff.
## Why It's Good For The Game
Org.
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>
</details>
## Changelog
🆑
code: Clown stuff is properly grouped in the Autodrobe.
/🆑
## About The Pull Request
Adds purity seals for the chaplain's use. Calling them cheap stickers
may get you branded as a heretic.
## Why It's Good For The Game
Sometimes people need more than just your word that their lead pipe has
been blessed by you, the most holy chaplain. That's where the purity
seals come into play, as they are a visual indicator of your deity's
approval.
<img width="259" height="182" alt="image"
src="https://github.com/user-attachments/assets/5492bae8-175a-4387-9279-263fbb492510"
/>
## Changelog
🆑
add: Added purity seals, which may be found inside two boxes being sold
by the Deus-Vend
/🆑
## About The Pull Request
Moves a lot of the unique renaming implementations described in #82664
to the functions given by the `obj_flag` `UNIQUE_RENAME`.
`UNIQUE_RENAME` has been given new properties to account for
non-standard renaming, these being the `RENAME_NO_DESC` flag that
prevents changing the description, the `nameformat()` and `descformat()`
procs that, when modified, allow for applying naming formats(i.e. "Body
Bag - [input]"), as well as other post-renaming handling such as
changing the name of the output plant of a renamed seed, the
`rename_checks()` proc that allows for unique naming prevention(such as
a locked personal closet), and the `rename_reset()` proc to clean up
other possible renamed variables potentially changed in `nameformat()`
and `descformat()`.
This also adds `/datum/element/tool_renaming` to crayons, which will let
them rename anything that has `UNIQUE_RENAME`. I looked through
everything with that flag, and I didn't see anything that I don't think
should be renameable by a crayon(except things that shouldn't be
renamable with pens), so it shouldn't fuck anything up.
## Why It's Good For The Game
moves all of the non-honorable mentions in #82664 to the same renaming
system, and also moves all of the honorable mentions save for:
- plaques, as they only get renamed once and wouldn't benefit from
`UNIQUE_RENAME` imo
- books, because they're far more than just renaming, and are persistent
- paintings, because they're persistent
- photos, because they're not normal renaming and they're persistent
- endoskeletons, because they're done with a multitool in UI
- cardboard IDs, because they're far more than just renaming
Additionally, this fixes:
- Implanter renaming didn't work because a ! was missing
- Clown borg picket sign renaming didn't work because they didn't use
the correct arguments
This'll make it easier to make renameable objects in the future, as
well.
## Changelog
🆑
fix: fixes implanter renaming not working
fix: fixes clownborg picket sign renaming not working
code: brought most unique renaming implementations under UNIQUE_RENAME
/🆑
## About The Pull Request
This is a general clean up of some of our modular vending machine code,
highlights are:
- Merges the skyrat `modular_vending` folder into our own
- Eliminates the `skyrat_products`, `skyrat_product_categories`,
`skyrat_contraband`, and `skyrat_premium` vars, merge their stuff into
the bubber equivalents
- Changes the handling for modular autodrobe additions to just add them
to the global list because the autodrobe uses global lists for some
reason, this fixes#4758
- Change a `+=` to `|=` to prevent duplicate entries in vending machines
causing both to appear out of stock
- Fix a duplicate recolor button in the vending machine TGUI
## Why It's Good For The Game
Less duplicate code and bugs, the autodrobe one in particular was funny
because what was happening is the category lists of items were global
lists, and the modular code for adding our own stuff to categories just
`+=` adds it, and that runs every time an autodrobe is created on the
map, so each time the same stuff was being added to the same list and
bloating it to several hundred
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>
<img width="425" height="559" alt="image"
src="https://github.com/user-attachments/assets/e9ab16ed-3c7c-4061-90d5-dc27a7d8a40e"
/>
</details>
## Changelog
🆑
fix: fixed the autodrobe being mostly out of stock and broken
fix: fixed certain vending machines having duplicate items that broke
fix: fixed a bug with the recolor button in vending machines appearing
twice
code: merged modular skyrat vending machine code into our folder
/🆑
## 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
Title.
## Why It's Good For The Game
Boots should be consistently storable.
## Changelog
🆑
qol: Aerostatic Boots now have storage, as they're boots actually.
/🆑
## About The Pull Request
This PR adds 4 new types of soil and a holder item; the soil sack, to
contain and transport said soils.
<img width="496" height="378" alt="bild"
src="https://github.com/user-attachments/assets/57f42a9c-c731-4195-91df-b4456ec45e7b"
/>
Two of the new soils + the regular old soil are available in the premium
section of the nutrimax.
All 5 soil types are available from cargo.
It also adds two new plant traits; soil lover and semiaquatic, that
allows coders to confer maluses to plants growing in trays or soil
respectively.
Potatoes, sweet potatoes, carrots, parsnips, cahn'roots, white and red
beets currently have soil lover, reducing their produced yield by 30%
and their potency randomly between 20-80% if grown hydroponically.
Rice has semiaquatic which increases the amount of weeds gained by 50%
if grown in soil rather than hydroponically.
## Advanced soil types
### Vermaculite
#### Stats
Max Nutrients: 20u
Max Water: 150u
#### Special Effects
Multigraft: Up to 3 grafts can be cut from a plant planted in
vermaculite.
Graft Medium: Graft cuttiongs can be directly placed into vermaculite to
create a new plant vegetatively.
### Hydrogel Beads
#### Stats
Max Nutrients: 15u
Max Water: 300u
#### Special Effects
Hydroponic + Soil: Both water loving and soil loving plants can grow
without maluses.
Super Water: Water consumption rate is decreased by 50%
### Korta Coir
#### Stats
Max Nutrients: 20u
Max Water: 100u
#### Special Effects
Fast Mushrooms: Mushrooms mature(and age) 40% faster if planted in this
soil.
### Worm Castings
#### Stats
Max Nutrients = 35u
Max Water = 200u
#### Special Effects
Slow Release: If the nutrients run out, 1u nitrogen will be
automatically added to the nutient pool.
Worm Habitat: Composting veggies in this soil has a chance to produce an
extra slimy worm.
### Soil Sacks
Use them on the floor to place a soil at that location.
You can reverse this process by right clicking a soil with a shovel.
The sacks are huge items that deals stamina damage, but have slowdown
when carried.
They can be wielded to remove slowdown, double the damage output and
gain 25% block chance.
They have unique normal and wielded inhands for each sack type.
#### Price List
**Soil**
Nutrimax: 50 cr
Cargo: 400 cr / 5 sacks
**Vermaculite**
Nutrimax: 100 cr
Cargo: 400 cr / 3 sacks
**Hydrogel**
Nutrimax: 100 cr
Cargo: 400 cr / 3 sacks
**Coir**
Nutrimax: N/A
Cargo: 600 cr / 3 sacks
**Worm Castings**
Nutrimax: N/A
Cargo: 800 cr / 3 sacks
#### Misc Soil Changes
Soil now have a new armour type and are generally much harder to destroy
by shooting or bashing them.
Fixed a bug where weeds would instantly reduce yield to 3 instead of
lowering it by 1-2 per cycle.
## Why It's Good For The Game
I have long been a fan of using soils in botany, they are the cheapest
and easiest way to make new trays and enable many interesting
strategies.
The default soil is fine for what is but it kinda sucks, not only having
low stats but also missing autogrow, a feature botanist have grown
completely addicted and dependent on.
When self sustaining trays were removed and autogrow added, it was
intended as a way to keep a couple of plants alive while you ran out to
do errands or grab a drink.
However, the feature has devolved into basically a shift start self
sustaining for all your trays and standard practice is using it on every
single tray that currently is not trying to mutate.
This has resulted in certain core botany mechanics like water and pests
being made totally irrelevant, shrinking design space a lot.
Rather than just reaching for the stick, I thought it would be fun to
instead offer them a carrot in the form of an expanded toolset of soils
with unique effects that cannot be replicated by trays.
These new soils offer niche benefits that enable advanced botany
gameplay and provides a framwork for deepening plant / tray interactions
in the furture.
## Changelog
🆑
add: Added 4 new types of soil
add: Added soils sacks to the nutrimax
add: Added soil sack crates to cargo.
balance: Soil now has higher armor values.
balance: Rice now gets more weeds if grown in soil.
balance: Carrots, potatoes, beets and their mutations now get reduced
yield and potency if grown hydroponically.
fix: Weed overgrowth no longer instantly sets yield to 3.
/🆑
## About The Pull Request
This is was created because I found several rare and exciting canisters
in game and then finding out there is no way to actually construct the
vendor they belong to!...
<img width="768" height="385" alt="image"
src="https://github.com/user-attachments/assets/70261cea-daaf-41df-a212-21cef6d6bd0c"
/>
### This PR:
* Makes all noteable vendors constructable, if you have the canister.
* Adds canisters to syndismokes, syndiechem, liberation station,
magivend, shambler's juice and bombuddy
* Replaces the old tptally random canisters spawner, with a variety of
spawners weighted for power and split according to different themes.
* Adds the new main canister spawner to maint.
### Spawner weights
The random canister spawner from maintenance has a:
* **93,5%** chance to spawn a common station vendor refill(with weights
for wardrobes being somewhat reduced.)
* **6%** chance to spawn a rare and special vendor refill.
* **0.5%** chance to spawn a oddity level., super powerful vendor
refill.
## Why It's Good For The Game
One must never place a filled canister in maint if it isn't going to be
constructed It's wrong to make promises you don't mean to keep.
## Changelog
🆑
add: Nearly all notable vendors are now constructable if you have the
canister.
add Added refill canisters for syndiesmokes, liberation station,
magivend, bombuddy 3000, shambler's juice and syndichem.
add: Random vending refill canisters now have a chance to spawn in
maint.
image: Robco Toolmaker and Centdrobe canisters have new sprites.
/🆑
## About The Pull Request
i also capitalised loadout stuff properly, moved unmodular stuff into
modular vendors and put the tojo suit into the clothing files instead of
it's own module
## Why It's Good For The Game
custo
<img width="126" height="137" alt="image"
src="https://github.com/user-attachments/assets/ed354204-67b1-4edd-bf44-5ab5d1e06ae7"
/>
(fixed the sprite later pinkie swear
<img width="108" height="130" alt="image"
src="https://github.com/user-attachments/assets/6d72c8ba-c486-4195-b472-5a8c96463575"
/>
)
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>
</details>
## Changelog
🆑
add: nyaa nyaa, cat gloves are in the clothesmate
add: loadout items are properly in vendors
fix: reverted a unnedded unmodular change
spellcheck: loadout's properly capitalised again
/🆑
---------
Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
## 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
Revival of https://github.com/tgstation/tgstation/pull/79691
A while back, I made this PR, but lost motivation after diving too deep
into the code soup of can_breathe and related procs. Now, I have removed
those parts, and have simplified that part of the code to the point I
think it's ready for review.
Many reviews from the previous PR have been addressed in this PR.
<hr>
<details>
<summary>Details</summary>
Asthma is a 4 point negative quirk that emulates real life asthma. It
works by slowly decreasing the amount of pressure each breath you take
receives, until your lungs completely seal, ensuring death if you dont
get oxyloss meds/windpipe surgery.
Inflammation (the tracker for intensity) increases whenever you breathe
smoke, use a cigarette, metabolize histimine, or suffer an asthma
attack.
Asthma attacks have a low chance of happening every second, starting 10
minutes after you spawn and with a 20-30 grace period between attacks.
They are "diseases" that cant be outright cured by albuterol, only put
into remission. They increase inflammation at varying rates depending on
their severity, with extreme asthma attacks being a immediate threat to
your life while mild ones might not even cause inflammation. The
response to these is always the same - use your inhaler before you start
choking.
Asthmatics start with a rescue inhaler, a low-capacity inhaler loaded
with albuterol, which I will get to later.
Albuterol is a new medicine thats a little tricky to make but still
doable. It can be efficiently created with inverse convermol, or
transmutated from salbutamol and convermol. The opposite is true, with
albuterol able to be turned into salbutamol. Two canisters are available
in chemvends.
Upon use, it increases the virtual pressure of all breaths taken by 40%.
This allows for you to breathe in lower pressure environments, as well
as enhancing the effects of things like healium.
It's OD causes your diaphram to spasm, causing sporadic losebreath and
forced breathing.
Inhalers are a fancy new reagent application apparatus that uses the
INHALE reagent bitflag.
Inhalers themselves are rather unremarkable, they are merely the method
of using inhaler canisters (they also have a rotary display
approximating the uses left in a canister - just like real life
inhalers).
Inhaler canisters are the reagent containers, and are generally low
capacity. They can only be used in a inhaler, and contain aerosolized
chemicals.
Inhaler canisters and inhalers are unlocked from chemical synthesis, and
are printable for cheap from a medlathe.
In order to use a inhaler, one must uncover the mouth of a carbon and
wait a few seconds (its faster if its a self-application) before a small
amount of the reagents are delivered via the INHALE bitflag. This only
works on things currently breathing - if theyre dead, have no lungs, or
just, arent breathing - it will fail. This includes asthmatics with 100%
inflammation.
</details>
<img width="181" height="74"
alt="282863233-77a7cd6b-44d2-458e-9966-06d485df1521"
src="https://github.com/user-attachments/assets/293b6659-0834-4e9a-b033-cc3b0cfde18e"
/>
<img width="1465" height="202"
alt="282863346-2a247736-0c3a-43b0-a60b-7cff10ce4963"
src="https://github.com/user-attachments/assets/5d9a13dc-b7b2-4de2-adda-8fbc8276e667"
/>
Sprites are not mine; they are from swanni and I can NOT sprite for the
life of me
## Why It's Good For The Game
1. Asthma is just cool. One of my favorite features on bay was the fact
lung damage required you to turn up the pressure on your O2 tank to
survive, and this does precisely that.
2. Its always fun to add new ways to interact with atmos as a player
that arent grossly broken, and I fail to see how a 40% increase of gas
intake will really affect balance too badly.
3. Inhalers are badass.
## Changelog
🆑
add: Asthma quirk, based on IRL asthma
add: Inhalers, a new reagent administering method that uses INHALE
add: Albuterol, a new reagent that increases the amount of gas you
inhale by 40%
balance: Inverse convermol now forms once the reaction is done, not on
metabolize
/🆑
---------
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
# Conflicts:
# code/datums/quirks/negative_quirks/allergic.dm
# code/game/objects/items/devices/scanners/health_analyzer.dm
## About The Pull Request
Revival of https://github.com/tgstation/tgstation/pull/79691
A while back, I made this PR, but lost motivation after diving too deep
into the code soup of can_breathe and related procs. Now, I have removed
those parts, and have simplified that part of the code to the point I
think it's ready for review.
Many reviews from the previous PR have been addressed in this PR.
<hr>
<details>
<summary>Details</summary>
Asthma is a 4 point negative quirk that emulates real life asthma. It
works by slowly decreasing the amount of pressure each breath you take
receives, until your lungs completely seal, ensuring death if you dont
get oxyloss meds/windpipe surgery.
Inflammation (the tracker for intensity) increases whenever you breathe
smoke, use a cigarette, metabolize histimine, or suffer an asthma
attack.
Asthma attacks have a low chance of happening every second, starting 10
minutes after you spawn and with a 20-30 grace period between attacks.
They are "diseases" that cant be outright cured by albuterol, only put
into remission. They increase inflammation at varying rates depending on
their severity, with extreme asthma attacks being a immediate threat to
your life while mild ones might not even cause inflammation. The
response to these is always the same - use your inhaler before you start
choking.
Asthmatics start with a rescue inhaler, a low-capacity inhaler loaded
with albuterol, which I will get to later.
Albuterol is a new medicine thats a little tricky to make but still
doable. It can be efficiently created with inverse convermol, or
transmutated from salbutamol and convermol. The opposite is true, with
albuterol able to be turned into salbutamol. Two canisters are available
in chemvends.
Upon use, it increases the virtual pressure of all breaths taken by 40%.
This allows for you to breathe in lower pressure environments, as well
as enhancing the effects of things like healium.
It's OD causes your diaphram to spasm, causing sporadic losebreath and
forced breathing.
Inhalers are a fancy new reagent application apparatus that uses the
INHALE reagent bitflag.
Inhalers themselves are rather unremarkable, they are merely the method
of using inhaler canisters (they also have a rotary display
approximating the uses left in a canister - just like real life
inhalers).
Inhaler canisters are the reagent containers, and are generally low
capacity. They can only be used in a inhaler, and contain aerosolized
chemicals.
Inhaler canisters and inhalers are unlocked from chemical synthesis, and
are printable for cheap from a medlathe.
In order to use a inhaler, one must uncover the mouth of a carbon and
wait a few seconds (its faster if its a self-application) before a small
amount of the reagents are delivered via the INHALE bitflag. This only
works on things currently breathing - if theyre dead, have no lungs, or
just, arent breathing - it will fail. This includes asthmatics with 100%
inflammation.
</details>
<img width="181" height="74"
alt="282863233-77a7cd6b-44d2-458e-9966-06d485df1521"
src="https://github.com/user-attachments/assets/293b6659-0834-4e9a-b033-cc3b0cfde18e"
/>
<img width="1465" height="202"
alt="282863346-2a247736-0c3a-43b0-a60b-7cff10ce4963"
src="https://github.com/user-attachments/assets/5d9a13dc-b7b2-4de2-adda-8fbc8276e667"
/>
Sprites are not mine; they are from swanni and I can NOT sprite for the
life of me
## Why It's Good For The Game
1. Asthma is just cool. One of my favorite features on bay was the fact
lung damage required you to turn up the pressure on your O2 tank to
survive, and this does precisely that.
2. Its always fun to add new ways to interact with atmos as a player
that arent grossly broken, and I fail to see how a 40% increase of gas
intake will really affect balance too badly.
3. Inhalers are badass.
## Changelog
🆑
add: Asthma quirk, based on IRL asthma
add: Inhalers, a new reagent administering method that uses INHALE
add: Albuterol, a new reagent that increases the amount of gas you
inhale by 40%
balance: Inverse convermol now forms once the reaction is done, not on
metabolize
/🆑
---------
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
## About The Pull Request
Reverts a bit of https://github.com/tgstation/tgstation/pull/92134 - the
change was not documented, and the creator expressed neutrality at it's
return in discord.
## Why It's Good For The Game
Diluted aiuri and libital sprays are good stopgaps for when chemists
aren't making chems, or at roundstart, when your options for chems are
the limited medkits. They're not exactly good at their job, they're
impure, limited, but they get the job done.
The change is also a bit out of scope for that PR (it wanted to change
emergency vendors and not the nanodrug) and - again - undocumented.
Feel free to close if this is actually bad for the game, I just really
like using these as a doctor when better chems aren't available.
## Changelog
🆑
add: 2 aiuri and 2 libital cans to nanodrug plus
/🆑
## 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
- Var `on_station` is no longer sent to the UI as it is redundant with
`all_products_free`. Saved bandwidth
- Dispensing free returned products no longer produces logs of 0 credits
into the economy
- Removed excess null checks for account stuff
## Changelog
🆑
code: improved code for vending machine payment process
fix: stop logging 0 credit purchases when vending machines are
dispensing returned products
/🆑
## About The Pull Request
- Ensures vending machines don't runtime if the buyer dont have an ID
card, valid account or department job. The UI usually disables itself
when this is case but if this proc is called through other means we
ensure no runtime occurs
- Dispensing an item (like when the machine shoots out
items/freebies/regular vending) always uses power & not just when buying
the item through the UI
## Changelog
🆑
code: adds some null checks against players without an ID card/valid
account vending an item
code: ensures dispensing an item always uses energy & not just when
vending
/🆑
## 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
- Fixes runtime when deconstructing custom vending machine
- Removes arbitrary limit on loading items from a bag into the vending
machine.
## Changelog
🆑
qol: you can stock more than 30 items from a bag into an vending machine
fix: fixes runtime when deconstructing custom vending machines
/🆑
## About The Pull Request
- Fixes#92527
- Closes#92537
## Changelog
🆑
fix: product category vendors start out correctly filled & can be
refilled with cargo ordered vending canisters again
/🆑
## About The Pull Request
**1. Code Improvements**
- Removed unused vars `coin`, `bill` & other stuff
- Removed duplicate definition of `on_deconstruction()`
- Autodoc for a lot of procs
- Merged smaller procs into larger ones to avoid scrolling in the code
editor & reduced overhead
- Split the vending machine file into several smaller files for easy
code management
**2. Qol**
- Implemented vending machine ads. They now display random stuff on the
UI
https://github.com/user-attachments/assets/9720ea60-f268-4ca2-940d-243e3d0ac75f
- More error messages for custom & normal vendors as to why an item
could not be loaded
- Custom vending machines can be deconstructed safely via crowbar
without any explosion only after unlinking your account from the machine
else you get the same explosion. Upon deconstruction all loaded items
are moved into its restock canister meaning the machine can be safely
moved with all its products just like a regular vending machine to a new
location
**3. Fixes**
- Fixes#81917. Any returned items in the vending machine now show up as
free in the UI & won't cost credits to buy them
- Fixes#87416. Custom & normal vendors now keep track of products
removed via `Exited()` so the UI gets always updated
- Fixes#83151. Items with different names & custom prices now show up
in unique rows
- Fixes#92170 Custom vendors now show the correct icon for inserted
items
- Closes#80010. From the above fix this situation is impossible so it's
safe to close this as a duplicate
- Closes#78016 same problem as above with `Exited()` duplicate
- Custom vendors can now actually be used by players who are not the
owner instead of locking down the UI
- Vending machines keep track of `max_amount` of stocked items by hand
as well & not just RPED
**4. Refactor**
- Separates custom vending machine code from normal vending machine
code. This prime Marely focus on the `vending_machine_input` list which
now only exists inside the custom vending machine
- Compressed the UI code for vending machine so both custom & normal
vending machines can send the same data instead of separating the 2.
Overall less code
- Moved attack chain from `attackby()` to `item_interaction()` for
loading items
## Changelog
🆑
code: cleaned up vending machine code
qol: vending machines now have more product slogans you never heard
before
qol: custom & normal vending machines now have more feedback on why an
item could not be loaded
qol: vending machines now display random ads on the UI
qol: custom vending machines can be deconstructed via crowbar safely
only after unlinking your account from the machine.
qol: upon deconstructing a custom vendor all its products are moved into
its refill canister & it will be restored when reconstructing the
machine elsewhere
fix: Returned items to the vending machine now show up as free in the UI
and won't be greyed out if you don't have credits to get them back
fix: items that leave the vending machine by any means will update the
UI in all cases
fix: loading items by hand to the vending machine now respects the
max_amount for that category
fix: custom vendors can now actually be used by players who are not the
owner thus enabling them to transfer credits to the owner during
purchases & basically they do their job again
fix: custom vendors now show the correct icon for inserted items
fix: Items with different names & custom prices now show up in unique
rows in custom vendors
refactor: separated custom & normal vending machine code. Reduced UI
code & improved attack chain
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
# Conflicts:
# code/modules/vending/_vending.dm
# tgui/packages/tgui/interfaces/Vending.tsx
## About The Pull Request
- Fixes runtime when deconstructing custom vending machine
- Removes arbitrary limit on loading items from a bag into the vending
machine.
## Changelog
🆑
qol: you can stock more than 30 items from a bag into an vending machine
fix: fixes runtime when deconstructing custom vending machines
/🆑