Commit Graph

2370 Commits

Author SHA1 Message Date
SkyratBot 7decf9c031 [MIRROR] Adds lag compensation for the supermatter zaps and some antagonists. [MDB IGNORE] (#23632)
* Adds lag compensation for the supermatter zaps and some antagonists. (#78174)

## About The Pull Request
Adds delta time scaling for changeling chemical generation, xenomorph
plasma generation, xenomorph resin healing (up to 8 seconds per tick to
prevent weird instant heal phenomena in extreme cases), and revenant
essence generation. This delta time scaling is based on the world's time
and the respective subsystem's last fire. This will help keep these
generation smooth even when their respective subsystem lags, preventing
lag from ruining the antagonists rounds. This can still slow down if the
actual world is slowing down, but that's fine because the rest of the
world will typically be slowing down proportionately so it's fair.

Fixes supermatter zap rate not scaling with its internal energy
properly. Ghilker forgot to scale the time reduction by seconds. It
should be much faster at higher energy levels, making the transition
between 0 and 5 GeV more smooth.

Supermatter zap power generation will scale by the world's delta time
between the supermatter's last zap, making power generation more
consistent even when atmos lags. Also prevents the supermatter zap rate
scaling from also scaling the power generation by extreme amounts,
keeping it linear and consistent for the first 5 GeV (>5GeV has cringe
power multipliers, but I'm going to ignore that for this PR, because I
want this to mainly be a consistency thing rather than a balance thing).
A 1.5GeV supermatter will be able to generate around 800kW* of power. I
forgot exactly what goal of power we want the roundstart SM to produce,
so I might change the scale if I find the target power generation.

* - By generate 800kW of power I mean the energy the actual zaps
contain. Tesla coils don't collect 100% of it. I'll test later to see
how much an actual roundstart SM will output to grid (ignoring SMES),
and I'll try to keep it as close as possible to what it was before this
PR assuming no lag.
## Why It's Good For The Game
Subsystems can disproportionately lag a lot more compared to the rest of
the subsystems and game. This can ruin antagonist rounds as it can slow
their chemicals, plasma or whatever generation grinding to a halt. The
delta time scaling will significantly reduce the impact of lag for these
antagonists, allowing them to play more normally even while the
subsystems their generators run on are lagging.

Supermatter zap rate was supposed to fire every 2.5 or something seconds
at 1.5GeV according to comments on older commits. I just assume they
accidentally forgot to scale their time reduction by seconds, as doing
that made it work accordingly.

For supermatter zap power generation delta time scaling, kinda same
reasoning as for the antagonists. We don't want power generation to stop
because atmos ss is being slow. Scaling between the zaps also prevents a
nonlinear boost to power generation making it even more absurd at higher
energy levels.
## Changelog
🆑
balance: Supermatter zap power generation scales with the delta time
between its last zaps, preventing faster zapping from scaling power
generation to extreme levels.
fix: Fixes supermatter zap rate not scaling properly. It should zap much
faster at higher energy levels as intended.
qol: Changeling chemical generation scales with the world's delta time,
making its rate independent of subsystem lag.
qol: Revenant essence generation scales with the world's delta time,
making its rate independent of subsystem lag.
qol: Xenomorph plasma generation and resin healing scales with the
world's delta time, making their rates independent of subsystem lag.
/🆑

* Adds lag compensation for the supermatter zaps and some antagonists.

---------

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2023-09-11 12:27:53 -04:00
SkyratBot 71ae83df92 [MIRROR] Update clothing appearance following species change [MDB IGNORE] (#23619)
* Update clothing appearance following species change (#78185)

## About The Pull Request

Fixes #78179
Monkey clothes didn't fit following black charged slime transformation
(I hate xenobiology)
Moved the proc call which updated the clothing appearance from turning
into or returning from being a monkey into generic `on_species_gain` on
the basis that this would effect any species with weird clothing offsets
(such as transforming into a golem from the same source) and we don't
want a bunch of specific checks against it.

Also I just tidied up that proc a little bit.

## Changelog

🆑
fix: Your clothes and such should correctly reposition themselves if a
black charged slime extract turns you into a monkey.
/🆑

* Update clothing appearance following species change

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-09-10 21:43:09 -04:00
SkyratBot 114449eafe [MIRROR] Bloodchiller and ling tentacle work with antimagic [MDB IGNORE] (#23614)
* Bloodchiller and ling tentacle work with antimagic (#78200)

## About The Pull Request
Fixes #78198
Tentacle and bloodchiller had antimagic flags that they inherited from
`gun/magic` and were unusable if you had magic immunity. I set those
flags to `NONE`
## Why It's Good For The Game
Fixes a bug
## Changelog
🆑
fix: Changeling tentacle and bloodchiller from xenobio will no longer
stop working if you have antimagic
/🆑

* Bloodchiller and ling tentacle work with antimagic

---------

Co-authored-by: cnleth <113535457+cnleth@users.noreply.github.com>
2023-09-10 13:36:04 -04:00
SkyratBot 542ddd22f2 [MIRROR] Fixes traitor objective brainwashing deadchat broadcast double-punctuation and doubles the number of default directives [MDB IGNORE] (#23595)
* Fixes traitor objective brainwashing deadchat broadcast double-punctuation and doubles the number of default directives (#78161)

## About The Pull Request

This fixes the double-period at the end of brainwashing deadchat
broadcasts. If you know what I'm talking about, you know, but I didn't
want to go back to get screenshots to show what I mean.

The broadcast would automatically put a period at the end of the
compiled message, and the default brainwashing directives already came
with a period at the end. Not content with removing the period at the
end of the directives or the automatic period, I made something that
works both ways.

This also adds some more default directives (the ones given by the
brainwash surgery objective). These objectives aren't too direct or
commanding but still open up opportunities to run with the prompt.
## Why It's Good For The Game

The double punctuation was really annoying me.

The new directives are meant to give variety to the same boring-ish 6
directives by turning 6 into 12. Hopefully they're flexible enough for
more creative spessmen to work with.
## Changelog
🆑
qol: adds some more traitor objective brainwashing default objectives.
spellcheck: fixes the double-punctuation on traitor objective
brainwashing broadcasts.
spellcheck: brainwashing deadchat broadcasts will now auto-punctuate.
/🆑

* Fixes traitor objective brainwashing deadchat broadcast double-punctuation and doubles the number of default directives

---------

Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
2023-09-09 10:32:56 -04:00
SkyratBot 18fc2d9b16 [MIRROR] Oldstation now has their own RND [MDB IGNORE] (#23567)
* Oldstation now has their own RND

* Update oldstation_fluff.dm

* Update techweb_types.dm

* beaker capacity

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-09-07 22:36:11 -04:00
SkyratBot eb31082053 [MIRROR] Choose your own Objective [MDB IGNORE] (#23570)
* Choose your own Objective

* Update changeling.dm

* Update heretic_antag.dm

* Update heretic_antag.dm

* Update malf_ai.dm

* Update AntagInfoHeretic.tsx

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-09-07 20:26:06 -04:00
SkyratBot 71da4ca73f [MIRROR] Refactors the notransform variable into a trait. [MDB IGNORE] (#23566)
* Refactors the `notransform` variable into a trait.

* Update robot_upgrades.dm

* modular

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-09-07 20:24:59 -04:00
SkyratBot 2bcbb36ab9 [MIRROR] [TEST-MERGE FIRST] Allows all limbs to be dismembered and significantly refactors wounds [MDB IGNORE] (#23407)
* [TEST-MERGE FIRST] Allows all limbs to be dismembered and significantly refactors wounds

* ah fuck it

* test

* edaawdawd

* Revert "edaawdawd"

This reverts commit 47be710fe61a1f4ca79212b29b3e88bf05ec9a3a.

* nothing but sheer hatred

* freaawd

* dzfxg

* Fixing some diffs here while we are at it.

* These are deprecated and should be removed

---------

Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: nikothedude <simon.prouty@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-09-05 13:24:22 -04:00
SkyratBot c447e9bddf [MIRROR] Re-does cosmic heretic lore [MDB IGNORE] (#23527)
* Re-does cosmic heretic lore (#77950)

## About The Pull Request

rewrites every gain_text of cosmic heretic and its side paths

## Why It's Good For The Game

i really didnt like reading the original and it felt phoned in. please
feel free to give suggestions about my writings in the comments

## Changelog
🆑
spellcheck: re-writes cosmic heretic lore
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: wulfenbach-jpg <53832839+wulfenbach-jpg@ users.noreply.github.com>

* Re-does cosmic heretic lore

---------

Co-authored-by: Jackal-boop <61211748+Jackal-boop@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: wulfenbach-jpg <53832839+wulfenbach-jpg@ users.noreply.github.com>
2023-09-05 05:57:51 -04:00
SkyratBot 5f829cffac [MIRROR] Medical/roller beds [MDB IGNORE] (#23520)
* Medical/roller beds

* medical beds

* Update ninja_den.dmm

* medicell

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-09-04 13:41:52 -07:00
SkyratBot 06cce1effb [MIRROR] replaces surgical and coroner duffels with surgery trays and medical carts, resprites razor [MDB IGNORE] (#23499)
* replaces surgical and coroner duffels with surgery trays and medical carts, resprites razor

* Update cosmetics.dm

* Update tramstation.dmm

---------

Co-authored-by: Lamb <110322848+CoiledLamb@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
2023-09-04 12:44:08 -07:00
SkyratBot 87bfa7a61a [MIRROR] Fixes typo 'transfered', olive oil reaction repath [MDB IGNORE] (#23469)
* Fixes typo 'transfered', olive oil reaction repath

* Modular

* Update condiment.dm

* Update recipes_guide.dm

* Update _cup.dm

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-09-04 08:49:33 -04:00
SkyratBot 55cbf493f7 [MIRROR] Adds a sound effect for hypospray/medipen injections [MDB IGNORE] (#23493)
* Adds a sound effect for hypospray/medipen injections (#77979)

## About The Pull Request

Adds a sound effect for hypospray/medipen injections. Doesn't affect
sleepy pens or HMS injectors

Sound is sourced from the open source CM codebase.

## Why It's Good For The Game

> Adds a sound effect for hypospray/medipen injections. Doesn't affect
sleepy pens or HMS injectors

Satisfactory, visceral feedback of injection. Sounds nice. Makes stealth
injections less noticeable, I guess, not that there's any good
candidates for that with medipens.

## Changelog

🆑
sound: Adds a sound effect for hypospray/medipen injections. Doesn't
affect sleepy pens or HMS injectors
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>

* Adds a sound effect for hypospray/medipen injections

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
2023-09-03 13:20:25 -04:00
SkyratBot e3f8dd884e [MIRROR] Better alert/announcment sounds and Status displays [MDB IGNORE] (#23481)
* Better alert/announcment sounds and Status displays

* skyrat edits

* Update status_display.dmi

* Update flavor_misc.dm

* Update communications.dm

* skyrat edits

* Update status_display.dmi

* Update _sm_delam.dm

* typo

* Update status_display.dmi

* Update status_display.dmi

---------

Co-authored-by: DrTuxedo <42353186+DrDiasyl@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-09-03 00:43:12 -07:00
SkyratBot 1eda59a459 [MIRROR] Replaces Ascended Blade Heretic stun imminuty with a stun absorption effect (it's not as cool as it sounds) [MDB IGNORE] (#23472)
* Replaces Ascended Blade Heretic stun imminuty with a stun absorption effect (it's not as cool as it sounds)  (#78060)

## About The Pull Request

Instead of being completely immune to stuns after ascension, blade
heretics now have a stun absorption. This is the effect that His Grace
and the Bastard Sword use.

It functions similarly, in that it stops you from being hardstunned, but
the difference it is they are only immune to a limited amount of stuns
for a limited amount of time before it recharges.

Currently that number is 45 seconds of stuns, with a 2 minute recharge,
meaning if you take more than 45 seconds of stun effects you will stop
being immune.

Bear in mind this still provides full immunity to being stamcrit*, as
stam doesn't contribute towards "seconds stunned" number.

*Unless you used all 45 seconds of stun immunity then you will no longer
be immune until you recharge.

Also to compensate, I gave them a slightly modifier protecting against
knockdowns.

## Why It's Good For The Game

I forgot Stun Absorptions were a thing entirely when making this even
though I refactored the darn things.

Anyways, the reason why I'm doing this is that Stun Absorptions are just
a slightly more fair, less overt way of providing stun immunity, and I
think it fits the theme more.

You're supposed to be a master duelist, but being able to take on a
dozen people at once is not entirely intended (even though this is the
ascension, I know). Stun Absorptions lend better to that, since you run
out of stun juice eventually before you have to pull back.

Though ultimately this doesn't change very much, as we use very few
hardstuns now-a-days:

- A flashbang will contribute about 10 seconds of stun time
- A flash is similar to a flashbang
- Bodythrows and tackles are less than 5 seconds
- Beepsky, 10 seconds
- Stamcrit, 0 seconds, but you are still slowed by stamina damage
- A banana peel, default is roughly 6 seconds. <-- (This is why I gave
them a knockdown modifier)

However it does mean you can't really tank an AI stun turret all day.
That's Rust's thing. Go play Rust Heretic.

## Changelog

🆑 Melbert
balance: Ascended Blade Heretics no longer have blanket stun immunity,
they now have 45 seconds of stun absorption that recharges after 2
minutes - think His Grace. This doesn't affect stamcrit (still immune to
that) (assuming you haven't consumed all of your immunity charge) but
does affect hard CC such as slips, flashbangs, or beepsky.
balance: Ascended Blade Heretics now have a 0.75 modifier to incoming
knockdowns.
/🆑

* Replaces Ascended Blade Heretic stun imminuty with a stun absorption effect (it's not as cool as it sounds)

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-09-02 17:39:23 -04:00
RatFromTheJungle 13694ca6e8 [Not Entirely Modular] Removes bundles from opfor : Removes Microbomb implants from Ninja + Contractor (#21776)
* Update outfit.dm

* Update misc.dm

* Update outfit.dm

* Update code/modules/antagonists/ninja/outfit.dm

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

---------

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-09-02 13:11:35 -04:00
SkyratBot cdd4cb1cf9 [MIRROR] Adds pirate gang information to pirate candidate/orbit popups [MDB IGNORE] (#23459)
* Adds pirate gang information to pirate candidate/orbit popups (#78061)

## About The Pull Request

Pirate candidate gathering now gives more info on the type of pirates
being polled for in the popup message.

This slightly changes two pirate gang datum names, for better
readability.

This also makes the orbit popup say the name of the shuttle instead of
just "the pirate shuttle".

![image](https://github.com/tgstation/tgstation/assets/28870487/e1f90045-8ae6-4fea-8327-2ae0670059f6)

![image](https://github.com/tgstation/tgstation/assets/28870487/eb97cb51-9960-469a-9aa4-2517a2ae36b5)

wa la
## Why It's Good For The Game

Ease of observation, more information provided to players.
## Changelog
🆑
qol: The pirate candidate gathering poll will now mention which pirate
gang it is gathering candidates for.
/🆑

* Adds pirate gang information to pirate candidate/orbit popups

---------

Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
2023-09-02 11:42:12 -04:00
SkyratBot a70310d64d [MIRROR] Renames the ex interdyne pirate shuttle [MDB IGNORE] (#23445)
* Renames the ex interdyne pirate shuttle (#78024)

## About The Pull Request

I saw #76676 has staled out and wasn't reopened with the required
changes, so I have done it myself, and renamed the map and the
template's suffix.

## Why It's Good For The Game

Now linux hosts can also experience being raided by angry pharmacists
from space.

## Changelog

🆑
fix: Ex-Interdyne pirates can now successfully spawn on case sensitive
host systems, such as Linux
/🆑

* Renames the ex interdyne pirate shuttle

---------

Co-authored-by: Profakos <profakos@gmail.com>
2023-08-31 23:40:35 -04:00
SkyratBot d4bb0d4c86 [MIRROR] Adds Summon Cheese [MDB IGNORE] (#23430)
* Adds Summon Cheese

* Update staff.dm

---------

Co-authored-by: Sealed101 <cool.bullseye@yandex.ru>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-08-31 18:09:25 -07:00
SkyratBot 1edbfcd0f0 [MIRROR] Nuclear operatives can now be other species. Pref toggle to always be human as operative [MDB IGNORE] (#23433)
* Nuclear operatives can now be other species. Pref toggle to always be human as operative

* remove skyrat edit

---------

Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-08-31 14:27:59 -07:00
SkyratBot f8b2329771 [MIRROR] Fixes issue where role banned players can still play roles they're banned from. [MDB IGNORE] (#23399)
* Fixes issue where role banned players can still play roles they're banned from.

* Update sql_ban_system.dm

* Some formatting updates

---------

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-08-31 00:10:42 -04:00
SkyratBot 91837e26b4 [MIRROR] Progress bars & cleaning particles will centre on the tile occupied by large icon objects [MDB IGNORE] (#23394)
* Progress bars & cleaning particles will centre on the tile occupied by large icon objects (#77940)

## About The Pull Request

Do_after bars always draw based on the top-left corner of the targetted
atom, for atoms with sprites that are larger than 32x32 this gives them
a weird offset instead of being centred, which bugs me.
I have tried my best to figure out a way to reverse this which does not
interfere with atoms which use pixel_x/pixel_y to visually appear to be
on a different tile.

## Why It's Good For The Game

Before:

![image](https://github.com/tgstation/tgstation/assets/7483112/a1127695-58fa-40fc-aa0a-6bc8a0589e74)
he hates how you missed him completely 😦

After:

![image](https://github.com/tgstation/tgstation/assets/7483112/deb4fbb8-e286-46b4-84a7-82b65b4f1eee)
now you're cleaning his feet 🙂

## Changelog

🆑
image: progress bars and cleaning particles are now centered on the tile
occupied by the target, if it is a big sprite
/🆑

* Progress bars & cleaning particles will centre on the tile occupied by large icon objects

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-08-28 23:40:16 -04:00
SkyratBot 513cbcf3d4 [MIRROR] Fixes some heretic bugs (?) [MDB IGNORE] (#23386)
* Fixes some heretic bugs (?) (#77611)

## About The Pull Request

Items worn on a void cloak's suit storage are no longer visible on the
stripping menu.

Heretic influences protect the turf below them from leaving scannable fingerprints.

* Fixes some heretic bugs (?)

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
2023-08-28 14:32:05 -07:00
SkyratBot 0f01c46102 [MIRROR] Damage resistance is now applied properly when synchronous mesh blobs deals damage to itself on hit [MDB IGNORE] (#23368)
* Damage resistance is now applied properly when synchronous mesh blobs deals damage to itself on hit (#77831)

## About The Pull Request

The synchronous mesh blobstrain bypasses damage resistance when dealing
collateral damage to nearby blob... things? Structures? Meshes? Anyways,
this is now fixed with this PR well as getting rid of an unnecessary
double `orange()` call.
## Why It's Good For The Game

This is actually a weird consistency error, and I don't know why it
exists. Why we have a bypass for damage resistance is really byond me,
and I hope this puts a bit more balance into place of---

guys don't listen to her she's doing this to remove clone damage from
the game do not listen to her lies about game balance
## Changelog
🆑 distributivgesetz
balance: Damaging synchronous mesh blobs now incorporates damage
resistance of other blob structures when dealing shared damage to those
nearby.
/🆑

* Damage resistance is now applied properly when synchronous mesh blobs deals damage to itself on hit

---------

Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
2023-08-27 10:46:25 -07:00
SkyratBot 00a584184b [MIRROR] Fixes greyscale colors not updating when changing their colors via VV, and fixes some issues with accessories [MDB IGNORE] (#23346)
* Fixes greyscale colors not updating when changing their colors via VV, and fixes some issues with accessories (#77806)

## About The Pull Request

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

This fixes a few bugs and cleans up code a bit:

1) Greyscale colors that were changed via the VV modify greyscale menu
will now update the mob's worn clothing accordingly. It wasn't doing
this before. Accessories in particular needed a bit of extra work to
update in this way because it wasn't coded with this case in mind.

2) Accessories will call `equipped()` and `dropped()` when they get
added/removed. This will fix issues like item flags being incorrectly
set, action bars not being added, etc.

3) Accessories will now be returned by `get_all_gear()`. This will
probably fix a few issues I'm not aware of.

## Why It's Good For The Game

<details><summary>Works</summary>

![dreamseeker_xijzQB0ALa](https://github.com/tgstation/tgstation/assets/13398309/eccb35d5-e1ea-4e2c-9906-f5b8c2187d24)

</details>

<details><summary>get_all_gear()</summary>

![dreamseeker_WsG0Uu2tIe](https://github.com/tgstation/tgstation/assets/13398309/d5c272d4-1990-454c-b48f-4da7b6a5f859)

</details>

<details><summary>get_equipped_items()</summary>

![dreamseeker_qe4hMngAO3](https://github.com/tgstation/tgstation/assets/13398309/06469b93-2a58-49db-be7f-c748576bf481)

</details>

<details><summary>item_flags get set now, hopefully preventing future
issues related to that</summary>

![image](https://github.com/tgstation/tgstation/assets/13398309/29a0e25a-a88f-4547-99f8-888da6b85e4d)

</details>

## Changelog

🆑
fix: greyscale colors will now update on the mob when modifying them via
the VV menu
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>

* Fixes greyscale colors not updating when changing their colors via VV, and fixes some issues with accessories

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2023-08-26 16:38:29 -04:00
SkyratBot 0687af984d [MIRROR] Light eater is now indestructible [MDB IGNORE] (#23339)
* Light eater is now indestructible (#77903)

## About The Pull Request

This means a nightmare going into an emagged recycler will no longer be
fucked by their lack of a light eater.
Oh yeah, also moved the ACID_PROOF flag to the correct bitflag.
## Why It's Good For The Game

Bugfix good, you're not supposed to be able to delete an external limb
generated by an internal one, such as implants and such. Pretty sure
reimplanting the heart would make the light eater reappear, too, but
that's night impossible to get done as a nightmare.
## Changelog
🆑
fix: Light eaters can no longer be eaten by their higher-grade brothers,
the trash eaters. (recyclers)
/🆑

* Light eater is now indestructible

---------

Co-authored-by: RikuTheKiller <88713943+RikuTheKiller@users.noreply.github.com>
2023-08-26 01:36:52 -04:00
SkyratBot c529b754fb [MIRROR] Fixes a bunch of callbacks that were being qdeleted, and code cleanup [MDB IGNORE] (#23319)
* Fixes a bunch of callbacks that were being qdeleted, and code cleanup (#77904)

## About The Pull Request

![image](https://github.com/tgstation/tgstation/assets/13398309/559eb50a-461c-4220-b628-55412baaffc3)

Continuing the work of
https://github.com/tgstation/tgstation/pull/77850.

it started with finding one that was being missed and causing a
runtime...then I noticed a whole lot more. While I was doing this I
found callbacks that weren't being nulled in `Destroy()`, so I added
that wherever I found these spots as well as some general code cleanup.

There were a lot more of these than I initially hoped to encounter so
I'm labeling it as a refactor.

## Why It's Good For The Game

Fixes lots of runtimes, improves code resiliency.

## Changelog

🆑
refactor: fixed a bunch of instances of callbacks being qdeleted and
cleaned up related code
/🆑

* Fixes a bunch of callbacks that were being qdeleted, and code cleanup

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-08-25 19:06:07 -04:00
SkyratBot c77ec09d44 [MIRROR] Fixes apocalypse rune applying invisibility on mobs. [MDB IGNORE] (#23307)
* Fixes apocalypse rune applying invisibility on mobs. (#77822)

## About The Pull Request
Fixes https://github.com/tgstation/tgstation/issues/77714
Icons for apocalypse weren't pathed properly, so they were just applying
non-existing icons.
Also changed preview image for unholy water bottle on the altar, as it
was added it's own icon.
## Changelog
🆑
fix: fixed apocalypse rune applying invisibility to mobs.
fix: Unholy water preview icon is now similar with the icon it has.
/🆑

* Fixes apocalypse rune applying invisibility on mobs.

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
2023-08-24 21:23:47 -04:00
SkyratBot 0017eb3554 [MIRROR] ninja stungloves nerf + quirks [MDB IGNORE] (#23294)
* ninja stungloves nerf + quirks (#77810)

## About The Pull Request
the ninja stungloves are no longer a knockdown + shove in one click (not
a stun). clicking on people now first does the shove and THEN knocks
someone down for 3 seconds after a 0.3 second delay. this means you need
to click on them twice
ninja's stealth module now gives you the silent footsteps trait when
active
all ninjas now have the light step and freerunning quirks

## Why It's Good For The Game
ninjas really cool but he doesn't really need 1 click stuns in addition
to all his other tools, he can escape pretty much anything and has a
sword for melee encounters, and knocking someone down instantly is still
really powerful
ninjas getting quirks that fit them is cute i think, makes sense and is
useful

## Changelog
🆑
balance: ninja's stealth module gives silent footsteps when active
balance: all ninjas now have the light step and freerunning quirks
balance: ninja's hacker module shove no longer stuns in 1 hit. first
shove knocks down and pushes away, second one stuns
fix: fixes ninja shoves not causing sparks
qol: the person in an energy net is now reasonable to hit, the dark part
of the sprite is now an underlay, so you can click the person inside the
net pretty easily and if you wanna hit the net you click the green part
or the darker sides that the human sprite doesnt cover
/🆑

* ninja stungloves nerf + quirks

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-08-23 22:41:38 -04:00
SkyratBot a436271892 [MIRROR] wizards are now introverts [MDB IGNORE] (#23281)
* wizards are now introverts (#77847)

## About The Pull Request
wizards start with the introverted quirk

## Why It's Good For The Game

![image](https://github.com/tgstation/tgstation/assets/23585223/bb82a83e-eae8-49c7-9779-75dc2e4cc29a)

## Changelog
🆑
add: wizards are now introverts
/🆑

* wizards are now introverts

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-08-23 17:06:33 -04:00
SkyratBot 5fd1f08b7e [MIRROR] Replaces the poster and graffiti objectives with assault and early steal & destroy ones. [MDB IGNORE] (#23235)
* Replaces the poster and graffiti objectives with assault and early steal & destroy ones.

* Update engineering.dm

* Update cargo.dm

* Update mapping_helpers.dm

* Update mapping_helpers.dm

---------

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-08-21 18:18:28 -04:00
SkyratBot a3d207987c [MIRROR] Adds a handful of Ninja Hacking MODule interactions of varying usefulness [MDB IGNORE] (#23238)
* Adds a handful of Ninja Hacking MODule interactions of varying usefulness (#77707)

## About The Pull Request

Adds a few new interactions with the Ninja's ~~right click multipurpose
trolling tool~~ Hacking MOD Module. These new effects are not tied to
objectives and are geared towards expanding the ninja's access,
disabling equipment, and giving them more ways to punk the crew.

### **Useful additions**
Ninjas can now hack open **windoors** and **elevator control panels**.
Both trigger emag_act() when hacked, opening in the case of the windoor,
and disabling the access restrictions _(and also maybe the safeties)_ in
the case of the elevator controls.

**Buttons** can also be emagged by the hacking modules, which removes
their access restrictions.

Hacking a **camera** will now EMP it, disabling it for about 90 seconds.
This can especially useful when trying to complete objectives, and works
better than smashing the cameras with your sword or lugging around
tools.

**Firelocks** can be right-click opened now too, thanks to the hacking
MODule.

**Energy guns** of all variety, useless to a ninja since they can't use
ranged weapons, can now be drained and used to charge your suit. This
takes a brief do_after to complete, so pulling it off mid-combat may be
as risky as it is stylish.

### **Being a nuisance**

**Vendors** can be hacked, expending some charge to trigger the "throw"
wire, making it launch inventory at anyone who passes by.

You can now hack **simplebots**, expending some charge from your suit to
overload and detonate them. It's faster than tipping, and far more
tragic. Sentient simplebots should take care when a ninja is around.

### **Sabotage opportunities**

The **recycler** can now be hacked. This takes 30 seconds and notifies
the AI, just like the communications console hack. Completing the hack
will emag it. That's it.

Hacking the **tram control console** will trigger an extended Tram
Malfunction event, and can be repeated after the event is done. This can
only be done to the "main" tram of the map, which I forsee will be an
absolute nightmare to complete on highpop tramstation.

Neither of these, presently, contribute towards any objectives. They can
be useful for diverting attention, but I see them more as ways for an
overachieving ninja to flex or continue the chaos after their objectives
are complete.

### **OH ALSO**

Hacking open doors costs energy. This really shouldn't be an issue just
remember to recharge sometimes.

The charge drains and do_after lengths for all of these were chosen on
vibes. In all honesty I think the drainage values don't _really_ matter,
due to how easy recharging is, but I had a hard time settling on how
long some of these hack do_afters should take (even if I know they
probably won't matter either).

## Why It's Good For The Game

Being able to hack open airlocks but not windoors always irked me. I
figured that they would be openable like any other door, and that losing
their status as a "-1 dash charge gate" wouldn't be a big enough balance
change to spark arguments. The same philosophy extends to buttons and
elevator controls.

Sapping power from eguns expands on the list of sources energy can be
siphoned from. You can also use it to disarm opponents (like the badass
ninja you are), take emergency charge from a recently-gored officer's
disabler, or dunk on security by draining their entire armory.

Hacking simplebots, vendors, and by extension elevator lifts (since that
also disables the safeties!) give opportunities for minor sabotage. Not
meant to be super disruptive, just a bit silly and annoying for the
crew.

The recycler/tram hacking in particular are meant to be bonus goals,
only sought out by the ballsiest (or more likely boredest) of ninjas.

I see all of these additions as expanding upon the current abilities of
the ninja (not really making them much more powerful, just expanding
their flexibility), or providing more interactions to have fun (and
antagonize the crew) with when not mainlining their objectives.
## Changelog
🆑 Rhials
add: Ninjas can now temporarily disable cameras with the Ninja MOD
right-click hacking ability.
add: Ninjas can emag windoors, elevator controls, and buttons with their
hacking ability.
add: Ninjas can drain the power from energy weaponry, adding the charge
to their MODsuit.
add: Ninjas can now hack simplebots, overloading and detonating them
after a brief delay.
add: Ninjas can now hack vendors, causing them to eject their inventory
at people.
add: Ninjas can now hack the recycler, which notifies the AI and emags
it once complete.
add: Ninjas can now trigger an extended tram malfunction by hacking the
tram control console.
add: Ninjas can now hack open firelocks (temporarily) with right-click.
balance: Hacking open doors with the Ninja Hacking MODule will subtract
a paltry amount of energy from your suit.
/🆑

* Adds a handful of Ninja Hacking MODule interactions of varying usefulness

---------

Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
2023-08-21 11:53:56 -04:00
SkyratBot f25cb55f3a [MIRROR] Adds a Heresy phobia, fixes some typos in heretic code, places the stargazer and fire shark under heretic_summon [MDB IGNORE] (#23227)
* Adds a Heresy phobia, fixes some typos in heretic code, places the stargazer and fire shark under heretic_summon (#77306)

## About The Pull Request

Instead of a supernatural phobia, sacrificed people will now get a
HERESY phobia, which specifically targets heretic stuff, instead of all
of magic. Other heretics, however, do not get this, but instead get
knowledge points sapped from them, as their mind is ruined in a
different way than normal people. This comes with different flavour text
and a harsher but shorter lasting mood debuff. Also fixes some
"knowlege" code typos and places the star gazer and fire shark all in
under heretic_summon
## Why It's Good For The Game

Heretics, Wizards, Chaplains and Cultists will now be able to keep
playing the game after getting sacrificed without overdosing on
psicodine, while still retaining the phobia's original design purpose.
placing the fire shark and star gazer under the same type also is useful
as they share a lot of values. typos bad.
## Changelog
🆑
add: Sacrificed heretic targets will now receive a phobia of heresy
instead of a phobia of the supernatural. Sacrificed heretics will not
get this phobia, but will lose knowledge points instead.
/🆑
Huge thanks to Helg2 for doing the original PR and helping me with this
one, couldn't be done without them

---------

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

* Adds a Heresy phobia, fixes some typos in heretic code, places the stargazer and fire shark under heretic_summon

---------

Co-authored-by: DATAxPUNGED <44149906+DATA-xPUNGED@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
Co-authored-by: Helg2 <93882977+Helg2@ users.noreply.github.com>
2023-08-20 22:00:25 -04:00
SkyratBot f4578f7851 [MIRROR] makes the lion hunter rifle easier to acquire by moving it down the knowledge tree for heretics and adds a rust charge as to not upset the heretic tree [MDB IGNORE] (#23222)
* makes the lion hunter rifle easier to acquire by moving it down the knowledge tree for heretics and adds a rust charge as to not upset the heretic tree (#76720)

## About The Pull Request

moves the lion hunters rifle down the heretic knowledge tree for the
rust and blade pathes, hopefully making this incredibly rare sight more
common
to make sure the tree is kept happy, the rust and blade paths can now
access the rust charge ability

## Why It's Good For The Game

the lion hunters rifle is a really intresting and fun weapon that i have
never once seen in game. i imagine many players have learned it has
existed but never once seen or touched it themselves. by the time you
research it you will be near ascention, so its use would be semi
limited, and actually getting the ammo for the thing requires its own
knowledge, plus its ammo and gun recipe take alot more than most. if its
still very rarely seen after this ill touchup the recipe and make it
easier

rust charge is a normal charge that spreads rust where you go, must be
started on rust, deals increased damage to people, and destroys rusted
objects

* makes the lion hunter rifle easier to acquire by moving it down the knowledge tree for heretics and adds a rust charge as to not upset the heretic tree

---------

Co-authored-by: Jackal-boop <61211748+Jackal-boop@users.noreply.github.com>
2023-08-20 20:06:58 -04:00
SkyratBot 68f4deff40 [MIRROR] MODLink System (+ NWTLMM) [MDB IGNORE] (#23199)
* 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.

![image](https://github.com/tgstation/tgstation/assets/23585223/eb387738-0839-463a-aed8-4703d139b11a)
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

![image](https://github.com/tgstation/tgstation/assets/23585223/5a822f9f-e823-497e-b766-40055f2fc0d6)
![image](https://github.com/tgstation/tgstation/assets/23585223/062983ee-6058-4e78-a3aa-bccda1a3e224)

## 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>
2023-08-19 05:09:31 -04:00
SkyratBot 0614285369 [MIRROR] Revert "Add the ability to use blips as your character's voice" [MDB IGNORE] (#23186)
* Revert "Add the ability to use blips as your character's voice" (#77715)

Reverts tgstation/tgstation#77640

![Discord_iPE1cmuUrY](https://github.com/tgstation/tgstation/assets/4081722/a54a8e7b-ef2b-4f32-9589-bde7b6b2b7d4)

This is causing big problems right now and we've agreed to a, at
minimum, temporary revert so that we can re-approach this at a later
date and do things properly

@ MrStonedOne pls i need that TTS repo im begging you pls

* Revert "Add the ability to use blips as your character's voice"

---------

Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
2023-08-18 19:25:06 -04:00
SkyratBot aa4016adfc [MIRROR] [NO GBP] fixing dynamic [MDB IGNORE] (#23184)
* [NO GBP] fixing dynamic (#77734)

## About The Pull Request
Yeah, the built-in `arctan()` proc actually returns degrees rather than
radians so I had to revert the change to the macro. Also, I had to
revamp the whole formula once again because the old one was eh. The
random location of -0.5 to 0.5 meant it never went lower/higher than the
40-60% threat range, and the RNG deviation was crappy.

As a bonus, I slighly lowered the threat requirements for the wizard's
gun/magic/events rituals, since reaching a full 100 is a smidge less
likely now (previously the odds were one in ten if the threat score was
higher than 90%, now it's a 0.5% chance in total, as the threat is
rounded to intervals of 1).

## Why It's Good For The Game
This will fix #77726.

Here's the updated desmos graph:
https://www.desmos.com/calculator/fpc7gwtwla (the red curve is the one
without the deviation, the black one is with the deviation)

Gimme a few minutes to run one last test, tho. I cannot trust myself too
much.

## Changelog

🆑
fix: Fixed dynamic.
/🆑

* [NO GBP] fixing dynamic

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-08-18 19:24:18 -04:00
SkyratBot 6aa545500e [MIRROR] Changeling armblade gets 35% armour penetration + better wounding. [MDB IGNORE] (#22989)
* Changeling armblade gets 35% armour penetration + better wounding.

* Fixes conflict and reduces the changeling buffs

---------

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-08-17 16:55:23 -04:00
SkyratBot 7456c9be22 [MIRROR] Add the ability to use blips as your character's voice [MDB IGNORE] (#23109)
* Add the ability to use blips as your character's voice (#77640)

## About The Pull Request

- Adds the ability to force your TTS voice to always be blips, default
is still normal speech
- Probably fixes a bug with silicon voices not transferring properly?
There was an entire argument missing from tts_request/New
- Fixes problems I got from the Docker build not working at all. Only
thing interesting is `--no-cache-dir` which was to fix the container
running out of RAM even though I literally just got 64GB of RAM today

Got permission from @ optimumtact as alternative to being able to disable
your voice, CC @ Iamgoofball

## Why It's Good For The Game

I spent two hours trying to find a voice that didn't make me
uncomfortable to use and that was even in the realm of being the voice I
would actually want people to hear. Characters still have distinct
"voices" because the blips are chopped together from the voice itself

## Changelog

🆑
add: You can now set your voice to just blips.
/🆑

* Add the ability to use blips as your character's voice

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-08-16 00:12:33 -07:00
SkyratBot 34306b4266 [MIRROR] Buffs Heretic ash ascension [MDB IGNORE] (#23114)
* Buffs Heretic ash ascension (#77618)

## About The Pull Request

Post-Ascension the Nightwatchers Rebirth (Or Fiery Rebirth) has its
cooldown lowered from 60 seconds to 10
Additionally adds bomb immunity to the list of resistances that
ascension provides

## Why It's Good For The Game

Ash ascension kind of sucks when compared to its big brothers flesh,
rust and blade. You do get a couple of cool spells but their impact is
negated by how shitty fire damage is and while you get a ton of
resistances, you don't get stun immunity and have absolutely zero
sustainability in long-term engagements.

Blade has its lifesteal, rust has its leeching walk and flesh has a big
worm that eats arms. And while the laziest solution would be to give ash
stun immunity like those three I think it'd be more fitting if it could
capitalize on one of its more powerful spells. Keeping in the fight by
siphoning health from all those people you lit on fire with your cascade
instead of watching in pain as they completely negate any threat you
have with a fire extinguisher and temp adapt.

* Buffs Heretic ash ascension

---------

Co-authored-by: DaydreamIQ <62606051+DaydreamIQ@users.noreply.github.com>
2023-08-16 02:16:08 -04:00
SkyratBot 18fe4b547e [MIRROR] Stopgap fix for polymorphed headrevs counting towards a rev loss [MDB IGNORE] (#23111)
* Stopgap fix for polymorphed headrevs counting towards a rev loss (#77636)

## About The Pull Request

Revheads being a simplemob, basic mob, or xenomorph no longer count
towards a rev loss.

## Why It's Good For The Game

Strictly checking that a revhead is a human introduces several edge
cases in which a revolution would be considered defeated, even if the
last headrev is alive, on station, and able to eliminate command staff.
Such cases include:
- A promoted traitor getting the final objective that lets them turn
into a dragon.
- A promoted, ascended Flesh heretic.
- A headrev getting brain transplanted into a xenomorph, especially a
queen.
- The Polymorphic Field Inverter.
- Other crew-obtainable sources of polymorphing (ash drake/wendigo
blood, colossus crystal, etc.)

Heads of staff don't count towards a rev win in any of these cases, so
it should be fair that revheads in these cases don't count towards a
loss either.

There are probably some more rigorous checks that should be done because
the original intention of the strict humanity check for revheads
probably had to do with being able to convert, but those seem a bit too
complicated for now.

Fixes #77634

## Changelog

🆑
fix: Head Revolutionaries no longer count towards a revolution's defeat
if they have become simplemobs, basic mobs, or xenomorphs.
/🆑

* Stopgap fix for polymorphed headrevs counting towards a rev loss

---------

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
2023-08-16 02:14:52 -04:00
SkyratBot 2d804d3645 [MIRROR] Reflavors the Mosin to be a surplus rifle from the past IC 200 years, rather than from 670 years ago in game. Allergy warning: May contain microscopic silverscale buff [MDB IGNORE] (#23091)
* Reflavors the Mosin to be a surplus rifle from the past IC 200 years, rather than from 670 years ago in game. Allergy warning: May contain microscopic silverscale buff

* oorah

* im sure more will come up eventually

---------

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2023-08-15 16:41:13 -04:00
SkyratBot f3072d7377 [MIRROR] Adds a unique medibot to the Syndicate Infiltrator [MDB IGNORE] (#23084)
* Adds a unique medibot to the Syndicate Infiltrator (#77582)

## About The Pull Request

Adds a unique medibot to the Syndicate Infiltrator. It doesn't like
nukes - when one is armed, disarmed, or detonating, it says an unique
line. Players can optionally enable personalities on it if they want to.
Probably best to just let it stay on the shuttle though. (It's also in
the Interdyne Pharmaceuticals ship, renamed)

Fixed an issue that made mapload medibots unable to load custom skins.

This PR adds a medibot subtype to the simple animal freeze list, which I
don't think is a big deal as this isn't a 'true' simplemob but just a
slightly altered medibot, similarly to my 'lesser Gorillas' in the
summon simians PR.

## Why It's Good For The Game

> Adds a unique medibot to the Syndicate Infiltrator. It doesn't like
nukes - when one is armed, disarmed, or detonating, it says an unique
line. Players can optionally enable personalities on it if they want to.
Probably best to just let it stay on the shuttle though.

I know what the inmediate reaction is here - but hear me out. Besides
the meme of the month, it really, genuinely is cute and amusing to have
a friendly medibot that shows dismay when you're arming the nuke and
horror when it blows up (with you, hopefully, at the syndibase), and
still fits quite well within SS13's charm and flavor. The reference
isn't overt and in-your-face.

Besides that, slip-ups, friendly fire, and accidents are semi-common on
the shuttle and, just like Wizards, nukies deserve a bot to patch their
wounds up.

> (It's also in the Interdyne Pharmaceuticals ship, renamed)

I think it makes sense for the pharmacists to have an evil medibot!

> Fixed an issue that made mapload medibots unable to load custom skins.

Fixed "bezerk" skin not appearing. Didn't fix it being ugly as sin
though.

## Changelog

🆑
add: Adds a unique medibot to the Syndicate Infiltrator. It doesn't like
nukes - when one is armed, disarmed, or detonating, it says an unique
line. Players can optionally enable personalities on it if they want to.
Probably best to just let it stay on the shuttle though. (It's also in
the Interdyne Pharmaceuticals ship, renamed)
fix: Fixed an issue that made mapload medibots unable to load custom
skins.
/🆑

---------

Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>

* Adds a unique medibot to the Syndicate Infiltrator

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
2023-08-14 20:42:23 -04:00
SkyratBot d2b4b475cb [MIRROR] Spiders don't automatically grant an antag datum [MDB IGNORE] (#23029)
* Spiders don't automatically grant an antag datum (#77523)

## About The Pull Request

Fixes #77501

Spider egg ghost role spawners grant the spider antag datum, rather than
the act of being a spider.
This means that gold core, mapstart, polymorph belt, and other spiders
will not have an antagonist datum.

While doing this I also made a new abstract `mob/living/basic/spider`
type which all three kinds of spider life stage (`spiderling`, `young`,
`giant`) extend from, because there was a gross amount of copied code.
Now there isn't.

Also the Flesh Spider and Event Midwife eggs now simply hatch adult
spiders instead of child ones.
This is because there is no reason for either of these to have a two
minute wait time before they get going. Midwife spiders spawned by the
event should just start spidering immediately, and Flesh Spiders are
made by changelings and shouldn't be effected by measures introduced to
balance the spider gamemode.
Eggs which are laid during a round and _can_ hatch into midwife spiders
still hatch baby spiders.

Also I swapped some white pixels on the animation of the ambush
spiderling for a different colour because they looked bad.

## Why It's Good For The Game

While the policy is always "if you turn yourself into something, you're
not an antagonist" the presence of the antag datum still confuses
people. Plus that code was gross and I didn't like it.

## Changelog

🆑
fix: Giant Spiders only have an antag datum if created by the round
event.
balance: Flesh spider eggs hatch into adult spiders instead of baby
spiders.
balance: The eggs spawned by the start of the spider infestation event
hatch into adult Midwife spiders instead of baby ones.
/🆑

* Spiders don't automatically grant an antag datum

* Modular paths

* Modular paths

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-08-12 00:17:56 -04:00
SkyratBot b82a1d0a3a [MIRROR] Adds hauntium as a reagent with new fun uses. [MDB IGNORE] (#23027)
* Adds hauntium as a reagent with new fun uses. (#77471)

## About The Pull Request
Adds the material hauntium as a reagent, along with bringing some unique
effects with the reagent.

There are a few new ways to get it other than just the camera obscura as
before, such as grinding certain ghostly things.

Unique effects it brings:

- It works in metalgen (I believe the metalgen recipe is still broken as
of making this) to make hauntium infused metalgen.

https://github.com/tgstation/tgstation/assets/58376695/121ca6b2-00b7-4203-bc6a-48976b1af802

- Any object touched by the chem will temporarily have the haunted
effect, letting it teleport around randomly and even attack people.

https://github.com/tgstation/tgstation/assets/58376695/103aeee5-ed3e-4fdd-85e4-ac7338823c46

- If you put it in your body, it hurts your "soul" (soul being heart and
mood)

![image](https://github.com/tgstation/tgstation/assets/58376695/34182a4c-face-4fe7-b170-a7b10122a14d)
...unless you are morbid or undead, in which it gives a slight mood
boost and acts like an addiction-less drug
## Why It's Good For The Game
Hauntium previously was super niche and not very useful other than
making funny haunted toolboxes from it. This expands it's usage and
makes it a lot more interesting. I also know a good few people who have
also wished this was available to use in metalgen and now you can!
## Changelog
🆑
add: Lets you grind things into a hauntium reagent which works similarly
to the solid form but is versatile and has some unique effects.

/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>

* Adds hauntium as a reagent with new fun uses.

---------

Co-authored-by: die_amond <58376695+dieamond13@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2023-08-11 23:49:29 -04:00
SkyratBot bec93afcf0 [MIRROR] New rust ritual [MDB IGNORE] (#23026)
* New rust ritual (#77011)

## About The Pull Request
Gives the rust heretic an early ritual to aoe rust an area. Entropic
pulse is a ritual that requires 20 iron and 2 garbage items to rust in
roughly a 3 tiles radius.
Demonstration vid ~~(old version, new version is smaller radius)~~
UPDATED

https://github.com/tgstation/tgstation/assets/92416224/16a8bf34-0ebb-4c8f-a926-c9dddcd2d107

## Why It's Good For The Game
Rust is a territorial path, they create bases around the station to
fight on. However they can only viably do this when they unlock
aggressive spread, which is quite far down the tree. This ritual allows
for rust heretic to establish a territority of which to fight on early
on while still not being better or equal to aggressive spread.

Also this fixes instances of detect_room not running correctly when
break_if_found is not passed in the arg
## Changelog
🆑
add: Added Pulse of Entropy, a new ritual for rust heretic unlocked
after leeching walk. This ritual can be completed with 20 iron sheets, 2
garbage items to rust in a 4 tiles radius round the rune. Useful for
establishing bases and fighting area.
fix: fixed detect_room not running correctly when break_if_found is not
passed

/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>

* New rust ritual

---------

Co-authored-by: FinancialGoose <92416224+TheBoondock@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
2023-08-11 22:46:01 -04:00
SkyratBot d5655c3c55 [MIRROR] Adds Summon Simians & Buffs/QoLs Mutate [MDB IGNORE] (#22970)
* Adds Summon Simians & Buffs/QoLs Mutate (#77196)

## About The Pull Request

Adds Summon Simians, a spell that summons four monkeys or lesser
gorillas, with the amount increasing per upgrade. The monkeys have
various fun gear depending on how lucky you get and how leveled the
spell is. If the spell is maximum level, it only summons normal
gorillas.

Added further support for nonhuman robed casting: Monkeys, cyborgs, and
drones can all now cast robed spells as long as they're wearing a
wizardly hat as well.

Made monkeys able to wield things again.

Wizard Mutate spell works on non-human races. It also gives you
Gigantism now (funny). If the Race can't support tinted bodyparts, your
whole sprite is temporarily turned green.

Made Laser eyes projectiles a subtype of actual lasers, which has
various properties such as on-hit effects and upping the damage to 30.

Improved some monkey AI code.

## Why It's Good For The Game

> Adds Summon Simians, a spell that summons four monkeys or lesser
gorillas, with the amount increasing per upgrade. The monkeys have
various fun gear depending on how lucky you get and how leveled the
spell is. If the spell is maximum level, it only summons normal
gorillas.

It's criminal we don't have a monky spell, and this is a really fun spin
on it. Total chaos, but total monky chaos. It's surprisingly strong,
but! it can very well backfire if you stay near the angry monkeys too
long and your protection fades away. Unless you become a monkey
yourself!!

> Wizard Mutate spell works on non-human races.

This spell is great but it's hampered by the mutation's human
requirement, which is reasonable in normal gameplay. Wizards don't need
to care about that, and the human restriction hinders a lot of possible
gimmicks, so off it goes. Also, wizard hulk does't cause chunky fingers
for similar reasons

> Made Laser eyes projectiles a subtype of actual lasers, which has
various properties such as on-hit effects and upping the damage to 30.

Don't really caer about the damage so much, this is more so that it has
effects such as on-hit visuals. Can lower the damage if required, but
honestly anything that competes against troll mjolnir is good.

> Added further support for nonhuman robed casting: Monkeys, cyborgs,
and drones can all now cast robed spells as long as they're wearing a
wizardly hat as well.

SS13 is known for 'The Dev Team Thinks of Everything' and I believe this
is a sorely lacking part of this or something. It's funny.
I want to see a monkey wizard.

> Made monkeys able to wield things again.

I really don't know why this was a thing and it was breaking my axe and
spear wielding primal monkeys. Like, why?

## Changelog

🆑
add: Adds Summon Simians, a spell that summons four monkeys or lesser
gorillas, with the amount increasing per upgrade. The monkeys have
various fun gear depending on how lucky you get and how leveled the
spell is. If the spell is maximum level, it only summons normal
gorillas.
balance: Wizard Mutate spell works on non-human races. It also gives you
Gigantism now (funny). If the Race can't support tinted bodyparts, your
whole sprite is temporarily turned green.
balance: Made Laser eyes projectiles a subtype of actual lasers, which
has various properties such as on-hit effects and upping the damage to
30.
add: Added further support for nonhuman robed casting: Monkeys, cyborgs,
and drones can all now cast robed spells as long as they're wearing a
wizardly hat as well.
balance: Made monkeys able to wield two-handed things again.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>

* Adds Summon Simians & Buffs/QoLs Mutate

* Updates our modular file to take this into account (I hate that this exists)

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-08-11 14:42:17 -04:00
SkyratBot f67839eed9 [MIRROR] ninja energy net uses a projectile [MDB IGNORE] (#23001)
* ninja energy net uses a projectile (#77423)

## About The Pull Request
the ninja energy net uses a projectile instead of being an instant
click, it also has a cooldown of 5 seconds, up from 1.5 seconds
improves some of the energy net code
the net also deletes itself when the suit turns off

## Why It's Good For The Game
This module is not that fun for either of the sides
For people fighting the ninja, getting instantly stuck with no
counterplay isn't that fun.
For the ninja, the cooldown on a missed use is pretty debilitating and
it's annoying to try and snipe someone.
Being a projectile means people can run away from it, and the ninja can
just shoot it, he doesn't have to try clicking 50 times.

## Changelog
🆑
balance: Space Ninja's energy net uses a projectile to catch people now.
/🆑

* ninja energy net uses a projectile

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-08-10 14:18:09 -04:00
SkyratBot b6294af753 [MIRROR] Fixes wizard fake challenges not showing up [MDB IGNORE] (#22991)
* Fixes wizard fake challenges not showing up (#77472)

## About The Pull Request

I added this override because I saw some runtimes related to trying to
randomize into a challenge and that was not good, but I forgot this proc
is determines if it even shows up in the spellbook UI. I blame Arm

## Why It's Good For The Game

Flavor returns

## Changelog

🆑 Melbert
fix: Fix some missing wizard spellbook flavor
/🆑

* Fixes wizard fake challenges not showing up

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-08-10 08:13:05 -04:00
SkyratBot d80d42dd8a [MIRROR] Abductor / general "Summon Item" spell QoL [MDB IGNORE] (#22947)
* Abductor / general "Summon Item" spell QoL

* Update _unit_tests.dm

* Update _unit_tests.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
2023-08-08 23:34:14 -04:00