3591 individual conflicts
Update build.js
Update install_node.sh
Update byond.js
oh my fucking god
hat
slow
huh
holy shit
we all fall down
2 more I missed
2900 individual conflicts
2700 Individual conflicts
replaces yarn file with tg version, bumping us down to 2200-ish
Down to 2000 individual conflicts
140 down
mmm
aaaaaaaaaaaaaaaaaaa
not yt
575
soon
900 individual conflicts
600 individual conflicts, 121 file conflicts
im not okay
160 across 19 files
29 in 4 files
0 conflicts, compiletime fix time
some minor incap stuff
missed ticks
weird dupe definition stuff
missed ticks 2
incap fixes
undefs and pie fix
Radio update and some extra minor stuff
returns a single override
no more dupe definitions, 175 compiletime errors
Unticked file fix
sound and emote stuff
honk and more radio stuff
## About The Pull Request
this is a revival of #82635 . i got permission from potato to reopen
this, he did almost all the work. i only just solved the conflicts and
fixed all the bugs that were preventing the original from being merged
(but it should be TMed first)
## Why It's Good For The Game
slightly improves the performance of basic mob AI
## Changelog
🆑
LemonInTheDark
refactor: able_to_run and incapacitated have been refactored to be event
based
/🆑
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: ZephyrTFA <matthew@tfaluc.com>
* [NO GBP] Fixing Clarke's ore box the proper way (#85954)
## About The Pull Request
#85924 did it in a bad way, but I was too hasty and merged it anyway, so
it's on my shoulders to rectify that.
## Why It's Good For The Game
Code guidelines compliance.
## Changelog
N/A
* [NO GBP] Fixing Clarke's ore box the proper way
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
#85924 did it in a bad way, but I was too hasty and merged it anyway, so
it's on my shoulders to rectify that.
## Why It's Good For The Game
Code guidelines compliance.
## Changelog
N/A
## About The Pull Request
Currently to check for Silicon access, we do:
``if is silicon or is admin ghost or has unlimited silicon privileges or
has machine remote in hand``
What has unlimited silicon privileges? Bots, Drones, and admin ghosts.
To check for AI access, it just checks for AI instead of silicon, and
doesnt check for unlimited silicon privileges.
This was kinda silly, so I thought I should make this a little easier to
understand.
Now all silicon/ai traits come from ``AI_ACCESS_TRAIT`` or
``SILICON_ACCESS_TRAIT``. I made a single exception to keep Admin ghost,
since now instead of being a var on the client, we moved it to using the
same trait but giving it to the client instead, but since we have to
keep parity with previous functionality (admins can spawn in and not
have this on, it only works while as a ghost), I kept previous checks as
well.
No more type checks, removes a silly var on the mob level and another on
the client.
Now while I was doing this, I found a lot of tgui's ``ui_act`` still
uses ``usr`` and the wrong args, so I fixed those wherever I saw them,
and used a mass replace for the args.
Other changes:
- machinery's ``ui_act`` from
https://github.com/tgstation/tgstation/pull/81250 had ``isAI`` replaced
with ``HAS_AI_ACCESS``, this has been reverted. Machine wands and admin
ghosts no longer get kicked off things not on cameras. This was my
fault, I overlooked this when adding Human AI.
- Human AI's wand gives AI control as long as it's in your hand, you can
swap to your offhand. I hope this doesn't end up going horribly,
otherwise I'll revert this part. It should let human AIs not have their
UI closed on them when swapping to eat food or use their door wand or
whatnot.
- Bots previously had special checks to scan reagents and be
unobservant, I replaced this with giving them the trait. I also fixed an
instance of unobservant not being used, so now statues don't affect the
basic creature, whatever that is.
## Why It's Good For The Game
This is an easier to understand way of handling silicon access and makes
these mobs more consistent between eachother.
Other than what I've mentioned above, this should have no impact on
gameplay itself.
## Changelog
🆑
fix: Statues don't count as eyes to creatures.
fix: Human AIs and Admin ghosts no longer get kicked off of machines
that aren't on cameranets.
/🆑
## About The Pull Request
Radios/encryption keys now use a `RADIO_SPECIAL_XXXXX` bitflag for
behaviors related to "special" radio channels (Binary, Centcom, Syndie).
I decided to do this because I wanted to add a radio channel for pirates
and hunters (hence the branch name), but it felt weird adding two more
variables. The more I look at the changes I've made here the more I
realize that the effort was probably not worth the utility but whatever.
This also subtypes some varedited intercoms and makes them their own
objects.
## Why It's Good For The Game
Compresses a whopping three (3!) variables into a single one. Easier to
scale (I guess?). I felt like adding a fourth/fifth variable and just
moving on with the original project, but decided "lets do this the
unnecessarily hard way instead".
## Changelog
🆑 Rhials
code: Radios/encryption keys now use a single variable for "special"
frequencies. Please report if you experience any strangeness with
accessing/being unable to access the Centcom, Syndicate, or Cyborg
radio.
/🆑
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes Clarke ore box breaking upon collecting boulders (#85924)
## About The Pull Request
Ever since Clarkes could pick up boulders they've been broken if you
ever collected one. The UI would break and all your precious minerals
would be trapped inside the Clarke, only being obtainable if you broke
the Clarke itself.
This also updates the Clarke Storage to differentiate by ore name rather
than icon, as otherwise the lower quality boulders would be mixed with
normal boulders with no way to differentiate them in the UI.
## Why It's Good For The Game
Fixes https://github.com/tgstation/tgstation/issues/84364
Before:
<details>
<summary>Before</summary>
https://github.com/user-attachments/assets/f90daf35-733a-42bd-8af5-7e6712f09fba
</details>
<details>
<summary>After</summary>
https://github.com/user-attachments/assets/4510803c-6dee-403e-a051-966a8a66c17c
</details>
## Changelog
🆑 TwistedSilicon
fix: Clarkes will no longer become unable to dump ores upon picking a
boulder up. Mine away.
/🆑
* Fixes Clarke ore box breaking upon collecting boulders
---------
Co-authored-by: TwistedCicrularConvexLens <106436013+TwistedCicrularConvexLens@users.noreply.github.com>
## About The Pull Request
Ever since Clarkes could pick up boulders they've been broken if you
ever collected one. The UI would break and all your precious minerals
would be trapped inside the Clarke, only being obtainable if you broke
the Clarke itself.
This also updates the Clarke Storage to differentiate by ore name rather
than icon, as otherwise the lower quality boulders would be mixed with
normal boulders with no way to differentiate them in the UI.
## Why It's Good For The Game
Fixes https://github.com/tgstation/tgstation/issues/84364
Before:
<details>
<summary>Before</summary>
https://github.com/user-attachments/assets/f90daf35-733a-42bd-8af5-7e6712f09fba
</details>
<details>
<summary>After</summary>
https://github.com/user-attachments/assets/4510803c-6dee-403e-a051-966a8a66c17c
</details>
## Changelog
🆑 TwistedSilicon
fix: Clarkes will no longer become unable to dump ores upon picking a
boulder up. Mine away.
/🆑
* Adds attack_dir to multiple common damage sources, fixes mechs' directional armor (#85726)
## About The Pull Request
Closes#81260Closes#74022
Currently mechs are the only atoms utilizing attack_dir but I added it
in multiple other places that were missing it to ensure that if
something else uses it it won't break in those scenarios
## Changelog
🆑
fix: Mechs' directional armor now actually works
/🆑
* Adds attack_dir to multiple common damage sources, fixes mechs' directional armor
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
## About The Pull Request
Closes#81260Closes#74022
Currently mechs are the only atoms utilizing attack_dir but I added it
in multiple other places that were missing it to ensure that if
something else uses it it won't break in those scenarios
## Changelog
🆑
fix: Mechs' directional armor now actually works
/🆑
* Hydraulic clamps can force doors open again (#85514)
## About The Pull Request
What the title says. This behavior seems to have been removed by
accident in a previous PR, so I just put it back. Fixes#85506
## Why It's Good For The Game
Bugs are bad.
## Changelog
🆑
fix: Hydraulic clamps (the mech tool) can force powered doors open
again.
/🆑
* Hydraulic clamps can force doors open again
---------
Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com>
* Retextured Durand's shield, fixed power drain and UI (#85718)
## About The Pull Request

Closes#84419
Durand drained ten times the default cell capacity per tick due to power
changes, and UI for some reason multiplied the cell charge by a
thousand, confusing the players. Also minor cleanup.
## Why It's Good For The Game
Super dated sprite that doesn't really fit the modern durand
## Changelog
🆑
image: Durand shield got a glowup
fix: Durand shield no longer instantly drains its battery
fix: Mech UI no longer lies about the amount of power your mech has left
/🆑
* Retextured Durand's shield, fixed power drain and UI
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
## About The Pull Request
What the title says. This behavior seems to have been removed by
accident in a previous PR, so I just put it back. Fixes#85506
## Why It's Good For The Game
Bugs are bad.
## Changelog
🆑
fix: Hydraulic clamps (the mech tool) can force powered doors open
again.
/🆑
## About The Pull Request

Closes#84419
Durand drained ten times the default cell capacity per tick due to power
changes, and UI for some reason multiplied the cell charge by a
thousand, confusing the players. Also minor cleanup.
## Why It's Good For The Game
Super dated sprite that doesn't really fit the modern durand
## Changelog
🆑
image: Durand shield got a glowup
fix: Durand shield no longer instantly drains its battery
fix: Mech UI no longer lies about the amount of power your mech has left
/🆑
## What's going on here
Kept you waitin huh!
This pr resprites most all walls, windows and other "wall adjacent"
things to a 3/4th perspective, technical term is "tall" walls (we are
very smart).
If you're trying to understand the technical details here, much of the
"rendering tech" is built off the idea of split-vis. Basically, split a
sprite up and render it on adjacent turfs, to prevent seeing "through"
walls/doors, and to support seeing "edges" without actually seeing the
atom itself.
Most of the rest of it is pipelining done to accommodate how icons are
cut.
## Path To Merge
Almost* all sprites and code is done at this point.
There are some things missing both on and off the bounty list, but that
will be the case forever unless we force upstream (you guys) to stop
adding new shit that doesn't fit the style.
I plan on accepting and integrating prs to the current working repo
<https://github.com/wall-nerds/wallening> up until a merge, to make
contribution simpler and allow things like bounties to close out more
easily
This pr is quite bulky, even stripping away map changes it's maybe 7000
LOC (We have a few maps that were modified with UpdatePaths, I am also
tentatively pring our test map, for future use.)
This may inhibit proper review, although that is part of why I am
willing to make it despite my perfectionism. Apologies in advance.
Due to the perspective shift, a lot of mapping work is going to need to
be done at some point. This comes in varying levels of priority. Many
wallmounts are offset by hand, some are stuck in the wall/basically
cannot be placed on the east/west/north edges of walls (posters), some
just don't look great good in their current position.
Tests are currently a minor bit yorked, I thought it was more important
to get this up then to clean them fully.
## What does it look like?






## Credits
<details>
<summary>Historical Mumbojumbo</summary>
I am gonna do my best to document how this project came to be. I am
operating off third party info and half remembered details, so if I'm
wrong please yell at me.
This project started sometime in late 2020, as a product of Rohesie
trying to integrate and make easier work from Mojave Sun (A recently
defunct fallout server) with /tg/.
Mojave Sun (Apparently this was LITERALLY JUST infrared baron, that man
is insane) was working with tall walls, IE walls that are 48px tall
instead of the normal 32. This was I THINK done based off a technical
prototype from aao7 proving A it was possible and B it didn't look like
dogwater.
This alongside oranges begging the art team for 3/4th walls (he meant
TGMC style) lead to Rohesie bringing on contributors from general /tg/,
including actionninja who would eventually take over as technical lead
and Kryson, who would define /tg/'s version of the artstyle. Much of the
formative aspects of this project are their work.
The project was coming along pretty well for a few months, but ran into
serious technical issues with `SIDE_MAP`, a byond map_format that allows
for simpler 3/4th rendering.
Due to BULLSHIT I will not detail here, the map format caused issues
both at random with flickering and heavily with multiz.
Concurrent with this, action stepped down after hacking out the
rendering tech and starting work on an icon cutter that would allow for
simpler icon generation, leaving ninjanomnom to manage the project.
Some time passed, and the project stalled out due to the technical
issues. Eventually I built a test case for the issues we had with
`SIDE_MAP` and convinced lummox jr (byond's developer) to explain how
the fuckin thing actually worked. This understanding made the project
theoretically possible, but did not resolve the problems with multi-z.
Resolving those required a full rework of how rendering like, worked. I
(alongside tattle) took over project development from ninjanomnom at
this time, and started work on Plane Cube (#69115), which when finished
would finally make the project technically feasible.
The time between then and now has been slow, progressive work. Many many
artists and technical folks have dumped their time into this (as you can
see from the credits). I will get into this more below but I would like
to explicitly thank (in no particular order) tattle, draco, arcanemusic,
actionninja, imaginos, viro and kylerace for keeping the project alive
in this time period. I would have curled up into a ball and died if I
had to do this all myself, your help has been indispensable.
</details>
<details>
<summary>Detailed Credits</summary>
Deep apologies if I have forgotten someone (I am sure I have, if someone
is you please contact me). I've done my best to collate from the git
log/my memory.
Thanks to (In no particular order):
Raccoff: Being funny to bully, creating threshold decals for airlocks
aa07: (I think) inspiring the project
ActionNinja: Laying the technical rock we build off, supporting me
despite byond trying to kill him, building the icon cutter that makes
this possible
ArcaneMusic: Artistic and technical work spanning from the project's
start to literally today, being a constant of motivation and positivity.
I can't list all the stuff he's done
Armhulen: Key rendering work (he's the reason thindows render right), an
upbeat personality and a kick in the ass. Love you arm
Azlan: Damn cool sprites, consistently
Ben10Omintrix: You know ben showed up just to make basic mobs work, he's
just fuckin like that man
BigBimmer: A large amount of bounty work, alongside just like, throwing
shit around. An absolute joy to work with
Capsandi: Plaques, blastdoors, artistic work early on
CapybaraExtravagante: Rendering work on wall frames
Draco: SO MUCH STUFF. Much of the spritework done over the past two
years is his, constantly engaged and will take on anything. I would have
given up if not for you
Floyd: Early rendering work, so early I don't even know the details.
Enjoy freedom brother
Imaginos16: A guiding hand through the middle years, handled much of the
sprite review and contribution for a good bit there
Iamgoofball: A dedication to detail and aesthetic goals, spends a lot of
effort dissecting feedback with a focus on making things as good as they
can be at the jump
Infrared: Part of the impetus for the project, made all the xenomorph
stuff in the MS style
Jacquerel: A bunch of little upkeep/technical things, has done so much
sprite gruntwork (WHY ARE THERE SO MANY PAINTING TYPES)
Justice12354: Solved a bunch of error sprites (and worked out how to
actually make prs to the project) Thanks bro!
Kryson: Built the artstyle of the project, carrying on for years even
when it was technically dying, only stopping to casually beat cancer. So
much of our style and art is Kryson
KylerAce: Handled annoying technical stuff for me, built window frame
logic and fully got rid of grilles.
LemonInTheDark: Rendering dirtywork, project management and just so much
fucking time in dreammaker editing sprites
Meyhazah: Table buttons, brass windows and alll the old style doors
Mothblocks: Has provided constant support, gave me a deadline and
motivation, erased worries about "it not being done", gave just SO much
money to fill in the critical holes in sprites. Thanks moth
MTandi: Contributed art despite his own blackjack and hookers club
opening right down the road, I'm sorry I rolled over some of your
sprites man I wish we had finished earlier
Ninjanomnomnom: Consulted on gags issues, kept things alive through some
truly shit times
oranges: This is his fault
Rohesie: Organized the effort, did much of the initial like, proof of
concept stuff. I hope you're doin well whatever you're up to.
san7890: Consulting on mapper UX/design problems, being my pet mapper
Senefi: Offsetting items with a focus on detail/the more unused
canidates
SimplyLogan: Detailed map work and mapper feedback, personally very kind
even if we end up talking past each other sometimes. Thank you!
SpaceSmithers: Just like, random mapping support out of nowhere, and
bein a straight up cool dude
Tattle: A bunch of misc project management stuff, organizing the
discord, managing the test server, dealing with all the mapping bullshit
for me, being my backup in case of bus. I know you think you didn't do
much but your presence and work have been a great help
Thunder12345: Came out of nowhere and just so much of the random
bounties, I'm kind of upset about how much we paid him
Time-Green: I hooked him in by fucking with stuff he made and now he's
just doin shit, thanks for helping out man!
Twaticus: Provided artistic feedback and authority for my poor feeble
coder brain, believed in the project for YEARS, was a constant source of
❤️ and affirmation
unit0016: I have no god damn idea who she is, popped out of nowhere on
the github one day and dealt with a bunch of annoying
rendering/refactoring. Godspeed random furry thank you for all your
effort and issue reports
Viro: A bunch of detailed spriting moving towards 3/4ths, both on and
off the wallening fork. If anyone believed this project would be done,
it was viro
Wallem: Artistic review and consultation, was my go-to guy for a long
time when the other two spritetainers were inactive
Waltermeldon: Cracked out a bunch of rendering work, he's the reason
windows look like not dogwater. Alongside floyd and action spent a TON
of time speaking to lummox/unearthing how byond rendering worked trying
to make this thing happen
ZephyrTFA: Added directional airlock helpers, dealt with a big fuckin
bugaboo that was living in my brain like it was nothing. Love you
brother
And finally:
The Mojave Sun development team. They provided a testbed for the idea,
committed hundreds and hundreds of hours to the artstyle, and were a
large reason we caught issues early enough to meaningfully deal with
them. Your work is a testament to what longterm effort and deep detailed
care produce. I hope you're doing well whatever you're up to. Go out
with a bang!
</details>
## Changelog
🆑 Raccoff, aa07, ActionNinja, ArcaneMusic, Armhulen, Azlan,
Ben10Omintrix, BigBimmer, Capsandi, CapybaraExtravagante, Draco, Floyd,
Iamgoofball, Imaginos16, Infrared, Jacquerel, Justice12354, Kryson,
KylerAce, LemonInTheDark, Meyhazah, Mothblocks, MTandi, Ninjanomnom,
oranges, Rohesie, Runi-c, san7890, Senefi, SimplyLogan, SomeAngryMiner,
SpaceSmithers, Tattle, Thunder12345, Time-Green, Twaticus, unit0016,
Viro, Waltermeldon, ZephyrTFA with thanks to the Mojave Sun team!
add: Resprites or offsets almost all "tall" objects in the game to match
a 3/4ths perspective
add: Bunch of rendering mumbo jumbo to make said 3/4ths perspective work
/🆑
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: = <stewartareid@outlook.com>
Co-authored-by: Capsandi <dansullycc@gmail.com>
Co-authored-by: ArcaneMusic <hero12290@aol.com>
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: SomeAngryMiner <53237389+SomeAngryMiner@users.noreply.github.com>
Co-authored-by: KylerAce <kylerlumpkin1@gmail.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Runi-c <5150427+Runi-c@users.noreply.github.com>
Co-authored-by: Roryl-c <5150427+Roryl-c@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@gmail.com>
Co-authored-by: Senefi <20830349+Peliex@users.noreply.github.com>
Co-authored-by: Justice <42555530+Justice12354@users.noreply.github.com>
Co-authored-by: BluBerry016 <50649185+unit0016@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com>
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: Rob Bailey <github@criticalaction.net>
Co-authored-by: MMMiracles <lolaccount1@hotmail.com>
## About The Pull Request
Doubletapping (potentially) expensive procs is bad, etc etc. Reverse of
void storm fiasco.
## Changelog
🆑
code: Removed multiple cases of unnecessary updatehealth
/🆑
## About The Pull Request
Doubletapping (potentially) expensive procs is bad, etc etc. Reverse of
void storm fiasco.
## Changelog
🆑
code: Removed multiple cases of unnecessary updatehealth
/🆑
* Fixes AI Mech Control GBJing the AI (#85354)
## About The Pull Request
So when an AI entered a mech it wasnt considered an occupant it was just
there, so it didnt get controls or UI or anything (cuz the
add_control_flags proc only gives the controls to mobs in the occupants
list) it was just there stuck unable to move or do anything really. I
put this proc in so the AI can do stuff now.
I dunno if this is cleanest of fixes but it's 5am and in my testing it
makes it go from not working to working so I'm claiming it is good
enough (tm)
I cant really convey how it works in image form so I will go over the
steps I did to implement this fix:
On master, mess about with AI dominating mechs or controlling mechs with
a beacon. See how none of the AI buttons appear, WASD stops moving the
camera around. The mouse changes to the correct mech style but nothing
else works.
Call a bunch of procs on the AI to see what does something, add_occupant
with the AI marked as the only argument works and makes everything
function as intended.
Tell the code to do that.
## Why It's Good For The Game
I don't like mechs but I know some people do so it's cool for those
people that it works :)
## Changelog
🆑
fix: AI mech control beacons and malf AI dominate mech work again.
/🆑
* Fixes AI Mech Control GBJing the AI
---------
Co-authored-by: Jackraxxus <60418544+Jackraxxus@users.noreply.github.com>
* Fix justice design and mecha melee attack to other mechs. (#85403)
## About The Pull Request
Fix justice design deleting and breaks when RnD server updates new
designs.
Also fix that mech can't attack any vehicles like other mechs.
## Changelog
🆑
fix: Justice design no longer disappears
fix: Mechs can attack other mechs in melee
/🆑
* Fix justice design and mecha melee attack to other mechs.
---------
Co-authored-by: Xackii <120736708+Xackii@users.noreply.github.com>
* RD can emag mech fabricator(like roboticist). (#85404)
## About The Pull Request
Mech fabricator now can be emaged by user who have cyborg skillchip(that
one that show cyborg wires).
RD and roboticist have this skillchip.
## Why It's Good For The Game
RD is like roboticist, but better.
## Changelog
🆑
add: RD can emag mech fabricator(like roboticist).
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
* RD can emag mech fabricator(like roboticist).
---------
Co-authored-by: Xackii <120736708+Xackii@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
## About The Pull Request
The charge indicator overlay on power cells is now properly updated when
the cell is charged/discharged. Before, you could use a power cell until
it's empty and the overlay wouldn't change at all.
## Why It's Good For The Game
The overlay is there to indicate the charge of the cell. It should work.
## Changelog
🆑
fix: The charge indicators on power cells now work properly.
code: Removed some now redundant power cell appearance updates
/🆑
---------
Co-authored-by: jimmyl <70376633+mc-oofert@ users.noreply.github.com>
## About The Pull Request
So when an AI entered a mech it wasnt considered an occupant it was just
there, so it didnt get controls or UI or anything (cuz the
add_control_flags proc only gives the controls to mobs in the occupants
list) it was just there stuck unable to move or do anything really. I
put this proc in so the AI can do stuff now.
I dunno if this is cleanest of fixes but it's 5am and in my testing it
makes it go from not working to working so I'm claiming it is good
enough (tm)
I cant really convey how it works in image form so I will go over the
steps I did to implement this fix:
On master, mess about with AI dominating mechs or controlling mechs with
a beacon. See how none of the AI buttons appear, WASD stops moving the
camera around. The mouse changes to the correct mech style but nothing
else works.
Call a bunch of procs on the AI to see what does something, add_occupant
with the AI marked as the only argument works and makes everything
function as intended.
Tell the code to do that.
## Why It's Good For The Game
I don't like mechs but I know some people do so it's cool for those
people that it works :)
## Changelog
🆑
fix: AI mech control beacons and malf AI dominate mech work again.
/🆑
## About The Pull Request
Fix justice design deleting and breaks when RnD server updates new
designs.
Also fix that mech can't attack any vehicles like other mechs.
## Changelog
🆑
fix: Justice design no longer disappears
fix: Mechs can attack other mechs in melee
/🆑
## About The Pull Request
The charge indicator overlay on power cells is now properly updated when
the cell is charged/discharged. Before, you could use a power cell until
it's empty and the overlay wouldn't change at all.
## Why It's Good For The Game
The overlay is there to indicate the charge of the cell. It should work.
## Changelog
🆑
fix: The charge indicators on power cells now work properly.
code: Removed some now redundant power cell appearance updates
/🆑
---------
Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
## About The Pull Request
Mech fabricator now can be emaged by user who have cyborg skillchip(that
one that show cyborg wires).
RD and roboticist have this skillchip.
## Why It's Good For The Game
RD is like roboticist, but better.
## Changelog
🆑
add: RD can emag mech fabricator(like roboticist).
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* [NO GBP] You can no longer tear peoples arms off with non-killer clamps (#85333)
## About The Pull Request
I fucked up when fixing up the code. Oops
## Changelog
🆑
fix: You can no longer tear peoples arms off with non-killer clamps
/🆑
* [NO GBP] You can no longer tear peoples arms off with non-killer clamps
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
* VIM no longer requires hands to enter (#85310)
## About The Pull Request
Closes#85223
Still kinda hard to exit though :3
## Changelog
🆑
fix: VIM no longer requires hands to enter
/🆑
* VIM no longer requires hands to enter
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
## About The Pull Request
I fucked up when fixing up the code. Oops
## Changelog
🆑
fix: You can no longer tear peoples arms off with non-killer clamps
/🆑
* Justice invisibility now turns off by the safety (#85272)
## About The Pull Request
Small change to make justice invisibility turn off when the safety is
turned on. Because you could bypass safety check on it by basically
turning off mecha safety and turning it on after it went to
invicibility.
## Why It's Good For The Game
Now everything works as supposed.
## Changelog
🆑
fix: now Justice invisibility turns off in non combat mode as it
supposed to
/🆑
* Justice invisibility now turns off by the safety
---------
Co-authored-by: Axidy <76065506+Axidyuwu@users.noreply.github.com>
## About The Pull Request
Small change to make justice invisibility turn off when the safety is
turned on. Because you could bypass safety check on it by basically
turning off mecha safety and turning it on after it went to
invicibility.
## Why It's Good For The Game
Now everything works as supposed.
## Changelog
🆑
fix: now Justice invisibility turns off in non combat mode as it
supposed to
/🆑
[MIRROR] HUD traits now apply their corresponding hud automatically. Most clothing/item/etc sources of HUDs now only use traits [MDB IGNORE] (#3861)
* HUD traits now apply their corresponding hud automatically. Most clothing/item/etc sources of HUDs now only use traits (#84984)
Currently if you want to apply a HUD you usually add both its trait and
the HUD itself. Only exceptions are things like simplemobs where you
should avoid adding the hud trait since it adds security/med DB access
and such, but there is no cases where you'd want to apply the trait and
not apply the hud.
Requested by Melbert about a week ago.

This makes working with HUDs significantly easier, as you no longer have
to bother with manually adding/removing them. Also potentially removes
an edge case where if your hud could get removed while keeping the
trait.
🆑
refactor: HUD traits now apply their corresponding hud automatically
/🆑
* Modular changes
* rest of the modular stuff
* no bot path hud actually
standard diag glasses don't give this, for some reason
---------
Co-authored-by: NovaBot <154629622+NovaBot13@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Mal <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Fluffles <piecopresident@gmail.com>
* Fixed janicart not transfering items into the trash bag (#85218)
## About The Pull Request
It was trying to put items into a trash bag that doesn't have
`CAN_BE_HIT` flag with an `attackby`.
It now works for both the vacuum insert and the manual one.
Fixes#84653
## Why It's Good For The Game
Bug fix.
## Changelog
🆑
fix: Janicart inserts items into the attached trash bag again (manual
and vacuumed)
/🆑
* Fixed janicart not transfering items into the trash bag
---------
Co-authored-by: Andrew <mt.forspam@gmail.com>
## About The Pull Request
It was trying to put items into a trash bag that doesn't have
`CAN_BE_HIT` flag with an `attackby`.
It now works for both the vacuum insert and the manual one.
Fixes#84653
## Why It's Good For The Game
Bug fix.
## Changelog
🆑
fix: Janicart inserts items into the attached trash bag again (manual
and vacuumed)
/🆑
* Mechs no longer bypass armor or deal direct limb damage. Cleans up drill code, fixes its armor calc and makes oreboxes work on clarke. (#85067)
## About The Pull Request
Changes direct limb damage to apply_damage and added armor checks (MELEE
for brute/fire, BIO for toxin) to mechs
Cleans up drill code a bit and made sure that it checks armor on correct
bodypart (previously it could take armor from a completely different
bodypart)
## Why It's Good For The Game
Direct limb damage does not activate any armor effects, comsigs, etc
which causes issues. Any effects that should've occured on damage being
taken also do not trigger. Mechs completely bypassing armor is highly
nonintuitive, you'd expect your admin suit to actually protect you from
having your skull bashed in by a Mauler.
And drill taking armor from incorrect bodypart is just silly.
## Changelog
🆑
balance: Mechs now take armor into consideration when calculating punch
damage
fix: Mechs no longer deal direct limb damage
fix: Drills automatically pick up ore on non-ripley mechs now without
having to move
fix: Drills no longer dismember people immune to melee damage
fix: Drills now take armor from correct bodyparts when attacking
code: Cleaned up one-letter variables in mech drill code
/🆑
* Mechs no longer bypass armor or deal direct limb damage. Cleans up drill code, fixes its armor calc and makes oreboxes work on clarke.
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
## About The Pull Request
Kill clamp tries to squeeze carbons on RMB except LMB/RMB are now
responsible for left/right arm equipment, making it only work on right
arm. So, now kill clamp always dismembers if possible - doing a normal
attack otherwise (funny text had to be sacrificed for it)
Additionally, leans up clamp action() code, added early returns and
removed one-letter variables. Ensures that parent calls (for cooldown
and comsigs) are called where appropriate (clamp achieved some effect)
and changed it so clamped objects are no longer set to their initial
anchored value (FALSE instead, as the object has to be unanchored for
the clamp to be able to affect it) since that would anchor a lot of
things upon failing to pick them up.
Closes#67580
## Changelog
🆑
code: Cleaned up clamp code.
fix: Clamp no longer anchors down some objects upon failing to pick them
up
fix: Deathsquad KILL CLAMP finally works once more
/🆑
## About The Pull Request
Changes direct limb damage to apply_damage and added armor checks (MELEE
for brute/fire, BIO for toxin) to mechs
Cleans up drill code a bit and made sure that it checks armor on correct
bodypart (previously it could take armor from a completely different
bodypart)
## Why It's Good For The Game
Direct limb damage does not activate any armor effects, comsigs, etc
which causes issues. Any effects that should've occured on damage being
taken also do not trigger. Mechs completely bypassing armor is highly
nonintuitive, you'd expect your admin suit to actually protect you from
having your skull bashed in by a Mauler.
And drill taking armor from incorrect bodypart is just silly.
## Changelog
🆑
balance: Mechs now take armor into consideration when calculating punch
damage
fix: Mechs no longer deal direct limb damage
fix: Drills automatically pick up ore on non-ripley mechs now without
having to move
fix: Drills no longer dismember people immune to melee damage
fix: Drills now take armor from correct bodyparts when attacking
code: Cleaned up one-letter variables in mech drill code
/🆑
* HONK mech now waddles (#85152)
## About The Pull Request
How the ffffffuck didn't it waddle befoerhand
## Why It's Good For The Game
It's essential. Clowns need waddling to survive
## Changelog
🆑
fix: HONK mech now waddles
/🆑
* HONK mech now waddles
---------
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
## About The Pull Request
How the ffffffuck didn't it waddle befoerhand
## Why It's Good For The Game
It's essential. Clowns need waddling to survive
## Changelog
🆑
fix: HONK mech now waddles
/🆑
* Fixed a signal reg error caused by add_occupant being called twice (#85072)
## About The Pull Request
Parent proc in the chain already calls add_occupant, resulting in
signals being assigned twice which threw an error
## Changelog
🆑
fix: Fixed a signal reg error caused by add_occupant being called twice
/🆑
* Fixed a signal reg error caused by add_occupant being called twice
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
## About The Pull Request
Parent proc in the chain already calls add_occupant, resulting in
signals being assigned twice which threw an error
## Changelog
🆑
fix: Fixed a signal reg error caused by add_occupant being called twice
/🆑