Skip to content

Commit

Permalink
Merge Upstream (space-wizards#366)
Browse files Browse the repository at this point in the history
* Fix double label on chem jugs (space-wizards#29137)

* Automatic changelog update

* Fix DresserFilled storagefill rarely causing an error (space-wizards#29135)

Add ClothingUniformJumpskirtColorPink to an OrGroup

* Fix female reptilians not having gasp sounds (space-wizards#29143)

inital

* clean up weather systems (space-wizards#28792)

* clean up weather systems

* Update WeatherComponent.cs

* Update SharedWeatherSystem.cs

* some fix

* Update SharedWeatherSystem.cs

* Update WeatherComponent.cs

* Update WeatherComponent.cs

* revert autoPause

* Update SharedWeatherSystem.cs

* Implement vital chef's hat functionality (space-wizards#25950)

* Implement crucial chef's hat functionality

* Unified stopping code and added events.

* Added documentation to events

* Rerun tests

* Made review changes, and fixed potential desync bug.

* Update whitelist

* Automatic changelog update

* Add cvar to disable round end pvs overrides (space-wizards#29151)

* Update submodule to 226.1.0 (space-wizards#29159)

* Fix conveyor mispredicts (space-wizards#28157)

* Fix conveyor mispredicts

Instead of tracking active conveyors we instead track the conveyed entities. This also handles things like stacking conveyors more gracely.

* Fix ActiveConveyor

* Fix lerping

* Automatic changelog update

* Replace StationRandomTransform (space-wizards#29149)

* Revert "Rotate and Offset station CCVar nuke (space-wizards#26175)"

This reverts commit 44b20f6.

# Conflicts:
#	Content.Server/Station/Systems/StationSystem.cs
#	Resources/Prototypes/Maps/europa.yml

* Fix

* Review

* Add warning cones to engivend (space-wizards#29085)

Add cones to engivend

* Automatic changelog update

* arachnid inventory layout fix (space-wizards#29165)

arachnid inventory layout fixC

* Automatic changelog update

* Turn interaction related attempt events into structs (space-wizards#29168)

* Turn InteractionAttemptEvent into a struct event

* readonly

* GettingInteractedWithAttemptEvent

* ConsciousAttemptEvent

* Add the most anticipated gun in the game. Foam Force. (space-wizards#29103)

* Foam Force

* make it available somewhere

* add clumsyproof and nuke dev item

* reorganize

* oopsy files

* Strap!

* woopsie layering

* fix grammar to rerun tests for rogue unrelated test fail.

* cleanup

* I eepy layer forgetti spaghetti

* For real last necessary commit

* Oops I broke the law! feexed

* Decided to just change it to the same source as the poster source in our repo for consistency.

* Automatic changelog update

* Fix material storage going BRRT (space-wizards#29167)

If the volume hits 0 we just remove it.

* Automatic changelog update

* Fix air alarms (space-wizards#29172)

Broken by space-wizards#28272

* Automatic changelog update

* Hidden loadout groups (space-wizards#29170)

* loadout hiding

* department of redundancy department

* Upgrade rsi-diff's changed files action | Make it only return rsi and png changes (space-wizards#29185)

It was brought up to me in space-wizards#29179 (comment) (and from a dm from them) that space bars can cause issues with the rsi bot.

Upon investigation its case we use "space-delimited" on the "get changes files" check. Which returns ALL changed files. Even if the change has nothing to do with png's or rsi's (example a downstream merging upstream)

* unhardcode thief MaxSelectedSets (space-wizards#29175)

* unhardcode thief MaxSelectedSets

* we do a little copy paste :trollface:

* :trollface:

---------

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

* PullingController cooldown change (space-wizards#29177)

* Revert "Automatic changelog update"

This reverts commit 3358aef.

* Revert "Revert "Automatic changelog update""

This reverts commit 3d0b6a7.

* Removal of the throw cooldown as it felt sluggish and unresponsive before.

* Decrease meteor frequency (space-wizards#29194)

* Automatic changelog update

* Security Resprite (space-wizards#29082)

* security resprite

* hos cap fix

* i forgor

* further fixes

* my furniture is broken

* fedora update

* Automatic changelog update

* Make Hamlet a valid chef's hat pilot (space-wizards#29191)

* Fix Underwing wings (space-wizards#29092)

* add

* tweak thickness of stripe

* Add some happier medibot messages! (space-wizards#29147)

* Happy!

* opps

* one more

* Automatic changelog update

* shorten short raffle (space-wizards#28685)

* Automatic changelog update

* Fix some lathe recipe textures showing up blank (space-wizards#28683)

* Update lathes to use entity prototype

* ScrollContainer my hero

* gets rid of excess newlines

---------

Co-authored-by: plykiya <plykiya@protonmail.com>

* Grammar fix to medibot! (space-wizards#29197)

fixed

* Restore default panic bunker and tweak baby jail (space-wizards#29198)

restore default panic bunker

* Fixed cartridges installing more than once (space-wizards#29187)

* fixed cartridges installing more than once

* replaced prototypes with CartridgeComponent

* relocated checks from InstallProgram to InstallCartridge

* Automatic changelog update

* Musician's skirt (space-wizards#29203)

* Sprites&Meta

* Changing prototypes

* Adding to Theater vend

* Sprite_Change

* Sprite_Change

* Prototype_Changes

Is this exactly how it should be?...

* FUCKING FIX

* weh

---------

Co-authored-by: Арт <123451459+JustArt1m@users.noreply.github.com>

* Automatic changelog update

* hos cap resprite (space-wizards#29208)

* hos cap resprite

* 1. 2. 3 4 Oh

* Automatic changelog update

* Rejig device link sink & source startup & shutdown (space-wizards#29035)

* Fix DeviceLinkSinkComponent not updating sources on shutdown

* Log error

* Misc link changes & fixes

* Fix core

* Add prediction for Tech Disks, cleanup (space-wizards#29061)

* Add prediction for Tech Disks, cleanup

* Remove IsServer check in OnMapInit

* Use HashSet for techs, remove LINQ

* Code cleanup: radio jammer (space-wizards#29052)

* Code cleanup for radio jammer

* More Entity<T> for the people, and fix an accidental variable reuse

* Partial buckling refactor (space-wizards#29031)

* partial buckling refactor

* git mv test

* change test namespace

* git mv test

* Update test namespace

* Add pulling test

* Network BuckleTime

* Add two more tests

* smelly

* Fix documentation typo (space-wizards#29209)

Fix everything.

* Emergency toolbox fill rework (space-wizards#29202)

* emergency toolbox fill rework

* Fuck

* Add wet floor sign & warning cone to autolathe (space-wizards#29205)

* Add wet floor sign & warning cone to autolathe

* removing

* Automatic changelog update

* Tools batch files (space-wizards#29179)

* Tools batch files

* fine

* Fix terrible portable scrubber unlit layers (space-wizards#29232)

Jesus fucking christ man

* Prevent fly-by fixture from powering containment field generator (space-wizards#29225)

* Prevent fly-by fixture from powering containment field generator

* Update according to review

* Automatic changelog update

* Hide moth antenna and lizard frills with hardsuit helmets, fix lizard snouts not being hidden (space-wizards#29214)

* inital

* Update ClothingSystem.cs

* Update helmets.yml

* Automatic changelog update

* Fix and enable TestEmptyLoadout (space-wizards#29228)

* Fix and enabled TestEmptyLoadout

* Fine, have a real name

* Fix brokey code :)

* Fix entities getting stuck red (space-wizards#28981)

* Automatic changelog update

* Update submodule to 226.2.0 (space-wizards#29247)

* add a type specifier where one was forgor (space-wizards#29250)

* add a type specifier where one was forgor

* Fix other way because degub conditions

* okay this feels kinda dumb but it does fix it.

* Update Content.Client/Effects/ColorFlashEffectSystem.cs

---------

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

* Make winter coat hood hide certain markings (space-wizards#29238)

Update base_clothinghead.yml

* Fix ERT becoming sleeper agents and add sleeper agent preferences (space-wizards#27817)

* b

* Update antags.ftl

* m

* ok

* Update events.yml

* antag

* a

* Create InitialInfectedExemptComponent.cs

* Delete InitialInfectedExemptComponent.cs

* yes

* Delete InitialInfectedExemptComponent.cs

* Create AntagImmuneComponent.cs

* Automatic changelog update

* fixed Syndicate smokes pack being half-filled (space-wizards#28371)

* Automatic changelog update

* Buff cube boxes (space-wizards#29251)

* Automatic changelog update

* moves explosive tech to T1 (space-wizards#29227)

moves explo tech to T1

* Automatic changelog update

* made cup ramen eatable with anything with the fork component (space-wizards#27826)

* made cup ramen eatable with anything with the fork component

* removed extra png

* made cupramen fillable with water, and made hot ramen dry ramen.

---------

Co-authored-by: redfire1331 <Redfire1331@users.noreply.github.com>

* Automatic changelog update

* Survival Box Loadouts, Nitrogen Emergency tanks (space-wizards#29131)

* Nitrogen survival boxes

* Zero-setup workaround

* clown box

* cleanup and universal tanks

* cleanup

* more cleanup

* hide loadoutgroups

* remaining survival boxes

* space ninja

* Revert "space ninja"

This reverts commit a650f41.

* weh

* weh

* undo appearance change of syndicate survival boxes

* indentation fix and missing label

* You can now pry multiple tiles at once (space-wizards#29231)

* You can now pry multiple tiles at once

* More advanced do after duplicate checking.

Instead of just saying "lol tile prying can raise duplicates", we now have a system so tile prying can properly distinguish events on 2 different tiles. This is achieved with a virtual function on DoAfterEvent.

* Automatic changelog update

* Fix prying speed & log (space-wizards#29210)

* cleanup prototypes with `PryingComponent` & fix jaws of life prying speed

* Minor cleanup for tools and prying systems

Remove some obsolete methods.

* Fix doafter continues when not held & log

* Modifiy delays for floor prying

* Fix test fail

* Automatic changelog update

* golden plunger (space-wizards#29043)

* golden plunger

* Add wood material (the handle is still wood)

* 52 hours

---------

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

* Rate limit ahelps (space-wizards#29219)

* Make chat rate limits a general-purpose system.

Intending to use this with ahelps next.

* Rate limt ahelps

Fixes space-wizards#28762

* Review comments

* return empty string for invalid identity (space-wizards#29274)

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

* Make Loadout MinLimit not count failed attempts (space-wizards#29264)

Loadout MinLimit doesn't count failed attempts

* Add logging to SharedStorageSystem prototype indexing failure (space-wizards#29273)

* Fix null exceptions in SurveillanceCameraMonitorSystem (space-wizards#29275)

* Add IsNullOrEmpty checks before indexing KnownSubnets

* actor

* Make stasis bed power toggleable (space-wizards#29268)

Stasis bed is now power toggleable

* Automatic changelog update

* Replace BlockSolutionAccessComponent with an attempt event (space-wizards#26988)

* BlockSolutionAccessComponent now only blocks one specified solution.

* Significant overhaul
Separated spilling when worn functionality into its own component/system.
Removed BlockSolutionAccessComponent.
Added an event for solution access.

* fix initial infected icons and add a briefing to the character menu (space-wizards#29259)

* Automatic changelog update

* feat: update cyborg parts naming for them to be ordered consistently,… (space-wizards#29272)

feat: update cyborg parts naming for them to be ordered consistently, closes space-wizards#29270

* Ghostrole rule updates (space-wizards#29249)

* First batch of ghostrole rule updates

* Second pass

* Re-word free agent

* Apply review comments

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* You heard it here first folks

God rules are weird to write.

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Honkbot -> Free Agent

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Mimebot -> Free Agent

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Jonkbot -> Free Agent

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Softer blue

---------

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Automatic changelog update

* Fix some buckle interactions (space-wizards#29293)

* Automatic changelog update

* Implement BlacklistedRange exempt flag (space-wizards#29258)

* Implement a new kind of ip range ban that only applies to new players

* Put determining whether a player record exists to its own function

* Make BlacklistedRange bans get bypassed by any ban exemption

* Stop trying to get another DbGuard while already having one

This does break with convention on the functions in that area but
considering the use of this function it's probably fine?
I could alternatively just move the place it's called from.

Also I was suppossed to wait for tests to finish locally just to be
sure, but nah. I am pushing this now

* Automatic changelog update

* Add time index to connection log (space-wizards#29281)

* Add time index to connection log

Queries go nyoom.

* Don't let me code shit at 5 AM

* Fix SSD indicator for scaled humanoids (space-wizards#29310)

Fix ssd

* Automatic changelog update

* Fix noticeboard drawdepth (space-wizards#29262)

darwdepth added

* Fix pistols not displaying ammo count in-hand (space-wizards#29289)

* Make Drozd and C-20r not unwield on use

* Fix wielding mispredict

* add AmmoCounter to pistols

* Rewrite the options menu (space-wizards#28389)

* Basic attempt at rewriting how the options menu works, move accessibility settings into their own tab.

* Audio tab uses the new options system.

* Rewrite Misc tab

* Clean up heading styling

* Rewrite options tab and other minor cleanup all over the place.

* Documentation comments and minor cleanup.

---------

Co-authored-by: AJCM <AJCM@tutanota.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

* Update submodule to 226.3.0 (space-wizards#29323)

* AME Deconstruction Changes (space-wizards#29317)

* AME deconstruction complexity

* review

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

* Automatic changelog update

* Move air sensor components into abstract base prototype (space-wizards#29261)

* Pacifist messages use target's identity name instead of entity name (space-wizards#29325)

* Fix comments (space-wizards#29330)

* Fix for missing survival boxes (space-wizards#29336)

storagefill order fix

* Automatic changelog update

* Admin UI localization (space-wizards#29340)

admin ui localization

Co-authored-by: MetalSage <metalsage.official@gmail.com>

* Disk """resprite""" (space-wizards#29277)

* disk ""resprite""

* fix holodisk

* Sound Station 14 like a nukie song (space-wizards#29345)

Nukie song!!

* Automatic changelog update

* add access reader log wire (space-wizards#29094)

* add LoggingDisabled to AccessReader

* add LogWireAction

* -m give everything besides high-security door a log wire

* make LogAccess public and support string arg

* add log when pulsing

* m

* l

---------

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

* Automatic changelog update

* Adjust some gas thresholds (space-wizards#29331)

* Add air alarm hysteresis (space-wizards#29223)

Add firelock hysteresis

* Automatic changelog update

* Thief toolbox minor rebalance & description clean-up (space-wizards#27771)

* thief clean-up

* anatomy set description change

* description changes

* Automatic changelog update

* Prying reinforced tile now will give you back metal rod (space-wizards#29084)

* Reinforced tile can we welded back into metal rod

* more changes

* weh

* fix

---------

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

* Automatic changelog update

* Firelocks are no longer pryable by hand if they are powered (space-wizards#29221)

* Automatic changelog update

* Don't add untriage lable if it has been labeled at issue creation (space-wizards#29356)

* Remove robotics and supermatter lobby images (space-wizards#29355)

They don't look good, we have way better ones now.

* add lemon juice and fix bad sprite allocation (space-wizards#27465)

* Automatic changelog update

* Add the ability to put hats on medibots (space-wizards#28584)

* Automatic changelog update

* Update Credits (space-wizards#29363)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* TEG can power itself when turned on (space-wizards#29072)

* Automatic changelog update

* Revert "Weapon Reflection Movement Mechanic (space-wizards#27219)" (space-wizards#29326)

* Revert "Weapon Reflection Movement Mechanic (space-wizards#27219)"

This reverts commit b903733.

# Conflicts:
#	Content.Shared/Alert/AlertType.cs
#	Content.Shared/Weapons/Reflect/ReflectSystem.cs

* Add myself to codeowners

* Add myself to codeowners

* Also the alerts

* Apply RoleLoadout MinLimit fix to EnsureValid too (space-wizards#29358)

Apply MinLimit fix to EnsureValid too

* swap siren (space-wizards#29369)

* fix(packed): Fill the medical lockers in medbay (space-wizards#29319)

* fix(omega): Connect the disposal unit in medbay to the disposal "network" (space-wizards#29305)

fix(omega): Connect the disposal unit in medbay to the disposal pipe system

* tweak(saltern): Place a red phone in bridge meeting room, add another artifact spawn (space-wizards#29359)

* tweak(saltern): Place a red phone in bridge meeting room

* add artifact spawn

* tweat(emergency_delta): Add screens around the evacuation shuttle (space-wizards#29267)

* tweak(emergency_box): Swap out Salvage Material crate with Engineering crate (space-wizards#29269)

* tweak(fland): Add radiation shutters to front of PA (space-wizards#29265)

* tweak(meta): Swap around some of the computers in bridge (space-wizards#29263)

* tweak(meta): Swap around some of the computers in bridge

* tweak(meta): unpause map

* tweak(marathon): Fix some stuff (space-wizards#29256)

* tweak(marathon): Add cargo request computer to bridge

* fix everything else

* fix(origin): Replace mindshield crate with implanter crate (space-wizards#29183)

* fix(cluster): Replace mindshield crate with implanter crate (space-wizards#29182)

* fix(oasis): Replace mindshield crate with implanter crate (space-wizards#29181)

* tweak(medical): Reduce chemist slots (space-wizards#28711)

* tweak(medical): Reduce chemist slots

* tweak(medical): roundstart chemists slot set to 2 on some maps

* tweak(fland): Chemist slots to 3

fland is target to 80-100 players

* fix: Adds a missing defribilator to nukie planet (space-wizards#28362)

* fix: Adds a missing defribilator to nukie planet

* Fix: unpause nukie map

* What changes?

* fix(atlas): Replace mindshield crate with implanter crate (space-wizards#29184)

* Survival box loadout group cleanup (space-wizards#29379)

cleanup

* Add "Structure" tag to switches, buttons, and levers (space-wizards#29378)

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>

* Automatic changelog update

* ironrock ores (space-wizards#29381)

* Ban template system (space-wizards#29365)

To help out admins, so they can easily fill out datacenter bans and stuff. Supports ban exemption flags and everything.

This is for use with SS14.Admin so it's just DB models here.

* ContainmentFieldComponent's garbage destruction can now be disabled (space-wizards#29376)

* Garbage Vaporizer 3000

+ DestroyGarbage bool property
+ DestroyGarbage property check when dealing with incoming trash

* Update ContainmentFieldComponent.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Fix unlabeled jugs in ChemVend (space-wizards#29178)

* Spawn dummy entities on client for vending machine UI

* Asked sloth, and we kinda need this pr

---------

Co-authored-by: Vasilis <vasilis@pikachu.systems>

* Automatic changelog update

* Add bagels (space-wizards#24799)

Bagels are made by using a rolling pin on a dough slice to make a dough rope, then cooking the dough rope in a microwave for 5 seconds. There are two types: a normal bagel and a poppyseed bagel. The poppyseed bagel requires a poppy and a dough rope and has a small (5u) quantity of Bicaridine inside of it in addition to its nutriment.

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>

* Automatic changelog update

* Fix cargo and salvage's computer point light (space-wizards#29384)

* Network BaseEmitSoundComponent (space-wizards#29400)

* Network BaseEmitSoundComponent

* high intelligence

* Force map confirmation (space-wizards#29391)

* Add map check to forcemap command

* remove debug line

* remove accidental newline

* Ghosts can now always see examine details (space-wizards#29404)

* Ghosts can now always see examine details

This means they bypass range and occlusion checks for getting extra detail, like the charge on an SMES.

* EntityQuery

* Automatic changelog update

* Hotfix examine (space-wizards#29408)

#55328 was failing tests and shouldn't have been merged, it broke examine.

The problem is that for some reason, client-side examine system doesn't call base Initialize. So my entity query change (that I did not test) broke.

By the way, this same "not calling base" meant that group examine system wasn't predicting properly when it totally could've. Incredible.

* Fix gay nuke layering (space-wizards#29410)

I fucked up while exporting from aseprite whoops.

* Use moderator perms for grant_connect_bypass (space-wizards#29406)

use moderator perms for grant_connect_bypass

* Automatic changelog update

* hardsuit fireproof nerf (space-wizards#29416)

hardsuit nerf

* Automatic changelog update

* Fix forcemap not bypassing requirements (space-wizards#29426)

* Fix forcemap not bypassing requirements

* Add integration test for forcemap

* Colorblind friendly thermomachine LED colors (space-wizards#29397)

Colorblind friendly thermomachines

* Automatic changelog update

* Revert "TEG can power itself when turned on" (space-wizards#29434)

Revert "TEG can power itself when turned on (space-wizards#29072)"

This reverts commit 9f9cf08.

* Fix filter yml names in the lobby so they actually work (space-wizards#29435)

Fix filter yml names so they actually work

* Attempt to fix random test fail by undeleted AlertControl._spriteViewEntity (space-wizards#29424)

* Increase of riot shield durability (space-wizards#29239)

* Automatic changelog update

* Revert Fland

* Revert fland, again

* god is good

* Fix internals not auto-activating for entities spawned in space (space-wizards#29213)

* Add organs before trying to breathe

* Add tests for auto-internals

* EntMan to the rescue

* Automatic changelog update

* Oasis update (space-wizards#29440)

* very minor things, mostly issue resolutions.

* purge invalids

* reclaimer-lobby-art (space-wizards#29343)

* reclaimer-lobby-art

* fixed attribution from my part-Snicket

* fixed atributions this this time fr

* man

* Grobletombus

* Cut low pressure damage to 1/4 (space-wizards#29478)

* Automatic changelog update

* Fix dragon ghost role rules (space-wizards#29474)

q

* Security Webbing Resprite (space-wizards#29441)

* Make blood less satiate hunger (space-wizards#29433)

* Automatic changelog update

* Give moldy food the "Trash" tag (space-wizards#29380)

Make moldy food items have the "Trash" tag, so they can be collected.

* Automatic changelog update

* Forcemap can be cleared with empty string again (space-wizards#29472)

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@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: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: osjarw <62134478+osjarw@users.noreply.github.com>
Co-authored-by: Vasilis <vasilis@pikachu.systems>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: Rouge2t7 <81053047+Sarahon@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: Flareguy <78941145+Flareguy@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: HS <81934438+HolySSSS@users.noreply.github.com>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: plykiya <plykiya@protonmail.com>
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: Truoizys <153248924+Truoizys@users.noreply.github.com>
Co-authored-by: Арт <123451459+JustArt1m@users.noreply.github.com>
Co-authored-by: TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: Alice "Arimah" Heurlin <30327355+arimah@users.noreply.github.com>
Co-authored-by: neutrino <67447925+neutrino-laser@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: Redfire1331 <125223432+Redfire1331@users.noreply.github.com>
Co-authored-by: redfire1331 <Redfire1331@users.noreply.github.com>
Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Co-authored-by: Ghagliiarghii <68826635+Ghagliiarghii@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Alex Pavlenko <diraven@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: Alex Evgrashin <aevgrashin@yandex.ru>
Co-authored-by: Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
Co-authored-by: Doomsdrayk <robotdoughnut@comcast.net>
Co-authored-by: AJCM <AJCM@tutanota.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Partmedia <kevinz5000@gmail.com>
Co-authored-by: ArkiveDev <95712736+ArkiveDev@users.noreply.github.com>
Co-authored-by: MetalSage <74924875+MetalSage@users.noreply.github.com>
Co-authored-by: MetalSage <metalsage.official@gmail.com>
Co-authored-by: marbow <152051971+marboww@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: Floofi <126319569+Shadowtheprotogen546@users.noreply.github.com>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WarMechanic <69510347+WarMechanic@users.noreply.github.com>
Co-authored-by: Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
Co-authored-by: eoineoineoin <github@eoinrul.es>
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
Co-authored-by: mhamster <81412348+mhamsterr@users.noreply.github.com>
Co-authored-by: DrEnzyme <DrEnzyme@gmail.com>
Co-authored-by: MureixloI <132683811+MureixloI@users.noreply.github.com>
Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
Co-authored-by: deathride58 <deathride58@users.noreply.github.com>
Co-authored-by: Elysium206 <151651971+Elysium206@users.noreply.github.com>
Co-authored-by: Snicket <getoutmarutak@gmail.com>
Co-authored-by: Джексон Миссиссиппи <tripwiregamer@gmail.com>
Co-authored-by: DieselMohawk <gavin.drinka@gmail.com>
Co-authored-by: VeritableCalamity <34698192+Veritable-Calamity@users.noreply.github.com>
  • Loading branch information
Show file tree
Hide file tree
Showing 20 changed files with 1,641 additions and 1,805 deletions.
16 changes: 12 additions & 4 deletions Content.IntegrationTests/Tests/Commands/ForceMapTest.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using Content.Server.Maps;
using Content.Shared.CCVar;
using Robust.Shared.Configuration;
using Robust.Shared.Console;
Expand Down Expand Up @@ -49,27 +50,34 @@ public async Task TestForceMapCommand()
var entMan = server.EntMan;
var configManager = server.ResolveDependency<IConfigurationManager>();
var consoleHost = server.ResolveDependency<IConsoleHost>();
var gameMapMan = server.ResolveDependency<IGameMapManager>();

await server.WaitAssertion(() =>
{
// Make sure we're set to the default map
Assert.That(configManager.GetCVar(CCVars.GameMap), Is.EqualTo(DefaultMapName),
Assert.That(gameMapMan.GetSelectedMap()?.ID, Is.EqualTo(DefaultMapName),
$"Test didn't start on expected map ({DefaultMapName})!");
// Try changing to a map that doesn't exist
consoleHost.ExecuteCommand($"forcemap {BadMapName}");
Assert.That(configManager.GetCVar(CCVars.GameMap), Is.EqualTo(DefaultMapName),
Assert.That(gameMapMan.GetSelectedMap()?.ID, Is.EqualTo(DefaultMapName),
$"Forcemap succeeded with a map that does not exist ({BadMapName})!");
// Try changing to a valid map
consoleHost.ExecuteCommand($"forcemap {TestMapEligibleName}");
Assert.That(configManager.GetCVar(CCVars.GameMap), Is.EqualTo(TestMapEligibleName),
Assert.That(gameMapMan.GetSelectedMap()?.ID, Is.EqualTo(TestMapEligibleName),
$"Forcemap failed with a valid map ({TestMapEligibleName})");
// Try changing to a map that exists but is ineligible
consoleHost.ExecuteCommand($"forcemap {TestMapIneligibleName}");
Assert.That(configManager.GetCVar(CCVars.GameMap), Is.EqualTo(TestMapIneligibleName),
Assert.That(gameMapMan.GetSelectedMap()?.ID, Is.EqualTo(TestMapIneligibleName),
$"Forcemap failed with valid but ineligible map ({TestMapIneligibleName})!");
// Try clearing the force-selected map
consoleHost.ExecuteCommand("forcemap \"\"");
Assert.That(gameMapMan.GetSelectedMap(), Is.Null,
$"Running 'forcemap \"\"' did not clear the forced map!");
});

// Cleanup
Expand Down
89 changes: 89 additions & 0 deletions Content.IntegrationTests/Tests/Internals/AutoInternalsTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
using Content.Server.Atmos.EntitySystems;
using Content.Server.Body.Systems;
using Content.Server.Station.Systems;
using Content.Shared.Preferences;
using Content.Shared.Roles.Jobs;

namespace Content.IntegrationTests.Tests.Internals;

[TestFixture]
[TestOf(typeof(InternalsSystem))]
public sealed class AutoInternalsTests
{
[Test]
public async Task TestInternalsAutoActivateInSpaceForStationSpawn()
{
await using var pair = await PoolManager.GetServerClient();
var server = pair.Server;

var testMap = await pair.CreateTestMap();

var stationSpawning = server.System<StationSpawningSystem>();
var atmos = server.System<AtmosphereSystem>();
var internals = server.System<InternalsSystem>();

await server.WaitAssertion(() =>
{
var profile = new HumanoidCharacterProfile();
var dummy = stationSpawning.SpawnPlayerMob(testMap.GridCoords, new JobComponent()
{
Prototype = "TestInternalsDummy"
}, profile, station: null);
Assert.That(atmos.HasAtmosphere(testMap.Grid), Is.False, "Test map has atmosphere - test needs adjustment!");
Assert.That(internals.AreInternalsWorking(dummy), "Internals did not automatically connect!");
server.EntMan.DeleteEntity(dummy);
});

await pair.CleanReturnAsync();
}

[Test]
public async Task TestInternalsAutoActivateInSpaceForEntitySpawn()
{
await using var pair = await PoolManager.GetServerClient();
var server = pair.Server;

var testMap = await pair.CreateTestMap();

var atmos = server.System<AtmosphereSystem>();
var internals = server.System<InternalsSystem>();

await server.WaitAssertion(() =>
{
var dummy = server.EntMan.Spawn("TestInternalsDummyEntity", testMap.MapCoords);
Assert.That(atmos.HasAtmosphere(testMap.Grid), Is.False, "Test map has atmosphere - test needs adjustment!");
Assert.That(internals.AreInternalsWorking(dummy), "Internals did not automatically connect!");
server.EntMan.DeleteEntity(dummy);
});

await pair.CleanReturnAsync();
}

[TestPrototypes]
private const string Prototypes = @"
- type: playTimeTracker
id: PlayTimeInternalsDummy
- type: startingGear
id: InternalsDummyGear
equipment:
mask: ClothingMaskBreath
suitstorage: OxygenTankFilled
- type: job
id: TestInternalsDummy
playTimeTracker: PlayTimeInternalsDummy
startingGear: InternalsDummyGear
- type: entity
id: TestInternalsDummyEntity
parent: MobHuman
components:
- type: Loadout
prototypes: [InternalsDummyGear]
";
}
9 changes: 7 additions & 2 deletions Content.Server/GameTicking/Commands/ForceMapCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,19 @@ public void Execute(IConsoleShell shell, string argStr, string[] args)
var gameMap = IoCManager.Resolve<IGameMapManager>();
var name = args[0];

if (!gameMap.CheckMapExists(name))
// An empty string clears the forced map
if (!string.IsNullOrEmpty(name) && !gameMap.CheckMapExists(name))
{
shell.WriteLine(Loc.GetString("forcemap-command-map-not-found", ("map", name)));
return;
}

_configurationManager.SetCVar(CCVars.GameMap, name);
shell.WriteLine(Loc.GetString("forcemap-command-success", ("map", name)));

if (string.IsNullOrEmpty(name))
shell.WriteLine(Loc.GetString("forcemap-command-cleared"));
else
shell.WriteLine(Loc.GetString("forcemap-command-success", ("map", name)));
}

public CompletionResult GetCompletion(IConsoleShell shell, string[] args)
Expand Down
3 changes: 2 additions & 1 deletion Content.Shared/Atmos/Atmospherics.cs
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,8 @@ public static class Atmospherics
/// (The pressure threshold is so low that it doesn't make sense to do any calculations,
/// so it just applies this flat value).
/// </summary>
public const int LowPressureDamage = 4;
// Original value is 4, buff back when we have proper ways for players to deal with breaches.
public const int LowPressureDamage = 1;

public const float WindowHeatTransferCoefficient = 0.1f;

Expand Down
4 changes: 3 additions & 1 deletion Content.Shared/Clothing/LoadoutSystem.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Linq;
using Content.Shared.Body.Systems;
using Content.Shared.Clothing.Components;
using Content.Shared.Humanoid;
using Content.Shared.Preferences;
Expand Down Expand Up @@ -27,7 +28,8 @@ public override void Initialize()
{
base.Initialize();

SubscribeLocalEvent<LoadoutComponent, MapInitEvent>(OnMapInit);
// Wait until the character has all their organs before we give them their loadout
SubscribeLocalEvent<LoadoutComponent, MapInitEvent>(OnMapInit, after: [typeof(SharedBodySystem)]);
}

public static string GetJobPrototype(string? loadout)
Expand Down
62 changes: 30 additions & 32 deletions Resources/Changelog/Changelog.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,4 @@
Entries:
- author: Vermidia
changes:
- message: Water coolers show how full/what they're full of again.
type: Fix
id: 6318
time: '2024-04-06T23:58:57.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/26784
- author: Crotalus
changes:
- message: Show missing materials in lathe tooltip
type: Add
id: 6319
time: '2024-04-08T03:16:11.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/26795
- author: chromiumboy
changes:
- message: Fixed the RCD not being able to build on top of puddles
type: Fix
- message: RCD constructions can no longer be rotated while in progress
type: Tweak
- message: The RCD now reports construction mode changes to its user
type: Add
id: 6320
time: '2024-04-08T03:17:29.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/26792
- author: lzk228
changes:
- message: Bombsuit and jani bombsuit are similar now.
type: Tweak
id: 6321
time: '2024-04-08T15:05:58.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/26806
- author: lzk228
changes:
- message: Clothing restock crate was splitted to clothing and autodrobe restock
Expand Down Expand Up @@ -3840,3 +3808,33 @@
id: 6817
time: '2024-06-25T03:56:46.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/29239
- author: Tayrtahn
changes:
- message: Fixed space ninja's starting with their internals disabled.
type: Fix
id: 6818
time: '2024-06-25T06:28:48.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/29213
- author: PJB3005
changes:
- message: Low pressure damage now does only 1/4th as much damage. This is a band-aid
until better mechanics exists for the crew to deal with breaches of various
kinds.
type: Remove
id: 6819
time: '2024-06-26T00:48:26.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/29478
- author: lzk228
changes:
- message: Blood now has less satiation.
type: Tweak
id: 6820
time: '2024-06-26T02:27:11.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/29433
- author: Veritable-Calamity
changes:
- message: Moldy food can now be collected in the Janitors' trash bags.
type: Fix
id: 6821
time: '2024-06-26T03:26:59.0000000+00:00'
url: https://github.com/space-wizards/space-station-14/pull/29380
1 change: 1 addition & 0 deletions Resources/Locale/en-US/game-ticking/forcemap-command.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ forcemap-command-help = forcemap <map ID>
forcemap-command-need-one-argument = forcemap takes one argument, the path to the map file.
forcemap-command-map-not-found = No eligible map exists with name { $map }.
forcemap-command-success = Forced the game to start with map { $map } next round.
forcemap-command-cleared = Cleared the forced map setting.
forcemap-command-arg-map = <map ID>
Loading

0 comments on commit 07f056e

Please sign in to comment.