Commit Graph

7617 Commits

Author SHA1 Message Date
Verm 21208c94f8
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-21 23:31:16 +02:00
Leon Friedrich 817b4b0e93
Add evac shuttle test. (#27152)
* Add evac shuttle test.

* Fix typo in comment

(cherry picked from commit 12bb476a2d)
2024-04-21 23:22:04 +02:00
slarticodefast 89316bf811
fix cryopod volume (#27148)
(cherry picked from commit b22c06230c)
2024-04-21 23:21:55 +02:00
metalgearsloth 91abf47a6a
Optimise immovable rod mapinit (#27149)
Redundant getworldpos.

(cherry picked from commit ef7f0b8322)
2024-04-21 23:21:51 +02:00
keronshb cf13c9a408
Adds non randomized rod velocity (#27123)
* adds non randomized rod velocity

* Adds despawn suffix to despawn rod

(cherry picked from commit 6be204e3f4)
2024-04-21 23:21:50 +02:00
ElectroJr e10718ff25
Update EmergencyShuttleSystem.cs
(cherry picked from commit 7aa1818823)
2024-04-21 23:21:40 +02:00
ElectroJr d8c03d8ba5
Fix emergency shuttle initialization
(cherry picked from commit 6373454242)
2024-04-21 23:21:39 +02:00
Nemanja 0d88c372e9
add fuel costs back to finishing welding (#27030)
* add fuel costs back to welding

* ack

* meh

* eek!

(cherry picked from commit a47c5561a9)
2024-04-21 23:20:07 +02:00
no e2cc7156c0
"make thief" admin action: fix missing icon (#27119)
(cherry picked from commit 94f296f9d6)
2024-04-21 23:18:53 +02:00
Leon Friedrich ced22ce129
Make station components use StationPostInitEvent (#27126)
(cherry picked from commit 36eaa8c941)
2024-04-21 23:18:47 +02:00
DrSmugleaf 5acb97a858
Fix storage fill giving no reason for failing (#27122)
(cherry picked from commit 45df595c15)
2024-04-21 23:18:19 +02:00
Leon Friedrich a2b5b0c3b7
Fix fixgridatmos command (#27113)
(cherry picked from commit 6ec40900ef)
2024-04-21 23:18:15 +02:00
Vasilis 848da59332
Revert #26994 and #27077 (#27090)
(cherry picked from commit 5769bf38f8)
2024-04-21 23:16:06 +02:00
Ed 61cea36e3c
Selective cherry-pick: 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-21 22:58:54 +02:00
Ed 0016a29544
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>
(cherry picked from commit f3a97fc0c5)
2024-04-21 22:56:29 +02:00
NullWanderer c772a0876a
Fix pirate radio event 2024-04-21 22:53:34 +02:00
superjj18 e0b5c4112c
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>

(cherry picked from commit ebf87be9f2)
2024-04-21 22:53:07 +02:00
Nemanja 9c59f11c89
Flash buff (#25730)
* flash buff

* oops!

* bool

* 3 -> 1.5 seconds

* okay fix

* sluth

(cherry picked from commit 3af744e4a9)
2024-04-21 22:34:16 +02:00
Hannah Giovanna Dawson 0df68584e0
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>
(cherry picked from commit b1136c98d7)
2024-04-21 22:34:09 +02:00
Leon Friedrich 717a2e1712
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?

(cherry picked from commit ee96d8aa66)
2024-04-21 22:25:07 +02:00
Tayrtahn 794302839d
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

(cherry picked from commit cfa94be4c2)
2024-04-21 22:08:21 +02:00
MisterMecky b748f3633e
fix soap popup (#27054)
fix soap

(cherry picked from commit 4453fe50cf)
2024-04-21 22:08:06 +02:00
Bellwether e699da03c5
Low-Key Zombie Rebalance (#27060)
initial soft zombie rebalance - lower infection chance, damage, and chance of outbreak

Co-authored-by: Bellwether <null>

(cherry picked from commit 8213c89fdb)
2024-04-21 22:07:59 +02:00
icekot8 c2f49864fd
cargo console radio messages on approving (#27038)
* 1

* void --> "Unknown"

(cherry picked from commit fd109d61b8)
2024-04-21 22:07:14 +02:00
Ed 2a379aae7f
Chances of triggering effects (#27056)
* electrocution

* slippery

* flashibg

* Update SlipperyComponent.cs

* Update SlipperySystem.cs

(cherry picked from commit 5659edd207)
2024-04-21 22:06:59 +02:00
deltanedas c597aec3a8
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>
(cherry picked from commit 395c33024c)
2024-04-21 22:05:50 +02:00
chromiumboy 4fd43751ce
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

(cherry picked from commit 009d06d978)
2024-04-21 22:05:45 +02:00
slarticodefast a2e1dc8107
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.

(cherry picked from commit 5a5efa11cf)
2024-04-21 22:05:43 +02:00
Verm eae7320378
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

(cherry picked from commit 432e6ec45d)
2024-04-21 22:05:10 +02:00
metalgearsloth cc5d741a09
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>

(cherry picked from commit 2db374988c)
2024-04-21 22:04:54 +02:00
Leon Friedrich 0d8a432d74
Give names to solution & identity entities (#26993)
(cherry picked from commit faec39ced4)
2024-04-21 22:01:02 +02:00
Leon Friedrich 4b4f218d45
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.

(cherry picked from commit 229caa10bf)
2024-04-21 22:00:56 +02:00
Whisper 1815b086f4
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

(cherry picked from commit 4a6cf480cc)
2024-04-21 22:00:50 +02:00
Ed 2e94a349fc
Selective cherrypick: Rotate and Offset station CCVar nuke (#26175)
* no content

* add noRot to Europa

* bruh. and this

* yay

* fix
2024-04-21 22:00:27 +02:00
ilya.mikheev.coder 9d48c01543
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

(cherry picked from commit fbec5d18cf)
2024-04-21 21:58:31 +02:00
Pieter-Jan Briers 4c7c6f28be
Game server admin API (#26880)
* Reapply "Game server api" (#26871)

This reverts commit 3aee197923.

* Rewrite 75% of the code it's good now

(cherry picked from commit 9d0dfcf2b9)
2024-04-21 21:58:13 +02:00
Pieter-Jan Briers 8e8a4cf1b6
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

(cherry picked from commit d3ac3d06bb)
2024-04-21 21:57:13 +02:00
Tayrtahn 7095f3e8a7
Add two-message overload to PopupPredicted (#26907)
Added two-message overload to PopupPredicted

(cherry picked from commit 9107d421bd)
2024-04-21 21:56:56 +02:00
DrSmugleaf 0d5762c35c
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>
(cherry picked from commit c67948407e)
2024-04-21 21:56:50 +02:00
Verm b8e216318c
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>
(cherry picked from commit 96ad9002f1)
2024-04-21 21:56:49 +02:00
GreaseMonk 5d097e8746
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>
(cherry picked from commit da618d791a)
2024-04-21 21:56:36 +02:00
Tayrtahn f8f0b39692
Fix cryostorage identifying unknown characters as captain (#26927)
Fixed cryostorage getting captain's record for unknown jobs.
Also localized Unknown job string.

(cherry picked from commit 9b97a2e05d)
2024-04-21 21:55:04 +02:00
TsjipTsjip b4bb1c1e2e
Replace SetDamage call with TryChangeDamage in ImmovableRodSystem.cs (#26902)
(cherry picked from commit 4833074514)
2024-04-21 21:54:55 +02:00
ShadowCommander cc1f1edaa2
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.

(cherry picked from commit 037a7d7d3d)
2024-04-21 21:54:45 +02:00
keronshb 9c7b440e79
Fixes polymorph cooldowns (#26914)
fixes polymorph cooldowns

(cherry picked from commit d4b7bc5aa3)
2024-04-21 21:54:42 +02:00
osjarw 6a6a1f6526
Fixed magboot activation distance (#26912)
(cherry picked from commit 0a1ce9dd43)
2024-04-21 21:54:28 +02:00
DrSmugleaf 0f618756ab
Fix the stripping menu being openable without StrippingComponent (#26908)
(cherry picked from commit 24b6456735)
2024-04-21 21:54:27 +02:00
Nemanja c651727215
uplink and store freshening (#26444)
* uplink and store freshening

* more

* im gonna POOOOOOGGGGGGG

* we love it

(cherry picked from commit 9d5a3992fa)
2024-04-21 21:54:07 +02:00
Tayrtahn 2307d18579
Allow advertisement timers to prewarm (#26900)
Allow advertisement timers to prewarm.

(cherry picked from commit 264bf7199d)
2024-04-21 21:52:29 +02:00
lunarcomets 39ba08e631
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

(cherry picked from commit 9d62b3c3e6)
2024-04-21 21:52:16 +02:00