* Basic emote radial menu
* Move out from corvax
* Move to UI controller & add to top menu bar and key bind
* Make emote play
* Add name localization for emotes
* Localize chat messages
* Fix emote menu
* Add categories localization
* Fixes
* Fix
* Add emotes entity blacklist
* Fix entity whitelist required all logic
* Remove unused wagging emote
* Revert sprite
* Set default texture for emote icon
* Update Resources/keybinds.yml
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Tippy is BACK
* Clean up clippy from aprils fools
* Changed names from clippy to tippy, added localization, removed local_clippy command, made it easier to target a specific player
* Rename clippy.yml to tippy.yml
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* feat(fax): Client fax file-print parses and stores label
* feat(fax): Fax machines print, copy, and send paper labels
* style(Fax): Comments and formatting
* feat(fax): Make fax admin logging more consistent and clear
* refactor(fax): Replace ternary with a simpler null coalescing
* refactor(fax): Make FaxSystem Send method signature consistent with Copy, PrintFile
* refactor(fax): Read entire file and process later instead of peeking first
* refactor(fax): Remove local variables only used for style
* style(fax): Fix some nearby style errors
* fix(fax): Undo an inaccurate change to admin log formatting
* refactor(fax): Separate `firstLine` variable
* fix(fax): Use Environment.NewLine
* bienvenidos
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Added localization of groups and types: damage, metabolism (displayed in the guide book). The text for the health analyzer, weapon damage inspection is now taken from damage prototypes
* fix damage tests
* fix damage test yml
* fix damage test prototypes
* Update Content.Shared/Damage/Prototypes/DamageGroupPrototype.cs
* Update Content.Shared/Damage/Prototypes/DamageTypePrototype.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Fix handlabeler/utility belt misprediction
* Partly moved HandLabelerSystem to shared
And cleaned up HandLabelerComponent
* WIP format the files so later commits look clearer
Doesn't change individual code lines, but may move
functions to another file
* WIP some more code movement
* Hand Labeler is now mostly predicted
Only the UI isn't
* WIP: Formatting and moved stuff
* Using componentstates for prediction correction
* review
* Update label on label change
* Don't overwrite label while editing
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* Rodents can be Faxecuted (executed via Fax machine)
* use brute instead of new group.
* fax visuals now use tags for mouse and hamster instead of comps
* fix for ubuntu, damn ubuntu bane of my life
* cant copy hamlet, can now faxecute mothroaches.
* fix
* fix
* fixes
* removed ifs now using switch, removed hastag now using string.
* fixes and no more switch
* cleanup
* more cleanup
* fix
* cleanup
* moved damage out of faxmachine and into own system and component.
* changes
* fixes and done i think.
* tidy
* Fixes
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Optimise navmaps significantly
- Reduce the delta state size significantly.
- Remove AirtightChangedEvent because this will spam them out constantly.
* weh
* review
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Signed-off-by: null <56081759+NullWanderer@users.noreply.github.com>
Requires https://github.com/space-wizards/RobustToolbox/pull/5023
This uses the new engine features (above) to add a displacement map shader. This allows deforming a sprite based on another sprite.
Primary use case is automatically adapting human clothing sprites to different species, something we want to make species like Vox a reality.
A basic example of wiring this up with Vox has been added. The system is however incredibly simple and **will** need more work by a content developer to select and toggle displacement maps when appropriate. I am leaving that to somebody else. For example right now the displacement map is applied even if a species already has custom-fit sprites for a piece of clothing, such as the grey jumpsuit for Vox.
Basic Aseprite plugins to help with authoring displacement maps have also been made.
(cherry picked from commit 2f7d0dedbded99a8f3f538c887c3c17aaa667501)
* Added keybind for scoreboard, starting work
* Fixed the window appearing
* Added loc text
* Updated namespace for ScoreboardUIController.cs
* Switched to UISystemDependency
"- UIControllers can use [Dependency] as normal for IoC services and other controllers, but must use [UISystemDependency] for entity systems, which may be null as controllers exist before entity systems do." Jezithyr — 10/12/2022 1:20 PM
* Reverted back to functional state
* Replace with UISystemDependency
* Move RoundEndSummaryWindow to ScoreboardUIController
* Convert to EntitySystem
* Clean up command bind
* Move to RoundEnd directory
* Remove Nukeops rule when no nukies
* Cleanup
* Change to toggle hotkey
* Cleanup
* Revert "Remove Nukeops rule when no nukies"
This reverts commit 5d4bbca09f45110b24a674d59b505be87b602b67.
* Cleanup
* Make the Toggle hotkey work in lobby
* Fix error
---------
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
(cherry picked from commit 8febdc5fc4851f44802bc675d90d3412bd0d4da6)
* Fix network configurator memory leaking
Doesn't dispose this window.
* Fix the other part
(cherry picked from commit 13c65378425e2d8254e8ed4e68061643b1245308)
* Move job info changing methods for id cards to shared
* Revert "Move job info changing methods for id cards to shared"
This reverts commit 95cbc46b2d1934fa7bf5c72d7d3de9f9168992a1.
* Reapply changes
(cherry picked from commit c122fdf183a8228ccba69cb747a86626ca9b5391)
* Upgraded UseDelay to support multiple delays per entity
* Implement secondary delay for bibles.
Also some improvements to make it work nicely.
* Documentation is good
* Reserve the previous change; now Storage uses the special ID and Bible uses the default.
* .0
* Added VV support to UseDelayInfo
* Serialize better
* No register, just setlength
(cherry picked from commit b292905216948e0c85b04e8ef65a5291dd868eee)
* Add command to toggle ghost visibility on the client
* Fix description
* Fix index of arg parsing
* Allow setting GhostVisibility directly
(cherry picked from commit cf45005471bbd07facbe2a5de841c08f3b8e84f0)
* Added selectable power level to radio jammer
* Cleaned up OnGetVerb
* Settings are now stored in the .yml file. Simplified stuff a lot!
* Minor fixes!
* Small little baby fix :)
* Added the power level switch to the examine menu and also removed the ftl file as it was in the incorrect location.
* Minor code cleanup
* Changed byte -> int
* Update sprite
* Fixed licence
* Added power LED that changes if the jammer is on low power.
* Removed tabs
* Changed github link to the commit
* Changed all the RemComp to RemComDeferred
* Moved NetworkedComponent to shared
* Changed radio jammer textures back with minor edits
* Added a space because it was annoying me
* Jammer now updates range for suit sensors properly! Thanks nikthechampiongr :)
* Removed useless comment
* Cleaned up code that updates the range of tracking devices.
* Fixed client namespace and removed newline
* Cleaned up ChangeLEDState and ChangeChargeLevel.
* Added comments
* Read only
* Fixed another comment
* Locked in
* Made server inherit shared
* Update Content.Shared/Radio/EntitySystems/SharedJammerSystem.cs
* Update Content.Shared/Radio/EntitySystems/SharedJammerSystem.cs
* review fixes
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit d3b1178428e9e0e714e51523558335589078a76c)
* Always display item status panel fully
Initial feedback from the UI changes seems to be that a lot of people go "why is there empty space" so let's fix that.
* Fix item status middle hand being on the wrong side
I think I switched this around when fixing the left/right being inverted in the UI code.
* Minor status panel UI tweaks
Bottom-align contents now that the panel itself doesn't dynamically expand, prevent weird gaps.
Clip contents for panel
* Fix clipping on implanters and network configurators.
Made them take less space. For implanters the name has to be cut off, which I did by adding a new ClipControl to achieve that in rich text.
* Update visibility of item status panels based on whether you have hands at all.
This avoids UI for borgs looking silly.
Added a new "HandUILocation" enum that doesn't have middle hands to avoid confusion in UI code.
* Use BulletRender for laser guns too.
Provides all the benefits like fixing layout overflow and allowing multi-line stuff. Looks great now.
This involved generalizing BulletRender a bit so it can be used for not-just-bullets.
* Fix geiger word wrapping if you're really fucked
(cherry picked from commit 7b90c08a2c7315b2c5a6cb17dfd82a5ac9863a53)
Make do-afters belonging to other players shaded
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit 14bc59544296aced303e71258e4ee3de3637bdab)
* cant disguise to thing in a container
* copy cigarette visualiser
* prevent aghost throwing an error
* make disguises die in space
* fuck it rewrite it to not use polymorph
* fix action troll
* oop
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
I love lobby code. Refreshing the entire jobs UI doesn't seem to cause issues. At least jobpriorityselector was my fault when I was far fucking stupider writing this shit.
(cherry picked from commit 9b1a8b07d734853c8cfcb83a6e2b7aad4e6dd764)
* LobbyUI fixes
I have no idea which were bugs prior but anyway fix stuff.
* More fixes
* Test moment
(cherry picked from commit fcd6c25242c195266c3b4c4aa2ed78922683567c)
Signed-off-by: NullWanderer <56081759+NullWanderer@users.noreply.github.com>
* SS14-26480 Roll Traversal Distorter into regular Artifact Analyzers
Bit of a grab-bag of cleanup of Xenoarchaeology prompted by #26480.
1. Traversal distortion biases are now "up" and "down" instead of "in" and "out".
2. Node generation has been tidied up to make it a little clearer how it works.
3. Traversal Distorters have been removed from the game along with their board.
4. Traversal distortion is now done by the artifact analyzers by default.
5. Some loc strings have been made clearer.
6. The Abnormal Artifact Manipulation tech has been made slightly cheaper.
7. The aformentioned tech is now localized as Artifact Recycling, given all it does is unlock the crusher.
8. The Xenoarchaeology guidebook entry has been given a bit of a rewrite, putting all information into
one page and making sure to cover the basics that otherwise would require someone typing "Liltenhead
artifact tutorial" into Youtube.
* Fix references to deleted guidebook entry
* Add fancy button to console because @EmoGarbage404 asked me to
* migration comprete
* Fixed a goober comment
* maint fails to resolve conflicts: more at 11
* Resolve PR comments
* Make UI nice
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit f059714a75601c73c0b7b917d0faac35c99f96fe)
* THE RETURN OF ITEM STATUS
Item status is now inline with the hands again. You can now see item status for both hands at once.
If you have more than 2 hands, the last active hand of that side is displayed in the respective item status.
The item status for the active hand is also highlighted.
Item status has been given a new look so it looks unique and matches every UI theme.
* Shrink item status to 125px
This is going to require fixing the existing controls. Do that later.
* New bullet item status rendering
sex
* Make gun item status look just a little bit nicer.
Avoid only one or two bullets ending up on a single row of an item status.
* Delete Eris theme files
* More improvements
Fixed the fact that left/right were flipped around when assigning status panel locations. Involved renaming all the UI textures.
Redid how content margins are set from the theme. Less complex and cleaner now.
Made the item name always left-aligned, just looks better since other UI elements don't adapt anyways.
* Compact down item status text
Now it fits 3 lines of text on one line. Yay.
This is achieved by compacting RichTextLabels by reducing their line height and giving them a negative bottom margin.
* Add item status sprites for Ashen theme.
* Add status control to show beaker/bucket/jug solution/transfer volumes
Also PollingItemStatusControl I'll be using that more.
* Fix welder item status, clean up welder code
The item status control implementation was ancient and bad. That's why it was buggy.
Removed all the complex dated networking stuff for welders, we just sync the solution contents now anyways so none of that is needed anymore. This moves a buncha stuff to shared and just removes code.
Cleanup. The code was doing some really dumb stuff.
* Spray bottles show contents in item status.
* cowtools
* Fix plasmafire and clockwork themes.
Actual git gaslighting wtf.
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 58f025ba8043bcf5c32204b08eec8ae9e5d2bd41)
* Make banpanel respect CCVars. Add CCVars for default ip/hwid/use last
details checkboxes.
* Move severity handling for server/role ban to another function
* Save sawmill
* Line goofyness
---------
Co-authored-by: Vasilis <vasilis@pikachu.systems>
(cherry picked from commit f96f92f54fe169d2e3a21356e07dfa50eca8b5d9)
* Adds the option to fit your viewport to your vertical screenspace
* fixes documentation
* Removes commented-out leftover
* Hides the viewport width slider and also we dont know if the viewport width causing stretching/squishing was a bug present before but we fixed that while we were at it
* Removes commented out leftovers
(cherry picked from commit 396c6133664de50f8d85133b3680292fa1b95be0)
Disable comms console announce for long messages
Disable the "announce" button on the communications console for messages
above the cap. I did not touch broadcasting because I could not identify
an easy way to check the maximum length for it.
(cherry picked from commit cff80836503c8d7bd3ed0b018d9feff904114128)
* 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 cfa94be4c2044146298d07c703f3b71bc377ca63)
* 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)
* 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)
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)
* 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)
* SS14-26950 Fix Waddling During Improper States
Fix some states when a clown can waddle when no clown should be able to waddle, no-matter their clowning powers.
1. You cannot waddle whilst weightless
2. You cannot waddle whilst stunned
3. You cannot waddle whilst slowed down due to stam damage
4. You cannot waddle whilst you're knocked down
5. You cannot waddle whilst you're buckled
6. You cannot waddle whilst crit
7. You cannot waddle whilst dead
There's some argument for being able to waddle whilst on the floor
and doing some bizarre floor-humping exercise but I'm not coding an animation layer system just to handle clowns doing the worm.
* Use a nicer "can move" check
(cherry picked from commit 3d0fc1067303635a743af04ef4c463abd0dba343)
* Clown shoes make you waddle, as God intended
* OOPS
* Toned down, client system name fix
* Tidy namespacing for @deltanedas
* Refactor to handle prediction better, etc.
* Resolve PR comments.
(cherry picked from commit ef42fb38061b29d7202eb6d65f1b658aecc43452)
Not having the nullable set properly is annoying but fixing that would probably be a significant amount of work.
(cherry picked from commit 4cb344cc307c33247492ba64cccca6dfe720540f)
* 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)
* Lathes: Show missing materials amount in tooltip
* Use AppendLine and remove the last newline at the end
(cherry picked from commit a17875498056ff746abb9ec1d4a40017c99ad7cc)
* 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>
* StatusIcon: add field to set if icon should be rendered with shading
* set/unset shader based on icon field
* set new field to true for hud icons
* re-shade health bars
(cherry picked from commit d314a41e4f5c166de5e59504090117435f6ba0c2)
* Suit sensors now know the 'total health' of an entity
* Missed the constructor 😔
(cherry picked from commit f5d9d3c4586252b6741f1c7473eef2b63b8fe586)
* 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)
* Adds a new slider to the misc tab in options that lets the player set chat window transparency
* Tweaked variable names
* Fixed order to match UI
* Renamed set chat window transparency function
* Changed and refactored to opacity instead of transparency
* Remove unnecessary int to float conversions
Slider used to be 0-100 while the CCVar was 0.0-1.0f. This is confusing and was only used for rounding to 2 decimal points.
* Round the value to two decimal points
* Remove rounding for now
* Rename
* Unhardcode chat color by moving to stylesheet
* Fix indent
* Make opacity slider only change opacity
---------
Co-authored-by: Your Name <you@example.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
(cherry picked from commit bc31c193c25b297179e0de2bf54c2623fbeeebe0)
* Add scrollbars to lathe material list when necessary
* Fix bug where shrinking window would cause elements to overlap
---------
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
(cherry picked from commit a05f95269f8e04a29e8d93da37cff47b84026d51)
* move SolutionTransfer to shared and predict as much as possible
* fully move OpenableSystem to shared now that SolutionTransfer is
* fix imports for everything
* doc for solution transfer system
* trolling
* add scoopable system
* make ash and foam scoopable
* untroll
* untroll real
* make clickable it work
* troll
* the scooping room
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 1db178b63254c5b509a6493a631fddb596b376a4)
* Add door electronics configuration menu
* Use file-scoped namespaces
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Open door electronics configuration menu only with network configurator
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Doors will now try to move their AccessReaderComponent to their door electronics when the map is initialized
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Make the access list in the id card computer a separate control
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix merge conflict
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove DoorElectronics tag
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Integrate doors with #17927
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Move door electornics ui stuff to the right place
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Some review fixes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* More fixes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* review fix
Signed-off-by: c4llv07e <kseandi@gmail.com>
* move all accesses from airlock prototypes to door electronics
Signed-off-by: c4llv07e <kseandi@gmail.com>
* rework door electronics config access list
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove Linq from the door electronics user interface
* [WIP] Add EntityWhitelist to the activatable ui component
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Better interaction system
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Refactor
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix some door electronics not working without AccessReaderComponent
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Move AccessReaderComponent update code to the AccessReaderSystem
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unnecesary newlines in the door access prototypes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unused variables in access level control
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unnecessary method from the door electronics configuration menu
Signed-off-by: c4llv07e <kseandi@gmail.com>
* [WIP] change access type from string to ProtoId<AccessLevelPrototype>
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unused methods
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Newline fix
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Restored to a functional state
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix access configurator not working with door electronics AccessReaderComponent
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Replace all string access fields with ProtoId
Signed-off-by: c4llv07e <kseandi@gmail.com>
* move access level control initialization into Populate method
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Review
---------
Signed-off-by: c4llv07e <kseandi@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 64bb8dbdd50e0b1e5744e1eb0cc6f24bda959ade)
* Adds the CentComm Disk and configures it to work with direct-use shuttles
* Added functionality for drone shuttles (i.e. cargo shuttle)
* Adds support for pods, and a disk console object for disks to be inserted into. Also sprites.
* Added the disk to HoP's locker
* Removed leftover logs & comments
* Fix for integration test
* Apply suggestions from code review (formatting & proper DataField)
Co-authored-by: 0x6273 <0x40@keemail.me>
* Fix integration test & changes based on code review
* Includes Disk Cases to contain Coordinate Disks, which are now CDs instead of Floppy Disks
* Check pods & non-evac shuttles for CentCom travel, even in FTL
* Import
* Remove CentCom travel restrictions & pod disk consoles
* Major changes that changes the coordinates disk system to work with salvage expeditions
* Missed CC diskcase removal
* Fix build
* Review suggestions and changes
* Major additional changes after merge
* Minor tag miss
* Integration test fix
* review
---------
Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit bed9e9ac6a068495ff70f09eb852a9c7a156d632)
* Don't clip text in item status
* Fix overflow in examine tooltip
---------
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
(cherry picked from commit 9b08c2c908e344e3356c7cb4bd75efca0adae2e4)
* Initial radial menu prototyping for the RCD
* Radial UI buttons can send messages to the server
* Beginning to update RCDSystem
* RCD building system in progress
* Further updates
* Added extra effects, RCDSystem now reads RCD prototype data
* Replacing tiles is instant, multiple constructions are allowed, deconstruction is broken
* Added extra functionality to RadialContainers plus documentation
* Fixed localization of RCD UI strings
* Menu opens near cursor, added basic RCD
* Avoiding merge conflict
* Implemented atomized construction / deconstruction rules
* Increased RCD ammo base charges
* Moved input context definition to content
* Removed obsoleted code
* Updates to system
* Switch machine and computer frames for electrical cabling
* Added construction ghosts
* Fixed issue with keybind detection code
* Fixed RCD construction ghost mispredications
* Code clean up
* Updated deconstruction effects
* RCDs effects don't rotate
* Code clean up
* Balancing for ammo counts
* Code clean up
* Added missing localized strings
* More clean up
* Made directional window handling more robust
* Added documentation to radial menus and made them no longer dependent on Content
* Made radial containers more robust
* Further robustness to the radial menu
* The RCD submenu buttons are only shown when the destination layer has at least one children
* Expanded upon deconstructing plus construction balance
* Fixed line endings
* Updated list of RCD deconstructable entities. Now needs a component to deconstruct instead of a tag
* Bug fixes
* Revert unnecessary change
* Updated RCD strings
* Fixed bug
* More fixes
* Deconstructed tiles/subflooring convert to lattice instead
* Fixed failed tests (Linux doesn't like invalid spritespecifer paths)
* Fixing merge conflict
* Updated airlock assembly
* Fixing merge conflict
* Fixing merge conflict
* More fixing...
* Removed erroneous project file change
* Fixed string handling issue
* Trying to fix merge conflict
* Still fixing merge conflicts
* Balancing
* Hidden RCD construction ghosts when in 'build' mode
* Fixing merge conflict
* Implemented requested changes (Part 1)
* Added more requested changes
* Fix for failed test. Removed sussy null suppression
* Made requested changes - custom construction ghost system was replaced
* Fixing merge conflict
* Fixed merge conflict
* Fixed bug in RCD construction ghost validation
* Fixing merge conflict
* Merge conflict fixed
* Made required update
* Removed lingering RCD deconstruct tag
* Fixing merge conflict
* Merge conflict fixed
* Made requested changes
* Bug fixes and balancing
* Made string names more consistent
* Can no longer stack catwalks
(cherry picked from commit 02273ca0e7a4091bac88e585ecca5253dd0e7fd7)
* Can now search the uplink store interface with a searchbar.
* Search text updates no longer send server messages. Persists listings locally.
* Formatting fixes and tidying.
* Added helper method to get localised name and description (or otherwise, entity name and description) of store listing items.
* Update Content.Client/Store/Ui/StoreMenu.xaml
* Review change; moved localisation helper functions to their own class.
* Prevent thread-unsafe behaviour as-per review.
* Remove dummy boxcontainer
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit de62ec204b04809175945a2ccfd4dbce6dafd8eb)
* Make timer ignore client predict setting
* making tests run
---------
Co-authored-by: wrexbe <wrexbe@protonmail.com>
(cherry picked from commit 8676aad583ad7104151bf22932da86a87cb52c5a)
* Hyposprays Draw from Jugs
* Fix last onlyMobs usage in yml
* Some Suggested Changes
* Remove unnecessary datafield name declarations
* Remove unnecessary dirtying of component
* Same line parentheses
* Added client-side HypospraySystem
* Cache UI values and only updates if values change
* empty line
* Update label
* Label change
* Reimplement ReactionMixerSystem
* Remove DataField from Hypospray Toggle Mode
* Change ToggleMode from enum to Bool OnlyAffectsMobs
* Add DataField required back since it's required for replays...?
* update EligibleEntity and uses of it
* Add user argument back
* Adds newline
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Guard for dirty entity
* Adds summary tag
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit f192d7901fedd134c38a6cab38731f8e93994492)
The FTL UI on the shuttle console would reset the FTL progress bar every time you open it. This is because the server only sends "time until completion", not a start/end time. The FTL code now uses a separate start/end time so the exact same progress bar can be preserved.
For convenience, I made a StartEndTime record struct that stores the actual tuple. This is now used by the code and has some helpers.
(cherry picked from commit 3b791459c74c6b56c8ae6204a936f6de06674b93)
* Add auto-mode to reagent grinder
* Remove redundant stuff with DataField
* Use margin instead of dummy control
* Resolve grinder component
(cherry picked from commit a606909d30477453bc23765df4c78f04b2ead522)
* remove deprecated entity coordinate extension functions. Reduces warning count by approximately 50
* final toCoords Removed
* Remove all unused variables and dead code paths
* remove always true variable, should be a cvar or something instead
* remove superfluous variables from tests
(cherry picked from commit 59e46aab93ca38f8d57fcad4e3a2c893737d9ad4)
* make sure to keep late join button disabled if requirements not met
* more succinct representation of condition
(cherry picked from commit cfc0ecbf80ab497a01443aea354f4ac3dc205b58)
* Separated "thank you" messages from general ads
* Moved MessagePackPrototype to shared, cleaned up AdvertiseComponent, and actually killed AdvertisementsPackPrototype.
+More suggests changes.
* Rename PackPrototypeID to Pack in both components.
(cherry picked from commit 794a447bb7f0a36abaac802e0fa4d1ce7c8998ef)
* add Name field to SpeechVerbPrototype
* extra locale for voice mask ui
* SpeechVerb ui and handling
* raaaaaaaaa
* reeeeeeeeal
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* fix sort
* did you hear john syndicate died of ligma
* Update Content.Client/VoiceMask/VoiceMaskNameChangeWindow.xaml
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit d13da2837d3a919df2101b37eae945e633c76c56)
* add SaveItemLocation keybind
* make item direction public to avoid having to change between Angle for no reason
* add item location saving
* show
* Added a better save keybind, made it draw saved positions, and trying to save in a position it has already been saved in removes that position.
* w
* code style
* Make taken spots appear blue
* style
* !
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: notquitehadouken <tripwiregamer@gmail.com>
Co-authored-by: I.K <45953835+notquitehadouken@users.noreply.github.com>
(cherry picked from commit 6863a7cc26f815ec9089003e8735777cea927d0f)
* When another player late joins it will correctly update the UI locally
* Resolve passengers not displaying the correct message in late join
* Improve final boolean comparison of button disabled state to be a bit neater
(cherry picked from commit bf7c1d647e7633ee2993a7da22318b7cf280d8ba)
* Fix mailing units turning into disposal units while recharging.
The states were hardcoded.
* Fix error handling
* Make default states constants
(cherry picked from commit 94e4755a8de6885c97fac1cfb767144e8e07981a)
- Fix text drawing being offset.
- Fix beacon snapping and distance check.
- Fix DrawData being offset.
- Fix bounds check for map objects not using PixelSize.
(cherry picked from commit 000a259563fd6ac1ec6889cd1fc767fcbc4a39de)
* Prep for DoorRemote Status
* Door Remote Mode Messages
* plural opens and closes
* never trust webedits
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit e627a0d24bc8ae89665feb0b0d519b5fbb77ce32)
Fixes#26211
Admin messages now have separate "seen" and "dismissed" fields. The idea is that an admin should be able to tell whether a user pressed the "dismiss for now" button. Instead of using "seen" as "show this message to players when they join", "dismissed" is now used for this.
Existing notes in the database will automatically be marked as dismissed on migration. A note cannot be dismissed without being seen (enforced via constraint in the database too, aren't I fancy).
As part of this, it has become impossible for a player to play without dismissing the message in some form. Instead of a shitty popup window, the popup is now a fullscreen overlay that blocks clicks behind it, making the game unplayable. Also, if a user somehow has multiple messages they will be combined into one popup.
Also I had enough respect for the codebase to make it look better and clean up the code somewhat. Yippee.
(cherry picked from commit d776c4b392a082dba7539d77cfa20fc904ed4091)
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.
* Missed a few
* Revert changes to pulling
* No
(cherry picked from commit 4a83c365858830e3b2ff2b94fff501256422c20e)
* Pulling rework
Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame.
* More pulling cleanup
* stats
* More cleanup
* First draft
* More pulling
* weh
* Fix puller
* Pulling working
* Fix merge
* Dunked
* Self-merge time
* Fix hotkey
* Fix container changes
* oop
* Fix multi-pulling
* Move alerts cleanup.
* pulling fixes
(cherry picked from commit c584f6444a85cc53edb060230f7e7b2b76cc87bf)
* Fix SCRAM implant not being usable while in cuffs. Also fix freedom implant from working while dead/crit as a side effect
* Move check up to apply to all actions and do thing I forgor to do before
* Change check into an ActionBlocker check that also checks whether the user is sleeping.
* Make checking for Consciousness the default for actions
Went through and chose what I believe to be sensible defaults for actions that had CheckCanInteract.
* Fix typos my beloved
I had an unbelievable skill issue
* Fix major skill issue
(cherry picked from commit 22e9d6562f21bdd4f0962d6e3b6fcdd81bb4c253)
* Spray Paint (Draft)
* paint colors, paints in maints loot, cargo crate of paints.
* fix
* remove paint (sort of)
* moved paintcleaner into own system
* Moved paint to server (had to unfortunately)
* doafter now breaks when moving away.
* cant paint mobstatecomp
* loads of fixes
* fixes
* fixes
* nopaintshadercomp
* fixes
* fix
* use locale for paint remove string
* remove nopaintshadercomponent and use blacklist
* remove enabled.true from visualizer
* paint doafter event.
* add verbs for paint and remove paint and icon for paint verb.
* fixes
* no longer replaces shader when shader exists.
* replace forloop with foreach, check shader before adding and removing.
* paint doafter now separate so no copy paste code
* Entities in sprayed targets item slots are also now correctly sprayed.
* fix
* fix
* fix airlock psray painter now removes painted before painting door.
* spray paints now use openablecomponent.
* fix
* fix damn accesstypes.
* fix
* fix
(cherry picked from commit e4d5e7f1aebfc37b1bc3453fdb39578f3897b6a1)
* Improvements to the medical hud interface
* Adds an icon for SSD players
* Indentation fix
* Update sprites, changes direction and adds new status icon.
* Adds decomposing icon
* Code cleaning
* Changes Crit Icon sprite
* Simplifies the decision structure
* Changes copyright line
* Changes Critical Icon sprite
* Makes the Critical Icon border darker
* Changes sprites to /tg/ station
* Updates copyright
* Makes Dead Icon animation slight faster
* Code cleaning
* Remove some unused imports
* Code cleaning and rename icon
* Minor code cleaning
(cherry picked from commit 8d40bc36a93d3d5c6d3ece6c662ac9747f7837ae)
* move faction prototype to shared
* move faction exception and member stuff to shared
* fix breaking changes for random stuff
* move pettable friend stuff to shared
* mostly fix
* final fixy
* dragonops
* final fixy II
* use querys and fix warpspeed fish (probably)
* fixer
* Rrrr!
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 7561bef6a7aee65149381e155da53abc65a6a4e7)
SS13 Criminal Record Icon Location REAL
Adds a new Offset DataField to the StatusIcon Prototype. It effects status icon location on a per-pixel level. Not sure what else it could be used for, but hey, nothing wrong with generalizing. Also moves the mindshield icon priority to one, to fix an unreported bug with them covering non-job icons.
(cherry picked from commit 21de5e9a08929e8c710030b887c081bf6afc9649)
* Kill the static InRangeUnOccluded
* Adjusted 4 more EntitySystems that were missed.
(cherry picked from commit 7d275a4b5e4188db424cc417c609dced3f9aca89)
* add color field to clothing layers
* add support to randomsprite
* bababa
* finalize spriting work
* add to game
* fix
* remove space
* edit patelle, +1 decor variant
* added only pants, some sprite fix
* inflation
* fix mixed
* not tested commit
* Revert "not tested commit"
This reverts commit 4a904df3452263e87c9cb819ab5d8cf411ebe468.
* naked human is fun
* update
* add new style
* some sprite pixel tweak
* Update meta.json
(cherry picked from commit 986ac589b44687fd2f3b71da00a52434db75abe3)
* Throttle people trying to connect to a full server.
To reduce spam/load on the server and connection logs table.
Players are forced to wait 30 seconds after getting denied for "server full", before they can try connecting again.
This code is an absolute nightmare mess. I tried to re-use the existing code for the redial timer but god everything here sucks so much.
Requires https://github.com/space-wizards/RobustToolbox/pull/4487
* Use new NetDisconnectMessage API instead.
* Add admin.bypass_max_players CVar.
Just something to help with debugging the player cap on dev, I don't expect this to ever be disabled on real servers.
(cherry picked from commit 0ecc5e8c96c235af265ab747d7345b363f94b1e4)
* Security hud shows icon based on criminal record status
* Criminal status now linked to name instead of identity
* parole loc
* Test fix
* review changes
* Check station records instead of storing names on criminal record consoles.
* cleanup
* more cleanup
* review changes
* change outdated comments
* rename
* review changes
* remove event subscription
* replaced event with trycomp
* default value
(cherry picked from commit 60b9d89e4dbdd8aaad4992a105628297d9480617)
* guidebook pages defined
* species info button in character profile editor
* if current species has no guidebook page then open the parent page
* skrek
* destroying evidence of secret vox plot
* icon size adjustment, no icon if guidebook page for species does not exist
* finished pages
* additional info
* weh
(cherry picked from commit 84a07315dde09c2cff716f9f3a73f493b6b56cc7)
- HideLabel just means it won't have its name / button drawn whereas Hide will block it completely.
(cherry picked from commit a41772a006302bbe267793569b4b0d171eb82c87)
* Small obsolete Logger cleanup
* Fixed three EntitySystem logs that weren't doing it right.
(cherry picked from commit aafe81512258b5a80776ada1f471b58e7507ca2d)
* Add a toggle for progress bar colors
* yeah this thing
* PJB review
* optimization
(cherry picked from commit f3f4616c49317898aeeff304160b0b50df9ee851)
- every category of type "cargoProduct" was edited to "cargoproduct-category-name-{categoryName}"
- file "cargoproduct-categories.ftl" was added to english localization to localize categories of cargoProduct
- CargoConsoleMenu.xaml.cs got tweaks which prevent issues with strings comparisons
(cherry picked from commit 6e38b992cfc607e09178efc178b86f35152f0cde)
* Revert "Change keybindings for paper (#25853)"
This reverts commit 4b56996fcdbf88581d31d4c8aeb184f0c4c23309.
* Add a save button to the paper editing UI instead.
(cherry picked from commit d385c1bb2327da4fa6bf83d1813c44295eb8efdd)
* feat(inventory): Add secondary quick-remove star
* style: Fix end of file newline
* feat(inventory): Change secondary smart-equip star to silver star
* feat(inventory): Decrease secondary quick-equip star luminosity to better match the primary
(cherry picked from commit c8cc806a8fed7de92db48f4f066f63d5464502d1)
* fix: lobby music volume will be changed on options change without restart (also lobby music not looped anymore)
* refactor: now lobby music is part of ContentAudioSystem. Lobby playlist is used instead of single track. Client now selects next lobby soundtrack after previous finished.
* refactor: incapsulated info on current lobby track in simple record
* refactor: fixed inconsistent naming between song and soundtrack for lobbymusic
* refactor: xml-doc for LobbyPlaylistChangedEvent
* fix: inverted invalid _audio.PlayGlobal check to return only if lobby soundtrack play call failed
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
(cherry picked from commit 4c87dcd3cb92855df1fa01dea52d2ddd09f2adce)
* Alert autoremove v0
* Code cleanup and timing
* comment
* Tritium, code compression
* not resolving manually
* reduced lookups, new comp
* fix-fix yes
* use RemCompDeferred, handle OnUnpaused
* missed a todo
* entitysystem resolve
* remove unnecessary component updates
* remove AlertState from comp, move EntityUnpausedEvent actions to AlertStateComponent's Timespan
* Code cleanup
* comments
* combines AutoRemove input into Clear
* minor logic adjustment that does not really change anything but is less ambiguous
(cherry picked from commit ecd2d5a644540c6ad28903ee4fb2af87876e3030)
* Using wrench on AME doesn't first try to put it in.
* Refactor AME to use ItemSlot for fuel.
* Apparently these names want to match.
(cherry picked from commit c47391011d0f7f56dfcba8e4db348f0dc0d58c09)
* Whisper bleed update v3
* missed a few
* Add bleeding message to health analyzer.
* Fix bleed notification not updating.
* Apparently this either doesnt exist
(cherry picked from commit ff65cb7b0caaeb9edd9461eff942bdc6f5eb7f50)
Validate that job and antag prototypes can actually be set in character profiles, rather than just checking if the prototype exists.
Make preferences system just call existing validation code when loading prototype from database, instead of some hacked-together stuff.
Also I made the character profile validation logic take dependencies in via parameter because fuck resolves.
(cherry picked from commit 8d244f7b76ba881253eb94611acaab31865c3920)
* Implemented contents display for dispenser UI
* Update Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* Resolve the netent into a euid first
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 100ece2e2078ab2fe99f4ce1ab36b2cd05319772)
ChunkSize is still 32 so doesn't cut down on heaps of decals atm though we avoid passing many decals to drawing with the coordinates bounds check now.
(cherry picked from commit d8e5f5c24b88bf8096ddaec11e80f1af2953637b)
* Make department / job list sorting consistent.
This makes late join, crew manifest and character profile all apply consistent sorting for jobs and departments.
We use the already-defined weights for departments (so command, then sec, then station specific, then just sort by prototype ID). Jobs also use weight (so heads are always at the top) then prototype ID, then character name (for manifest).
Removed the crewmanifest.ordering CVar as doing it via prototype weight is just easier, and that CVar was already a mess anyways.
* Fix jittery job icons in lists.
They were set to KeepCentered in TextureRect. This has issues because the allocated space is actually an odd number of pixels, so it tries to position the draw at a half pixel offset.
Now, yes, fixing this in TextureRect would make much more sense, but get off my back. (Ok seriously we need better helper functions for doing that in the engine. Don't wanna deal with that right now and I already have this patch made.)
Instead I'm just gonna fix the issue by using VerticalAlignment in all these places instead which ends up doing exactly the same thing YIPPEE.
Also gave a margin next to the icon on the crew manifest. Margins people!
(cherry picked from commit 715794dd414c5d4b794cd6f2201983ecbc5d4f17)
* Fix formatting problem with FullOpened
* Moved to Shared and networked
* Revert "Fix formatting problem with FullOpened"
This reverts commit f8353403da830a4402bdd457bcf24a2432a5f566.
(cherry picked from commit 381bb9020aeba82e9cad111c77c34bee29d52c68)
* Add option for admins to disable bwoink
In a vain attempt to get people to ahelp more, provide the possibility
for admins to not play the bwoink sound if they don't want to scare the
player.
* Add silent indicator to discord relay
* Use string interpolation
(cherry picked from commit a3c93b0bd7478c0f75daaa2f7d0bd8b88565b27e)
* Add animation support to status icons
Animated like any other entity. Change the png to have all frames, add delays in meta.json, and you're good to go.
* Dirty "fix" for the crashing.
Still have no idea why files cannot be read without changing their path in the yaml.
* Sloth review ig
I still have no idea why it wont work with /Textures/ missing as a prefix.
(cherry picked from commit 79dc4e4d6f918b2d56ae5e1909f2ccdbc552014c)
Now we just skip duplicate "item pressed" events from the ListContainer.
This caused the ahelp window to unfocus the message box after sending something. Flow is something like this: you send ahelp -> bwoink window refreshes player list due to new bwoink -> repopulated player list -> sent selection change -> repopulates right pane -> line edit gets unfocused.
(cherry picked from commit 84d455b9f862dcbfdffd5827ceab4890dcf653cc)
* PlayerListControl fixes.
Fix a button being selected by default always, which then can't be selected properly for real. This affected multiple admin UIs.
This broke due to upstream RT changes but ButtonGroup was always kinda busted so whatever. Uses the new IsNoneSetAllowed to implement everything properly.
Also make sure the selected player STAYS selected when filtering the list and stuff.
Also this PlayerInfo record has been changed to only do equality on the User ID because otherwise it'd need to compare each field individually which would be weird.
* Revert changes to ListContainer
This change was made default in the engine, no longer necessary here.
(cherry picked from commit 74a31ac5f3316cc865ab9f39f39efff4e0b9e748)
God bloody christ. There's like three layers of shit here.
So firstly, apparently we were still using Npgsql.EnableLegacyTimestampBehavior. This means that time values (which are stored UTC in the database) were converted to local time when read out. This meant they were passed around as kind Local to clients (instead of UTC in the case of SQLite). That's easy enough to fix just turn off the flag and fix the couple spots we're passing a local DateTime ez.
Oh but it turns out there's a DIFFERENT problem with SQLite: See SQLite we definitely store the DateTimes as UTC, but when Microsoft.Data.Sqlite reads them it reads them as Kind Unspecified instead of Utc.
Why are these so bad? Because the admin notes system passes DateTime instances from EF Core straight to the rest of the game code. And that means it's a PAIN IN THE ASS to run the necessary conversions to fix the DateTime instances. GOD DAMNIT now I have to make a whole new set of "Record" entities so we avoid leaking the EF Core model entities. WAAAAAAA.
Fixes#19897
(cherry picked from commit 2e6eaa45c57c7f5ba561d1fb1ef6712d2432a8fa)
* Added support for fill levels to metamorphic glasses
* Fix warnings and cleanup
* Don't break non-metamorphic fills!
(cherry picked from commit e74f3019f7dc36a9e8ba19ae253692ed4af864c7)
This is a visualizer somewhat similar to the Generic. It allows configuring appearance info based on specific CVars the user has set. This allows YAML to easily configure alternatives for accessibility CVars like reduced motion.
(cherry picked from commit 1ce21553152199e3d97a8d02c11922fb8db5fd52)
* LockVisualizer
* Fix state
* Clean some code
* Make it component, fix tests fail
* Fix for StateUnlocked
Now it is possible to manually set the unlocked state and it will work!
* Optimize LockVisualizer, add check for unlocked state
* No todo I guess
(cherry picked from commit c7870882f6f956eea07cbb4738ae45c8805c8ce6)
- The dummy control of 2px size has annoyed me for almost 5 years.
- Why is it in the top-right.
- Why is the server address not labelled.
(cherry picked from commit 1a438e644f17f1352cec29d90fa755f37e120f34)
* Unghettoify mindshield icons
Adds support for layers in status icons, through the StatusIconLayer enum and the new "layer" datafield. Defaults to the Base layer where functionally remains unchanged.
* TG icon for shield
probably better than the shitty one I made in paint
* forgor meta.json
I forgor
* Emo review
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit bced73f67657246bc167531414ea0be5a5bba6bf)
At least the mode/transfer amount logic. Actual transfer logic needs Bloodstream which I didn't wanna move into shared.
(cherry picked from commit 6d8be538c90cf4c3a6636e2f8b84631af457cd42)
* Facelift Microwave UI
Includes new background light in UI, Uses predictive input, UI now properly disables buttons when microwave is active
* Microwave now shows Elapsed time
* Fixed bad formatting
* Added new term for "BottomMargin"
* Change yellow color
* Update StyleNano.cs
just spacing fixed
* Cook time countdown now detached from server
Instead of the server constantly sending out messages for the cook countdown, it is now predicted client side using TimeSpan
* Update MicrowaveMenu.xaml
forgot to re-add item space
(cherry picked from commit 25f73f64065f370d8560ff4695579c259e4b7667)
* Use new Subs.CVar helper
Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.
This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.
* Fix a bunch of warnings
* More warning fixes
* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.
* Get rid of some more ISerializationHooks for enums
* And a little more
* Apply suggestions from code review
Co-authored-by: 0x6273 <0x40@keemail.me>
---------
Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17985876d6d112b764b2144964a9f42e)
* make door status use SendSignal
* LastSignals and logic, add ClearSignal api too
* make everything outputting a logic signal default to false
* refactor ops
* :trollface:
* :trollface:
* protoid for LastSignals
* oop
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit f41ece37c3bc04d77b2d0ef791d190c5c0d11f36)
* Adds option to disable character names in chat/speechbubbles
* Moved the coloring of names to clientside
* Move string functions to SharedChatSystem to avoid duplicate code in SpeechBubble.cs
* Changed to be put under Accessibility section
* Cache CVar
(cherry picked from commit 247be5b5c770261544f4e468ea09422efb0f7028)
* Predict two-way levers
Annoys me the rare occasions I touch cargo. Doesn't predict the signal but at least the lever responds immediately.
* space
* a
(cherry picked from commit 05a2ddff1cc415c3bdf1e15ef3a2c953bcb5384b)
* Fix screenspace popups
Never got around to it earlier but need to draw it above UI controls.
* Minor null change
(cherry picked from commit 560ea9775a561b9d516a838687733e8983bbe9a0)
prevent people without permissions from opening the tile, entityspawn, or decal menus
(cherry picked from commit 2293f46bcac38c73a212fc34ee77d2839cd8558b)
* - Renamed GetSortedRootEntries to GetSortedEntries and added child sorting logic
- Removed unessesary Tree.SetAllExpanded(true) call in RepopulateTree
* Adding back deleted setallexpanded call to check if test passes
---------
Co-authored-by: Your Name <you@example.com>
(cherry picked from commit 3b2921a3ccc5adfdd6d7c4020e814e4d56b5b3e3)
* It begins
* Delete error.txt
* Patch by Debug
* HIDING WINGS NOW WORKS
* Runs smoother from Shared
* Delete HarpyVisualsSystem.cs
* The entire clientside script is no longer needed, and the visuals now work correctly. Helmetbug is gone.
* Update HarpyVisualsSystem.cs
* First completed Harpy Hardsuit
* Captain and Atmos tech birdsuits
* Update hardsuit-helmets.yml
* And more content
* Adding new finch tail <3
* whoops
* guh
* I swear the tail works now, I just need the adhd meds to kick in
* birb juggsuit
* More stuff
* Nukie hardsuits
* fixing clipping issues on birb juggsuit
* Update meta.json
* aaaaaaaaa
* two more
* Ton of extra harpy sprites
* Create equipped-INNERCLOTHING-harpy.png
* Harpy Ultravision trait
TODO: Optional trait that disables it
* Trait that removes Ultravision
* Code optimizations
* Adding hueshift maps to all harpy markings
* No more jumpsuits
* 1984 the harpy jumpsuits, they are no longer needed
* last 2
* final QA pass
* shennanigans related to an earlier merge conflict
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Relay wasn't really networked properly and this annoys me.
EntityStorage is still pretty skrunkly but this fixes the main issue I think.
(cherry picked from commit 042feae2e91f41f7d39e55340405e3c448903d61)
* adds refunds to stores
* Adds method to check for starting map
* comments, datafields, some requested changes
* turns event into ref event
* Adds datafields
* Switches to entity terminating event
* Changes store entity to be nullable and checks if store is terminating to remove reference.
* Tryadd instead of containskey
* Adds a refund disable method, disables refund on bought ent container changes if not an action
* Removes datafield specification
* Readds missing using statement
* Removes unused using statements
* What the heck is listing data
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 257909fd97c05bfde837a76afe5c5c612afc9f28)
* Fix End of Round messages looping forever and ever and ever
* Use the correct setting for round restart sounds
(cherry picked from commit 09daa534bd32d4784b6dd88ac6877607efec17b8)
* Decoupled from gravity, constant animation time, manual networking, cubic interpolation
* Reduced overshoot
* Implemented PointAttemptEvent, reacts with mobstate & sleeping
* Brains can no longer point, PBs must be inside a chassis
* Removed chassis check, made callback more obvious
(cherry picked from commit d01d75073cc4179ca5e34cacccd2ca6387e2bf99)
* Pulling rework
Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame.
* More pulling cleanup
* stats
* More cleanup
* First draft
* More pulling
* weh
* Fix puller
* Pulling working
* Fix merge
* Dunked
* Self-merge time
(cherry picked from commit 0d8254b2a2891f8d5623c9878bd0e567d0c7fe3c)
In which I'm a goober and don't clean up after
myself and accientally don't fix the issue I tried
to fix in my last round restart PR.
The audio is now maintained just like music during
restarts (yippee to ContentAudioSystem::OnRoundRestart)
This needs a refactor but at least the defect is fixed now.
(cherry picked from commit 2e7d23674ed315aa3cd36e5a744008900474c3fd)
This standardises it with audio and whatever. Me when I sprinkle nullchecks everywhere.
Was 50/50 on making new non-nullable methods but figured it would bloat too hard and you can't access strings by .Value anyway.
(cherry picked from commit 606c5a8c8b1005de62c33d5de888f67a8eae0ccc)
* refactor and add Department to PaintableAirlock, move it to server dir since its in namespace
* add departments to doors, cleanup
* add style -> departments mapping
* AirlockDepartmentsPrototype
* update shared spray stuff to have department
* name file the same as the class name
* department optional
* refactor spray painter system + send department
* fixy
* client
* no need to rewrite ActivateableUi
* pro ops
* the reckoning
* hiss
* .
* :trollface:
* add standard atmos colors to palette
* Update Content.Shared/SprayPainter/SharedSprayPainterSystem.cs
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit c49c78bafaddc3ed69714eaf41920e1565dbd292)
* Fix outdated component name in assaultbelt whitelist
RangedMagazine was replaced with BallisticAmmoProvider in the Gun
refactor (#8301)
* Move FlashOnTrigger, SmokeOnTrigger, Flash components to Shared
* Move LightReplacerComponent to Shared
* Move Utensil, Mousetrap components to Shared
* Move SprayPainterComponent to Shared
The PaintableAirlock tag has also been removed, as it was unused &
unnecessary, likely a vestige of spray painter development when the
PaintableAirlock component wasn't in Content.Shared.
* Add trivial Produce and Seed components to Client
This allows the plant bag and botanical belt whitelists to correctly
match produce and seeds on the client, fixing the extraneous "Can't
insert" message that previously appeared.
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 9cd6e4dccdfaa7e273417e3c94d66b5171c7d841)
* Moves FlashComponent.cs, FlashOnTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared
* Moves ExplodeOnTriggerComponent.cs, OnUseTimerTriggerComponent.cs, ActiveTimerTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared
* Delete .run/Content Server+Client.run.xml
HOW DID THIS GET IN HERE ITS NOT AHHHH
* Update Content.Client/Explosion/SmokeOnTriggerSystem.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Update ExplodeOnTriggerComponent.cs
* Revert "Delete .run/Content Server+Client.run.xml"
This reverts commit 29ee05f57de60eab5c92158d8eba5e3acba483c2.
* Fix?
* cannot figure out how to get this to go back please forgive
* Fixes a network issue
* leftovers
* Fixes
---------
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 467e983ba972a7ae749c95448febd19c7c285514)
* Initial work on having the Rev icons not be visible to ghosts depending on a Cvar and a component.
This commit just makes it so that the revcomponent and headrev component
are not shared with clients that shouldn't know about them. This is due
to the concern that clients having access to those components, even if
no image was displayed could allow modified clients to have meta
knowledge of revs.
Currently this has the issue that if a player later
for example becomes a rev, none of the existing rev components get
networked to them. I am not sure there is currently an effecient
solution to this.
This is probably in an issue for a lot more stuff. I might just make it
so all the logic just moves to the client on whether to put the icon
again.
Also this commit adds the ShowRevIconsComponent to allow anyone with it to just
view rev icons.
* Rev components now get communicated to clients that didn't have them previously and the AntagIconSystem is now properly checking whether to give the icons.
We now dirty all the rev/headrev components when someone gets converted
or gets the ViewRevIcons component. The AntagIconSystem now checks
whether it should draw the icons mostly based on an event, this is still done
client side.
This is not a full proof solution to make it so clients can't know
someone is an antag when they shouldn't because:
1. There are other components that need similar treatment, to my
knowledge not to for revs but for other antags. Maybe even the mind
component. This could be addressed in future PRs.
2. We cannot ensure that clients forget about these components if the
client gets deconverted for example. We can of course have code that
does this, but it will necessarily need to be done on the client and
if the client is modified then there is no way to ensure this.
Of course at that point they should already know who their fellow
revs are so this might not be an issue.
I now need to do the same thing for zombies in a future commit.
A similar system for nukies also needs to be looked at but I will not be
doing that in the PR this commit ends up in.
* Misc name changes and cleaning up the ZombieSystem
Changed some names around and decoupled the ZombieSystem from the
AntagStatusIconsystem. Now there is a cvar for ghost visibility for them
as well. The Zombie Component was not made SessionSpecific because:
1. Zombies are pretty visible anyways
2. The Component is needed to change the appearance of zombie players.
* Misc name changes and cleaning up the ZombieSystem
Changed some names around and decoupled the ZombieSystem from the
AntagStatusIconsystem. Now there is a cvar for ghost visibility for them
as well. The Zombie Component was not made SessionSpecific because:
1. Zombies are pretty visible anyways
2. The Component is needed to change the appearance of zombie players.
* Merged 2 if statements into 1 on the Zombiesystem.
* Cut down on code duplication in AntagStatusIconSystem
Now instead of having a seperate function for each component, there is 1 generic function. Functions for special cases
like the Rev/Headrev comp can have a separate function that does the special check and then calls the generic one.
This is done through the IAntagStatusIconComponent interface which provides a common interface to get the Icon.
* Removed some duplication from the SharedRevolutionarySystem with generics.
I have no idea why I didn't think of this sooner.
* Addressed Reviews I think
I think events get unsubbed automatically but I am probably missing something that I have not understood.
Either way this is a requested change.
* Replace war crimes with actual fixes for reviews
It was not clear to me what the reviews meant
* Addressed reviews by removing need for cvars.
Whether icons are visible to ghosts is now determined by a bool in IAntagStatusIcon which all antag components
with status icons should implement.
* Update Content.Shared/Revolutionary/SharedRevolutionarySystem.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 8b19b7fab9dd8fb115f65794d97a26ebb9aa1142)
* add Placeholder and make default buttons flags consistent w old behaviour
* DialogWindow ops
* make QuickDialog use DialogWindow
* Update Content.Client/UserInterface/Controls/DialogWindow.xaml
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 6b03aaaec78bd50c8f4730c9aa7d0f5cea76e782)
* Adds Visitor role and ShowInIdCardConsole property
* Add visitor to Agent ID card
* Fixes yaml test
* Fixes based on feedback
* Fixes based on feedback
(cherry picked from commit 1862f8aa1745f147fa54428179e568c9298a9fda)
- Probably confusing if you're not familiar with nentities
- if I need the clientside uid for debugging I can just open VV and it's immediately there on first page.
(cherry picked from commit ca5470918679d73a95404b08fc76d2be088a6876)
* Remove wheelchairs
Vehicle code is dogwater and wheelchairs just keeps exposing edgecases. If someone wants it brought it back they can do vehicle refactor.
* Also this one
* Remove vehicles
* goodbye vehicles
* Remove this check
* sasd
* Cronch
* Add sprites back
* jani
(cherry picked from commit d2f20d8955a25a32aa5fb9b3631a41921b464cd4)
* Firestarter fixes
- Actually networks the action.
- Namespace fixes.
* No networky for you
(cherry picked from commit a6ea8b210db079d30823e7b4d8faa32aefa17582)
* added signal control to portable generators
* added documentation
* Discard changes to Content.Server/Radio/EntitySystems/HeadsetSystem.cs
* added DeviceNetworkComponent and WirelessNetworkConnectionComponent to generator prototype
* made GeneratorSignalControlComponent nicer
* implemented auto-revving
* added back necessary dependency
* can't send do-after event manually
* repeat now works with auto revving
* fixed
* removed vv
* stopping generating when it is revving now makes it stop revving
* Update Content.Shared/Power/Generator/ActiveGeneratorRevvingComponent.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* used resolve instead of TryComp
---------
Co-authored-by: Julian Giebel <juliangiebel@live.de>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit 5d2ddc0d8b313d80fbcecd6719c5048ec2aea3e7)
* Implement basic font support
Add NotoEmoji font
Add emoji font to default font stacks
* Remove unneded change
* L
* Remove emoji font from default font stacks
(cherry picked from commit 94b43423b4ba3bac3325610a6699a9f6cd08653b)
* Keep reagent dispenser inventory ordered
This way, reagents wont be "moving around" in the UI when juggling
jugs.
The reagent dispensers will also show what reagents their storage
slots contain if jugs are not labelled.
* Move sorting client-side
* Revert "Keep reagent dispenser inventory ordered"
This reverts commit 3a1fc2e36d593937d4ecc581ae5a617a273a9d1c.
(cherry picked from commit 4ee734951455da15eedaf766cee1f64b48959702)
* PACMAN generators show network load/supply.
This gives more feedback to players that their PACMAN is properly connected and what the network status is (i.e. you don't have enough generators).
* Buff JRPACMAN to 8 kW.
Shifted all power values up by +3 kW.
They're frequently too weak to power even single rooms so they deserve a buff.
* Change unit format helpers number format.
Always displays one digit of precision. This avoids jumping around when a value is changing live.
(cherry picked from commit f855cb2b0065083447128778c31c2a93bcd70a6a)
* Bunch of revolver fixes
Some stuff wasn't working with prediction so this should fix all of it.
* a
* fix weh
* Also usedelay
(cherry picked from commit 9bb2781bfca68bde47ce52576cb894bb41ab6511)
* Add announce message length to UI and make a cvar for it
* Update comm console server-side trim to use the cvar
* Rely on the new OnTextChanged event
Because OnKeyBindUp only works for keys that have binds
* Add a similar indicator to nukies' war declaration UI
* Remove message length indicators for now cuz it requires the engine update
* Rename cvar slightly
* Refactor duplicated code to a helper method
* Remove message trimming from *Window class as it's better to live in the BoundUserInterface where the other message handling happens
* Rename to chat.max_announcement_length
(cherry picked from commit 8c5898b0065cd2cf196c0383bc99c57c0f11795b)
* Update job priorities when job requirements are getting updated
* Sort jobs by weight and then by the name
* Sort departments too
(cherry picked from commit 4f307a49be5796eaa7b02f5988a83ea04db95535)
Change the station map tracking dot color to cyan
Co-authored-by: iacore <noreply+gpg-stub@1a-insec.net>
(cherry picked from commit c35b9964c770714f5ba56fce827912cd33312fe6)
* Group entity menu by the displayed name instead of by the prototype
* Sort entity menu by the displayed name (with label) in current culture
(cherry picked from commit 9b97c7f2f215ec9862d8146e7db07ba03005a71f)
* Add limited-reagent dispensers
* Add empty versions for all dispensers
* Fix lint
* Set initial window size so all buttons are visible
* Simplify logic, add parenthesis
* Use localized name for initial labels
* Adjust button style
* Avoid touching items before MapInit
* Remove pre-labeling
* Reduce diff
* Clean up YAML
* Fix test
* Really fix test
* Document
* Adjust based on review
* Add labels for obnoxiously long bottles
---------
Co-authored-by: AWF <you@example.com>
(cherry picked from commit 9394a262458df76d9c4156f147bed902e3feac75)
* Cryogenic sleep units
* pause map support
* no more body deletion
* Cryogenic Storage Units
* boowomp
* no more emag, no more dropping present people
(cherry picked from commit 736b9dd7df6e35f07fed88686c7c863ac61af846)
* label scaling wip
* beacon toggle, cleanup
* weh
* caw
* Smooth scaling, almost-selectable font size, Magnification count, zoom scale accuracy change, opacity
* never asked for individual font sizes
* zoom
* format
* Fixes CrewMonitor and PowerMonitor using the default tile color as text background instead of their custom tile colors
* font customisation, needs UI elements
* Station map rightclick now works
* UI scale will keep the local systems in line
* adjusting font size to UI scale
* typo
* fix RT version
* putting cache back in its place
* toggle labels moved to Examine
(cherry picked from commit 40db236b822c82cf97649f25d8cebfb455f82ff2)
Fixes#23645
The problem is that the solution editor UI is an EUI, so the UI updates before the game states are applied.
A correct fix would be to move it to a BUI in some way, but that's a little involved as we don't really have pre-existing code that uses BUIs in a manner good for this. I decided against this because I realized we'd want to have more tools similar to this and tbh I kinda figured integrating it with VV would be a better fix instead, so...
This is a bad workaround to manually synchronize the UI updates against game timing. It's not pretty but it works.
(cherry picked from commit 3a2cd95d7f8d2b6975ebfda715b4cbf858e74668)
* Give .props files 2-space indents.
* Move to Central Package Management.
Allows us to store NuGet package versions all in one place. Yay!
* Update NuGet packages and fix code for changes.
Notable:
Changes to ILVerify.
Npgsql doesn't need hacks for inet anymore, now we need hacks to make the old code work with this new reality.
NUnit's analyzers are already complaining and I didn't even update it to 4.x yet.
TerraFX changed to GetLastSystemError so error handling had to be changed.
Buncha APIs have more NRT annotations.
* Remove dotnet-eng NuGet package source.
I genuinely don't know what this was for, and Central Package Management starts throwing warnings about it, so YEET.
* Remove Robust.Physics project.
Never used.
* Remove erroneous NVorbis reference.
Should be VorbisPizza and otherwise wasn't used.
* Sandbox fixes
* Remove unused unit test package references.
Castle.Core and NUnit.ConsoleRunner.
* Update NUnit to 4.0.1
This requires replacing all the old assertion methods because they removed them 🥲
* Oh so that's what dotnet-eng was used for. Yeah ok that makes sense.
* Add Robust.Analyzers.Test
* Update submodule
* commit to re-run CI
(cherry picked from commit a6c9c36b688a1ba78ff4c12502e81661cf607b6c)
* Add doors to the navmap
* tweaksies
* gah
* draw primitive
* draw primitive? at least take me out to dinner first!
* Update Content.Client/Pinpointer/UI/NavMapControl.cs
* casualties
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 1886941da6c807ec604cad902233a3ba559b2b25)
* This commit add ability to copy station name and time to clipboard
* Add ability to copy name and profession. Fix style of code.
* fix
* Make copy by pressing on label
* Fix style code
---------
Co-authored-by: Ivan Rubinov <linuxkernelpatch8234@riseup.net>
(cherry picked from commit 6913ebcf05e072d34f5b3d9ba84e1a3229c3cd9a)
* Set pAI up with a trackless map
* Added a untracked map user interface class to support gps-less mapping
* Added to pAI by default, expect it to be given to borgs as well in time.
As the personal AI is literally immobile as a ghost, it is useful to ensure that people carry one. With that idea in mind, it is worth giving the pAI a reason to be carried that doesn't depend on the player having a cracking selection of midi files on hand.
* Tried to use new ProtoId and have EntityUid on the client as commented by metalgearsloth
* Review
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 412f3f470c92bf2d974b13bc4e5e1c964d3a5346)
* Initial prediction
* new group handling
* groups for all examines that use multiple rn
* compile
* why was it doing this??
* handle newlines with sorting properly
(cherry picked from commit 0ae3858b69b695697ea9300609460f8ddb70ebbf)
* Fix Round Restarted Announcements not playing
Just make the RoundFlow manager play the funny
announcement sound effect, rather than pass it
through to players in an event that doesn't work.
Only three round end announcements probably
isn't enough. Maybe it is time for fresh memes.
* Remove the handling in ClientGameTicker.
* Pass in a specific filepass to broadcast.
* you make one line change in vscode and the linter
goes AH-HAH I CAN HELP YOU LET ME CLEAN
THIS UP and I'm like 😔 and have to revert
(cherry picked from commit a9075e5d247e425d737ff334b67c2146a6869cc8)
* Fix atmos UI inconsistent culture usage
* Remove the need to pass localization manager
(cherry picked from commit 3d911a64c7789f1e1de0df94dd27a4f0fdf05dcf)
added reparent bool for this kinds of unequips
Co-authored-by: Yurii Kis <yurii.kis@smartteksas.com>
(cherry picked from commit 920d7068e5987e45a62e4beb2c8c17190cd62bce)
* PR 1
* fix an error with health bar overlay (#1292)
* Revert "Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#155… (#15566)
* [1612] change ShowHealthBarsComponent's DamageContainer field to a list (#1662)
* fix build
* no crit entities from not updating
* cleanup
* namespace
* undu irrelevant changes
* undo icon change
* make health bar 1 px taller and icon 1 px shorter
* fix medibot
* fix comment
* don't show health bar ratio when in crit
* fix build
* put the crit bar back
* don't render healthbars for mobs that are in containers
* draw more boxes without the background sprite
* fine status icon for all bio mobs
* add wacky mandatory things
* attempt 2
* whoops wrong file
* cool, this works too
* move null check to top
* only 1 init
* security huds
* remove shader
* fix build after cleanup
* slight cleanup
* little more cleanup
* Remove clothing grant component system
* security HUD now shows a job icon on entities with a body
* remove sec stuff and do similar changes to split off PR + remove unused comp
* process comments
* don't return
* update to ComponentAddedOverlaySystemBase
* no cache
* colors and not rendering out of sight
* touch ups
* fix build & cleanup
* undo
* remove shader from icons
* process comments
* documentation
* fix licence
* validate prototype id
* just use args
* rename method and append in method
* type
* just fucken delete the command
* space
* undo
* remove
* don't use LocalPlayer
* re-add showhealthbars command, but working
* rename icon lists and conform health icon code to the others
* space
* undo
* update command
* oops
---------
Co-authored-by: Rane <60792108+Elijahrane@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit eed663e8b4d91ee772ccb54fc8a55e4c4afdcd64)
* moved ComputerBoardComponent to Content.Shared
* made flatpacker accept computer boards
* made flatpack system and ui function with computer boards
* fixed it so that flatpacks of computers are correctly coloured to fit their computer board colour
* unhardcoded the computer flatpack assembly cost
* Combined GetFlatpackCreationCost(...) with GetflatpackCreationCostForComputer(...)
* removed code duplication in SharedFlatpackSystem
* removed code duplication from FlatpackCreatorMenu.xaml.cs
* remove code duplication from FlatpackSystem (on the server)
* fixed indentation error
(cherry picked from commit 082bde40ca3fd39fff5daea26de4311cf2001f85)
SS14-1148 Fix MIDI Loading Failing Whilst a MIDI is playing
The behaviour of the button event handling did some wonky
async handling that got PJB swearing repeatedly in the contributor
VC.
Improve switching MIDI songs by:
0. Add a bool that tracks if we're currently waiting for the MIDI file
browser to terminate. Use this bool to short-circuit the
MidiFileButtonOnPressed function, ensuring you don't have to close
a morbillion file windows if you spam-clicked the button or forgot
you'd opened the window.
1. Remove a four-year-old hack involving waiting 100ms to load a MIDI
after trying to stop the last MIDI, because _the rot consumes_ or some shit
(cherry picked from commit 1defdebd7bb29cafa1f4cb4ef496ef6928634168)
* fixes major blindness issues like blindness not scaling with render res
* HEY. get outta there
(cherry picked from commit 6901e930b52d4a2535fa0ffdabaae3b5510b5811)
* glowy lights - makes light fixtures actually physically glow when active
* serviced the lights
* ya sure
(cherry picked from commit 1a531342c5c8b2860054f79479b02c8083f3b5d0)
* AutoCompState + ItemToggle fixes
Fix a lot of the comp states that are never actually networked and also cleaned up ItemToggle events a bunch. ItemToggle will still need some future work for lights and sounds.
* Also catch these
(cherry picked from commit 2166958bd0c23b7b9fd5c699eaeee910d1db62bf)
* Flatpacker and flatpacks
* ok that's good enough
* convert solars/AME to flatpacks
* mats, mats, we are the mats
* basic mechanics are DONE
* thing
* final UI
* sloth
* rped jumpscare
* rename
(cherry picked from commit 1c11332fa4b77d556e7f3db17f391dbd2664cda5)
* source in my guidebook
* finish it!
* sir yes sir oorah
* network that bitch, baby
(cherry picked from commit f538a2e34a4b62ac406a5871a3c52e51f8f0fad4)
Fix error when trying to delete an already deleted ExplosionVisualsTextureComponent.LightEntity
(cherry picked from commit 801829326a2cbfe33d8698137827b32034418a0d)
* SS14-23184 Migrate Lathe Material Ejection Code to MaterialStorage
The lathe material ejection code acts as a do-nothing
man-in-the-middle system that does work that would be
reasonable for any MaterialStorage-using machine to
use. This has been fixed by migrating the ejection
code to MaterialStorage, allowing anything that uses
the system to eject mats it is storing.
* Fix some YAML references. Science!!
(cherry picked from commit f850047341108b286170197d12f4d13946ee0b40)
* Artifact analyzer now pauses on power-loss
Instead of just cancelling the current scan, the artifact analyzer
will now pause in case of power-loss.
Scanning will automatically resume when power returns.
* Improve artifact scanning pausing
This builds upon the latest improvements in artifact scanning
regarding UI update.
(cherry picked from commit 4fe93cf456f28d14da144431be5b567a3896cd4e)
* Fix decal draw-order
Using the new overlayspace ensures they don't draw above grids above them.
* a
(cherry picked from commit 9ce847a840f06a13f4a32b721b21abef66ee4af8)
* Add some tests and fix some bugs
* Add more helper methods
* remove submodule
* fix merge
* also fix DirtyAll()
* poke
(cherry picked from commit 35ba42af9ccbbe41e8a3e59b30f2799ef8ca4b8d)
* Remove n rename cruft old shit
* Artifact analyzer UI updating optimization
* Revert "Remove n rename cruft old shit"
This reverts commit 8789338fb20f77d79c5b0e40719896efe0103fcc.
(cherry picked from commit ab6726136f452dc4372a5cc8d1d5dcabf65024b3)
* Add sprite movement states
Did it for borgs for reference for future implementations.
* Fix
* Fix prediction issue
* review
(cherry picked from commit 9a40cf81f55722083a985e4cdddda9c6008beb08)
* Add a 'Copy' button to the fax UI
* Add ValidatePrototypeId attribute
Co-authored-by: Kara <lunarautomaton6@gmail.com>
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit b20fcf51411761710a7289765d216bd3980ded35)
* Fixed EnergySword and variants having incorrect sound on attacking when in their Off state.
* Removed the unused ItemToggle from the serverside and created a new shared ItemToggleComponent and System, now used for the e-blade family of items. Also added e-blade hum and swing sounds. Thanks Sloth for the initial code!
* Changing Stunbaton system to include the itemToggle system.
* Adapted changes that have come up in the meantime.
* Changed damagespecifier to be serializable and autoNetworked in melee weapon components. Fixes a bug that makes it so client-side, damage values are not updated on toggle.
* Made the ItemToggleSystem have both a shared and a server component. Ported the Stun Baton and Stun Prod to the new toggleable system. Added a failure to activate noise component.
* Ported the welders to the new item toggle system. Set it so deactivated damage and item size default to the item's regular options.
* Removed unnecessary usings.
* Small modification to the stun prod.
* Made the integration test use the new method to turn the welders on.
* Fixed a few testing issues, applied a few changes requested by Delta.
* Updated Stunbaton code for consistentcy when it comes to calling the itemToggle component.
* Removed a redundant return; as per Delta.
Made examining the stun baton for charge rely on the battery component instead.
* Removed the welder visualizer system, now using the generic one. Removed some unused usings. Removed the welder visuals and layers.
Ported lighters to the new system.
Added zippi (sic) lighters.
* Renamed variables used to make them less generic.
* Simplified the light update code.
* Fixed the unit test to use the itemToggle system for welders now.
* Made the name shorter. I can't tell if the welding damage when interacted with actually does anything though. I can't figure out how to trigger it.
* Fixed some YML issues.
* Added a client side item toggle system just to make the shared code run on local UID's too.
* Fixed some more Yaml.
* Made the Zippi lighter have its own parent item, so it doesnt' conflict with the random pattern on the regular lighter.
* Made the zippi lighter its own in-hand sprites.
* Added a summary for the activated property in itemtoggle component.
* Fixed a typo in the itemToggle Component.
* Fixed a typo.
* Added to the remarks for the ItemToggleComponent.
* Fixed up the lighter yaml to make it use a generic term instead of a toggle layer enum for the random skin.
* Fixed a bug I introduced accidentally with the humming sound.
* Removed 2 unnecessary events from the ItemToggleSystem and component.
* Fixed a bug by only making the server run the item activation code, since the client cannot predict whether or not the activation will be cancelled.
* Cleaned up some names and functions getting called.
* Renamed a couple of variables and removed the explicit datafields from the component. Removed "activated: false" from yml since they're already deactivated by default.
* Added an IsActivated function, used it in the welder and stun baton systems code.
Refactored welder code to remove the WelderToggle event, now using the ItemToggleActivatedEvent instead for eye protection check.
* Fixed a typo. Added some comments.
* Split the ItemToggle into smaller components.
Changed the items that used the toggle system to work with the smaller components.
Made the mirror shield reflect energy shots with a 95% chance.
* Fixed the namespaces for the server components and whatnot.
* Fixed a doubled deactivation sound from using activated wieldable items (like the double Esword).
Fixed wrong yml with the e-dagger.
Fixed the disarm malus code.
* Added the zippo lighter to the detective's trench coat.
* Removed the default hit sound for the double e-sword since it was unnecessary.
* Changed e-sword damage numbers to be in line with the changes made by Emisse.
* Made no damage sounds be autoNetworked, so it changes can be changed on activation/deactivation of items.
Made Welders and Eswords sound like themselves but quieter if they hit for 0 damage, instead of taps.
You can choose what sound to play when a weapon does 0 damage when activated now.
Fixed a bug with swing sounds.
* Typo.
* Fixed a bug where the welder would blind you if you used it while it was off.
* Created a single abstract method called when an item has completed its toggle.
* Update Content.Server/Eye/Blinding/EyeProtection/EyeProtectionSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Fixed a comment.
* Made most component variables readOnly for ItemToggle. There is no need to be able to change them from within the variable viewer.
* Removed trailing white spaces.
* Made the Use a field instead of a property in the itemToggleActivation/Deactivation attempt events.
* Small fixes.
* Removed ForceToggle, just use the toggle method instead.
* Fixed a bug with item sharpness staying even after getting deactivated, if the item gained sharpness that way (esword).
* Used ProtoId in the welder component.
* Made damage NetSerializable as well.
* Added networking and data fields to a couple of components.
* Made component variables autonetworked. Added some comments.
* Moved the events that modify item components on toggle to events, handled (where possible) in the systems linked to said components.
* Made all the component variables readWrite again.
* Added the component get to the WelderStatus.
* Added a predictable bool to the item toggle component.
* Replaced the Activated/Deactivated events with ToggleDone, with an Activated argument. Used that to simplify some systems.
* Added a reflect update raise event.
* Removed the Zippo changes. To add in a later PR.
* Removed the zippo from meta.json too.
* Small fix.
* Another small fix.
* Fixed the wieldable system thing in ItemToggle.
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit a3fbab84e645a16a30845aa1e683e7ffc0e3b8cd)
* Prototyping whole station wire map
* More prototyping
* Added icons for the different power distributors and toggleable cable displays
* Power cable layouts are now only sent to the client when the power monitor is open
* UI prototyping
* Power monitors can now see the sprites of distant entities, long entity names are truncated
* Updated how network devices are added to the player's PVS
* More feature prototypes
* Added source / load symbols
* Final prototype! Time to actually code it properly...
* Start of code clean up
* Continuing code clean up
* Fixed UI appearance
* Code clean up complete
* Removed unnecessary changes
* Updated how power values are calculated, added UI warnings for power sinks and power net checks
* Updated how power values are calculated again, added support for portable generators
* Removed unnecessary files
* Map beacons start toggled off, console map now works outside the station, fixed substation icon
* Made some of Sloth's requested changes. Power distributors don't blink anymore, unless selected
* Moved a number of static variables in PowerMonitoringHelper to sensible places in the main files. Added a NavMapTrackableComponent so that you can specify how individual entities appear on the navmap
* Updated the colors/positions of HV cables and SMESes to improve contrast
* Fixed SMES color in map legend
* Partially fixed auto-scrolling on device selection, made sublists alphabetical
* Changed how auto-scroll is handled
* Changed the font color of the console warning messages
* Reduced the font size of beacon labels
* Added the station name to the console
* Organized references
* Removed unwanted changes to RobustToolbox
* Fix merge conflict
* Fix merge conflict, maybe
* Fix merge conflict
* Updated outdated reference
* Fixed portable_generator.yml
* Implemented a number of requested changes, move bit masks to a shared component
* Navigate listings via the navmap
* First attempt at improving efficiency
* Second attempt at optimization, entity grouping added for solar panels
* Finished solar panel entity joining
* Finished major revisions, code clean up needed
* Finializing optimizations
* Made requested changes
* Bug fix, removed obsolete code
* Bug fixes
* Bug fixes
* STarted revisions
* Further revisions
* More revision
* Finalizing revisions. Need to make RT PR
* Code tidying
* More code tidying
* Trying to avoid merge conflicts
* Trying to avoid merge conflicts
* Removed use of PVS
* Improving efficiency
* Addressed a bunch of outstanding issues
* Clear old data on console refresh
* UI adjustments
* Made node comparison more robust. More devices can be combined into one entry
* Added missing component 'dirty'
(cherry picked from commit 1de682e23fd3cb832fa3328a7e6c4bd4b1a858f7)
* Corner clothing (save point)
* IT WORKS. YIPPEE
* the last of it
* template rejigs
(cherry picked from commit 9b18357a882d6a9e3dfb3b4fccaa42f65238c9f0)
* Completely untested first commit
* Get basic program flow working
* Add Innocent
* Add Fancy Rich Text
* Icon
Thanks, IcedQuinn!
* Add Cartridge icons
* New image from IcedQuinn
* Add explanation on what a Sophont is, to be automatically appended to any text referencing a Sophont later on
* Convert tabs to spaces
* remove [bold] tags from loc
* Make text bold again
* Alter formatting, reduce text length for sophont explanation to fit it on the screen
* Update Resources/Locale/en-US/deltav/cartridge-loader/cartridges.ftl
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Signed-off-by: Tim Falken <timfalken@hotmail.com>
* Add program to more PDA's
* Add a tip about the app
* Recreate flow in yaml
todo: actually load and use this yaml
* Remove the old state machine, and add configurable yaml prototypes to define pages
* Move page to its own file
---------
Signed-off-by: Tim Falken <timfalken@hotmail.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* sync
* sync
* no more squiggles..
* last build error
* updated maps for testing
* some issue with receiving arrivals setup
* networkpayload refactor. TODO: accurate timings
* timings accurate. TODO: backport old bugfix
* all set?
* cleaned up source. TODO: diff arrivals methods
* cleaned component. TODO: escape polish, docs
* first documentation pass
* escape timers work
* no more magic numbers
* removed dead code leads
* sync
sync
* Automatic changelog update
* shuttle timer groundwork
no more squiggles..
last build error
updated maps for testing
some issue with receiving arrivals setup
networkpayload refactor. TODO: accurate timings
timings accurate. TODO: backport old bugfix
all set?
cleaned up source. TODO: diff arrivals methods
cleaned component. TODO: escape polish, docs
first documentation pass
escape timers work
no more magic numbers
* BBQ rib sandwich (#21180)
* Fix missing toggle fullscreen loc string (#21264)
* Cave Decoration pack (#21265)
* add chromite chasm
* add desert chasm
* snow chasm
* finish
* fixes and tweaks (#21172)
* Automatic changelog update
* Fix ItemPlacer (#21160)
This is going to lead to many entities being ticked unnecessarily and performance problems.
* headrev spawn music (#21119)
* headrev spawn music
* :trollface:
* skill issue
* double skill issue
* :trollface:
* :trollface:
* :trollface:
* Automatic changelog update
* Techfab resprite + department fab sprites (#21136)
* Fix popup messages appearing when someone tries to open a door without a tool. (#21099)
* The fixTM
* typo fix
* addressing review
* Show "departed and moved on" for when a ghost role is taken (#21092)
* fix ghost role not counting for "departed and moved on"
* I don't think that bit was needed so away it goes
* hopefully finish the upsream merge
* Automatic changelog update
* Implant whitelist/blacklisting (#20678)
* add whitelist and blacklist to implant and implanter components
* handle whitelist and blacklist in systems
* move hardcoded whitelist/blacklist to base implanter + add admeme implanter
* give implants sensible whitelists
* cleaner CheckTarget and fix
* remove unused imports
* network lists
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Automatic changelog update
* Ion storm event (#20277)
* ion storm event prototype + locale
* add lawsets
* use lawsets, make borgs ion storm targets
* ion storm rule and ion storm target
* lawset prototype
* use lawsets
* update silicon law system to use lawsets and support ion storm event
* new toys
* fix
* more fix
* fixy
* ion storm admin logging
* assigning laws makes borg provide its own laws, other stuff
* 1h reoccurence
* 50% chance
* better call saul
* emagLaws is required
* add announcment audio
* fixy
* family friendly gaming
* fixy
* address reviews
* fixy
* more fixy and no erp
* pro
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Automatic changelog update
* A return to foam (foam rework) (#20831)
* Automatic changelog update
* ERT Loadout overhaul + Real deathsquad mobs + ERT fixes (#21230)
* "assist with medical efforts"
* CentComm official description change
* give cburn ert mask
* Ert medic hardsuit uses blood-red medic values
* description changes, they all used to use the blood-red description
* ert engineer hardsuit uses cburn values, good for handling all possible engineering problems.
* janitor hardsuit uses cburn values for extreme messes, otherwise we'd send the non eva variant.
* spawn suffix changes
* shorten suffix
* drop armor from ert jumpsuits
* drop armor from DS jumpsuit
* add more armor to death squad to make up for removed armor in the uniform.
* give sec gas masks armor, give syndicate gas masks armor. ERT gas mask uses syndicate mask values
* add nanotrasen
* removed duplicate
* give centcom IDs their hud icon
* replace all ert bulletproof armor with basic universal armor
* replace all oxygen tanks with air tanks; species is random.
* remove gun and meds from ert engineer kit
* give ert engineer materials
* remove weapons and meds from janitor ert
* give ert janitor light replacer
* remove ert sec pulse weapons, admins will assign loadout. Either the lecter or enforcer, probably.
* Give ert sec the security pistol kit
* typo
* give eva ert sec pistol
* give eva janitor ert gas mask
* give jani purple gloves
* medical gloves for medical ert
* replicate security loadout to leader
* quick ert lecter spawns for lazy admins
* better suffixes to find them easier
* add cburn to ertspawn
* Replace "Spawn" with "role"
* Add death squad. Give ert engineer gas analyzer.
* death squad using wrong equipment
* typo
* missing ghost roles on lecter loadouts
* add freedom implanter to deathsquad
* deathsquad ghost role text
* Operative sounds better
* give Ds flashbang box (why isn't it entirely filled?)
* fix typo. add energy shield to DS
* fix typos
* all centcomm roles are now mindshielded. These cannot be removed.
* Rider didnt include some of the changes ?
* give zipties instead of cuffs for mass arrests!
* upgrade ERT survival boxes to extended capacity
* give cburn extended oxygen too
* Automatic changelog update
* Restore Leviathan's 80 pop cap (#21281)
* Un-revert IPlayerManager refactor (#21244)
* Update engine to v172.0.0 (#21288)
* Bandaid tests (#21292)
* rename the rocks (#21275)
* Make crystals noRot (#21279)
IDK might be better. Ideally the anchoring would be offset 0-0 but this is the world we live in atm.
* Fix nukies sound not played (#21268)
* Play sound and sending greeting message works for nukies now!!!!!
* oops
* silly change
* Automatic changelog update
* Fix hijack objective (#21241)
* Fix hijack
* Max difficulty
* Remove GridModifiedEvent (#21291)
* Update submodule to 173.0.0 (#21296)
* Fix namespace error (#21298)
* Update yaml sequence option in editorconfig (#21297)
* Fix namespace (#21299)
* fix cburn bag issue, make new bag entity for them and filled bag entity (#21295)
* Health analyzer UI improve (#17280)
* Automatic changelog update
* User accessible playtime (#21242)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Automatic changelog update
* Moves cloning comp & cloning event to shared (#21253)
* Generalizes solution overflow & slightly increases space lube yield (#21094)
* generalize SolutionSpikeOverflowEvent
* let reactions overflow
* spacelube: 3 -> 5
* restore TryMixAndOverflow threshold cap
* Automatic changelog update
* Move ActorComponent to shared (#21293)
* Update engine to v174.0.0 (#21311)
* Fix planet command help message (#21312)
* Wearable bee plush (#20623)
* add
* fix
* temporary change, needs fixing
* mayb fix
* actually fix FR
* yes
* Automatic changelog update
* remove pulse rifle from ert medic (#21310)
* Content audio (#20862)
* Automatic changelog update
* Update submodule to 175.0.0 (#21318)
* Revert "Update submodule to 175.0.0 (#21318)" (#21319)
* Atomic bomb add uranium (#21143)
* fix: Incendiary bullets no longer deal cold, acid, or shock damage that ignores all armor.
* Atomic bomb
* Action bugfixes (#21321)
* Disable OOC during round (#21323)
* Fix PDA notifications when creating a news entry using the Mass-Media console. (#21320)
* Automatic changelog update
* Update belt.yml (#21317)
changes the chief engineer's belt to remove the lv wires (they take up a lot of space and are easy to get anyways) in exchange for a holofan, a t-ray, and a gas analyzer (first time coding ever this might have to be edited)
* New foam sprites (edge sprites) (#21308)
* New foam sprites (icon smoothing)
* changed to edge sprites for foam
* fix
* edges for metal foams
* fix
* Fix bola stam damage, bring back old construction requirements (#21340)
* Automatic changelog update
* Added thermal insulation to flannel jackets (#21273)
* Automatic changelog update
* Space Asshole Gear (#21243)
* Add Space Asshole Coat
* Add sledgehammer
* Adjust sledgehammer damage values
* Add copyright string to sledgehammer
* Fix broken slot highlight in midnight theme. (#21331)
* removed dead code leads
removed redundant ensurecomps
* textscreen documentation
* remove redundant ensurecomps
* Add hint for the examine trigger effect (#21166)
* examine locale
* examine trigger desc
Automatic changelog update
cornmeal is actually obtainable now (#21162)
* do the thing
* lets find out
* Update Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Automatic changelog update
Healing skeletons by pouring milk over them (and clean pie remains off their skulls) (#21231)
* mvp done - skellies can heal by spillink regular milk on themselves and clean themselves off creaming with water
* added other types of healing milk, also made a separate reaction to oat milk - it has almost no calcium in it
* fixed indent error, made a dumb mistake
Automatic changelog update
Fix anomaly locators frantically beeping when entering detection range. (#21178)
* reset beep timer when out of range
* prevent deficit from impacting beep timing
Automatic changelog update
Remove "mk --> mmm, okay" and "u --> you" to chatsan anti slang (#21177)
Automatic changelog update
Adds AttemptEntity(Uns|S)tickEvent. (#20728)
* try-stick
* convert spider charge to attempt-stick-events
Change ListContainer to send null when selected is removed from the data (#20595)
fix feeding unremovable items (#21234)
Automatic changelog update
Power switchable refactor (#20419)
Co-authored-by: deltanedas <@deltanedas:kde.org>
simple space mobs cant be flashed (#20784)
Co-authored-by: deltanedas <@deltanedas:kde.org>
give roundstart borgs names (#20081)
Co-authored-by: deltanedas <@deltanedas:kde.org>
fix searching on vending machines (#21233)
syndicate snack box (#21024)
Co-authored-by: deltanedas <@deltanedas:kde.org>
Fix DockingControl (#21238)
Shadow Dimension visual pack (#21237)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Potato battery update + potato AI (#21142)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
[TEST MERGE] Slot-based Storage (#21212)
Automatic changelog update
Some mild item size balancing + fixes (#21250)
Automatic changelog update
Revert "Storage TEST MERGE" (#21258)
Add missing changelog for storage refactor revert (#21259)
* sync
sync
* Automatic changelog update
shuttle timer groundwork
no more squiggles..
last build error
updated maps for testing
some issue with receiving arrivals setup
networkpayload refactor. TODO: accurate timings
timings accurate. TODO: backport old bugfix
all set?
cleaned up source. TODO: diff arrivals methods
cleaned component. TODO: escape polish, docs
first documentation pass
escape timers work
no more magic numbers
BBQ rib sandwich (#21180)
Fix missing toggle fullscreen loc string (#21264)
Cave Decoration pack (#21265)
* add chromite chasm
* add desert chasm
* snow chasm
* finish
fixes and tweaks (#21172)
Automatic changelog update
Fix ItemPlacer (#21160)
This is going to lead to many entities being ticked unnecessarily and performance problems.
headrev spawn music (#21119)
* headrev spawn music
* :trollface:
* skill issue
* double skill issue
* :trollface:
* :trollface:
* :trollface:
Automatic changelog update
Techfab resprite + department fab sprites (#21136)
Fix popup messages appearing when someone tries to open a door without a tool. (#21099)
* The fixTM
* typo fix
* addressing review
Show "departed and moved on" for when a ghost role is taken (#21092)
* fix ghost role not counting for "departed and moved on"
* I don't think that bit was needed so away it goes
* hopefully finish the upsream merge
Automatic changelog update
Implant whitelist/blacklisting (#20678)
* add whitelist and blacklist to implant and implanter components
* handle whitelist and blacklist in systems
* move hardcoded whitelist/blacklist to base implanter + add admeme implanter
* give implants sensible whitelists
* cleaner CheckTarget and fix
* remove unused imports
* network lists
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Automatic changelog update
Ion storm event (#20277)
* ion storm event prototype + locale
* add lawsets
* use lawsets, make borgs ion storm targets
* ion storm rule and ion storm target
* lawset prototype
* use lawsets
* update silicon law system to use lawsets and support ion storm event
* new toys
* fix
* more fix
* fixy
* ion storm admin logging
* assigning laws makes borg provide its own laws, other stuff
* 1h reoccurence
* 50% chance
* better call saul
* emagLaws is required
* add announcment audio
* fixy
* family friendly gaming
* fixy
* address reviews
* fixy
* more fixy and no erp
* pro
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Automatic changelog update
A return to foam (foam rework) (#20831)
Automatic changelog update
ERT Loadout overhaul + Real deathsquad mobs + ERT fixes (#21230)
* "assist with medical efforts"
* CentComm official description change
* give cburn ert mask
* Ert medic hardsuit uses blood-red medic values
* description changes, they all used to use the blood-red description
* ert engineer hardsuit uses cburn values, good for handling all possible engineering problems.
* janitor hardsuit uses cburn values for extreme messes, otherwise we'd send the non eva variant.
* spawn suffix changes
* shorten suffix
* drop armor from ert jumpsuits
* drop armor from DS jumpsuit
* add more armor to death squad to make up for removed armor in the uniform.
* give sec gas masks armor, give syndicate gas masks armor. ERT gas mask uses syndicate mask values
* add nanotrasen
* removed duplicate
* give centcom IDs their hud icon
* replace all ert bulletproof armor with basic universal armor
* replace all oxygen tanks with air tanks; species is random.
* remove gun and meds from ert engineer kit
* give ert engineer materials
* remove weapons and meds from janitor ert
* give ert janitor light replacer
* remove ert sec pulse weapons, admins will assign loadout. Either the lecter or enforcer, probably.
* Give ert sec the security pistol kit
* typo
* give eva ert sec pistol
* give eva janitor ert gas mask
* give jani purple gloves
* medical gloves for medical ert
* replicate security loadout to leader
* quick ert lecter spawns for lazy admins
* better suffixes to find them easier
* add cburn to ertspawn
* Replace "Spawn" with "role"
* Add death squad. Give ert engineer gas analyzer.
* death squad using wrong equipment
* typo
* missing ghost roles on lecter loadouts
* add freedom implanter to deathsquad
* deathsquad ghost role text
* Operative sounds better
* give Ds flashbang box (why isn't it entirely filled?)
* fix typo. add energy shield to DS
* fix typos
* all centcomm roles are now mindshielded. These cannot be removed.
* Rider didnt include some of the changes ?
* give zipties instead of cuffs for mass arrests!
* upgrade ERT survival boxes to extended capacity
* give cburn extended oxygen too
Automatic changelog update
Restore Leviathan's 80 pop cap (#21281)
Un-revert IPlayerManager refactor (#21244)
Update engine to v172.0.0 (#21288)
Bandaid tests (#21292)
rename the rocks (#21275)
Make crystals noRot (#21279)
IDK might be better. Ideally the anchoring would be offset 0-0 but this is the world we live in atm.
Fix nukies sound not played (#21268)
* Play sound and sending greeting message works for nukies now!!!!!
* oops
* silly change
Automatic changelog update
Fix hijack objective (#21241)
* Fix hijack
* Max difficulty
Remove GridModifiedEvent (#21291)
Update submodule to 173.0.0 (#21296)
Fix namespace error (#21298)
Update yaml sequence option in editorconfig (#21297)
Fix namespace (#21299)
fix cburn bag issue, make new bag entity for them and filled bag entity (#21295)
Health analyzer UI improve (#17280)
Automatic changelog update
User accessible playtime (#21242)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Automatic changelog update
Moves cloning comp & cloning event to shared (#21253)
Generalizes solution overflow & slightly increases space lube yield (#21094)
* generalize SolutionSpikeOverflowEvent
* let reactions overflow
* spacelube: 3 -> 5
* restore TryMixAndOverflow threshold cap
Automatic changelog update
Move ActorComponent to shared (#21293)
Update engine to v174.0.0 (#21311)
Fix planet command help message (#21312)
Wearable bee plush (#20623)
* add
* fix
* temporary change, needs fixing
* mayb fix
* actually fix FR
* yes
Automatic changelog update
remove pulse rifle from ert medic (#21310)
Content audio (#20862)
Automatic changelog update
Update submodule to 175.0.0 (#21318)
Revert "Update submodule to 175.0.0 (#21318)" (#21319)
Atomic bomb add uranium (#21143)
* fix: Incendiary bullets no longer deal cold, acid, or shock damage that ignores all armor.
* Atomic bomb
Action bugfixes (#21321)
Disable OOC during round (#21323)
Fix PDA notifications when creating a news entry using the Mass-Media console. (#21320)
Automatic changelog update
Update belt.yml (#21317)
changes the chief engineer's belt to remove the lv wires (they take up a lot of space and are easy to get anyways) in exchange for a holofan, a t-ray, and a gas analyzer (first time coding ever this might have to be edited)
New foam sprites (edge sprites) (#21308)
* New foam sprites (icon smoothing)
* changed to edge sprites for foam
* fix
* edges for metal foams
* fix
Fix bola stam damage, bring back old construction requirements (#21340)
Automatic changelog update
Added thermal insulation to flannel jackets (#21273)
Automatic changelog update
Space Asshole Gear (#21243)
* Add Space Asshole Coat
* Add sledgehammer
* Adjust sledgehammer damage values
* Add copyright string to sledgehammer
Fix broken slot highlight in midnight theme. (#21331)
* removed old ensurecomps, stubs
removed dead code leads
removed redundant ensurecomps
sync
sync
no more squiggles..
last build error
updated maps for testing
some issue with receiving arrivals setup
networkpayload refactor. TODO: accurate timings
timings accurate. TODO: backport old bugfix
all set?
cleaned up source. TODO: diff arrivals methods
cleaned component. TODO: escape polish, docs
first documentation pass
escape timers work
no more magic numbers
removed dead code leads
textscreen documentation
remove redundant ensurecomps
* sync
* new shuttletimer sprite/offset
* sync
* sync
* sync
* sync
* sync
* builds
* sync
* sync
* sync
* offset adjustments
* timer pattern implemented
* arrivals timer system seems to work
* sync
* sync
* sync
* sync
* sync
* sync
* sync
* sync
* sync
* sync
* implements shuttletimers
* centcomm timers
* set color to tg 1097fb
* textscreen -> signalscreen, shuttletimer -> screen
* move screens out of timer.yml
* pruned unused properties/imports
* license+copyright for screen.rsi
* forgor change signaltimer event handler doc
* roundstart arrivals ftl logic
* block signaltimer screentext updates during timing
* merged robust 185
* centcomm carpet uid collision PLEASE MERGE MY PR
* remove arrivalssystem entitymanager dependency
* refactored magic strings, added roundend getters
* specific vgstation sprite commit licensing
---------
* Add more DNA interactions
* remove unused import
* update based on feedback
* Add event for chemistrysystem.injector
* move event to shared; transfer dna to implanter
* doafter and interaction event fixes
* add BreakOnHandChange
* doh
* use events instead of updating component directly
* Add DataFields to ForensicScannerComponent fields
* Convert most events to system api call
* Adds uses before delay so actions can be used multiple times before cooldown
* adds methods to get remaining charges, to set uses before delay, and to set use delay
* adds method to change action name
* moves set usedelay
* action upgrade ECS
* adds method to reset remaining uses
* adds upgrade events
* refactors action upgrade event and adds logic to parse it
* fix serialization issue
* adds level up draft method
* adds action commands and a command to upgrade an action
* more warning lines to help
* Gets action to upgrade properly
* Removes unneeded fields from the action upgrade component and now properly raises the level of the new action
* Cleans up dead code and comments
* Fixes punctuation in actions-commands and adds a TryUpgradeAction method.
* removes TODO comment
* robust fix
* removes RT
* readds RT
* update RT to 190
* removes change name method
* removes remaining uses & related fields and adds that functionality to charges
* Adds Charges to action tooltips that require it
* Fix chat filter button
Oh look, the popup code was copy pasted between chat filter and channel selector.
Hilarious.
Anyways same stuff as 995f506aafd770dd6572dfc9e7bf9e18186e485a. I pulled it all out into a base class so NO MORE COPY PASTE.
Fixes#22360
* Remove all further EnableAllKeybinds buttons.
Fixes#22346
Yeah none of these are valid use cases, why is this set...
By making the UI elements persistent, it allows tooltips to remain
on-screen when other elements are updated - in particular, the number
of research points, which is updated regularly.
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
* Gateway generation
* Gateway stuff
* gatewehs
* mercenaries
* play area
* Range fixes and tweaks
* weh
* Gateway UI polish
* Lots of fixes
* Knock some items off
* Fix dungeon spawning
Realistically we should probably be using a salvage job.
* wahwah
* wehvs
* expression
* weh
* eee
* a
* a
* WEH
* frfr
* Gatwey
* Fix gateway windows
* Fix gateway windows
* a
* a
* Better layer masking
* a
* a
* Noise fixes
* a
* Fix fractal calculations
* a
* More fixes
* Fixes
* Add layers back in
* Fixes
* namespaces and ftl
* Other TODO
* Fix distance
* Cleanup
* Fix test
* Deep Fryer And Its Powers
The Deep Fryer has been implemented. It uses Corn Oil, Ghee, and Olive Oil to fry. Other features include:
1. Mixing Oil and Water at a certain temperature causes smoke.
2. When throwing an object at the Deep Fryer, a Chef will *always* land the shot, but anyone else has a chance of missing.
3. When an item is sliced, an event is triggered that other items can see.
* Update meal_recipes.yml
* Reworking the effects so they won't trigger on init.
* Create DeepFryerTest.cs
* Commenting out the UnsafeOilVolumeEffects part of the .yml. Something about the sound script inside of it breaks UnintializedSaveTest and it's not necessary for a smoke reaction to occur anyway.
* Update DeepFryerSystem.cs
* Psionics
It's a ton of stuff relating to the basic Psionics system and all the powers.
I'm saving this as a bit of a sanity check before moving forward.
Left to do:
1. Implementing the Psionic faction so that the chat works as intended.
2. Adding the start-state cooldown timers to the actions.
* Cleaned up everything with the word 'Psionic' on it.
Got the psionic chat working. Got some other stuff working
* Some final psionic cleanup.
The last batch of content.
* Update RobustToolbox
* rebased
* Revert "Update RobustToolbox"
This reverts commit c0cf35d03f.
* Update RobustToolbox
* Revert "Update RobustToolbox"
This reverts commit c4dc828df7.
* Update RobustToolbox
* Psionics
It's a ton of stuff relating to the basic Psionics system and all the powers.
I'm saving this as a bit of a sanity check before moving forward.
Left to do:
1. Implementing the Psionic faction so that the chat works as intended.
2. Adding the start-state cooldown timers to the actions.
* Cleaned up everything with the word 'Psionic' on it.
Got the psionic chat working. Got some other stuff working
* Some final psionic cleanup.
The last batch of content.
* rebased
* Cleaned up everything with the word 'Psionic' on it.
Got the psionic chat working. Got some other stuff working
* Broken Commit
With these changes in place, the unit does not work. Recording them so i don't lose my work.
* Brings it All Together.
Dawn of the final Commit. Rebase completed.
* Update RobustToolbox
* Changed 'Station Events' to 'StationEvents' and cleaned up the Delta-V Events.yml file of duplicate events.
* Delete ghost_roles.yml
Duplicate.
* Update familiars.yml
* Update familiars.yml
* Update GlimmerReactiveSystem.cs
* Makes tinfoil hats craftable.
* Decided I'm not dealing with adding fugitives or Glimmer Wisps right now.
* Psionic invisibility won't work now that Eye component exists. Or at least, the integrator test won't psas.
* Update special.yml
* Added #nyanotrasen code or //Nyanotrasen code to many, many files.
* Properly fixes comments.
---------
Signed-off-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Signed-off-by: PHCodes <47927305+PHCodes@users.noreply.github.com>
Co-authored-by: Debug <sidneymaatman@gmail.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* redone
* I FUCKING HATE SPAWNING STUFF IN SHARED
* inheritdoc
* owo
* fly broken wings
* From a server event to just an event.
* more info
* a comment and a different comment
* Partial
* Emo's requested changes.
* wuh
* head ache
* they call me mean names (laugh track)
* Reverse Engineering.
It's engineering. It's reversed. I implemented Bluespace Crystals to get everything to work. I may have missed some recipes in the Lathes. Otherwise, everything seems like it just works. Blukie suits baby.
* Fixing the Bonus mechanic out of testing.
* Fixing Attributions.
* Fixing Attributions again because it won't let me put in multiple links into one string.
* Not dealing with Techfabs right now, integration tests will not pass with them.
* Added appropriate comments
---------
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* Near-sighted trait from SIMPLE STATION 14
AKA PARKSTATION
COMING NOW TO THE REBASE!!!!
FUNNY CODE MADE BY DEATH (allegedly)[joke]{unless?}
After i figure out what does a component not have a setter mean.
* Aparently this was needed
The trait doesnt appear in the traits so thats funny.
* The - update
Aparently its very important.
---------
Signed-off-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
* Option for alt health alert and no overlay
* Fancy borg health indicator
* Borg damage examine localization
* EENENGHHHH ENNNGHHH
* Requested code changes
* Legal sound
* Revert "Legal sound"
This reverts commit 35715c88898aeb78dfe800319852c230395fdd7e.
I misunderstood what Sloth meant
* Annoying buzzer is back
* locale for material units
* use material units in lathe ui
* give units to non-sheet materials
* :trollface:
* use volume properly
* :trollface:
* review
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
This completes PilgrimViis' (now closed) PR 16398. It addresses issue 10896, by allowing materials to be ejected from most lathes (except the ore processor and sheet-meister 2000)
* - Refinements to the material ejection UI
- Made the lathe UI default to a slightly larger size
- Fixed an offset issue with the label of the item currently being printed in the build queue UI
* Allow the materiel reclamation UI to pop if there is material left in the lathe, but not enough to print any sheets
---------
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
* Fix editing a watchlist temporarily making it appear as a low severity note
* Change condition to check that the note type is anything other than note
* Revert "Change condition to check that the note type is anything other than note"
This reverts commit 5c12d89fe8b3547dc11b19bb04e980fe4e7bf206.
* Update Content.Client/Administration/UI/Notes/AdminNotesLine.xaml.cs
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Check that the note type doesn't have a special icon instead
---------
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Add ahelp typing indicator for admins
* Lower typing updates throttle from 3 seconds to 1
* Add stopping typing when sending a message
* Lower typing indicator timeout from 15 to 10 seconds
* 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
* Basic TEG start.
Connects via node group.
* Basic TEG test map
* Sensor monitoring basics, TEG circulator flow
* Basic power generation (it doesn't work)
* More sensor monitoring work
* Battery (SMES) monitoring system.
* Sensor monitoring fixes
Make it work properly when mapped.
* Test map improvements
* Revise TEG power output mechanism.
Now uses a fixed supplier with a custom ramping system.
* TEG test map fixes
* Make air alarms and pumps open UI on activate.
* Clean up thermo machines power switch.
Removed separate Enabled bool from the component that always matched the power receiver's state.
This enables adding a PowerSwitch component to give us alt click/verb menu.
* TEG but now fancy
* Make sensor monitoring console obviously WiP to mappers.
* Vending machine sound, because of course.
* Terrible, terrible graph background color
* Examine improvements for the TEG.
* Account for electrical power when equalizing gas mixtures.
* Get rid of the TegCirculatorArrow logic.
Use TimedDespawn instead. The "no show in right-click menuu" goes into a new general-purpose component.
Thanks Julian.
* Put big notice of "not ready, here's why" on the sensor monitoring console.
* TryGetComponent -> TryComp
* Lol there's a HideContextMenu tag
* Test fixes
* Guidebook for TEG
Fixed rotation on GuideEntityEmbed not working correctly.
Added Margin property to GuideEntityEmbed
* Make TEG power bar default to invisible.
So it doesn't appear in the guidebook and spawn menu.
I'm not entirely sure what happens, I know it's markings being loaded from DB with the same ID as a prototype that was modified don't jive, but I'm not entirely sure if it's the best fix.
The access configurator programs the access levels of any access reader. To use the access configurator, players must:
- Insert an ID card
- Click a nearby entity with an access reader with the access configurator in hand
- Change the access list
Note that players only need one of the access levels listed on the device to lock/unlock it, but will only be able to alter access settings when they all of the access levels listed on the device
For example, an airlock which has 'Science' and 'Engineering' access listed can be opened by any player with either 'Science' or 'Engineering' access. However, to change the access settings on this airlock, a player must have both 'Science' and 'Engineering' access. This is to prevent people from easily breaking into secure areas with this tool, by adding one of their own access levels to the target device
Obviously, the most useful ID card to use with this tool is one with all access, since it can change the settings of any device. Removing all access requirements from a device will make it useable by anyone.
---------
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
* Xeno spitter fixes
- Require hands for pickup compounds
- Ranged combat can force movement to ignore LOS checks if ranged wants better LOS.
* Also spirates
IDK how this worked before but TryGetGun shouldn't care about combatmode.
* 1 more
* ogh
* i should save my work
* ogh
* hhcdfhjbghshbxdfhghshc
- lots of bugs in parsing still
- invocation is a stub
* expr parsing works
* awawa
* Saving work
* Improve APIs a bit all around, add shortcuts.
* awa
* awa
* AAAAAA
* save work
* Move shit to engine
* lord
* bql is kill
* forgot the fucking bike rack
* bql is kill for real
* pjb will kill me
* aughfhbdj
* adgddf
* gdsgvfvxshngfgh
* b
* hfsjhghj
* a
* tf you mean i have to document it
* follow C# standards
* Assorted cleanup and documentation pass, minor bugfix in ValueRefParser.
* Start porting old commands, remove that pesky prefix in favor of integrating with the shell.
* bw
* Fix valueref up a bit, improve autocomplete for it.
* awa
* fix tests
* git shut up
* Arithmetic commands.
* parse improvements
* Update engine.
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* turret go boom
* fix ammo
* universal function name
* Also explodes when destroyed
* comment added
* Triggerwhenemptycomponent added
* comment adjusted
* Updated uplink description
* Moved to own event file
* file namespace
* rerun tests
---------
Co-authored-by: Slava0135 <super.novalskiy_0135@inbox.ru>
* Add Console, PDA news tab, and ringstone popup
* Add English localization
* Add mass-media console board to Advanced Entertainment resrarch
* Fix misprint
* Deleting unused libraries
* Fix round restart problem
* Fixing restart problem
* Just another fix
* Сode optimization
* Code optimization
* Convert News read tab to cartridge
Convert the News read tab into a cartridge, and fix a couple of bugs
* Just another fix
* Some updates
* More fixing!!
Fix cooldown, add author label to read menu
* Again, fix cooldown bug
* Some minor changes
* Revert "Some minor changes"
This reverts commit 470c8d727629ac79994f70e56162adae8659e944.
* Some minor updates
* News write Ui update
* Just another fix
* See commit below comments
* More code readability, more!
* Add Console, PDA news tab, and ringstone popup
* Add English localization
* Add mass-media console board to Advanced Entertainment resrarch
* Fix misprint
* Deleting unused libraries
* Fix round restart problem
* Fixing restart problem
* Just another fix
* Сode optimization
* Code optimization
* Convert News read tab to cartridge
Convert the News read tab into a cartridge, and fix a couple of bugs
* Just another fix
* Some updates
* More fixing!!
Fix cooldown, add author label to read menu
* Again, fix cooldown bug
* Some minor changes
* Revert "Some minor changes"
This reverts commit 470c8d727629ac79994f70e56162adae8659e944.
* Some minor updates
* Rewrite all implanter and implant descriptions
* Make implanter status control resemble syringe's
* Add implant description to implanter examine
* Remove unused usings
* zombie mode redux
* the great zombie changes
* fix this
* 65 down to 50
* empty
* Changes to address stalling
* make zombie nukies no longer nukies
* actually work
* Ports temperature scanning from mining station 14
* Added blood level to analyzer
* adds body temp and blood level to health analyzers and cryo
* Blood and temperature will show N/A if not available
* PA Fixes
Fix exception when opening UI if it has the power limiter warning displayed.
Fix it sometimes not detecting parts due to angles not getting normalized before comparison.
* Fix swapped out sprites for PA emitter P0 states
* D&D character sheets
* Tabletop improvements
* Grass battlemap
* You can now put shit inside of the board
* change variable name
* make the grass tabletop better, again
* update the damn thing AGAIN
* update the shit AGAIN
* You can now take stuff out of tabletops
* Make it use parenting to avoid zany bugs
* MORE battlemaps! Battlemaps for everyone!
* You can now dump out pieces + cleanup
* All (most) non-game pieces should fall to the ground
* make the verb a bit more responsive
* Librarian content officially done
* fix tests i think
* i forgot the sheet
* Smidgen of refactoring
* You can no longer put high risk items inside of boards
* no boardgame defusal
* minor refactoring
* hoplogrma
* doc
* fix rt
* Make stack count affect item size
* and the test, too
* readd this check
* vwoom
* huh
* if you ever read this commit message ping me on discord in #contributors
* changerinos
* Fix action bar not filling with mappables
* Update Content.Client/UserInterface/Systems/Actions/ActionUIController.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* im good at atomizing. welcome to half-finished chem guides.
* wagh
* e
* save work
* aa
* woweee UI
* finishing the last of it
* don't actually update the engine :(
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* Implement device network device shutdown subscribtion
Implement removing devices from device lists when they get deleted
* Improve name and doc comment for DeviceShutDownEvent
* Change ShutdownSubscriber data field tag
* Change UpdateRemovalSubscription name to UpdateShutdownSubscription
* Added Gloves of North Star, no sprite or talking yet...
* Added sprites for the gloves of the north star...
* Replaced more placeholder sprites for northstar gloves...
* Added gloves of the north star to uplink...
* Added speech on hit, not yet configureable
* Not functional yet, but a step in the right direction I hope...
* IT WORKS!!
* Licensing and cleanup
* Reduced attack speed, changed from chat to popup, added some admin logging. It was causing too much adminlog spam otherwise
* Reorganized some files, final build??
* Changed the adminlog type from Verb to new type ItemConfigure
* More cleanup, fix sprite reference maybe
* Keronshb's suggestions, fixed some stuff, made hit sound use the meaty punch sfx
* Adds support for hiding speak/whisper/emote from adminlogs, makes northstar speak again!
* Some file shuffling, some of Keronshb's requests. Might appear a bit funky in github because vscode kept duplicating files for some reason and I had to delete them
* Made it work with the latest changes on Master
* Final? cleanup, upped dmg to 8, made ui not activate on activateinhand, instead you need to right click
* Set value to 0 credits, that's all
* Well that was much easier than I made it out to be. Now you can only activate the gloves with right click, no more mispredicts.
* Update MeleeWeaponSystem.cs
Iunno why this got changed in the first place, but I'm changin it back
* emptycommit
* emptycommit
* The tiny fixening
* Cannot stack binary and trinary Atmos pumps and devices
- Filters now have a 5x max volume to compensate for no more stacking
- Add flipped versions of mixers and filters to the list of constructables
* Oi! No anchoring unstackables together!
* Use EntityLookupSystem in Unstackable and Window lookup
- Use static method for AnyUnstackableTiles
* PDA update and fix
* fix alert level
* Fix color level
* Maybe this will look better
* PDA update and fix
* fix alert level
* Fix color level
* Maybe this will look better
* Now threat color is taken in the same way as for emergency lamps
* Minor improvements
* Fix alert level string
* AlertLevelChangedEvent for all PDAs
* StationAlert is also stored in PDAComponent
* Removed IdAccessLevels
* Removed Access from PDAMenu.xaml.cs and Draw time real-time
* AlertLevel updated from AlertLevelChangedEvent
* Removed garbage
* Removed garbage from PDAUpdateState.cs
* Change comp-pda-ui-station-time
* revert rename PDAOwnerInfo to PdaOwnerInfo
* remove not use short names jobs
* "ftl var should be lowercase"
* "ftl var should be lowercase" again
* transfer StationAlert to PDAIdInfoText
* transfer StationAlert to PDAIdInfoText
* Line breaks of parameter/argument lists conventions
* not randomly inline property attributes
* no broadcast AlertLevelChangedEvent
* fix cctualOwnerName
* GridModifiedEvent never called
* add alert-level-unknown-instructions
* UpdateAlertLevel for latejoin
* Add alert-level-unknown
* Revert "GridModifiedEvent never called"
This reverts commit fa7d1620
* remove garbage and fix quite long
* Fix next never sending logs for rounds outside the cache
* Show round's total log count on the ui
* Disable next button when waiting for a next response
* Cleanup AdminLogsEui.CurrentRoundId
* Fix popout window width
* brigtimer
* ok
* TextScreen w timer implementation
* second commit
* working brig timer
* signal timers near completion
* soon done
* removed licenses, fixes noRotation on screens, minor edits
* no message
* no message
* removed my last todos
* removed csproj.rej??
* missed a thing with .yml and tests
* fix tests
* Update base_structureairlocks.yml
* timespan type serialize
* activation turned into comp
* sloth review
* Update timer.yml
* small changes
---------
Co-authored-by: CommieFlowers <rasmus.cedergren@hotmail.com>
Co-authored-by: rolfero <45628623+rolfero@users.noreply.github.com>
* limitedcharges stuff from emag
* changes except broken
* fix
* the
* move recharging to server, emag namespace -> charges
* the
* use resolve
* pro
webedit gaming
* the
* the
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* start of space ninja midround antag
* suit has powercell, can be upgraded only (not replaced with equal or worse battery)
* add doorjacking to ninja gloves, power cell, doorjack objective (broken), tweaks
* 💀
* add basic suit power display that uses stamina rsi
* add draining apc/sub/smes - no wires yet
* add research downloading
* ninja starts implanted, move some stuff to yaml
* add Automated field to OnUseTimerTrigger
* implement spider charge and objective
* fix client crash when taking suit off, some refactor
* add survive condition and tweak locale
* add comms console icon for objective
* add calling in a threat - currently revenant and dragon
* combine all glove abilities
* locale
* spark sounds when draining, refactoring
* toggle is actually toggle now
* prevent crash if disabling stealth with outline
* add antag ctrl for ninja, hopefully show greentext
* fix greentext and some other things
* disabling gloves if taken off or suit taken off
* basic energy katana, change ninja loadout
* recallable katana, refactoring
* start of dash - not done yet
* katana dashing ability
* merge upstream + compiling, make AutomatedTimer its own component
* docs and stuff
* partial refactor of glove abilities, still need to move handling
* make dooremaggedevent by ref
* move bunch of stuff to shared - broken
* clean ninja antag verb
* doc
* mark rule config fields as required
* fix client crash
* wip systems refactor
* big refactor of systems
* fuck
* make TryDoElectrocution callable from shared
* finish refactoring?
* no guns
* start with internals on
* clean up glove abilities, add range check
* create soap, in place of ninja throwing stars
* add emp suit ability
* able to eat chefs stolen food in space
* stuff, tell client when un/cloaked but there is bug with gloves
* fix prediction breaking gloves on client
* ninja soap despawns after a minute
* ninja spawns outside the station now, with gps + station coords to navigate
* add cooldown to stun ability
* cant use glove abilities in combat mode
* require empty hand to use glove abilities
* use ghost role spawner
* Update Content.Server/Ninja/Systems/NinjaSuitSystem.cs
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
* some review changes
* show powercell charge on examine
* new is needed
* address some reviews
* ninja starts with jetpack, i hope
* partial feedback
* uhh
* pro
* remove pirate from threats list
* use doafter refactor
* pro i gave skeleton jetpack
* some stuff
* use auto gen state
* mr handy
* use EntityQueryEnumerator
* cleanup
* spider charge target anti-troll
* mmmmmm
---------
Co-authored-by: deltanedas <deltanedas@laptop>
Co-authored-by: deltanedas <user@zenith>
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
* Add EscapeContext
Escape context input closes windows if there are any open. If there are not any windows it opens the game menu.
* Add fluent for Escape Context
* Move EngineContext keybind to content
* Readd WindowCloseAll
* Fix EscapeContext not opening the game menu after using WindowCloseAll
WindowCloseAll does not clear the CloseRecentWindowUIController.recentlyInteractedWindows, which caused HasClosableWindow to return true because the list still had items.
Changed HasClosableWindow to check if windows in the list are still open and clear them if they aren't.
* Clean up EscapeContextUIController
* add new labels and buttons for records stantion console
* add fingerprint fields for server
* set buttons and updates for fingerPrints filters
* set fingerprints filters
* final set for finger prints filters
* add new trhaslates for station records computer
* some fix for the PR
* refactor server side station record console system
* add message for filters
* add tranlates
* add new ui with several filters
* updetes prints with server side logic
* resolve conflicts with DNA
* resolve conflicts with DNA
* deleted unused variable and rename some fields
* added description for new state
* added select for filter
* set multiplay filters for the console
* added new translates
* add class filters & fixed issue with reset line edit
* fix dublicate with set the selectId for option button
* fixed review notes
* fixed review notes forget changet fix name
* add event TextEntered for better usability
* fixed review notes 3
* fixed formating in xaml
* fixed array with _filterTypes
* fixed ui and made it in minimalistic style
* fixed generalstationRecordFilter class, move method
* delete margin after line edit
* fix placeholder for lineEdit
* fix placeholder for lineEdit, the review note
* Revert "fixed generalstationRecordFilter class, move method"
This reverts commit 1b35c6ac44e7dafe9a1f0560eb177152b822f20b.
* impliment short swith in method IsSkippedRecord
* fixed review notes, remaked method IsSkipped and fix casing
* fixed the review note about check null record name
* Rebindable menu + move menu to default f11
* Moved to F10
* Specify which menu gets toggled by the EscapeMenu button
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Material Reclaimer
* Fix this test
* autostack output, tweak volume, add upgrade examine
* whitelist AND blacklist support
why not
* trying so hard to get this fucking test to work
* EmoGarbage delves into MaterialArbitrageTest, never to return
* VV and restore cloth to glory
* make the system more robust
* even more stuff has composition; add blacklist for important items
* fix test fails
* convert recycling
* forgor :sadge:
* lol
* simply a modiCUM of doc commentary
* save work
* Adds Z levels
* a
* ladders + parallax scroll
* zoom out not in
* oops, sandbox
* oops i broke the law
* run ci
* fuck
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* DNA component
* Commit numba 2
* Added DNA into Station Records Computer
* commit numba 3
* commit numba 4
* Vomit also contain DNA component now
* fixed DNA field not clearing after scanning another item
* commit numba 10
Drinking leaves DNA on an object. Breaking glasses, bottles and beakers leave DNA and leave fingerprints/fibers with 40% chance on glass shards. + lotta fixes
* 11
* 12
* 14
* Added DNA guide entry
* FIX
* station records fingerprints
* Add UI + Fixes
* now itll display N/A if a mob doesnt have a fingerprint
* ? - 0
* f8
* N/A is a fluent string now
* remove locale string duplicating
* no whitespace
instead checks if the final size of the container is supposed to be bigger than zero: if it is, then it will continue to attempt to set the split fraction until the size is no longer zero, then it will do it once last time before stopping
* Marking coloring WIP
* EnsureDefault now supports coloring!
* Now markings have coloring when they get added
* Many things
* yml files
* cleanup
* Some requested changes
* Nullable type and WIP caching
* Time to resolve that thing with deprecated hair fields
* Latest reviews + im still trying to use these hair markings
* FirstOrDefault thing and Tattoo docs
* IDK
* It's now works a bit more properly in preferences GUI
* THEY SYNCING! However preferences GUI still broken and doesn't work properly
* Markings now updating when changing in GUI. However they still don't work properly with bald humanoids
* Forgor...
* Default hair-colored markings will not color to hair if there is no hair
* Fixed default colors for customizable markings
* Fixed bug in prefs GUI that set current hair to null
* Now markings that must match skin color because of limb (e.x. Slimes) - will match skin color
* final tweaks: if hair uses skin color then markings will use skin color as hair color (slimes)
* fix
* fixed dirty. no more funni invis bug
* Mirrors and client profile loading
* default colors soon TM
* review + better coloring
* Hardcode is gone
* diona markings
* oh my god
* fixed CategoryColoring
* cool fallback, clean up and some other tweaks
* code style
* more style
* a
* add include non-players button to log viewer
* breakout player filter check
* fix sending player logs with no players selected
* fix default not returning player logs, causing test issue
* Improves bartending with some tweaks.
- Glasses got resprited and now support fill levels.
-
* New glass type and improve shotglass visuals.
* oobsy
* fixes
* get flasked
* flask
* flask
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* Fix examine system after formatted text refactor
Implement key bind markup tag
* Add font prototype definitions
* Update submodule.
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* Ore veins
I dislike rocks just providing generic drops and this factors into mining more.
* fixes
* descriptions
* comment
* every flipping time
* Make mining destroy rocks with 1 hit
Having to click 3 times was pretty annoying.
* a
* Fire MeleeHitEvent when there are no targets.
* Prevent certain weapons from activating if they had no hit entities on hit.
* Prevent miss events from firing when target is yourself or was deleted.
* Use .Value as Target is already known not to be null.
* uid changes
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* belt multithreading
* moves away from multithreading and changes setting awake directly to physics system method
* prediction for conveyors
* Fixes missing reference in FaxSystem
* Fixes oddities
* Adds networked to conveyor components
* Some more cleanup.
* reverts power change event
* Removes the event, fixes a file
* Should fix the rest of the weird additions
* More cleanup to fix extra files
* Fixes again
* fix
* fixes fax system
* Adds component state, cleans up the dependencies
* Checks for prediction
* Merge conflicts
* powa
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Planetmap tiles
Biomes etc etc
* a
* oop
* Chunk-based rendering
* funny
* Less allocations
* Fix overdraw
* Content tile edge support
Also updated grass to use it as a POC.
* Kindly revert
* Update for variant edges
* fixes
* Use fastnoise
* Remove redundant group
* a
* refactor a fair bit
* Prototype data instead
* tweaks
* a
* fix maths
* working
* a
* Slightly better empty support
* a
* flowers
* sounds
* lewd
* Networking
* more fixes
* better
* colours
* Some chunk loading
* Proper loading and unloading
* Better loading
* Fix parallax and movement sounds
* Anchoring support + decal setup
* Most of the way to load and unload
* Decal loading kinda werkin
* large trees
* started diffing
* a
* Variant support and deserts
* a
* snow
* agony, even
* working again
* todo
* a
* laba tiles
* aeiou
* a
# Conflicts:
# Resources/Prototypes/Entities/Tiles/planet.yml
# Resources/Prototypes/Tiles/planet.yml
# Resources/Textures/Tiles/Planet/Lava/lava.rsi/meta.json
* laba
* Add lava
* Initial ignition
* triggers
* a
* a
* y
* Add basalt tiles
Did some unconventional things for the animation + rocks.
* fixies
* mergies
* promotion
* lava biome
* Lava planet start
* cleanup and more lava
* laba
* maccas
* biome stuf
* weh
* bongflicts
* aeaeae
* More fixes
* a
* these too