Commit Graph

4330 Commits

Author SHA1 Message Date
metalgearsloth cde5bfb0dd
Fix literally every single activatable UI bug (#27401)
* Fix all activatable bugs

Apparently this was a load-bearing nullable enum.

* build
2024-05-06 01:35:37 +02:00
brainfood1183 eb9e3974d0
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-05-06 01:31:20 +02:00
Tainakov 619c00c22c
[Admin QOL] +Adminchat flag (#26930) 2024-05-06 01:26:44 +02:00
Errant 3838aef210
vox oxygen toxicity, respiration changes (#26705)
* vox oxygen toxicity and related stuff

* Review

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit a62e8701cb30cc0c96cbac5a33b57728efe596b5)
2024-05-03 00:31:02 +02:00
ShadowCommander 0da4cd9dd3
Fix prying error when opening locked airlocks (#27386)
It would try to pry the door and fail to resolve a prying component on the entity trying to open the door.

(cherry picked from commit 6eb681958be3bec1bf7798866237c0f2f79d98d2)
2024-05-03 00:30:04 +02:00
Errant 1e2f97dc21
Vox sprite rework (#26985)
weh

(cherry picked from commit 257b04d27793b8c8853af57a9f53d361062d5d61)
2024-05-03 00:29:32 +02:00
Pieter-Jan Briers b2294a8cdc
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.

(cherry picked from commit 2f7d0dedbded99a8f3f538c887c3c17aaa667501)
2024-05-03 00:28:42 +02:00
Ty Ashley 1eace0955c
Persist Agent ID Job Icon between UI loads (#27379)
Modified the Agent ID Card to persist the selected Job Icon between UI loads

(cherry picked from commit 7d4d66887b1617e929a64d4e6fe5d6d88b5e5a58)
2024-05-03 00:26:03 +02:00
metalgearsloth 81340a02d9
Remove redundant HasUi (#27381)
Doesn't fix anything but still.

(cherry picked from commit cc2fa6f57e955917d68b3ec52f1d8a552292eb74)
2024-05-03 00:25:58 +02:00
Pgriha 17cdb45d44
More characters slots! (#27361)
Add more character slots

(cherry picked from commit ef7d85d28523b4a2fbffd334d1c96da77f94e497)
2024-05-03 00:25:02 +02:00
Mr. 27 22cb3eb23a
monkey reinforcement teleporters can now select between kobold or monkey with a verb (#25982)
* inital

* Update animals.yml

* Update animals.yml

* Update Content.Server/Ghost/Roles/Components/GhostRoleMobSpawnerComponent.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Update Content.Server/Ghost/Roles/Components/GhostRoleMobSpawnerComponent.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Update Content.Server/Ghost/Roles/Components/GhostRoleMobSpawnerComponent.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Update Content.Server/Ghost/Roles/Components/GhostRoleMobSpawnerComponent.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Update Content.Server/Ghost/Roles/Components/GhostRoleMobSpawnerComponent.cs

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* selecting different role will change the description and name

* fix name

* gargh

* the review

Hello

* e

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

(cherry picked from commit 50fb91bd1837ea8a78677dbb211559ded5bba018)
2024-05-03 00:20:15 +02:00
metalgearsloth f6495da3c2
Fix PAI BUI (#27357)
(cherry picked from commit 394c325246c76e234ef6600194a45d9325d3702d)
2024-05-03 00:19:06 +02:00
wafehling 338fc46f78
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>
(cherry picked from commit 8febdc5fc4851f44802bc675d90d3412bd0d4da6)
2024-05-03 00:19:00 +02:00
metalgearsloth 5ff62578ce
Fix magic mirror prediction (#27356)
(cherry picked from commit e1a52477706b6ebc2b4d74f5a98e6f913279e905)
2024-05-03 00:18:55 +02:00
WarMechanic 85048c5d32
fix wieldable guns not being able to cycle inhand (#27307)
* Add UnwieldOverride variable that overrides unwielding inhand to enable other interactions

* Give LMGs UnwieldOverride

* logically inverted UnwieldOverride to UnwieldOnUse

* fixed typo

(cherry picked from commit 498109a833047d933a5f72edf87961542c516f58)
2024-05-03 00:18:52 +02:00
DrSmugleaf 4e2d82a9c6
Fix mobs not being able to pry doors by just left clicking on them (#27349)
(cherry picked from commit adce5793707d83852f783f891335e0d481aaa94d)
2024-05-03 00:18:48 +02:00
metalgearsloth 7c857e7342
Fix network configurator memory leaking (#27346)
* Fix network configurator memory leaking

Doesn't dispose this window.

* Fix the other part

(cherry picked from commit 13c65378425e2d8254e8ed4e68061643b1245308)
2024-05-03 00:18:47 +02:00
metalgearsloth 1d63b4cfcb
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

(cherry picked from commit 5896e6875266b22c565009b5d45f60ceb981d90a)
2024-05-03 00:15:32 +02:00
DrSmugleaf 6a95253b9d
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

(cherry picked from commit c122fdf183a8228ccba69cb747a86626ca9b5391)
2024-05-03 00:13:05 +02:00
metalgearsloth 0f18c2c907
Fix UseDelay issues (#27336)
* 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

(cherry picked from commit d745a788ea33616f06f5301f780e5c7dba3ae6c6)
2024-05-03 00:13:03 +02:00
Tayrtahn 07bfdf787a
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

(cherry picked from commit b292905216948e0c85b04e8ef65a5291dd868eee)
2024-05-03 00:11:26 +02:00
beck-thompson 2351ca213f
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>
(cherry picked from commit d3b1178428e9e0e714e51523558335589078a76c)
2024-05-03 00:10:47 +02:00
Leon Friedrich 3e9548a08a
Fix DoAfter attempt event null error (#27280)
* Fix DoAfter attempt event null error

* A

(cherry picked from commit 6d16d6b1c973dfc5da7ec7e6cc3529b39a9dbf69)
2024-05-03 00:09:24 +02:00
Leon Friedrich 0843601d6a
Content changes & tests for engine prototype validation PR (#27188)
* Content changes & tests for engine prototype validation PR

* A

(cherry picked from commit 8aabb1c2e5f006ca604daa92f2da0b8856f02ee7)
2024-05-03 00:01:57 +02:00
Pieter-Jan Briers a0bceb5c97
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

(cherry picked from commit 7b90c08a2c7315b2c5a6cb17dfd82a5ac9863a53)
2024-05-03 00:01:56 +02:00
Tayrtahn cc3c6652bc
Fix climbing and bonking simultaneously (#27268)
* 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

(cherry picked from commit 480d26aba64865f1460c4ca82b8d341d98268670)
2024-05-03 00:01:48 +02:00
Leon Friedrich 5bb755467e
Add NukeOps Test (#27207)
* 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
2024-05-03 00:01:36 +02:00
Nemanja bccc2bf40e
fix cargo teleporter (#27255)
* fix cargo teleporter

* don't delete orders

* basado

(cherry picked from commit 1bfc63c546617ee2e9be9960b14abf16eee19ad5)
2024-05-02 23:59:53 +02:00
Skye 7e5c4e0cfe
Fix: Suit Sensors Vitals (#27259)
Vitals now functions correctly

(cherry picked from commit 32c1f8f8cd2cff03d8de11be139cfd46f552c2ea)
2024-05-02 23:59:19 +02:00
Just-a-Unity-Dev 8086508273
General slime improvements (#23425)
* 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>

(cherry picked from commit fd0ca42c58315b4c4f91fe9364c3dc3d88ba5624)
2024-05-02 23:57:52 +02:00
DrSmugleaf fd40a7a33a
Add events for custom action target validation (#27230)
(cherry picked from commit b0e6ff67793723f1fd23e62eccde731d8aec5f4c)
2024-05-02 23:52:51 +02:00
DrSmugleaf c369b1c89d
Add SharedPopupSystem.PopupClient for cursor and coordinates (#27231)
(cherry picked from commit 81f2dc7cf90de43c6a854c28ae9243be1c8c7d4d)
2024-05-02 23:52:38 +02:00
Wrexbe (Josh) 21f7b18b14
Escape markup for in-game chat, and labeler (#26359)
* Escape markup for in-game chat, and labeler

* different way

* remove a using

---------

Co-authored-by: wrexbe <wrexbe@protonmail.com>
(cherry picked from commit c93052c7553e5a495f70cffe435febc6157ab8b3)
2024-05-02 23:52:05 +02:00
deltanedas fccee49fbb
early merge projector rewrite/fixes (#1128)
* 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>
2024-05-01 15:03:26 +00:00
Hannah Giovanna Dawson 4edf577b1b
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>

(cherry picked from commit f059714a75601c73c0b7b917d0faac35c99f96fe)
2024-04-21 23:46:34 +02:00
Tayrtahn ab2d7626b3
Add clothing equipped/unequipped events (#27155)
* Added ClothingGotEquipped/ClothingGotUnequipped events

* Better version

* Implemented in a few places

* More implementations

* Add ClothingDidEquipped/ClothingDidUnequipped events

(cherry picked from commit 50631f430d62fc413bc8757f8d1e1c4523417816)
2024-04-21 23:45:55 +02:00
Pieter-Jan Briers 176e9b0a81
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>

(cherry picked from commit 58f025ba8043bcf5c32204b08eec8ae9e5d2bd41)
2024-04-21 23:41:08 +02:00
Plykiya 1b3a4007b1
Fix for inventory and belt not opening (#27179)
Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit 6ad039d0f9a13a3bcedf400b3b89f2eb186631ec)
2024-04-21 23:36:43 +02:00
nikthechampiongr aafca1efc8
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>
(cherry picked from commit f96f92f54fe169d2e3a21356e07dfa50eca8b5d9)
2024-04-21 23:34:53 +02:00
deltanedas be81d76b25
disable rehydration prediction (#27166)
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 9482144a19930af85a22b90d6c610101b629bece)
2024-04-21 23:34:06 +02:00
DrSmugleaf c30f6b9659
Make remaining IPrototypes partial (#27157) 2024-04-21 23:33:58 +02:00
deathride58 13af11e3db
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

(cherry picked from commit 396c6133664de50f8d85133b3680292fa1b95be0)
2024-04-21 23:32:41 +02:00
DrSmugleaf f0f410348c
Move storage binds and slot click handling to shared (#27135)
(cherry picked from commit 3c6722bd6fca55cfdee8dced11379641b443d542)
2024-04-21 23:31:37 +02:00
MilenVolf 695acc366e
Fix crates masks (#27137)
Fixes crates masks not allowing them to go under plastic flaps + crates no longer can go trough windoors.

(cherry picked from commit 812abd33a0616aeedd9bea2952e4f0fb7bd31697)
2024-04-21 23:31:34 +02:00
Verm 21208c94f8
You can bless more containers with a bible (#26526)
* Made more things blessable

* Removed junk

* Remove whatever that was

* Make bowls blessable

* New mixablesolution component, converted everything to work with it

* Fix minor mishaps

* Fix extra spaces in bottle yml

* Fix last extra space, fix bottle havign the wrong solution name

* Remvoe unneeded event(I think), fix alcohol bottles not being mixable

* I missed cans
2024-04-21 23:31:16 +02:00
Leon Friedrich 817b4b0e93
Add evac shuttle test. (#27152)
* Add evac shuttle test.

* Fix typo in comment

(cherry picked from commit 12bb476a2d9df67babf961efe2856c561b6d6248)
2024-04-21 23:22:04 +02:00
Tayrtahn 3d31cb5eba
Fixed debug assert while getting network state in ClothingSystem (#27153)
(cherry picked from commit 4594700d19916061b2aa755530cb6acd70c69d71)
2024-04-21 23:22:01 +02:00
Nemanja 1d00da85fd
make filled inventory slots blank (#27150)
* blank filled slots

* Update InventoryTemplatePrototype.cs

(cherry picked from commit e5a5196b1f5cba8e0f05c374b2b7c58eea6f7361)
2024-04-21 23:21:54 +02:00
metalgearsloth 8bd58f68b5
More storage tweaks (#25970)
- Fix some prediction stuff.
- Fix some jank.
- UseDelay.
- Cap.

(cherry picked from commit b2b1926eccbae918c8d9702cfba40e54d1f4d870)
2024-04-21 23:20:53 +02:00
Nemanja 0d88c372e9
add fuel costs back to finishing welding (#27030)
* add fuel costs back to welding

* ack

* meh

* eek!

(cherry picked from commit a47c5561a9632b6577abdc252f712d7f2da823e6)
2024-04-21 23:20:07 +02:00