* RCD directional window qol & wall mount patch. Code improvements (#77858)
## About The Pull Request
Fixes#77852
RCD can build wall mounts on reinforced walls
Closes#77848
Not a fix so labelling this as a qol cause it was always intentional but
now RCD can build directional windows without building a grill first.
Saving some matter units from building a grill is a plus
Added auto doc for some procs & made the extra delay when building
multiple structures into a define
## Changelog
🆑
fix: rcd can build wallmounts on reinforced walls
qol: rcd can build directional windows without requiring/building a
grill
/🆑
* RCD directional window qol & wall mount patch. Code improvements
---------
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
* roundstart scryers now come with the nt frequency (#77957)
## About The Pull Request
fixes#77934
## Why It's Good For The Game
blegh
## Changelog
🆑
fix: roundstart modlink scryers now come with the nt frequency
/🆑
* roundstart scryers now come with the nt frequency
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* QOL improvements to display case chassis (#77785)
## About The Pull Request
Display case chassis now has
Examine Hints
Screentips
Balloon alerts
Also moves wrench deconstruction to wrench_act, removes single-letter
vars, cuts down on copy paste, and makes the electronics drop when
deconstructed.
## Why It's Good For The Game
I am actually bored and looking for things to do.
Someone asked how to build a display case, I didn't even know myself so
I looked up in code how to, and saw features I didn't even know existed.
Thought I might as well make it all visible to players so they can take
full use of them.
## Changelog
🆑
qol: Display case chassis now uses balloon alerts, screentips, examine
hints, etc. Basically, the construction steps are more visible to
players.
/🆑
* QOL improvements to display case chassis
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Makes railings easier to construct, while making them easier to destroy. (#77894)
## About The Pull Request
Changes the cost of railings from 6 metal rods to 2 metal rods.
The time to construct has been reduced from 3.6 to 1 second to be
in-line with the grille.
The health of railings has been reduced from 75 to 25.
Armor of railings have been reduced as well by about 30%.
I'm not positive on whether or not it should cost 1 metal rod or 2. I
decided to play it safe and make it 2. If some maintainer is interested
in making it only cost 1 rod then I will gladly do so- but this was my
compromise.
Also changes decaseconds/ticks to seconds in the rod construction code
to make it look better.
## Why It's Good For The Game
Railings look nice and it's an absolute pain in the ass that they cost 6
metal rods.
They're also currently substantially stronger than grilles for whatever
reason. Grilles have 50 health, while railings have 75.
The armor of railings makes this health of 75 to a whopping effective
health of 150.
Railings shouldn't be stronger than full-tile grilles. They should be
fairly flimsy.
They also shouldn't take a wrench AND wirecutters to deconstruct.
Grilles only take wirecutters and we should mirror that.
## Changelog
🆑
balance: Railings now only cost 2 rods and are much easier to construct.
But they can now be destroyed much easier and cut with wirecutters
without unwrenching.
/🆑
* Makes railings easier to construct, while making them easier to destroy.
---------
Co-authored-by: iwishforducks <65363339+iwishforducks@users.noreply.github.com>
* Fixes RCD'ing lattices in open space (#77895)
## About The Pull Request
If you RCD a lattice with floor/wall mode on icebox, it won't actually
place down the floor because the open space is not "space" - this
switches the check to openspace, allowing you to fix floors on icebox by
clicking on lattices. For some reason this would also cause you to waste
your matter units on this action.
## Why It's Good For The Game
fix good
## Changelog
🆑
fix: You should be able to click on lattices on icebox with the RCD and
construct a floor now
/🆑
* Fixes RCD'ing lattices in open space
---------
Co-authored-by: iwishforducks <65363339+iwishforducks@users.noreply.github.com>
* Grilles take 0-1 damage when shocking something, power sinks are available at lower reputation (#77860)
## About The Pull Request
Ports BeeStation/BeeStation-Hornet#3590. As it is right now, it's
trivial to set up a contraption using a conveyor belt and a shocked
grille to continuously shock monkey bodies. While this is very funny, it
also serves as a ghetto powersink that's hard to locate, easy to
replicate, and lasts effectively forever, since you can just keep
shocking the same bodies over and over again.
This doesn't completely remove the ability to make these, but it makes
them require at least a little maintenance and provides a way for them
to stop working even if the crew isn't able to locate them.
In an attempt to finally get people using the _actual_ powersink,
they'll show up a bit earlier in progression now. I'm not convinced 20
minutes is enough, but I don't want to put them in early enough that it
fucks with Engineering's ability to set things up at round start. We can
turn this down further if need be.
I'm also up for turning the TC requirement down, but 11 feels about
right for what they're supposed to do, so I'd prefer we try this first
and see how that works.
## Why It's Good For The Game
I'm all for goofy weird shit players have found, but there's an issue
with being able to do what an antag item is supposed to do but just
plain better. This shouldn't make creating these impossible or make them
unusable, but it'll require players to actively monitor them if they
want it to run for an extended period.
Additionally, we don't really see powersinks much anymore, and while
that might be more because powernets are kind of buggy and unreliable, I
think making them easier to get will make them show up a little more.
## Changelog
🆑 Vekter
balance: Grilles will now take 0-1 damage every time they shock
something.
balance: Powersinks are now available earlier in traitor progression.
/🆑
---------
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Grilles take 0-1 damage when shocking something, power sinks are available at lower reputation
---------
Co-authored-by: Vekter <TheVekter@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Fixes a 1-in-20 chance RNG CI failure. (#77827)
Fixes RNG CI failure. Insuls became a traitor objective and have to be
created in populate_contents_immediate() instead of PopulateContents()
for closets. Some closets only spawn insuls 5% of the time, so this
slipped past CI and created a new CI failure that randomly does or
doesn't fail.
Moved the offending item over the populate_contents_immediate().
* Fixes a 1-in-20 chance RNG CI failure.
---------
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Mining mob tweaks (#77763)
## About The Pull Request
~~I wanted to do this after #77700 (wow cool numbers) but nobody has
merged it yet despite how simple it is so i'll just hope they don't
conflict.~~ Thanks san
I'm fucking about with mining mobs with the intention of making them
more interesting but not necessarily towards making mining _harder_, but
some of these changes unquestionably have done so.
These changes are mostly in response to feedback about Watchers who are
definitely significantly more threatening than previously, although some
of this is user error.
- Watchers are annoying when traversing lavaland because they use their
ability on you instantly upon acquiring a target, if you are trying to
escape other fauna this quickly becomes deadly.
- A lot of players don't really realise what the overwatch ability is
actually doing and so just complain about getting machine gunned.
- If you _do_ react properly to the ability it still makes fighting them
take a lot longer than it used to.
- The "look away" icon is hard to see in the dark sometimes
To ammeliorate these factors I have:
- Reduced watcher health by ~20%
- Display an alerted graphic over the head of the watcher every time you
trigger the overwatch.
- Multiple watchers now won't overwatch you at the same time (this made
the "penalty" volley essentially become instant death)
- The "look away" icon is rendered above the lighting plane so you can
always see it
- Added a new component which tracks how long a mob has had a specific
target.
- - Watchers will now only Overwatch you if they've seen you for at
least 5 seconds (usually they'll try and shoot at you twice before
this).
- - Goliaths will only tentacle you if they've seen you for at least 3
seconds.
If overwatch is still problematic after this I guess I can just nerf it
to not track movement at all and only respond to attacks.
## Why It's Good For The Game
I don't want to discourage miners from "actually mining" by having them
get sniped just for walking around and the added time-to-kill on these
guys could make clearing tendrils more tedious too.
## Changelog
🆑
balance: Watchers have less health
balance: You can't be overwatched by several watchers at a time
balance: Watchers won't overwatch you instantly upon seeing you
balance: Goliaths won't launch tentacles at you instantly upon seeing
you
/🆑
* Mining mob tweaks
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Miscellaneous fishing code changes. (#77739)
## About The Pull Request
This PR contains a few changes that I hadn't got to do earlier,
including: different pressure / air mixture thresholds for different
fish (if amphibious), fish being able to be fed directly without the
need of an aquarium, replacing the `available_in_random_cases` variable
with a weight define of value 0, the preset fishing sources global list
so we don't have to manually instantiate lazy fishing spots and assign
them stupid string defines, chasm detritus made into datums, a couple
balloon alerts and removal of unused code.
## Why It's Good For The Game
The fishing portal generator UI is unused, the perfect variable for the
fishing minigame is also unused.
There's no reason for chasm detritus to be an item instead of a datum.
It isn't a map spawner.
Chasm chrabs, if given the amphibious trait, should be able to survive
Lavaland/Icemoon's atmosphere.
I don't even know why I made a snowflake proc to instantiate the
evolutions global list instead of `init_subtypes_w_path_keys`
The shiny lover and wary fish traits were actually making the minigame
slightly easier.
The background icons for the UI had a zero-alpha, one pixel thin stripe
on top that needed to be colored.
Improved `fish_source/proc/dispense_reward`.
Some doc comments and a typo or two.
## Changelog
🆑
add: You can now feed fish with the can of fish feed without having to
put the fish in a aquarium first.
balance: Some fish may survive in different, harsher atmospheres if
given the amphibious trait, like chasm chrabs on lavaland.
qol: aquarium now uses balloon alerts when feeding fish.
fix: The wary and shiny lover no longer incorrectly remove difficulty
from the minigame if conditions aren't met.
/🆑
* Miscellaneous fishing code changes.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fix invisible box on rotated multi-tile airlocks (#77736)
## About The Pull Request
Fixes airlock bounding box being incorrect when rotated leading to a
solid, invisible box on the adjacent tile. Icon states match airlock
direction.
## Changelog
🆑 LT3
fix: Rotated multi-tile airlocks display correctly and won't create an
invisible box next to itself
/🆑
* Fix invisible box on rotated multi-tile airlocks
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Fixes cost values of RCDs (#77650)
## About The Pull Request
fixes cost values to be 1:1 of what the construction would have costed
in manual construction for the RCD. also changes all decaseconds to
seconds in code for clarity.
the biggest change is windows, they used to cost more than they needed
for manual construction:
grille - 4mu - 1 iron sheet - 100% efficiency
directional normal window - 6mu - 1 glass sheet - 66% efficiency
directional reinforced window - 9mu - 1 reinforced glass sheet - 66%
efficiency
fulltile normal window - 12mu - 2 glass sheets - 66% efficiency
fulltile reinforced window - 15mu - 2 reinforced glass sheets - 80%
efficiency
this PR fixes all of these to be 100% efficient by lowering their matter
costs, among some other items like racks or reflector frames.
## Why It's Good For The Game
consistency for material costs is good. most of these incorrect material
values are also for things that don't matter, like racks or reflector
frames. also decaseconds are gross looking in code
## Changelog
🆑
fix: Some RCD constructs took more material than manual construction.
The RCD cost should be consistent in comparison to manual construction
now.
/🆑
* Fixes cost values of RCDs
---------
Co-authored-by: iwishforducks <65363339+iwishforducks@users.noreply.github.com>
* MODLink System (+ NWTLMM) (#77639)
## About The Pull Request
A pact made with `@ Kapu1178`
Small changes you should not care about:
RD MODsuit outfit (admin only) no longer has a beret that blocks the
activation of the suit
The beret used by death squad officers no longer is blocked from being
put on a hat stabilizer module
Admins can now Shear matrices of objects in Modify Transform
Multitool buffers have been a little refactored to use a setter proc
that saves them from causing hard dels
Cooler stuff:
A revival and remake of [Nobody Wants To Learn Matrix
Math](https://github.com/tgstation/tgstation/pull/59103), this time with
additional tooling for quick matrix calculations.

The MODLink system, available through every MODsuit and MODLink scryers
(a neck item obtainable from advanced modsuit research or
charliestation)
Let's you make a holographic call with any other MODLink user, where you
can chat in realtime and see what's up with em


## Why It's Good For The Game
Adds a fun way for the crew to communicate with each other that can be
done in real-time with relative privacy compared to radio.
## Changelog
🆑 Fikou, Armhulen, Sheets (+rep for Mothblocks and Potato)
fix: RD MODsuit outfit (admin only) no longer has a beret that blocks
the activation of the suit
fix: The beret used by death squad officers no longer is blocked from
being put on a hat stabilizer module
admin: Admins can now Shear matrices of objects in Modify Transform
admin: Admins now have access to Test Matrices in the VV dropdown, an
all-in-one tool for editing transforms.
add: MODLink system, available through scryers (from RnD and Charlie
Station) and through MODsuits. Lets you call people with holographs!
/🆑
* MODLink System (+ NWTLMM)
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Fixes lavaland beach bartender closets. (#77698)
## About The Pull Request
I subtyped the closets under bar closet as we have no wooden closet
subtype which is stupid, and this may not be the best solution. But hey,
now it's not varedited just in the map.
Fixes https://github.com/tgstation/tgstation/issues/76943.
## Changelog
🆑
fix: fixed lavaland beach bartender closets looking off.
/🆑
* Fixes lavaland beach bartender closets.
---------
Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
* fixes the name of the incline bench press (#77676)
## About The Pull Request
this one dedicated to lukas beedril
## Changelog
🆑
spellcheck: fixes the name of the incline bench press
/🆑
* fixes the name of the incline bench press
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Multi-tile airlock assemblies/pathing [NO GBP] (#77537)
## About The Pull Request
Small fixes after https://github.com/tgstation/tgstation/pull/76732
- Creates base large subtype for mapping
- Door assembly naming consistent with other airlocks
- Base subtype large airlock no longer spawns in a normal sized airlock
- Renames station2 subtype to public for consistency
## Changelog
🆑 LT3
fix: Base large airlock subtype no longer spawns a normal sized airlock
image: Added mapping icons for large airlocks
code: Repathed all public airlocks to consistent naming
/🆑
* Multi-tile airlock assemblies/pathing [NO GBP]
* maps
* Merge remote-tracking branch 'upstream/master' into upstream-merge-77537
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Basic Watchers & Basilisks (#77630)
## About The Pull Request
This one is a double feature because Watchers and Basilisks share the
same typepath. You might see a couple more of those.
As is tradition I decided to fuck with them rather than just port them.
Here's what's up.
**Basilisks**


- Have a new soulless sprite which looks less like a living blue hedge.
- Walk at you and shoot you while you are not in range (just like
before).
- Become supercharged if they become "heated" by lava, lasers, or
temperature weapons. This was a feature they also previously had but
they would never encounter lava, so now it also works if you use the
wrong gun on them.
- Lose their supercharge if you cool them down.
- Otherwise pretty normal mobs.
**Watchers**
https://www.youtube.com/watch?v=kOq_Bf78k5A
Here's a traditional video of me intentionally getting hit by mechanics
(trust me its definitely on purpose)
- They glow emmissively a little bit so you can see them from further
away.
- Their eyes light up about 0.5 seconds before they are able to shoot at
you.
- No longer melee attack, instead try to stay out of melee.
- Will occasionally put you into "Overwatch", meaning they will shoot
you rapidly if you move or act while they're staring at you for a brief
time period (after which you become immune for 12 seconds, and during
which other watchers will play fair and stop shooting at you).
- If they start taking damage they will also start using their "Gaze"
attack, look away or suffer some kind of negative effect!
- - Normal watcher gaze flashes and confuses you.
- - Magmawing watcher gaze obviously burns (and briefly stuns) you.
- - Icewing watcher gaze freezes you and throws you backwards.
- Magnetically attract and eat diamonds. They also used to do this, but
just if they happened to coincidentally walk past some.
**Other accompanying changes**
All basic mobs will now adopt the "stop gliding" trait if they get
slowed down too much.
I moved behaviour for "fire a projectile from this atom" into a helper
proc because I was using it in three places and I will probably use it
in more places. There are probably other places in the existing code
which could be using this.
I think I made the basic mob melee attack forecast default a little more
forgiving, they were fucking me up too much and I am the playtester.
## Why It's Good For The Game
Another one off the list.
New tricks for old dogs.
Framework for making mobs with ranged attacks "fairer" (you can see when
they are ready to shoot you).
More (hopefully) versatile AI behaviours which we will reuse later (I
hope I'm not duplicating one someone already made).
If our players "enjoy" them enough we can give more mobs "don't look at
me" mechanics.
Removes some soul sprites.
## Changelog
🆑
refactor: Basilisks and Watchers now use the basic mob framework. Please
bug report any unusual behaviour.
sprite: Basilisks have new sprites.
add: Basilisks will go into a frenzy if heated by energy weapons or
temperature beams as well as by lava.
add: Watcher eyes will be illuminated briefly when they are ready to
fire at you.
add: Watchers can now briefly put you into "Overwatch" and penalise you
for moving while they can see you.
add: Wounded watchers will occasionally punish players who look at them.
balance: Unusual watcher variants are more likely to appear.
/🆑
* Basic Watchers & Basilisks
* Modular paths
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* More Suits resprites (Bonus: Chef/Bartender updates!) (#77558)
## About The Pull Request
Finally, my ultimate goal:
All Lawyer suits are now under suits.dmi. Having some suits in suits.dmi
and some in civilian.dmi was just really really weird and confusing.
Also updated some more Service stuff, specifically the Chef and
Bartender. Their uniform is the generic Service Buttondown, and their
other gear has been updated. The Bartender, notably, now has a new item,
the bowtie!
Full changelog:
- Adds Bowtie (and yes, it's in relevant vendors)
- Adds a greyscale Formal Jacket (the lawyer jackets but greyscaled)
- Removes `/obj/item/clothing/under/rank/civilian/chef` and
`/obj/item/clothing/under/rank/civilian/bartender`; replaces them with
`/obj/item/clothing/under/costume/buttondown/slacks/service`
- **Moves all Lawyer suit sprites to the suits.dmi**
- Converted `/obj/item/clothing/under/rank/civilian/lawyer/bluesuit` to
use the same GAGS configs as the buttondown (path unchanged)
- Resprited all Lawyer suits (except galaxy ones)
- Resprited the Lawyer jackets to match (including a currently unused
GAGS-palette one)
- Resprited the Chef Apron-Jacket and Hat
- Resprited the Botanist Overalls (and made them Greyscale)
- Updated the shirt on the Cook Jorts to be more up-to-date instead of
being new pants on a super crusty old shirt sprite.
- Puts stuff into vendors
## Why It's Good For The Game
Sprote updates yahoo!
Chef/Bartender showed their age, and essentially had the same uniform.
Now they look much more at home.

GAGS Suit jacket yippee!

This jacket was put into to the Bartender's vendor for the sake of
allowing them their own gimmicks, such as this:

New greyscale overalls wahooo! Since they're greyscaled they're also in
the clothesmate for anybody who really wants them.

The Lawyer suits just used an entirely different type of shading and it
made them stick out weird... I'm not quite sure on reshaping their
jackets but figured it's better to start with this and update them if
requested.

As for moving Lawyer suits to suits.dmi... I just don't like them being
split up. It makes it annoying to prevent duplicates or keep them all
updated.
## Changelog
🆑
add: Added the Bowtie! Bartenders start with one on, but they can also
be found in the Bardrobe, Autodrobe, and Clothesmate. No need to tie it
either, it's just a clip-on.
add: Added a Greyscale "Formal Jacket" of the style that most suits use,
for crew who want to make their own using the buttondown shirt.
del: Removed the generic Cook/Bartender uniforms and changed them to use
the Service buttondown w/ slacks.
image: updated the majority of Lawyer suit sprites, along with the
Cook's Apron-Jacket and Hat, and updated/greyscaled Botany's Overalls!
Also the Overalls are available in the clothesmate, and the Cook Jorts'
shirt is less crusty.
/🆑
* More Suits resprites (Bonus: Chef/Bartender updates!)
* Modular path changes/removals
* Modular adjustments: removing deleted sprites, creating digi sprites for overalls and purple bartender resprite, removing greyscale overalls
* Fix grayscale configs
* Update misc.dm
* Moves icons to new location
* Update civilian.dm
* I hate all of this so very much.
* Update civilian.dm
* Update loadout_datum_suit.dm
---------
Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* prevents welding bodybags or at least the text (#77606)
## About The Pull Request
sets canweld = false
## Why It's Good For The Game
fixes#77596
## Changelog
🆑
fix: removes bodybag welding tooltip
/🆑
Co-authored-by: oilysnake <63020759+oilysnake@ users.noreply.github.com>
* prevents welding bodybags or at least the text
---------
Co-authored-by: DeerJesus <willgiscool@gmail.com>
Co-authored-by: oilysnake <63020759+oilysnake@ users.noreply.github.com>
* basic ice whelps (#77493)
## About The Pull Request
i have refactored ice whelps into basic mobs. They are now the artistic
sort as theyll mark their territory by seeking out icy rocks and carve
out statues of theirselves using their claws to serve as a warning to
players/animals that this is dragon turf and theyll also go out of their
way to burn any trees in vicinity just for the hell of it. they are now
gruesome cannibals if they find a corpse of one of their kin near them
theyll go eat it for nurishment. AS for combat, they have a new ability
which allows them to release fire in all directions however theyll only
use this ability once their enraged meter is full. to make it fair ive
given them a new component which allows them to telegraph abilities and
only do them after a delay so players can react in time for it.
## Why It's Good For The Game
basic mob refactor
## Changelog
🆑
refactor: ice whelps have been refactored to basic mobs
add: ice whelps have a new dangerous ability which theyll use once their
enraged meter is full
/🆑
* basic ice whelps
* Modular paths
---------
Co-authored-by: SMOSMOSMOSMOSMO <95004236+SmoSmoSmoSmok@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Ports LETPASSCLICKS from Daedalus Dock (#77568)
## About The Pull Request
A deal with @ Fikou
- https://github.com/DaedalusDock/daedalusdock/pull/106
In layman's terms, you can grab this wrench now.

Adds a new pass_flags_self value for click transparency, allowing
objects to be dense without blocking click attempts.
## Why It's Good For The Game
## Changelog
🆑
add: Lockers, crates, and machines no longer block click attempts in
adjacency checks. Basically, you can reach tables cornered between
lockers/machines.
/🆑
* Ports LETPASSCLICKS from Daedalus Dock
---------
Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
* Adds rolling up sleeves to the greyscale buttondown, adds greyscale suitskirt, minor buttondown resprite (#77404)
## About The Pull Request
I noticed some recent PRs were replacing some suits with the buttondown
+ slacks, which isn't a terrible idea, but these changes also removed
the suitskirt variants of these, as well as the buttondown not
supporting rolling up its sleeves
and more subjectively, I _really_ don't like the horizontal line on the
buttondown, makes you look fat, don't like it
so I decided to remedy these issues myself
<details>
<summary> Screenshots </summary>
Service suitskirt

Rolled up sleeves

Rolled up sleeves sidesprite

</details>
The skirt itself is a slightly modified version of the skirt from the
greyscale skirtleneck
I had to put it in the shorts_pants_shirts.dmi files for greyscale
config reasons, not sure if everything is named correctly or necessarily
in the right place here
## Why It's Good For The Game
Re-adding the removed suitskirts is more objectively a good thing, the
resprite is more subjective but honestly I was mostly motivated to make
this by my hatred for how the buttondown looked before so lol
I also noticed a minor bug that was implemented when the old black suit
was replaced with a variant of the slacks
## Changelog
🆑
add: Added greyscale suitskirt, available in clothesmates
add: You can now roll up the sleeves of greyscale buttondown shirts
qol: Re-added previously removed black suitskirt and the RD's tan
suitskirt, as pre-colored variants of the above
fix: Fixed only one buttondown with slacks being available in
clothesmates
image: Slightly adjusted greyscale buttondown sprite, you look less fat
now!
/🆑
* Adds rolling up sleeves to the greyscale buttondown, adds greyscale suitskirt, minor buttondown resprite
* Adds the new clothing to loadouts
* Modular icons
* Removing some bloat from a previous pr while we are at it
---------
Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* make the hive bot a basic bot (#77274)
## About The Pull Request
i make the hivebot a basic bot also the old hivebot simple bot he was
chaneged apperence when he finded a target so i maked a new element to
allowed this behavier so now when the basic finded a target he apperence
can also changed and this elememt can be gived to another basic monsters
so they can changed apperence when they found a target. i give him new
behaviers now the hivebot will look for ech other and when he finded ech
other they will comunicated with binyary messages and now the mechanic
hivebot he will go to look for broked machines so he can repair him
## Why It's Good For The Game
the hivebot is a basic and he have a better behaver
## Changelog
🆑
refactor: the hivebot is now a basic please report any bugs
/🆑
---------
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* make the hive bot a basic bot
* Update salvagepost.dmm
---------
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Allows for some locs to have spells cast while inside, such as PAI cards (for PAIs), AI cards (for AIs), and mechas (#77418)
## About The Pull Request
Spiritual successor to #76716
- Some spells can now be cast while the mob is within the contents of
certain atoms.
- PAIs can now cast if within a PAI card
- AIs can now cast if within an AI card
- People within vehicles (mechas and cars) can now cast their spells
- Repulse and Knock now have unique interactions for being cast within a
locker
## Why It's Good For The Game
Carlac's PR gave me an idea for how to tackle this in a relatively clean
way so I went ahead and adapted the suggestion to something that works
for the cast chain.
This isn't perfect, some spells will need to be updated, but they can be
done piecemeal.
This is something that, IN THEORY, should have already been wholesale
supported by the spell refactor - any atom you pass into the cast chain
should "just work ™️ ", either rejecting if it fails the valid target
check or doing the spell effects as if the atom passed was the caster.
## Changelog
🆑 Melbert
add: PAIs can now cast wizard spells should they have any.
add: AIs located in intellicards can now cast wizard spells should they
have any.
add: Some spells, such as AoE or conjure spells, are now castable from
within Mechas or Clown Cars. To varying degrees of success.
add: Knock will now unlock and open closets you are hiding within.
add: Repulse will now throw open closets you are hiding within.
/🆑
* Allows for some locs to have spells cast while inside, such as PAI cards (for PAIs), AI cards (for AIs), and mechas
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* 'Mirrors now display your reflection' Redux. (#77202)
## About The Pull Request
This is a revamp of #62638, which is in turn a remake of #49833, a
whooping 3 years old PR, that adds one component to the game, used by
mirrors, to do what it reads on the title. Thanks ChungusGamer for
reminding me about it.
This time with vampires not being shown in mirrors.
## Why It's Good For The Game
I'm going to post the old screenshots here since I've forgot to take
some during the latests tests, while I was busy cussing about a tiny
little detail I couldn't achieve (see the documentation on the component
path so I don't have to be verbose about it). They look more or less the
same, except the visuals look a little less cropped now, ergo
nicer-looking:

and here another from the previous attempt at PRing this:

## Changelog
🆑
image: Mirrors now display a reflection of the mobs next to them...
except for vampires.
/🆑
* 'Mirrors now display your reflection' Redux.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* [no gbp] Fixes runtimes in shuttle event and shuttle cling (#77343)
Fixes no-candidate runtime from pick() on an empty list
Fixes spawning null movables if run out of mobs to spawn
Fixes shuttle cling qdeling on Initialize due to lattices not counting
as hyperspace
🆑
runtime: Fixes runtimes in shuttle event and shuttle cling code
/🆑
---------
Co-authored-by: Jacquerel <hnevard@ gmail.com>
* [no gbp] Fixes runtimes in shuttle event and shuttle cling
---------
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
* Updates all the icons in under/suits.dmi and related sorting/cleanup (#76865)
Somebody was pointing out how our suits varied WILDLY in quality
Figured I'd go through and tidy them up
* Updates all the icons in under/suits.dmi and related sorting/cleanup
* Rename Amish suit, remove scratch suit (was removed upstream)
* Fixes a rogue path
---------
Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Signs Font Consistency + Extra (#77134)
## About The Pull Request
Someone asked me on discord to make a couple signs, in the same style as
the current ones. Looked through them, found them bit inconsistant,
fixed that, mainly the font. Made six-latter signs a thing, also. And
also while I was at it, added the thing I got cooking for wallening
which is waysigns with stair icons, showcasing on what floor things are.
plenty useful for some multi-z maps.

## Why It's Good For The Game
Consistent font doesn't bother the mind as much, additional signs were
requested of me, and the cross z-level waysigns are just useful for
mappers and players alike.
## Changelog
🆑
add: Added couple new signs to the game (med, medbay, morgue, chapel,
viro, gene, botany)
add: Way-signs now have additional states, showing vertical directions.
image: Made the font on the signs consistant.
/🆑
* Signs Font Consistency + Extra
---------
Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
* Bluespace bodybags no longer delete xenomorphs when folded (#77240)
## About The Pull Request
`perform_fold()` was failing and eating up xenomorphs because during a
dwarf check for adjusting bag's total capacity it would flop, as they
are carbons, but they don't have DNA. this fixes that
## Why It's Good For The Game
fixes#66634
## Changelog
🆑
fix: fixed bluespace bodybags consuming xenomorphs when folded
/🆑
* Bluespace bodybags no longer delete xenomorphs when folded
---------
Co-authored-by: Sealed101 <cool.bullseye@yandex.ru>
* Improves the RPG loot wizard event. (#77218)
## About The Pull Request
As the title says. Adds a bunch more stat changes to various different
items and a somewhat simple way of modifying them whilst minimizing
side-effects as much as possible.
Added a new negative curse of polymorph suffix that can randomly
polymorph you once you pick up the item.
Curse of hunger items won't start on items that are not on a turf.
Curse of polymorph will only activate when equipped.
Bodyparts, two-handed melees, bags, guns and grenades, to name a few,
have a bunch of type-specific stat changes depending on their quality.
Some items won't gain fantasy suffixes during the RPG loot event, like
stacks, chairs and paper, to make gamifying the stats a bit harder.
I'm sure there'll still be other ways to game the event, but it's not
that big of a deal since these are the easiest ways to game it.
High level items also have a cool unusual effect aura
## Why It's Good For The Game
Makes the RPG item event cooler. Right now, it's a bit lame since
everything only gains force value and wound bonus on attack. This makes
the statistic increases more type-based and make it interesting to use
It's okay for some items to be powerful since this is a wizard event and
a very impactful one too. By making the curse of hunger items not spawn
on people, it'll also make it a less painful event too.
## Changelog
🆑
add: Expanded the RPG loot wizard event by giving various different
items their own statistic boost.
/🆑
---------
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
* Improves the RPG loot wizard event.
---------
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
* Implements usage of the REVERSE_DIR macro throughout the code. (#77122)
## About The Pull Request
Replaces a ton of `turn(dir, 180)` calls with the aforementioned macro.
## Why It's Good For The Game
Afaik, `REVERSE_DIR` was coded to be faster than the classic `turn(dir,
180)` call, being a simple set of binary operations. To sum it up, micro
optimization.
## Changelog
N/A
* Implements usage of the REVERSE_DIR macro throughout the code.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Makes transparent curtains not block emissives (#77151)
## About The Pull Request
What is says on the tin. The base curtain type is partially transparent
and should let light through. It's a small detail but I think it makes a
difference.
## Why It's Good For The Game
What it looks like (seen with a character wearing a safety vest behind
the curtains):

## Changelog
🆑
fix: non-opaque curtains will no longer block emissives
/🆑
* Makes transparent curtains not block emissives
---------
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>