Commit Graph

4529 Commits

Author SHA1 Message Date
T-Stalker
d9d36b050a Makes flares quieter (#27521)
* light

* flares quieter
2024-04-30 16:49:35 +10:00
Ed
91028a5149 remove Injector SolutionName constant (#27493)
remove stupid constant
2024-04-29 17:29:15 -04:00
Leon Friedrich
3c154abb5b Content changes for engine exception tolerance PR (#27455)
* Content changes for engine exception tolerance PR

* Poke tests
2024-04-29 18:43:15 +10:00
metalgearsloth
6d619c9420 Tippy fixes (#27475)
How does that UISystemDependency not crash.
2024-04-29 18:41:58 +10:00
Leon Friedrich
6471f55a49 Action UI fixes (#27468) 2024-04-29 18:36:18 +10:00
Morb
16b3e2233a Emotes Menu (#26702)
* 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>
2024-04-28 21:38:23 -07:00
SlamBamActionman
373c368b94 Tippy, the helpful hint clown! (#26767)
* 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>
2024-04-28 21:38:16 -07:00
Leon Friedrich
1eb81427d3 Stop admin verb pop-in (#27450) 2024-04-29 13:24:10 +10:00
exincore
faa7f3461c feat(fax): Fax machines print, copy, and send paper labels (#25979)
* 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>
2024-04-28 16:12:45 +10:00
KrasnoshchekovPavel
3fcbbc0732 Added localization of groups and types: damage, metabolism (#27368)
* 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>
2024-04-28 14:48:19 +10:00
osjarw
a4504e2fef Fix handlabeler/utility belt misprediction (#26660)
* 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>
2024-04-28 14:19:30 +10:00
Ed
f079e77554 Displacement maps now works on any layers (#27405)
* try

* pipupi

* Update ClientClothingSystem.cs

* Update vox.yml

* Update ClientClothingSystem.cs
2024-04-28 12:35:40 +10:00
brainfood1183
c0ce5fba2a Rodents can be Faxecuted (executed via Fax machine) (#21461)
* 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>
2024-04-27 23:50:57 +10:00
Tainakov
6d6e7f0c98 [Admin QOL] +Adminchat flag (#26930) 2024-04-27 13:17:46 +02:00
Plykiya
cafb41c161 Printable Special Mags and Empty Mags and Material Rebalance for Ammo (#26178)
* Printable Empty Magazines

* Adjust values of ammo boxes, adjust material costs, add empty lethal/non-lethal mags, swap secfab shotgun shells with shotgun ammo boxes, add recipe for shotgun ammo boxes

* Adds fully loaded pistol mags at secfab, removes printing respective cartridges at secfab

* Adds fully loaded rifle mags at secfab, removes respective cartridges

* Adds fully loaded light rifle mags at secfab, removes respective cartridges from secfab

* Adds fully loaded speedloader to secfab, removes respective cartridges from secfab

* small id mismatch fix

* another wrong ID fix

* capitalize Ls in speedloader

* Add missing SpeedLoader recipe

* Adds fully loaded shotgun drums to secfab, removes respective shells from secfab

* add rifle ammo unlocks back in, forgot ammo unlocks affect other fabs as well

* Moves tranquilizer shells to the non-lethal ammunition research

* Account for the removal of rubbers, adds in craftable disablers

* rubber rounds don't exist, remove empty non-lethal mags to just have empty mags

* Add in WT550 mags

* Convert latheRecipes to use LayeredTextureRect instead of TextureRect

* Fix for issue, texture layering now works

* Add in missing shell uranium box art

* add shelluranium to meta.json

* Fix yml issue

* Get rid of unused single ammo printing unlocks

---------

Co-authored-by: Plykiya <plykiya@protonmail.com>
2024-04-27 20:38:59 +10:00
eoineoineoin
b8a8d6f8fc Add tooltips to artifact analyzer UI (#27393)
Add tooltips to indicate why "Extract" button is disabled.

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-04-27 20:25:02 +10:00
Errant
257b04d277 Vox sprite rework (#26985)
weh
2024-04-27 16:04:51 +10:00
Pieter-Jan Briers
2f7d0dedbd Displacement map prototype (#26709)
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.
2024-04-27 16:03:58 +10:00
Ty Ashley
7d4d66887b Persist Agent ID Job Icon between UI loads (#27379)
Modified the Agent ID Card to persist the selected Job Icon between UI loads
2024-04-27 15:13:12 +10:00
wafehling
8febdc5fc4 Added hotkey and controller to re-open end of round scoreboard (#25884)
* 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>
2024-04-26 14:39:56 +02:00
metalgearsloth
e1a5247770 Fix magic mirror prediction (#27356) 2024-04-26 22:37:09 +10:00
metalgearsloth
13c6537842 Fix network configurator memory leaking (#27346)
* Fix network configurator memory leaking

Doesn't dispose this window.

* Fix the other part
2024-04-26 20:36:57 +10:00
metalgearsloth
5896e68752 Content update for UI prediction (#27214)
* Content update for UI refactor

* Big update

* Sharing

* Remaining content updates

* First big update

* Prototype updates

* AUGH

* Fix UI comp ref

* Cleanup

- Fix predicted message, fix item slots, fix interaction range check.

* Fix regressions

* Make this predictive

idk why it wasn't.

* Fix slime merge

* Merge conflict

* Fix merge
2024-04-26 18:16:24 +10:00
DrSmugleaf
c122fdf183 Move job info changing methods for id cards to shared (#27337)
* 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
2024-04-26 18:00:16 +10:00
Leon Friedrich
0ae942101a Fix client-side replay error (#27332) 2024-04-26 17:30:03 +10:00
Tayrtahn
b292905216 Expand UseDelay to support multiple delays per entity; fix bible healing and bag pickup (#27234)
* 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
2024-04-25 22:25:52 -04:00
ShadowCommander
cf45005471 Add command to toggle ghost visibility on the client (#27314)
* Add command to toggle ghost visibility on the client

* Fix description

* Fix index of arg parsing

* Allow setting GhostVisibility directly
2024-04-25 18:26:21 +02:00
beck-thompson
d3b1178428 Radio jammer update! (#25912)
* 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>
2024-04-25 12:19:16 +10:00
Nemanja
161fd6c83c Mega Antag Refactor (#25786)
* 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
2024-04-25 11:31:45 +10:00
Nemanja
771661f478 fix analysis console bias button for real (#27299)
fix bias button for real
2024-04-25 11:26:55 +10:00
Pieter-Jan Briers
7b90c08a2c Various item status fixes/tweaks (#27267)
* 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
2024-04-25 00:01:31 +10:00
Nemanja
49f1c8b197 fix analysis console not saving bias button state (#27275) 2024-04-24 01:35:16 -04:00
Plykiya
14bc595442 Do-afters belonging to other players are now shaded (#27273)
Make do-afters belonging to other players shaded

Co-authored-by: Plykiya <plykiya@protonmail.com>
2024-04-23 19:42:34 -07:00
lzk
5b0c3ecf73 Little analysis console rearrangement (#27244) 2024-04-22 10:00:13 -04:00
DrSmugleaf
b0e6ff6779 Add events for custom action target validation (#27230) 2024-04-22 01:39:50 -07:00
DrSmugleaf
81f2dc7cf9 Add SharedPopupSystem.PopupClient for cursor and coordinates (#27231) 2024-04-22 13:57:13 +10:00
Hannah Giovanna Dawson
f059714a75 SS14-26480 Roll Traversal Distorter into regular Artifact Analyzers (#26545)
* 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>
2024-04-21 12:09:26 -04:00
Pieter-Jan Briers
58f025ba80 THE RETURN OF ITEM STATUS (#22986)
* 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>
2024-04-21 23:16:23 +10:00
nikthechampiongr
f96f92f54f Make banpanel defaults use cvars (#27168)
* 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>
2024-04-20 18:18:26 +02:00
DrSmugleaf
5eae6335e1 Make remaining IPrototypes partial (#27157) 2024-04-20 17:48:38 +10:00
deathride58
396c613366 Adds the option to fit the viewport to vertical screenspace (#27061)
* 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
2024-04-20 16:46:02 +10:00
DrSmugleaf
3c6722bd6f Move storage binds and slot click handling to shared (#27135) 2024-04-20 16:23:45 +10:00
Nemanja
e5a5196b1f make filled inventory slots blank (#27150)
* blank filled slots

* Update InventoryTemplatePrototype.cs
2024-04-20 13:17:29 +10:00
metalgearsloth
b2b1926ecc More storage tweaks (#25970)
- Fix some prediction stuff.
- Fix some jank.
- UseDelay.
- Cap.
2024-04-20 11:51:16 +10:00
dffdff2423
cff8083650 Disable Communication Console Announcement Button for Too Long Messages. (#27145)
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.
2024-04-20 11:07:10 +10:00
Nemanja
a47c5561a9 add fuel costs back to finishing welding (#27030)
* add fuel costs back to welding

* ack

* meh

* eek!
2024-04-19 19:20:30 -04:00
Leon Friedrich
8245caaf61 Hide some map related logs from clients (#27127)
* Hide some map related logs from clients

* #if !DEBUG

* Fix typo
2024-04-19 15:26:21 +10:00
Krunklehorn
460b588de5 Refactor status icons take 2, cyborgs don't see criminal status (#26207)
* Initial commit.

* review

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-04-18 13:20:44 +10:00
metalgearsloth
9b1a8b07d7 Fix loadouts UI not refreshing on char change (#27075)
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.
2024-04-18 13:01:12 +10:00
Tayrtahn
cfa94be4c2 Add ability to shake fizzy drinks so they spray in peoples' faces (#25574)
* 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
2024-04-18 11:49:58 +10:00