Commit Graph

8458 Commits

Author SHA1 Message Date
Leon Friedrich 4d4782313f Fix PlantHolder interactions & InteractionSystem assert (#32874) 2024-10-24 02:12:06 +01:00
Thomas 72b2319310 Sanitize shorthand emotes throughought the whole message (#28645)
* Rename ChatSanitizationManager to ChatEmoteSanitizationManager

The prior name was kind of confusing as there's a emote one and
then now there's also chat expansion happening in the accent system,
so knowing which I actually need to edit is useful.

So, I just need to keep myself not confused.

* Rename smileyToEmote and remove punctuation duplicates

The name SmileyToEmote is just... Bad.

Plus, I needed to remove the punctuation duplicates as that would
break any kind of regex parsing that I tried.

* Switch to regex from checking end of string

I also changed from System.Globalization to ILocalizationManager.

Writing that regex was definitely an experience.

* Document regex and the manager

* Rename it back

* Simplify regex
2024-10-24 02:11:06 +01:00
Zachary Higgs 27f5d6d817 Give AI a Sound Cue when an Antimov board is inserted (#32625)
* Subversion Board Insertion Audio Notification

Add Subversion flag and SubversionSound to SiliconLawProviderComponent

Add new Method (OnSubversionInserted)
to SiliconLawSystem to handle a Subversive
SiliconLawProviderComponent and play it's SubversionSound

Add Check for Subversive law provider to OnUpdaterInsert that
calls OnSubversionInserted if the SiliconLawProviderComponent is
Subversive

* Fix subversion Sound

- Change out Weh sound used to test that subversion sounds can be
changed by prototype for a a not yet present Antimov subversion sound

* Make it not just subversive

- Remove OnSubversionInserted and move the MindPlaySound in the
OnUpdaterInsert so long as LawUploadSound exists

- Modify SubversionSound into LawUploadSound

- Remove the Subversion flag

- Just use emagged_borg.ogg until the better one is made

* Remove errant spaces and a errant namespace

* CR Fixes - Add generic Lawboard insert cue

- Combine the If statements per /pull/32625#discussion_r1786926400
inside OnUpdaterInsert

- Remove the ViewVariables(VVAccess.ReadWrite) per
pull/32625#discussion_r1786924433

- Add Cryo_warning.ogg from TGStation, the sound utilized for Law Upload
cue, Attribution.

* CR Add a placeholder Antimov notification sound

- Add a new sound kitbashed from the cryo_sound used for uploading
and the emagged noise

* Add self referential source attribution

- also fix an errant space

* Add more bespoke Sound by ps3moira + attributions
2024-10-24 02:09:07 +01:00
lzk caab01d01e Fix holosignsystem popup (#32808) 2024-10-24 02:09:07 +01:00
LittleNyanCat 2306368492 Several small SFX tweaks (#28897)
* Several small sfx tweaks

* fix small yml oopsie

* Redo the basin code to use events

* now uses an event for when the transfer is successful, not when there's just an attempt

* forgot to remove this

* Update Content.Server/Botany/Components/PlantHolderComponent.cs

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

* Update Content.Server/Botany/Systems/PlantHolderSystem.cs

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

* adds sound variations to shoes as well

* variations on honkbots and the H.O.N.K mech

* Update Content.Server/Botany/Systems/PlantHolderSystem.cs

* Update Content.Server/Botany/Systems/PlantHolderSystem.cs

* fix compile issue

* oops forgot to delete this

* cleanup

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-24 02:08:06 +01:00
IProduceWidgets 7629eedbe7 FTL coordinate disk command for admins: ftldisk (#28075)
* Add robo control comp, also de-reinforce a lot of walls.

* Revert "Add robo control comp, also de-reinforce a lot of walls."

This reverts commit b6be6b616aa9732b81e02bed76e3c9ae103cf7cb.

* FTLdiskburner command to make FTL disks.

* Elegant failure on mistyped ID.

* even more more eleganter failures.

* foo

* bar

* I have reached completion

* prevent id confusion

* I'm givin' her all she's got captain!

* a bit more hug boxing for safe destinations.

* comments for foo

* extra thoughts.

* cleanup

* continuen't

* Improve feedback strings

* reviewer QOL

* Reviewer QOL 2

* handle easy reviews

* Add comments to clarify reviews

* howdoicode to the rescue.

* ftldisk in hand

* ftl.ftl

* funny disk case

* loc

* unusing
2024-10-24 02:08:05 +01:00
IProduceWidgets b9b3b0dfd2 Fix omega cursed smite code. (#32844)
* le fixo smotes

* CURSE OF BLINDNESS

* Guh
2024-10-24 02:08:05 +01:00
slarticodefast 827b65ffdf Fix plant holder double solution transfer (#32813) 2024-10-24 02:08:05 +01:00
metalgearsloth 81873aa3ab Fix tech anomaly nexttimer (#32805) 2024-10-24 02:06:02 +01:00
ScarKy0 21c600d4ca Cyborg module action icons (#32505)
* Init

* added jani and medical

* + sci and service modules

* + syndi modules

* fixing up

* geiger counter stuff
2024-10-24 02:06:02 +01:00
Kevin Matuschzik 5af96d5429 Fixed portal artifacts targeting the Ai (#32677)
* Added checks to not target AIs and people in containers

* made the change to use IsEntityInContainer. Much Better!

* returned old Mindquerry and removed wrong use of admin logger

* guard statment

* removed unnecessery refs and fixed position swap

* Minor change

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-10-24 02:06:01 +01:00
Джексон Миссиссиппи 53e4abf428 cleanup melee (#32486)
* it removes warns ig

* Quick fix

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-10-24 02:06:01 +01:00
Pieter-Jan Briers a75c5b7eae Fix role ban loading bugs (#32725)
This code was a mess. Now it's less of a mess and user UserDbDataManager now.

Fixes the following bugs:

* If you connect to a server, restart your client, connect again in the same round, you role bans would not be visible in the client.
* If you role ban somebody who is not connected to the server, then they connect within the round, they will only have the recently-applied ban.

Likely fixes #24781, #27282
2024-10-24 02:01:46 +01:00
Leon Friedrich a7c6acd402 Hide role entities in the spawn menu (#32798) 2024-10-24 02:01:21 +01:00
Leon Friedrich 8057cee55a Add role prototype validation tests (#32801)
* Add role prototype validation test

* Rejig GetPrototypesWithComponent

* More tests n stuff
2024-10-24 01:59:40 +01:00
Pieter-Jan Briers a926d0810f Fix some rounds failing to end due to mind roles (#32792)
* Fix some rounds failing to end due to mind roles

Fixes #32791

This is caused by ShowRoundEndScoreboard running into a bug trying to display antags: some player is showing up as antag with MindIsAntagonist(), but has no antag roles listed in MindGetAllRoleInfo().

This was caused by one of the roles of the player having the Antag boolean set, but having no AntagPrototype set.

The responsible mind role appeared to be MindRoleSubvertedSilicon which is missing a set for the SubvertedSilicon antag prototype.

I also added resilience to the round-end code to make it so that an exception showing the scoreboard (and sending the Discord message) would not cause the round end logic to completely abort from an exception.

I am planning to add an integration test to cover this bug (no prototype in mind roles), but I'll leave that for not-the-immediate-hotfix.

* At least one maintainer approved this tiny PR without reading it, not naming names.
2024-10-24 01:59:40 +01:00
John 110232dfa9 Fixing Thief Beacon Role Check Logic (to use new mindrole system) (#32764) 2024-10-24 01:58:17 +01:00
slarticodefast bdf4b7cf9d Don't error on missing component in ChangeHeat (#32451) 2024-10-24 01:56:14 +01:00
eoineoineoin 2c001fb6dc Make APC UI work correctly with multiple users (#32465)
* Make APC UI work correctly with multiple users

* Check access only on client, when constructing UI

* Do TODO (Thanks, Robust 236.1)

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-10-24 01:56:14 +01:00
deltanedas eeb06fac47 update for mind roles and fix random stuff, localize alt ids 2024-10-24 01:55:17 +01:00
nikthechampiongr 2098868364 Fix bounties(and potentially other things) running out of ids (#32700)
* Make NameIdentifier Ids get refreshed after round restarts

Before this commit the existing values would just get shuffled.
This means that eventually the server would run out of ids to give to
new entities for different groups. As a result everything would get id 0

* Comply with what seemingly is the convention for sawmills

* Make it impossible to insert a bounty with a duplicate id

* Reduce duplication

* Remove unused sawmill

* Fix rustbrain and skill issue

* Aaaa

* Apply suggestions from code review

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2024-10-24 00:32:48 +01:00
Errant ab5d439272 Mind Role Entities (#31318)
* Mind Role Entities wip

* headrev count fix

* silicon stuff, cleanup

* exclusive antag config, cleanup

* jobroleadd overwerite

* logging stuff

* MindHasRole cleanup, admin log stuff

* last second cleanup

* ocd

* minor cleanup

* remove createdTime datafield

* now actually using the event replacement I made for role time tracking

* weh
2024-10-24 00:32:47 +01:00
Pieter-Jan Briers e475512e7b Fix error log when recycling something with small material counts. (#32723)
* Fix error log when recycling something with small material counts.

MaterialStorageSystem.SpawnMultipleFromMaterial now doesn't call StackSystem.SpawnMultiple if it tries to spawn zero. This happens because the recycler calls SpawnMultipleFromMaterial for everything recycled, even if the amount it has stored is < the amount for one sheet.

* Update Content.Server/Materials/MaterialStorageSystem.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-24 00:17:33 +01:00
beck-thompson f194cc45c9 Plushies can now have pAIs stuffed into them (v2)! (#30805)
* First commit

* I forgot silly me

* Actually added comments

* spellin

* fixes

* more blacklists

* Minor fixes

* Speech Verb also changes now

* Simple name stuff

* Other fixes

* remove one line of whitespace

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-24 00:17:33 +01:00
chavonadelal a24c85a1dd Job title localization (#32338)
* Job title localization

* Correcting fields
2024-10-24 00:11:34 +01:00
SlamBamActionman 8c2f2cfe2b Add admin log for codewords (#32531)
* initial commit

* Delta review
2024-10-24 00:11:33 +01:00
lzk a770b7ee54 Fix cryo locale again (#32654)
* Fix cryo locale again

* yeep
2024-10-24 00:08:00 +01:00
Milon 1f21b4601a
disable the stupid fucking rate limit popup (#2033)
I DON'T CARE
2024-10-22 07:07:26 +00:00
Milon a64c71535e
untroll glimmermobspawnrule (#1980)
* fix your shit

* take 2

* take 3
2024-10-14 23:43:16 +00:00
Radezolid 6082d47778
Adds the coordinates to the rattle message. (#1983)
Adds the coordinates to the rattle.
2024-10-14 20:06:50 +02:00
Saphire Lattice 4204854297 Change minibomb to be explosion resistant and start timer on damage (#32429)
* Make minibomb explosion resistant and trigger timer on damage

* Tune damage behaviour and threshold for minibomb
2024-10-08 01:14:09 +01:00
Saphire Lattice acc4499420 Change the syndicate charge to start a timer on signal (#32423)
* Change the syndicate charge to start a timer on signal

* Actually add the component in question

* Add default link for TimerStart signal
2024-10-07 22:31:42 +01:00
Saphire Lattice 876486339b Make the explosions throw the container/item they originated from (#32428)
Extra fun if it's something that can trigger multiple times
2024-10-07 22:31:34 +01:00
Plykiya fb2604b4a4 Two additional checks to prevent FTLing stations (#32558)
Add two additional checks to prevent FTLing
2024-10-07 22:31:01 +01:00
deltanedas 7e435cf8cb
Merge pull request #1957 from deltanedas/upstream-ops
upstream merge 2/10
2024-10-02 22:09:14 +00:00
deltanedas cc6bbfebd4
port psionic sacraficing (#1883)
* uncomment and update guidebook

* update loot pool to use entity table and dont hardcode bluespace

* add sacraficing to altars

* :trollface:

* :trollface:

* :trollface:

* 2 lines of sec

* rename files

* replace gamer loot with fake wizard outfit or a normality crystal

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-10-02 13:04:35 +00:00
deltanedas 5719e73e22
make fugitives anonymous (#1817)
* make fugitives anonymous

* add either dna or prints to the report

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-10-02 15:03:40 +02:00
deltanedas 42b47a0f20 finish syrinx rework and other fix 2024-10-02 13:03:03 +01:00
deltanedas bf54bc3364 :trollface: 2024-10-02 12:28:34 +01:00
ArchRBX 5f795d84e0 MedTek Cartridge (#32450)
* initial commit

* adds cartridge to cmo's locker

* tidies up yml, adds default scanner sound, makes it so the silent property silences the scanner sound too

* fixes ert medic pda not having it preinstalled

* adds attribution

* removes redundant dependencies

* fix agent pda

---------

Co-authored-by: archrbx <punk.gear5260@fastmail.com>
2024-10-02 12:23:15 +01:00
Golinth 712640f75c Added Firebots - Real (#32482)
* Add Firebots

Had to add OnActivateInWorld to the spray system to get the bot to work. Checks for the flammable component and if the onFire boolean is true.

* Make SpraySystem actually use useDelay

got rid of that TODO

* Added firebot speech

Fire detected!
2024-10-02 12:16:27 +01:00
drakewill-CRL 9e60af1209 Use archived gas mixture in gas exchange comparison (#32088)
The comparison for doing gas exchange used current and not archived
moles. This could lead to update order-dependent gas spreading effects.

To fix this, convert TileAtmosphere's MolesArchived and
TemperatureArchived to a AirArchived, and use that in the comparison
method.

---------

Co-authored-by: PraxisMapper <praxismapper@gmail.com>
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2024-10-02 12:13:09 +01:00
slarticodefast 79ec0cb1cf Fix mutation system debug assert (#32530) 2024-10-02 12:09:34 +01:00
SlamBamActionman e8e687ce7c Add webhook for votekicks (#32513)
* Initial commit

* Localization
2024-10-02 12:09:34 +01:00
Leon Friedrich da431bbb81 Add interaction rate limits (#32527)
* Move PlayerRateLimitManager to shared

* Add interaction rate limits

* uncap tests
2024-10-02 12:09:34 +01:00
nikthechampiongr a5ebe6a25d Fix RA0032 (#32514) 2024-10-02 12:08:12 +01:00
MilenVolf bfa43833d3 Replace obsolete Tile Access methods (#32508)
* Replace obsolete SetTile

* Remove obsolete GetTileRef & GetAllTiles

* Forgor

* Apply suggested `GetMapOrInvalid`
2024-10-02 12:08:12 +01:00
metalgearsloth 46a3d6d100 Optimise drains (#32230)
* Optimise drains

If it's still a problem then we do what I did for rmc14 and just dump all the active drains onto a job to getentitiesinrange in parallel.

* Fixes
2024-10-02 12:08:11 +01:00
beck-thompson b4452f8fa5 Predict appraisal tool verb! (#32496)
* First commit

* Network :(
2024-10-02 12:08:11 +01:00
Fildrance 75f17c9c97 Station AI ability to electricute doors (#32012)
* Boom! Emergency access!

* Emergency access sound

* locale

* Updated sounds

* bleh

* Door electrify base

* feat: popups on attempt to activate AI action when wires cut

* refactor: use SharedApcPowerReceiverComponent to check if AI can interact with door

* refactor: added icon and sound for door overcharge

* meta.json should use tabs not spaces

* refactor: extracted sounds for airlock overcharge to static field in system

* refactor: cleanup, ScarKy0 mentions for resources

* refactor: removed unused textures

* feat: now notification is displayed when AI attempting to interact with door which have wire cut

* StationAiWhitelistComponent is properly gating  BUI OnMessageAttempt, SharedPowerReceiverSystem.IsPowered is now used to check if device powered

* refactor: use PlayLocal to play electrify sound only for AI player

* refactor: SetBoltsDown now uses TrySetBoltDown, checks for power.

* bolts now check for power using SharedPowerReceiverSystem

* electrify localization and louder electrify sounds

* extracted ShowDeviceNotRespondingPopup, reverted airlocks not opening/closing when ai wire was cut

* refactor: cleanup

* New sprites and fixes

* Copyright

* even more sprite changes

* refactore: cleanup, rename overcharge => electrify

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-10-02 12:06:48 +01:00