Commit Graph

79 Commits

Author SHA1 Message Date
Spatison
45fe764c38 Исправление справна парадоксального клона (#910)
fix
2025-12-25 10:43:31 +07:00
deltanedas
c042c4fa1a add button to print logprobe logs (#32255)
* add EntityName at the bottom of LogProbe

* pass User into CartridgeMessageEvent

* add button to print logprobe logs

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>

(cherry picked from commit 7520d8a2c8c87e43491a1de7fa977b34f1e7df6b)
2025-09-27 13:54:07 +03:00
metalgearsloth
f7ee0c6c9d Predict vending machine UI (#33412)
(cherry picked from commit a8ebcac5c9e36765671b742a4f587a80cfadf4f3)
2025-09-27 12:21:05 +03:00
ScarKy0
189ebe61ab Seperate EMAG into EMAG and Authentication Disruptor (#34337)
(cherry picked from commit 253a9fbdf1372f80dad65a80dcb8e5d169861804)
2025-09-20 20:34:13 +03:00
Remuchi
90c715c1fb [Fix] May The Lord Saviour Help This Cursed Land (#807)
* fix: fixed redfox

* fix: help maps

* fix: i hate floof code

* fix: welcome to AMERICA

* fix: few random fixes

* fix: oopsies doopsies

* fix: almost done fixing tests

* fix: should be all

* fix: i hate you

* fix: forgot ya

---------

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-08-24 18:11:34 +10:00
RedFoxIV
ba7630aaa7 [tweak] overcooked attempt 2 (#776)
* SUPER

* HOT

* ok it runs

* please work

* test

* tteesstt

* забыл

* fugg

* reword
2025-08-17 00:22:20 +03:00
Spatison
8fb381b6eb fix: test: part 8 2025-07-20 22:41:40 +10:00
VMSolidus
9fcefbd521 Profile Loading Extensions 2025-07-20 22:33:40 +10:00
ElectroJr
ad6b81233d Refactor map loading & saving (#34020) 2025-07-20 20:34:12 +10:00
Eris
d1abb827ae h 2025-07-20 14:39:25 +10:00
Eris
110e22aa2f a 2025-07-20 14:25:39 +10:00
Kai5
ae1c1c39dd Port Devil (#2454)
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

This PR ports
https://github.com/Goob-Station/Goob-Station/pull/2409
https://github.com/Goob-Station/Goob-Station/pull/2591
https://github.com/Goob-Station/Goob-Station/pull/2599

This PR was initially intended to be merged into White Dream repo, so my
changes are marked as WD edit.

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

- [ ] Port pain numbness
- [ ] Port nullrods
- [ ] Port tile movement

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

![image](https://github.com/user-attachments/assets/ee4679d1-fc07-4dc3-8063-e0220bc0d728)

![image](https://github.com/user-attachments/assets/25f590b9-6bf3-43bd-aca3-80452f27b0dd)

![image](https://github.com/user-attachments/assets/1ffb5bb3-e0c7-4827-8193-83bd8480e555)

![image](https://github.com/user-attachments/assets/4ed8c762-1e51-4bd8-9800-6495c12ac68f)

</p>
</details>

---

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- add: Ported Devil antag from Goobstation

---------

Signed-off-by: Kai5 <68296202+Kai518@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Solstice <solsticeofthewinter@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2025-07-20 13:37:35 +10:00
Mr. 27
dea030f462 Job starting gear is now defined in the starting gear rather than backpack prototypes (#27605) 2025-07-15 11:54:26 +10:00
Lumminal
a5591106a0 fix 2025-07-12 03:02:11 +10:00
deltanedas
876e1cf402 add tape recorder (#2498)
* add tape recorder

* add filled tape recorder to trinkets

* :trollface:

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-07-12 03:01:19 +10:00
VMSolidus
7dc84aaae4 More Random Code Optimizations (#2339)
These are all essentially just random systems that scaled directly with
player count (or were on my list of the top 50 anyways). So just a
couple systems that had very inefficient enumerators being swapped out
with significantly more efficient ones, plus a few swaps from O(n) to
O(m) m << n. A big one was DrainSystem, which was querrying all possible
entities, rather than doing so from the "set of all static objects",
which is significantly smaller. Puddles are always static objects, so it
doesn't make sense to have the drains check for anything other than
static.

We can also use DirtyField to save on performance costs of Dirty(uid,
component) in cases where the Dirty is only networking a single
component field.

no CL this isn't player facing.
2025-07-12 02:24:22 +10:00
Spatison
bad6a07728 some wizmerge fix 2025-07-12 01:38:01 +10:00
vanx
d12c37cbf5 [Add] More Weapons Locale (#569)
* russia number 1

* omg wtf

* ok

* a

* review

* fix

---------

Co-authored-by: vanx <discord@vanxxxx>
2025-06-19 19:56:02 +03:00
Spatison
7d72b86d19 Reapply "Hot reload 2: Electric Boogaloo" (#524) (#525)
* Reapply "Hot reload 2: Electric Boogaloo" (#524)

This reverts commit d856b8e7a0.

(cherry picked from commit c02e513f4f26877f2fc69478a0701ab9e751d603)

* blya

(cherry picked from commit 777edbfbd9ef560c511505e4811d1d59ce4c81ee)
2025-05-27 14:02:22 +03:00
DVONIKS
d856b8e7a0 Revert "Hot reload 2: Electric Boogaloo" (#524)
Revert "Hot reload 2: Electric Boogaloo (#518)"

This reverts commit 2fd1dd9a51.
2025-05-27 13:50:09 +03:00
RedFoxIV
2fd1dd9a51 Hot reload 2: Electric Boogaloo (#518)
* What have i become?

My sweetest metagang

* Everyone i know disconnects

In the end

* And you could have it all

My repo of dirt

* I will let you down

I will make you hurt

* I wear this crown of commits

Upon my liar's branch

* Full of broken code

I cannot compile

* Beneath the stains of time

The comments disappear

* You are someone else

I'm still down here

* What have I become?

My sweetest metafriend

* Everyone i know gets perma'd

In the end

* And you could have it all

My broken repo

* I will let you down

I will get you banned

* If i could start again

A million servers away

* I would keep myself

I would find a way

* ...

* . . .

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* какая удобная фича

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* .  .  .

* mnda

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: Boevi4ok <156510964+89Eblan@users.noreply.github.com>
Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-05-27 00:56:11 +03:00
DVONIKS
8eed4ab003 Revert "Hot reload" (#517)
Revert "Hot reload (#500)"

This reverts commit c754a645d7.
2025-05-25 18:16:04 +03:00
RedFoxIV
c754a645d7 Hot reload (#500)
* What have i become?

My sweetest metagang

* Everyone i know disconnects

In the end

* And you could have it all

My repo of dirt

* I will let you down

I will make you hurt

* I wear this crown of commits

Upon my liar's branch

* Full of broken code

I cannot compile

* Beneath the stains of time

The comments disappear

* You are someone else

I'm still down here

* What have I become?

My sweetest metafriend

* Everyone i know gets perma'd

In the end

* And you could have it all

My broken repo

* I will let you down

I will get you banned

* If i could start again

A million servers away

* I would keep myself

I would find a way

* ...

* . . .

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* какая удобная фича

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* .  .  .

* mnda

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: Boevi4ok <156510964+89Eblan@users.noreply.github.com>
Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-05-25 02:26:27 +03:00
EctoplasmIsGood
b6b9b6dfc3 Remove Teach a Lesson (#2365)
https://github.com/Simple-Station/Einstein-Engines/pull/2362

Co-authored-by: Your Name <EctoplasmIsGood@users.noreply.github.com>

(cherry picked from commit ed67011a8c86a510a7823f8c679d2ccd5f1e0c43)
2025-05-10 00:22:46 +03:00
dootythefrooty
51183826cc AI Slaving Delta-V Port (#2320)
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Ports AI Slaving from Delta-V. The ObeyAI law now isn't specified in the
lawsets. This should also prevent the ObeyAI law from getting out of
order.

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

https://github.com/user-attachments/assets/ecc42760-b9a3-4df7-ac5e-ca0a589af74a

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑

- fix: Law boards will no longer give the Station AI a law that makes
them obey themselves.
- fix: Chassis Selection Medi-Borgs can dispense candy now.

---------

Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: Timfa <timfalken@hotmail.com>
(cherry picked from commit 2efb33a455e73d669042c0ff5a2ab3065abcdd91)
2025-05-03 01:26:25 +03:00
Will-Oliver-Br
d29faf2e85 Port Nanochat Lookup (#1978)
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Port nanochat lookup from Delta-v.
Pr: https://github.com/DeltaV-Station/Delta-v/pull/2794

---

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

- [x] Task
- [x] Completed Task

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

![Captura de tela 2025-03-16
183052](https://github.com/user-attachments/assets/2b844906-4117-4560-9045-69b9d5493cf3)
![Captura de tela 2025-03-16
183117](https://github.com/user-attachments/assets/b2546750-c808-468e-8fbf-de1d75402c06)
![Captura de tela 2025-03-16
183124](https://github.com/user-attachments/assets/01c5eb53-b1ba-4ca7-8a2e-f1813147b441)
![Captura de tela 2025-03-16
183147](https://github.com/user-attachments/assets/304ac291-b5b0-474f-84c3-8321386c02e2)

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑 Toby222 and Will-Oliver-Br
add: Add Number lookup to NanoChat

---------

Co-authored-by: Tobias Berger <toby@tobot.dev>

(cherry picked from commit c3b6aeda090719cf82b132dcadebbe035a0da45a)
2025-03-21 16:50:22 +03:00
Spatison
8a95ee85bf Upstream 28.02-03.03 (#268)
* More Tajaran Markings (#1834)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Description.
Adds separate eye colors to Tajaran and makes most of the markings from
"Fashion Update: Earrings & Makeup" available to Tajarans
---

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

![image1](https://github.com/user-attachments/assets/4ceace8e-c1bd-4ee8-833a-19cf2cf9626d)

![image2](https://github.com/user-attachments/assets/7b2d6d25-4335-4f5e-96eb-8f0ae187e459)

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑 Tonk
- add: Tajarans now have separate eye, wrist, tattoo, and makeup
markings

---------

Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit e45008ddf8a529c2126907ecac8ffff2a74058de)

* Automatic Changelog Update (#1834)

(cherry picked from commit 0091c1ebdc4bc768c0906049fa9d417d962d1839)

* Cybernetics Trait Changes (#1828)

# Description

Changes/buffs to Cybernetic Traits.
Some lesser used traits get some love, while some other stuff gets some
logical re-balancing.

Feel free to point out if some shitcode is broken or need explaining.

---

# TODO

- [ ] I got ideas cooking that I don't know how to code

---

# Changelog

🆑

tweak: Striking Calluses no longer require you to be one of 3 jobs and
Human. Also increased the +1 damage to +2.
tweak: Bionic Spinarette SHOULD no longer have a hunger penalty and
costs less.
tweak: Platelet Factories heal rate buffed from 0.07 to 0.35, airloss
from 0.7 to 0.25 and healing cap increased from 200 to 400.
tweak: Decreased the cost of Thermal Vision to be in line with Night
Vision.
    tweak: IPC Platelet Factories healing cap increased from 200 to 250
    tweak: Cyber-Eyes Omnihud now pickable by Command too.
fix: Fixed name and description of Cyber-Eyes Modules for Night Vision
and Thermal Vision.
    remove: Mind over Machine from Cyber-Eyes Modules.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- "Striking Calluses" now delivers increased unarmed strike damage,
enhancing combat performance.

- **Documentation**
- Trait names and descriptions have been updated for greater clarity and
consistency, including changes to "Cyber-Eyes" terminology.

- **Chores**
- Redundant trait options were removed from the selection pool to
streamline gameplay.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Raikyr0 <Kurohana@hotmail.com.au>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

(cherry picked from commit a480c6605ebdfdd32d87a9001f2aef8303433a8d)

* Automatic Changelog Update (#1828)

(cherry picked from commit 365dd4353a06854120e0a38ff05f193bad48bbc7)

* Shadowkin Age Fixes & Plus Plushies (#1684)

# Description

Shadowkin middle-aged increased to 80, old age lowered to 175, max age
lowered to 250. Shadowkin can now collect their goofy little plushie
from a variety of sources

---

# TODO

- [x] Adjust Shadowkin age brackets
- [x] Add Shadowkin plushie to crates and stuff

---

# Changelog

🆑 ShirouAjisai
- add: Added Shadowkin plushie to crates and stuff
- tweak: Tweaked Shadowkin age brackets

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a new "shadowkin plushie" loadout item, enhancing
customization options.
- Expanded the collectible pool by adding a new plushie available in
multiple game areas, including reward systems and random spawners.
- Enhanced the variety of items available for the `PresentRandom` entity
with the addition of the "shadowkin plushie."

- **Adjustments**
- Refined life-stage parameters for the Shadowkin species, adjusting age
thresholds to better define maturity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: SixplyDev <einlichen@gmail.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: ShirouAjisai <zaneromeave319@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit fb3d00036f6a21d7fa3c4b41341cd61b1e41e0d0)

* Automatic Changelog Update (#1684)

(cherry picked from commit caf8572352d38f51b15d21f0e1f92434f869dd14)

* Trait Add Tag (#1846)

# Description

Added TraitAddTag Function, which for example can be used to add
Spidercraft to the Spinerette trait.

# Changelog

🆑
- add: TraitAddTag Function

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Entities now receive automatic tag assignments at spawn, enhancing the
system's trait interaction and overall categorization capabilities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Raikyr0 <Kurohana@hotmail.com.au>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
(cherry picked from commit b1acdc4017dc1181b7f557351e82ef1df93635c2)

* Automatic Changelog Update (#1846)

(cherry picked from commit 9622d443d5308eda14231c3b3bb3130884465272)

* Arachne SpiderCrafting (#1847)

# Description

Added SpiderCraft Tag to Arachne

# Changelog

🆑
- add: Added SpiderCraft to Arachne

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced a new "SpiderCraft" classification for the Urist McArachne
entity, expanding its behavior and interactions related to
spider-specific mechanisms.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Raikyr0 <Kurohana@hotmail.com.au>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
(cherry picked from commit ff4146f879d397993eee22a2a4807e986e404641)

* Automatic Changelog Update (#1847)

(cherry picked from commit 91d40483c2c49f86d7b2609a5ac9cd7b30d16c00)

* Add Centcom Disabler (#1845)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

it self recharges a bit. It's also green. It's also a steal target,
because it's green.

I noticed the Nanotrasen Representative has a disabler in his locker by
default, but does not get to pick one in a loadout. I figured I'd remedy
this, by giving him a shiny green Disabler that slightly recharges on
its own.

It deals the same stamina damage as the normal Disabler. The only
differences are:
- Green
- Steal Target
- Slightly higher rate of fire
- Slightly recharges itself (half as slow as the antique pistol)
- Admits Centcom doesn't trust you with lethals in its description

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

![image](https://github.com/user-attachments/assets/e1e36ae6-8888-4d60-b946-50c90af16f9f)

![image](https://github.com/user-attachments/assets/887aa64f-53cd-4e91-bea5-23f83243bfbc)

https://github.com/user-attachments/assets/f7eaff3d-b8b9-4954-9688-fb9ef0d04588

![image](https://github.com/user-attachments/assets/15dcb85c-7675-4477-bda3-c790e26aebd6)

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- add: Added CentCom disabler as loadout option for the Nanotrasen
Representative.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Expanded loadout options for the Nanotrasen Representative role with a
dedicated weapon configuration.
- Introduced the "CentCom disabler," a new self-defense weapon option
with advanced features.
- Updated localization entries to reflect the new representative weapon
grouping.
- Added a new steal target group for the Nanotrasen representative's
weapon.
- Enhanced visual assets with updated animations and states for the new
weapon.
- Introduced new objectives related to the Nanotrasen Representative
role, enhancing gameplay experiences.
	- Added the "Nanotrasen Representative" job title to localization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

(cherry picked from commit 143d24951a200ab94f3e4e88d3a3a90eeb8856ca)

* Automatic Changelog Update (#1845)

(cherry picked from commit 7ca0757334ee9a1d87c9cbf1f9cc02a860ecc136)

* Plant Analyzer Port (#1849)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Ported directly from
https://github.com/Goob-Station/Goob-Station/pull/1685
I tweaked the sprite, and changed its usage of a Papersystem. I can't
speak for the code quality, since I didn't write it, but I'm willing to
fix things so long as I have the capability to do so.

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

![image](https://github.com/user-attachments/assets/18e93d53-9537-49fd-9dfb-b4983d2630f0)

![image](https://github.com/user-attachments/assets/91ceaaca-7441-4afc-be2e-489b00c320d4)

![image](https://github.com/user-attachments/assets/e03cc8b6-6b07-449b-918f-2eb7783dcfac)

https://github.com/user-attachments/assets/0189567a-57ca-4e9d-ba0d-74e622e1d30d

https://github.com/user-attachments/assets/25ea6100-1458-4804-98e4-5f70b6bfcd45

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- add: Port Plant Analyzer from botanySupremacist, who took it from
ian321

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a comprehensive plant analyzer interface that displays
detailed plant health, tray data, and environmental conditions.
- Added an in-game report printing feature for easy access to analysis
results.

- **Enhancements**
  - Refined yield calculations and plant metabolism behaviors.
- Integrated the analyzer item into crafting recipes, vending machines,
and locker inventories.
- Expanded localization for clearer, user-friendly plant analysis
information.
  - Added new localization strings for printer status feedback.
- Introduced new classes and messages for improved data handling and
user interaction within the plant analyzer system.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Timfa <timfalken@hotmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
(cherry picked from commit 47a55408ad92af463159dea3325edd0c9c9611ce)

* Automatic Changelog Update (#1849)

(cherry picked from commit 4da1efdfd293d5df1c8bd889c621eea94ed5fed8)

* Mind Role Entities (#31318)

* Mind Role Entities wip

* headrev count fix

* silicon stuff, cleanup

* exclusive antag config, cleanup

* jobroleadd overwerite

* logging stuff

* MindHasRole cleanup, admin log stuff

* last second cleanup

* ocd

* minor cleanup

* remove createdTime datafield

* now actually using the event replacement I made for role time tracking

* weh

(cherry picked from commit 24fae223e698b09cf9928c4a0f2f1dc774f266ab)

* Fix error

(cherry picked from commit d33bf89a62ae2f5d51f3af01b4ae2ef54341b5c5)

* Update SharedContentIoC.cs

(cherry picked from commit a50fed2fee56b57d0507a58ebf7bc13de82ad9d2)

* dragon antag refactor (#28217)

* remove dragon system usage of GenericAntag

* add AntagRandomSpawn for making antags spawn at a random tile

* add AntagSpawner to make an antag spawner just spawn an entity

* add antag prototype for dragon since it never had one

* make dragon spawner a GhostRoleAntagSpawner, remove GenericAntag

* make dragon rule use AntagSelection and stuff

* remove dragon GenericAntag rule

* add back to spawn menu

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit c0a56377bc5b9563de973d04f92d7d6923ca9145)

* Cultist Mind Roles

(cherry picked from commit 585e26103a67cc2bd185faaa468ddc5840a8e9c3)

* Update midround.yml

(cherry picked from commit b78d24ce6bb7f8cb4a85a89f6f974fbce1d83055)

* Update ghost_roles.yml

(cherry picked from commit 22df7509b5c5113afc8f1ba168223b0756de5d47)

* Solarian Alliance Content (#1851)

# Description

This PR acts as a proper introduction to players for the Sol Aliance
faction, a major antagonist group from my old home server's lore. To do
so, I've ported a large number of assets from Aurora.3 to this repo, as
well as created a new Midround Antagonist called "Deserters", which
shows off this group to players.

<details><summary><h1>Media</h1></summary>
<p>

![image](https://github.com/user-attachments/assets/c57f48d7-ecf9-4099-998f-4ea3e3e95008)

![image](https://github.com/user-attachments/assets/b0fcd092-4072-4c2f-a61d-9118bc1ab140)

![image](https://github.com/user-attachments/assets/9fc2049f-1197-4eb8-93ea-7c2be2531085)

</p>
</details>

# Changelog

🆑
- add: A new Midround Antagonist has been added to the game. The
"Solarian Deserters" are a group of highly trained soldiers who haven't
been paid for far too long, whom have come to the station to loot it for
everything valuable.
- add: Lore guidebook entry for the Solarian Alliance, a majorly
antagonistic faction.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced the "Solarian Navy Deserter" role with detailed
localization, objectives, and traits.
- Launched a dynamic shuttle event featuring interactive elements like
secure doors, turret defenses, and specialized equipment.
- Expanded gameplay with new storage options, tactical helmets,
uniforms, identification cards, and door access tailored for the Sol
Alliance.
- Added a new NPC faction and game events enhancing combat and role-play
dynamics.
- Introduced various clothing items and uniforms associated with the Sol
Alliance, including tactical gear and dress uniforms.
- Added new metadata and structured entries for various clothing and
equipment assets.

- **Documentation**
- Enriched lore and guidebook entries with expanded nation details,
emphasizing the Solarian Alliance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
(cherry picked from commit 6d919038f3845bb4008a17e1d068196779162f4a)

* Automatic Changelog Update (#1851)

(cherry picked from commit ffaf99ca4b01e63f6bb98731e630f066fad25909)

* Supermatter Atmos Mapping Assets (#1859)

# Description

This adds "High Flow" variants of all existing atmos devices, which are
useful for supermatter engines. I also added the ability for
FixAtmosMarkers to optionally accept a gas mixture directly, as opposed
to the stupid hardcoded gas mixes that they were limited to using
previously.

# Changelog

🆑
- add: Added high pressure variants of atmos devices intended for
supermatter engines.
- add: Added engineering locked high security doors, also for use in
supermatter engines.
- add: Fix Atmos markers can now accept a gas mixture directly for
modifying their tile.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced atmospheric commands now dynamically use specific gas
mixtures for more flexible performance.
- Introduced a new supermatter coolant entity, offering an alternative
liquid nitrogen-like option.
- Added several high-pressure and high-flow gas components, including
pumps, filters, mixers, vents, and injectors.
- Updated map elements by refining door access prototypes and labels for
improved in-game clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

(cherry picked from commit b9c3c8b366c15b5f09cfd641c90b09254f06de94)

* Automatic Changelog Update (#1859)

(cherry picked from commit 468a263863f17772e6233032e5099d6c83764616)

* Rerotate Arena (#1853)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Rerotates Arena. Adds an AI satellite, and maps a few station maps,
cameras, and psionic registry computers.
Adds myself as the maintainer for it. Do note that I am still learning
how to map. Please state any changes that is wished to be seen before it
is ready to merge.
It is 3AM, I need sleep.

---

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

- [x] Space cleanup
- [x] Psionic Registry Computers
- [x] AI Satellite & Related Stuff

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

![Arena](https://github.com/user-attachments/assets/883ce04f-70c4-4628-8b2c-2ad75439421a)

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- add: Arena is back

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- The Arena map is now reactivated with updated configurations and
active maintenance.
- Enhanced gameplay details and role assignments have been enabled for a
more engaging experience.
- The configuration for the Arena map has been fully activated,
including various roles and attributes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

(cherry picked from commit 534a058eb489ceb4abaadac7e4943ed2baaa8c67)

* Automatic Changelog Update (#1853)

(cherry picked from commit 3b30c0a1fe8dc5e10c3cb0536e26d101893663a2)

* Port Grab Intent From Goob (#1856)

# Description
After months, Grab intent is finally ported to EE, as a result of a 4
hour Adderall induced code binge.

##  This PR is more shit than code.
Required for CQC, an attempt to port that will come later.
@Erisfiregamer1 requires this for
[Changelings](https://github.com/Simple-Station/Einstein-Engines/pull/1855).

Thanks to Gus for the Goobstation pr, and to Spatison for the original
port on WWDP
Tests on my local repo worked.
# TODO
* [ ]  Await review
* [ ]  pain

# Media

![dqt2naw4ox651](https://github.com/user-attachments/assets/9a97cea7-d2c8-47df-85e1-de243409bbe6)
# Changelog
🆑 Eagle

* add: Ported Grab Intent from Goobstation

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced pulling and grabbing interactions now feature multiple stages
that impact how actions and collisions feel.
- Virtual item handling during throws and drops has been refined for
more dynamic in-game outcomes.
- Alert visuals have been updated to provide nuanced feedback depending
on the intensity of pulls and grabs.
- Player movement and breathing mechanics have been fine-tuned for more
realistic behavior.
- New localization strings deliver clearer, context-sensitive
notifications for grab-related actions.
- Introduced a new component and system for managing entities thrown
while grabbed, including damage handling and visual effects.
- New event classes enhance interaction handling for virtual items
during grabbing actions.

- **Bug Fixes**
- Improved logic for stopping pull actions to ignore grab states when
necessary.

- **Chores**
- Added metadata for new textures related to alerts in the user
interface.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit 18722e86f3190632026127af111dcc0d10d4af49)

* Automatic Changelog Update (#1856)

(cherry picked from commit 309ab74013fed2be64d9fb0457631210d860644b)

* Port Role Types (#1860)

Ports https://github.com/space-wizards/space-station-14/pull/33420

This is the last requirement before we can start mass-porting new
antags.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced role displays in player and character interfaces with a new
"Role Type" column.
  - Updated admin overlay options, including a classic antagonist label.
- Expanded ghost role behaviors for various entities, offering more
dynamic gameplay.
- New localization entries for role types and UI settings for sounds and
layout customization.
- Added new mind roles and role types, improving role management and
gameplay interactions.
- Introduced new events for player spawning processes to enhance
gameplay scenarios.

- **Refactor**
- Streamlined role management and update processes for improved
reliability and performance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
(cherry picked from commit e10c51cdb39845ed1f2bb9b08f0b226cefbd402e)

* Rock And Stone

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Ports Lavaland and required systems from Goobstation.

---

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

- [X] Port over _Lavaland
- [x] Port over required codepatches
- [-] Test locally (Should be fine)
- [X] Pass tests

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

![No](https://github.com/user-attachments/assets/cfede61a-80c9-4ecd-9473-5170d080ac34)

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- add: Lavaland has been ported!

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a dynamic mining voucher interface allowing players to
redeem various mining kits.
- Enhanced shuttle docking systems with an updated console interface for
smoother FTL transitions.
- Added immersive boss music management for enhanced in-game boss
encounters.
- Expanded Lavaland gameplay with new procedural map generation, weather
events, and storm scheduling.
- Integrated new interactive commands and UI improvements for advanced
weapon upgrades, Hierophant boss actions, and research features.
- Added new components and systems for managing various gameplay
elements, including damage squares, tendrils, and block charges.
- Implemented new localization entries for improved player experience
across various game features.
- Introduced new components for managing mining vendors and vouchers,
enhancing the interaction with mining kits.
- Added a new system for managing the deployment of shelter capsules in
the Lavaland environment.

- **Tests**
- Added integration tests to validate Lavaland planet generation and map
initialization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: VMSolidus <evilexecutive@gmail.com>

(cherry picked from commit f2f5d4610db795a124b37780230eec5d5ca0264a)

* Automatic Changelog Update (#1844)

(cherry picked from commit 990878b9ed60b4e22388038b63714ec2dc693bbf)

* fixs

* fix

* fuck

---------

Co-authored-by: Tonk-GCR <190437025+Tonk-GCR@users.noreply.github.com>
Co-authored-by: SimpleStation Changelogs <SimpleStation14@users.noreply.github.com>
Co-authored-by: Raikyr0 <kurohana@hotmail.com.au>
Co-authored-by: SixplyDev <einlichen@gmail.com>
Co-authored-by: Timfa <timfalken@hotmail.com>
Co-authored-by: Errant <35878406+errant-4@users.noreply.github.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: astriloqua <129308840+astriloqua@users.noreply.github.com>
Co-authored-by: Eagle-0 <114363363+Eagle-0@users.noreply.github.com>
Co-authored-by: Eris <eris@erisws.com>
2025-03-03 18:02:48 +02:00
sleepyyapril
1e423cabf9 v245.0.0 (and Storage UI V2) (#1799)
Contains:

- Storage UI v2, required for removing DeferredClose.
- Stock market refactor (mostly some basic changes to stock market,
didn't want to make a whole other PR for it)
- Make guidebook remember where you left off
- Any other PRs are purely for fixing issues related to the above PRs or
the engine update.

🆑
- add: Ported Storage UI v2.
- tweak: The guidebook will now remember where you left off.

---------

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: 12rabbits <53499656+12rabbits@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
Co-authored-by: gluesniffler <159397573+gluesniffler@users.noreply.github.com>
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
(cherry picked from commit 3c37ff1c48637d1cdf8bc3c6b1412dad338ea205)
2025-02-28 16:22:37 +03:00
sleepyyapril
f028176cf2 AAC Tablet Port (#1674)
ports all changes to the AAC tablet and the AAC tablet itself. also puts
it in items loadout.

🆑
- add: Ported the AAC tablet from Delta-V.

---------

Co-authored-by: portfiend <109661617+portfiend@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: Milon <plmilonpl@gmail.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: keekee38 <iamabanana372456@gmail.com>
(cherry picked from commit 5f39fa26f8c0370baae6ee5b33bfaeda451ed4a3)
2025-02-14 23:34:34 +03:00
VMSolidus
7603272c73 Better Teach Lesson Code (#1657)
# Description

Thanks to Router for pointing out we can actually reuse code that is
apparently just always running exclusively on player characters. So it
turns out that this game actually has a system for tracking who the
killer is. We can skip enumeration outright if the killer was the one
who downed the player. There's still BETTER ways to do this, like
subscribing to KillReportedEvent instead of MobStateChanged, but I'm a
bit too zonked out to pursue that right now.

(cherry picked from commit f325d2e78cfb2a2c09466c3e08a8a818cfd6dfbb)
2025-01-29 20:19:49 +03:00
Skubman
a46b4f2b5a New Species: Plasmaman (#1291)
# Description

Adds the Plasmamen as a playable species. Plasmamen are a skeletal
species who depend on Plasma to live, and oxygen is highly fatal to
them. Being exposed to oxygen will set them on fire, unless they wear
their envirosuits.

## Species Guidebook

<img width=500px
src="https://github.com/user-attachments/assets/a1ef91ef-87b2-4ae0-8b5c-922a0c34777f">
<img width=500px
src="https://github.com/user-attachments/assets/110f0fa0-7dc4-410b-a2c0-a517f0311484">

**SPECIAL:**

- Plasmamen speak the language Calcic, a language they share with
Skeletons.

## Shitmed Integration

Plasmamen are the first ever species designed with Shitmed in mind, with
one of their core mechanics (self-ignition) powered entirely by Shitmed.

Whether or not a Plasmaman ignites from oxygen exposure depends only on
their body parts. A Plasmaman with only their head exposed will not burn
as much as an entirely naked Plasmaman. You can **transfer** Plasmaman
body parts to non-Plasmamen through **surgery** so that they also ignite
from oxygen exposure. Meanwhile, a Plasmaman with a non-Plasmaman head
can expose their head without self-igniting.

https://github.com/user-attachments/assets/0aa33070-04be-4ded-b668-3afb9f4ddd7c

## Technical Details

This also cherry-picks
https://github.com/space-wizards/space-station-14/pull/28595 as a
quality-of-life feature to ensure Plasmamen keep their internals on upon
toggling their helmet with a breath mask on.

## TODO

### RELEASE-NECESSARY

<details>

- [x] Port more envirosuits / enviro helms (job-specific) and their
sprites
- [x] Remove breath masks from default plasmaman loadouts because the
envirohelms already allow them to breathe internals
- [x] Change default plasma tank to higher-capacity version
- [x] Prevent plasmamen from buying jumpsuits and helmets other than
envirosuits
- ~~[ ] **Client UI update for loadout groups min/max items and default
items**~~
- [x] Plasmaman-specific mask sprites from TG
- [x] Disable too cold alert for plasmamen
- [x] Create/port sprites for these jobs
  - [x] Courier
  - [x] Forensic Mantis
  - [x] Corpsman (Resprite security envirosuit)
  - [x] Prison Guard (Resprite security envirosuit)
- [x] Magistrate (No Paradise envirosuit so use new colorable
envirosuit)
  - [x] Blueshield (Port from Paradise and tg-ify?)
- [x] NanoTrasen Representative (No Paradise envirosuit so use new
colorable envirosuit)
- [x] Martial Artist (use new colorable envirosuit and make pure white)
  - [x] Musician (use new colorable envirosuit)
  - [x] Reporter (use new colorable envirosuit)
  - [x] Zookeeper (use new colorable envirosuit)
  - [x] Service Worker (use new colorable envirosuit)
  - [x] Gladiator
  - [x] Technical Assistant
  - [x] Medical Intern
  - [x] Acolyte / Research Assistant
  - [x] Security Cadet
  - [x] Assistant
- You know what. These intern jobs are fine. They can use their normal
equivalent's envirosuits.
  - [x] Logistics Officer (use new colorable envirosuit)
- [x] Adjust sprites to be closer to actual job
  - [x] Captain (Shift color to be closer to ss14 captain)
  - [x] ~~CMO (Remove yellow accents)~~
  - [x] Port HoP envirogloves sprite
- [x] unique sprite for self-extinguish verb
- [x] Refactor conditional gear stuff to live only in
StartingGearPrototype with `SubGear`
`List<ProtoId<StartingGearPrototype>>` field and `List<Requirement>`
field for sub-gear requirements
- [x] Add starting gear for paradox anomaly, and antags and ghost roles
  - [x] Paradox
  - [x] Nukies
  - [x] Disaster victims
  - [x] Listening post operative
- [x] Make all envirosuit helmets have a glowing (unshaded) visor
- [x] Envirosuit extinguish visuals
- [x] JobPrototype: AfterLoadoutSpecial
- [x] Set prisoner envirohelm battery to potato, command/sec/dignitary
to high-powered
  - [x] Set base envirosuit extinguishes to 4, sec 6 and command 8
- [x] Improve plasmaman organ extraction experience
  - [x] Body parts now give 1 plasma sheet each, while Torso gives 3
  - [x] Organs can be juiced to get plasma
- [x] Make envirohelm flashlights battery-powered
- [x] Plasmamen visuals
- [x] Grayscale sprites for color customization, and set default
skintone color to Plasmaman classic skintone
  - [x] Plasmaman eye organ sprite
- [x] Add basic loadouts
- [x] Add way to refill envirosuit charges (refill at medical protolathe
after some research)

</details>

### Low Importance

<details>

- [x] Envirogloves
- [ ] (SCOPE CREEP) Plasma tanks sprite (only normal emergency/extended,
rather low priority)
- [ ] (SCOPE CREEP) Modify envirosuit helmet sprites to have a
transparent visor
- [ ] Glowing eyes/mouth marking
- [x] More cargo content with plasma tanks / envirosuits
  - [x] Plasmaman survival kit like slime
  - [x] Additional plasma tanks
  - [ ] (SCOPE CREEP) Plasmaman EVA suits
- [x] ~~Add envirosuits to clothesmate~~
- [x] Add more plasma tanks to random lockers and job lockers
- [x] Turn envirosuit auto-extinguish into extinguish action
- [x] move self-extinguish verb stuff to shared for prediction of the
verb
- [x] move self-extinguisher stuff away from extinguisher namespace
- [x] unique sprite for self-extinguish icon
  - [x] ~~IDEA: purple glowy fire extinguisher ~~
- [x] on self-extinguish, check for pressure immunity OR ignite from gas
immunity properly
- [x] See envirosuit extinguish charges in examine
- [x] Milk heals on ingestion
- [x] Plasma heals on ingestion
- [x] Self-ignition doesn't occur on a stasis bed
- [x] ~~Self-ignition doesn't occur when dead~~
- [x] Guidebook entry
- [x] Make self-ignition ignore damage resistances from fire suits
- [x] ~~Make self-ignition ignore damage resistances from armor~~
- [x] ~~Unable to rot?~~
- [x] Make the envirosuit helmet toggle on for the character dummy in
lobby
- [ ] (SCOPE CREEP) One additional Plasmaman trait
- [x] ~~Showers extinguish water as well as water tiles~~
- Unnecessary as stasis beds now prevent ignition, allowing surgery on a
plasmaman on stasis beds.
- [x] Unique punch animations for Plasmafire Punch/Toxoplasmic Punch
traits
- [x] Actually remove toxoplasmic it's just slop filler tbh
- [ ] Talk sounds
  - [ ] Normal
  - [ ] Question
  - [ ] Yell
- [x] Positive moodlet for drinking milk / more positive moodlet for
drinking plasma
- [x] Increase moodlet bonus and also minimum reagent required for the
plasma/milk moodlets
- [x] Increase fire rate base stacks on ignite cause putting out your
helmet for a few secs isn't that dangerous due to the fire stacks
immediately decaying
- [x] I think halving firestack fade from -0.1 to -0.05 might work to do
the same thing too
- [ ] (SCOPE CREEP) Get bone laugh sounds from monke
'monkestation/sound/voice/laugh/skeleton/skeleton_laugh.ogg'
- [ ] (SCOPE CREEP) When EVA plasmaman suit is added, 25% caustic resist
- [x]  Envirosuit helmet
  - [x] Equivalent of 100% bio / 100% fire / 75% acid resist
- [x] Envirosuit
  - [x] Equivalent of 100% bio / 100% fire / 75% acid resist
- [x] Envirogloves
  - [x] Equivalent of 100% bio / 95% fire / 95% acid resist
- [x] Put breath mask back on
- [x] Refactor: put body parts covered data into component instead of
being hardcoded

</details>

## Media

**Custom Plasmaman Outfits**

All of these use the same **absolutely massive** [envirosuit
RSI](0c3af432df/Resources/Textures/Clothing/Uniforms/Envirosuits/color.rsi)
and [envirohelm
RSI](0c3af432df/Resources/Textures/Clothing/Head/Envirohelms/color.rsi)
to quickly create the envirosuits that didn't exist in SS13 where the
envirosuit sprites were ported.

From Left to Right: Magistrate, Prison Guard, Boxer, Reporter, Logistics
Officer

<img width=200px
src="https://github.com/user-attachments/assets/bf990841-7d9e-4f4e-abae-8f29a3980ca1">
<img width=200px
src="https://github.com/user-attachments/assets/07ca7af7-4f43-4504-9eac-4ca9188ae98e">
<img width=200px
src="https://github.com/user-attachments/assets/0d20332c-826f-4fec-8396-74e84c23b074">
<img width=200px
src="https://github.com/user-attachments/assets/1634364e-7cb3-457b-b638-e1b562b7c0c5">
<img width=200px
src="https://github.com/user-attachments/assets/c2881764-f2fa-4e40-9fbf-35d1b717c432">

**Plasmaman Melee Attack**

https://github.com/user-attachments/assets/6e694f2c-3e03-40bf-ae27-fc58a3e4cb6c

**Chat bubble**

<img width=240px
src="https://github.com/user-attachments/assets/e3c17e6d-5050-410f-a42c-339f0bfa30a1">

**Plasmaman Body**

<img width=140px
src="https://github.com/user-attachments/assets/7ed90a47-9c33-487d-bd44-c50cec9f16dd">

With different colors:

<img width=140px
src="https://github.com/user-attachments/assets/0a28068e-7392-4062-950b-f60d2602da84">
<img width=140px
src="https://github.com/user-attachments/assets/9b652311-0305-4ec0-be60-e404697617a2">

**Skeleton Language**

![image](https://github.com/user-attachments/assets/89b2b047-3bfa-4106-926e-6c412ed6e57c)

**(Bonus) Skeleton chat bubble**

<img width=240px
src="https://github.com/user-attachments/assets/a2e2be5c-f3ae-49d9-b655-8688de45b512">

**Self-Extinguish**

https://github.com/user-attachments/assets/6c68e2ef-8010-4f00-8c24-dce8a8065be8

The self-extinguish is also accessible as a verb, which also means that
others can activate your self-extinguish if they open the strip menu.

<img width=200px
src="https://github.com/user-attachments/assets/291ab86d-2250-46ec-ae0c-80084ab04407">

The self-extinguish action has different icons depending on the status
of the self extinguish.

Left to right: Ready, On Cooldown, Out Of Charges

<img
src="https://github.com/user-attachments/assets/0340de8a-9440-43b1-8bff-1c8f962faa0c">

<img
src="https://github.com/user-attachments/assets/11f73558-6dc1-444d-b2ef-2f15f55174ca">

<img
src="https://github.com/user-attachments/assets/030ed737-f178-4c60-ba0c-109659e7d9cb">

**Envirosuit Extinguisher Refill**

<img width=300px
src="https://github.com/user-attachments/assets/9379294b-e3f3-436d-81bc-2584631869ef">
<img width=300px
src="https://github.com/user-attachments/assets/807b9e9e-7b4b-4593-aa1f-d9d24ac6985c">

**Loadouts**

<img width=400px
src="https://github.com/user-attachments/assets/55713b87-29bb-41b3-b7a3-88fbc6e5e797">
<img width=400px
src="https://github.com/user-attachments/assets/ab1757fa-9b70-4a66-b5ae-20fd9cabe935">
<img width=400px
src="https://github.com/user-attachments/assets/aacc4cf7-9ce1-4099-b8c7-108bef1f3bde">
<img width=400px
src="https://github.com/user-attachments/assets/58604dc2-82ef-4d42-b9e2-639548c93f40">

**Plasma Envirosuit Crate**
<img width=400px
src="https://github.com/user-attachments/assets/fa362387-9c10-47c3-b1af-2c11e6b00163">

<img width=400px
src="https://github.com/user-attachments/assets/bf773722-9034-4469-967d-e00dbf8c77a7">

**Internals Crate (Plasma)**
<img width=400px
src="https://github.com/user-attachments/assets/fcd4ff2e-09e9-423a-9b21-96817f6042a4">

<img width=400px
src="https://github.com/user-attachments/assets/bf773722-9034-4469-967d-e00dbf8c77a7">

**Glow In The Dark**

![image](https://github.com/user-attachments/assets/9728eb33-55d5-4f82-92ac-3a7756068577)

## Changelog

🆑 Skubman
- add: The Plasmaman species has arrived! They need to breathe plasma to
live, and a special jumpsuit to prevent oxygen from igniting them. In
exchange, they deal formidable unarmed Heat damage, are never hungry nor
thirsty, and are immune to cold and radiation damage. Read more about
Plasmamen in their Guidebook entry.
- tweak: Internals are no longer toggled off if you take your helmet off
but still have a gas mask on and vice versa.
- tweak: Paradox Anomalies will now spawn with the original person's
Loadout items.
- fix: Fixed prisoners not being able to have custom Loadout names and
descriptions, and heirlooms if they didn't have a backpack when joining.

---------

Signed-off-by: Skubman <ba.fallaria@gmail.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

(cherry picked from commit e68e0c3f4b9cf263e07efc888b32a091df62fb51)
2025-01-29 20:19:20 +03:00
sleepyyapril
3a9a0e63bf Change "Kill" To "Teach a Lesson" (#1654)
better for MRP
this code is originally by me anyway, they just made it better

🆑
- tweak: Kill random person objective has been replaced by teaching them
a lesson, removing the need to RR a random person.

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: Lyndomen <49795619+Lyndomen@users.noreply.github.com>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit f592d4cd890bc14c70153182a400d273ffb113b9)
2025-01-29 20:10:41 +03:00
Skubman
b1c29bc460 NanoChat QoL And Bug Fixes (#1460)
# Description

Fixes notifications so that they always trigger when the chat is not
open, fixes a possible exploit where a user can send a message that is
longer than the max message length, and improves the UX of NanoChat in a
few areas.

Original message from
https://github.com/Goob-Station/Goob-Station/pull/1313:
> Fixed NanoChat message notifications not showing up in situations
where you'd definitely expect them to occur.
>
> Now, for a chat to not send a notification upon a new message, three
conditions need to be fulfilled:
> - You don't have the chat muted
> - Your PDA UI is open
> - You have NanoChat as your open program
> - Your currently-selected chat is the aforementioned chat

More changes:
- Validate NanoChat message length & chat name/job title length on the
server
c063001ca9.
  -If they are too long, they will be truncated to the maximum length.
- Improve the UI for editing a chat:
- Added a proper icon (used to be the letter E) for the Edit Chat
button.

![image](https://github.com/user-attachments/assets/ce868829-a9f5-494b-9d15-2cbc4a7e2a86)
- The Edit Chat popup now has correct text: the title is now "Edit a
contact", not "Add a new chat" and the Create button has been renamed to
the Confirm button.

![image](https://github.com/user-attachments/assets/aabd84b3-0f3c-410a-a74e-06420eb336dc)
  - Editing a chat no longer deselects the current chat.
- This is done by adding a new NanoChatUiMessageType entry, `EditChat`
and a new server-side handler function just for chat edits. The previous
edit chat method simply *deleted* the chat from the client and created a
new one.
- Form validation is now more robust: you can now only submit the edit
if you've made changes to the name or job title.
- Fixed NanoChat not appearing in PDAs with more than 5 pre-installed
programs by increasing the PDA disk space (max program count) from 5 to
8, the current disk space in Wizden.

![image](https://github.com/user-attachments/assets/e214fa21-5365-4f8a-8919-c6019d3b94bb)
- The job title now appears on the notification title.

![image](https://github.com/user-attachments/assets/486f5b2a-c555-4d1a-97ef-4dab3d8e1102)
  - The title will be truncated if it's too long.

![image](https://github.com/user-attachments/assets/ef99805c-b004-456a-9b59-e48f4abbe4ab)
- Improved form validation on the New Chat popup by only allowing users
to submit if the Number field is 4 numbers long. Previously, inputs like
"0" "12" "289" were valid which is ultimately incorrect as phone numbers
function more like strings that just happen to be digit-only and less
like actual numbers.

![image](https://github.com/user-attachments/assets/e3a767ff-71cb-4c61-b3e9-be13af66fd60)
- The left chat list will now truncate names and job titles if they're
too long.

![image](https://github.com/user-attachments/assets/76a8fbfa-e5e5-495c-ad13-fc9444e6ce9a)

## Changelog
🆑 Skubman
- add: NanoChat message notifications will now show you the job title of
the sender alongside their name.
- add: The NanoChat edit button now has a proper icon.
- tweak: The disk space (max amount of installable programs) on PDAs has
been increased from 5 to 8. This also fixes a bug where NanoChat was not
being installed on PDAs with more than 5 pre-installed cartridges.
- tweak: The character limit for names and job titles in NanoChat has
been increased to their actual limit on ID cards (30 characters).
- tweak: NanoChat chat list names/titles and notification titles that
are too long will be shortened, indicated with "..." at the end.
- tweak: The NanoChat edit popup now displays the correct text, instead
of appearing identical to the new chat popup.
- fix: NanoChat will now send a new message notification no matter what
if you don't have the chat open.
- fix: Editing a chat in NanoChat no longer deselects that chat.
- fix: Fixed a issue where users could potentially send NanoChat
messages longer than the maximum allowed message length.
- fix: Fixed being able to create a new chat when you haven't typed in 4
digits in the number field.

(cherry picked from commit f11d2e7976491a5c95aeb36eaa7a313624197a88)
2025-01-14 01:44:26 +03:00
sleepyyapril
885ee5a831 Wizmerge for Station AI (#1351)
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

the adding AI is now up to y'all because i'm not touching loadout code
for name datasets, but it shouldn't be too bad from here

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Signed-off-by: SolStar <44028047+ewokswagger@users.noreply.github.com>
Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: Verm <32827189+Vermidia@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Sphiral <145869023+SphiraI@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: ravage <142820619+ravage123321@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Intoxicating-Innocence <188202277+Intoxicating-Innocence@users.noreply.github.com>
Co-authored-by: Saphire <lattice@saphi.re>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: CaasGit <87243814+CaasGit@users.noreply.github.com>
Co-authored-by: BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: NakataRin <45946146+NakataRin@users.noreply.github.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: Doomsdrayk <robotdoughnut@comcast.net>
Co-authored-by: Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Julian Giebel <juliangiebel@live.de>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: Repo <47093363+Titian3@users.noreply.github.com>
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: icekot8 <93311212+icekot8@users.noreply.github.com>
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: no <165581243+pissdemon@users.noreply.github.com>
Co-authored-by: Tornado Tech <54727692+Tornado-Technology@users.noreply.github.com>
Co-authored-by: osjarw <62134478+osjarw@users.noreply.github.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Co-authored-by: TGRCDev <tgrc@tgrc.dev>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: chavonadelal <156101927+chavonadelal@users.noreply.github.com>
Co-authored-by: SolStar <44028047+ewokswagger@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: ArchRBX <5040911+ArchRBX@users.noreply.github.com>
Co-authored-by: archrbx <punk.gear5260@fastmail.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Co-authored-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: neuPanda <chriseparton@gmail.com>
Co-authored-by: neuPanda <spainman0@yahoo.com>
Co-authored-by: Dvir <39403717+dvir001@users.noreply.github.com>
Co-authored-by: Whatstone <whatston3@gmail.com>
Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>

(cherry picked from commit 93ed70acfeda357133a701f637d3faeec02749bb)
2025-01-14 00:13:42 +03:00
Spatison
a2557f75a6 Upstream (#129) 2024-11-21 17:49:04 +07:00
DEATHB4DEFEAT
47b10a01b0 Catch-Up Cherry Pick 2 (#944)
# Description

Picked 400 commits (and skipped many, many more) from WizDen since #540.
Stopped at commit 332f54a3aebe669f6e50d26e7b047f0bdc28e0fb (Lobby
Refactor).

---

# TODO

- [x] Pick
- [x] Compile
- [x] Fix runtime errors
- [ ] Fix up humanoid profile editor
- [ ] Test everything

---

# Changelog

🆑
- add: Merged 400 WizDen PRs. Happy testing!

---------

Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: FungiFellow <151778459+FungiFellow@users.noreply.github.com>
Co-authored-by: osjarw <62134478+osjarw@users.noreply.github.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Magnus Larsen <i.am.larsenml@gmail.com>
Co-authored-by: Hanz <41141796+Hanzdegloker@users.noreply.github.com>
Co-authored-by: Kukutis96513 <146854220+Kukutis96513@users.noreply.github.com>
Co-authored-by: potato1234_x <79580518+potato1234x@users.noreply.github.com>
Co-authored-by: Gotimanga <127038462+Gotimanga@users.noreply.github.com>
Co-authored-by: Mangohydra <156087924+Mangohydra@users.noreply.github.com>
Co-authored-by: TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Morb <14136326+Morb0@users.noreply.github.com>
Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Co-authored-by: KrasnoshchekovPavel <119816022+KrasnoshchekovPavel@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: KittenColony <149278380+KittenColony@users.noreply.github.com>
Co-authored-by: ShadowCommander <shadowjjt@gmail.com>
Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
Co-authored-by: T-Stalker <43253663+DogZeroX@users.noreply.github.com>
Co-authored-by: ERROR404 <100093430+ERORR404V1@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Jezithyr <jezithyr@gmail.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: no <165581243+pissdemon@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: Ciac32 <aknoxlor@gmail.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: NotSoDana <75203942+NotSoDana@users.noreply.github.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Co-authored-by: Repo <47093363+Titian3@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: nao fujiwara <awkwarddryad@gmail.com>
Co-authored-by: Michael <107807667+Doc-Michael@users.noreply.github.com>
Co-authored-by: Vasilis <vasilis@pikachu.systems>
Co-authored-by: Lamrr <96937466+Lamrr@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Jay <67732946+DuskyJay@users.noreply.github.com>
Co-authored-by: Just-a-Unity-Dev <67359748+Just-a-Unity-Dev@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Tyzemol <85772526+Tyzemol@users.noreply.github.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
Co-authored-by: RumiTiger <154005209+RumiTiger@users.noreply.github.com>
Co-authored-by: Verm <32827189+Vermidia@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
Co-authored-by: Ty Ashley <42426760+TyAshley@users.noreply.github.com>
Co-authored-by: exincore <me@exin.xyz>
Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: Ygg01 <y.laughing.man.y@gmail.com>
Co-authored-by: Łukasz Mędrek <lukasz@lukaszm.xyz>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: TurboTracker <130304754+TurboTrackerss14@users.noreply.github.com>
Co-authored-by: OnsenCapy <101037138+LGRuthes@users.noreply.github.com>
Co-authored-by: pigeonpeas <147350443+pigeonpeas@users.noreply.github.com>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: Tornado Tech <54727692+Tornado-Technology@users.noreply.github.com>
Co-authored-by: Rio <110139251+Riolume@users.noreply.github.com>
Co-authored-by: vorkathbruh <152932728+vorkathbruh@users.noreply.github.com>
Co-authored-by: Sphiral <145869023+SphiraI@users.noreply.github.com>
Co-authored-by: PrPleGoo <PrPleGoo@users.noreply.github.com>
Co-authored-by: Moomoobeef <62638182+Moomoobeef@users.noreply.github.com>
Co-authored-by: username <113782077+whateverusername0@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: Джексон Миссиссиппи <tripwiregamer@gmail.com>
Co-authored-by: Brandon Li <48413902+aspiringLich@users.noreply.github.com>
Co-authored-by: Jajsha <101492056+Zap527@users.noreply.github.com>
Co-authored-by: RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: youtissoum <51883137+youtissoum@users.noreply.github.com>
Co-authored-by: ike709 <ike709@users.noreply.github.com>
Co-authored-by: icekot8 <93311212+icekot8@users.noreply.github.com>
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Geekyhobo <66805063+Geekyhobo@users.noreply.github.com>
Co-authored-by: FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com>
# Conflicts:
#	Content.Client/Input/ContentContexts.cs
#	Content.Client/Lobby/LobbyState.cs
#	Content.Client/Lobby/UI/HumanoidProfileEditor.xaml
#	Content.Client/Lobby/UI/LobbyGui.xaml
#	Content.Client/Lobby/UI/LobbyGui.xaml.cs
#	Content.Client/Preferences/UI/CharacterSetupGui.xaml.cs
#	Content.Client/UserInterface/Systems/MenuBar/Widgets/GameTopMenuBar.xaml
#	Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
#	Content.Server/Fluids/EntitySystems/PuddleSystem.Spillable.cs
#	Content.Server/GameTicking/GameTicker.Spawning.cs
#	Content.Shared/Alert/AlertType.cs
#	Content.Shared/Input/ContentKeyFunctions.cs
#	Content.Shared/Preferences/HumanoidCharacterProfile.cs
#	Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs
#	Resources/ConfigPresets/EinsteinEngines/default.toml
#	Resources/Prototypes/Alerts/alerts.yml
#	Resources/Prototypes/Entities/Clothing/OuterClothing/coats.yml
#	Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml
#	Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml
#	Resources/Prototypes/Recipes/Crafting/Graphs/improvised/makeshiftstunprod.yml
#	Resources/Prototypes/Voice/speech_emotes.yml
#	Resources/keybinds.yml
2024-10-19 14:53:37 +07:00
VMSolidus
1695fbc90a Station Only Glimmer Mites (#976)
# Description

This PR makes it so that Glimmer Mites can only spawn on "The Main
Station", as defined by GetSpawnableStations. Yes this is seemingly
pretty hardcodey, but because on our codebase it's simply not possible
for GetSpawnableStations to ever return anything other than a list with
an index of 0, we can extremely reliably count on
GetSpawnableStations()[0] to be "THE Station".

This fixes an issue whereby Glimmer Mites can spawn in places where it
is simply not possible for players to reach them. Such as random
asteroids in space, CENTCOMM, Nukie World, or the Syndicate Listening
Outpost.

# Changelog

🆑
- fix: Glimmer Mites can no longer spawn anywhere other than "THE"
Station.
2024-10-19 13:41:35 +07:00
Spatison
215997e2e2 [Port | Tweak] Neuro Stabilization Implant / Имплант Нейро Стабильности (#80)
* add: neuro stabilizer implant

* Stabilization\

* AI rewiew

* fix: translation

---------

Co-authored-by: Remuchi <72476615+Remuchi@users.noreply.github.com>
2024-10-11 12:03:32 +07:00
Remuchi
24f26f21dd [Upstream] Апстрим фич и фиксов с Einstein Engines. (#39)
* Remove the Stupid Station Records Check From News (#739)

# Description
It was never used but caused annoyance all the time: the listening post
could never use the news console and ghosts/centcom officials/skeletons
could never publish news because of it.

(This was not tested, I recommend either waiting til I test it or making
someone else test it before merging)

# Changelog
🆑
- fix: You no longer need to have a station record to publish news.

Signed-off-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>

* Morale System (Port From White Dream) (#620)

# Description

This Feature has been graciously provided for Einstein Engines to port
from the White Dream codebase.

Mood is a system for tracking a character's current Mental State, which
fluctuates throughout the round as a result of various events that can
modify it. Each consisting of a single line event that can be trivially
inserted into any other system, and a yml configured "Moodlet", which is
applied to said character. Moodlets can be temporary or permanent, and
can also modify a characters mood in either positive or negative
directions. Things like, "Being Hungry", "Being Injured", "Petting a
cute animal", "Being Hugged", all create a Moodlet.

Mood can provide buffs or debuffs, primarily to movement speed. In fact
Mood's movement speed modifier actually completely replaces the movement
speed modifiers from Hunger & Thirst. Instead Hunger & Thirst create a
negative moodlet that persists until you eat and drink, which _can_ give
you a speed penalty. But you might for instance diminish the negative
effects by seeking out other positive sources. Or they might just get
worse, who knows what could happen?

# Media

Mood takes the form of a series of Moodlets, which modify your
character's internal Mood stat. It's kinda like a healthbar, but for
your mental state. Whenever you gain a moodlet, it appears in a popup.
White text for standard moodlets, red text for negative moodlets. By
clicking on your mood icon, text will show up displaying all of your
currently active Moodlets.

https://github.com/user-attachments/assets/3e9420bb-3a43-4d97-9127-31d704c15287

New traits!

![image](https://github.com/user-attachments/assets/4ddf968e-3dbd-44e1-a53e-79bb7b955d01)

Permission from Codeowners:
![morale code
permission](https://github.com/user-attachments/assets/c3d089fa-3e0f-4402-8757-c47e911c3554)

# TODO

- [x] Refactor the Crit Threshold modification, and Movement Speed
Modification to make it more granular.

# Changelog

🆑 VMSolidus & Skubman
- add: The Mood System has been ported from White Dream. Mood acts as a
3rd healthbar, alongside Health and Stamina, representing your
character's current mental state. Having either high or low mood can
modify certain physical attributes.
- add: Mood modifies your Critical Threshold. Your critical threshold
can be increased or decreased depending on how high or low your
character's mood is.
- add: Mood modifies your Movement Speed. Characters move faster when
they have an overall high mood, and move slower when they have a lower
mood.
- add: Saturnine and Sanguine have been added to the list of Mental
traits, both providing innate modifiers to a character's Morale.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Co-authored-by: Angelo Fallaria <ba.fallaria@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Conflicts:
#	Content.Server/GameTicking/Rules/TraitorRuleSystem.cs

* Automatic Changelog Update (#739)

# Conflicts:
#	Resources/Changelog/Changelog.yml

* Automatic Changelog Update (#620)

# Conflicts:
#	Resources/Changelog/Changelog.yml

* Psionic Refactor Version 2, Part 1 (#731)

# Description

Finally, after many long months, and this project surviving a complete
restart from square one, I have now made actual, real progress on an
actual proper "Refactor" of Psionics. This PR primarily moves ALL of the
logic for initializing Psionic Powers into highly configurable YML. The
initialization of psionics is no longer handled by components, and is
instead now handled entirely by a centralized system. To even further
cut down on component bookkeeping, nearly all logic needed for
generating Psions has been moved to the PsionicComponent. The
PotentialPsionicComponent now no longer exists.

Additionally, and although they are not currently implemented(I will do
so in the next PR after this), I have also laid the groundwork for
substantial reworks to the other aspects of Psionics. Power generation,
casting stats, feedback messages, non-action powers, and so on. It's
actually possible to now add a psionic power that does not add any
active abilities at all, rather by adding one or more components, thus
enabling purely Passive Powers. Or a combination of the two,
active-powers with a passive component.

# Media

https://github.com/user-attachments/assets/0fd6b9a4-7d84-4e6e-980a-9d7dd4264f6f

# Changelog

🆑
- add: Latent Psychic has been added as a new positive trait.
- tweak: Psionics have received a substantial refactor. While no new
powers have been added this patch, this initial refactor lays the
groundwork so that new psionic powers will be easier to create.
- tweak: Latent Psychic is now fully required to become psionic, or to
interact with Oracle.
- tweak: Psychics can now have more than one active power.
- remove: Mimes are no longer Psionic.
- tweak: Chaplain, Mantis, & Mystagogue all receive the Latent Psychic
trait for free, automatically.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Co-authored-by: Pspritechologist <81725545+Pspritechologist@users.noreply.github.com>
# Conflicts:
#	Content.Server/Zombies/ZombieSystem.Transform.cs

* Automatic Changelog Update (#731)

* Fix Overlays (#756)

# Description

Overlays have a funny bug where the calls to update them are global.
Meaning if any single person gets a bad enough mood to greyscale
themselves, everyone globally gets greyscaled. This bug was also present
on Dogvision and Ultravision, and had the same cause. Frontier luckily
had a fix for those two, and the fix works here as well for the Mood
Overlay.

# Changelog

🆑
- fix: Fixed an issue where Overlays(Dogvision, Ultravision, Mood) would
apply globally to all entities when updating.

* Automatic Changelog Update (#756)

* Missing Psychic Trait Strings (#758)

# Description

I accidentally deleted these at some point, so here they are again.


![image](https://github.com/user-attachments/assets/c6216f11-f2bc-48a6-86ae-739de0cfe1df)

No changelog because I don't want to publicly admit the error. :)

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>

* Action Blacklists (#760)

# Description


![image](https://github.com/user-attachments/assets/febab792-59ca-4938-8f84-e4a94f2a5b31)

I noticed that EntityTargetAction prototypes have a Whitelist field, but
no Blacklist field. This turned out to be trivial to add, and now it's
no longer necessary for Psionic powers to hardcode in C# that they can't
affect anyone psionically insulated or Mindbroken. In total only 3
powers had this change, but new powers in the future that affect a
target can now arbitrarily blacklist any component(Most likely,
PsionicInsulation and Mindbroken. :))

All of this, just to remove 9 total lines of C# hardcoding. 

# Changelog

🆑
- add: Actions no longer need to hardcode in target blacklists, and can
now blacklist entities in YML. This is notably useful for Psionic
powers, which all share a common feature that they can't target people
with Psionic Insulation (Or have been Mindbroken).

* Automatic Changelog Update (#760)

* Psionic Powers Add Components With Arguments. (#763)

# Description

While coding another Psionic Power feature, I discovered that the
current implementation of iterating over components does not carry over
arguments for the components. So I copied over the method used by Traits
exactly-as-is, and just changed the names of the variables to
accommodate the PsionicSystem.

# Changelog

🆑
- add: PsionicPowers that add a Component now also allow for adding a
Component with Arguments. This works exactly like the trait system's
implementation of components.

* Automatic Changelog Update (#763)

* DeltaV/DS14 IPC Port (#744)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Ported over IPC from DS14, with the fixes from DeltaV.

---

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

- [X] Port
- [ ] Check for errors (Local tests wouldn't run on this one)

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>



</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- add: Added IPC as a playable species.

---------

Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Daniela <43686351+Day-OS@users.noreply.github.com>
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

* Automatic Changelog Update (#744)

* Update MoodSystem.cs (#761)

# Description

MoodSystem was lacking a Component Shutdown to yeet the alert, so it was
causing intermittent test fails.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>

* Traits Refactor (#765)

# Description

I decided traits weren't flexible enough, so I refactored them to also
optionally add Actions(Activatable Abilities), and PsionicPowers(Going
through the PsionicAbilitiesSystem). Neither of these have any current
implementations, I'll leave that to other people. Trait Components are
by extension no longer a hard requirement, although if you add a blank
trait that adds nothing, you have only yourself to blame. But doing so
won't crash the game or throw an error anyway.

# Changelog

🆑
- add: Traits can now add Active Abilities to a character.
- add: Traits can now add Psionic Powers to a character.

* Automatic Changelog Update (#765)

* Made Stamres Show in Resistances View Take 2 (#767)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

title

for some reason something went horribly wrong
[here](https://github.com/Simple-Station/Einstein-Engines/pull/766)

---

<details><summary><h1>Media</h1></summary>
<p>


![image](https://github.com/user-attachments/assets/a9e71b67-ae47-437f-a370-d25b6388d48d)

</p>
</details>

---

# Changelog

no cl no fun

---------

Co-authored-by: whateverusername0 <whateveremail>

* Minor Ifrit Health Rework (#762)

# Description
Closes #754

Ifrit is a fire spirit, he really shouldn't be taking 1.5x fire damage.
This makes sense and should help with players accidentally killing
themselves with the fire ball.
For balance, the cold damage modifier was changed to 0.5x, unsure if it
should be lower.

Minor passive regeneration has also been added, since there isn't
another way to heal other than the Mystagogue sitting there hitting them
with the book of mysteries.

# Changelog

🆑 
- tweak: Ifrit has received some damage resistance changes

---------

Signed-off-by: stellar-novas <stellar_novas@riseup.net>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

* Automatic Changelog Update (#762)

* Xenoglossy (#772)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description
Adds xenoglossy to the power pool. I originally planned it for
cataloguer but it looks like that doesn't exist anymore.

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑 Rane
- add: Added Xenoglossy to the psionic power pool.

---------

Signed-off-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>

* Automatic Changelog Update (#772)

* Increase Trait Point Granularity (#775)

# Description

Since we now have a LOT of Traits, and soon to be another fresh batch of
Traits coming in now that they've been refactored to offer even more
options, it's come up that Traits are kinda hard to balance with the
current combination of point costs and allotted starting points. To help
alleviate this problem, I've both doubled the point values of every
trait in the game, as well as doubled the default allotted starting
points. There is now more room to balance trait costs against each
other.

I have not however actually made use of the new range of point costs
yet, and would like to consult with other contributors and maintainers
on which traits need to be adjusted.

# TODO

- [ ] Go over trait point costs again to address balance.
- [ ] Do this again in 6 months when we have 200 traits.

# Changelog

🆑
- tweak: Trait points have been made more granular by both doubling the
available number of trait points, and increasing the base cost of all
pre-existing traits.

* Automatic Changelog Update (#775)

* Fix Heisentests (#778)

# Description

Attempt number 5000 to get the Heisentests to STOP.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>

* Fix RGB Moths (#777)

# Description

Magic single line Yml Fix obtained by digging through DeltaV's Blame 
**GO!**

# Changelog

🆑
- tweak: Moths can now be colorful again.

* Automatic Changelog Update (#777)

* Remove DV AGPL License Headers (#781)

# Description

They're confusing.

Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>

* Return Of The Cataloguer (#779)

# Description

Cataloguer has returned to Epistemics as the newest 4th member of the
"Crew Aligned Wizards Club". The Cataloguer is a variation on the
Librarian role, which automatically starts with the new Xenoglossy
Psionic Power, which allows him to know and speak all languages.
Additionally, the Cataloguer is now once again a member of Epistemics
instead of Civilian, and has had Epi added to his access.

On all maps that previously did not have a Librarian spawner, one
Scientist spawner has been replaced with a Cataloguer.

# Changelog

🆑
- add: Cataloguer has been re-added to the game as a new roundstart
Psionic role. The Cataloguer is a unique role that will always start
with the Latent Psychic trait, as well as the new Xenoglossy power,
which allows him to know and speak all languages.

* Automatic Changelog Update (#779)

* Psionic Power Feedback Messages (#776)

# Description

This PR implements the previously planned feature whereby obtaining a
Psionic Power plays some form of notification to alert the player that
they have gained a new ability. Since some Psionics like Xenoglossy are
purely passive, it's very important to give an indication to players
what's going on. To that end, PsionicPowerPrototype has been expanded to
include new datafields related to Initialization Feedback. There are now
three kinds of feedback messages: Popup, Feedback, and Metapsionic.

All feedback will only play for powers obtained during the round, rather
than for entities that innately start with powers.

- Popups will appear over your character's head as a small, brief
message. These should be no more than a sentence at most.
- Feedback will appear in the Chat window as a message only visible to
the Psion themself. These can be as much as a paragraph in length.
- Metapsionic messages are coming in their own separate PR:
https://github.com/Simple-Station/Einstein-Engines/pull/774

In a separate PR, I also wish to add Audio feedback as well.

# Media

I apologize that the video has been bitcrunched to a point that the chat
window can't be read.


https://github.com/user-attachments/assets/11e30e91-8fc6-48a2-b6a5-9ecf7127065e

# Changelog

🆑
- add: Gaining a new Psionic Power can now display messages to alert the
player, both as a short popup, and optionally a lengthier message sent
to the user's Chat window.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>

* Automatic Changelog Update (#776)

* Allow Playing Multiple Announcement Sounds at Once (#740)

# Description

@VMSolidus said he had issues with SuperMatter announcements not playing
correctly.

---

<details><summary><h1>Media</h1></summary>
<p>


https://github.com/user-attachments/assets/e0cbbe77-00ce-4c9e-837a-00c91fee8623

</p>
</details>

---

# Changelog

🆑
- fix: Announcements can play multiple sounds now (you can revert to the
old behavior in sound setting if you want though)

* Automatic Changelog Update (#740)

* Add Insulation to Robots (#773)

# Description

Soulless Robots didn't have PsionicInsulation, which meant they were
eligible targets for powers such as Mindswap. This is a pretty simple
fix.

# Changelog
🆑
- fix: Robots and other mechanical creatures are now correctly immune to
non-physical psionic powers.

* Implement Mind Contests (#757)

# Description

Now that the initial Psionic Refactor is out of the way, this is my
first new standalone Psionics PR, filling in the MindContest function
that was added over a month ago(but was set to always return 1f as a
placeholder).

Mind Contests are unique among the Contests System in that they do not
treat the lack of a Psionic Component as a failure condition, and
instead as a variable.

No changelog because MindContests are not currently used anywhere, all
I'm doing is adding the actual function logic.

* Added Language and Healing Components to IPC Entities (#786)

# Description

This pull request introduces two new components to the IPC entities:

1. **LanguageKnowledge**: This component allows IPCs to speak and
understand Galactic Common and RobotTalk. Previously, IPCs were limited
to Universal language, which caused communication issues with the crew.
With this addition, IPCs can now effectively communicate using the
Galactic Common and RobotTalk languages.

2. **WeldingHealable**: This component enables IPCs to heal themselves
using a welding tool. Given the nature of IPCs as robotic entities, this
feature is essential for self-maintenance and ensures they can stay
operational even after sustaining damage.

These changes aim to improve the functionality and immersion of IPCs
within the game, allowing them to better integrate and interact with
other entities while also providing them with the ability to
self-repair.

---

# TODO

- [x] Add `LanguageKnowledge` component to IPC entities to support
Galactic Common and RobotTalk.
- [x] Add `WeldingHealable` component to IPC entities for self-repair
with welding tools.

# Changelog

🆑
- add: Added the ability for IPCs to speak and understand Galactic
Common and RobotTalk languages.
- add: Enabled IPCs to heal themselves using welding tools via the
WeldingHealable component.

Signed-off-by: v0idRift <163446847+v0idRift@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

* Automatic Changelog Update (#786)

* Fix supermatter.ftl (#790)

supermatter .ftl was broken, this fixes it.

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Easly fix the supermatter .ftl files that was not set correctly, why? i
dunno.
now its works.

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- fix: Supermatter Annoncements

Signed-off-by: FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com>

* Automatic Changelog Update (#790)

* Fix Door Access (#798)

# Description
Somehow all the doors accesses broke. Seems somebody used the
AccessReader Component on the door instead of the door electronics. This
PR fixes all the doors that I could find that were broken.

# Changelog


🆑

- fix: Fixed most door accesses including: Lawyer, Mantis, Corpsman,
Boxer, Clown, Mime, Musician, Reporter, Library, Zookeeper, Salvage and
Psychologist.

* Automatic Changelog Update (#798)

* Cherry-Pick PR #27113 (#803)

# Description

This is a cherry-pick of
https://github.com/space-wizards/space-station-14/pull/27113
Which fixes a bug that has been reported here where the FixGridAtmos
command does not work.

# Changelog

🆑
- fix: Fixed the FixGridAtmos command.

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>

* Automatic Changelog Update (#803)

* Return Of The Pibble (#789)

# Description

This PR Rebases one of Nyanotrasen's funniest features: The Pibble.
I mean "Lab Mix", according to the description. Lab Mixes are comically
muscular dogs famous for their ability to attack and destroy Felinids,
Mailmen, and more recently Harpies. Watch out, there is also a rare
variant of Lab-Dachshund Mix, colloquially known as the "Ventbull",
which can occasionally be found roaming the station's vents. Please keep
your children, Felinids, and Birbs at a safe distance.

# Changelog

🆑
- add: Lab Mixes have been added to the game as a new random animal. Be
sure to keep Felinids and Harpies away from them.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>

* Automatic Changelog Update (#789)

* Make IPC Sounds Great Again (#811)

# Description

This PR brings back Ekrixi IPC sounds, and rebases IPC sounds on top of
silicons.
Duplicate of #810 [due to](# "Due to your attempt to evade your ban, you
are banned indefinitely. You may appeal your ban, but only at least 6
months after your last ban evasion attempt, and only with a voucher of
good behavior from another SS13/SS14 server.") `master` branch skill
issues.

<details open><summary><h2>Media</h2></summary>
None
</details>

---

# Changelog

🆑 router
- add: Added more sounds to IPCs. IPCs can now also whistle, whirr,
beep, boop, ping, chime, buzz and buzz twice.
- fix: IPCs no longer have the default wilhelm sound.
- tweak: Silicon deathgasps are now darker.

* Automatic Changelog Update (#811)

* Add IPC's Missing Components (#793)

# Description

IPCs were missing Offer Item, Laying Down, and Carriable.

# Changelog

🆑
- fix: IPCs can now lay down, offer people items, and be picked up and
carried.

* Automatic Changelog Update (#793)

* Temporarily Disable Telegnosis (#795)

# Description

Telegnosis is broken, and so I'm temporarily disabling it. 

# Changelog

🆑
- fix: Temporarily disabled Telegnosis pending a lengthier update.

* Automatic Changelog Update (#795)

* IPC Missing Deathgasp (#800)

# Description

IPC were missing a deathgasp, so I wrote one for them.


![faridaiscute](https://github.com/user-attachments/assets/2e78dcc0-0163-4ec7-bf07-424dbd9d0a91)

# Changelog

🆑
- fix: IPC now have their own unique deathgasp message.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Automatic Changelog Update (#800)

* Make Shoving and Stamina Great Again (#809)

# Description
First off, shoving was broken badly. It would roll shoving chance twice,
meaning that you had only about 6% chance to actually shove someone, and
it would only remove 6% of their stamina. Additionally, stamcrits have
always pissed me off by just how stupid they were. Also, some of the
code in the stamina system had highly misleading names, which has led
vmsolidus to implement mass contests the wrong way there.

This PR introduces changes to fix those issues:
- Shoving only rolls the shove chance once.
- Shoving deals 50 * shove chance stamina damage, as intended, without
depending on target's stamcrit threshold. In the future it should depend
on the weapon used (claws, fists, etc), but for now it's fine.
- Shoving advantage ranges were re-evaluated. Mass difference now can
give 0.5x-2x advantage, and health difference can give 0.75x - 1.25x.
Stamina difference still gives a neglectable 0.9x - 1.1x advantage.
- The stamina slowdown is now added and calculated dynamically using
MovementSpeedModifierSystem, which means the slowdown will no longer
disappear 3 seconds after receiving damage, and will not stack (however,
it now scales with stamina damage).
- When you exit stamcrit, you start at (100 - epsilon) stamina damage.
There still exists another check that prevents you from getting
re-stunned in the next ~5 seconds (maybe we should remove that too?),
but the slowdown and combat disadvantages will apply as they are
supposed to. This means you can no longer stand up after being exhausted
to the point of fainting on the ground and immediately rush back into
combat.

In addition to that, I also did the following:
- Re-added the mass contest to EscapeInventorySystem. It seems like it's
been nuked when the new mass contest system was being implemented and
never added back.
- Fixed the mass contest in carrying again

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>



https://github.com/user-attachments/assets/076b3c3b-cdd1-4ec7-969d-2564c814a40e


</p>
</details>

---

# Changelog
🆑
- fix: Shoving once again works correctly, and mass difference matters a
lot when shoving someone.
- fix: The time it takes to escape one's hands once again depends on the
mass difference between the escapee and the holder.
- tweak: Exiting stamina crit now leaves you with 0 stamina. You can't
be immediately stunned again, but you will suffer from slowdown and
combat disadvantages!

* Automatic Changelog Update (#809)

* Thieves Outside of Traitor (#799)

# Description


Mirroring a PR from Floof that I was much too lazy to cherry-pick. This
just changes gamemodes outside of tator and rev to allow thieves if it
makes sense to.

---


# Changelog

🆑
- tweak: Thieves are now in Survival, Hellshift, and Extended.

Signed-off-by: ShatteredSwords <135023515+ShatteredSwords@users.noreply.github.com>
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>

* Automatic Changelog Update (#799)

* Telepathy (Minor)Refactor (#819)

# Description

This PR re-introduces a feature that was present in the Psionic Refactor
version 1, that of the Natural Telepath trait. Where before Natural
Telepath was treated as an "Upgraded" version of Latent Psychic, now it
is a standalone trait that makes use of new functionality, where traits
can add psionic powers directly, as opposed to relying on just adding
components. To accomodate for this, the Telepathy functionality has been
modified such that it no longer makes the expectation that
PsionicComponent users have the ability to coherently speak
telepathically, and instead checks for a specific TelepathyComponent.
Since Telepathy is added to a Psion via their ActivePowers list, it is
also eliminated when the Psion is mindbroken.

<details><summary><h1>Media</h1></summary>
<p>


![image](https://github.com/user-attachments/assets/b017b027-d283-484e-812e-37804d839c4a)

</p>
</details>

# Changelog

🆑
- add: TelepathyComponent has been split off from the PsionicComponent,
now as it's own standalone feature.
- add: Telepathy has been added as a new Psionic Power
- add: Natural Telepath has returned from Psionic-Refactor V1, now using
new functionality from the trait system that allows traits to buy
psionic powers directly.
- add: Latent Psychics who have neither bought Natural Telepath, nor
acquired Telepathy during the round, can sometimes hear snippets of
conversation from telepathic chat.
- tweak: The cost of Latent Psychic has been reduced from 6 to 4 points,
this is to accommodate for the loss of Telepathy as a bonus feature for
all Psionics. Since Natural Telepath is a 2 point trait, this gives a
net 0 change in trait points for anyone who wishes to keep being a
roundstart Telepath.
- tweak: Psionic Mantis, Mystagogue, Chaplain, and Cataloguer are all
Naturally Telepathic, and thus get the new trait for free.

* Automatic Changelog Update (#819)

* Psionic Insulation Trait (#820)

# Description

This PR brings back the x-Waveform Misalignment trait from Psionic
Refactor version 1. There's not really much to say here. Having this
trait means that you are completely immune to most psionic powers and
effects, with the only exception of the physical effects of Elementalist
abilities. It is also an extraordinarily expensive trait, the most
expensive in the game by far.

This trait will get even more useful when Cultists, Wizards, and
Heretics are brought into the game.

# Changelog

🆑
- add: x-Waveform Misalignment has been rebased from the Psionic
Refactor v1. x-Waveform Misalignment is an extraordinarily expensive
trait that grants full immunity to nearly all psionic powers and
effects, both positive and negative.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Automatic Changelog Update (#820)

* New Interaction System (#733)

# Description
This implements the New Interaction Verb System™©, designed to allow
defining verbs using yml and make adding new verbs way easier than it
was before. This was initially designed just to bring back generic no-op
interactions like hugging, but can now be used to create way more unique
interactions for all the different entities.

In the core of the system lies InteractionVerbPrototype. Besides
defining the obvious qualities of the verb itself, such as the name,
description, interaction constraints, it also has several important
properties:
- The requirement of the verb - what is required for the verb to show up
as "enabled" in the context menu and be allowed to be performed. There's
just one requirement slot, but using the ComplexRequirement class you
can use multiple requirements and choose whether they are combined via
boolean or, boolean and, or something in-between.
- The action of the verb - it defines its own IsAllowed (whether the
action is applicable to the target entity at all), CanPerform (called
before and after the potential do-after), which defines whether this
exact attempt at performing the action succeeds and shows a success
popup, or fails and shows a fail popup, and finally Perform, which tries
to perform the action and return a boolean result, which determines...
well, what was stated before. Similarly to requirements, there are
complex and conditional actions which can be combined into whatever
monstrousity you can imagine... In fact, it is entirely possible to
build a turing-complete programming language out of actions!
- Effects, specifically three of them: one that is shown when the
interaction performs successfully, one that is shown when it fails, and
one that is shown when the do-after for the interaction begins
succesfully (which means the first CanPerform check of the verb has
succeeded). Each one of them defines a popup (configuration for which is
stored in a different prototype) and a sound. Those are also designed to
be highly customizable: you can choose who sees the popup and where, and
more.

Verbs can be global or local. Global verbs are added to any entity
should it meet the prerequisites and pass all the necessary checks
(which are also designed to be highly configurable). Local verbs are
defined in OwnInteractionVerbsComponent and InteractionVerbsComponent of
the user and target respectfully.

At the moment of writing there are 8 built-in global verbs and 1
non-global verb, not including abstract verbs:
- 3 no-op actions that are made for RP purposes, that is looking at
someone, hugging someone, petting someone. The latter two may be later
used to modify the target's morale should the PR for it be merged.
- 2 actions related to standing: one for forcing someone down, and one
for helping them get up, waking them up and removing 2.5 seconds of stun
in addition to that (before you could click someone with empty hand to
remove 1.5 seconds of stun - I removed that in favor of the new system)
- 1 action for making someone who's laying down (on the bed or
otherwise) to sleep.
- 1 actions for falling asleep yourself (no need for bed or bag or
whatever to tell you that you can sleep - this does not provide any
healing properties or anything like that, purely an RP feature).
- 1 action for pinching yourself - made simply with the intent of
testing some possibilities of the new system, I decided to keep it
because it's a bit funny.

Local actions include:
- An action for knocking on windows, doors, windoors, computers,
machines.

More are to be added to this list as the progress continues.

# TODO
- [X] Implement the core of the system
- ~~Add more, way more actions. Possible ideas include:
[slapping/kicking someone, hugging toys/plushies, pressing random
buttons on a computer, ... ]. I could use some ideas for that.~~ -
skipping for now, we can do it in follow-up prs to clutter this one
less.
- [X] Port all InteractionPopupComponents to the new system, and remove
their old usages from non-animals.
- [X] Introduce contests and a way to configure them (could reuse
RangeSpecifier for that; certain actions such as pushing down/helping up
would benefit a lot from this).
- [X] Hide chat logs for people who cannot see the action being
performed.
- [X] Implement cooldowns
- [ ] Cleanup.

<details><summary><h1>Media</h1></summary>
<p>

Note: this video was made before a few important fixes were made.


https://github.com/user-attachments/assets/17b616dd-4bc8-4af3-916c-6a5d16c77064

Newer video - demonstrates various actions and shows that chat logs
cannot be seen if the source of the logged popup is outside the view.


https://github.com/user-attachments/assets/d6228855-fb7f-45d1-812f-56afe10f3f86

</p>
</details>

---

# Changelog
🆑
- add: A new interaction system has been implemented. The right-click
menu now provides a wide variety of different interactions with
different entities. Some old default interactions, such as hugging,
knocking, fence rattling, have also been moved to that system.

---------

Signed-off-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>

* Automatic Changelog Update (#733)

* feat: translation for new interaction system

* fix: fix interaction system changing state action to ours

* Glacier Real (#1169) (#728)

* glacier real

* troll

* atmosia tweaks

* 1 less can of plasma not too op

* replace troll generator with solar crate

* add StationSurface to glacier

* add surface map

* biome stuff upstream #28017

* unpause after loading

* fix no terrain

* comment out the surface spawning

* shipyard

* glacier justiceroid

* updateprototype and cleanup

* fix random shit

* untroll

* courier

* add to test :trollface:

* fix

* futureproofing

* hot loop inlet lmao

* tweak some pumps in atmosia

* carpy and make salv locker lighting better

* Edit lights, move salv dock, add justice maints, edit entity names for
casing consistency, other minor edits

---------

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

Ports Glacier from DeltaV. Justice department has been yeeted.

# Changelog

🆑
- add: Glacier Returns.

---------

Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>

* Automatic Changelog Update (#728)

# Conflicts:
#	Resources/Changelog/Changelog.yml

* Rebase Saltern (#804)

# Description

Saltern, now featuring a full Epistemics department, and a Supermatter
engine. :)

<details><summary><h1>Media</h1></summary>
<p>


![Saltern-0](https://github.com/user-attachments/assets/10de83fa-5ddb-47fe-b62f-3441314225be)

</p>
</details>

# Changelog

🆑
- add: Saltern has been added to the map rotation. Now featuring a
compact Supermatter engine, full Epistemics department, and a
significantly expanded Chapel and Library.

* Automatic Changelog Update (#804)

* Core Supermatter (#792)

# Description

**Walks into a room**
**Slaps down CORE, but with Supermatter**
**Doesn't elaborate**
**Leaves**

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>


![Core-0](https://github.com/user-attachments/assets/4fbb8e6d-b4b8-4c73-b048-7349711a624a)


![image](https://github.com/user-attachments/assets/d5c37ac8-e500-404e-a0ad-520a68ca6d8e)

</p>
</details>

# Changelog

🆑
- add: Core has been added to the list of maps in rotation. This time
featuring a custom Supermatter Engine

* Automatic Changelog Update (#792)

* Fix InnatePsionicPowers For Mapped Entities (#824)

# Description

InnatePsionicPowers needed to be moved from ComponentStartup to
MapInitEvent, which is a deceptively named event that ALSO functions
identically in use to ComponentStartup, except that it's safe to use for
entities that are mapped in, in addition to joining the round or being
spawned in. Whereas ComponentStartup isn't allowed to modify or add
components for any entity that is mapped(which includes Spawners
apparently).

This change allows for entities like Oracle and Sophia to make use of
InnatePsionicPowers, which is done by request from Rane, who for
mysterious reasons wishes for the two divine statues to be both
Prayable, and have the Noospheric Zap Power.

I have also verified by ingame testing that this does infact apply to
people who join after the map is initialized, as well as things
pre-existing on the map. So Oracle still gets her powers, while a
latejoining Mystagogue still gets his.

# Changelog

🆑
- fix: InnatePsionicPowers now operates on MapInitEvent instead of
ComponentStartup, meaning that it can now be safely used on entities
that are mapped in instead of spawned.
- add: Oracle and Sophia are now recognized as Divine, and as such are
creatures that can be prayed to.

* Automatic Changelog Update (#824)

* Update Credits (#837)

This is an automated Pull Request. This PR updates the GitHub
contributors in the credits section.

Co-authored-by: SimpleStation Changelogs <SimpleStation14@users.noreply.github.com>

* Disable Mood In Debug (#806)

# Description

MoodSystem has a Race Condition against DeleteAllThenGhost.

# TODO

- [ ] Run the tests 10 times in a row to see if DeleteAllThenGhost will
appear.

* Diagonal Window Smoothing (#805)

# Description

Diagonal windows weren't updated to use the new smoothing when we added
a bunch of new sprites designed around connected textures. This PR fixes
that for all diagonal windows.


![image](https://github.com/user-attachments/assets/4a54a00f-32d6-4365-ad0a-d96ecdbe6114)

# Changelog

🆑
- add: Diagonal windows now use connected textures.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Automatic Changelog Update (#805)

* Maximize Default Description Limits (#788)

# Description

The current in game UI can reasonably support names up to 48 characters
in length, as well as descriptions up to 1024 characters long. Any
longer, and the UI requires a scroll bar. This change is present on
Cosmatic Drift, which uses the same character UI we currently have. I've
had many people requesting this change, and while I am aware that we
wish to at some point update to a new character UI(such as Parkstation's
UI), but a stopgap here is still nice, and it's just two Const
variables.

# Media


![image](https://github.com/user-attachments/assets/d68c3e05-9659-464b-8fb1-8de7e41a674b)

# Changelog

🆑
- tweak: Character names can now be up to 48 characters in length.
- tweak: Character descriptions can now be up to 1024 characters in
length. This is the maximum size descriptions can be without the menu
having a scroll bar. And while we'd like it to be bigger, we're going to
want to get a new UI for this in the future!

* Automatic Changelog Update (#788)

* Bot for Changelog (#833)

🆑
- add: Changelogs should be shown in Discord now

---------

Signed-off-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Co-authored-by: TAZIKLIK <73418250+TAZIKLIK@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>

* Update actions_changelogs_since_last_run.py (#841)

Signed-off-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>

* Added Jukebox (#26736) (#802)

<!--

-->

# Description

<!--

-->

Adds super cool super nice Jukebox to the bar! Ran off .ogg files, can
use any royalty free song.



---
<!--
-->

<details><summary><h1>Media</h1></summary>
<p>

![Example Media on] 
![Screenshot 2024-08-26
061947](https://github.com/user-attachments/assets/352a0491-5cec-4b03-949b-8407aa858cb8)

</details>

---

# Changelog

<!--

-->

🆑 Kacey, Nova
- add: Added Jukebox with basic songs.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: iNVERTED <alextjorgensen@gmail.com>
Co-authored-by: DJBIGYAPPA420 <antoniobryandiii@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

* Automatic Changelog Update (#802)

# Conflicts:
#	Resources/Changelog/Changelog.yml

* remove: wrong changelog

* remove: wrong changelog

* fix: a few more incorrect translations

* Psionic Extraplanar Creatures (#829)

# Description

Certain things in the game were intended to be classed as Psionic(And
mostly without powers), but were apparently lacking the components. To
clarify, ANYTHING that comes from an alternate layer of reality,
alternative plane of existence, extra dimensions, other universes,
bluespace, etc, is intended to have a PsionicComponent to abstract
represent their nature as a magical being of some variety. The
importance of this is largely related to the use of Metapsionics to
detect them, but also for the valid target lists for Anti-Psychic
abilities, such as the bonus damage from the Anti-Psychic Knife.

While here, I've also added the "Loto Oil Slime" from Psionic Refactor
Version 1, now that Reagent Slimes(as Extraplanar creatures brought to
this world by Liquid Anomalies) have a PsionicComponent.

needs https://github.com/Simple-Station/Einstein-Engines/pull/824

# Changelog

🆑
- add: Revenants, Reagent Slimes, and Ore Crabs are now considered to be
Psionic(But cannot gain powers randomly). This is due to their status as
"Magical And/Or Extraplanar Creatures", which makes them valid targets
for anti-psychic abilities such as the Psionic Mantis' Anti-Psychic
Knife.
- add: Some Reagent Slimes can now contain Lotophagoi Oil.

* Automatic Changelog Update (#829)

* Cloning Refactor (#735)

# Description

Since Cloning code is effectively abandonware by it's original
codeowners, and I was the last person in this entire game to update it,
I am technically the codeowner of Cloning. And by extension, it's also
my responsibility to maintain the Cloning code. I've been putting this
off for awhile due to how busy I've been with other projects, but since
I'm now waiting on all my other refactors to be reviewed, I decided to
finally sit down and comprehensively refactor Cloning.

In addition to massive substantial code cleanup(Cloning machines no
longer run on Frametime for one!), here's most of the changes.

- Cloning Pods must be powered for the entire 30 second duration of the
cloning process.
- Said "30 second duration" is no longer hardcoded. Although no methods
currently exist to reduce it. I plan on revisiting this after I bring
back Machine Upgrading.
- Cloning can now FAIL partway through. If the cloning pod is Depowered,
Unanchored, or Emagged, it will automatically swap to the "Gore" state.
- When in a Gore state, Cloning Pods will destroy the entity they were
trying to clone, replacing them with a pool of blood and ammonia that
scales with the mass of the entity that was to be cloned!
- Clones come out of the pod with a significant quantity of Cellular
damage, and are almost always in need of resuscitation. Consider using
Cryogenics to "Finish" your clones. Doxarubixadone is literally named
after this process, and is a perfectly suitable cryo chem for
resuscitating clones.

<details><summary><h1>Media</h1></summary>
<p>

New gore sprites for the Metem machine, because it can now have gore
mode.
![Metem gore
spites](https://github.com/user-attachments/assets/7cc06ce2-c8eb-413c-b996-85e555b67db3)


</p>
</details>

# Changelog

🆑
- add: Cloning & Metempsychosis Machines have been refactored!
- add: Cloning can now fail at any point during the cloning process,
turning the would-be clone into a soup of blood and ammonia.
- add: "Clone Soup" scales directly with the mass of the entity you're
attempting to clone. Fail to clone a Lamia, and you'll be greeted with
an Olympic swimming pool worth of blood when the machine opens.
- add: Cloning will fail if at any point during the procedure, the
machine is depowered, unanchored, or emagged.
- add: Clones come out of the machine with severe Cellular damage.
Consider using Doxarubixadone in a Cryo tube as an affordable means of
"Finishing" clones.
- tweak: Cloning Time is now increased proportionally if an entity being
cloned is larger than a standard human(smaller entities are unchanged)
- tweak: The cost to clone an entity can now be configured on a
per-server basis via CCVar "cloning.biomass_cost_multiplier"
- tweak: The Biomass Reclaimer can now be toggled to round-remove
ensouled bodies or not via CCVar "cloning.reclaim_souled_bodies"
- add: The effects of Metempsychosis now scale with a Psion's relevant
caster stats. More powerful psychics are more likely to get favorable
results from being forcibly reincarnated.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Pspritechologist <81725545+Pspritechologist@users.noreply.github.com>
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>

* Automatic Changelog Update (#735)

* Delete All Then Ghost Fault Tolerance (#787)

# Description


![image](https://github.com/user-attachments/assets/4135c3fa-d2e0-41ca-b8f4-49e149d43ef3)

I'm putting this here as an option to deal with our Heisentest problems,
by making the tests "Fault-Tolerant" wherever practical, but I don't
want this merged without Death and Psprite agreeing to this. For the
most part I believe that these tests are failing because they are
essentially checking that "Random events are not creating entities", by
creating their own enforced Race Conditions. This particular test is
repeatedly failing because the Mood System has no way of deducing that
it's in a test. Even though the alleged issue is a nothingburger.


![image](https://github.com/user-attachments/assets/777b31f1-87a7-4eee-8a62-993acb322315)

Tests absolutely shouldn't have been designed around race conditions.

# Changelog

No changelog because this isn't playerfacing.

* Update Issue Templates (#797)

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Rewrites the issue templates and removes the redundant security
vulnerability issue

Also, sorry Death, titles are now sentence case to maintain consistency
with the auto generated security policy one

Blame GitHub not me </3

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>
Here's the old one, can't make issues on a fork so I can't show how it
looks now.

![image.png](https://github.com/user-attachments/assets/ae8319ed-b66c-4415-9f6d-1048ddc53e07)

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

N/A

Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>

* Add PR URL to Changelogs and Make Author a Header (#843)

🆑
- add: New changelogs should now show links to their PRs
- tweak: Changelog authors should now be a header instead of bold text
- fix: Changelogs shouldn't send random amounts of old changelogs

---------

Signed-off-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>

* Automatic Changelog Update (#843)

* Update actions_changelogs_since_last_run.py (#846)

string didn't become int
🆑
- fix: oatnsdaoersoaetaroeoertnsirlea

Signed-off-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>

* Psychognomy (#808)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description
Psychognomy is a passive power that gives you a descriptor on the origin
of a telepathic message. There's enough of them that are ambiguous
enough. I also changed Oracle and Sophia a little bit, giving them
innate psionic powers.

🆑 Rane
- add: Added Psychognomy.
- tweak: Reverted Sophia name change.
- tweak: Minor tweaks to psionic chat eligibility and formatting.
- add: Some new utility has been added to player-controlled Oracle or
Sophia. NPC functionality later :^)

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

* Automatic Changelog Update (#808)

# Conflicts:
#	Resources/Changelog/Changelog.yml

---------

Signed-off-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
Signed-off-by: stellar-novas <stellar_novas@riseup.net>
Signed-off-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Signed-off-by: v0idRift <163446847+v0idRift@users.noreply.github.com>
Signed-off-by: FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com>
Signed-off-by: ShatteredSwords <135023515+ShatteredSwords@users.noreply.github.com>
Signed-off-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Co-authored-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: SimpleStation Changelogs <SimpleStation14@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Co-authored-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
Co-authored-by: Daniela <43686351+Day-OS@users.noreply.github.com>
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Co-authored-by: username <113782077+whateverusername0@users.noreply.github.com>
Co-authored-by: stellar-novas <stellar_novas@riseup.net>
Co-authored-by: Rane <60792108+Elijahrane@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: v0idRift <163446847+v0idRift@users.noreply.github.com>
Co-authored-by: FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com>
Co-authored-by: Fansana <116083121+Fansana@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: router <messagebus@vk.com>
Co-authored-by: ShatteredSwords <135023515+ShatteredSwords@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Evgencheg <73418250+Evgencheg@users.noreply.github.com>
Co-authored-by: TAZIKLIK <73418250+TAZIKLIK@users.noreply.github.com>
Co-authored-by: DJB1gYAPPA <whyeven42@gmail.com>
Co-authored-by: iNVERTED <alextjorgensen@gmail.com>
Co-authored-by: DJBIGYAPPA420 <antoniobryandiii@gmail.com>
Co-authored-by: Pspritechologist <81725545+Pspritechologist@users.noreply.github.com>
2024-09-06 02:58:42 +07:00
VMSolidus
08822e34ba Cherry-Pick Antag Refactor (#734)
This cherry-pick's Wizden's Antag Refactor, which is needed for all
future antag updates, as well as for me to cherry-pick over Cultists(Who
are going to need some editing to fit the antag refactor), Changelings,
Heretics, and Wizards. I actually selected the White-Dream-Public
version of the Antag Refactor, due to it having commits made tailored to
our repository, so it comes prepackaged with all the changes necessary
for our repo-specific content.

https://github.com/frosty-dev/ss14-wwdp/pull/10

Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
Co-authored-by: ThereDrD <88589686+ThereDrD0@users.noreply.github.com>
Co-authored-by: Jeff <velcroboy333@hotmail.com>
Co-authored-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com>
Co-authored-by: Timemaster99 <elijahrobot@gmail.com>
Co-authored-by: luckywill339@gmail.com <luckywill339@gmail.com>
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Co-authored-by: Azzy <azzydev@icloud.com>
2024-08-15 10:11:48 -07:00
Mnemotechnican
441dee258c Convert Harpy Singing Into a Trait (#714)
# Description
Adds a new trait that lets characters play midi without needing an
instrument.

Singer a 1-point positive trait. For now it's only available for vulps
and felinids as they are naturally more vocal than other species.

Also refactored harpy singing system a bit.

# TODO

- [X] Find out whatever causes this. Not critical, but probably should
be fixed...
<details><p>


![image](https://github.com/user-attachments/assets/8e0a6bf5-5fa3-4a0a-8937-2931dfe4ee62)

</p></details>

<details><summary><h1>Media</h1></summary>
<p>

Outdated


![image](https://github.com/user-attachments/assets/018b6cf3-d510-46e2-8c38-4bd49e1929bd)


![image](https://github.com/user-attachments/assets/f27bd451-b3c2-4a22-ab50-35c2f4ecbcb3)

</p>
</details>

# Changelog
🆑
- add: Added a new positive trait - singer. It allows you to play midi
songs without an instrument, similarly to harpies.

---------

Signed-off-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2024-08-15 07:06:25 +01:00
Mnemotechnican
a0f3f31a74 Butlergone (Cherry-Pick From Delta-V) (#678)
# Description
Cherry-picks https://github.com/DeltaV-Station/Delta-v/pull/1100 and
https://github.com/DeltaV-Station/Delta-v/pull/1222.

Makes butlertron anchorable, pullable, and destructible, and disables
logging of butlertron's messages.

Credit to adeinitas and NullWanderer.

# Note
This was cherry-picked without testing, someone needs to test it first.

# Changelog
🆑
- add: Mr. Butlertron can now suffer for its crimes.

---------

Signed-off-by: Null <56081759+NullWanderer@users.noreply.github.com>
Co-authored-by: Adeinitas <147965189+adeinitas@users.noreply.github.com>
Co-authored-by: Null <56081759+NullWanderer@users.noreply.github.com>
2024-08-07 23:38:04 +01:00
Mnemotechnican
92dcd724d4 Refactor Sign Languages and Language Markers (#575)
# Description
This refactors #510 and #553. #553 specifically was reverted and
re-implemented from scratch. As a consequence to all of this, the chat
system was refactored a bit too, hopefully for the best.

Changes:
- InGameICChatType, InGameOOCChatType, ChatTransmitRange were all moved
to shared and made serializable
- Added a method to wrap whisper messages to reduce code duplication in
chat system
- Both WrapPublicMethod and WrapWhisperMessage call the same generic
WrapMessage method, which allows to add speech verbs to whispers and
more. That method is also fully responsible for adding language markers
and deducing speech verbs now.
- Everything related to speech was moved out of LanguagePrototype and
into SpeechOverrideInfo. LanguagePrototype now holds an instance of
that.
- Added AllowRadio, RequireSpeech, ChatTypeOverride,
SpeechVerbOverrides, MessageWrapOverrides to SpeechOverrideInfo, all of
which are used in implementing the sign language.
- Suffered a lot

# TODO
- [X] Cry
- [X] Fix the sign language not displaying properly over the character.
- [X] Find a way to circumvent being unable to speak??

<details><summary><h1>Media</h1></summary><p>


![image](https://github.com/user-attachments/assets/845ec5d3-20aa-4786-bdc8-c39c80e0a4a3)

See below

</p></details>

# Changelog
No cl no fun

---------

Signed-off-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>
Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
2024-07-26 13:11:42 -07:00
chromiumboy
e7975c3c9a Improved RCDs (#22799)
* Initial radial menu prototyping for the RCD

* Radial UI buttons can send messages to the server

* Beginning to update RCDSystem

* RCD building system in progress

* Further updates

* Added extra effects, RCDSystem now reads RCD prototype data

* Replacing tiles is instant, multiple constructions are allowed, deconstruction is broken

* Added extra functionality to RadialContainers plus documentation

* Fixed localization of RCD UI strings

* Menu opens near cursor, added basic RCD

* Avoiding merge conflict

* Implemented atomized construction / deconstruction rules

* Increased RCD ammo base charges

* Moved input context definition to content

* Removed obsoleted code

* Updates to system

* Switch machine and computer frames for electrical cabling

* Added construction ghosts

* Fixed issue with keybind detection code

* Fixed RCD construction ghost mispredications

* Code clean up

* Updated deconstruction effects

* RCDs effects don't rotate

* Code clean up

* Balancing for ammo counts

* Code clean up

* Added missing localized strings

* More clean up

* Made directional window handling more robust

* Added documentation to radial menus and made them no longer dependent on Content

* Made radial containers more robust

* Further robustness to the radial menu

* The RCD submenu buttons are only shown when the destination layer has at least one children

* Expanded upon deconstructing plus construction balance

* Fixed line endings

* Updated list of RCD deconstructable entities. Now needs a component to deconstruct instead of a tag

* Bug fixes

* Revert unnecessary change

* Updated RCD strings

* Fixed bug

* More fixes

* Deconstructed tiles/subflooring convert to lattice instead

* Fixed failed tests (Linux doesn't like invalid spritespecifer paths)

* Fixing merge conflict

* Updated airlock assembly

* Fixing merge conflict

* Fixing merge conflict

* More fixing...

* Removed erroneous project file change

* Fixed string handling issue

* Trying to fix merge conflict

* Still fixing merge conflicts

* Balancing

* Hidden RCD construction ghosts when in 'build' mode

* Fixing merge conflict

* Implemented requested changes (Part 1)

* Added more requested changes

* Fix for failed test. Removed sussy null suppression

* Made requested changes - custom construction ghost system was replaced

* Fixing merge conflict

* Fixed merge conflict

* Fixed bug in RCD construction ghost validation

* Fixing merge conflict

* Merge conflict fixed

* Made required update

* Removed lingering RCD deconstruct tag

* Fixing merge conflict

* Merge conflict fixed

* Made requested changes

* Bug fixes and balancing

* Made string names more consistent

* Can no longer stack catwalks
2024-07-11 21:02:37 -07:00
VMSolidus
30fa1207b2 Update Submodule to 219.2.0 (#536)
Uses the following Cherry-Picks:
https://github.com/space-wizards/space-station-14/pull/26994
https://github.com/space-wizards/space-station-14/pull/26518
https://github.com/space-wizards/space-station-14/pull/26279
https://github.com/space-wizards/space-station-14/pull/24946
https://github.com/space-wizards/space-station-14/pull/27188

Requires:
https://github.com/Simple-Station/Einstein-Engines/pull/535
https://github.com/Simple-Station/Einstein-Engines/pull/534

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Jake Huxell <JakeHuxell@pm.me>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: DEATHB4DEFEAT <zachcaffee@outlook.com>
2024-07-11 17:40:02 -07:00
Mnemotechnican
476e6ded46 Port Paper Signatures (#456)
# Description
Ports delta-v paper signatures implemented by me in
https://github.com/DeltaV-Station/Delta-v/pull/1172, including the
changes later introduced by deltanedas in
https://github.com/DeltaV-Station/Delta-v/pull/1345.

Everything should be pretty self-explanatory, see the original PR for
details.

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>


![image](https://github.com/Simple-Station/Einstein-Engines/assets/69920617/50737402-a60d-425a-8938-f6e47427b22b)

(see the original PR for a video demonstation)

</p>
</details>

---

# Changelog

🆑
- add: You can now sign paper by alt-clicking it while holding a pen.

---------

Signed-off-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
2024-07-05 13:33:39 -04:00
Mnemotechnican
7a124612a1 Cherry-Pick the Secwatch Pda App (#502)
# Description
Cherry-picks https://github.com/DeltaV-Station/Delta-v/pull/1237

All credit goes to the original author, deltanedas

Adds a PDA app that lets seccies know who's wanted and who's about to be
thrown out of an airlock without relying on the sechud and people having
their IDs on them.

# Media


![image](https://github.com/Simple-Station/Einstein-Engines/assets/69920617/37f5fa1a-27a5-4392-b4bb-be0f1016b499)

(see the original PR for a better preview)

# Changelog

🆑 deltanedas
- add: Security can find the new SecWatch™ app in their PDAs to see
current suspects and wanted criminals.

Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: Azzy <azzydev@icloud.com>
2024-07-02 09:01:35 +01:00
Danger Revolution!
2a195a6eda Listening Post 2.0 (#639)
* updates map, lowers server volume

* Delete PLEASEWORKTHISTIMEIBEGYOUS14.yml

* Update DV-pirateradio.yml

* changes fax machine to *not* alert admins; and start with emagged by default instead of using VV

* Revert "changes fax machine to *not* alert admins; and start with emagged by default instead of using VV"

This reverts commit 05bb5f402d7986214f753dd217765e01b46e69a7.

* Revert "Update DV-pirateradio.yml"

This reverts commit e77fb34e86c994bce2f63205741636be6c0286fd.

* Revert "Delete PLEASEWORKTHISTIMEIBEGYOUS14.yml"

This reverts commit 2000e2c147125827405eeaf1191abb29c7b4c7d8.

* Revert "updates map, lowers server volume"

This reverts commit d99cab6f36c26441c8431ee5c7d2fc2ad1ff68d7.

* adds new syndicate fax, maps it in as well as other QOL changes

* adds cybersun pen to Syndicate PDA's

* Update DV-pirateradio.yml

* adds blacklist to CC Fax + quieter server

* Update PirateRadioSpawnRule.cs

* unfinished scuttling system

* Adding colorblind quality of life.

* Tweaks to map and guards, no more self destruct system

* added guard flavor text

* The reasons for these are now gone

* DONE

* Update events.yml

* Update PirateRadioSpawnRule.cs

* Update DV-pirateradio.yml

* fixes crew monitor server not working at *extreme* ranges

* adds delta-v comment where needed

* Small code optimization and tons of documentation

* Update outpost visuals! Guards have a PDA now

* Update DV-pirateradio.yml

* Update DV-pirateradio.yml

* Goodbye crab. Hello Content.Shared migration

* Cleaning up pirateradio spawn

* Update DV-pirateradio.yml

* reverts pen changes to upstream PDA's

* adds new PDA

* adds new PDA to loadouts.

* Update Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/salvage.yml

Co-authored-by: Debug <49997488+DebugOk@users.noreply.github.com>
Signed-off-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>

* Maintainer requested changes

* Update salvage.yml

* Update syndicateNPCs.yml

* Cleaning up unneeded stuff

* more code cleanup

* Update PirateRadioSpawnRule.cs

* Update computers.yml

* Revert "Update computers.yml"

This reverts commit cbd0c583d48c66579d9fd6ee2c10cd7a350a955c.

* Last fixes to the math

* Update PirateRadioSpawnRule.cs

* update license.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Signed-off-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
Co-authored-by: DangerRevoltion <142105406+DangerRevoltion@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Debug <49997488+DebugOk@users.noreply.github.com>
2024-03-07 22:35:45 -05:00
deltanedas
9985ee9788 bring back paradox anomaly (#825)
* refactor and add log

* add api needed for objective

* backport LastProfileLoaded

* fix midround antag rule

* evil twin spawning code

* evil twin yml and stuff

* m

* hopefully fully rename it

* fixy

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-02-13 16:55:35 +01:00
Debug
ef307b77e4 Fix invalid entry
Signed-off-by: Debug <49997488+DebugOk@users.noreply.github.com>
2024-02-08 13:37:51 +01:00