Commit Graph

322 Commits

Author SHA1 Message Date
Janet Blackquill
19f5a3e037 Merge branch 'master' into offmed-staging 2025-10-07 23:41:47 -04:00
David
691ca31b95 (Cleanup) Fix logger obsolete warnings (#40553)
* Switched obsolete logger usages to use Sawmill

Fix the majority of obsolete logger usages outside the engine code.

* Fix injection in ChatManager and revert BuildMech changes

* Removed extra manual injection

* Reduced extra static injection and reverted changes to CommandButton as it needs engine changes.

* Removed two more cases of double injection and an extra using

* Reverted changes for Inventory Display

* Moved sawmill setup outside constructor in Table to resolve test failure
2025-10-07 11:45:01 +00:00
pathetic meowmeow
8894eca118 Offbrand medical (#3366)
* Offbrand medical

* what if we regrade

* zombies are mostly there thats it thats a wrap xd

* here's changeling

* some bonus gut punches

* start working on the guidebook

* fix rsi and yaml lints

* my agrichem so fits

* we stay rejuvenated

* my china so laked

* debrute

* fix suicide

* fix the suicide tests

* my surgery so requires laying down

* the guidebook continues

* READ KEB PAGES

* keb vascular recoupler

* read keb medicine

* fix yaml lint

* fix the EntityRemoveConstructionGraphStep

* fix overlay init

* scalpels are not a food tool

* return of the programmer art

* my line so nieuw

* boxes deserve veins too

* mrrrp yaml

* what if we redid brain damage alerts

* bloot pressure

* kill mannitol drowsiness

* get licensed

* my read so me

* get feedbacked nerd

* fine-tune the heart stoppage conditions

* cryostasis adjustments, guidebook adjustments, fix negative strain issues

* my surgery so table

* fix heart surgery and guidebook

* medicine & defibrillator pass

* iv bags and stands

* prefills

* janet gets very sidetracked

* mostly finished iv stuff

* what if we fixed the guidebook

* halve decapoid cryostasis

* my medicines so IV

* finetune cryostasis

* less logspam

* metabolism-aware iv stands and cryopods

* give people painkillers

* yaml lint real

* fix blood build

* finish rebase

* tidy up localization

* clean up my yaml beasties...

* soft curve after exceeding maximum damage

* husks/bonedeaths

Grabbag of Offmed fixes & improvements (#3461)

* CPR moment

* Mob AI fix

* Fix brain oxygenation not updating on regeneration

* sorry gamers you cannot resist the pull

* Troll combat abilities more in softcrit

praying rn (#3467)

dont have CPR be 50% (#3468)

Make offbrand murder easier to contend with (#3473)

* e

* disrupt people in softcrit when attacking them

* ok gamers we're gaming

* forgor

Hopefully final pass before Offbrand merge (#3475)

First pass of Offbrand adjustments (#3477)

Swap blood pressure values in health analyzer (#3476)

Systolic over diastolic

Co-authored-by: Kip <32859367+kipdotnet@users.noreply.github.com>

Offbrand pass 2: Mostly bugfixes (#3480)

Fix zeds causing PVS reloads (#3482)

Offbrand pass 3: I hate surgery I hate surgery I hate surgery I (#3481)

* set up surgery ui

* test fail real

Pain/braingasps (#3487)

Offmed bundle 5 - the evil one (#3489)

* Evil cavity surgery

* les borgues

* nicotine moment

* epinephrine RNG

* legalese

* test fail real

* ok jamers cope with c4

Pass 6
2025-09-27 22:36:57 -04:00
SweetAplle
ff54410d6a "idk" no longer shrugs, instead sanitizing to "I don't know" (#39024)
* idk no longer shrugs

* accidentally had this in here!

* this was accidentally in here too!

* fucked up the removal

* fucked it up again this should HOPEFULLY be the last one

turns out it's hard to revert the edit of a file that's just numbers and spaces who woulda thunk?

* Restore SpaceStation14.sln to master

* Restore development.toml

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-09-10 13:09:58 -07:00
Pieter-Jan Briers
0c97520276 Fix usages of TryIndex() (#39124)
* Fix usages of TryIndex()

Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)

This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)

This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.

Fixes #39115

Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.

* fix tests

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-09 18:17:56 +02:00
Tayrtahn
5ea928863f Cleanup warnings in ChatSystem (#36773)
* Cleanup warnings in ChatSystem

* fix after merge

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-08-17 08:39:23 -04:00
chromiumboy
c3555af821 Sentry turrets - Part 8: AI notifications (#35277) 2025-08-08 21:56:01 +03:00
Nemanja
1374ceea47 Move some Station methods into shared (#38976) 2025-08-08 11:22:34 -04:00
slarticodefast
2c40a950f7 Trigger Refactor (#39034) 2025-08-03 21:20:37 +02:00
Pieter-Jan Briers
444180c20d Optimizations from server profile (#38290)
* Properly cache regexes in chat sanitization/accents

Wow I wonder if `new Regex()` has a cost to it *looks at server profile*.

* Avoid lag caused by Tippy command completions

CompletionHelper.PrototypeIDs explicitly says *not* to use it with EntityPrototype. Unsurprisingly, reporting a completion result for every entity prototype in the game is a *bad idea*.

* Add active count metrics to some high-load systems

Mover & NPCs

I suspect the thing that caused the Leviathan round to shit itself on performance is NPC spam in space or something. So let's verify that.

* Enable parallel processing on pow3r again

Originally disabled due to a theory of it causing bugs, it was re-enabled on Vulture, and I'm not aware of it having caused any issues there.

* Replace hashset with bitflags for AtmosMonitor alert types.

Allocating these hashsets was like 20% of the CPU of atmos, somehow.

* Cache HashSet used for space movement collider checks

Turns out this was a ton of server allocations. Huh.
2025-07-26 11:44:34 +02:00
Perry Fraser
bd853b60de fix: ghosts shouldn't see whisper obfuscation (#38202) 2025-07-14 00:30:53 -07:00
Centronias
05436d3dcc Component for clothes to suppress emotes and scream action in general, and the muzzle to suppress vocal emotes in particular (#32588)
* Component for clothes to suppress scream noise

GaggedComponent + AddGaggedClothingComponent and relevant systems to make them work.

Currently only stifles the scream _action_, not all emotes

because if a mime can silently emote, so can gagged you!

* fix comments

* swap to inventory relay

and make it more general such that specific emotes or emotes of a given category can be blocked

* power gloves shouldn't block snapping

* easy fixes

* blockable emote event

* pr comments, switch to using emote event mostly

* pr comments

add beforeEmoteEvent

add emote blocker name to popup

maybe some other stuff, I forget

* get rid of emoteevent's source because I don't need it anymore

* smol clean

* formatting, style, and one minor thing where having a muzzle in your pocket would gag you
2025-07-11 13:18:15 -04:00
Tayrtahn
c565b44965 Replace ValidatePrototypeId uses with ProtoId or EntProtoId (#38814)
* The easy ones

* For certain values of easy

* Easy test

* Hair

* Fix sandbox violations

* Sort usings
2025-07-07 21:57:05 +02:00
Tayrtahn
75db49f9c0 Clean up all missing EntitySystem proxy method uses (#38353) 2025-06-26 16:50:49 -07:00
Nemanja
524725d378 HandsSystem Refactor (#38438)
* checkpoint

* pt 2

* pt... i forgot

* pt 4

* patch

* More test fixes

* optimization!!!

* the REAL hand system

* fix RetractableItemActionSystem.cs oversight

* the review

* test

* remove test usage of body prototype

* Update Content.IntegrationTests/Tests/Interaction/InteractionTest.cs

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

* hellcode

* hellcode 2

* Minor cleanup

* test

* Chasing the last of the bugs

* changes

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-06-25 15:13:03 +02:00
Kyle Tyo
ca72ca1464 Command resolves and LEC conversions batch 4 (#38382)
* reeeecolllaaaaaaaa

* gonna convert these to public while I'm here for consistency sake

* requested changes.
2025-06-19 02:03:28 +02:00
themias
eb85a8a1b0 Muzzles reduce emote sound (#34444)
* Muzzles reduce emote sound

* update based on review comments

* review comments
2025-06-05 19:45:55 -04:00
Simon
a9f36e6592 Fix admin chat relay sending to every player online (#37795) 2025-05-25 00:11:01 +02:00
Simon
7867cbec00 Add basic discord client integration with ooc and admin chat support (#33840)
* Add basic discord client integration with ooc and admin chat support

* Use username instead of global name

WHY IS GLOBAL NAME NOT JUST THE USERNAME??? WHY ARE THERE NO DOC COMMENTS???

* stuff

* Reviews, methinks.

* Reviews

* reviews
2025-05-24 20:49:52 +02:00
Milon
3fc9bcbbbe remove Session from MindComponent (#34753)
* yummy

* fix tests
2025-04-19 00:23:01 +02:00
J
af9526197a Extracts magic strings from Tag calls (#36305)
* Extracts magic strings from Tag calls

When #36281 gets merged, the `TagSystem` methods will all give warnings. Let's fix those warnings before they even happen!

* Adds missing libraries

* Remove not yet implemented TagSystem changes

* Fix tag spelling error

Genuinely surprised there was only 1!

* Styling and proper type changes

* Styling

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

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-04-04 20:20:19 -04:00
Tayrtahn
d295aed791 Fix loc issues with suicide popup (#36284) 2025-04-04 11:41:21 +02:00
ScarKy0
87be2dde27 Fix codermins appearing as red in-game OOC (#36148)
init
2025-03-29 12:33:25 +01:00
Tayrtahn
67b76d81e5 Fix SpeakOnTrigger not working for messages starting with '.' (#36053) 2025-03-24 11:19:29 -07:00
pathetic meowmeow
fabfdd0673 Refactor audio system to send collection IDs over the network (#33610) 2025-02-23 23:14:56 +11:00
lzk
3d7e7e8320 Make AllowedEmotes bypass whitelists and fix syndiborg ability to laugh (#31510) 2025-02-17 22:59:33 +01:00
Winkarst
0d33e6182c Split `ReplacementAccentPrototype and ReplacementAccentComponent` in different files (#35107)
* Split ReplacementAccentPrototype  and ReplacementAccentComponent

* Fixes

* Fixes

* inheritdoc
2025-02-12 12:21:12 +01:00
Leon Friedrich
06e2bba8ab Toolshed refactor (#33598)
* Content changes for engine toolshed PR

* add contains command

* more permissive commands
2024-12-21 17:45:48 +11:00
beck-thompson
74e9576e66 Figures can now be activated remotely (#32769)
* First commit

* I'm silly

* weh

* will this work?

* Better design

* Fixes!

* rider :(

* L rider
2024-12-16 19:52:09 +01:00
Thomas
d4da9923ea Fix Emote Chat Sanitizer (#32940)
* Fix bug?

* Fix :)

* aaaa

* AAAA!!!

* comment

* Nicer code

* What's a pull requestWhat's a pull request?
2024-10-24 16:10:13 +11:00
Thomas
876c44cd66 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-17 16:01:32 +02:00
Leon Friedrich
f1f1fc1dc3 Add interaction rate limits (#32527)
* Move PlayerRateLimitManager to shared

* Add interaction rate limits

* uncap tests
2024-09-29 22:19:00 +10:00
beck-thompson
fe2145d3b9 Voice Mask refactor (#30798)
* First commit

* Added base.Initialize()

* Voice wire fix (Electricty name)

* Various minor cleanups

* Localized default voice mask name

* Added VoiceOverride stuff

* Removed unused stuff

* Typo

* Better localized stuff

* Typo / spelling stuff / comments

* Blessed
2024-09-26 18:55:59 +02:00
Pieter-Jan Briers
1450d76337 Fix OOC not re-enabling if restartroundnow is used (#32401)
The ChatSystem code for re-enabling OOC only ran during PostRound, which gets skipped over when doing restartroundnow. Now it does this on PreRoundLobby too.
2024-09-24 09:38:09 +10:00
Winkarst
88dcc831c1 Remove calls to FormattedMessage obsolete methods (#31706)
* Remove FormattedMessage obsolete methods

* Oops
2024-09-01 13:00:53 +02:00
nikthechampiongr
9a63144636 Allow for respawn and erase verb to be used on offline players. Also minor rewrite on respawn command and new erase command (#30433)
* Localize respawn command, allow for it to use userids, and make it use [Dependency] attributes

* Make respawn verb available for offline players

* Make erase available for offline players

A thousand admins rejoice

* Reorder verbs in code

* Add erase command

* Fix localisation for erase command

* Address reviews and add completion to respawn command

* Complete reviews which I forgor
2024-08-31 21:38:03 +10:00
nikthechampiongr
99db9ea39d Fix suicide logs (#31661)
Make suicide logs include the username, as well as the character(where possible)
2024-08-31 18:26:52 +10:00
Winkarst
2d85b4e7e9 Move OnGhostAttempt to GhostSystem (#31445)
* Move OnGhostAttempt to GhostSystem

* Remove unused dependencies and sort them
2024-08-26 14:15:33 +02:00
tosatur
8eb4e4fa2d added a few chatsan entries (#31085)
* added a few chatsan entries

* added 2 more

* added 4 more and fixed errors

* fixed error again

* added allg

* removed fullstops
2024-08-20 00:03:07 +10:00
geraeumig
c48a96ac15 Trim punctuation marks in the chat emote system (#28612)
Co-authored-by: geraeumig <alfenos@proton.me>
2024-08-18 16:49:07 -06:00
Errant
40b9fd4ea3 Namespace cleanup around Mind Roles (#30965)
* namespaces

* Comment does not need a semicolon

---------

Co-authored-by: Vasilis <vascreeper@yahoo.com>
2024-08-15 20:26:57 +02:00
Brandon Hu
31c5d3555e fix(Commands): Improve Localization of commands. Standardize some behaviors. (#30362)
* I should be studying for school but that is sofucking boring, I will pass my class no matter, however getting an A might be a challenge. My gpa is important but is the tourture for 1 point of GPA worth it? The american government says yes but they are responsible for the majority of all genocides that have ever been conducted since the dawn of man

* ugh

* ugh
2024-08-11 19:46:57 +10:00
Mervill
d7b5ae061a Don't show Station Event announcements to players in the lobby. (#30886)
* Don't show Station Event announcements to players in the lobby.

* fix pr

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-08-11 16:09:33 +10:00
Scribbles0
220aff21eb Melee Executions (#30104)
* melee executions

* fix damage bug

* cleanup

* address reviews hopefully

* resistance bypass mechanic

* component changes

* self executions (not finished yet)

* self execs part two

* ok i fixed things (still not finished)

* finish everything

* review stuff

* nuke if (kind = special)

* more review stuffs

* Make suicide system much less hardcoded and make much more use of events

* Fix a dumb bug I introduced

* self execution popups

* Integration tests

* Why did they even take 0.5 blunt damage?

* More consistent integration tests

* Destructive equals true

* Allow it to dirty-dispose

* IS THIS WHAT YOU WANT?

* FRESH AND CLEAN

* modifier to multiplier

* don't jinx the integration tests

* no file-scoped namespace

* Move the rest of execution to shared, create SuicideGhostEvent

* handled

* Get rid of unused code and add a comment

* ghost before suicide

* stop cat suicides

* popup fix + small suicide change

* make it a bit better

---------

Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
2024-08-11 13:05:54 +10:00
deathride58
7e44e75d74 #30851 followup - murderficates links (#30863)
kneecaps links while we're at it
2024-08-11 02:15:05 +10:00
deathride58
7f23634450 [S] hopefully prevents a repeat of 4 am on 8/10/2024 in the #server-leviathan-use channel (#30851)
cant test this because the documentation sucks ass but fuck it we ball
2024-08-10 19:18:13 +10:00
lzk
a9693322be SpeakOnUseSystem and phrases for figurines (#30455)
* commit 1

* 2

* add more text

* apply review

* apply review 2

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

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-08-03 10:06:04 -04:00
Cojoke
b57174007c Remove all Assigned Values that are Never Used (#30110)
Remove all Assigned Values that are never used
2024-07-18 20:22:23 -04:00
chavonadelal
9a17154d83 Аnnouncement sender localization (#29907) 2024-07-12 00:02:53 +10:00
metalgearsloth
9032231300 Predict typing indicator (#29551)
It greatly annoys me in the rare instance I do play.
2024-06-29 13:33:56 +10:00