## About The Pull Request
We were doing a lot of mental gymnastics in a bunch of other places, so
let's change this wonky var to a streamlined element that will rely on
the same signals that a lot of stuff was already using/accounting for in
its own signal handling pathways, instead of being a weird coverage gap.
This patch should also make the whole "checking if someone is attempting
to pick a mob up" thing make a lot more sense and use a unified proc
instead of spot-checking whatever random things it wants to spot-check.
## Why It's Good For The Game
I didn't know this was a thing until I looked at #96873 and it made me
sad because literally everything else involving mob drag-and-drop is
already signal-based except this weird stinker that relied on proc
overrides. Never mind that now, let's use nice traits to avoid
typecasting and elements to avoid duplicating code. It should also be
much cleaner to add holdability to a mob isntead of having to do
`can_be_held = FALSE` as a weird behavior (at least one instance had
this non-necessarily). All this really is is just middleware on the
extant /mob/living code but still making it in proper lockstep with the
other signalling procs.
I did port over raptor code faithfully but I'm not 100% sure if it was
meant to be like this? Regardless, that's how it is.
## Changelog
🆑
refactor: Picking up mobs has been altered a bit, please report any bugs
or glitches.
/🆑
## About The Pull Request
I don't think they're supposed to fit in medical belts
## Changelog
🆑 Melbert
del: Fixed jaws of recovery being able to be stored in the paramedic EMT
belt
/🆑
## About The Pull Request
Fixes the power crowbar from being rejected despite being in the EMT
belt's allow list.
## Why It's Good For The Game
Fix bug
## Changelog
🆑 LT3
fix: Fixed jaws of recovery not being able to be stored in the paramedic
EMT belt
/🆑
## About The Pull Request
Tooltips are positioned according to `screen_loc` var which was
incorrectly being modified by `/datum/storage_interface/silicon`. They
covered the whole item making it virtually impossible to click on.
We can't check if the item is in the borgs hand because `add_items()`
gets called BEFORE the transfer to hands not after BUT we can check if
the item was transferred out of storage via the `IN_STORAGE` flag which
has the same results. It's fixed now
Before
<img width="182" height="156" alt="Screenshot (23)"
src="https://github.com/user-attachments/assets/cd3db288-87bb-49bb-bf02-b8662104e441"
/>
After
<img width="296" height="113" alt="Screenshot (25)"
src="https://github.com/user-attachments/assets/1e61fc36-1f40-4b06-9c01-1b1ce7fc07b8"
/>
## Changelog
🆑
fix: Tooltips no longer cover the whole borgs hands held items
/🆑
## About The Pull Request
Adds beef space ramen packets as an uncommon maintenance spawn. These
are small boxes that contain a brick of dehydrated space ramen and a
beef flavour sachet (these are all they can hold). These items can be
used on the soup range to create beef ramen.
## Why It's Good For The Game
The existing option for ramen leaves something to be desired. You just
add water and it magically heats itself. The ramen is treated as a
reagent rather than an object like other noodles.
## Changelog
🆑 cacogen
add: Adds packets of beef ramen as an uncommon maintenance spawn
/🆑
## About The Pull Request
Completely removes individual inventory UI handling from mob and HUD
code and moves it to slot datums.
``/datum/inventory_slot`` now is responsible for displaying items on the
player UI and does so through vis_contests as opposed to screen_loc -
which ensures that wide items will display properly rather than be
offset to the right.
Centralized, slot_id based handling allows us to significantly simplify
inventory and HUD code (see how many lines were removed) as you no
longer need to individually track all items for both the HUD owner and
the observer, and makes it easier for us to fully datumize inventory
handling in the future.
Also fixes a bug where observers would see players' storage UI and have
the items linger on-screen after its closed.
## Why It's Good For The Game
Makes working with inventories and HUDs easier, fixes visual issues with
wide items, I need this for human rendering refactors.
## Changelog
🆑
refactor: Refactors inventory UI to be completely datum and
vis_contents-based
fix: Observers should no longer see doubled up inventory UIs
/🆑
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
## About The Pull Request
`active_storage` could be null
## Why It's Good For The Game
Pretty much the same functionality, without the runtime
## Changelog
🆑
code: Things that interrupted the opening of storages are no longer
reliant on a runtime, meaning they interrupt regardless of whether you
had another open storage open at the time
/🆑
## About The Pull Request
Lets you equip items that you used glue on, that's how it worked before
tg made it such you cant equip nodrop items, put them into evidence bags
so you can pick them up without getting them attached to your hands and
also make stuff that other people have equipped nodrop for them to be
sprayed with acid if they want to get rid of that thing
## Why It's Good For The Game
You no longer have to drag nodrop items to sec, you can just put them in
the bags now(if you didn't pick it up in the process) and let's you
equip stuff if you applied nodrop before equipping it because that's how
it was before tg randomly fixed equipping nodrop items. also gluing
bombs and other stuff to people could be funny i think
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>
<img width="127" height="240" alt="screen1"
src="https://github.com/user-attachments/assets/7ee25f7b-5cbc-42b8-8244-5c17b736a9ee"
/>
the item selection menu
</details>
## Changelog
🆑
add: You can put superglued items into evidence bags
fix: You can equip superglued items again like you could before
add: You can apply superglue to other people stuff
/🆑
## About The Pull Request

This PR adds 16 more wands to the game, try and guess what they all do!
I finished coding this PR 6 weeks ago but it turns out I had to sprite
16 wands after that before I could PR it.
<details>
**Wand of Animation**- It's like the Staff of Animation but doesn't
recharge itself, obviously.
**Rod of Babel**- Grants victims a new random spoken language and then
removes all of their other languages.
**Shearing Rod**- It renders you bald. If you are covering your hair
with a helmet, it pops the helmet off (possibly its most useful effect).
If you're already bald, your bald head will shine brightly and blind
nearby people.
**Party Wand**- Fires projectiles that are incredibly alcoholic. Two of
them will destroy the livers of most targets and kill them (although it
gives them a good leadup time to get that fixed before dying of alcohol
toxicity), so try one at a time if you're just there to have fun.
**Wand of Ice**- Freezes people temporarily, making them really cold and
unable to move. It also spawns slippery ice on impacted tiles.
**Wand of Chaos**- Forces targets to hallucinate from a curated list of
hallucinations. It looks and is named sort of like the Staff of Chaos
just in the hopes that people are more likely to believe that the wizard
did actually just instantly kill them, set them on fire, or turn them
into a demon. Even if it doesn't, a lot of these cause you to stop
moving or be temporarily knocked down or in some other way disoriented.
**Lifting Rod**- Removes gravity from a target for two minutes, which
funcionally immobilises them if they're in the middle of a room or you
can use on yourself to cross big pits.
**Rod of Compassion**- Heals you and your target a little bit, and also
gives you both Pacifism for 30 seconds. This gives you time to talk out
your problems, or deliver a monologue.
**Wand of Snacking**- Turns things into pizza. If fired at a mob, will
put some pizza in their hands and force them to start eating it.
Unlikely to be deadly, but it might spawn mouldy pizza, a food they are
allergic to, ethereal battery acid pizza, or pizza which dismembers you.
**Pestilent Wand**- Confers a transmissible plague which causes you to
periodically cough out vermin of various degrees of danger and hostility
depending on disease level, treated via traditional methods of exorcism.
**Wand of Pratfalls**- Slips and pies the target as well as creating
small amounts of lube foam.
**Wand of Rebellion**- Removes a limb from the target, then animates
that limb. Stop hitting yourself.
**Rod of Repulsion**- Throws things you shoot away from you.
**Switching Rod**- Swap places with the hit atom, as with the spell
Swap.
**Restraining Rod**- Summons a tentacle from the ground to grasp the
target, immobilising them for 20 seconds or until someone helps them.
**Wand of Zapping**- Briefly locks up the target's nerves with lightning
(it's secretly a classic ss13 taser).
</details>
They are available to wizards via the new option "Wand Assortment
(Bargain Bin)" which only costs a single spellbook point, but gives you
an assortment of 6 wands picked at random from this list of new wands
and some of the existing ones.
If you buy two or more sets of wands (and are wearing the wand belt from
the first one) then instead of spawning wands in a belt it will spawn
them in a bandolier, which fits into your backpack or can be worn on a
suit slot.
Wand bandoliers in a suit slot will automatically replace an empty wand
you try to fire with a wand that still has ammo in it.
Several of these wands' projectiles are now also possibilities from
firing the Staff of Chaos (making it more chaotic) and some of them also
have their own Magicarp types.
Also I made it so that if you animate an animating weapon then it
focuses on animating more things instead of shooting its animating bolts
at mobs that are already animate. I could do this for more specialty
wands too at some point (door wand projectiles don't exactly hurt
anyone) but if I do that it'll probably be in a different PR.
## Why It's Good For The Game
A good number of these wands come from a downstream antagonist that's
essentially a lower-threat wizard. I thought these were all fun or funny
effects to have in the game upstream but also not ones that people would
typically want to buy as a dedicated spell (or alternately, that would
be pretty good as a dedicated spell but quite boring), so instead
they're limited use spells that you get in bulk for cheap.
I didn't think we'd really want to bulk up the spellbook with several
different kinds of themed bundle though (and frankly, they don't share
themes), so it's a blind box instead.
The bandolier was added to compensate people for buying random wands
multiple times, so they can have more of a wand-based playstyle.
Now you can spend all of your points on 60 wands (maybe more if you take
the gambling trait...) and be a sort of wizard cowboy, or split them
among your apprentices, or just leave them everywhere like candy and see
whether the crew fuck things up for themselves with their new power I
guess.
## Changelog
🆑
add: Adds 16 more wizard wands to the game, which wizards can buy
cheaply but randomly, or are available via Summon Magic.
add: If a wizard buys more than one set of wands they will receive a
"Wand Bandolier" holster which fits in the backpack or, if worn in the
suit slot, will automatically exchange an expended wand for a full one.
balance: Staffs (and wands) of animation that are animated will try to
animate other objects instead of firing at living mobs, which are
already animated.
balance: Animating a wand of nothing will turn it into a wand of
animation (and animate it).
balance: The staff of chaos can now do more things.
balance: Magicarp now additionally come in Babbling, Frigid, Quantum,
and Weightless varieties. Collect them all!
/🆑
## About The Pull Request
Lawyers, Quartermasters, and Heads of Personnels can now purchase a
`"Briefcase Embedded Firearm Trigger"` from the traitor uplink for 4 tc.
The briefcase looks like a normal, unassuming briefcase - But when any
weapon is placed inside, you gain the ability to "fire" the briefcase,
which *actually* fires the weapon.
Only the first weapon found is fired, even if it's empty.
So while you CAN put 5 pistols inside, you'd have to cycle them in and
out manually.
This works with *any* weapon that can fit inside the briefcase, which
essentially restricts it to pistols and some laser weapons.
*No*, sniper rifles won't work in the briefcase. (You can't use it to
bypass weapons that require two hands.)
*Yes*, you can also handcuff the briefcase to your wrist as normal. (Who
knows what this will allow.)
---
Also purchaseable is an 8tc `"Briefcase Embedded Firearm (Combo Deal)"`,
which comes pre-loaded with a Makarov and 0 magazines.
This variant is also available to all Spies as a medium difficulty
reward.
---
Additionally I changed the boot-dagger's examine tell to only show to
people holding the item.
When I was implementing the briefcase gun I made the examine tell only
show while held and I thought "well, the boot-dagger should follow the
same logic". They're meant to be stealth objects so being able to figure
it out from across the room feels weird.
## Why It's Good For The Game
This was a random idea someone threw out that I thought fit the vibe and
gameplay of traitors and spies really well.
It's a very espionage-y idea, very James Bond.
It will definitely catch a lot of people off guard. It basically allows
the Lawyer to walk around with a pistol or revolver drawn at all times.
I'm a bit worried it'll be too potent combined with handcuffs (nodrop
revolver?), but the Lawyer doesn't get many Ws so maybe it's fine.
## Changelog
🆑 Melbert
add: Traitor Lawyers, Quartermasters, and Heads of Personnels can now
purchase a "Briefcase Embedded Firearm Trigger" from the uplink for 4tc
- a briefcase that allows any weapon stored within to be fired by
"firing" the briefcase itself. Weapon sizes are restricted to whatever
fits in a briefcase, meaning it practically only works with pistols and
some laser weapons. It has a subtle examine tell that only appears while
being held.
add: Also available for 8tc is a combo deal that comes pre-loaded with a
Makarov. This can also appear as a medium Spy reward.
balance: The Spy item "boot dagger"'s examine tell now only appears if
you're examining them WHILE holding them.
/🆑
## About The Pull Request
this translates some various
- `FLOOR(x, 1)` -> `floor(x)`
- `CEILING(x, 1)` -> `ceil(x)`
- `SIGN(x)` define is gone, just uses the native BYOND `sign()` now.
Also, the `MODULUS` define is just a wrapper for the [BYOND `%%`
operator](https://ref.harry.live/operator/modulomodulo) now.
would be nice if someone double checked to make sure there's no
potential subtle oddities resulting from this.
## Why It's Good For The Game
These procs presumably did not exist whenever the defines were written -
and they are BYOND builtins, meaning it will just be, say, one `sign`
instruction, instead of two comparisons and a subtraction.
## Changelog
no player-facing changes
## About The Pull Request
Pod wall storage tracks its own locked state and whatnot only to
hardblock based on security state, which is confusing especially to
those attempting to varedit.
Also, its initial icon is erroneously unlocked because it is updated by
the storage while the storage is being created, but as the storage is
still being created `atom_storage` hasn't been actually set yet.
## Why It's Good For The Game
Fixes it being locked when it shouldn't be(in varedits, but also in the
scenario someone launches the pod and later the security level is
lowered)
Fixes it appearing unlocked when it isn't.
## About The Pull Request
This is a port/revival of Kapu's
https://github.com/DaedalusDock/daedalusdock/pull/883
By god, please TM this for a while, as HUDs are rather volatile and I
might've missed something (also the original PR had harddel issues, so
we should probably be on the lookout for those)
Instead of being stored in a metric ton of separate variables, all HUD
elements are now kept in a ``key -> element`` assoc list, and separate
category lists have been turned into a single ``group_key -> list of
elements`` assoc list for easier management.
This massively simplifies HUD creation and management, and allows us to
sanely dynamically modify HUDs without having to keep track of our
elements ourselves (harddel fuel)
I've also noticed that plasma vessels had... interesting, to say the
least, way of managing their HUD and in humans were unable to display
it, which I've changed (the element itself is displayed below stamina in
non-aliens, as latter occupies the spot where you'd normally see it)
Also fixes a bunch of minor unlikely to occur issues with HUD not
updating when it should've sometimes.
## Why It's Good For The Game
The two most important results of this is that A) we can fix the issue
with items larger than 32x32 not displaying properly in inventories (in
a separate PR) and B) this paves the way for datumized inventory slots,
although that is a separate nightmare
Some of this code is also actually over a decade old, and is an absolute
nightmare to work with.
## Changelog
🆑
qol: Non-aliens with an implanted plasma vessel now see their plasma
level in their HUD instead of just the stat panel
refactor: Refactored the entirety of HUD management code, report if
anything breaks!
/🆑
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
## About The Pull Request
Revival of https://github.com/tgstation/tgstation/pull/91378 for renewed
effort of ruining the stat panel for everyone.
This PR does a few things to address issues I've had with the HUD in
hopes to bring reliance less upon the stat panel.
1. Adds a Memory button
<img width="133" height="169" alt="image"
src="https://github.com/user-attachments/assets/7f643882-5666-4099-9c68-5d6092a6d82c"
/>
<img width="134" height="169" alt="image"
src="https://github.com/user-attachments/assets/e7592ec3-ec3e-4afe-baa3-6d0e6d5d22c8"
/>
Potential alt icon, but I don't know if it's better
<img width="1322" height="115" alt="image"
src="https://github.com/user-attachments/assets/82cc6ad9-becd-4502-8b83-276b0ef6ed0d"
/>
2. Makes Alien, Animal & Borg HUDs more compact (This is uploaded before
Borg HUD icons were made)
Borg - Removed 'Store' button, now you left click your model to store it
(RMB to open/close), think of it more like a bag now.
<img width="1054" height="324" alt="image"
src="https://github.com/user-attachments/assets/5352a350-8f3e-4b3a-8634-929e2c9aa2f4"
/>
Alien
<img width="305" height="189" alt="image"
src="https://github.com/user-attachments/assets/c0f0b9f0-941a-405e-bdfd-4b5b46690fb6"
/>
Animals - Their HUDs now appear in the corner of the screen rather than
having the strange offset
<img width="202" height="168" alt="image"
src="https://github.com/user-attachments/assets/ddf26108-d930-4744-8ef5-17f981a3384b"
/>
I didn't touch gorilla, they still look weird.
<img width="732" height="181" alt="image"
src="https://github.com/user-attachments/assets/5c1534c3-7190-491d-8a1f-6fe51eebd9a2"
/>
2. Fixes borg numbers not showing up at the request of a user
<img width="701" height="312" alt="image"
src="https://github.com/user-attachments/assets/65464e15-8e31-41f8-b506-050fa27cebde"
/>
Closes https://github.com/tgstation/tgstation/issues/95163
I also added a rustle sound when you drop something as a borg so you
have an audio cue that you dropped something, sometimes as a borg I'll
drop something and think it disappeared, cause I didn't realize I
accidentally hit drop. This is a local sound, so it doesn't play to
anyone near you. Purely for feedback.
3. If you didn't notice, this de-hardcodes the UI for non-humans
UIs now respect your prefs for many more mobs now, pretty much only the
ones with unique special UIs (Alien, pAI, AI, Borg) will now respect
your prefs.
## Why It's Good For The Game
UIs make a bit more sense, takes Memories out of being only accessible
through the stat panel, allows your prefs to be respected more and makes
inventories a little more consistent through mob types.
If the stat panel is to be removed or made optional, we can't afford to
hide Memories through it because certain antagonists (see: nukies)
absolutely rely on it.
## Changelog
🆑 ttt, JohnFulpWillard
add: Added a Memory HUD to your UI. In case you didn't know, you get
memories of things happening around the station, or important antagonist
info such as the nuclear codes.
del: Removed Borg's "store" button, now the cyborg module will behave
more similar to a backpack (LMB to store, RMB to open/close)
fix: Borg material now properly displays how much materials they can
afford with their cell's charge.
qol: Your HUD prefs are respected on more mobs now.
qol: Improved the HUD of simple/basic animals, as well as Cyborgs, AIs,
pAIs and Xenomorphs.
/🆑
---------
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
## About The Pull Request
Ports the Experimental Holotool from yogstation. An RD item that is all
the tools in a compact package.
## Why It's Good For The Game
RD has nothing interesting except the armor that kills you if you use
it, and many people dont because of that. This gives a unique,
interesting item that is useful to their kit, much like the CMO's hypo.
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>
<img width="273" height="314" alt="image"
src="https://github.com/user-attachments/assets/7111c679-928c-4069-a4d9-ab93588d9daf"
/>
<img width="127" height="83" alt="image"
src="https://github.com/user-attachments/assets/86346c30-3ae3-449d-b40a-3c26b05f6949"
/>
</details>
## Changelog
🆑
add: The RD now has an Experimental Holotool! It starts in their locker.
/🆑
## About The Pull Request
Fixes#95187
Idk how I forgot that part
ABC sorted it while I was here
## Changelog
🆑 Melbert
fix: Tourniquet fits in medkits and medbelts
/🆑
## About The Pull Request
1. Refactors gauze
Removes gauze var from `/stack`, adds a shared parent between tape and
gauze.
Behavior of "sticking thing on limb" is now a bit more generic, with
there being a component to facilitate it and a framework on `/bodypart`
Closes#92990
2. Adds Tourniquets
A first aid item, when attached to a limb it reduces blood loss from
that limb by 90%.
However while attached you walk slower (if on a leg), interact slower
(if on a arm), and yes, you rapidly die if you put it on your head
Paramedic belts have their starting equipment changed again for the
500th time.
Surgical tape -> Tourniquet
Bone gel -> Bonesetter
<img width="604" height="224" alt="image"
src="https://github.com/user-attachments/assets/443dd5c0-44a3-4ccb-9f6a-c561bbf2fba9"
/>
## Why It's Good For The Game
Adds some more variety for field treatment of bleeding wounds, and in
the future we can add things like "improvised tourniquets" or
"improvised splints" with wooden planks.
## Changelog
🆑 Melbert
add: Adds Tourniquets. While attached to a limb, reduces blood loss from
that limb by 90%, but makes you walk / interact slower. (Or if you put
it on your head, you die.)
add: You can purchase Tourniquets from the premium section of the
medical vendor
add: Paramedic belt setup has changed yet again: Surgical tape replaced
with Tourniquet, Bone gel replaced with Bonesetter.
add: You can use all forms of tape as splint - like Gauze. Will secure a
fracture but won't stop your blood from exiting.
refactor: Refactored gauze entirely, report any strangeness with it (or
tape, or tourniquets)
/🆑
## About The Pull Request
Title, right now flash/handheld fits within a security belt, but
flash/hypnotic does not.
## Why It's Good For The Game
It's by all means a flash, no reason for it not to fit within a security
belt. It not fitting in the belt means it can be meta'd. Searching a
roboticist who would reasonably have a flash? Flash doesn't fit in belt?
It must be a hypnoflash.
Feels oversighty idk
## Changelog
🆑
fix: Hypnoflashes now fit on secbelts just like regular flashes.
/🆑
## About The Pull Request
<img width="528" height="200" alt="image"
src="https://github.com/user-attachments/assets/41a30b57-2799-44c8-82cd-ce2f8c8c22c4"
/>
Number only shows up when it's in the inventory or held - in world it
looks as-normal
(I'm pretty sure this idea was subconsciously inspired by another
server, but I don't remember...)
## Why It's Good For The Game
Makes it easier to use stacks that don't have a visual sprite change -
IE you no longer have to spam examine to see how many you have left
## Changelog
🆑 Melbert
qol: Stack items have a number indicating stack size while held or in
inventory.
/🆑
## About The Pull Request
`adjust_fishing_difficulty` is a good one to make into a bespoke element
since a number of the same clothing item are created in the wardrobe
system.
climb_walkable is also good due to how prevalent it is, and it is a bit
of a two for one since it also removes the need for the
`/component/connect_loc_behalf`
Also stops adding the on_climbable trait to literally everything in the
turf, it now only applies it to atoms with density. So no more pipes and
stuff getting trait lists created for no reason.
<details><summary> Tested + things still work as before </summary>
<img width="422" height="122" alt="image"
src="https://github.com/user-attachments/assets/b23696f5-cd16-4150-aeb3-14ea6bd256fc"
/>
</details>
## Why It's Good For The Game
Lessens overhead, fixes a bug as well.
## Changelog
🆑
fix: fixes a pushed crate not removing on_climbable trait properly off
the mob standing atop it
/🆑
## About The Pull Request
Shells spawn in the box, but when removed they can't be put back in.
This is because they hold only donk pockets.
Fixes this, and also allows you to refill it with other shotgun shells,
since they're all more or less the same shape. This mirrors how the
other donk boxes can store donk pockets of any kind.
## Why It's Good For The Game
Exit-only boxes for ammo are very frustrating for players. They expect
to be able to put the ammo back inside.
## Changelog
🆑
fix: The Donk Co. 'Donk Spike' boxes now properly store shotgun shells.
/🆑
## About The Pull Request
Another one of those things that I've noticed when playing around with
fish tanks; The slowdown lingered even when the fish tank (which depends
on the total weight of fish inside it) was no longer held and was only
updated another item is equipped or held.
This is because `attempt_insert` doesn't end up calling `DoUnEquip`,
which along with `equip_to_slot`, is one of the cornerstones of the
whole inventory system that we have had for over a decade. Luckily, this
doesn't break things entirely because `item/doMove` seems to have a
fallback, but it only covers held items and only does half of what
`DoUnEquip` does, because it's its own copypaste code, disconnected from
the standard unequip call stack.
I've done some changes to make sure `DoUnEquip` is always called on
`doMove` if we find that the item still has the IN_INVENTORY flag. I've
also updated the code comment for it as well, to emphasize that the
measure is a fallback and not an excuse to call forceMove or Move if we
know that the object is held or equipped on a mob.
If something doesn't work, it'll be likely caught by the CI (it's a core
feature of the game after all) or stack traces.
Also, despite equipment slowdown supporting all mob types, when
equipping/unequipping items it's only applied to carbon mobs. This is
not _strictly_ a contributing factor to the titled issue but it still
limits a balance feature that ought to affect all mobs with hands and/or
equipment slots.
## Why It's Good For The Game
Fixing issues with inventory and storages. Hopefully improving and
modernizing years old code a little.
## About The Pull Request
Updates the laser gun into four proper subtypes: Standard, Pistol, Rifle
and Carbine.
<img width="229" height="210" alt="image"
src="https://github.com/user-attachments/assets/12c03076-8ebf-4d87-8c98-6a8cce6821db"
/>
Current sprites are pending a palette change.
**Standard:** Functions as you would expect. Same as ever.
**Pistol**: Lower charge, 20 force, normal sized, recharges faster.
**Carbine**: 15 force, 26 mag, two round burst. Projectiles flight
slightly faster. Cannot dual-wield.
**Rifle**: 20 force. 40 mag. Two round burst. EMP resistant (not
immune). Projectiles fly slightly faster. Cannot dual-wield (not that
you need to).
All but the rifle can be sourced from cargo. You can also buy the sovl
version of the laser gun if you're especially nostalgic.
### Armory Changes
The Armory now can potentially spawn either pistols, carbines or
standard. The weighting leans closer to spawning carbines and standard
as opposed to pistols.
### Lore Dump
The laser line of weapons now all have lore. That rich, deep lore that
every game needs and is totally not important at all to the meat and
potatoes of the game. I'm paid by the hour ($0.00)
### Code Tidying
Lasers are old and a total mess code-wise so we've tidied up while we're
here.
## Why It's Good For The Game
Variety is the spice of life and also some of these weapons could have
used a face lift. Especially the laser carbine. Both functionaltiy wise
and appearance wise.
A bit of randomness in the armory means some rounds might have unique
outcomes compared to others. Sometimes, items in cargo don't see
particularly much use, so peppering in a few random potential deviations
can maybe nudge people to utilize variant gear on future rounds.
I'm obsessed with writing too much information. I blame Hatterhat.
## Changelog
🆑
add: Three variants of the laser gun; Carbine (replacing the existing
one), Pistol and Rifle! Find it (possibly) in your armory today!
balance: The armory laser guns might be different variants of the laser
gun, rather than always being the standard. The standard is the same as
ever, even if it looks different.
add: If you care, the sovl version is available as a goodie. And in the
hands of pirates...
spellcheck: Lore! LORE FOR LASER GUNS! LOOOORE! Examine laser guns
closely and you might learn more about them.
balance: The new set of laser guns come with brand new sprites.
/🆑
---------
Co-authored-by: StaringGasMask <62149527+Exester509@users.noreply.github.com>
## About The Pull Request
- Fixes shears being unable to be stored in the surgery tray
- Adds shears to the debug surgery tray on runtimestation
## Why It's Good For The Game
- Shears can be consistently stored like other surgery tools
- Saves time debugging bodyparts with runtimestation
## Changelog
🆑 LT3
fix: Shears now able to be stored in the surgery tray
/🆑
## About The Pull Request
It works now, I couldn't find what the problem was though.
## Why It's Good For The Game
Fix
## Changelog
🆑
fix: The syndicate rebar crossbow quiver's action button now functions
correctly.
/🆑
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
## About The Pull Request
Not sure what this code was meant to achieve, but just checking total
weight is enough. Also added a safeguard to not drop the item if the
storage container was already overloaded just in case we're in a premade
box (this should never happen in-game otherwise)
Fixes#85658
## Changelog
🆑
fix: Items no longer randomly fall out of bags when changing their size
/🆑
## About The Pull Request
### CMO palette update
Before - after
<img width="533" height="324" alt="image"
src="https://github.com/user-attachments/assets/c8a843a6-875d-4796-8c62-d24dd509147b"
/>
Logical follow up to #93313 and #91902
CMO now has a backpack which matches their teal palette rather than
re-using the medical doctor's blue backpack
CMO now starts with white sneakers instead of blue sneakers
### Garment bag update
Garment bags can hold backpacks, duffels, etc.
However they CANNOT store backpacks which have ANY contents, so no risk
of storage nesting memes here.
### Misc
Removed the defib mount from the CMO's closet
Minor bugfix for being unable to swap storage positions of items which
were instantiated in a storage
## Why It's Good For The Game
- Much like the Paramedic, the CMO has had many cooks which have not
always been on the same page, so this makes their sprite a bit more
coherent.
- Heads with unique packs just tossed them in their closet which is
pretty spammy given we have four variants now. Putting them in the
garment back makes sense.
- Defib mount in CMO's locker hasn't been necessary for a while now that
all treatment centers spawn with defib mounts.
- Bugfix.
## Changelog
🆑 Melbert
image: CMO now has unique backpack/satchel/etc. sprites which matches
their teal palette.
image: CMO spawns with white sneakers instead of blue sneakers.
qol: Garment bags can hold empty backpacks/satchels/etc.
del: Defib mount removed from CMO's locker.
fix: Items stocked in a storage item by default can be
mouse-drag-swapped like any other item.
/🆑