Commit Graph

62 Commits

Author SHA1 Message Date
Nemanja
69ac5801d1 split temperature protection into heating and cooling (#30662)
* split temperature protection into heating and cooling

* fugg

* weh

(cherry picked from commit a197baac17154642c4631f59618827104711134c)
2025-07-19 12:40:28 +10:00
Boaz1111
81d9d19566 New Projectile Effect:Temperature Change (#31004)
* bah

* all done, thanks slarti

* makes the watcher do the thing

* Update TemperatureSystem.cs

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>

* changes something

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
(cherry picked from commit ed3e10741f9a8abcb4c4af130a3b2f137f4a90ce)
2025-07-19 10:46:26 +10:00
TemporalOroboros
de0001f725 Relocate TemperatureProtectionComponent (#30437)
Moves it from the atmos module to the temperature module where it is actually used.

(cherry picked from commit bea8c1a0b8b9c9915657ecaeafcac8b8eb31ebd7)
2025-07-18 20:08:26 +10:00
vanx
fe53a53ead Merge pull request #664
* no cold

* touch up
2025-07-05 13:35:32 +10:00
vanx
1d953e0928 [Fix] FIREEEEEEEEE (#594)
* wow much fire

* drop children (in code)

* fix

* oops

* fix

* TemperatureProtection

* Update Resources/Prototypes/_White/Body/Parts/resomi.yml

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

---------

Co-authored-by: vanx <discord@vanxxxx>
Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-06-19 19:53:51 +03:00
VMSolidus
151e1b60a3 TCJ Makes A Rage Performance PR (#2298)
# Description

I got baited by Ectoplasm, so I then spent 3 hours shaving off a
sizeable chunk of this game's performance cost, including by taking 3 of
the "Top 10 frametime consumers", and reducing their performance costs
by 99% each. Along with various examples of slimming down some of the
worst EQE's.

Oh, and I fixed EmitSoundOnMove being desynced with actual movement. As
part of making EmitSoundOnMove use 99% less CPU time, it was also
synchronized with the MoverController.

# Changelog

🆑
- fix: Fixed items such as tactical webbing, bell collars, and hardsuits
being desynced with character movement.
- tweak: Made various large performance improvements.

(cherry picked from commit 684e8175443167beb0e20e3323a05b5f493b3374)
2025-04-26 11:45:35 +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
4370ff6611 Chitinid (From Delta-V) (#1644)
port https://github.com/DeltaV-Station/Delta-v/pull/2707 (with
permission)

🆑 ElusiveCoin
- add: Added a new species, the Chitinid.

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: ElusiveCoin <elusivecoin@gmail.com>
Co-authored-by: rosieposie <52761126+rosieposieeee@users.noreply.github.com>
Co-authored-by: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit ce310bb7158acf0c9c2eef00a19d9ac58f8fa08d)
2025-01-29 20:10:28 +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
VMSolidus
952953be07 Physics Based Air Throws (#342)
# Description

I've made it so that when a room is explosively depressurized(or when a
body of high pressure air flows into one of lower pressure air), that
entities inside are launched by the air pressure with effects according
to their mass. An entity's mass is now used as an innate resistance to
forced movement by airflow, and more massive entities are both less
likely to be launched, and will launch less far than others. While
lighter entities are launched far more easily, and will shoot off into
space quite quickly! Spacing departments has never been so exciting!
This can be made extraordinarily fun if more objects are given the
ability to injure people when colliding with them at high speeds.

As a note, Humans are very unlikely to be sucked into space at a typical
force generated from a 101kpa room venting into 0kpa, unless they
happened to be standing right next to the opening to space when it was
created. The same cannot be said for "Lighter-Than-Human" species such
as Felinids and Harpies. I guess that's just the price to pay for being
cute. :)

On a plus side, because the math behind this is simplified even further
than it was before, this actually runs more efficiently than the
previous system.

# TODO

Nothing, this is basically done. I've spent a good 6 hours straight
finely tuning the system until I was satisfied that it reflects
something close to reality.

# MEDIA

**Before the Space Wind Rework:**


https://github.com/Simple-Station/Einstein-Engines/assets/16548818/0bf56c50-58e6-4aef-97f8-027fbe62331e

**With this Rework:**


https://github.com/Simple-Station/Einstein-Engines/assets/16548818/6be507a9-e9de-4bb8-9d46-8b7c83ed5f1d

# Changelog

🆑 VMSolidus
- add: Atmospheric "Throws" are now calculated using object mass, and
behave accordingly. Tiny objects will shoot out of rooms quite fast!

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
2024-07-18 01:24:58 -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
Nemanja
c3f420815f Add events for TemperatureProtection and PressureProtection (#25165)
(cherry picked from commit 8ed32a1e42d768322ccb6dc6f5311bd58fd0dea3)
2024-02-18 23:11:15 +01:00
Leon Friedrich
b87fcdb622 Remove uses of TransformComponent.ChildEntities (#22442)
* Make output of ChildEnumerator non-nullable

* Remove uses of ChildEntities

* poke tests

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-12-16 20:38:06 +01:00
Leon Friedrich
b065a0a817 Atmos scaling cvar changes (#22501) 2023-12-16 20:31:51 +01:00
Leon Friedrich
99f9583a3e Adds a new AtmosphereSystem.GetTileMixture() override (#21804) 2023-12-02 20:26:02 +01:00
deltanedas
62d3a7b77b Add internal temperatures for cooking meats (#20659) 2023-10-23 23:50:43 +02:00
DrSmugleaf
9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
Errant
2e44b6ac3d Accurate temperature alerts (#19913) 2023-10-20 15:30:21 +02:00
deltanedas
1c12ff813d Temperature refactor (#20662)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-08 19:53:52 +02:00
deltanedas
227cc0f66b Electric grill (#20661)
---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-08 19:52:11 +02:00
Nemanja
cd82d16121 Try and fix mob prototypes (#19859)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-09-27 21:59:12 +02:00
DrSmugleaf
a88e747a0b Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
deltanedas
1edd6e53fb temperature reset on rejuvenate (#19142)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-08-14 15:28:52 -07:00
Slava0135
12d3b4a326 ignore resistances in temperature system (#17301) 2023-06-13 07:59:07 -05:00
Kevin Zheng
4498cfe452 Add missing DataField for currentTemperature (#14179) 2023-02-19 06:57:09 -08:00
metalgearsloth
bf79d76666 Content update for ECS physics (#13291) 2023-01-15 15:38:59 +11:00
metalgearsloth
ab07944af8 Remove IPhysBody (#13297) 2023-01-03 17:45:18 +11:00
Francesco
d47e001b18 feat: Medbay cryo pods (#11349)
Fixes https://github.com/space-wizards/space-station-14/issues/11245
2022-12-25 22:35:51 +11:00
Leon Friedrich
92e92dceb0 Unrevert #10934 2022-10-25 11:06:00 +11:00
Kara
258ec0cac1 Clothing/item ECS & cleanup (#9706) 2022-07-27 03:53:47 -07:00
Vera Aguilera Puerto
aa9281d667 Refactors the AtmosphereSystem public-facing API to allow for multiple atmos backends. (#8134)
* Refactors the entirety of the AtmosphereSystem public-facing API to allow for multiple atmos backends.

* actually compiles

* Remove commented out code

* funny bracket

* Move archived moles, temperature from GasMixture to TileAtmosphere.

* WIP customizable map default mixture
still VERY buggy

* broken mess
aaaaaaaaaaaaa

* Fix lattice, etc not being considered space

* visualization for "IsSpace"

* help

* Update Content.Client/Atmos/Overlays/AtmosDebugOverlay.cs

Co-authored-by: Moony <moonheart08@users.noreply.github.com>

* Holy SHIT it compiles AGAIN

* Fix AtmosDeviceSystem crash at shutdown

* Fix immutable tiles on map blueprints not being fixed by fixgridatmos/revalidate.

* Use space instead of gasmixture immutable for heat capacity calculations

* Remove all LINDA-specific code from GasMixture, move it to TileAtmosphere/AtmosphereSystem instead.

* Fix roundstart tiles not processing

* Update Content.Server/Atmos/Commands/SetTemperatureCommand.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Server/Atmos/EntitySystems/AtmosphereSystem.API.cs

Changed Files tab is so large I can't commit both suggestions at once mfw

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

Co-authored-by: Moony <moonheart08@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-07-04 09:51:34 -05:00
metalgearsloth
8905996cfc Make raiselocalevent not broadcast by default (#8998) 2022-06-22 09:53:41 +10:00
wrexbe
c134d78920 Make HeatCapacity use FixturesMass (#8661) 2022-06-12 16:02:46 +10:00
wrexbe
1e0babbd50 Make AdminLogsSystem an IoC manager (#8492)
* Make log not entity system

* Fixes
2022-05-28 23:41:17 -07:00
wrexbe
bc68ac96dd Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
Paul Ritter
2ff40d5a1f Serv3 rework content changes (#7145) 2022-04-03 02:01:22 +02:00
mirrorcult
ec4d4688c7 Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
wrexbe
17db0775c8 Auto comp (#6416) 2022-02-02 14:35:40 +11:00
metalgearsloth
3f7f3baa16 Remove component.Paused (#6285) 2022-01-26 17:57:48 +11:00
Leon Friedrich
013edcc545 Prevent inventory events from being relayed to pockets (#6074)
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2022-01-10 15:37:20 +11:00
Acruid
5b1cd2dd96 ECSatize AlertsSystem (#5559) 2022-01-05 19:19:23 +11:00
Paul Ritter
512d6a38c3 get that crap outta here (completely rewrites inventorysystem) (#5807)
* some work

* equip: done
unequip: todo

* unequipping done & refactored events

* workin

* movin

* reee namespaces

* stun

* mobstate

* fixes

* some work on events

* removes serverside itemcomp & misc fixes

* work

* smol merge fix

* ports template to prototype & finishes ui

* moves relay & adds containerenumerator

* actions & cuffs

* my god what is actioncode

* more fixes

* im loosing my grasp on reality

* more fixes

* more work

* explosions

* yes

* more work

* more fixes

* merge master & misc fixed because i forgot to commit before merging master

* more fixes

* fixes

* moar

* more work

* moar fixes

* suffixmap

* more work on client

* motivation low

* no. no containers

* mirroring client to server

* fixes

* move serverinvcomp

* serverinventorycomponent is dead

* gaming

* only strippable & ai left...

* only ai and richtext left

* fixes ai

* fixes

* fixes sprite layers

* more fixes

* resolves optional

* yes

* stable™️

* fixes

* moar fixes

* moar

* fix some tests

* lmao

* no comment

* good to merge™️

* fixes build but for real

* adresses some reviews

* adresses some more reviews

* nullables, yo

* fixes lobbyscreen

* timid refactor to differentiate actor & target

* adresses more reviews

* more

* my god what a mess

* removed the rest of duplicates

* removed duplicate slotflags and renamed shoes to feet

* removes another unused one

* yes

* fixes lobby & makes tryunequip return unequipped item

* fixes

* some funny renames

* fixes

* misc improvements to attemptevents

* fixes

* merge fixes

Co-authored-by: Paul Ritter <ritter.paul1@gmail.com>
2021-12-30 22:56:10 +01:00
Leon Friedrich
a46af58e59 Make temperature damage not interrupt do-afters (#5835) 2021-12-19 16:39:59 +01:00
Leon Friedrich
7f81f0b8b8 Add more pretty strings to logs (#5768) 2021-12-13 12:22:58 +01:00
metalgearsloth
8af335097f More (IComponent) shenanigans and also some contaminated IoCManager.Resolve<IEntityManager>() very long yes calls 2021-12-07 22:22:34 +11:00
Vera Aguilera Puerto
f386b57148 Inline OwnerUid 2021-12-03 16:30:34 +01:00
Vera Aguilera Puerto
5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto
69b270017b Inline TryGetComponent completely, for real 2021-12-03 14:17:01 +01:00
Vera Aguilera Puerto
bc7463f744 Add GetTileHeatCapacity methods to AtmosphereSystem, makes TemperatureSystem use them. 2021-11-30 12:00:25 +01:00