Commit Graph

7869 Commits

Author SHA1 Message Date
SkyratBot
1fe9efd00a [MIRROR] Rebuilds Luxury Shuttle (mostly), makes it emag-only [MDB IGNORE] (#19229)
* Rebuilds Luxury Shuttle (mostly), makes it emag-only (#72940)

## About The Pull Request
![2023 02 07-06 49
54](https://user-images.githubusercontent.com/70376633/217159751-790e6ded-8525-4d13-a5b5-6a3d8076a00e.png)
Changes the really goofy old lux shuttle to a cooler layout with some
additions to make it a luxury and not just
"anti-poor-people protection + food"

Shuttle was made bigger to make it less cramped for the luxury class,
pool was moved to its own room, added an arcade
and a bar corner, has real lasers to shoot poors with (20c each shot),
has fire extinguishers now
Adds a new preopen variant of hardened shutters
Adds a paywall pin subtype for the luxury shuttle, and a laser gun
subtype

Made emag-only at a price of 10000 credits
## Why It's Good For The Game

The old luxury shuttle looked REALLY awful with its pool, was pretty
cramped even in the luxury section and BARELY resembled a luxury..
This luxury shuttle provides luxuries such as a less poorly designed
pool, more space for legs, arcade, to make it resemble a luxury unlike
the old one

## Changelog
🆑
add: Luxury Shuttle is now bigger, and less ugly! Poor people still get
it rough though...
/🆑

* Rebuilds Luxury Shuttle (mostly), makes it emag-only

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2023-02-08 10:24:00 -05:00
SkyratBot
0459e4a9e1 [MIRROR] Fix incorrectly passed biotype args in take_overall_damage [MDB IGNORE] (#19170)
* Fix incorrectly passed biotype args in take_overall_damage (#73203)

## About The Pull Request

The linters in #73202 revealed to me that `heal_overall_damage` was
overridden wrong in `carbon` and left out an argument, meaning that
plausibly some places that didn't provide an argument for `stamina`
probably had an off-by-one error with args and wouldn't apply them
properly.
I fixed that in that PR because it was using it. Then I noticed that the
same problem exists in `take_overall_damage` so I am fixing that too.

I don't know if this was linked to any actual bugs, but it might cause
some. They'd be hard to spot because it'd be for stuff like "a
shadowperson with a prosthetic takes damage to their prosthetic if not
in darkness" and probably nobody would even get into that situation let
alone notice to report it.

## Why It's Good For The Game

We want arguments to do what they are supposed to do.

## Changelog

🆑
fix: Biotypes will be more consistently applied when taking damage, pod
and shadowperson prosthetic limbs won't be corroded due to light levels.
fix: Podperson and Wooden Golem prosthetic limbs won't be corroded by
having a hungry tummy.
/🆑

* Fix incorrectly passed biotype args in take_overall_damage

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-02-08 02:29:06 +00:00
SkyratBot
f07b8e0fee [MIRROR] Update gloves examine text [MDB IGNORE] (#19202)
* Update gloves examine text (#73265)

## About The Pull Request
Fixes https://github.com/tgstation/tgstation/issues/73240
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage ma
🆑 LT3
spellcheck: Gloves now mention modes, not intents
/🆑

* Update gloves examine text

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-02-08 02:25:34 +00:00
SkyratBot
d149f83c94 [MIRROR] Fixes runtimes off bad indexes, and adding null to client images [MDB IGNORE] (#19204)
* Fixes runtimes off bad indexes, and adding null to client images (#73267)

It worked orange man

🆑
fix: Your hud should break much less now
/🆑

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>

* Fixes runtimes off bad indexes, and adding null to client images

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
2023-02-08 02:23:43 +00:00
SkyratBot
a74a354ebc [MIRROR] Adds a second boom wire to payload bombs. [MDB IGNORE] (#19196)
* Adds a second boom wire to payload bombs.

* Update code/game/machinery/syndicatebomb.dm

---------

Co-authored-by: Capsandi <38051413+Capsandi@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-02-08 02:19:56 +00:00
SkyratBot
6c8b61e723 [MIRROR] Capture The Flag: Skill Issue [MDB IGNORE] (#19224)
* Capture The Flag: Skill Issue (#72960)

## About The Pull Request

QoL update for CTF to make the experience better and smoother.

## Why It's Good For The Game

The CTF experience is a bit unpolished in some areas such as important
information (shield charge, control point score) being obscured,
mandatory hand switching on spawning, and players messing with their
team by blocking the controller.

## Changelog
🆑
qol: CTF guns spawn in the default active hand
qol: CTF shields become transparent as they lose charge
qol: CTF King of the Hill scores are visible to players in-game
qol: CTF controllers can no longer be blocked by players standing on
them
/🆑

* Capture The Flag: Skill Issue

---------

Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
2023-02-08 02:16:57 +00:00
SkyratBot
84d003b4ab [MIRROR] more span macro changes in brain traumas and disease files [MDB IGNORE] (#19226)
* more span macro changes in brain traumas and disease files (#73273)

## About The Pull Request

i was fucking around with brain traumas on a downstream and noticed they
had similar issues to quirks so i decided to continue work from #73116

![Code_Klx14O288V](https://user-images.githubusercontent.com/116288367/217046732-765ffe27-73c9-416a-833e-e0d9e2aa7a86.png)
(search in VSC for span class = 'notice')
its going to be a bit of a thing to get all of these but this is a
decent chunk i think

there was only one annoying/tough file.
imaginary_friend.dm had class = 'game say' and class = 'emote' both of
which after some testing did not seem like they did anything. ill try to
keep that in mind in other files if i continue to do this but i either
omitted them because they didnt have any formatting or, in the case of
emote, turned it into name, which i think is what you'd want those
messages to look like.

there were also a few small spelling errors that i fixed

## Why It's Good For The Game

more consistent and stops people from copying brain trauma formatting
wrong

## Changelog

they should all work the same

---------

Co-authored-by: san7890 <the@ san7890.com>

* more span macro changes in brain traumas and disease files

---------

Co-authored-by: Sol N <116288367+flowercuco@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-02-08 02:16:41 +00:00
SkyratBot
e7ecb022f0 [MIRROR] Fixes some redundant / incorrect messages w/ spontaneous combustion symptom [MDB IGNORE] (#19182)
* Fixes some redundant / incorrect messages w/ spontaneous combustion symptom (#73227)

🆑 ShizCalev
fix: Fixed some duplicated and incorrect messages being presented when
infected with a virus that has the spontaneous combustion symptom.
/🆑

* Fixes some redundant / incorrect messages w/ spontaneous combustion symptom

---------

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2023-02-08 02:15:44 +00:00
SkyratBot
561c328f3d [MIRROR] Fixes belts not updating their overlays when transferring their contents to another storage item. [MDB IGNORE] (#19195)
* Fixes belts not updating their overlays when transferring their contents to another storage item. (#73251)

## About The Pull Request

When you drag and drop a belt to another storage item it transfers all
its contents but retains its overlays. This PR calls update appearance
at the end of storage to storage transfers so this shouldn't occur
again.
## Why It's Good For The Game

Bug fix, belts appearing to have things on them which they don't is bad.
## Changelog
🆑
fix: Transferring objects from a belt to another storage object now
removes those objects from the belts visuals.
/🆑

* Fixes belts not updating their overlays when transferring their contents to another storage item.

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-02-08 02:10:48 +00:00
SkyratBot
83e3915015 [MIRROR] Makes some improvements to how AI can use JPS with movement loops [MDB IGNORE] (#19151)
* Makes some improvements to how AI can use JPS with movement loops (#72685)

## About The Pull Request

This PR makes some changes to how JPS is used in movement loops, as it
was causing a variety of issues:

- Fixed some code where JPS would fail because the path is still being
made. Instead, the movement loop will now wait.
- Reduced the subsystem wait for the pathfinder subsystem from 2 seconds
to 0.1 seconds. @ LemonInTheDark told me that this is better, I'll update
this with a better explanation once I squeeze it out of him :D
- Allows you to provide an initial path to the movement loop, in case
you pre-calculated one while making a plan.

## Why It's Good For The Game

Makes working with JPS a bit easier when making AI.

---------

Co-authored-by: Capybara <Capybara@ CapybaraMailingServices.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@ users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>

* Makes some improvements to how AI can use JPS with movement loops

---------

Co-authored-by: CapybaraExtravagante <110635252+CapybaraExtravagante@users.noreply.github.com>
Co-authored-by: Capybara <Capybara@ CapybaraMailingServices.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@ users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>
2023-02-08 02:04:31 +00:00
SkyratBot
b794ffcc77 [MIRROR] literally just hook asay into tgui say [MDB IGNORE] (#19171)
* literally just hook asay into tgui say (#73212)

## About The Pull Request

pressing f3 now opens asay in tgui say
## Why It's Good For The Game

![john willard gets
banned](https://user-images.githubusercontent.com/12202230/216750445-addb4f3f-0df4-47da-891d-4ef4820a10ab.png)

also fixes double-escaped special characters caused by #72407 and
finally gets rid of the gross regular tgui input popup
## Changelog
🆑
fix: asays are no longer double-escaped
admin: asay now uses tgui say
/🆑

---------

Co-authored-by: Scriptis <scriptis@ duck.com>

* literally just hook asay into tgui say

---------

Co-authored-by: scriptis <scriptif@gmail.com>
Co-authored-by: Scriptis <scriptis@ duck.com>
2023-02-05 12:45:33 +00:00
SkyratBot
e8b6c7da8f [MIRROR] Replaces some decisecond things with time defines in martial art code [MDB IGNORE] (#19155)
* Replaces some decisecond things with time defines in martial art code (#73191)

## About The Pull Request

Replaces some decisecond things in martial art code with time defines

## Why It's Good For The Game

Improves code readability

## Changelog
🆑
code: Replaces some decisecond things in martial art code with time
defines
/🆑

* Replaces some decisecond things with time defines in martial art code

---------

Co-authored-by: SuperSlayer <91609255+SuperSlayer0@users.noreply.github.com>
2023-02-04 16:42:22 +00:00
SkyratBot
5dbd1e74d4 [MIRROR] Uplink failsafe explodes on demand [MDB IGNORE] (#19156)
* Uplink failsafe explodes on demand (#73178)

## About The Pull Request
Fixes https://github.com/tgstation/tgstation/issues/73144
## Why It's Good For The Game
It should explode when you say the codeword.
## Changelog
🆑 LT3
fix: Uplink failsafe explodes when its supposed to
/🆑

* Uplink failsafe explodes on demand

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-02-04 16:41:25 +00:00
SkyratBot
03e584ad64 [MIRROR] Makes arms regrown by the Rod of Asclepius the correct color [MDB IGNORE] (#19159)
* Makes arms regrown by the Rod of Asclepius the correct color (#73152)

## About The Pull Request

When an arm holding an activated Rod of Asclepius is cut off, the arm
grows back with the rod held in it. However, due to an oversight, the
arm that grows back is always the "default" color - the albino skintone
for humans/felinids, and grey for everyone else. This PR makes the
regenerated arm have the proper skintone instead.
## Why It's Good For The Game

There's no good reason that a magical doctoring rod should drain all
color from your arm, probably.
## Changelog
🆑
fix: Corrected the skintone on arms grown back by the Rod of Asclepius
/🆑

* Makes arms regrown by the Rod of Asclepius the correct color

---------

Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
2023-02-04 16:40:17 +00:00
lessthanthree
224e8ef3f6 [MANUAL MIRROR] Fixes plasmamen dying from liver damage when consuming plasma (#19074)
Fixes plasmamen dying from liver damage when consuming plasma & other organic toxins, fixes plasma fixation for plasmamen and other species (#72644)

## About The Pull Request

(edited for brevity---AS BEST I COULD, this turned into a lot more fixes
than I set out to do)

Instead of actually removing and metabolizing plasma in the liver,
plasmamen were having plasma removed in a special handle_chemicals proc.

The issue with this is that the liver's on_life proc would still fire
off alongside it, detecting reagents in the mob (because
handle_chemicals removes them little by little, at the same rate as the
liver does). And because the liver code sees it as a toxin, it takes
damage until it fails, leading to death as described in #72229.

Not actually metabolizing plasma also led to another issue, as mentioned
in #61424.

The solution after much faffing around ended up being to move the actual
reagent removal from handle_chemicals to the liver code, and to compare
a toxin's affected_organtype to the liver's 'status' var to check if the
toxin can damage the liver. There was currently only an ORGAN_ORGANIC
and ORGAN_ROBOTIC defined for this, so I added ORGAN_MINERAL for plasma
livers.

It still works as before, but now the reagent will actually get all the
metabolism procs called on it and be removed by the liver. And mobs with
mineral livers (currently only plasmamen) do not suffer organ failure
from processing organic toxins.

Plasma fixation itself also needed some TLC, as it was likely written
before liver damage was a thing. A lot of this comes down to rogue
livers operating independently of their species now that I think about
it...

Fixed it so you no longer take liver damage from injected/consumed
plasma when under the effects of the stage 4+ virus by making use of the
new PLASMA_LOVER_METABOLISM liver trait.

---

On top of that made it so that breathing in plasma through internals
also contributes to plasma fixation healing. This is a slight buff to
virology (especially for plasmamen) but it didn't seem busted or
anything from my testing. Can lead to some interesting subtle approaches
to healing for virologists as they can use internals rather than just
flooding rooms with plasma...

Some notes: 

- due to the way lungs are coded, non-plasma breathing species take a
significant amount of tox damage from breathing plasma through internals
in most cases and still need the right gas to be present so as to not
asphyxiate.
- During my testing this damage did not get healed fast enough to make
it viable for humans to wear plasma internals as found in spawned tanks
and such.
- I did not play around with creating custom internals mixes of O2 and
plasma but in theory that could possibly allow humans to heal faster
than the tox damage is applied. I think the tox damage on breath is
based on the amount of mols in the tank so perhaps a small amount of
plasma in the mix could work.
- As it stands the heal is very slight at 4kpa which is the typical tank
pressure for plasma internals. Going up to 15kpa can result in a
stronger heal (on par with injecting plasma) but going further offers no
additional benefit, and internals will be consumed much more quickly.
- This heal bonus is multiplicative with the rest, but from my testing
it still stays within reasonable numbers even with all 3 sources going
at once so as to not feel broken.
- Plasma fixation does not heal organ damage, but if I could add that in
easily enough should it be wanted.

The numbers themselves can be easily tweaked if desired, should people
find it too strong or what have you!

## Why It's Good For The Game

Fixes #72229
Fixes #61424
Fixes #70460 --not sure if this PR fixed it but I was able to infect
monkeys and plasmamen with a virus containing Inorganic Biology in my
testing, so this may be closed

Plasmamen dying from plasma is a travesty and reparations must be made.


## Changelog

🆑
fix: plasmamen no longer can suffer liver failure from injecting
themselves with plasma (unless they have a human liver for some reason).
fix: a person who is infected with a plasma fixation disease can no
longer can suffer liver failure from injecting themselves with plasma.
fix: plasmamen no longer can suffer liver failure from consuming other
organic toxins, which they are not supposed to be affected by.
fix: plasma fixation heal-through-inject-or-consumption now works for
plasmamen by letting the metabolism procs take care of removing it from
their systems.
fix: hot ice now has the same wound-healing and nontoxic properties as
plasma to plasmamen, since it is described as "frozen plasma". It is
also nontoxic to plasma fixation virus sufferers.
fix: plasma breathed through internals now contributes to the healing
amount from plasma fixation.
/🆑

Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-02-03 20:01:55 -05:00
SkyratBot
fc12508d01 [MIRROR] STAY IN THE LIGHT: Adds terrify Nightmare spell, terrified status effect, and a reason to mind the shadows [MDB IGNORE] (#18775)
* STAY IN THE LIGHT: Adds terrify Nightmare spell, terrified status effect, and a reason to mind the shadows (#72282)

Adds the Terrify spell, and its associated status effect, Terrified.
This new spell is given to antagonist nightmares, as a part of their
brain. The spell only works in those surrounded by darkness, and will
apply the Terrified status effect if successful. Upon being Terrified,
victims will passively gain **Terror Buildup** if they remain in the
dark. As buildup increases, so do the negative effects, including tunnel
vision, panic attacks, dizziness, and more.

There are two primary methods for mitigating terror buildup. The first
is moving into the light, which will reverse the passive terror buildup
and eventually make it go away. The other method is by getting a hug
from a friendly hand, which will reduce buildup significantly.

Getting a hug from an UNfriendly hand (a nightmare, for instance) will
cause the victim to freak out and be briefly knocked down. This can be
spammed on targets who are caught alone in the dark, keeping them in an
unfavorable position (sideways) and adding to the victim's terror
buildup considerably. Escape into the light as soon as possible, or
you'll be pushed to MAXIMUM TERROR BUILDUP.

To what end? Heart failure. Past the soft terror cap (which limits how
much passively generated terror you can make) exists the hard terror
cap. Bypassing that threshold will cause a stress induced heart attack
and knock you unconscious (embarrassing!)

* STAY IN THE LIGHT: Adds terrify Nightmare spell, terrified status effect, and a reason to mind the shadows

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-02-03 16:59:46 -05:00
SkyratBot
ebe38543ff [MIRROR] Adds nutriment factor to liquid gibs. [MDB IGNORE] (#19052)
* Adds nutriment factor to liquid gibs. (#73033)

## About The Pull Request

Over the years I've heard quite a few lizard players scratch their heads
in confusion due to the lack of gibs filling you up. I gave it a fairly
low value of 2 so people don't end up trying to power game it.

## Why It's Good For The Game

Adding an alternative use to gibs is always nice, at the moment it's
mostly just used for soap and cytology (Which barely anyone does.)

## Changelog

🆑
balance: Gibs now provide a small amount of nutriment.
/🆑

* Fixes the modular uses of liquid gibs

* Fixes an error that somehow slipped through.

---------

Co-authored-by: carshalash <carshalash@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-02-03 16:59:09 -05:00
SkyratBot
1fe0d145a3 [MIRROR] Converts blindness and nearsightedness to status effects, scratches some VERY dumb blindness handling that resulted in mobs becoming "incurably" blind [MDB IGNORE] (#18760)
* Converts blindness and nearsightedness to status effects, scratches some VERY dumb blindness handling that resulted in mobs becoming "incurably" blind

* Fixes the conflicts and makes shit compile!

* Fixes other things that didn't show up because I hadn't updated

* Fixes the lints.

* Okay NOW it's ready (please don't add anything else that touches blindness I beg you)

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-02-03 16:08:32 -05:00
SkyratBot
9097254835 [MIRROR] Fixes bubbles not doing the stage 1 version of the hallucination charge [MDB IGNORE] (#19124)
* Fixes bubbles not doing the stage 1 version of the hallucination charge (#73119)

Bubblegum is once again capable of performing his 5 hallucination,
one real Bubblegum attack.

* Fixes bubbles not doing the stage 1 version of the hallucination charge

---------

Co-authored-by: 1393F <59183821+1393F@users.noreply.github.com>
2023-02-02 21:40:08 +00:00
SkyratBot
03d9def35d [MIRROR] Customizable GAGS Witch Hat [MDB IGNORE] (#19087)
* Customizable GAGS Witch Hat (#72477)

## About The Pull Request

Implements new sprites for the witch (Marisa) hat, divided into three
greyscale icon states - base, bow, and charms. The hat can have its
colours customized at an AutoDrobe. The not fake version has also been
changed in the same way. The default colours are approximately the same
to the old hat's.

![A coven of witches showing off their newly colourable
hats](https://user-images.githubusercontent.com/94123167/210642213-42e08912-1c11-469e-afda-66ce567280dd.png)
_A coven of witches showing off their newly colourable hats_

## Why It's Good For The Game

More customization options for clothes allow for more variety and
greater player creativity.

## Changelog

🆑
add: added greyscale json configs for witch hat and witch hat worn.
imageadd: Added new, greyscale states to head/wizard.dmi
imagedel: Removed Marisa hat states from head/wizard.dmi
code: changed Marisa hat code in wiz_robes.dm to make them use
greyscale.
config: changed greyscale configs to include the witch hat.
/🆑

* Customizable GAGS Witch Hat

---------

Co-authored-by: Kepteyn <94123167+Kepteyn@users.noreply.github.com>
2023-02-02 16:17:22 +00:00
SkyratBot
739f951461 [MIRROR] Fixes an edge case where you can get incurable plasma damage, & fixes healing sources that don't have biotype restrictions not working if the mob doesn't have the MOB_ORGANIC biotype [MDB IGNORE] (#19094)
* Fixes an edge case where you can get incurable plasma damage, & fixes healing sources that don't have biotype restrictions not working if the mob doesn't have the MOB_ORGANIC biotype (#73017)

## About The Pull Request

Fixes #72962

The plasma river applies toxins damage to a mob as it transforms
individual limbs into plasmaman ones.
Once all limbs have been transformed, the mob's species changes to
plasmaman.

This currently leads to incurable toxin damage as antitoxin drugs do not
work on plasmamen. Made it so that upon transforming fully, the toxin
damage is cleared.

Also fixed an issue where healing sources that do not have a
required_biotype parameter (e.g. `adjustToxLoss(-5)` vs
`adjustToxLoss(-5, required biotype=whatever)`) will not work on mobs
that do not have the `MOB_ORGANIC` biotype (e.g. plasmamen) due to it
defaulting to `MOB_ORGANIC`. For now those use the `forced` param to
accomplish this.

## Why It's Good For The Game

Incurable damage is no good.

## Changelog

🆑
fix: fixed getting incurable tox damage when fully transformed into a
plasmaman via plasma rivers
fix: fixed rod of asclepius/medibeam etc not being able to heal tox
damage despite not having biotype restrictions
/🆑

* Fixes an edge case where you can get incurable plasma damage, & fixes healing sources that don't have biotype restrictions not working if the mob doesn't have the MOB_ORGANIC biotype

---------

Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-02-02 16:16:34 +00:00
SkyratBot
21fbbee25b [MIRROR] Converts a lot of span write outs into span macros in the quirk files [MDB IGNORE] (#19106)
* Converts a lot of span write outs into span macros in the quirk files (#73116)

## About The Pull Request

in #72912 i was told this was the better way to do it and when i offered
to convert all of the other ones mothblocks said yes so here it is

ONE THING OF NOTE

![image](https://user-images.githubusercontent.com/116288367/215909871-1368fdd9-fefe-4eb0-ae85-1084465602aa.png)
i dont know which if any of the span macros replicate "big bold info"
but other than that I think i've caught them all, family heirloom was
the only one that didnt have Notice or Danger spans

## Why It's Good For The Game

more consistent way of doing things codewise

## Changelog

nothing player facing given that all of the messages SHOULD look the
same unless i did a big whoopsie

---------

Co-authored-by: san7890 <the@ san7890.com>

* Converts a lot of span write outs into span macros in the quirk files

---------

Co-authored-by: Sol N <116288367+flowercuco@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-02-02 16:16:18 +00:00
SkyratBot
e8d89bf034 [MIRROR] [WEBEDIT INCOMING]Allows any atom that is not an effect to increase supermatter matter power on consumption. [MDB IGNORE] (#19109)
* [WEBEDIT INCOMING]Allows any atom that is not an effect to increase supermatter matter power on consumption. (#73029)

If the consumed_object does not pass the isitem check, then it increases
the matter_increase by half of consumed_object.max_integrity, capped at
1000.
# WEBEDIT INFORMATION
This is indeed a webedit, but I tested the changes on local.

## About The Pull Request
If the atom is not an item, the matter power increase will be half of
the object's max integrity, up to a maximum of 1GeV (in case some object
has an absurd amount of integrity).
## Why It's Good For The Game
When a physical object gets consumed by the supermatter, people expect
it to do what it does for items, to give it trickled power over time.
It's confusing when it doesn't increase the power.
## Changelog
🆑
fix: Objects that are not items can increase supermatter power on
consumption.
/🆑

* [WEBEDIT INCOMING]Allows any atom that is not an effect to increase supermatter matter power on consumption.

---------

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2023-02-02 16:15:59 +00:00
SkyratBot
15d5ab2438 [MIRROR] fixes fov removal f12 exploit [MDB IGNORE] (#19112)
* fixes fov removal f12 exploit (#73107)

## About The Pull Request
adds a variable to huds containing all screen objects that should be
permanently there
fov stuff goes there now rather than not being kept on the screen at all
therefore fov no longer disappears

## Why It's Good For The Game
i must torture lemon.

## Changelog
🆑
fix: fixes fov removal f12 exploit
/🆑

* fixes fov removal f12 exploit

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-02-02 16:15:11 +00:00
SkyratBot
0586d4c294 [MIRROR] [NO GBP] Lazy Template Cordoning | Double Runtime Fix [MDB IGNORE] (#19042)
[NO GBP] Lazy Template Cordoning | Double Runtime Fix (#72709)

## About The Pull Request

Adds automatic cordoning to block reservations.
Also fixes an issue where ChangeTurf would cause SSicon_smoothing to
throw runtimes by calling QUEUE_SMOOTH regardless of initialization
completion

## Why It's Good For The Game

## Changelog

---------

Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2023-02-02 16:11:52 +00:00
SkyratBot
ffac8f0df0 [MIRROR] Fixes critical plane masters improperly not being readded in show_to [MDB IGNORE] (#19060)
Fixes critical plane masters improperly not being readded in show_to (#72604)

## About The Pull Request

[Adds support for pulling z offset context from an atom's
plane](9f215c5316)

This is needed to fix paper bins, since the object we plane set there
isn't actually on a z level.
Useful elsewhere too!

[Fixes compiler errors that came from asserting that plane spokesmen had
a plane
var](b830002443)

[Ensures lighting backdrops ALWAYS exist for each lighting
plane.](0e931169f7)

They can't float becuase we can see more then one plane at once yaknow?

[Fixes parallax going to shit if a mob moved zs without having a
client](244b2b25ba)

Issue lies with how is_outside_bounds just blocked any plane readding
It's possible for a client to not be connected during z moves, so we
need to account for them rejoining in show_to, instead of just blocking
any of our edge cases.

Fixing this involved having parallax override blocks for show_plane and
anything with the right critical flags ensuring mobs have JUST the right
PMs and relays.
It's duped logic but I'm unsure of how else to handle it and frankly
this stuff is just kinda depressing.
Might refactor later

[show_to can be called twice successfully with no hide_from
call.](092581a5c0)

Ensures no runtimes off the registers from this

## Why It's Good For The Game

Fixes #72543
Fixes lighting looking batshit on multiz. None reported this I cry into
the night.

## Changelog
🆑
fix: Fixes parallax showing up ABOVE the game if you moved z levels
while disconnected
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Time-Green <timkoster1@hotmail.com>
2023-01-31 16:30:01 -05:00
SkyratBot
8f134af3e6 [MIRROR] Adds plasmaman support to mob spawners [MDB IGNORE] (#19054)
Adds plasmaman support to mob spawners (#73068)

## About The Pull Request

A very minor change but one that will save headache down the line. Adds
plasmaman support to mob spawners, meaning they will be guaranteed to
get their internals and suit upon spawning from those.

Modified the equip proc to be able to automatically turn hand slot
internals on without the need for snowflakey open_internals checks
everywhere, as that should already handled by the it (shown below). Just
modified it to work on hand slots.


4b832e7d01/code/datums/outfit.dm (L245-L248)

## Why It's Good For The Game

Adds support for present and future mob spawners involving plasmapeople.

## Changelog

🆑
qol: prevents mob spawner plasmamen from spawning without their suit and
internals.
code: the equip proc can now find internals in the hand slot and
automatically open them, allowing for less snowflakey code down the
line.
/🆑

---------

Co-authored-by: Bloop <vinylspiders@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-01-31 13:52:18 +00:00
SkyratBot
972c6b31a6 [MIRROR] Venture - a (yet another) Emergency Shuttle [MDB IGNORE] (#18841)
Venture - a (yet another) Emergency Shuttle (#72475)

## About The Pull Request
Adds a new emergency shuttle, the "Venture"
Named after some randomass starsector ship because i couldnt think of a
cool name
Based on a BYOS build on /tg/ sybil

Roughly 49 seats (+ 1 Wheelchair) in total (7 in sec, 5 in command)
![2023 01 19-07 05
13](https://user-images.githubusercontent.com/70376633/213367907-72a2419e-fbbb-44ee-8717-7442c984f091.png)

## Why It's Good For The Game

Variety is nice

## Changelog

🆑
add: Added a new emergency shuttle, the Venture
/🆑

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2023-01-31 05:28:00 -05:00
SkyratBot
f6fff7de9e [MIRROR] Fixes a bad assignment of parent in spirit holding component [MDB IGNORE] (#19029)
Fixes a bad assignment of parent in spirit holding component (#72999)

## About The Pull Request

`parent` is a reference to the datum parent of the component, but this
was assigning it to a string for some reason?

I just removed it. It doesn't seem to be doing anything anyways

~~I was going to make parent a private variable but too many things
access it for some weird reason. Kinda wack~~

## Why It's Good For The Game

Bad code

## Changelog

🆑 Melbert
fix: Maybe fixes some issues with spirit holding, particularly relating
to it being in-exorcism-able.
/🆑

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-01-31 02:15:17 +00:00
SkyratBot
9c5408fe27 [MIRROR] Optimizes changing z level as a ghost by something like 85% [MDB IGNORE] (#19030)
Optimizes changing z level as a ghost by something like 85% (#73005)

<!-- 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

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

Optimizes hud image addition/removal on z change

We were doing a lot of repeated work here, not to mention all the proc
calls.
So I pushed the "operate on loops" behavior into its own proc, so I
could ensure we only do some of this stuff once

This plus some removal of safeties saves 75% of the cost of z level
transitions as a ghost

Prevents double on_changed_z_level calls from ghosts and shuttles

Reacting to z changes used to be done off doMove or one of those
children, timber moved it to Moved, but did not remove the calls that
assumed things like abstract_move wouldn't trigger it

This means that moving up/down as a ghost was causing a double call of
the whole z move stack. Suprised this never broke anything tbh

Makes csv stat tracking actually encode numbers properly, cleans up an
indev comment from plane group code

## Why It's Good For The Game

Speed, and fixes

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2023-01-29 23:50:33 +00:00
SkyratBot
a9c430a5e4 [MIRROR] Basic Mobs Now Actually Have A Deathgasp [MDB IGNORE] (#19002)
Basic Mobs Now Actually Have A Deathgasp (#72950)

## About The Pull Request

Pretty obviously an oversight since we only checked for simple_animal
for this, but should also factor in the fact that we could now be a
basic mob.

Actually I tested it on Sybil just now and deathgasps just never worked.
We were setting death_message for... I guess when they die? It's just
fucked but it works on my local now. blurgh
## Why It's Good For The Game

Ported simple animals that are now basic mobs were able to deathgasp
this time last year. Silly that they aren't able to do that now.
## Changelog
🆑
fix: Basic Mobs are now able to deathgasp.
/🆑

Let me know if the new variable name for the string is cringe, I just
settled on that since it mirrored the type of check we run in
select_message_type().

Co-authored-by: san7890 <the@san7890.com>
2023-01-29 02:17:38 +00:00
Funce
60bfb76832 [MIRROR] Dynamic Human Icon Generation For Simple/Basic Mobs (& Cardboard Cutouts) [MDB IGNORE] (#18884)
* Dynamic Human Icon Generation For Simple/Basic Mobs (& Cardboard Cutouts) (#72517)

revive of #68760
this time a proc, not an element
this time supports cardboard cutouts
this time supports mob corpses

![image](https://user-images.githubusercontent.com/23585223/211064291-81070650-189f-4afa-8116-81b687e3ea35.png)

prevents these icons ever being outdated, they'll always look what they
are supposed to, saves spriting work

🆑 Fikou, a hood by Viro
refactor: humanoid mobs and cardboard cutouts automatically generate
their sprites, they no longer will be outdated
/🆑

Co-authored-by: Time-Green <timkoster1@hotmail.com>

* Modular!

* Fix signal override merge skew (#72882)

Caused by https://github.com/tgstation/tgstation/pull/72517, with
https://github.com/tgstation/tgstation/pull/72561 raising an error that
was being hidden before

This changes equip logic somewhat so that set_wearer was being called
twice.

I don't think this should be being run in visualsOnly at all, as it does
a ton of stuff like registering signals, updating UI, etc etc etc. Don't
have time to investigate further.

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-01-27 13:56:00 -05:00
Bloop
1e443894b5 [MANUAL MIRROR] Fixes toilet bongs, and fixes a serious bug in the crafting system (#18921)
* Fixes toilet bongs, and fixes a serious bug in the crafting system (#72893)

The PR everyone has been waiting for...fixed toilet bong crafting. Now
you can craft them just as before using the new crafting system.

![image](https://user-images.githubusercontent.com/13398309/213944308-74b3e50e-965d-4e69-9025-d011764b3247.png)

In attempting to fix this I encountered one of the gnarliest, nastiest,
meanest and most infuriatingly difficult to debug bugs I have come
across so far. And it's existed for as long as the crafting system has,
but due to unique circumstances it has been allowed to go unnoticed this
whole time.

Technical details below. Full list of changes here:

- crafting recipes can now contain structures as part of their
requirements
- removed deprecated var 'additional_req_tex' and changed text to use
the 'steps' list instead so they actually show in the gui
- toilet bongs are now passable terrain like normal toilets are
- fixed an atrocious bug with crafting that was by pure coincidence not
causing any problems
- this bug would prevent any recipes that did not contain a material
from deleting properly
- this bug would also cause any recipes that are supposed to use but not
consume machinery to consume them regardless

---

Basically, the bug that took me hours upon hours of debugging and
head-scratching to find is this:

from crafting.dm:
```
	main_loop:
		for(var/path_key in requirements)
			amt = R.reqs[path_key] || R.machinery[path_key]
			if(!amt)//since machinery can have 0 aka CRAFTING_MACHINERY_USE - i.e. use it, don't consume it!
				continue main_loop
```
specifically this line:

`amt = R.reqs[path_key] || R.machinery[path_key] `

The culprit ended up being that if you do machinery[path_key] on an
empty list, it can lead to very unexpected behavior (see: EXITING THE
FUNCTION without actually doing anything).

I spent so much time thinking that item deletion wasn't working because
amt was being set to 0, false, or null perhaps when no, it wasn't that.
The function was just exiting out even before the (!amt) check due to
the atrocities committed by someone before me.

Setting amt = `R.reqs[path_key] || R.machinery[path_key]` on the other
hand always evaluates to a positive integer (either the successfully
retrieved reqs amt, or a 1 from the OR expression). It was only by
coincidence that the code did what it was supposed to, because:

1) Every single recipe has R_reqs, so the first part will never cause
the function-exiting failure because the list is never empty.
2) As for the second part of the expression, there are no recipes that
make use of CRAFTING_MACHINERY_USE, so the fact that machinery[path_key]
was never actually being accessed and thus set to a var (which is what
causes the function to exit) didn't matter.

So these two things together have basically allowed a really bad bug to
go unnoticed this whole time. I only noticed it because when trying to
add a third part to the expression it just did not work at all how you
would expect.

The solution is rather simply to add a check like so:
```

	main_loop:
		for(var/path_key in requirements)
			amt = R.reqs?[path_key] || R.machinery?[path_key]
			if(!amt)//since machinery can have 0 aka CRAFTING_MACHINERY_USE - i.e. use it, don't consume it!
				continue main_loop
```

Fixes https://github.com/Skyrat-SS13/Skyrat-tg/issues/18732 .

Fixes a bug with crafting that would inevitably torment someone else as
soon as they tried to add the right kind of recipe, if that hasn't
already happened by now.

<details>
<summary>Toilet bongs are back baby!!</summary>

![image](https://user-images.githubusercontent.com/13398309/213941079-ae7d007a-ca92-4de3-9de6-7a156b4a0618.png)

</details>

🆑
fix: toilet bongs crafting recipes
fix: fixed crafting itself
refactor: cleaned up some old code in the recipes file, added support
for structures in recipes
/🆑

* Update tgui/packages/tgui/interfaces/PersonalCrafting.tsx

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update tgui/packages/tgui/interfaces/PersonalCrafting.tsx

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-01-26 16:45:53 -05:00
Nerevar
128fdf5558 [READY][EVIL CODE]Makes Snails Clean Floors (#18925)
me when i reset the wrong branch to master

Co-authored-by: Snakebittenn <12636964+Snakebittenn@users.noreply.github.com>
2023-01-26 14:26:32 -05:00
Pinta
ae198af4d9 [MOSTLY MODULAR] NIFs (#18349)
* Revert "Merge remote-tracking branch 'upstream/master' into NIFs"

This reverts commit c2aea213fd400f9d6d12d955340cb0e7d2f9c36f, reversing
changes made to 1bb613b64a603c280abec40d9c82fde69248b196.

* Revert "Revert "Merge remote-tracking branch 'upstream/master' into NIFs""

This reverts commit 10a6f906f70857cfffd9ddef7b609fecc21da902.

* we don't need this (for right now)

* Update nifsoft_shop.dm

* new nif models

* Update nif_implants.dm

* we now have items

* nice

* logging and removers

* Update nifs.dm

* nif repair surgery

* death durability loss and EMPs

* more messages and NIF TGUI fix

* polish

* debug NIF and soulcatcher polish

* new phone action sprite

* NIFs for ghost roles

* Better EMP

* this doesn't really have a good reason to be here.

* lore

* Update modular_skyrat/modules/modular_implants/code/nifsofts/shapeshifter.dm

Co-authored-by: Nerevar <12636964+Nerev4r@users.noreply.github.com>

* Update modular_skyrat/modules/modular_implants/code/nifsofts/shapeshifter.dm

Co-authored-by: Nerevar <12636964+Nerev4r@users.noreply.github.com>

* Update code/controllers/subsystem/ticker.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update nif_implants.dm

* a

* Apply suggestions from code review

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update nifs_tgui.dm

* Update modular_skyrat/modules/modular_implants/code/nifsofts/hivemind.dm

* Update modular_skyrat/modules/modular_implants/code/nifsofts/shapeshifter.dm

* Update modular_skyrat/modules/modular_implants/code/nifsofts/shapeshifter.dm

* Apply suggestions from code review

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* fixes an oversight

* Apply suggestions from code review

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* that wouldn't be good

* Update packs.dm

* Update nifs.dm

* Update nif_implants.dm

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* Update misc_devices.dm

* Update dualboot.dm

* Update CentCom_skyrat_z2.dmm

* Update CentCom_skyrat_z2.dmm

* Update hivemind.dm

* Apply suggestions from code review

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* Update packs.dm

* Update prop_summoner.dm

* Update shapeshifter.dm

* Update packs.dm

* Update nif_presistance.dm

* Update prop_summoner.dm

* Update dualboot.dm

* Apply suggestions from code review

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Tastyfish <crazychris32@gmail.com>

* static data

* Update persistence.dm

* Update persistence.dm

* Update persistence.dm

* uhoh

* Update nif_presistance.dm

* Update nifs.dm

* pain

* Revert "pain"

This reverts commit 3adc919f849b68de2ab4245c7db26a02e85bf0c6.

* I don't know why this was in here

* Update nifsofts.dm

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* Update shapeshifter.dm

* Update nifs.dm

* Update nifs.dm

* Update modular_skyrat/modules/modular_implants/code/nifsofts/shapeshifter.dm

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* Update prop_summoner.dm

* Update misc_devices.dm

* Delete BlueShift_upper.dmm

* Update prop_summoner.dm

* Update prop_summoner.dm

* vendor

* R&D

* Update nifsoft_shop.dm

* Update dualboot.dm

* Update NifPanel.js

* Update money_sense.dm

* I'm sorry for what I must do

* Update money_sense.dm

* cost adjustments

* theme

* Update nifsoft_shop.dm

* examine fix

* examine text change

* Money Sense is now a trait

* Revert "Money Sense is now a trait"

This reverts commit 16c124ffb2cb70136abe6eb41b330d389208afa7.

* component

* Update modular_skyrat/modules/modular_implants/code/nifs.dm

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* Update nifs.dm

* we do a bit of file moving

* component

* Update nifs.dm

* Update hivemind.dm

* Update hivemind.dm

* Update prop_summoner.dm

* Revert "Merge remote-tracking branch 'upstream/master' into NIFs"

This reverts commit a7f7945eaa9c9ed6f9253b7cb71c6be79f3bf9e9, reversing
changes made to bca1a7f1811d3a82bf253c5a8d70431567c399a7.

* Revert "Merge remote-tracking branch 'upstream/master' into NIFs"

This reverts commit bca1a7f1811d3a82bf253c5a8d70431567c399a7, reversing
changes made to 2559afc7a9737863f7d96494e01216a1ea0f5428.

* Revert "Merge remote-tracking branch 'upstream/master' into NIFs"

This reverts commit e8293971b07a2ffbe61a7e17d5f9ac94b47ef5bc, reversing
changes made to dad4ef7a9ac697d0e887c336bd486c17fb54f2a8.

* whoops

* Revert "Revert "Merge remote-tracking branch 'upstream/master' into NIFs""

This reverts commit c607aca6bc3e55cc724f25fa6e38011b05ebc8c6.

* Revert "Revert "Merge remote-tracking branch 'upstream/master' into NIFs""

This reverts commit b42f89b9c647d845a17732f1caaf1a50dcdd4515.

* Revert "Revert "Merge remote-tracking branch 'upstream/master' into NIFs""

This reverts commit 1d6ffe92bcaa8035f8918dc533870ec4b74ed9a3.

* Apply suggestions from code review

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* fixes things

* Update nifs.dm

* QoL

* no more summoning infinite items

* start of componentization

* Update prop_summoner.dm

* FIRMLY GRASP IT!

* Update prop_summoner.dm

* Update prop_summoner.dm

* Update nifsofts.dm

* Update prop_summoner.dm

* Update nifsoft_shop.dm

* boy, I really hope somebody got fired for that blunder

* Update nif_presistance.dm

* mistakes were made.

* Delete CentCom_skyrat_z2.dmm

* Revert "Delete CentCom_skyrat_z2.dmm"

This reverts commit 8a1cdc4b065246fb07cbaf5461d01565e0ddbe06.

* Update CentCom_skyrat_z2.dmm

* Update CentCom_skyrat_z2.dmm

* It's a solution

* Update CentCom_skyrat_z2.dmm

* Update CentCom_skyrat_z2.dmm

* Update NifPanel.js

* Price changes

* Update nif_presistance.dm

* Such devastation, this was not my intention.

* Woooo!

* Documentation

* cryo fix

* I am sorry to anyone that had a NIF before the persistence change

* Update nif.dm

* I need to figure out why this is happening.

* Apply suggestions from code review

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* a

* Update modular_persistence.dm

* Update modular_persistence.dm

* Update nifs.dm

* Update nifs.dm

* I do the code

* Hopefully this helps

* Update ticker.dm

* Update modular_persistence.dm

* Removes client requirement

* Use brain, much better for allowing persistent organs and similar in the future.

* Did testing, it fucking works now.

* Update mind_linker.dm

* Update misc_devices.dm

* Update misc_devices.dm

* Update nifs_tgui.dm

* Thanks gamers :^)

* a

* Update nifsoft_shop.dm

* Update nifsofts.dm

* Update hivemind.dm

* Update hivemind.dm

* Update prop_summoner.dm

* whoops

* FUUUUCK

* FUCK x2

* this feels like cargo job gear

* stack trace

* roundstart fix

* Update modular_skyrat/modules/modular_implants/code/nifsofts/prop_summoner.dm

Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com>

* Update modular_persistence.dm

* Update nifs.dm

* Update hivemind.dm

* Update nifs.dm

* vital spelling fix

* whoopsie

* Update nif_persistence.dm

* power_refactor

* durability refactor

* a

* Update nifsofts.dm

* pain

* Update modular_skyrat/modules/modular_implants/code/nifs.dm

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* Update nifsofts.dm

* Update packs.dm

* Update nifs.dm

* Update nifs.dm

Co-authored-by: Nerevar <12636964+Nerev4r@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: RimiNosha <riminosha@gmail.com>
Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com>
2023-01-24 14:27:00 -08:00
SkyratBot
8def7b367d [MIRROR] Fixes monkey humans having their AI turned on when revived (and having a client) [MDB IGNORE] (#18906)
* Fixes monkey humans having their AI turned on when revived (and having a client) (#72799)

## About The Pull Request

Stops on_stat_changed turning on AI with a client
makes monkey humans not wack

## Why It's Good For The Game

fixes #72432

## Changelog
🆑
fix: Monkey Humans no longer have their AI turned on upon revival
/🆑

* Merge skew fixed by 72908

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-01-23 17:43:12 -05:00
SkyratBot
8fcac218c1 [MIRROR] Fix: DNA Infuser & Infusions [MDB IGNORE] (#18748)
* Fix: DNA Infuser & Infusions

* Fixes the damn conflict

* Fix: DNA Infuser Organ Filtering (#72745)

## About The Pull Request

My PR #72688 was merged mid-review. This is a followup PR to fix the
buggy code which was introduced by myself in between testing a naive
approach to organ filtering. The code does not work due to my own
oversight, as I was attempting to test buggy code in
`/obj/machinery/dna_infuser/proc/infuse_organ` when the prior PR was
merged.

I took this chance to simplify the code more, and I added an additional
proc to the DNA Infuser to replace inline code, `pick_organ`. The proc
picks a random mutated organ from the infuser entry which is also
compatible with the target mob. If none of the organs are compatible,
then the infusion still pricks you with needles but nearly-silently
fails by omitting the "You feel yourself becoming..." chat message.

`pick_organ` tries to return a valid mutant organ if all of the
following criteria are true:
1. Target must have a pre-existing organ in the same organ slot as the
new organ;
   - Or, the new organ must be external.
2. Target's pre-existing organ must be organic / not robotic.
3. Target must not have the same/identical organ.

## Why It's Good For The Game

The DNA Infuser should filter organs depending on whether or not the
occupant has one already, if it is organic, and if it doesn't exist the
occupant can still get an external organ (such as a cat tail). This PR
introduces algorithmically correct code to filter the organs, and fixes
bugs introduced by my prior PR which caused the proc to throw a runtime.

## Changelog

🆑 A.C.M.O.
fix: Fixed buggy organ filtering code in the DNA Infuser which stopped
it from infusing organs.
/🆑

Co-authored-by: Dani Glore <fantasticdragons@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-01-23 17:18:50 -05:00
Bloop
c3f970c0e0 [MANUAL MIRROR] Crafting fireaxe cabinets, mech removal cabinets, and mirrors (#18919)
Crafting fireaxe cabinets, mech removal cabinets, and mirrors (#72856)

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2023-01-23 17:06:34 -05:00
SkyratBot
9a4e5641c7 [MIRROR] monophobia blind fix [MDB IGNORE] (#18902) 2023-01-23 10:25:59 -08:00
SkyratBot
411b9df783 [MIRROR] Lowers firedoor loop volume [MDB IGNORE] (#18908) 2023-01-23 10:24:24 -08:00
SkyratBot
a6adbf05f8 [MIRROR] Memory Expansion! New memories, and prisoners are tattoo'd to the degree of their crime. [MDB IGNORE] (#18691)
Memory Expansion! New memories, and prisoners are tattoo'd to the degree of their crime.

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-01-22 19:43:12 -05:00
SkyratBot
b9958bf2b6 [MIRROR] Changes signals In item_scaling to fix inventory scaling [MDB IGNORE] (#18873)
Changes signals In item_scaling to fix inventory scaling (#72696)

## About The Pull Request
Fixes #72601 which finally allows item scalable objects to properly
scale to large again when inside an inventory.
Replaces and removes signals that don't seem to effect the item itself.
## Why It's Good For The Game
Can finally see cards in ones binder easily, and allows future items
with item_scaling to properly work.
## Changelog
🆑
fix: fixed Item scaling objects not properly scaling in inventory slots.
/🆑

Co-authored-by: Ed640 <Ed.640@hotmail.com>
2023-01-22 18:55:34 -05:00
SkyratBot
29f279bfdc [MIRROR] Magnitis is more aggressive, uses throw_at instead of Move at higher stages [MDB IGNORE] (#18883)
Magnitis is more aggressive, uses throw_at instead of Move at higher stages (#72739)

I got this disease yesterday and was super disappointed by the actual
effects. Rather than suffer an unending waves of metal objects being
thrown at my head, I noticed that stuff on the bridge kept getting
disorganized, shrugged, and moved on.

Now, stages 3/4 of Magnitis will use throw_at instead of just moving
objects to the infectee. This can hurt or even kill the victim in
extreme cases. Remember to duck!

The messages about electrical shocks will now appear when a magnetic
pulse occurs. Some of the disease messages have been slightly altered to
fit this.

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-01-22 18:51:58 -05:00
SkyratBot
20be5b2ab4 [MIRROR] Being wet no longer causes you to be EXTRA flammable [MDB IGNORE] (#18882)
Being wet no longer causes you to be EXTRA flammable (#72843)

Being wet no longer causes you to be even more flammable, and instead
properly lets you dry up instead of catching on fire even faster when
receiving fire stacks.

What caused this was that there was some double-negatives happening,
which meant that both fire and wet stacks would be increased together
when both were present at once, rather than both being reduced and one
of the two cancelling out the other.

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-01-22 18:31:50 -05:00
nevimer
b4a77d1bfa MISSED MIRROR: Adds windup autofire functionality. The future is now. (Later) (#67911) (#18850)
* Adds windup autofire functionality. The future is now. (Later) (#67911)

Pulls the wind up autofire functionality from my energy weapon pr as a standalone code improvement.

(cherry picked from commit ff21ecc626)

# Conflicts:
#	code/datums/components/fullauto.dm

* Modular!

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2023-01-23 11:59:12 +13:00
nevimer
8dee2e45cd [CORRECTING A MIRROR] Makes station traits less common (#56726) (BYE INTERN) (#18867)
Makes station traits less common (#56726)

The chance for station traits overall has been reduced, while the
weight of some traits have been changed.
# Conflicts:
#	code/datums/station_traits/neutral_traits.dm

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2023-01-21 22:18:39 -08:00
SkyratBot
c5ca08fd01 [MIRROR] Adds spaces around logical operators [MDB IGNORE] (#18776)
* Adds spaces around logical operators

* Update code/modules/admin/verbs/admingame.dm

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-01-21 22:16:43 -08:00
nevimer
b2e7e489cb Missed Mirror: Fix incorrect calls to UnregisterSignal (#68698) (#18856)
Fix incorrect calls to UnregisterSignal (#68698)

Fix calls to UnregisterSignal

(cherry picked from commit aba3bc80e0)

# Conflicts:
#	code/_onclick/hud/new_player.dm
#	code/datums/status_effects/debuffs/debuffs.dm
#	code/game/objects/items/devices/geiger_counter.dm

Co-authored-by: Gamer025 <33846895+Gamer025@users.noreply.github.com>
2023-01-21 22:15:23 -08:00
nevimer
9baf0a574d Missed Mirror: Fixes Lawyer and Atmos techs being on the wrong trimmers. (#68292) (#18857)
Fixes Lawyer and Atmos techs being on the wrong trimmers. (#68292)

Fixes Lawyer and Atmos tech trims being on the trimmers

Makes Atmos techs assigned by the CE, rather than the HoP, and additionally removes the Lawyer from the HoS' PDA painter. The HoS can't even grant Law office access as it is under service, so I see no reason why they would be able to give the service job away in the first place.

(cherry picked from commit f88fe75188)

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-01-21 22:14:54 -08:00
nevimer
79d3bfb35a Missed Mirror: Fixes the freezing component (#68737) (#18855)
Fixes the freezing component (#68737)

(cherry picked from commit 5b0b56eef4)

# Conflicts:
#	code/datums/elements/frozen.dm

Co-authored-by: Profakos <profakos@gmail.com>
2023-01-21 22:14:07 -08:00