Commit Graph

7593 Commits

Author SHA1 Message Date
Ed 2a379aae7f
Chances of triggering effects (#27056)
* electrocution

* slippery

* flashibg

* Update SlipperyComponent.cs

* Update SlipperySystem.cs

(cherry picked from commit 5659edd207c36b1148ba675204c74f94821abb87)
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 395c33024cb9d4e80078e3ab3c70c1e92e7fd5bc)
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 009d06d97833b7700bcfaa534b20575fdbbd7db5)
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 5a5efa11cf1d68708a70d48a286cb97fde96afdf)
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 432e6ec45dedd2982d0dcea0fe30945113835705)
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 2db374988c91c6ce5f932b9cee1ba251cbfb22e5)
2024-04-21 22:04:54 +02:00
Leon Friedrich 0d8a432d74
Give names to solution & identity entities (#26993)
(cherry picked from commit faec39ced4d6a65b1ecbf373ba282202171f5224)
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 229caa10bf3417858d2cbd7c1290af12dcad4acc)
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 4a6cf480cc557447a89ec98b6305b4b461f494ca)
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 fbec5d18cf175d9418fed77fcb38b673692771c6)
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 3aee19792391cbfb06edb65d6f16f77da0f36f13.

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

(cherry picked from commit 9d0dfcf2b9fa1b6ba54b3aa26a3f41982b945323)
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 d3ac3d06bb6eddd9c2076a586974aabf514a5c86)
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 9107d421bdd2600883780d02d521ebbbec06ac68)
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 c67948407ec9ee21c0459ca9679b6fac904aad63)
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 96ad9002f1d6390bf666c74ddfd871a45a8fe1df)
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 da618d791a48efacebe441eee9398c0d1c571ec8)
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 9b97a2e05d5fe65b1d81aefcf37b69033c78f21f)
2024-04-21 21:55:04 +02:00
TsjipTsjip b4bb1c1e2e
Replace SetDamage call with TryChangeDamage in ImmovableRodSystem.cs (#26902)
(cherry picked from commit 48330745147aba1ce89cdd6e7949da62dc9cbb78)
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 037a7d7d3d53a623f70a07908299e8fc4df1b4a5)
2024-04-21 21:54:45 +02:00
keronshb 9c7b440e79
Fixes polymorph cooldowns (#26914)
fixes polymorph cooldowns

(cherry picked from commit d4b7bc5aa328e200bb087672d00c07776f98edce)
2024-04-21 21:54:42 +02:00
osjarw 6a6a1f6526
Fixed magboot activation distance (#26912)
(cherry picked from commit 0a1ce9dd437f162a59c826904241bf15ad6f2838)
2024-04-21 21:54:28 +02:00
DrSmugleaf 0f618756ab
Fix the stripping menu being openable without StrippingComponent (#26908)
(cherry picked from commit 24b6456735ae83dd9de53097d625f20b723c578f)
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 9d5a3992fa635194cfe1d9fbfa60a5ea72288f4e)
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 264bf7199d805bd07dbdccc4345c672b19df9333)
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 9d62b3c3e690cdda48143774a5e5db853894e1b8)
2024-04-21 21:52:16 +02:00
keronshb 71489dfada
Immovable Rod changes (#26757)
(cherry picked from commit 036abacbb731c0d1128a4c6cd1658f64dd488985)
2024-04-21 21:52:07 +02:00
Pieter-Jan Briers a68a69e214
Fix TEG assert (#26881)
It's possible to trigger this by stacking it weirdly with the spawn panel. Just make it bail instead.

(cherry picked from commit 210ed3ece4230a7fa31c12a43f4fdee0f0614915)
2024-04-21 21:52:01 +02:00
Jark255 2fc5bdb50e
Fix door electronics configurator usage (#26888)
* allow usage of network configurator for door electronics

* add checks for "allowed" items

(cherry picked from commit 2bcdb608a3ddd9c91a1169d3f0d2d5b31aaebc88)
2024-04-21 21:51:59 +02:00
botanySupremist c2eab29f9f
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.

(cherry picked from commit 58e4b5fe4ceab7f9bd60eb3d87daab9d01954a3b)
2024-04-21 21:51:16 +02:00
Pieter-Jan Briers e984da8467
Revert "Game server api" (#26871)
Revert "Game server api (#24015)"

This reverts commit 297853929b7b3859760dcdda95e21888672ce8e1.

(cherry picked from commit 3aee19792391cbfb06edb65d6f16f77da0f36f13)
2024-04-21 21:48:02 +02:00
Simon ad65e75624
Game server api (#24015)
* Revert "Revert "Game server api (#23129)""

* Review pt.1

* Reviews pt.2

* Reviews pt. 3

* Reviews pt. 4

(cherry picked from commit 297853929b7b3859760dcdda95e21888672ce8e1)
2024-04-21 21:47:56 +02:00
Killerqu00 e0333ee9de
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

(cherry picked from commit fd067731b544eb219493338a8fe446c154e880f4)
2024-04-21 21:47:43 +02:00
Pieter-Jan Briers 7c255a8788
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.

(cherry picked from commit d879665b52c6c30d057e94ed49b222b8a1585717)
2024-04-21 21:47:30 +02:00
deltanedas 10bf010926
predict humanoid identity examine (#26769)
* predict humanoid identity examine

* actually server doesnt need proto anymore

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 2f5c639a151ace90365e929486ba479655b9cd63)
2024-04-21 21:44:11 +02:00
no d8b97e8d37
Randomized lollipop and gumball flavors (#1074)
* Give lollipops and gumballs random flavors

* RandomizedCandy: Fix borg lollipop action

* RandomizedCandy: Play sound when candy is fabricated

* RandomizedCandy: Lollipop can now be put in mouth

* RandomizedCandy: Quieten fab sound

* RandomizedCandy: merge icons and reexport without pHYs chunk

should speed up downloading these textures on 9600 baud modems

* RandomizedCandy: loads more flavors and update description

* RandomizedCandy: Fix duplicate candyFlavor IDs

* RandomizedCandy: Fix attrib and preserve flavor order

* RandomizedCandy: init on MapInit instead of ComponentInit

* RandomizedCandy: Fix minor code style issues, file placement

* RandomizedCandy: put new code into DeltaV namespace

* RandomizedCandy: Removed redundant datafield tags

Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>

---------

Signed-off-by: no <165581243+pissdemon@users.noreply.github.com>
2024-04-14 16:48:59 +00:00
deltanedas 3d09479269
trade station markers and debug assert fix (#1080) 2024-04-11 18:14:15 +00:00
NullWanderer ed50b39ac9
Pro 2024-04-07 14:52:01 +02:00
NullWanderer 31dfe787a0
Possibly fix Syrinx 2024-04-07 14:51:51 +02:00
NullWanderer f86d455221
Mail fix part 2 2024-04-07 14:51:40 +02:00
NullWanderer 9d47ccb1b9
Thing 2024-04-07 14:44:39 +02:00
NullWanderer dea65a9899
Mail fix 1 2024-04-07 14:44:30 +02:00
Dae 08b1729e72
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

(cherry picked from commit e7fda78a181243d67e79e559c366977d92782f1f)
2024-04-07 14:35:09 +02:00
Mephisto72 78751ead94
Rework Identifier Overrides to prevent showing Law Priority (#26680)
Does-The-Fix

Co-authored-by: Mephisto72 <Mephisto.Respectator@proton.me>
(cherry picked from commit ad0f046f0c66ff0bbbb1f655fef237ef73703cb1)
2024-04-07 14:35:01 +02:00
Vasilis d50ae28b15
Stop mop buckets from spilling when you push them (#26706)
(cherry picked from commit d4982bad3102c22f8374a697caa54b4aa6c14b5a)
2024-04-07 14:34:16 +02:00
Pspritechologist 31bda710af
Suit Sensors No Longer Use a Hardcoded 'Total Health' (#26658)
* Suit sensors now know the 'total health' of an entity

* Missed the constructor 😔

(cherry picked from commit f5d9d3c4586252b6741f1c7473eef2b63b8fe586)
2024-04-07 14:34:09 +02:00
Wrexbe (Josh) 72153e42d0
Make Zombie, Initial Infected fix (#26665)
Make zombie fix

(cherry picked from commit d9c1130d8c20d99286bf3119f38090d093637b51)
2024-04-07 14:34:09 +02:00
Aexxie b28c3a5da3
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

(cherry picked from commit 7ced9d42f0351319b20828115cad0abd274e4577)
2024-04-07 14:33:45 +02:00
lzk 365219fc85
Fix turned off thrusters consume power (#26690)
(cherry picked from commit 70959e7bb081c1a6e1457a8f8ee7732da91bb270)
2024-04-07 14:32:51 +02:00
Tayrtahn 491b6b7c32
Make the station start with random broken wiring (#26695)
Random wire cutting on round start

(cherry picked from commit a1a12194a58591fade0468cc0889ae69ed4bd292)
2024-04-07 14:32:40 +02:00