Commit graph

51 commits

Author SHA1 Message Date
portfiend
b9b794deef
Microwave Refactor and Prediction (#43129)
* adjust fields of meal recipe prototype

* document microwave recipe datafields

* use file scoped namespace for microwave recipes

* more of this

* localize every microwave recipe

* make microwave system shared

* refactor recipe reagent contents

* refactor recipe solids + add material ingredient datafield

* im making this a bit less silly

* awa

* move this shit out

* move this shit out also

* refactor Wzhzhzh

* im gonna shorten this parameter by 1 actually

* move this into recipes

* make processcontents a little better(?)

* clean imports

* rename a struct

* use cooking ingredients struct

* comment

* use whitelist for this

* unused dependency

* rearranged the parameters of get recipe portions

* rearrange some stuff

* clean up more imports

* move container related functions into separate file

* move this function out of ProcessContents

* prevent microwaves from having items inserted while active

* use IsPowered in microwave system

* use byref syntax and Entity<>

* moving the override up
sorry i like it being up here

* refactor microwave updating

* clean up recipe finish logic

* im renaming this function actually

* move some functions around

* move more stuff around

* some comments

* fix compiler error

* fix the yml of all microwave recipes

* use materials instead of solids for this stuff

* oops

* fix this

* turn microwave sparks into datafield

* move activelymicrowaved events into separate folder

* make UpdateUserInterfaceState use entity only

* rearrange some functions

* move UI functions out

* comment microwave UI stuff

* more comments

* comment recipe functions

* refactor GetTotalIngredients to use an operator

* give CookingIngredients addition methods

* comment the rest of CookingIngredients

* make subtraction functions clearer?

* remove redundant comment

* handle zero/negative ingredient cases

* simplify subtract contents logic

* fix these comments

* typo

* add microwave recipe test

* move active microwave methods

* comment active microwave methods

* comment cooking methods

* comment microwave methods

* change setappearance to use entity<>

* add some public api decorators

* comment all of MicrowaveComponent

* use file-scoped namespace for MicrowaveComponent

* comment

* fix baguette sword

* maybe...?

* oh oops

* document the rest of the owl

* kill the massive YML breaking change

* fix protoman dependency

* move shared microwave stuff to SharedMicrowaveSystem

* fix usings

* move microwave components to shared

* fix up microwave datafields

* move APIs to shared

* move activemicrowave methods to shared

* initialize on shared

* move ui functions to shared

* add actor here

* stuff

* predict microwave update loop

* make clientside microwave system

* adjust the update loop for microwaves

* clean up

* add field deltas to microwaves

* dirty fields instead of whole component

* move this to the partial

* move GetRecipesForMicrowave to shared

* comments

* predict microwave BUI

* oops

* refactor microwave bui update

* move UI messages to shared

* move messages to UI file

* move init to shared

* move container methosd to shared

* oops my using

* move cooking functions into partial

* move cooking methods to shared

* move microwave recipe methods to shared

* move the rest of the microwave events to shared

* update imports

* remove custom type serializer

* better (?) microwave UI prediction

* fix list notations

* OK IT WAS THE DATAFIELDS

* add IOC inject

* dont use IOC for htis

* sealed

* prediction fixes pt1

* make microwave cooking updates more consistent

* datafield tweaks

* test for multiple portions in microwave recipes

* test for multiple recipe portions

* better(?) prediction for malfunctions

* remove redundant comment

* prevent solution reactions in microwave

* cleanup some microwave stuff

* eh i think this should be container actually

* this can be API i think

* reduce system redundancy

* this has to be public

* use resolve pattern for explode

* use GetMicrowaveContents in microwave system

* this can be an API too

* add conversion script for unlocalized recipes

* use EnsureComp instead of AddComp

* suffering

* fix recipe prediction

* fix the audio

* reduce redundant networking

* i think this should be autopaused?

* nevermind we use dynamic portions in the test

* oops i wrote the test wrong

* make lemoon cake take 2 lemoons again
sorry test fail

* rename "materials" to "stacks"
realized theyre different

* add stack guidebook quantities

* Kill audio

* fix lemoon cake recipe for real?

* mark PortionedRecipe as a datadefinition

* fix the microwave timer

* review

* cleanup

* Update SharedMicrowaveSystem.Recipes.cs

* update

* add audio params

* review: inject microwavesystem

* review: named variable

* review: move dependencies

* review: use gametest for recipe test

* review: make access attributes standalone

* rename prototypes and datafields

* review: rename this var

* review: move this function down

* review: remove these scripts

* actually this should stay

* refactor cook time buttons

* review: use a color name for this

* fix timer reset

* Dirty

* review: make ActivelyMicrowavedComponent networked

* review: slarti comments part 1

* review: remove serializable attribute from CookingIngredients

* rename file

* review: more microwave audio boilerplate. yippee!

* review: use resolve pattern for TryGetStackId
i dont like the way this makes the rest of the code look but we ball maybe. i dont know what else to do here

* review: move ui update to constructor

* review: kill LastCookUpdated

* actually i do this instead

* fixed up the PR

* cleanup

* ///

* Update microwave.yml

---------

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-10-04 23:38:48 +00:00
AndrewFenriz
70cd75a247
Standardize UI separators (#45820)
* remove unused using

* move VSeparator

* remove unused using

* move HSeparator

* remove BOM

* add Separator

* migrate

* fix separator migration

* remove old separators

* clean separator migration

* clean separator formatting

* cleanup

* update SeparatorSheetlet
2026-09-19 20:16:18 +00:00
cashew
4bde1c1120
Port Chat Follow functionality from AfterLight (#45375)
* ports chat follow function from AL and removes PJB implementation
forgor to commit earlier so it's just one chunk

* fixes accidental MiscTab.xaml restructuring

* fix name color

* remove unused function

* cvar summary

* typo

* accidental doc removal

* fix test fail

* fix test fail

* like i said first pr :|

* inject in constructor

* adds chat links to Local, Whisper, LOOC and Dead Chat respects Admin ghost privacy

* i hate chat code

* remove cvar

* single events file

* adds CanGhostWarp back

* filter for admin ghosts

* move tag

* remove ChatLinkTag.cs

* fix speechbubble rendering

* i want to bash my brain in

* kill chatcode

* formatting

* testfail

* still not working

* atleast deadchat works now

* even prettier TextLinkTag.cs

* fix speechbubble rendering for looc

* docs

* renaming and better docs

* Revert "remove cvar"

This reverts commit 1acb168f

* final changes (hopefully)

* requested changes

* can't parse -

* change TextLinkTag again

* formatting and typo

Co-authored-by: Connor Huffine <chuffine@gmail.com>

* quickfix

* no logging for now actually

* i will work on this in the morning

* restructuring

* wip

* final restructuring and docs

* still not done btw

* review

* docfix

* actually we can filter for admin ghosts

* doc

* fix color

* fix fix color

* review

* all I care to clean up

* bold names

* doc

* admin warp

* fixed

* fsaasffsa

* GOD ONCE SAID: GOOD ENOUGH

* they call me the shuffler

* admin chat links

* forgor newline

* fix?

* actual fix

* dumb stuff

* chungus

---------

Co-authored-by: Connor Huffine <chuffine@gmail.com>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
2026-09-15 08:05:17 +00:00
Centronias
928ecf541b
Replace string with ProtoId<ReagentPrototype> in a few places (#44653)
* string -> ProtoId<ReagentPrototype> in a few places

* dictionary stuff

* update data record name, static function stuff, and clean imports
2026-07-13 21:02:01 -04:00
pathetic meowmeow
dc10275428
Add table of contents to the guidebook (#35316)
* Add table of contents to the guidebook

* It takes way too much reading space adding another panel, so lets do
this instead

* unused

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-07 02:52:58 +00:00
Schuyler Duryee
ae051d2905
Tweak guidebook to not reset when re-opened (#37235)
* Make guidebook not reset when re-opened to same guide

* Make guidebook only expand tree when guides are changed

* Update to match master

Make guidebook not reset when re-opened to same guide

Make guidebook only expand tree when guides are changed

* Reviews

* oop

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-04 22:13:19 +00:00
beck-thompson
5f37c95e9f
Admins can now see what items are contraband and chameleon in the strip menu (#43658)
* Admins can now see what items are contraband and chameleon in the strip menu

* Fix the color, the default is now red

* better admin view comment

* Simplify logic, make new simple slot overlay to combine logic

* Make isadmin logic a little clearer

* Minor cleanup / spelling mistakes

* change  button shape

* change to res path

* opps

* Add option to change default behavior

* Fix spacing

* Remove unused

* Rename to default

* Take away the soul of the overlay

* Add tooltip

* Fix error
2026-05-10 10:45:58 +00:00
Pieter-Jan Briers
5168b5f3d4
IoC source gen compatibility (#43863)
* IoC source gen compatibility

Can be merged before or after https://github.com/space-wizards/RobustToolbox/pull/6549 doesn't really matter.

* Missed a spot
2026-05-09 03:29:58 +00:00
pathetic meowmeow
ff1af35afb
Replace metabolism groups with metabolism stages (#42172)
* Replace metabolism groups with metabolism stages

* return to return

* killed

* yaml linted

* yaml linted again

* margarine

* bugfixes and balancing tweaks
2026-01-23 01:50:33 +00:00
Princess Cheeseballs
267357a4b0
Fix all currently known markup issues (#42032)
* fix 1

* fafa

* remove

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-01 21:17:43 +01:00
PotentiallyTom
ace8acde56
Adds a guidebook reference table for silicon lawsets (#38225)
* skeleton

* ok I think I understand this now

* xaml more like xam L

* good enough individual law control

* Works

* Final checks

* Final_Final.exe.docx

* removed unecessary usings

* locstrings

* doc comments

* requested changeds except var

* visual stuff

* I could write a manifesto about how much I dislike var

* color tweak + other thing

* request changed minus the inheritance

* sans Boxcontainer

* :/

* cache find

* requested changed

* removed usings

* Moved margin and removed unecessary BoxContainer
2025-10-13 11:44:42 +00:00
SlamBamActionman
3da0b0299f
Add support for contraband text to the reagent guidebook (#37113)
* Add contraband text to reagent guidebook

* Add reagent for examining

* Update Content.Client/Guidebook/Controls/GuideReagentEmbed.xaml.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-10 15:30:53 +02:00
Tayrtahn
c565b44965
Replace ValidatePrototypeId uses with ProtoId or EntProtoId (#38814)
* The easy ones

* For certain values of easy

* Easy test

* Hair

* Fix sandbox violations

* Sort usings
2025-07-07 21:57:05 +02:00
Tayrtahn
05d3d9350d
Cleanup logging in guidebook embeds (#37794) 2025-05-25 00:47:47 +02:00
Ciarán Walsh
2a201837c7
Link to reagent ingredients on the same Guidebook page (#36700)
* Add in-page links for guidebook reagent recipes

* Add links to microwave recipes

* This function is too specific to be in Control extensions

* Better naming

* Wrap RichTextLabel instead of subclassing

* "Activate" is ambiguous
2025-05-09 10:06:26 +10:00
Ed
0563e0d67e
Reagent guidebook reactions UI dividers (#35608)
* Update GuideReagentReaction.xaml

* Update Content.Client/Guidebook/Controls/GuideReagentReaction.xaml

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

* Update Content.Client/Guidebook/Controls/GuideReagentReaction.xaml

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

---------

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
2025-03-01 16:21:33 -06:00
pathetic meowmeow
b7414d85b4
Add microwave recipes to the guidebook (#34105) 2025-02-23 16:24:44 +01:00
GrownSamoyedDog
91678f75da
Fixed Guidebook Sorting / Ordering (#34960)
* fixed all yml and cs

* Subjective Rearranging

* fixed my accidentally removed xml endline

* Accidentally included for a different PR

* Added .ThenBy and cleaned up newplayer.yml
2025-02-23 02:00:10 +01:00
Winkarst
88dcc831c1
Remove calls to FormattedMessage obsolete methods (#31706)
* Remove FormattedMessage obsolete methods

* Oops
2024-09-01 13:00:53 +02:00
12rabbits
367cdfd439
Make guidebook remember where you left off (#31375)
* Guidebook tracks last read entry

* Persistent guidebook fixes

* Persistent guidebook requested changes

* Update Content.Client/UserInterface/Systems/Guidebook/GuidebookUIController.cs

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2024-08-27 01:06:54 +02:00
Thomas
eab0c34822
Create In-Guidebook Errors (#28942)
* Create in-guidebook errors

* Localize client-facing parser error

* Uncomment line

* Missed another localization string
2024-08-09 16:05:51 +10:00
AJCM-git
346ac44a28
Open the guidebook when people with less than an hour playing join the round (#28774)
* Open the guidebook when people with less than an hour playing join the round

* Filter for gameplayState

* Fix tests

* tweaks

* saltern update (#28773)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Fix admin menu objects list (#28787)

* Make `MakeAntag()` log errors instead of throwing exceptions (#28771)

Make `MakeAntag()` log errors instead of throw

* add default page support for the guidebook (#28772)

* Probably a better way to handle this

---------

Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2024-06-09 12:26:48 -04:00
Nemanja
c549573f7a
add default page support for the guidebook (#28772) 2024-06-09 11:55:21 -04:00
AJCM-git
accf8adf97
Fixed the guidebook listing every single rule (#28680)
* Well i tried this way

* New approach (start)

* Did it

* makes spacelaw available, put it under sec
2024-06-07 06:28:55 -05:00
Leon Friedrich
e7f2ae52ab
Give jobs & antags prototypes a guide field (#28614)
* Give jobs & antags prototypes a guide field

* A

* space

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Add todo

* Fix merge errors

---------

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2024-06-06 05:05:58 -07:00
Chief-Engineer
fea2bc9422
Update rules (#28452) 2024-06-05 19:59:22 -04:00
Flesh
c551cafdae
Add plant metabolism effects to chemical guidebook (#28038)
* draft one of plant metabolism guidebook

* loc fix?

* add attributes loc

* fix loc syntax

* improved appearance

* last commit was undercooked, my bad

* last commit was still undercooked, my worse

* last commit was even still undercooked, my worst

* Addressed comments?

* Fix newlines

* Hopefully this works

* Cleanup, I think

* 2xs
2024-05-19 17:01:44 -06: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
metalgearsloth
c5486873db
Shuttle console + FTL rework (#24430)
* Add shuttle interior drawing back

Just do it per-tile she'll be right, at least it's done with 1 draw call.

* Revamp shuttle console

* Bunch of cleanup work

* Lables sortito

* dok

* Pixel alignment and colours

* Fix a bunch of drawing bugs

* Shuttle map drawing

* Drawing fixes

* Map parallax working finally

* weh

* Commit all my stuff

* mic

* deez

* Update everything

* Xamlify everything

* uh

* Rudimentary blocker range

* My enemies have succeeded

* Bunch of changes to FTL

* Heaps of cleanup

* Fix FTL bugs

* FTL

* weewoo

* FTL fallback

* wew

* weh

* Basic FTL working

* FTL working

* FTL destination fixes

* a

* Exclusion zones

* Fix drawing / FTL

* Beacons working

* Coordinates drawing

* Fix unknown map names

* Dorks beginning

* State + docking cleanup start

* Basic dock drawing

* Bunch of drawing fixes

* Batching / color fixes

* Cleanup and beacons support

* weh

* weh

* Begin pings

* First draft at map objects

* Map fixup

* Faster drawing

* Fix perf + FTL

* Cached drawing

* Fix drawing

* Best I got

* strips

* Back to lists but with caching

* Final optimisation

* Fix dock bounds

* Docking work

* stinker

* kobolds

* Btns

* Docking vis working

* Fix docking pre-vis

* canasses

* Helldivers 2

* a

* Array life

* Fix

* Fix TODOs

* liltenhead feature club

* dorking

* Merge artifacts

* Last-minute touchup
2024-03-03 18:39:19 +11:00
Sk1tch
3b2921a3cc
Alphabetically sorted guidebook entries (#24963)
* - 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>
2024-02-08 18:23:34 -05:00
Nemanja
f538a2e34a
Add reagent sources to the guidebook (#22627)
* source in my guidebook

* finish it!

* sir yes sir oorah

* network that bitch, baby
2023-12-30 23:34:59 -08:00
Nemanja
267c44fffd
add mixing categories to chem guidebook (#22566) 2023-12-15 16:59:54 -07:00
Nemanja
500675ba8a
show multiple recipes in the guidebook (#22463) 2023-12-13 15:17:38 -07:00
DrSmugleaf
f560f88eb5
Remove 700 usages of Component.Owner (#21100) 2023-10-19 12:34:31 -07:00
Nemanja
fd994511a7
technology auto guidebook (#21029)
* technology auto guidebook

* boo-womp

* boo-womp II
2023-10-16 16:51:58 -05:00
Kara
66307df970
Revert "Guidebook can POP OUT YAYYYY" (#20520) 2023-09-26 07:49:27 -07:00
TomaszKawalec
cd9f0b8728
Display minimum temperature required for reaction to occur in guidebook (#20424) 2023-09-24 17:33:25 -04:00
Vasilis
e5162d4151
Guidebook can POP OUT YAYYYY (#20268)
* Let them eat cake

* Reviews

* Change amoled theme to gray

* Ok nevermind im big smart
2023-09-22 14:52:30 -05:00
Visne
11a57be230
Remove usages of obsolete SpriteView.Sprite.set() (#19500) 2023-08-25 11:16:46 +10:00
Pieter-Jan Briers
a242af506e
Adds the thermo-electric generator (#18840)
* 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.
2023-08-12 15:41:55 -05:00
Morb
d571cde1a3
Explicitly set float.Parse culture (#18778) 2023-08-06 14:23:13 -05:00
Hebi
756699ffcc
Filtering reagents (#18211)
* Making it work

* Refactoring

* Autoformat revert

* Implementing suggestions

* Changed to file scoped namespaces.
2023-07-26 02:05:09 -06:00
metalgearsloth
68480af109
Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
Nemanja
ba9a369d0e
Guidebook links (#17162)
* Guidebook links

* warning!
2023-06-07 02:51:11 -05:00
Leon Friedrich
5b36355541
Fix guidebook examine not working in lobby (#17093) 2023-06-04 16:33:50 -05:00
Nemanja
b9fb66f005
Chem guidebook (#17123)
* 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>
2023-06-04 15:45:02 -05:00
Leon Friedrich
883d6646ea
Make guidebook start with some entries collapsed (#16181) 2023-05-07 13:12:29 +10:00
Leon Friedrich
473a02120d
Map-Init guidebook entities. (#14823) 2023-03-24 20:00:29 +11:00
Vordenburg
eed3c2a509
Add Rotation attribute to GuideEntityEmbed. (#14729) 2023-03-18 14:26:45 -07:00
Visne
c6d3e4f3bd
Fix warnings and code cleanup/fixes (#13570) 2023-01-19 13:56:45 +11:00