* 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>
* Hardsuits and softsuits count as having shoes for step triggers
* Add softsuit tag prototype
* Change to suitEVA tag
* Get rid of softsuit tag, found suitEVA tag
* Full pass of ShoesRequiredStepTriggerImmune
* Adds check to outerClothing for ShoesRequiredStepTriggerImmune
* return
* fuck Dionas
* Convert to comp, space dragons immune as well
* Merge conflict
* Merge conflict
* fix leftover tags
* empty spaces
* turns out the dragon didn't need it
* minor optimization
* Add access for system, add comp to baseShoes, check slotflags for every slot besides pockets
* fix
* fuck it we ball
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.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>
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.
* 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>
* Add UnwieldOverride variable that overrides unwielding inhand to enable other interactions
* Give LMGs UnwieldOverride
* logically inverted UnwieldOverride to UnwieldOnUse
* fixed typo
* 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
* Fix UseDelay issues
- Fix it not predicting properly by deep-copying the classes (realistically they should be structs).
- Fix the `z` path not applying UseDelay similarly to the `e` path.
* click
* 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
* 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>
* Mega Antag Refactor
* last minute delta save
* more workshopping
* more shit
* ok tested this for once
* okkkkk sure
* generic delays for starting rules
* well darn
* nukies partially
* ouagh
* ballin' faded and smonkin wed
* obliterated the diff
* Spread my arms and soak up congratulations
* I've got plenty of love, but nothing to show for it
* but there’s too much sunlight
Shining on my laptop monitor, so I
Can’t see anything with any amount of clarity
* ok this junk
* OOK!
* fubar
* most of sloth's review
* oh boy
* eek
* hell yea!
* ASDFJASDJFvsakcvjkzjnhhhyh
* 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
* Properly network ClumsyComponent
* Fix being able to climb and bonk at the same time.
Also properly subscribe to AttemptClimbEvent by-ref.
* Update Content.Shared/Interaction/Components/ClumsyComponent.cs
* Add NukeOps Test
* Update EvacShuttleTest to also check mapinit
* Update RuleMaxTimeRestartTest
* Fix cvar cleanup
* A
* Revert some changes
* comments
* Add MappingTests
* Finally fix the test
* A
* General slime improvements
* Finish morphing
* oops 2x2 not 3x3
* actually lets ball - 2x3 inventory
* Last two things on the todo list
* .\RobustToolbox\
* JUST COMPILE
* fix tests 2.0
* fix tests 3.0
* Do reviews
* minor change
* guideboob
* more
---------
Co-authored-by: Kara <lunarautomaton6@gmail.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>
* Added ClothingGotEquipped/ClothingGotUnequipped events
* Better version
* Implemented in a few places
* More implementations
* Add ClothingDidEquipped/ClothingDidUnequipped events