* Disable check
* vehicle test
* Make PAI stop instrument when turning off (player leaves/ejected)
* Give pAI an instrument component with a custom soundfont
* Add pAI synth program to custom ss14 soundfont
* Add new PAIMidi action that pAIs use to open their instruments
* Changed instrument component to allow its player to be the actor of its parent item
* Oops. Readds instrumentcomponent.
* ECS Changes
* Changed soundfont to ringtone
* Revert "Disable check"
This reverts commit 86001d8b5e94ee38d0c9504cb19826327b04fb16.
* Remove action parameters from ghost placeholder
* Revert "vehicle test"
This reverts commit 8a8ecf41083e0d5c8d4363ff02981bdab04bcd1c.
* Fixes to whitespace
* Even more fixes to whitespace
* Removed paiSynth sample from spacestation14.sf2
* Yet another indentation touchup
* Revert "Remove atmos archiving."
This reverts commit 7fa10bd17b.
* Explosive Depressurization now brings tiles down to TCMB.
* Tiles now specify heat capacity.
* Do not serialize archived gas mixture values.
* Remove bad idea
* dumb typo
* Space gas mixtures now have a harcoded heat capacity.
This is a bit of a hack, but rooms exposed to space now cool down properly when monstermos is disabled.
Huge thanks to @LemonInTheDark for helping me with this!
* Clean up heat capacity methods
* Better logging based on the original monstermos' logging
* Comment explosive depressurization hack better
* Completely refactor how job spawning works
* Remove remains of old system.
* Squash the final bug, cleanup.
* Attempt to fix tests
* Adjusts packed's round-start crew roster, re-enables a bunch of old roles.
Also adds the Central Command Official as a proper role.
* pretty up ui
* refactor StationSystem into the correct folder & namespace.
* remove a log, make sure the lobby gets updated if a new map is spontaneously added.
* re-add accidentally removed log
* We do a little logging
* we do a little resolving
* we do a little documenting
* Renamed OverflowJob to FallbackOverflowJob
Allows stations to configure their own roundstart overflow job list.
* narrator: it did not compile
* oops
* support having no overflow jobs
* filescope for consistency
* small fixes
* Bumps a few role counts for Packed, namely engis
* log moment
* E
* Update Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* Update Content.Server/Maps/GameMapPrototype.cs
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* factored job logic, cleanup.
* e
* Address reviews
* Remove the concept of a "default" grid.
It has no future in our new multi-station world
* why was clickable using that in the first place
* fix bad evil bug that almost slipped through
also adds chemist
* rms obsolete things from chemist
* Adds a sanity fallback
* address reviews
* adds ability to set name
* fuck
* cleanup joingame
* Sending a mob out of a disposals unit shouldn't push them into a wall anymore.
* Something something resolves vs. OnRemove fighting it out
* Disposals yeet reduction: Address reviews and other oddities
* Refactor slip dropping to use throwing
* Update Content.Server/Fluids/EntitySystems/SpillableSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Uncringe
* Update Content.Server/Fluids/EntitySystems/SpillableSystem.cs
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* Transfer most Instrument UI logic to a new component, ActivatableUIComponent
* Move more ActivatableUIComponent stuff to ECS
* ActivatableUI component ignore on client
* ActivatableUI: Get rid of component interfaces where possible
* Add in adminOnly attribute for activatable UIs
This is so that porting #4926 to this will be easier
* Transition Solar Control Computer to ActivatableUI
* Move communications console to ActivatableUI
* Move cargo console to ActivatableUI
* Move ID card console to ActivatableUI
* ActivatableUI: Make things more amiable to entity tests adding components weirdly
* ActivatableUI: Use handling or lack thereof of events properly
* ActivatableUI: component dependency issue resolution stuffs
* ActivatableUISystem: Fix#5258
* More fixes because master did stuffo
* Check for HandDeselectedEvent again because otherwise active-hand check doesn't work
* Move just a bit more code into the system, introduce a workaround for #5258
* Purge the player status detection stuff
* Oh and some obsolete stuff too
* Add a way to disable voting for maximum authoritarianism
* Allow disabling specific vote types via cvars
* Migrate standard-vote-to-cvar dictionary to being static
* add sprite and basic entity, no reagent or testing
* actually implement epinephrine and add it to the box
* allow creating it
* add it to nanomed
* fig
* Add admin logging, models, migrations
* Add logging damage changes
* Add Log admin flag, LogFilter, Logs admin menu tab, message
Refactor admin logging API
* Change admin log get method names
* Fix the name again
* Minute amount of reorganization
* Reset Postgres db snapshot
* Reset Sqlite db snapshot
* Make AdminLog have a composite primary key of round, id
* Minute cleanup
* Change admin system to do a type check instead of index check
* Make admin logs use C# 10 interpolated string handlers
* Implement UI on its own window
Custom controls
Searching
Add admin log converters
* Implement limits into the query
* Change logs to be put into an OutputPanel instead for text wrapping
* Add log <-> player m2m relationship back
* UI improvements, make text wrap, add separators
* Remove entity prefix from damaged log
* Add explicit m2m model, fix any players filter
* Add debug command to test bulk adding logs
* Admin logs now just kinda go
* Add histogram for database update time
* Make admin log system update run every 5 seconds
* Add a cap to the log queue and a metric for how many times it has been reached
* Add metric for logs sent in a round
* Make cvars out of admin logs queue send delay and cap
* Merge fixes
* Reset some changes
* Add test for adding and getting a single log
* Add tests for bulk adding logs
* Add test for querying logs
* Add CallerArgumentExpression to LogStringHandler methods and test
* Improve UI, fix SQLite, add searching by round
* Add entities to admin logs
* Move distinct after orderby
* Add migrations
* ef core eat my ass
* Add cvar for client logs batch size
* Sort logs from newest to oldest by default
* Merge fixes
* Reorganize tests and add one for date ordering
* Add note to log types to not change their numeric values
* Add impacts to logs, better UI filtering
* Make log add callable from shared for convenience
* Get current round id directly from game ticker
* Revert namespace change for DamageableSystem
* Food and Utensil to ECS, Made utensil less restrictive, no more soup eating with a knife...
* AltVerb "can eat" check
* removed HasFlag calls
* AltActionVerb -> InteractionVerb
* "required utensil" filed
* pass 1
* a little more reagent effect for breakfast
* move lots of stuff around
* implements all medicines
* implement all cleaning & elements
* implement toxins/pyrotechnic
* p
* linter fixies
* fixes + narcotic balancing
* fix and standardize
* reviews
* things
* Makes map vote and roundstart smart about player count.
No more Saltern with 30 players, or Knight Ship with 50.
* a typo
* Address reviews.
* Localized.
* Make fires do less damage
* Severely nerf fires and severely buff temperature protection
* fuck it, i'll nerf it so hard and we can buff it later if we decide
* new scaling func
* fix
* unused
* reviews + balance metabolism heat + reduce atmos air temp transfer efficiency
* little more balance
* just a wee bit more
* slight adjustment
* Rewrite solar panel update scheduling
* Use predicate to filter out non-anchored entities from solar raytrace
* Remove unused dependency
* Cache physics system
Co-authored-by: Tomeno <tomeno@lulzsec.co.uk>
* Ghost roles now get new Minds
* Some round start/end button stuff
* Mind tracking for better round end reports
* Make traitor kill objectives use mind CharacterName rather than actual occupied entity ("kill brain" prevention)
* Transition over to EntityUid for mind stuff because that's the only way to do it
* BrainSystem fix for PR rebase
* Doors no longer permanently glow orange + logic tweak
* Fix server-side order of operations for deny animation timer
* Delay between deny >= deny length to allow animation to reset
* Fix airlock assets to use the correct deny animation name
Co-authored-by: T <tomeno@lulzsec.co.uk>
* Convert StomachBehavior to a component/system + rejig body namespaces
* test
* slightly more namespace changes
* remove
* Hello?????
* fuck you github test runner
* reviews
* oobsy!
Co-authored-by: E F R <602406+Efruit@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: ike709 <ike709@github.com>
* Soft player cap that lets in only admins.
* Update Content.Server/Connection/ConnectionManager.cs
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
* Update Content.Server/Connection/ConnectionManager.cs
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
* basic system + convert all plantmetabolism
* stragglers
* convert all old metabolisms over
* fix YAML errors + dumb serialization issue
* remove unused thingy
* reimplement
* add organ type condition
* organtype condition but real
* cleanups + test fix
* metabolismtype -> metabolizertype
* solution resilience
* fixes
* serializer + use entityuid + hashset
* this is apparently an entirely different thing
* turns out it just works
* oops
* Remove IHandsComponent and ISharedHandsComponent
* Copy the documentation from the interfaces
* Revert "Copy the documentation from the interfaces"
This reverts commit 7638a2d4817743d487c7b255ba3e56add77dca86.
* Perform a minute amount of cleanup
* Pulling: Piano door stuck prevention (pulling angle-snap) and getting rid of a condition causing oddities with pull-to-location
* Pulling: Implement Newton's Third Law in regards to puller/pullee physics
Weightless condition was determined not to be necessary
* Fix pull-to-position on actively rotating/moving grids + fixes for rebase
* Add test pooling
* WIP test pooling changes
* Fix Destructible tests
* Don't pool unpooled or dummy ticker instances
* Change ServerPathfindingDebugSystem to replace existing entries
* Fix SaveLoadSaveTest comment
* Don't pool StartTest
* Comment out global setup
* Fix puddle tests
* Move SolarPanelComponent initialize to PowerSolarSystem OnMapInit
* Update RobustToolbox
* Finish fixing tests, make test threads background threads
* Bring back pooling
* Fix nullable
* Update RobustToolbox
* Set cvars on server return
* Un-pool tests with custom cvars
* Update RobustToolbox
* Update RobustToolbox
* Change where the main tile coordinates are
* Remove DisposalUnitTest grid check
* Fix test pooling being a fickle bitch
* Fix EntitySystemExtensionsTest
* Update RobustToolbox
* Update RobustToolbox
* Make nullable pool settings true
* Update RobustToolbox
* Wait other way around
* We are unitystation now
* Update RobustToolbox
* Create global setup
* Pool some more tests
* Fix not properly disconnecting clients before restarting the round
* Give more info on ran tests
* Standardize default test cvars
* Update RobustToolbox
* Update RobustToolbox
* Pool clients
* Fix test order issue
* Fix cvars in character creation test not being set properly
* Update RobustToolbox
* Update RobustToolbox
* Rider shut
* Update RobustToolbox
* Format tests ran better
* Update RobustToolbox
* Reset RobustToolbox
* Reset RobustToolbox harder
* Fix one instance of test order causing destructible tests to fail
* Stop pAIs from being able to wipe each other/do other odd things they shouldn't
* pAI: device changes name to indicate owner
* Make PAIComponent networked (just in case)
It'll be needed in future anyway
* Add pinpointer sprites
* Start working on pinpointer
* Updated pinpointer
* Working on visuals
* Working on a pinpointer and eye rotation
* Add client/server pinpointers systems
* Minor cleanup
* Add distance support
* Add nuke tag
* Remove redundant flag and add pinpointer to caps locker
* Disable rotation of pinpointer
* Fixed distance
Co-authored-by: Alexander Evgrashin <evgrashin.adl@gmail.com>
* basics & visuals
* pneumatic cannon works perf
* loc + popups
* gas tank does stuff + queue changes
* updates
* b
* forcefeeding
* inhand
* crafting!
* pie cannon now is a pneumatic cannon
* oopy
* fix for entman + verbs
* pie
* change for tools
* actual
* combat mode + better sounds
* reviews
* door drawdepth toggle
* git mv
* dooooors
* drawdepth adjustments
* fix door and missed projectiles
* firelock depth tweak
* Get sprite only when needed
* single letter typo
* forgot to include closing in _activeDoors.
* Make humans move based on their last grid's angle
* Fix ghost movement, fix weightless grid parenting
* Make sure to init the last grid angle without needing to move
* Adds a UI for gas filters
* Address reviews
* Update Content.Client/Atmos/UI/GasFilterBoundUserInterface.cs
* Update Content.Server/Atmos/Piping/Trinary/EntitySystems/GasFilterSystem.cs
* Fix build
Co-authored-by: ike709 <ike709@github.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
The latter is very useful for any special machine cleanup that needs to happen when a machine is deconstructed.
The former will be useful for so many things!
* AMEPartComponent: Switch to ToolSystem.HasQuality because this bugs me.
* Multitool can read power when you examine a cable with the multitool held.
* Multitool power reading: Condense storage information
* power-sensing multitool: Fix ToolSystem ref.
* Power-reading multitools: Fix misuse of GetComponent
* Move entity solution entity systems to shared
* Move SolutionComponents to Server
* Fix namespaces
* Remove Networked Component.
* Fixes
* Add components to ignore list
* drain all batteries / drain battery command for saner eventing
* Reverts the part of the previous commit where drainallbatteries skips items, despite my better judgement
* setbatterypercent now takes the place of battery drainage commands
A more forall-oriented approach
* Uplink menu has icons now
* Add item icons
* Add few descriptions
* Better withdraw window
* Finished with withdraw window
* Refactored withdraw ui and fix some bugs
* Basic withdraw
* Quick fixes
* Removed uplink listing for TCs
* Move slider to separate control
* Final touches
* A bit more
* Not again...
* Fixed names
* Address review
* Fixed robust
* Non necessary check
* Some sanity checks on disposals movement, fix the interpolator
* Technically fix disposal routing, but I'm not done here yet
* Remove disposals reliance on implicit direction sensing entirely.
* XAML verb menu
* fix ghost FOV
* spacing
* rename missed "ContextMenu"->"EntityMenu" instances
* move visibility checks to verb system
* update comment
* Remove CanSeeContainerCheck
* use ScrollContainer measure option
* MaxWidth / texxt line wrapping
* verb category default
Now when you click on a verb category, it should default to running the first member of that category.
This makes it much more convenient to eject/insert when there is only a single option
* only apply style to first verb category entry
* Use new visibility flags
* FoV -> Fov
* Revert "only apply style to first verb category entry"
This reverts commit 9a6a17dba600e3ae0421caed59fcab145c260c99.
* make all entity menu visibility checks clientside
* Fix empty unbuckle category
* fix merge
* Brrrr ECS
* Create lit on powered system
* Light bulb ECS
* Finishing porting to ECS
* Minor touches
* Removed events
* Removed old comments
* Fixed test
* To popup system
- Completely rewrited the `ConstructionComponent` logic to be ECS, *without* looking too much at the original implementation.
- The original implementation was dirty and unmaintainable, whereas this new implementation is much cleaner, well-organized and maintainable. I've made sure to leave many comments around, explaining what everything does.
- Construction now has a framework for handling events other than `InteractUsing`.
- This means that you can now have CGL steps for things other than inserting items, using tools...
- Construction no longer uses `async` everywhere for `DoAfter`s. Instead it uses events.
- Construction event handling occurs in the `ConstructionSystem` update tick, instead of on event handlers.
- This ensures we can delete/modify entities without worrying about "collection modified while enumerating" exceptions.
- This also means the construction update tick is where all the fun happens, meaning it'll show up on our metrics and give us an idea of how expensive it is/how much tick time is spent in construction.
- `IGraphCondition` and `IGraphAction` have been refactored to take in `EntityUid`, `IEntityManager`, and to not be async.
- Removes nested steps, as they made maintainability significantly worse, and nothing used them yet.
- This fixes#4892 and fixes#4857
Please note, this leaves many things unchanged, as my idea is to split this into multiple PRs. Some unchanged things:
- Initial construction code is the same. In the future, it'll probably use dummy entities.
- Client-side guided steps are the same. In the future, the server will generate the guided steps and send them to clients as needed, caching these in both the server and client to save cycles and bandwidth.
- No new construction graph steps... Yet! 👀
* Rotate DefaultGrid on round start
Not ideal long-term but good for bugspotting short-term.
* Fix buckle test
Because gridtraversal was being triggered the pos was being fucked when moving back
* Fix buckle
* Buckle offset
Adds a "sturdy" tile flag, that in the future could be used by construction/etc to figure out if it's safe to build on a tile. (For example water isn't space, but it's not a sturdy building surface!)
* Remove WireNet node group from cables
Implement extension cable components and system
Remove connection over distance logic from ApcPower... components
* Add extension cable components to prototypes
* Implement ApcNetwork
Implement ApcNetSwitch
* Fix ignoredComponents.cs
* Add friend attribute to new components
* Add construction graph for a light switch
* Address reviews
* Fix broken test
* Move ConnectionType enum to DeviceNetworkComponent
Change netId data definition to use the ConnectionType enum values
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
* ForAll command!
Implements "Bad Query Language", which has a few specifiers you can use for badminning, namely:
named <regex>
prototyped <prototype name>
with <component name>
tagged <tag name>
parented_to <parent entity uid>
For example: forall prototyped MobHuman parented_to 855 do explode $WX $WY 1 1 1 1; addcomp $ID Item
* oops
* fix a silent parsing bug, make parser louder.
* cleanup
* rename shit
* Moved access to ecs
* Fixed tests
* Moved test to integration
* Better IoC
* Moved preset ID card
* Moved id card to ECS
* Moved access component to ECS
* Fixed pda access
* Final touches
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Added debug bottle of meth as well as a damage increase on a Reagent Threshold
* fix for metabolism getting funked when there is a failed reaction condition
* removed max, raised minimum to 10
* reduced regular meth damage, increased overdose damage
Turns out the final position calculations were wrong, so I copied/pasted
from the equivalent parts of the Hands components.
Unfortunately, this means that picking up trash with a trash bag no
longer causes said trash to rapidly zoom to 0,0.
* Moves HumanoidCharacterAppearance to ECS
* Makes HumanoidAppearanceSystem work over networks
* Makes HumanoidAppearanceSystem more efficient
* Cleans up the files
* Updates privacy on a couple of functions
* Fixes a few using references, renames a file
* Makes HumanoidAppearanceSystem more cleaner
* Fixes Magic Mirror
* Cleanup
* HumanoidAppearanceComponent now has a friend
SharedHumanoidAppearanceSystem is only allowed to act on this, now
* Fixes the Body-HumanoidAppearance ECS scaffolding
* a little cleanup never hurt anybody
* quick fix for magic mirror appearance access
* Replaces a networked event with a local one
This one was... causing bugs
* Oops! All Changes In One Commit
* try desperately to fix prediction issues and fail
* oops
* test
* actually fixes prediction issues
* port jittering to status effect
* default merge behavior + alert cooldown stuff
* silly test issue
* zabloing
* address reviews
* testing decription textlabel
* Move uplink listing to a new menu
* Add search bar
* Added description
* Added radio uplink
* Added preset uplinks
* Minor fix
* Fixed comma
One of these was going to have to be folded into the other for it to work.
I am starting to really hate this refactor.
Note that this might still leave smokable tampering broken if it was already broken, but it shouldn't break it if it wasn't.
TESTED: Grown apples, carrots, something I forgot, bananas, *client crash due to slipping*
* Work on DeviceNetworkSystem
* Implement device networking as ecs
Remove mailing unit code for now
Remove device network metadata
* Implement integration tests for device networking
* Remove manual updating DeviceNetworkSystem and use WaitRunTicks
* Fix wrong component name in ignored components
* Apply suggestions from code review
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
* Rename NetworkUtils to DeviceNetworkConstants
Change connection type constants to enum
Remove create function from network payload class
* Change broken nodegroup check in wirenet to grid check
* Change ComponentManager to entity manager in DeviceNetworkSystem
* Fix smaller mistakes
* Wtf random test fail pls run them again smh
* Fix DataField in DeviceNetworkComponent
* Fix yaml in DeviceNetworkTest
* Fix DeviceNetworkComponent DeviceNetId property
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
* Graft from https://github.com/space-wizards/space-station-14/pull/3049
* 'openahelp' command
* Add AHelp into escape menu
* Add a way to ahelp a player from the kick window
* bwoink: XAMLify, bugfix, etc.
* Rename the kick/bwoink window the Player Actions Panel
* Add the bwoink sound y'all know and love
adminhelp.ogg taken from d775e1ac80/sound/effects/adminhelp.ogg
(available in master, therefore see master license: "All assets including icons and sound are under a Creative Commons 3.0 BY-SA license unless otherwise indicated.")
"Changed the adminhelpsound to some creative commons sound I pinched. Until somebody can get a better one. I'm sick of MAAAAAAAAOOOOOOW."
Actual source is https://freesound.org/people/martian/sounds/19261/ (CC0)
The sound had been reversed and the volume altered.
* Actually play the bwoink sound on receiving an ahelp that you didn't send
* Migrate lots of pulling logic out of the components and clean it up
* It's buggy, but move more code out of the pullable component
* Pulling system now throws less errors than it did before the refactor
* Finally finish the big parts of refactoring pullability
* Pulling: Handle disconnect properly if the pull joint has been removed by physics shutdown
* Port 2b68449328 to this branch
* Changes as per PR reviews
* Port e801ffac45 (SharedJointSystem) and fix issues encountered during testing
SharedJointSystem.
Also, MinLength and Stiffness appear to have suddenly gained enough meaning that pulling is broken unless they're set.
* Update UI when the AME node group is changed (fixes core count indicator being wrong)
* Fix connection issues between AME controller and cores
* Fix#4365 by properly propagating and clearing AME core injection state
* Fixes#4364
* temp
* #3898 some progress on DrinkCanVisualizer
* Fixed implementation
* Moved drink can sprite layer definition to abstract parent
* Added open drink can sprites
* #3898 - fixes for drink cans' sprite field after merge + moved UpdateAppeareance from DrinkComponent to DrinkSystem
* Update Content.Server/Nutrition/EntitySystems/DrinkSystem.cs
* #3898 removed obsolete comment
Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>
* Moved pen slot to separate component
* Moved it all to more generic item slot class
* Add sounds
* Item slots now supports many slots
* Some clean-up
* Refactored slots a bit
* Moving ID card out
* Moving pda to system
* Moving PDA owner to ECS
* Moved PDA flashlight to separate component
* Toggle lights work through events
* Fixing UI
* Moving uplink to separate component
* Continue moving uplink to separate component
* More cleaning
* Removing pda shared
* Nuked shared pda component
* Fixed flashlight
* Pen slot now showed in UI
* Light toggle now shows correctly in UI
* Small refactoring of item slots
* Added contained entity
* Fixed tests
* Finished with PDA
* Moving PDA uplink to separate window
* Adding-removing uplink should show new button
* Working on a better debug
* Debug command to add uplink
* Uplink send state to UI
* Almost working UI
* Uplink correcty updates when you buy-sell items
* Ups
* Moved localization to separate file
* Minor fixes
* Removed item slots methods events
* Removed PDA owner name
* Removed one uplink event
* Deleted all uplink events
* Removed flashlight events
* Update Content.Shared/Traitor/Uplink/UplinkVisuals.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Containers/ItemSlot/ItemSlotsSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Containers/ItemSlot/ItemSlotsSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/GameTicking/Presets/PresetTraitorDeathMatch.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Item slots system review
* Flashlight review
* PDA to XAML
* Move UplinkMenu to seperate class, fix WeightedColors methods
* Move UI to XAML
* Moved events to entity id
* Address review
* Removed uplink extensions
* Minor fix
* Moved item slots to shared
* My bad Robust...
* Fixed pda sound
* Fixed pda tests
* Fixed pda test again
Co-authored-by: Alexander Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Visne <vincefvanwijk@gmail.com>
* Transform the Cloning Pod visualizer into a generic enum visualizer for simple cases like it
...I find it helpful at times like these to remind myself that our true enemy is
code. Code is what makes our programs run and generally is required for all of
these machinations to function in any way at all...
* Give the kitchen/meat spike a visualizer
* GenericEnumVisualizer: Byteify enums, switch to TryGetComponent for sprite