## About The Pull Request
Title.
This new button allows you to change your character entirely, using
either your or the targets character slots. Basically a pocket SAD. You
can target anyone in view, including yourself.
## Why It's Good For The Game
Saucy shit. Seriously though, like, all the TF stuff we have ingame
kinda sucks. Having the ability to just on demand transform someone into
whatever you want it kinda awesome.
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>
https://github.com/user-attachments/assets/91654b75-0f99-44d2-b8af-ba0a14bdb625
The dying bit just happens with slimes cause they have no heart, cant
think of a fix
</details>
## Changelog
🆑
fix: SAD can now remove organs, such as a taur body, or breasts
add: A new polymorph mode: Character, which allows you to switch your
character at your whim
/🆑
## About The Pull Request
Title.
## Why It's Good For The Game
Consistancy, for one. As it stands, polymorph completely breaks your
colors in a way the SAD can't even fix (wow). This prevents that, while
making it far more predictable.
Also, I can't think of a good reason polymorph doesn't let you change
your color.
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>
<img width="949" height="621" alt="image"
src="https://github.com/user-attachments/assets/ead25cc8-fbbd-4306-8b0a-828e5b61f63d"
/>
</details>
## Changelog
🆑
qol: Polymorph/Shapeshift now takes from your pref's colors when making
a new part
add: Polymorph can now let you change your general colors
/🆑
## About The Pull Request
Make sure our `attack_hand_secondary` overrides are calling parents and
respecting cancel returns from higher up in the call stack, also make
sure the overrides themselves are returning a `SECONDARY_ATTACK_` define
## Why It's Good For The Game
Cleanup and runtime prevention
## Proof Of Testing
Naw
## Changelog
No
## About The Pull Request
Data was being sent to `e` instead of `value`, also changed it so it
will autofill with your current examine text because it apparently
didn't have that already
## Why It's Good For The Game
Fixes#3966
## Proof Of Testing
Tested on a local
## Changelog
🆑
fix: fixed being unable to edit NIF examine text
/🆑
## About The Pull Request
Moves the 'Enter soulcatcher' verb to the IC tab, because TG eliminated
the Ghost tab
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>

</details>
## Changelog
🆑 LT3
fix: Enter soulcatcher is now on the IC stat panel tab
/🆑
## About The Pull Request
`modular_persistence.json` on player saves holds the path of any NIFs
they have installed and ended the round with, but when we refactored
`/obj/item/organ/internal` to just be `/obj/item/organ` these save files
weren't updated, meaning people lost their NIFs and now we get runtime
errors when an affected person joins the game. This code will check
their save on load and update the path appropriately (which will then be
written to the file at round end)
## Why It's Good For The Game
They lost NIFs due to a bug
## Proof Of Testing
I can't really do pictures for this but I got a save file that had
invalid NIFs installed and used it to test locally and it worked, also
tested save files without NIFs and clients that don't have a
`modular_persistence.json` at all, no runtimes
## Changelog
🆑
fix: characters who had their NIFs disappear a few months ago should
have them back now
/🆑
* Death of mutant bodyparts AND external organs (#85137)
Removes mutant bodyparts and external organs from the game completely
Digitgrade behaviour was mutant bodypart for no reason
Cat ears now work with the bodyparts overlay system, same as all the
other external organs (since all their behaviour is now just on /organ
It doesn't remove all the /external types, but moves all behaviour to
/organ. I'll follow up with a PR wiping all the /external organ types,
but it's just conflict heaven so not this PR
I've also streamlined a lot of duplicate/weird species regeneration code
Melbert did the same PR as well but due to a lack of time (?) I have
absorbed his PR to double nuke mutant bodyparts
Frees us from the chain of unmodular code, and kills my greatest nemesis
(after the shuttle meteor murder bug)
🆑 Time-Green and MrMelbert
Refactor: External organ behaviour has been moved to /organ, ears now
use the same system as the other organs
Refactor: Mutant bodyparts are dead! This likely does not mean much to
the average person but it's very dear to me
code: Improves digitgrade handling in preference code
/🆑
I have absorbed #85126, using Melberts code to improve and add some
missing changes. Mainly improving the functioning of preferences and
digitgrade legs. I didn't take over the hairstyle improvements.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes missing felinid ear preference (#86553)
Closes#86452🆑
fix: Fixed missing felinid ear preference
/🆑
* Spelling Fixes (#86056)
Fixes several errors to spelling, grammar, and punctuation.
Improves readability and user experience.
🆑
spellcheck: fixed a few typos
/🆑
* Fix plasmamen having all feature preferences (#86682)
Fixes#86622
Plasmamen relevant_external_organ is null, and it then checks if
relevant_external_organ is in a list containing nulls
I cleared the nulls from get_mut_organs to fix it
🆑
fix: Fixes plasmamen having all external organ species preferences
/🆑
* Fixes cat ear layering, makes getFlatIcon account for RESET_COLOR on under/overlays (#86757)
After the external organ removal pr, cat ears stopped being as weirdly
specialcased, and instead just used a `/datum/bodypart_overlay/mutant`
subtype. However, this was set up in a way where the inner ears were put
on a different layer from the outer ears, leading to wonky layering.
In this pr, we revert their layers and instead apply the inner ears as
an overlay onto the base ears, fixing this.
Thank you Melbert for the idea. o7
Additionally, as this pr tripped the screenshot tests, makes the
`getFlatIcon(...)` proc account for `RESET_COLOR` on under/overlays.
We do this by making it stop applying the colour after merging all the
under/overlays, and instead apply it and the parent color _before_
merging any under/overlays, while proxying the parent color as a new
parameter `parentcolor` to any new `getFlatIcon(...)` calls.
This coincidentally also fixes usage of `getFlatIcon(...)` on husked
bodies, as those also used `RESET_COLOR` for their blood overlay. The
screenshot tests had to be updated for this.
Fixes#86453.
🆑
fix: Fixed cat ears not layering properly.
fix: Husked bodies show their blood with the right colours in
photographs.
/🆑
* Automatic changelog for PR #86757 [ci skip]
* Fish infusion (#87030)
I'm adding a new infusion ~~(actually four, but two of them are just
holders for specific organs tied to a couple fish traits)~~ to the game.
As the title says, it's about fish.
The infusion is composed of three primary organs, plus another few that
can be gotten from fish with specific traits.
The primary organs are:
- Gills (lungs): Instead of breathing oxygen, you now need to stay wet
or breathe water vapor.
- fish-DNA infused stomach: Can safely eat raw fish.
- fish tail: On its own, it only speeds you up on water turfs, but it
has another effect once past the organ set threshold. It also makes you
waddle and flop like a fish while crawling (I still gotta finish sprites
on this one)
Other organs are:
- semi-aquatic lungs: A subtype of gills from fish with the 'amphibious'
trait, falls back on oxygen if there's no water. Can also be gotten from
frogs, axolotl and crabs.
- fish-DNA infused liver: From fish with the 'toxic' trait. Uses
tetrodotoxin as a healing chem instead of a toxin. Also better tolerance
to alcohol if you want to drink like a fish (ba dum tsh).
- inky tongue: From fish with the 'ink production' trait. Gives mobs the
ability to spit ink on a cooldown, blinding and confusion foes
temporarily.
The main gimmick of this infusion revolves around being drenched in
water to benefit from it, In the case you get the gills organ, this also
becomes a necessity, to not suffocate to death (alternatively, you can
breathe water vapor, without any benefit). To enable the bonus of the
organs set, three organs need to be infused. They can be gills, stomach,
tail and/or liver, while the inky tongue doesn't count towards it.
Once the threshold is reached, the following bonus are enabled:
- Wetness decays a lot slower and resists fire a bit more.
- Ink spit becomes stronger, allowing it to very briefly knock down
foes.
- Fishing bonuses and experience
- Resistance to high pressures
- Slightly expanded FOV
- drinking water and showers mildly heal you over time.
- for felinids: You won't hate getting sprayed by water or taking a
shower.
- While wet:
- - If the fish tail is implanted, crawling speed is boosted.
- - You no longer slip on wet tiles.
- - You also become slippery when lying on the floor.
- - You get a very mild damage resistance and passive stamina
regeneration, and cool down faster.
- - You resist grabs better.
- - get a very weak positive moodlet.
- However, being dry will make you quite squisher, especially against
fire damage, slower and give you a modest negative moodlet.
While working on it, I've also noticed a few things that explained why
tetrodotoxin (TTX) did jackshit at low doses, because livers have a set
toxin tolerance value, below which, any amount of toxin does nothing.
Also I've felt like reagents like multiver & co were a bit too strong
against a reagent that's supposed to work at very low doses, with slow
metabolization, so I've added a couple variables to buff TTX a bit,
making it harder to purge and resistant to liver toxin tolerance (also
added a bit of lungs damage).
I wanted to take a shot at coding a DNA infusion and see how chock-full
I could make it. DNA infusions are like a middle point between "aha,
small visual trinket" and organs with generally ok effects. I seek to
make something a bit more complex ~~(also tied to fishing ofc because
that's more or less the recurrent gag of my recent features)~~ primaly
focused around the unique theme of being strong when wet and weaker when
dry.
EDIT: The PR is now ready, have a set of screenshots of the (fairly mid)
fish tails (and gills, barely visible) on randomly generated spessman
and one consistent joe:

🆑
add: Added a new infusion to the game: Fish. Its main gimmick revolves
around being stronger and slippery when wet while weaker when dry.
balance: Buffed tetrodotoxin a little against liver tolerance and
purging reagents.
/🆑
* Eye wounds, scars and a new ~Pirate~ RP quirk (#87209)
Upon getting stabbed in your eyes or having a bullet fly through your
head there's a chance (minor for stabbing, extremely low for headshots)
you'll receive a new "Eye Puncture" wound which causes profuse bleeding
out of your now-empty eye hole. Once healed you'll have to deal with a
scar on your eye which cannot be cured and requires surgical
replacement. Eye scarring will reduce your eyes' max health by 15, give
you a minor screen tint and a fancy visual on your character sprite.
Getting scarring on both eyes will turn you completely blind.

This PR also introduces a new quirk which gives you eye scarring on the
eye of your choice and an eyepatch to go alongside it, just make sure
that it sits on the right eye.
Also added medical(white) subtype of eyepatches to loadout for those who
want that version instead. Credits to AnturK on discord for the idea.
Its a neat lil' feature that makes the game more immersive, and unlocks
more roleplay opportunities for players. New quirk gives access to this
feature for players who want to make it a part of their character's
backstory (or maybe as a part of permanent scar roleplaying).
🆑
add: Getting stabbed or shot in the eyes has a chance of giving you a
new wound and a semi-permanent scar, blinding you on one side
add: Added new "Scarred Eye" quirk which blinds you on one eye but gives
you a fancy eyepatch
add: Medical eyepatches have been added to loadout
/🆑
---------
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
* Resprited tails from fish infusion. (#87298)
Back when I made #87030 I got a bit lazy when it came to spriting the
fish tails and just ported a few ones from furry servers and made them
inherit the hair color. Let me tell you, those sprites kinda look bad,
and the fact that they've the same colors of hair is kinda... fuzzy, and
doesn't sit well with me, like some hairball stuck in a cat's throat.
So I took upon myself to actually make them better (and also give gill
overlays a couple extra pixels), at the cost of some of my free time and
their wagginess, because fuuuuuck wagging animations for anything that
isn't a somewhat amorphous fluffy tail. Fish don't wag their tail.
They also get one of several blue/grey tints if the owner of the part
doesn't have a peculiar skin tone like lizards or ethereals or moffs.
Anyway, comparison time:
OLD:

NEW:

Both from byond screenshots but I cut and pasted them in paint instead
of asesprite because old habits die hard.
Better sprites. Perhaps the selection of blues could be improved a bit
idk.
🆑
image: resprited fish tails from fish infusion.
/🆑
* Makes the game compile, first.
* Removes a duplicate loadout entry added by /tg/ (to avoid people's loadouts getting messed up)
* Fixed an issue with on_mob_insert() for /datum/bodypart_overlay/mutant
* Fixed an issue with the burn datum of the moth wings bodypart_overlay
* Fixing digitigrade legs not behaving as they should be
* A bunch of Insert->mob_insert and Remove->mob_remove
* Okay, now stuff gets colored properly
Also ears work properly too!
Only thing is that mutant organs on the preferences dummy don't seem to change between character, at least for most of them, which is really annoying.
* Properly returns ears to being internal organs
* Makes it so preferences can use relevant_mutant_bodyparts again!
* Makes organs properly update when changing species
* Markings now get removed when they don't need to be there on a limb
* Fully renives update_mutant_bodyparts(), as it was basically just update_body_parts() anyway at this point
* fix charging implant
* Restores the usage of simple bodypart_overlay for the sensory_enhancer and the hackerman_deck, as that was otherwise causing a bunch of runtimes
* Returns legs to being a sprite accessory, just for simplicity's sake (I don't want to have to refactor it on our end again)
* Fixes xenos not getting their mutant organs because I accidentally nulled the list for no reason 💀
* Makes it so certain organs (in this case, ears) can't be replaced when changing visual preferences, meaning Tesharis/Synths/Slimepeople will get their respective ears, regardless of what visuals they choose for them
* Fixes a small mistake with spines in the code
* Adds some mutant_bodyparts for the results of the infuser unit test. This might be a hack, but we'll cross that bridge when we get to it in the future.
* Adds a "None" option to tail_spines
* Allows ears to not constantly runtime because they don't have an accessory_name sometimes, which is a sad consequence of many species not setting their ear sprite sometimes
* Should fix CI, hopefully should be the last thing needed for this to work flawlessly from now on (crossing fingers)
* This ACTUALLY fixes the changeling transform and transform sting! Hurray!
---------
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: klorpa <30924131+klorpa@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>
Co-authored-by: Fluffles <piecopresident@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
Renames SolFed/SolGov/Solar Goverment/Solar Federation to
TerraGov/Terran Goverment
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
<!-- Please make sure to actually test your PRs. If you have not tested
your PR mention it. -->
## Why It's Good For The Game
Requested by the loremins
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Proof Of Testing
It compiles, nothing seems broken ingame (please TM this)
<!-- Compile and run your code locally. Make sure it works. This is the
place to show off your changes! We are not responsible for testing your
features. -->
</details>
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and its effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
add: Renames all mentions of the Solar Goverment/Federation to the
Terran Goverment
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
<!-- By opening a pull request. You have read and understood the
repository rules located on the main README.md on this project. -->
---------
Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
## About The Pull Request
The limbgrower was an often underutilised item, it was only really
useful for bounties, because most medical staff never checked if their
~~victim~~ patient was a body purist or not. They'd just jam them full
of parts and off they go. This allows an easier method (if not more
expensive) to getting corses for body transfers. I have also added blank
brains for the niche reason of RSD phylacteries for those who were
completely gibbed or dusted to be able to return to the round.
Made it so that hopefully; Ghosts can be added to the round via soul
phylacteries. If we can have golems, ashwalker eggs, cyborgs and such
that accept ghosts and can allow players to add ghosts to the round,
soulcatchers shouldn't be so restrictive.
EDIT: As per request, I have removed monkeydone too, so the recipe will
no longer be available.
<!-- Please make sure to actually test your PRs. If you have not tested
your PR mention it. -->
## Why It's Good For The Game
Miners who get gibbed, dusted or just trapped deep in lava.
Genetics gets to keep their monkeys.
Coroners have more to do, by printing, preserving and prepping corpses
for revival.
More uses for the limbgrower and less CBT of restraining a feral
monkeyman.
## Proof Of Testing

## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and its effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
add: Added blanks to the limbgrower, for soul/brain transfer.
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
<!-- By opening a pull request. You have read and understood the
repository rules located on the main README.md on this project. -->
---------
Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
[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>
* Throws gangtools into a bottomless pit (#82145)
## About The Pull Request
Resprites everything that used to use the old gangtool sprites (door
remotes, augment choice beacon, landing zone designators, and nuke op
borg spawners.)

- Added a new non-gangtool generic choice beacon, and a specific
S.E.L.F. one.
- Door remotes are now fancy garage door openers.
- Landing designators have cannibalised the cell phone sprites from the
less old version of gang.
- Nuke op borg spawners use the same walkie talkie as other
reinforcements
Door remotes now have individual sprites for each mode, so you can see
the mode at a glance.
## Why It's Good For The Game
Having a range of very different items sharing the same old sprites is
pretty confusing, better to have them all be unique and up to date.
## Changelog
🆑
image: Everything that used the old gangtool sprites (door remotes,
landing field designators, some choice beacons, windicate borg
reinforcements) has been resprited.
image: Door remotes now visibly show their current mode.
/🆑
* Oh yeah
* I'm dum
* Oh wow
* placeholder for now
* Bam?
* pls
---------
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
Co-authored-by: Waterpig <wtryoutube@seznam.cz>
Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
* Let's you talk through action figures, plushies, and toy mechs with `.l` and `.r`. Also a big clean up of `say` because its support for non-mobs was lackluster.
* Update code/game/objects/items/plushes.dm
* a
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
* It's a start
* more stuff
* a
* nice
* Update attachable_soulcatcher.dm
* code work better :3
* mal requested proc
* let's move this little file over
* Update soulcatcher_mob.dm
* hehe :)
* say
* some more touches
* Update soulcatcher_component.dm
* working on signals
* a
* more
* sending some signals :)
* Update soulcatcher_component.dm
* a instance I missed
* some slimming down
* whoops
* Update declarations.dm
* Apply suggestions from code review
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update modular_skyrat/modules/modular_implants/code/soulcatcher/soulcatcher_tgui.dm
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update modular_skyrat/modules/modular_implants/code/soulcatcher/soulcatcher_component.dm
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update modular_skyrat/modules/modular_implants/code/soulcatcher/soulcatcher_user_component.dm
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update modular_skyrat/modules/modular_implants/code/soulcatcher/soulcatcher_user_component.dm
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update modular_skyrat/modules/modular_implants/code/soulcatcher/soulcatcher_user_component.dm
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update modular_skyrat/modules/modular_implants/code/soulcatcher/soulcatcher_tgui.dm
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update soulcatcher_tgui.dm
* wew
* woag
* I don't want this PR to be hell to review
* okay, just a little bit of moving
* a
* defines, they do exist
* man
* more renaming
* mob
* Update carrier_component.dm
* Update soulcatcher_component.dm
* a
* some more moving
* Update soulcatcher_verbs.dm
* more tweaks
* a
* Update carrier_user_component.dm
* chat fixes
* updates how verbs work
* getting the code to work
* more adjustments
* aaaaaa
* Update carrier_tgui.dm
* Initial code
* getting it to work
* prefs
* more prefs
* Update soulcatcher_tgui.dm
* more updates
* more states
* final fixes
* Update carrier_tgui.dm
* udpates
* a
* Update carrier_component.dm
* Update erp_preferences.dm
---------
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* It's a start
* more stuff
* a
* nice
* Update attachable_soulcatcher.dm
* code work better :3
* mal requested proc
* let's move this little file over
* Update soulcatcher_mob.dm
* hehe :)
* say
* some more touches
* Update soulcatcher_component.dm
* working on signals
* a
* more
* sending some signals :)
* Update soulcatcher_component.dm
* a instance I missed
* some slimming down
* whoops
* Update declarations.dm
* Apply suggestions from code review
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update modular_skyrat/modules/modular_implants/code/soulcatcher/soulcatcher_tgui.dm
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update modular_skyrat/modules/modular_implants/code/soulcatcher/soulcatcher_component.dm
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update modular_skyrat/modules/modular_implants/code/soulcatcher/soulcatcher_user_component.dm
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update modular_skyrat/modules/modular_implants/code/soulcatcher/soulcatcher_user_component.dm
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update modular_skyrat/modules/modular_implants/code/soulcatcher/soulcatcher_user_component.dm
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update modular_skyrat/modules/modular_implants/code/soulcatcher/soulcatcher_tgui.dm
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update soulcatcher_tgui.dm
* wew
* woag
* I don't want this PR to be hell to review
* okay, just a little bit of moving
* a
* defines, they do exist
* man
* more renaming
* mob
* Update carrier_component.dm
* Update soulcatcher_component.dm
* a
* some more moving
* Update soulcatcher_verbs.dm
* more tweaks
* a
* Update carrier_user_component.dm
* chat fixes
* updates how verbs work
* getting the code to work
* more adjustments
* aaaaaa
* Update carrier_tgui.dm
* final fixes
* Update carrier_tgui.dm
---------
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* PDA update (Messenger works while dead, Microwave works, etc). (#80069)
This is an update that touches many more things all at once (compared to
my other PRs) meant to make PDAs in general feel more consistent and not
take away from one of the experiences we want to encourage: interaction
between players.
1. Replaced all checks of a 'pda' with a 'modular pc'. This means
technically (though not done in-game currently) other modpcs can hold an
uplink, and microwaves can charge laptops.
2. Speaking of microwave, they now don't break and require
deconstruction if the cell is removed mid-charge.
3. When a Mod PC is out of power, it will now allow the Messenger to
work (which now also doesn't consume any additional power), if the app
exists on the PC. Here's a video demonstration
https://github.com/tgstation/tgstation/assets/53777086/7ae12f81-a271-49b8-95fa-2ba54d2e2d1f
4. Flashlights can't be turned on while the cell is dead
5. I replaced a bunch of program vars with ``program_flags`` and renamed
``usage_flags`` to ``can_run_on_flags``.
6. Added a debug modPC that has every app installed by default. Mafia
had some issues in the past that were unknown because Mafia wasn't
preinstalled with any tablet so was never in create & destroy nor in any
other unit test. This was just an easy solution I had, but PDAs should
get more in-depth unit tests in the future for running apps n stuff- I
just wanted to make sure no other apps were broken/harddeling.
Currently when a PDA dies, its only use is to reply to PDA messages sent
to you, since you can still reply to them. Instead of just fixing it and
telling players to cope, I thought it would be nice to allow PDA
Messenger to still work, as it is a vital app.
You can call it some emergency power mode or whatever, I don't really
mind the reason behind why it is this way.
When I made cells used more on PDAs, my main goal was to encourage
upgrading your PDA and/or limiting how many apps you use at once, I did
not want this to hit on players who use it as a form of interaction.
This is the best of both worlds, I think.
The rest of the changes is just for modularity, if some downstream wants
to add tablets, phone computers, or whatever the hell else, they can
still get just as far as PDAs should be able to get to, hopefully.
🆑
add: PDAs with a dead power cell are now limited to using their
Messenger app.
fix: Microwaves now stop charging PDAs if the cell was removed
mid-charge.
fix: Microwaves can now charge laptops.
fix: PDA Flashlights can't be turned on while the PDA is dead.
fix: You can now hold a laptop up to a camera (if it has a notekeeper
app installed) like PDAs already could.
/🆑
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* ok
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* [BOUNTY] Re-adds Contractors
* I hate copy pasted overrides so much. BEGONE
* Fixes the merge conflict. It's still not gonna work, too many proc redefinition
* The sheer amount of overrides
* This is hell
* remove modular copy of spawn_contractor_partner
* part 2 of spawn_contractor_partner oops
* un-duplicate create_contracts proc
* Remove duplicate contract generate and finish_enter
* something to make the linter stop crying
* Receiving
* removes our contractor stuff in favour of parity
* Update SyndicateContractor.tsx
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Reworks transformation sting to be temporarily in living mobs, forever in dead mobs
* Modular updates
* Recaches the icons generated in the `changeling` unit test
* Pain
* More tweaks
* Disable unit test
* Let's see if we can pass test temporarily
* Makes transformation sting unobtainable more cleanly
* Unit test
* Cursed proc
* Kill the unholy copy pasta
Seriously this stuff is just awful. This is not maintainable.
* test this
* Update comments
* Fixing the screenshot test, maybe?
* grrr
* Update changeling.dm
* Attempt to fix this nonsense
* Update changeling.dm
* Update changeling.dm
* Update changeling.dm
* Update dna.dm
* Fixes it?
* Screenshot test
* Update _traits.dm
* Update _traits.dm
* Fix this
* Update dna.dm
* Update dna.dm
* Hmm
* This proc needs a new name
* I want to scream but I have no mutant parts
* Fix
* Update species.dm
* Update species.dm
* Update species.dm
* Update species.dm
* Some touch ups
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com>