* Borg hands & hand whitelisting
* yaml linted
* yaml linted (x2)
* yaml linted (x3)
* my storage tests so pass
* no need for SetCount
* ok new stuff you can get fixed too
* oops
* staque
* what if we addressed feedback
* my place so holder
* what if we addresesd feedback
* what if i did it correctly
* terminating or deleted
* Fix the sensor monitoring console forcing a GC every 3 seconds (#38146)
* Optimize sensor monitoring window graph drawing
* Add shared static Vector2 pool for all GraphView instances
* Address requested changes
* remove lock
* Update submodule to 264.0.0 (#38629)
* Toy/Plushie Inhands and Wearables (#38514)
* Fixed dependency injection and some other issues in a few places.
* More issue fixes
* patchfor broken NetworkConfiguratorLinkMenu (#38632)
fix
* Fix solutions flickering when transferring contents (#34838)
* Use Solution clones when applying SolutionComponent states
* Revert "Use Solution clones when applying SolutionComponent states"
This reverts commit 013fd111cf92b22562e00f98a7aaa49bc4b4ed62.
* Make Solution implement ICloneable and rename Clone method.
* Copy CanReact value when cloning a Solution
* Convert to IRobustCloneable
* Fix typos in guidebook: Buisness → Business (#38636)
* Fix typo in `MinorAntagonists.xml`
Buisness → Business
* Fix typo in `YourFirstCharacter.xml`
Buisness → Business
* Various Headphones Fixes and Tweaks (#38479)
* sprites, wearables
* neck
* icon-on sprite
* Cleanup prototype instantiation in `DamageTest` (#38639)
Cleanup prototype instantiation in DamageTest
* Cleanup prototype instantiation in `ExplosionSystem` (#38642)
Cleanup prototype instantiation in ExplosionSystem
* AddBodyPartCommand localization. (#38612)
commit
* fix ItemSlotsSystem debug assert (#38655)
* Allow the Command & Super door remotes to use the access of their user. (Re-creation of PR due to changes to game balance) (#35536)
* Added directional beacons (#38284)
* Added directional beacons
Signed-off-by: Nox38 <nebulousnox38@gmail.com>
* Fixed names
Signed-off-by: Nox38 <nebulousnox38@gmail.com>
---------
Signed-off-by: Nox38 <nebulousnox38@gmail.com>
* Power stat and nuke codes commands get some LEC love. (#38585)
* commit
* requested changes.
* Dsay Dirty and Follow commands converted to LEC and localized. (#38666)
* commit
* whoopwhoopwhoop
* Retro laser sprite fix (#38676)
* Fixed everything except the icon
Signed-off-by: Nox38 <nebulousnox38@gmail.com>
* fixed icon
Signed-off-by: Nox38 <nebulousnox38@gmail.com>
---------
Signed-off-by: Nox38 <nebulousnox38@gmail.com>
* fix water coolers (#38681)
* Monochromacy typo fix (#38686)
* fixes the typo
* Fixed cloning looking for the trait, not the component, RE https://github.com/space-wizards/space-station-14/pull/38686#issuecomment-3025093504
* Apply suggestions from code review
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Validate `CloningSettingsPrototype`s (#38688)
* Validate CloningSettingsPrototypes
* Update Content.IntegrationTests/Tests/Cloning/CloningSettingsPrototypeTest.cs
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Check EventComponents too
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Add test of objective-related console commands (#36400)
* Add test of objective add/list/remove commands
* Not sure why we're validating test prototypes, but sure
* We don't need a map
* Improvements and fixups for New Status Effect API (#38660)
* Predict healing and bloodstream (#38690)
* initial commit
* reapply 38126
* fix rootable
* someone missed an important minus sign here
* try this
* fix
* fix
* reenable crit hits
* cleanup
* fix status time dirtying
* fix
* camelCase
* Healing and bloodstream prediction fixes.
* Resolving Wizard casting recall on nuke disk making it impossible to disarm (#38661)
* Resolving Wizard Recall on Nuke disk making it impossible to disarm
- Adding a DisarmBomb case to nuke status update loop
- Changing a few methods and parameters to properly follow formatting standards
- Updating some names to follow camelCase
* Updating missed tag
* Reverting DataField change
Should prevent this preventative bugfix being a breaking change.
* Switch HSV to the default colorspace for character customization (#38434)
* Made HSV default for character editor
* Adds/fixes comments to HSV defaulting
* Added dropbox fix, potentially cursed
* Revert "Added dropbox fix, potentially cursed"
This reverts commit a709883366fbee813e839742125e70844672af29.
---------
Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
* Fix: Don't deploy foldables when clicking on items inside containers (#38709)
* Fix
* Apply suggestions from code review
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Pressure Relief Valve (#36708)
* initial system (this math is probably WRONG)
* General code cleanup and OnExamined support
(holy moly this code sucks)
* UICode and related events foundation
TODO:
- Actually write the XAML UI and the underlying system
- Un-shitcode the entire thing
- Actually test everything...
* Working UI code
TODO: Make predicted, as this certainly isn't predicted. Even though I said it was. It isn't.
* Remove one TODO for unshitcoding the examine code
* Add reminder
yea
* Make predicted (defenitely isn't)
(also defenitely isn't a copypaste from pressure pump code)
* It's predicted!
TODO:
- Give it snazzy predicted visuals!
- Have a different field for pressure entry, lest it gets bulldozed every UI update.
* Improve gas pressure relief valve UI
TODO: Reminder to reduce amount of dirties using deltafields
* Implement DirtyField prediction
* Entity<T> cleanup
A lot of Entity<T> conversions and lukewarm cleanup.
Also got caught copy pasting code in 4K UHD but it's not like you couldn't tell.
* More cleanup and comments
* Remove TODO comment on bulldozing window title
* """refactoring"""
- Move appearance out of shared and finally fix it. Pointless to predict appearance in this instance.
- More Entity<T> conversions because I like them.
- Move UI creation handling over entirely to the ActivatableUI system.
- Fix a hardcoded locale string (why????).
* Add visuals
* Revert debugging variable replacememt
yea
* Revert skissue
* Remove unused using directives and remove TODO
* Localize, cleanup, document
* Fix adminlogging discrepancy
* Add ability to construct, add guidebook entry
* Clear up comment
* Add guidebook tooltip to valve
* Convert GasPressureReliefValveBoundUserInterface declaration into primary constructor
* Adds more input handling and adds autofill on open
* Un-deepfry input validator shitcode
Genuinely what was I smoking
* improve visuals logic
* Refactor again
- Update math to the correct implementation
- Moved code that could be re-used in the future into a helper method under AtmosphereSystem.Gases.cs
* I'm sorry but I hate warnings
* Remove unused using directive in AtmosphereSystem.Gases.cs
* Review and cleanup
* Lukewarm UI glossup
* Maintainer for the upstream project btw
* Remove redundant state sets and messy logic
* Unduplicate valve updater code
* Redo UI (im sorry Slarti)
* run tests
* Test refactored UI messaging
* Second round of UI improvements
- God please find a way to improve this system. Feels bad.
* Update loop implementation
* Further predict UI
* Clear up SetToCurrentThreshold
* cleanup
* Update to master + pipe layers and bug fixes
want to run tests
* fixes
* Deploy rename pipebomb
* Documentation and requested changes
* Rename the method that wiggled away
* Undo rounding changes
* Fix comment
* Rename and cleanup
* Apply suggestions from code review
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Fix TextLinkTag (#32203)
* Adjust uplink buy button to be under item icon (#38596)
* Adjusted uplink buy button to be under item icon
* Put the discount subtext under the icon
* Indent fixes, added margin
---------
Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
* Scurrets - Audio Improvements (#38482)
* Scurret audio tuning
* Add new sfx
* Update sneezing sfx
* YAML support
* Rename a folder
* make telesci wreck easier (#37569)
rel
* Validate `ShaderPrototype` IDs (#38728)
* Convert all shader prototype string literals to protoids in overlays
* Convert more shader prototype literal strings to protoids
* Convert ValidatePrototypeId to ProtoId
* Later
* [BUGFIX] Fixed revenant malfunction ability not working properly only MediBots and Stasis bed (#38664)
* fixed
* clean up
* orks fix smart
* review fix 1
* more requested changes
* less cursed
* more descriptive description
* better wording
* Tiny Tiny Cleanup of the EyeClosingSystem. (#38734)
Update EyeClosingSystem.cs
* Fix human skin tone distribution (#38701)
* fix: Use PredictedQueueDel for gib spell (#38729)
* fix: don't default to uncharged sprite state for cells (#38730)
* Fix Hristov description - remove inaccurate technical specs (#38746)
- Removes inaccurate 'armor piercing 14.5mm shells' reference
- Replaces it with a more funny description, matching the style of the other snipers and guns
- Keeps ammunition type '.60 anti-materiel ammo' specification
- Fixes issue #38590
Co-authored-by: Arthur Fiorese de Andrade <aandrade@cmcxs.gov.br>
* feat: allow mopping evaporating puddles (#38743)
* Validate remaining `ProtoId` strings (#38747)
Validate remaining ProtoId strings
* Validate `ProtoId`s in tests (#38745)
* Convert string literals to protoids in Content.Tests
* Convert string literals to protoids or consts in Content.IntegrationTests
* Fix linter failures
Tricksy static using misled me
* Cleanup warning in StomachSystem (#38748)
you did not see this
* Vox scars (#38592)
* Added vox scars n'stuff, renamed vox_tattoos.ftl to just vox.ftl
* Revert "Added vox scars n'stuff, renamed vox_tattoos.ftl to just vox.ftl"
This reverts commit c73da55ba3b39ddf93b493aecd85604c54dd8a15.
* locale key fix
* Changed top surgery scar names to be more generalized
* Adjusted face scars
* Formatting fixes
---------
Co-authored-by: TrixxedHeart <46364955+TrixxedBit@users.noreply.github.com>
* UnlockNode command to LEC. (#38751)
* commit
* Update UnlockNodeCommand.cs
* commit
* move command locale to its own file.
* Update Content.Server/Xenoarchaeology/Artifact/UnlockNodeCommand.cs
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Typofixes for figurine dialogue (#38737)
* Typofixes for figurine dialogue
* Forgot two
* Janitor Tool: Wire Brush (#38667)
* Wow! It's -brush-
* spacing.
* Update Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Update Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* fixed changes
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Minor escape menu UX improvements (#38650)
* fix: spellbooks can have infinite charges (#38376)
* fix: spellbooks can have infinite charges
* refactor: indicate infinite spellbook charges with null
Not sure if I like this much better...
* Borg type switching.
This allows borgs (new spawn or constructed) to select their chassis type on creation, like in SS13. This removes the need for the many different chassis types, and means round-start borgs can actually play the game immediately instead of waiting for science to unlock everything.
New borgs have an additional action that allows them to select their type. This opens a nice window with basic information about the borgs and a select button. Once a type has been selected it is permanent for that borg chassis.
These borg types also immediately start the borg with specific modules, so they do not need to be printed. Additional modules can still be inserted for upgrades, though this is now less critical. The built-in modules cannot be removed, but are shown in the UI.
The modules that each borg type starts with:
* Generic: tools
* Engineering: advanced tools, construction, RCD, cable
* Salvage: Grappling gun, appraisal, mining
* Janitor: cleaning, light replacer
* Medical: treatment
* Service: music, service, clowning
Specialized borgs have 3 additional module slots available on top of the ones listed above, generic borgs have 5.
Borg types are specified in a new BorgTypePrototype. These prototypes specify all information about the borg type. It is assigned to the borg entity through a mix of client side, server, and shared code. Some of the involved components were made networked, others are just ensured they're set on both sides of the wire.
The most gnarly change is the inventory template prototype, which needs to change purely to modify the borg hat offset. I managed to bodge this in with an API that *probably* won't explode for specifically for this use case, but it's still not the most clean of API designs.
Parts for specific borg chassis have been removed (so much deleted YAML) and specialized borg modules that are in the base set of a type have been removed from the exosuit fab as there's no point to printing those.
The ability to "downgrade" a borg so it can select a new chassis, like in SS13, is something that would be nice, but was not high enough priority for me to block the feature on. I did keep it in mind with some of the code, so it may be possible in the future.
There is no fancy animation when selecting borg types like in SS13, because I didn't think it was high priority, and it would add a lot of complex code.
* Fix sandbox failure due to collection expression.
* Module tweak
Fix salvage borg modules still having research/lathe recipes
Engie borg has regular tool module, not advanced.
* Fix inventory system breakage
* Fix migrations
Some things were missing
* Guidebook rewordings & review
* MinWidth on confirm selection button
* item toggle refactoring and some new systems
* add ToggleClothing component/system
* unhardcode magboots gravity logic
* make magboots and speedboots use ItemToggle and stuff
* remove now useless clothing components
* update client/server magboots systems
* add note to use ItemToggledEvent in ToggleActionEvent doc
* refactor PowerCellDraw to use ItemToggle for ui open/close control
* add TryUseCharges, refactor charges system
* update magboot trigger code
* make borg use ItemToggle, network SelectedModule instead of now removed Activated
* add AccessToggle for borg
* the giga ninja refactor
* update ninja yml
* update ItemToggle usage for some stuff
* fix activatableui requires power
* random fixing
* yaml fixing
* nuke ItemToggleDisarmMalus
* make defib use ItemToggle
* make things that use power not turn on if missing use charge
* pro
* fix sound prediction
* bruh
* proximity detector use ItemToggle
* oop
* big idiot syndrome
* fix ninja spawn rule and make it generic
* fix ninja spawn rule yml
* move loading profiles into AntagLoadProfileRule
* more ninja refactor
* ninja yml fixes
* the dreaded copy paste ops
* remove useless NinjaRuleComponent and ue AntagSelection for greeting
* fix invisibility
* move IsCompleted to SharedObjectivesSystem
* ability fixes
* oop fix powercell instantly draining itself
* sentient speedboots gaming
* make reflect use ItemToggle
* fix other test
* loadprofilerule moved into its own pr
* remove conflict with dragon refactor
* remove all GenericAntag code from ninja
* )
* probably
* remove old enabled
* great language bravo vince
* GREAT LANGUAGE
* who made this language
* because it stinks
* reparent blood-red magboots to magboots probbbly works
* most of the review stuff
* hasGrav doesnt mean what i thought it did
* make health analyzer use itemtoggle, not fail test
* fix mag/speed boots being wacky
* UNTROLL
* add ItemToggle to the random health analyzers
* a
* remove unused obsolete borg func
* untrolling
* :trollface:
* fix test
* fix
* g
* untroll
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Replace obsolete whitelist is valid with whitelist system
* Consistency
* Fix logic
* Bork
* I figured out how to get whitelists on the client lol
* test fail
* woops
* HELP ME FUNCTIONS
* Fix errors
* simplify
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Porting & implementation
* Fix two stupid errors
* Human not humans
* fix audio path
* Fix test fails & update cooldown
* Work on reviews & test fail
* Rework nymph organ system.
* Make the nymph organs nospawn.
* IsDeadIC
(cherry picked from commit 407d4aed586a5143dc1dd0d31e7898f6df07a411)
* Laws
* positronic brain and PAI rewrite
* MMI
* MMI pt. 2
* borg brain transfer
* Roleban support, Borg job (WIP), the end of mind shenaniganry
* battery drain, item slot cleanup, alerts
* visuals
* fix this pt1
* fix this pt2
* Modules, Lingering Stacks, Better borg flashlight
* Start on UI, fix battery alerts, expand activation/deactivation, low movement speed on no power.
* sprotes
* no zombie borgs
* oh fuck yeah i love a good relay
* charger
* fix the tiniest of sprite issues
* adjustable names
* a functional UI????
* foobar
* more modules
* this shit for some reason
* upstream
* genericize selectable borg modules
* upstream again
* holy fucking shit
* i love christ
* proper construction
* da job
* AA borgs
* and boom more shit
* admin logs
* laws redux
* ok just do this rq
* oh boy that looks like modules
* oh shit research
* testos passo
* so much shit holy fuck
* fuckit we SHIP
* last minute snags
* should've gotten me on a better day