* Fixes some stupid airlock sleeps
* Fixes the conflicts before checking the merge conflicts
* Converts another wires = to set_wires() and removes another issue
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Adds wound armor to ALL jumpsuits that were missing it (#75956)
## About The Pull Request
Adds wound armor to ALL jumpsuits that were missing it.
Every jumpsuit, by default, has 5 wound armor. However, because for some
godforsaken reason armor datums don't use subtypes (seriously, the
fuck?), the vast majority of jumpsuits weren't updated to have anything
in case they overrode the base armor.
This includes critical oversights such as any nonstandard jumpsuit meant
to be armored (Tracksuits, turtlenecks, admin suit, tgmc suit). This is
especially critical a problem on nuclear operatives, who face a lot of
combat every round and need that wound armor.
Any nonstandard jumpsuit that also protects from departmental hazards
doesn't recieve the wound armor, this is seemingly reasonable with, say,
medical jumpsuits, but starts to get weird when it includes engineering,
botany, the RD, CMO, and CE..
Plasmaman envirosuits also don't by default. This may or may not be on
purpose but I added it on them just in case.
Armored jumpsuits that didn't have the wound resistance now have 10,
instead of the base 5, since they're meant to be, well, armored. This
might also make durathread useful for something (lol, as if)
## Why It's Good For The Game
Consistency. It's very inconsistent that 'wound' armor randomly pops in
and out of places ingame. It requires you to think like a space whale to
figure out what's the Best Combat Uniform rather than picking what
SHOULD be the right choices.
## Changelog
🆑
fix: Adds wound armor to ALL jumpsuits that were missing it
/🆑
* Adds wound armor to ALL jumpsuits that were missing it
---------
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
* Atmos MODsuits now have quick carry module pre installed. (#76180)
#72736 added the firefighter gloves to atmos techs which lets them quick
carry wounded people faster.
Firefighting RP is fun, so this PR just gives the quick carry module to
the Atmos MODsuit. Now they don't miss on the best part of the job!!!
* Atmos MODsuits now have quick carry module pre installed.
---------
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
* Expanding the Experimental MODsuit Bepis Node with three new modules. (#75801)
## About The Pull Request
So, I've had this idea to make a contribution to the Bepis feature with
some modsuit stuff. The gimmicky stuff is ok and a good way to even out
the better content since it has game of chance design it has (you can
find those disks in space anyway so...). However, the Experimental
MODsuit node feels very underwhelming right now, compared to how big
that feature is.
This PR adds three MOD modules to the Experimental MODsuit node, plus
two more:
- Magneto Charger: While the Modsuit is activated, each step the user
takes will charge the installed power cell by a tiny bit, enough to
sustain a standard modsuit of generic slow speed with only a few, easy
modules installed. It won't work in zero G, while flying, pulled by
someone else, on a conveyor belt, riding a vehicle or crawling on the
floor, though.
- Recycler: It collects (most) garbage and casings off the ground and
recycles them into material sheets that can be dispensed on an adjacent
location or storage with with Middle Mouse Button. Doesn't clean debris,
and scuffed because most trash doesn't yield material anyway.
- - It also has two subtypes, unbound from the node: one that dispenses
riot foam darts and can be found on the black market, and another that
dispenses the more innocuous foam darts, rarely found in maints.
- Shooting Assistant: A configurable module. On Stormtrooper mode, it
will give the user a faster fire rate (the double tap trait) at the cost
of accuracy. On Sharpshooter mode, it will improve the user accuracy and
make their shots ricochet against walls at least once (if the hit atom
allows that, that is, e.g. lasers don't ricochet against iron walls), at
the cost of movement speed. Both modes also prevent the user from dual
wielding guns.
To make the Stormtrooper mode stackable with the poor aim quirk and
refrain from making a new trait for the sharpshooter mode, the gun
spread code in gun.dm has also received a little refactor and cleanup.
Also, it's been tested.
## Why It's Good For The Game
The Experimental MODsuit node is quite shabby and could use something
extra to make it more appealing to MODsuit enjoyers.
Also doubles down as a small addition to the black market and maint
loot, and code cleanup, since gun code gives off some garbled vibes.
## Changelog
🆑
add: Expanded the Experimental MODsuit Bepis node with three new
modules: Magneto Charger, Recycler and Shooting Assistant.
add: Added a Riot Foam Recycler module to the black market, as well a
more innocuous version as maint loot.
/🆑
* Expanding the Experimental MODsuit Bepis Node with three new modules.
* update modular, I hate this file btw
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* The Debug and Admin MODsuits now take a lot less time to (de)activate. (#76261)
## About The Pull Request
Read the title. An equivalent 'activation_step_time' variable has been
added to the mod theme datum to accomplish that.
## Why It's Good For The Game
Why do we have to wait over 10 seconds for a debug suit to activate or
deactivate on top of everything else that comes with coding,
programming, bugfixing etc? It now takes about 2 seconds to do so, which
should be enough to notice the effects of modules such as the springlock
anyway. The admin one takes 0.5 seconds, as it's by all means a better
debug suit.
## Changelog
🆑
admin: The Debug and Admin MODsuits now take a lot less time to
(de)activate. 2 and 0.5 seconds respectively, compared to the default of
10s.
/🆑
---------
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* The Debug and Admin MODsuits now take a lot less time to (de)activate.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Stops shields getting broken by pillows and disablers. (#75759)
## About The Pull Request
See the title. Doing so by adding a new arg for damage type to
`check_shields()` and `hit_reaction()`. The other way would had involved
a couple istype checks for item or projectile damage type, but this is a
longer term solution and can tackle more than just that.
## Why It's Good For The Game
Fixes#74876.
## Changelog
🆑
fix: Stops shields getting broken by pillows and disablers.
/🆑
* Stops shields getting broken by pillows and disablers.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Makes syndi-mod in Tactical NukeOps Metagame Syndi-kit unrestricted with access. (#75696)
## About The Pull Request
Basically someone forgot to make it unrestricted or add agent's card to
the kit so it would be usable when mods were added.
## Why It's Good For The Game
1 more thing that works as intended?
## Changelog
🆑
fix: Syndicate mod-suit in Tactical NukeOps Metagame Syndi-kit (the one
with bulldog shotgun) now doesn't require any access, so you don't need
to buy agent card to simply use it.
/🆑
* Makes syndi-mod in Tactical NukeOps Metagame Syndi-kit unrestricted with access.
---------
Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
Lowers the cooldown from 25 seconds to 15 seconds
Lowers the power drain from 25 to 20
Sonar visuals now move for the duration of their existence (see below)
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
* Experiment with replacing weakrefs in AI blackboard with deleting signals, ideally making it easier to work with and harder to cause hard deletes (#74791)
## About The Pull Request
Replaces weakref usage in AI blackboards with deleting signals
All blackboard var setting must go through setters rather than directly
## Why It's Good For The Game
This both makes it a ton easier to develop AI for, and also makes it
harder for hard deletes to sneak in, as has been seen with recent 515
prs showing hard deletes in AI blackboards
(To quantify "making it easier to develop AI", I found multiple bugs in
existing AI code due to the usage of weakrefs.)
I'm looking for `@ Jacquerel` `@ tralezab` 's opinions on the matter, also
maybe `@ LemonInTheDark` if they're interested
## Changelog
🆑 Melbert
refactor: Mob ai refactored once again
/🆑
* Experiment with replacing weakrefs in AI blackboard with deleting signals, ideally making it easier to work with and harder to cause hard deletes
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Audio File Cleanup (#74863)
## About The Pull Request
Removes a bunch of sound files that we don't use and moves some sound
files into better locations. I'm hoping to get an archive repo for
sounds going, much like the
[map_depot](https://github.com/tgstation/map_depot) and
[SS13-sprites](https://github.com/tgstation/SS13-sprites).
EDIT: The old sound files are being moved here:
https://github.com/tgstation/SS13-sounds
Also increased the volume of the clownana rustle sound and clipped off
some dead air from shockwave_explosion
## Why It's Good For The Game
Removes a total of 1.95MB worth of unused sound files from the codebase.
## Changelog
🆑 Tattle
soundadd: increased the volume of the clownana rustle
/🆑
---------
Co-authored-by: tattle <article.disaster@ gmail.com>
* Audio File Cleanup
* Fixes the missing sound files ;)
---------
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* death squad officer outfit works (#74734)
## About The Pull Request
makes the death squad officer modsuit use the hat stabilizer module to
wear the beret simultaenously with the suit
## Why It's Good For The Game
it was an outfit that spawned you in a not working suit
## Changelog
🆑
fix: death squad officer outfit works
/🆑
* death squad officer outfit works
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Allows PKAs to be attached to mining MODsuits (#74601)
## About The Pull Request
like the title says, this PR allows miners to attach their funny little
proto-kinetic accelerator to their hard-earned modsuit
## Why It's Good For The Game
this is probably an oversight, but if not, it's a really weird design
choice. if you can attach a crusher to it, there's no reason you
wouldn't be able to attach a PKA. a very dumb inconvenience imo
## Changelog
🆑
balance: PKAs can now be attached to mining MODsuits.
/🆑
* Allows PKAs to be attached to mining MODsuits
---------
Co-authored-by: Vile Beggar <edmir995@gmail.com>
* Restores Spell Card targetting behaviour (#73706)
## About The Pull Request
Fixes#52946
This has been broken ever since #44112 which apparently removed the proc
in this component which selected a target for performance reasons and
just... didn't replace it with anything else? So it's been bricked ever
since.
In order to restore the removed mouse tracking behaviour I implemented
the pattern used in scoped weapons and the kinesis module. As this was
the third thing I could find to use this code, I abstracted it out into
an object where most of the shared behaviour lives. I tested those
things too and they still seem to do what they used to.
Here it is in action:
https://user-images.githubusercontent.com/7483112/221954852-22244bb1-7c87-452d-a9b0-ebed81c4c1ef.mp4
Because this spell now applies a full screen overlay in order to
function, it's really begging for someone to make some touhou-style art
with cards and patterns around the edge of the screen while you are in
aiming mode, but I'm not going to be the one to make it.
I tidied this component up and refactored it as best I could while I was
reworking it to use a full screen overlay but I am... not totally
confident that it should be a component at all given that it keeps being
created and destroyed. But also it has worked that way for like four
years now, so who am I to say.
Oh yeah also the icon for this spell broke, so I fixed it.
## Why It's Good For The Game
Makes a reasonably terrible wizard spell marginally less bad.
Maybe now that this component works, some other things can use it?
If we make a fourth thing which follows your cursor it won't need to
copy/paste code around.
## Changelog
🆑
fix: Spell Cards from the Wizard spell will now home in somewhat on the
target nearest to your cursor.
fix: The Spell Cards spell now displays the correct icon instead of a
big red "error" text.
/🆑
* Restores Spell Card targetting behaviour
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Return to Tiny: Reworks heights to use filters, allows spacemen to have varying heights (#72344)
Re-pr of #66644 with some changes to get it working

- [x] ~~Huds get cut off~~ Resolved
- [x] ~~Very tall helmets get cut off~~ Resolved
- [x] Hair gets cut off
- [x] ~~Needs optimization before releasing to the world as a pref~~ jk
lol
Look at that fella so cute
🆑 Melbert, That REALLY Good Soda Flavor, FatFat, AndreyGusev
add: Spacemen can now have varying height. (Admin only for now)
add: Dwarfs are now slightly shorter, but look way better.
/🆑
Co-authored-by: Jack LeCroy <3073035+jacklecroy@users.noreply.github.com>
* fix conflict
* clarity
* update rouny
* update screenshots
* Revert "update screenshots"
This reverts commit a5427a5238e574869fe364568b7f043bbd287c79.
* Fixes the dwarf screenshot.
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Jack LeCroy <3073035+jacklecroy@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Fix a merge skew on armor datums (#72909)
And also add a check grep to find it in the future
* fix linters
* damn youuuu
---------
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
* worn overlays proc sends a signal (#73101)
what the title says, it sends the list of overlays to be edited and some
other stuff
makes modsuits use this
* worn overlays proc sends a signal
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Adds maintenance tablet apps (Health analyzer is one now too) (#71738)
About The Pull Request
Sprites were generously made by https://github.com/Tramzz
This was a branch I've been putting off for months because my hatred for tablet apps brought me to removing computer parts, tablets, and ntnet, however I've now returned (after a lot more procrastination).
Adds Maintenance tablet applications to the game, so far there's only three of them, for proof of concept;
The health analyzer app (the chem analyzer part is removed entirely) move away from being given to medical/geneticists/detectives/RD.
There is on exception, which is the CMO, who gets to have the application on their tablet roundstart. Maybe it could be given to their role disk as well?
A camera application:
image
image
MODsuit control application:
image
image
image
Maintenance applications stand out from normal tablet apps because they can't be downloaded off the App store, and instead can only be found in maintenance, with a one-use download, cloning the application from a disk to a computer, or vice versa, will delete the old one, meaning you can only have one application at once.
Why It's Good For The Game
This is more as a proof of concept for maintenance applications, but I also think that the analyzer application wasn't really that good as an app, you should either use a health analyzer or the wand in front of medbay, you shouldn't just have one in your tablet at all times because it makes it lame if your analyzer is stolen.
Changelog
cl JohnFulpWillard, sprites by Tramzz
add: Added Maintenance tablet applications, applications that can't be cloned or downloaded from the store, instead you can find one app in maintenance.
balance: The Analyzer tablet application is also a maintenance tablet application now.
/cl
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Add lints for idiomatic balloon alert usage (#72280)
Adds lints for `balloon_alert(span_xxx(...))` (which is always wrong),
and balloon alert where the first letter is a capital (which is usually
wrong). Fixes everything that failed them. As a reminder, abbreviations
like "AI" and "GPS" shouldn't be capitalized in a balloon alert.
In cases where this is intentional for flavor (there was one case), you
can `UNLINT` like so:
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
AI actions won't unassign each other's movement targets & Mice stop being scared of people if fed cheese (#72130)
## About The Pull Request
Fixes#72116
I've had a persistent issue with basic mob actions reporting this error
and think I finally cracked it
When replanning with `AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION` it can run
`Setup` on one action leading to the plan changing, meaning that it runs
`finishCommand` to cancel all other existing commands
If you triggered a replan by setting up a movement action in the middle
of another movement action, cancelling the existing action would remove
the target already set by the current one.
We want actions to be able to remove _their own_ movement target but not
if it has been changed by something else in the intervening time.
I fixed this by passing a source every time you set a movement target
and adding a proc which only clears it if you are the source... but this
feels kind of ugly. I couldn't think of anything but if you have a
better idea let me know.
Also while I was doing this I turned it into a feature because I'm
crazy.
If you feed a mouse cheese by hand it will stop being scared of humans
and so will any other mice it attracts from eating more cheese. This is
mostly because I think industrial mouse farming to pass cargo bounties
is funny.
Mice controlled by a Regal Rat lose this behaviour and forget any past
loyalties they may have had.
https://user-images.githubusercontent.com/7483112/208779368-3bd1da0f-4191-4405-86e5-b55a58c2cd00.mp4
Oh also I removed a block about cancelling if you have another target
from the "hunt" behaviour, everywhere using this already achieves that
simply by ordering the actions in expected priority order and it was
messing with how I expected mice to work.
Now if they happen to stop by some cheese they will correctly stop
fleeing in order to eat it before continuing to run away.
## Why It's Good For The Game
Fixes a bug I kept running into.
Makes it possible to set up a mouse farm without them screaming
constantly.
Lets people more easily domesticate mice to support Ratatouille
gameplay.
## Changelog
🆑
add: Mice who are fed cheese by hand will accept humans as friends, at
least until reminded otherwise by their rightful lord.
fix: Fixed a runtime preventing mice from acting correctly when trying
to flee and also eat cheese at the same time.
/🆑
Co-authored-by: Jacquerel <hnevard@gmail.com>
* adds more default pins for prebuilt modsuits (#72427)
## About The Pull Request
makes magboots autopin
adds autopin to unique ert modules and to the admin suit
**if you have any module that should be autopinned but isnt say in the
comments**
## Why It's Good For The Game
cool
## Changelog
🆑
qol: makes modsuits with magboots have those pinned by default, pins
active modules on the admin suit, mining suit and the additional module
of the ert suits
/🆑
* adds more default pins for prebuilt modsuits
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* some modsuits now have some modules pinned by default (#72258)
## About The Pull Request
cleans up some modsuit code i dont like about their modules
removes mod theme blacklists, they are unused and weve not needed them
at all so far
adds support for premade suits to have modules they pin by default
the default pins currently are:
advanced suit: jetpack
loader suit: clamp, magnet, hydraulic arms
mining suit: sphere transformation
safeguard suit: jetpack
magnate suit: advanced jetpack
traitor suit: armor booster, jetpack
elite traitor suit: armor booster, advanced jetpack
nukie suit: armor booster, advanced jetpack
elite nukie suit: armor booster, advanced jetpack
spetsnaz pyro suit: armor booster, advanced jetpack, flamethrower
prototype suit: tether, kinesis
apocryphal suit: jetpack
chrono suit: timestopper, rewinder, timeline jumper, kinesis plus,
timeline eradication
ninja suit: advanced stealth, star dispenser, emp pulse, weapon recall,
adrenaline boost, energy net
## Why It's Good For The Game
quickens some stuff up
## Changelog
🆑
qol: some modsuits now have some modules pinned by default
/🆑
* some modsuits now have some modules pinned by default
* SR modsuits
* word
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
* Changes the missing food icon test to cover ALL /obj's
* Update implant.dm
* Hopefully fixes all the failing integration tests!
* Fixes more missing icons
* Even more icon fixes
* Hopefully that was all of them
* Okay now SURELY that's all of them
* I'm tired of this shit man
* Hopefully that's all, for real this time!
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Minor plane cube cleanup (#72038)
## About The Pull Request
[Fixes area lighting not working on turf change in multiz
cases](7b92deffbc)
If you modify a area lit turf when using multiz, it'd end up using the
wrong plane for its light, because of stupid shit on my part.
Stupid shit resolved
[Fixes some uses of plane masters that only specified one rather then
all](a59ec96d29)
We almost never only want to show SOME hidden planes.
Should really make a helper for this someday
* Minor plane cube cleanup
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Fixes pinned module modsuit icons (#71857)
- `item_action/New` is where it item actions generate an icon based on
the target if the icon is null. Pinned modules set up the icon **after**
the parent call, so it went through to New, generated the icon, and THEN
set its own icon.
- Simply moves the icon setup to before the parent call to resolve this.
- Also removes some copy and paste code.
Icons look good

🆑 Melbert
fix: Corrects the look of pinned modules
/🆑
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* initial test
* continued cleanup
* hide mutant part refactor
* slight oopsie
* ux
* more ux
* even more ux
* mask
* mod stuff
* almost done with the code
* 🤠
* fixes
* time for art
* fixes
* forgor
* optimize
* more optimizing
* better rendering
* hardlight tex
* another tex
* file name change
* oopsie with the names
* better colors
* transparency edit
* Revert "transparency edit"
This reverts commit 2c8700ec64e469283d685003997e1413fc4a2bce.
* technically TM ready
* review
thank you!
* small
* test
* Revert "test"
This reverts commit 6abda60fc3a82a19a43e323371afff0dd6cccc16.
* the lizard incident
* Revert "the lizard incident"
This reverts commit 5951a3b0eb324a73538f9ca95ef5caeedd10e0cf.
* updates the liz screenshot cuz apparently i fixed something
* art done
* is_hidden ear fix
* write it better
* extra streamlining
* adds two more mod_themes
* a fix and texture tweak