Commit Graph

7579 Commits

Author SHA1 Message Date
Whisper c7bbaa48a4
fix burning to ash not working on all mobs (#27158) 2024-04-20 10:44:10 -04:00
DrSmugleaf 5eae6335e1
Make remaining IPrototypes partial (#27157) 2024-04-20 17:48:38 +10:00
no 5c69031d11
Admin log shuttle gibbing + Make shuttle gibbing and immovable rods drop organs and correctly put player in ghost (#27114)
* Add admin log when someone gets gibbed by a shuttle

* Make shuttle gibbing work properly again

* Fix immovable rod gibbing, no longer puts you into nullspace

* Update Content.Server/ImmovableRod/ImmovableRodSystem.cs

* Update Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-04-20 16:27:38 +10:00
DrSmugleaf 3c6722bd6f
Move storage binds and slot click handling to shared (#27135) 2024-04-20 16:23:45 +10:00
Verm 089c9cb967
You can bless more containers with a bible (#26526)
* Made more things blessable

* Removed junk

* Remove whatever that was

* Make bowls blessable

* New mixablesolution component, converted everything to work with it

* Fix minor mishaps

* Fix extra spaces in bottle yml

* Fix last extra space, fix bottle havign the wrong solution name

* Remvoe unneeded event(I think), fix alcohol bottles not being mixable

* I missed cans
2024-04-20 16:16:55 +10:00
Leon Friedrich 12bb476a2d
Add evac shuttle test. (#27152)
* Add evac shuttle test.

* Fix typo in comment
2024-04-20 15:57:55 +10:00
slarticodefast b22c06230c
fix cryopod volume (#27148) 2024-04-19 23:44:39 -04:00
metalgearsloth ef7f0b8322
Optimise immovable rod mapinit (#27149)
Redundant getworldpos.
2024-04-20 13:07:25 +10:00
keronshb 6be204e3f4
Adds non randomized rod velocity (#27123)
* adds non randomized rod velocity

* Adds despawn suffix to despawn rod
2024-04-19 22:18:25 -04:00
Leon Friedrich 349f78dc80
Try fix emergency shuttle not spawning (#27144) 2024-04-20 14:10:19 +12:00
Nemanja a47c5561a9
add fuel costs back to finishing welding (#27030)
* add fuel costs back to welding

* ack

* meh

* eek!
2024-04-19 19:20:30 -04:00
ElectroJr 7aa1818823 Update EmergencyShuttleSystem.cs 2024-04-19 19:00:55 -04:00
ElectroJr 6373454242 Fix emergency shuttle initialization 2024-04-19 18:57:12 -04:00
no 94f296f9d6
"make thief" admin action: fix missing icon (#27119) 2024-04-19 15:27:36 +10:00
Leon Friedrich 36eaa8c941
Make station components use StationPostInitEvent (#27126) 2024-04-19 15:26:56 +10:00
DrSmugleaf 45df595c15
Fix storage fill giving no reason for failing (#27122) 2024-04-18 23:24:13 -04:00
Leon Friedrich 6ec40900ef
Fix fixgridatmos command (#27113) 2024-04-18 19:39:38 -07:00
Vasilis 5769bf38f8
Revert #26994 and #27077 (#27090) 2024-04-18 17:06:56 +02:00
Ed e82034c16b
Component of planet initialization on the map (#26510)
* no cl no fun

* DevPlanet

* fix europa?

* Update Content.Server/Station/Components/StationBiomeComponent.cs

* Update Content.Server/Station/Components/StationBiomeComponent.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-04-18 21:27:54 +10:00
Ed f3a97fc0c5
Killer tomatoes (#26053)
* make tomatoes

* many friends! many mommies

* finish

* renaming system

* fix

* Update miscellaneous.yml

* Update Content.Server/NPC/Systems/NPCImpritingBehaviourSystem.cs

Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>

* N

* deleete exception?

* merge conflict fix

* fix?

* fuck you

* sloth fixes

* fixess?

* fix

---------

Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-04-18 21:21:56 +10:00
superjj18 ebf87be9f2
Emergency Lights now changes color depending on alert level and whether or not the light is powered. (#26932)
* Emergency Lights now change color depending on alert level and whether or not they are powered.

* Made a condition for null alert level, added summary doc.

* Refactored uid and emergencylightcomponent into Entity<EmergencyLightComponent>
2024-04-18 20:50:08 +10:00
Nemanja 3af744e4a9
Flash buff (#25730)
* flash buff

* oops!

* bool

* 3 -> 1.5 seconds

* okay fix

* sluth
2024-04-18 16:30:01 +10:00
Hannah Giovanna Dawson b1136c98d7
Chatfactor: Chat Repository, Admin Commands, Chat Created Events (#26113)
* Chatfactor: Chat Repository, Admin Commands, Chat Created Events

This addition-only PR covers a repository that stores chat messages.
This PR defines what chat messages can be stored, what can be done
with those stored messages, and what events occur when the repository
does things.

This PR also includes to admin commands that show how the repository
will be used for administration purposes at first. Because all chat
messages will be uniquely identified per round (and, as rounds are
uniquely identified, are essentially a GUID) we can delete, amend
or nuke messages.

Note there's no "amend" command right now. The original chatfactor PR
didn't include one, and I'm avoiding further feature bloat with these
chatfactor PRs...

* Remove an event that shouldn't be in this PR

* Resolve PR comments.

* Resolve peak goober moment

* Also make sure we tell the user why if their delete command fails

* Supply a reason if the nukeuserids command is malformed

* Tidy messages

* Some more docstring tidyup

* Imagine tests handling IOC correctly chat

* Imagine tests handling IOC correctly chat

* Resolve PR comments

* Fix goobering with needing to use ToolshedCommand

* In which we bikeshed toolshed

* loud metal pipe sound effect

* One must imagine funny boulder pushing man happy

* Move commands to new folder

* Mald, seethe, cope.

* I hate toolshed I hate toolshed I hate toolshed

* Fix command ftls

* Bit of tidy-up and a YAGNI removal of a get we don't need yet

* Whelp lmao

* UserIDs are in a weird fucky state I didn't anticipate, so I've removed the remove-by-userID command for the time being.

* Rename ChatRepository to ChatRepositorySystem.

* Resolve PR review comments

---------

Co-authored-by: Your Name <you@example.com>
2024-04-18 14:59:10 +10:00
Leon Friedrich ee96d8aa66
Content changes for MapManager/System refactor (#26994)
* Content changes for MapManager/System refactor

* Poke Tests

* Why is this failing?

* Will this make the analyzer happy?
2024-04-18 14:30:06 +10:00
Tayrtahn cfa94be4c2
Add ability to shake fizzy drinks so they spray in peoples' faces (#25574)
* Implemented Shakeable

* Prevent shaking open Openables

* Prevent shaking empty drinks. Moved part of DrinkSystem to Shared.

* DrinkSystem can have a little more prediction, as a treat

* Cleanup

* Overhauled PressurizedDrink

* Make soda cans/bottles and champagne shakeable. The drink shaker too, for fun.

* We do a little refactoring.
PressurizedDrink is now PressurizedSolution, and fizziness now only works on solutions containing a reagent marked as fizzy.

* Documentation, cleanup, and tweaks.

* Changed fizziness calculation to use a cubic-out easing curve.

* Removed broken YAML that has avoid the linter's wrath for far too long

* Changed reagent fizzy bool to fizziness float.
Solution fizzability now scales with reagent proportion.

* Rename file to match changed class name

* DoAfter improvements. Cancel if the user moves away; block if no hands.

* Match these filenames too

* And this one

* guh

* Updated to use Shared puddle methods

* Various fixes and improvements.

* Made AttemptShakeEvent a struct

* AttemptAddFizzinessEvent too
2024-04-18 11:49:58 +10:00
MisterMecky 4453fe50cf
fix soap popup (#27054)
fix soap
2024-04-17 21:17:18 -04:00
Bellwether 8213c89fdb
Low-Key Zombie Rebalance (#27060)
initial soft zombie rebalance - lower infection chance, damage, and chance of outbreak

Co-authored-by: Bellwether <null>
2024-04-17 21:06:33 -04:00
icekot8 fd109d61b8
cargo console radio messages on approving (#27038)
* 1

* void --> "Unknown"
2024-04-17 17:32:21 -07:00
Ed 5659edd207
Chances of triggering effects (#27056)
* electrocution

* slippery

* flashibg

* Update SlipperyComponent.cs

* Update SlipperySystem.cs
2024-04-18 10:08:42 +10:00
ShadowCommander a95fc86f7a
Fix PDA and ID card data not getting set on loadouts (#27062) 2024-04-18 00:16:24 +02:00
deltanedas 395c33024c
prop hunt ss14 (real) (#26691)
* texture appropriation

* add code for projector

* add chameleon projector yml

* damage and actions

* prevent small props being killed round removing you (700 damage from a single shot)

* tweak default

* oop

* do appearance properly, need engine update

* fix bugs, blacklist pda

* remove status icons

* amou

* sus

* fix test + make props fast

* amouuuung

* remove funny log

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-04-17 14:48:35 -07:00
chromiumboy 009d06d978
Navmap rework (#26713)
* Optimized the drawing of lines and tracked entities

* Optimized nav map updating and added thin wall support

* Added support for thin doors

* Removed floor tile seams, more line drawing optimizations

* Fixed split grids not updating correctly

* Cleaned up NavMapControl code

* Fix nav map header

* Converted nav map updates from system network messages to delta-states

* Addressed review comments

* Fixed timing issue where NavMapSystem would update before AirtightSystem did
2024-04-17 12:59:31 -05:00
slarticodefast 5a5efa11cf
Show volume on the gas analyzer (#25720)
The gas analyzer now shows the volume of pipes, tanks, canisters and the environment.

Adjust gas analyzers so that the volume and number of moles shown corresponds to only the scanned element, e.g. a canister or single pipe in a pipenet.
2024-04-17 09:42:24 -08:00
Verm 432e6ec45d
Fix capitalization for pirates and rats (#26644)
* Fix capitalization for pirates and rats

* Deal with replacements better

* Be smarter about caps

* Do last word properly

* Variables named a bit better

* Fix Consistency

* Undo change that's not needed anymore

* Fix up pirate since it doesn't need to check early either

* Make mobster replacin' a bit better anyway

* Remove extra space

* Use capture groups for mobster in', add comments for first and last words

* Slightly more clarification with comments
2024-04-17 20:04:24 +10:00
metalgearsloth 2db374988c
Added Jukebox (#26736)
* Added Jukebox, along with music for jukebox

* Fixed Jukebox meta.json copyright

* Removed songs I couldn't find a license for.

* Renamed files to solve check failures from spaces

* Added missing attributions.yml

* Fixed lack of description in Jukebox

* Jukebox is now constructable.

* Change Jukebox menu to FancyWindow

* Moved Jukebox messages out of jukebox component

* Removed Jukebox OnValueChanged.

* JukeboxComp now uses AutoGenerateComponentState

* Removed state code, since it's auto generated

* Fixed various Jukebox code to match conventions.

* Updated Standard.yml to match changed song list.

* fixes

* Jukebox workin

* Fix

* Polishing

* Finalising

* Revert

* bad

* jukey

* Reviews

* name

* Update submodule to 218.2.0

---------

Co-authored-by: iNVERTED <alextjorgensen@gmail.com>
2024-04-17 19:27:00 +10:00
metalgearsloth 9bc3e07628
Fix starting gear (#27008)
Slight blunder on the loadout prototype being used and all the names aligning means playtesting didn't catch it earlier.

Ideally player spawning code wouldn't have sucked so I could add tests like I wanted but it is what it is.
2024-04-17 00:44:16 +10:00
metalgearsloth 12766fe6e3
Loadouts redux (#25715)
* Loadouts redux

* Loadout window mockup

* More workout

* rent

* validation

* Developments

* bcs

* More cleanup

* Rebuild working

* Fix model and loading

* obsession

* efcore

* We got a stew goin

* Cleanup

* Optional + SeniorEngineering fix

* Fixes

* Update science.yml

* add

add

* Automatic naming

* Update nukeops

* Coming together

* Right now

* stargate

* rejig the UI

* weh

* Loadouts tweaks

* Merge conflicts + ordering fix

* yerba mate

* chocolat

* More updates

* Add multi-selection support

* test

h

* fikss

* a

* add tech assistant and hazard suit

* huh

* Latest changes

* add medical loadouts

* and science

* finish security loadouts

* cargo

* service done

* added wildcards

* add command

* Move restrictions

* Finalising

* Fix existing work

* Localise next batch

* clothing fix

* Fix storage names

* review

* the scooping room

* Test fixes

* Xamlify

* Xamlify this too

* Update Resources/Prototypes/Loadouts/Jobs/Medical/paramedic.yml

Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>

* Update Resources/Prototypes/Loadouts/loadout_groups.yml

Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>

* Update Resources/Prototypes/Loadouts/Jobs/Civilian/clown.yml

Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>

* Update Resources/Prototypes/Loadouts/Jobs/Civilian/clown.yml

Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>

* Update Resources/Prototypes/Loadouts/loadout_groups.yml

Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>

* Update Resources/Prototypes/Loadouts/Jobs/Security/detective.yml

Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>

* Update Resources/Prototypes/Loadouts/loadout_groups.yml

Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>

* ben

* Margins

---------

Co-authored-by: Firewatch <54725557+musicmanvr@users.noreply.github.com>
Co-authored-by: Mr. 27 <koolthunder019@gmail.com>
Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
2024-04-16 22:57:43 +10:00
Leon Friedrich faec39ced4
Give names to solution & identity entities (#26993) 2024-04-16 14:26:47 +10:00
Leon Friedrich 229caa10bf
Fix some TryGetMind overrides relying on player data (#26992)
* Fix some TryGetMind overrides relying on player data

* A

* Rider has bamboozled me

* Update `data.Mind` before attaching to entity.
2024-04-16 14:26:32 +10:00
Whisper 4a6cf480cc
Mobs burn to ashes on excessive heat damage (#26971)
* mobs burn to ashes on excessive heat damage

* remove comment, remove random lines I didn't mean to add

* combine code into behavior

* clean unused

* fix namespace

* drop next to

* fix spawn entities behavior spawning entities outside container
2024-04-15 15:04:15 +10:00
Ed 44b20f60ff
Rotate and Offset station CCVar nuke (#26175)
* no content

* add noRot to Europa

* bruh. and this

* yay

* fix
2024-04-15 00:26:28 +10:00
ilya.mikheev.coder fbec5d18cf
Use round time instead of server time for criminal history (#26949)
make criminal records computer use round time for history instead of the server time
2024-04-14 23:33:04 +10:00
Pieter-Jan Briers 9d0dfcf2b9
Game server admin API (#26880)
* Reapply "Game server api" (#26871)

This reverts commit 3aee197923.

* Rewrite 75% of the code it's good now
2024-04-14 20:13:29 +10:00
Pieter-Jan Briers d3ac3d06bb
Fix database round start date issues (#26838)
How can ONE DATABASE COLUMN have so many cursed issues I don't know, but it certainly pissed off the devil in its previous life.

The start_date column on round entities in the database was added by https://github.com/space-wizards/space-station-14/pull/21153. For some reason, this PR gave the column a nonsensical default value instead of making it nullable. This default value causes the code from #25280 to break. It actually trips an assert though that's not what the original issue report ran into.

This didn't get noticed on wizden servers because we at some point backfilled the start_date column based on the stored admin logs.

So I change the database model to make this column nullable, updated the C# code to match, and made the existing migration set the invalid values to be NULL instead. Cool.

Wait how's SQLite handle in this scenario anyways? Well actually turns out the column was *completely broken* in the first place!

The code for inserting into the round table was copy pasted between SQLite and PostgreSQL, with the only difference being that the SQLite key manually assigned the primary key instead of letting SQLite AUTOINCREMENT it. And then the code to give a start_date value was only added to the PostgreSQL version (which is actually in the base class already). So for SQLite that column's been filled up with the same invalid default the whole time.

Why was the code manually assigning a PK? I checked the SQLite docs for AUTOINCREMENT[1], and the behavior seems appropriate.

I removed the SQLite-specific code path and it just seems to work regardless. The migration just sets the old values to NULL too.

BUT WAIT, THERE'S MORE!

Turns out just doing the migration on SQLite is a pain in the ass! EF Core has to create a new table to apply the nullability change, because SQLite doesn't support proper ALTER COLUMN. This causes the generated SQL commands to be weird and the UPDATE for the migration goes BEFORE the nullability change... I ended up having to make TWO migrations for SQLite. Yay.

Fixes #26800

[1]: https://www.sqlite.org/autoinc.html
2024-04-14 07:39:43 +02:00
Tayrtahn 9107d421bd
Add two-message overload to PopupPredicted (#26907)
Added two-message overload to PopupPredicted
2024-04-14 13:42:45 +10:00
DrSmugleaf c67948407e
Make UtensilSystem and SharpSystem not run AfterInteract if it has already been handled (#25826)
* Make UtensilSystem and SharpSystem not run AfterInteract if it has already been handled

* merge conflicts

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-04-14 13:39:22 +10:00
Verm 96ad9002f1
You can now see paper on crates (with color!) (#26834)
* Implement changes on not-cooked branch

* Made it work

* Fix update appearance calls

* Fix extra indents, clean-up code, fix tests hopefully

* Fix hammy cagecrate

* Fix messing up the yml, add artifact crate specific labels back in

* Visual Studio hates yml, sad

* Seperate the colors for cargonia

* sorry json

* make label move with artifact door

* Apply suggestion changes

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

* Fix remaining crate offsets, add a few for livestock and graves (why are you labeling graves) and coffin label sprites (why are you labeling coffins??)

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2024-04-14 13:39:02 +10:00
GreaseMonk da618d791a
Add Ability to stop sound when MobState is Dead (#26905)
* Add stopsWhenEntityDead to sound components

* Convert component

* Review

* Fix dupe sub

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-04-14 13:12:38 +10:00
Tayrtahn 9b97a2e05d
Fix cryostorage identifying unknown characters as captain (#26927)
Fixed cryostorage getting captain's record for unknown jobs.
Also localized Unknown job string.
2024-04-14 12:19:42 +10:00
TsjipTsjip 4833074514
Replace SetDamage call with TryChangeDamage in ImmovableRodSystem.cs (#26902) 2024-04-13 11:36:33 -04:00
ShadowCommander 037a7d7d3d
Fix pulling a new entity when already pulling an entity (#26499)
Fix pulling when already pulling

The TryStopPull were failing due to wrong arguments provided.
Replacing the virtual item in hand with a different pull was failing due to the hand not being cleared.

Fix stop pulling checks that had the wrong variables provided.

VirtualItems are already queue deleted at the end of HandleEntityRemoved.
2024-04-13 11:36:05 -04:00
keronshb d4b7bc5aa3
Fixes polymorph cooldowns (#26914)
fixes polymorph cooldowns
2024-04-13 11:26:51 -04:00
osjarw 0a1ce9dd43
Fixed magboot activation distance (#26912) 2024-04-12 21:46:00 -04:00
DrSmugleaf 24b6456735
Fix the stripping menu being openable without StrippingComponent (#26908) 2024-04-12 16:22:07 -07:00
Nemanja 9d5a3992fa
uplink and store freshening (#26444)
* uplink and store freshening

* more

* im gonna POOOOOOGGGGGGG

* we love it
2024-04-12 17:07:25 +10:00
Tayrtahn 264bf7199d
Allow advertisement timers to prewarm (#26900)
Allow advertisement timers to prewarm.
2024-04-12 16:42:20 +10:00
lunarcomets 9d62b3c3e6
Cryogenic storage tweaks (#26813)
* make cryo remove crewmember's station record when going to cryo

* Revert "make cryo remove crewmember's station record when going to cryo"

This reverts commit 9ac9707289b5e553e3015c8c3ef88a78439977c6.

* make cryo remove crewmember from station records when the mind is removed from the body

* add stationwide announcement for people cryoing (remember to change pr title and desc)

* minor changes

* announcement actually shows job now

* requested changes

* get outta here derivative
2024-04-11 16:48:46 -04:00
keronshb 036abacbb7
Immovable Rod changes (#26757) 2024-04-11 13:40:02 -04:00
Pieter-Jan Briers 210ed3ece4
Fix TEG assert (#26881)
It's possible to trigger this by stacking it weirdly with the spawn panel. Just make it bail instead.
2024-04-11 22:22:21 +10:00
Jark255 2bcdb608a3
Fix door electronics configurator usage (#26888)
* allow usage of network configurator for door electronics

* add checks for "allowed" items
2024-04-11 22:21:15 +10:00
botanySupremist 58e4b5fe4c
Clipping a harvestable plant yields undamaged seeds (#25541)
Clipping a plant in any condition currently causes it and its clippings to be damaged.

Make clipping harvestable (already eligible for seed extractor) plants yield seeds at full health.
2024-04-10 10:51:25 -07:00
Pieter-Jan Briers 3aee197923
Revert "Game server api" (#26871)
Revert "Game server api (#24015)"

This reverts commit 297853929b.
2024-04-10 14:19:32 +02:00
Simon 297853929b
Game server api (#24015)
* Revert "Revert "Game server api (#23129)""

* Review pt.1

* Reviews pt.2

* Reviews pt. 3

* Reviews pt. 4
2024-04-10 02:37:16 -07:00
Killerqu00 fd067731b5
Skipping bounties (#26537)
* add button to menu

* networking and component work

* try to add access stuff

* main functionality done

* add access lock? I think?

* remove extra line

* fix access system

* move SkipTime to StationCargoBountyDatabaseComponent

* Disable/Enable skip button based on cooldown

* remove debugging

* add access denied sound

* remove DataField tags

* dynamic timer
2024-04-09 18:18:07 -04:00
Pieter-Jan Briers d879665b52
Add new "grant_connect_bypass" admin command (#26771)
This command allows you to grant a player temporary privilege to join regardless of player cap, whitelist, etc. It does not bypass bans.

The API for this is IConnectionManager.AddTemporaryConnectBypass().

I shuffled around the logic inside ConnectionManager. Bans are now checked before panic bunker.
2024-04-09 17:25:21 +02:00
deltanedas 2f5c639a15
predict humanoid identity examine (#26769)
* predict humanoid identity examine

* actually server doesnt need proto anymore

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-04-08 11:16:21 -04:00
Dae e7fda78a18
Damage popup type can now be changed with a left click if allowed via component boolean. (#26734)
* Update DamagePopupSystem.cs

* Update DamagePopupSystem.cs

* Add ability to allow or deny type change via component bool
2024-04-05 03:19:41 -04:00
Mephisto72 ad0f046f0c
Rework Identifier Overrides to prevent showing Law Priority (#26680)
Does-The-Fix

Co-authored-by: Mephisto72 <Mephisto.Respectator@proton.me>
2024-04-04 22:48:24 -04:00
Vasilis d4982bad31
Stop mop buckets from spilling when you push them (#26706) 2024-04-04 02:39:54 -06:00
Pspritechologist f5d9d3c458
Suit Sensors No Longer Use a Hardcoded 'Total Health' (#26658)
* Suit sensors now know the 'total health' of an entity

* Missed the constructor 😔
2024-04-04 02:38:27 -06:00
Wrexbe (Josh) d9c1130d8c
Make Zombie, Initial Infected fix (#26665)
Make zombie fix
2024-04-04 02:37:50 -06:00
Aexxie 7ced9d42f0
OOC Patron Color Toggle (#26653)
* Adds the option for you to toggle your OOC Patron color visibility to yourself and others.

* Makes the button magically disappear if you arent a patron
2024-04-04 18:20:06 +11:00
lzk 70959e7bb0
Fix turned off thrusters consume power (#26690) 2024-04-04 17:28:33 +11:00
Tayrtahn a1a12194a5
Make the station start with random broken wiring (#26695)
Random wire cutting on round start
2024-04-04 17:28:09 +11:00
deltanedas 170e13b7aa
fix health analyzer crash (#26700)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-04-04 17:26:54 +11:00
Tayrtahn 1e43980482
Clean up YAML issues in animals.yml (#26696)
* Cleaned up YAML issues in animals.yml

* Cleaned up TimedSpawnerComponent
2024-04-04 17:26:21 +11:00
beck-thompson b709e24d87
Things that can't go in disposals now don't "Miss" (#26716)
* Moved is canInsert check to before miss check

* Update Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-04-04 17:25:47 +11:00
Tayrtahn 74c45da718
Validate wire layout prototypes and remove invalid WiresComponents (#26682)
Validate wire layout prototypes; delete invalid wirescomponents.
2024-04-02 23:13:59 -04:00
Simon 307a1c534d
Make cyborgs hands explosion proof. (#26515)
* Make the advanced treatment modules beakers explosion-proof.

* undo changes

* Epic rename fail

* Explosion recursion data field

* Logic for data field
2024-04-01 22:18:31 -07:00
Ed 7464d8284c
Infinity books (#25840)
* setup text data

* roundstart reshuffling keywords with gibberish words

* saved data categorized

* add book with hints

* start redrawing books

* +4 book design

* +books +random visual upgrade

* finish first file

* finish lore file

* finish with books.rsi now authorbooks.rsi...

* aurora! and some fix

* nuke author books

* speelbuke update

* finish respriting work

* fix scientist guide visual

* setup datasets

* setup stupid funny random story

* restore author books, upgrade hint generation

* add variety to story generator

* add learning system

* minor textgen edit

* file restruct, hint count variation

* more restruct

* more renaming
add basis learning system logic. Spears locked for special book for test.

* nuke all systems, for splitting PR gods

* typo fix

* update migration with deleted books

* add random story books to maint

* Update construction-system.ftl

* Update Resources/Prototypes/Datasets/Names/books.yml

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>

* Update Resources/Prototypes/Datasets/Names/books.yml

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>

* Update Resources/Prototypes/Datasets/Names/books.yml

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>

* Update Resources/Prototypes/Datasets/Names/books.yml

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>

* Update Resources/Prototypes/Datasets/Names/books.yml

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>

* Update Resources/Prototypes/Datasets/Names/books.yml

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>

* Update Resources/Prototypes/Datasets/Names/books.yml

Co-authored-by: Hrosts <35345601+Hrosts@users.noreply.github.com>

* Update Resources/Prototypes/Datasets/Names/books.yml

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>

* Update Resources/Prototypes/Datasets/Names/books.yml

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>

* Update Resources/Prototypes/Datasets/Names/books.yml

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>

* Update Resources/Prototypes/Datasets/Names/books.yml

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>

* Update Resources/Prototypes/Datasets/Names/books.yml

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>

* typo fix

* interchangeably

* final

* Update Resources/Prototypes/Datasets/Names/books.yml

Co-authored-by: Hrosts <35345601+Hrosts@users.noreply.github.com>

* "."

* Update Content.Server/Paper/PaperRandomStorySystem.cs

Co-authored-by: Hrosts <35345601+Hrosts@users.noreply.github.com>

* Ubazer fix

* inadequate

* localized

* Update meta.json

* fuck merge conflicts

* fix jani book

---------

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: Hrosts <35345601+Hrosts@users.noreply.github.com>
2024-04-01 14:00:10 -07:00
Ed a4ec01d471
Anomalies behaviours (#24683)
* Added new anomaly particle

* Add basic anomaly behaviour

* +2 parametres

* add functional to new particle

* add components to behaviours

* big content

* add shuffle, moved thing to server

* clean up

* fixes

* random pick redo

* bonjour behavioUr

* fix AJCM

* fix

* add some new behaviours

* power modifier behaviour

* rmeove timer

* new event for update ui fix

* refactor!

* fixes

* enum

* Fix mapinit

* Minor touches

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-04-01 19:29:13 +11:00
Wrexbe (Josh) 5613c3d3dd
Refactored AdvertiseComponent (#26598)
* Made it better

* ok

* alright

---------

Co-authored-by: wrexbe <wrexbe@protonmail.com>
2024-04-01 17:36:31 +11:00
nikthechampiongr 2ffd616c41
Replace the teleportation logic on the SCRAM implant! (#26429)
* Replace the teleportation logic on the SCRAM implant!

Now instead of just trying to pick a random tile in range 20 times, the
scram teleportation logic now:

- Gets a list of grids in range
- Until a suitable tile is picked it picks a random grid
- From that grid it picks a random tile.
- If the tile is suitable, then it is set as the target and the user
  will be teleported there.
- Grids and tiles are randomly picked as outlined above until a valid
  tile is found, or all valid grids and tiles are exhausted.
- Should no suitable tile be found then they get teleported to the same
  position they are at. Effectively not teleporting them.

* Actually make the defaults sane which I forgor in the last commit

* Extract tile section to its own function. Bias selection for current grid. Use proper coords for box.

* Address reviews as much as possible

* Address reviews
2024-04-01 17:31:36 +11:00
deltanedas 1db178b632
scoopable ash and foam, solution transfer prediction (#25832)
* move SolutionTransfer to shared and predict as much as possible

* fully move OpenableSystem to shared now that SolutionTransfer is

* fix imports for everything

* doc for solution transfer system

* trolling

* add scoopable system

* make ash and foam scoopable

* untroll

* untroll real

* make clickable it work

* troll

* the scooping room

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-04-01 17:27:39 +11:00
c4llv07e 64bb8dbdd5
Add door electronics access configuration menu (#17778)
* Add door electronics configuration menu

* Use file-scoped namespaces

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Open door electronics configuration menu only with network configurator

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Doors will now try to move their AccessReaderComponent to their door electronics when the map is initialized

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Make the access list in the id card computer a separate control

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Fix merge conflict

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove DoorElectronics tag

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Integrate doors with #17927

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Move door electornics ui stuff to the right place

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Some review fixes

Signed-off-by: c4llv07e <kseandi@gmail.com>

* More fixes

Signed-off-by: c4llv07e <kseandi@gmail.com>

* review fix

Signed-off-by: c4llv07e <kseandi@gmail.com>

* move all accesses from airlock prototypes to door electronics

Signed-off-by: c4llv07e <kseandi@gmail.com>

* rework door electronics config access list

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove Linq from the door electronics user interface

* [WIP] Add EntityWhitelist to the activatable ui component

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Better interaction system

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Refactor

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Fix some door electronics not working without AccessReaderComponent

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Move AccessReaderComponent update code to the AccessReaderSystem

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unnecesary newlines in the door access prototypes

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unused variables in access level control

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unnecessary method from the door electronics configuration menu

Signed-off-by: c4llv07e <kseandi@gmail.com>

* [WIP] change access type from string to ProtoId<AccessLevelPrototype>

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unused methods

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Newline fix

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Restored to a functional state

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Fix access configurator not working with door electronics AccessReaderComponent

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Replace all string access fields with ProtoId

Signed-off-by: c4llv07e <kseandi@gmail.com>

* move access level control initialization into Populate method

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Review

---------

Signed-off-by: c4llv07e <kseandi@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-04-01 17:06:13 +11:00
SlamBamActionman bed9e9ac6a
Coordinates Disks & Shuttle FTL Travel (#23240)
* Adds the CentComm Disk and configures it to work with direct-use shuttles

* Added functionality for drone shuttles (i.e. cargo shuttle)

* Adds support for pods, and a disk console object for disks to be inserted into. Also sprites.

* Added the disk to HoP's locker

* Removed leftover logs & comments

* Fix for integration test

* Apply suggestions from code review (formatting & proper DataField)

Co-authored-by: 0x6273 <0x40@keemail.me>

* Fix integration test & changes based on code review

* Includes Disk Cases to contain Coordinate Disks, which are now CDs instead of Floppy Disks

* Check pods & non-evac shuttles for CentCom travel, even in FTL

* Import

* Remove CentCom travel restrictions & pod disk consoles

* Major changes that changes the coordinates disk system to work with salvage expeditions

* Missed CC diskcase removal

* Fix build

* Review suggestions and changes

* Major additional changes after merge

* Minor tag miss

* Integration test fix

* review

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-04-01 15:50:00 +11:00
metalgearsloth b7a6fb991f
Add ValueList import (#26640) 2024-04-01 14:41:57 +11:00
Tayrtahn d0d12760a8
Combine solution injection systems; Fix embeddable injectors (#26268)
* Combine injection systems

* Update Content.Server/Chemistry/EntitySystems/SolutionInjectOnEventSystem.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-04-01 14:39:34 +11:00
nikthechampiongr 29c81bcc05
Fix radio jammer not blocking suit sensors. (#26632)
As it turns out, they are not in fact on their own netid. They are
actually just on wireless. The way I had tested my previous pr led to
this mistake being made. I originally had the radio jammer block
wireless as well, but decided to take out under the flase assumption
that it suit sensors were actually on their own netid and did not
require the ability to block all wireless packets at the last moment.
2024-04-01 13:13:51 +11:00
Wrexbe (Josh) 6d1511124f
Auto DeAdmin sooner (#26551)
Co-authored-by: wrexbe <wrexbe@protonmail.com>
2024-03-31 16:49:51 -04:00
Leon Friedrich d2bee7ec91
Fix GastTileOverlay sending redundant data (#26623)
Fix GastTileOverlay not updating properly
2024-03-31 16:45:40 -04:00
avery 5eff7f169e
cancelable brig timers (#26557)
brig timers now cancelable. also some screensystem yakshave
2024-03-31 16:44:02 -04:00
Nemanja 1b69762816
disallow unanchoring or opening panels on locked emitters/APEs (#26600)
* disallow unanchoring or opening panels on locked emitters/APEs

* no locking open panels

* oops

* needback feedback

* Update Content.Shared/Lock/LockSystem.cs

* Update Content.Shared/Lock/LockSystem.cs

* Update Content.Shared/Lock/LockSystem.cs

* sanity

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-03-31 17:34:17 +11:00
Bixkitts ae8a68b7cd
MeleeHitSoundSystem (#25005)
* Began work to unscrew melee noises

* finished

* cleanup

* cleanup

* Update Content.Server/Weapons/Melee/MeleeWeaponSystem.cs

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

* _Style

* Fix merge

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-03-31 16:21:01 +11:00
metalgearsloth c91ed96853
Revert Paint (#26593)
* Revert "Fix build (#26258)"

This reverts commit 6de5fbfafb.

* Revert "Spray Paint (Review Ready) (#23003)"

This reverts commit e4d5e7f1ae.

# Conflicts:
#	Resources/Prototypes/Entities/Structures/Holographic/projections.yml
2024-03-31 16:12:52 +11:00
Tayrtahn 1b94e01563
Prevent storing liquids in equipped buckets (#24412)
* Block access to solutions in equipped spillables.

* Stop Drink verb appearing if the solution can't be accessed.
2024-03-31 15:40:22 +11:00
UBlueberry 6b7427e3ee
Southern accent (#26543)
* created the AccentComponent and the AccentSystem

* word replacement schtuhff

* made it a trait fr ongg!!1

* Update Content.Server/Speech/EntitySystems/SouthernAccentSystem.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-03-31 15:39:40 +11:00
J. Brown de62ec204b
Uplink store interface searchable with a searchbar. (#24287)
* Can now search the uplink store interface with a searchbar.

* Search text updates no longer send server messages. Persists listings locally.

* Formatting fixes and tidying.

* Added helper method to get localised name and description (or otherwise, entity name and description) of store listing items.

* Update Content.Client/Store/Ui/StoreMenu.xaml

* Review change; moved localisation helper functions to their own class.

* Prevent thread-unsafe behaviour as-per review.

* Remove dummy boxcontainer

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-03-31 15:09:15 +11:00
brainfood1183 5f063d2d6d
Toilet Upgrade (needs review) (#22133)
* Toilet Draft

* fixes

* toilets now have secret stash to place items in cistern.

* fixes

* plungers now unblock toilets.

* fix sprite

* new sprites and fix

* fixes

* improve seat sprites.

* fix

* removed visualisersystem changed to genericvisualizers

* flush sound for toilets and copyright for toilet sprites.

* fix atrributions

* fixes

* fix datafield flushtime

* sprite improvements

* fixes

* multiple changes

* fix

* fix

* fixes remove vv

* moved stash related functions to secret stash system from toilet.

* fix

* fix

* changes for recent review.

* fix

* fix
2024-03-31 14:21:18 +11:00
Simon 87a56b25c3
Make aghost command work on other players using optional argument (#26546)
* Translations

* Make aghost command work on other players using optional argument

* Reviews
2024-03-31 13:05:44 +11:00