I wanted to touch a backpack sprite and got mad with everything being on the same dmi file sooo...
Creates a dmi for backpacks because we had everything shoved on the same back.dmi or storage.dmi which is a headache to work with.
I tried to standardize the name between backpacks, satchels and duffels and some minor clarity while I was there, stuff like:
securitypack -> backpack-security
satchel-sec -> satchel-security
brokenpack -> bag_of_holding-inert
Also made a new obj icon file for the ethereal backpack, it had it's own file for the mob worn icon so now both icons have their own dmi.
Probably should rename it to "species" if we ever add more species/lore related backpacks but that is a future issue.
I didn't touch the inhand dmis or "standardize" their name, they are well split enough and just to avoid making a zillion changes on the same PR.
I might look into it if this PR is merged.
Restores Mining access to the maintenance door leading to Mining bay
Adds Service access to a maintenance door to the right of abandoned bar and kitchen
Adds a regular maintenance door in Abandoned kitchen/bar maintenance to prevent Service personnel from reaching the Engineering deliveries windoor
Adds more cables and pipes around Arrivals to make it slightly more robust to being sabotaged
Moves the Iron pill in the upload down one tile
Adds a windoor to the ORM
Readds the changeling hivemind, but in a simplified form.
There is no linglinking. It was rarely used and imma be real with you, stupid.
Hivemind isn't an unlocked ability, it is just a default.
Bz still mutes lings
Fallen changelings now get an agonizing message about being locked out. We love fallen changeling flavor
Changelings have their Honorific names back! Hello, Mr. Omnicron!
This does NOT readd changeling team objectives, or really anything encouraging teaming beyond the hivemind itself.
I think antagonists have generally lost a lot of power versus the station, and this is one big way to pump up the heat for this antag in particular. Changelings, given an ability to possibly team up, are much MUCH scarier.
One reason it was removed years ago was because teaming was too often, but back then there were entire gamemodes about changelings having team objectives and many other things to encourage it. I'm bringing us back to a point BEFORE all those design ideas were explored, because I don't think they worked out.
Add information about the changeling hivemind, and the dangers of being turned into a fallen changeling if you get betrayed to the Changeling Antag Info UI
Changelog
add: Changelings once again have reestablished their changeling hivemind, and can secretly communicate between each other.
fix: Fixed up the Changeling UI a bit, like for example some dimmers would never render.
About The Pull Request
Fixes#69043 assemblies not providing a UI when part of a one-tank bomb. (This doesn't count voice analyzers, which don't have UI)
Fixes#68139 assemblies triggering themselves (and often turning themselves off).
Fixes timers ceasing to loop if the timer is set to less than the 3-second anti-spam threshold.
#69335, #68733 signalers occasionally runtiming due to qdel'd weak reference datums. Already addressed by another PR
Proximity sensors and mousetraps work on more wire datums, but proximity sensors are still buggy.
Igniter-sensor pairs can detonate fuel tanks properly, including plumbed fuel tanks. Fuel tank explosions scale with how much fuel is in them; this is slightly nerfed from existing values.
The fuel tank detonation code has been made generic, but other reagent dispensers have rigging turned off. If turned on with a varedit, you can rig and detonate water and other reagent tanks. Reagent tanks can theoretically both explode and spread reagents if it should happen to contain both welding fuel and other stuff. I have not actually tested this part of it, but I have detonated both water tanks and fuel tanks and each works correctly.
In making mousetraps work on wire datums, I had the opportunity to make it so that you could place a mousetrap in a door's wire and it would activate when someone passed through the door (useful to bolt a door open when someone authorized goes through, for example). This is a fun mechanic but does not make sense for a simple mousetrap to be so powerful, so it is disabled. Ideally, you could put the laser tripwire in a door's wires to do the same thing, but that would be a massive rework. Mousetraps still work in on-found mode for all wire datums, and will work on items with wiring datums (like C4 and chem bombs) when stepped on.
The signaler runtimes were a result of weak_ref datums being deleted, and the communications system not handling that. It's probably not ideal to run null checks in the post_signal loop, but I am not going to worry about it.
Many of the assemblies were not properly registering when the assembly holder was attached to an item. This was most important for proximity sensors, but that also has other problems that I haven't been able to track down.
The problem with UI not appearing was a result of the transition to TGUI however long ago that was; the proc that assures TGUI that you have the right item needed to be aware of one-tank bombs and similar, or else when you pass along an interact request it says "but you can't see it" and ignores you.
Why It's Good For The Game
Bugfixen.
The thing with the reagent dispensers only got this complicated when I realized that the plumbed fuel tank variant wasn't a subtype and therefore couldn't be rigged. And then... I basically just scaled it because the flat scale no matter the contents of the tank offended me. You could wrench open tanks, drain them entirely of fuel, rig them, and they would still go off like a pile of dynamite.
I used to have code in my branch that turned chem bombs into variants depending on the trigger, with mousetraps being mines for example. That's honestly the main reason I went out of my way to make mousetraps work better as assemblies. I could wish it were better supported, but mousetraps on grenade wiring will have to do for now.
Changelog
cl
balance: Welding fuel tank explosions have been scaled slightly down and require the fuel tanks to actually be full of welding fuel
fix: You can detonate welding fuel tanks with an igniter-sensor assembly
fix: You can reach your one-tank bomb's assembly controls by activating the item in your hand.
fix: Certain assemblies should no longer turn themselves off.
fix: Clumsy fools handling a mousetrap-based multi-part assembly may set it off by accident
/cl
While playing on Tramstation, I have noticed several errors with the various pipes and utilities. This PR contains the following fixes:
Moved a fire alarm floating above a door one tile lower
Connected fore operation room to plumbing ducts, and connected both surgery rooms to disposals, distro and waste
Connected medbay distro and waste to starboard maintenance
The apothecary had a duplicate medbay sorter instead of chemistry sorter, this is now fixed
Rotated a disposal pipe under the medbay equipment storage room
Fixed two disposals errors in lower port maintenance, so the maintenance loop can once again be traversed
Security Meeting Area and HoS disposals were in a one way area, they can once again flush down trash
messed around with these the other day and got a little annoyed with how they work.
mostly copied existing code from the space heater
Why It's Good For The Game
this should clear things up a bit
Changelog
cl
qol: you can now right click an electrolyzer to toggle it on & off
/cl
Changes the limit of paths to spawn via game panel from a hardcoded 5 to be based on the admin spawn limit.
Why It's Good For The Game
5 is a bit limiting, especially as it's easily possible to spawn more than five types of something in other ways. QOL.
Changelog
cl Melbert
admin: The game panel now lets you make more than five different types of something at once.
/cl
Adds the moffra wing pattern and antennae based off of mothra.
New choices to express yourself is always good and it seems like a fun reference.
cl
imageadd: Adds Moffra wing and antennae sprites
/cl
fuck poster code. whole thing needs a rewrite imo.
Fixes#69954
cl ShizCalev
fix: Wanted/missing posters are no longer broken.
fix: Missing posters no longer change text color after being taken down.
fix: Posters no longer fail to get put up 4 seconds after you walk away while placing them lol
/cl
About The Pull Request
Removes a ton of unused vars
Replaces blood/trash/pests/drawn vars with flags
Adds docs to most remaining vars
Registers cleanbot's on_entered when they get deputized instead of on initialize, removing calling procs uselessly.
Also makes the title only update when they get a new one, also removing useless proc calls.
Reworks how updating titles work so it isn't copy pasting its own code.
Cleanbot stealing names now check for the mind's assigned job, rather than the living's job.
Replaces single letter vars in many areas
Removes two places of checking what targets to scan for, makes use of the generalized scanning proc instead.
Slightly reworks process_scan to return null
Replaces cleanbot's cleaning time with a define
replaces 'initial' weapon force with just initial(weapon.force)
Why It's Good For The Game
Continuing my past work that since I haven't done a bot code improvement PR in a pretty long while, I thought I would try to get back into this with cleanbots, which used to be one of the worst bots but I fixed some major problems in the past already, so it wasn't too bad.
Changelog
cl
refactor: Cleanbots have been entirely reworked, please report any bugs you might find.
/cl
Simply removes the requirement to be conscious to pump your blood with a cursed heart.
Why It's Good For The Game
Entering crit or falling asleep is basically a life sentence since you are unable to pump your blood while asleep. The player still is manually pumping it, I don't see any reason why the user has to be awake for it.
This also means medical can't revive you, as you'll instantly lose all your blood before you have enough time to wake up to start pumping again. The only IC fix would be to remove your heart entirely, something most doctors wouldn't even notice.
Changelog
cl
fix: You can manually pump your blood while asleep/in crit, rather than instantly lose all your blood and die forever.
/cl
This time I'm waiting for a bunch of SQL queries to finish. They, take a while.
Documents everything relevant about the CI process broadly. Intentionally written for someone who isn't familiar with any relevant terminology.
Closes#70169