Commit Graph

39 Commits

Author SHA1 Message Date
deltanedas
1c2f200762 add mining points (#2419)
* add mining points

* add claim points button to oreproc

* funny

* its over

* :trollface:

* xml fail

Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>

---------

Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-11-26 22:55:56 -05:00
Pieter-Jan Briers
0c97520276 Fix usages of TryIndex() (#39124)
* Fix usages of TryIndex()

Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)

This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)

This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.

Fixes #39115

Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.

* fix tests

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-09 18:17:56 +02:00
ScarKy0
467f19b58e Reuse lathe queue instead of redrawing (#39886)
* init

* init

* PUSH!!!

* //

* Me when the when the me when the

* review

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-04 21:37:15 +02:00
Whatstone
b5529ecf2b Batchable lathe jobs, editable lathe job order (#38624)
* batchable lathe jobs, editable order

* requested changes

* LatheComponent comment, menu strings
2025-08-24 17:02:47 +02:00
Tayrtahn
3a8974f574 Improve lathe queue performance (#38583)
* Use an actual Queue

* Store ProtoIds instead of prototypes

* Network as NetListAsArray

* Remove Serializable & NetSerializable from LatheRecipePrototype

* Convert CurrentlyProducing too

* No point using NetListAsArray<T> if you're going to .ToArray() it anyways.

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-06-27 00:08:01 +02:00
Tobias Berger
0d04f541d2 Fix LatheMenu DefaultProductionAmount getting ignored (#35951) 2025-03-20 17:38:59 +01:00
āda
b57b534380 Lathe menu UI displays a count of available recipes (#35570)
* commit

* jumped the gun

* changes
2025-03-05 23:31:48 +11:00
āda
3127f73c48 Multiple categories for lathe recipes (#34315)
* first

* lint

* changes

* change null comparison

* linq

* indent

* fix indent

---------

Co-authored-by: Milon <milonpl.git@proton.me>
2025-02-27 12:33:39 +01:00
deltanedas
1f5fab5761 move lathe recipes into packs (easier for forks and maintaining) (#33095)
* add LatheRecipePackPrototype

* change Lathe and EmagLathe to use packs

* add AddRecipesFromPacks helper to SharedLatheSystem

* update lathe logic to work with packs and clean up some stuff

* migrate individual recipes to recipe packs

* update client

* remove node/artifact scanner from techs

* :trollface:

* fix test and make it include emag recipes

* add test that every dynamic recipe must be researched

* pro

* fix

* fix

* fix all tests, genuinely good test i wonder who made it

* add unused uranium and incendiary drozd mags to tech and lathe

* add recipes

* add incendiary prototype

* undo some changes

* troll

* :trollface:

* true

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* shitmed real

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>

* update funny test

* :trollface:

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
2025-02-07 19:22:49 +01:00
Nemanja
ada6455b17 Make printing from ore procecssors slightly more bearable (#31074)
* Make printing from ore procecssors slightly more bearable

* Update sheet.yml
2024-08-17 15:12:55 +10:00
Nemanja
2c26be606f Add support for printing reagents in lathes (#30476)
* Add support for reagents in lathes

* missing locale
2024-08-01 14:15:05 +10:00
metalgearsloth
edb05e36bb Reapply "Remove some BUI boilerplate" (#30214) (#30219)
* Reapply "Remove some BUI boilerplate" (#30214)

This reverts commit cb0ba66be3.

* Fix gas tank

* Fix PA

* Fix microwave

* Comms console underwrap

* Fix rcd

* log wehs
2024-07-21 14:48:13 +10:00
Nemanja
cb0ba66be3 Revert "Remove some BUI boilerplate" (#30214)
Revert "Remove some BUI boilerplate (#28399)"

This reverts commit cbf329a82d.
2024-07-20 20:42:27 -04:00
metalgearsloth
cbf329a82d Remove some BUI boilerplate (#28399)
* Remove some BUI boilerplate

- The disposals overrides got removed due to the helper method handling it.
- Replace window creation with CreateWindow helper.
- Fixed some stinky code which would cause exceptions.

* More

* moar

* weh

* done

* More BUIs

* More updates

* weh

* moar

* look who it is

* weh

* merge

* weh

* fixes
2024-07-20 15:40:16 +10:00
Cojoke
b57174007c Remove all Assigned Values that are Never Used (#30110)
Remove all Assigned Values that are never used
2024-07-18 20:22:23 -04:00
Plykiya
1eb3a3e6d1 Fixes lathe usage of EntityPrototypeView (#29608)
Co-authored-by: plykiya <plykiya@protonmail.com>
2024-06-30 21:45:43 +10:00
Plykiya
9cd08b84d9 Fix some lathe recipe textures showing up blank (#28683)
* Update lathes to use entity prototype

* ScrollContainer my hero

* gets rid of excess newlines

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-06-19 13:18:45 +10:00
metalgearsloth
dabf3d1521 Fix material storage going BRRT (#29167)
If the volume hits 0 we just remove it.
2024-06-18 17:47:19 -04: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
Crotalus
a9df8cf18a Fix lathe materials list bug (#26826)
Fix lathe material list bug
2024-04-08 09:46:42 -04:00
Crotalus
a178754980 Show missing materials in lathes tooltip (#26795)
* Lathes: Show missing materials amount in tooltip

* Use AppendLine and remove the last newline at the end
2024-04-07 23:16:11 -04:00
Nemanja
73e94dfa92 Lathe Categories (#24247)
* Lathe Categories

* serilog my beloathed
2024-01-19 17:45:03 -07:00
Nemanja
2b01899d63 Make the material ejection control completely generic (#23308)
* Finish decoupling material ejection from lathes

* commented
2023-12-31 23:16:25 -08:00
Justin
07f87f93d2 Add description in lathe recipe mouseover tooltip (#22621)
* Add description in lathe recipe mouseover tooltip

* Remove old tooltip
2023-12-16 21:06:38 -05:00
DrSmugleaf
a44fa86b68 Update trivial components to use auto comp states (#20539) 2023-09-28 16:20:29 -07:00
deltanedas
db2a4478b0 show non-sheet material units in lathe (#19896)
* locale for material units

* use material units in lathe ui

* give units to non-sheet materials

* :trollface:

* use volume properly

* :trollface:

* review

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-07 22:11:10 -04:00
Nemanja
6695ac2ad6 Show materials as sheets, tweak lathe ui (#19709) 2023-08-31 22:28:08 -07:00
Thom
a1029be654 Changed Lathe UI to two-column layout so its easier to see what materials are currently loaded (#19608) 2023-08-28 17:36:07 -07:00
chromiumboy
a39fa80d58 Add lathe material ejection (#19218)
This completes PilgrimViis' (now closed) PR 16398. It addresses issue 10896, by allowing materials to be ejected from most lathes (except the ore processor and sheet-meister 2000)

* - Refinements to the material ejection UI
- Made the lathe UI default to a slightly larger size
- Fixed an offset issue with the label of the item currently being printed in the build queue UI

* Allow the materiel reclamation UI to pop if there is material left in the lathe, but not enough to print any sheets

---------

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2023-08-17 09:22:01 -08:00
TemporalOroboros
3ac4cf85db Cleaner BoundUserInterfaces (#17736) 2023-07-09 02:02:17 +10:00
Nemanja
a01f26d3a6 fix lathe syncing and tweak ui (#17489) 2023-06-20 00:39:35 -06:00
Nemanja
8411739e00 Fix secfab being able to print protolathe items (#17443) 2023-06-18 16:35:19 -06:00
Leon Friedrich
cf509c1e38 Add material arbitrage tests (#13315) 2023-01-15 00:57:59 -08:00
Nemanja
69971272e6 lathe recipes no longer specify textures (#12944)
Co-authored-by: Moony <moony@hellomouse.net>
2023-01-01 15:56:03 -08:00
Pieter-Jan Briers
a323671984 Changes for prototype load parallelization (#13066)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-12-20 14:25:34 -08:00
eoineoineoin
f08b1be48c Add label to lathe UI (and friends) to show when no materials are loaded (#12893)
Also, don't list materials which have previously been loaded and
completely consumed.

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2022-12-19 21:54:42 -06:00
Nemanja
6fd083af0b fix infinite lathe printing bug (#12343) 2022-11-01 18:05:00 -05:00
Nemanja
3ab98e320a lathe machine upgrading (#12032) 2022-10-30 18:12:11 +11:00
Nemanja
2e7dcb1ed8 Lathe Refactor and ECS (#11201)
* lathe and material storage refactor

* materialStorage ECS

it kinda sus tho

* beginning the lathe shitcode dive

* couple lathe visuals and lathe system

* lathe changes and such

* dynamic lathe databases

* rewrote internal logic

on to ui

* da newI

* material display clientside

* misc ui changes

* component state handling and various other things

* moar

* Update Content.Shared/Lathe/LatheComponent.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* first volley of sloth review

* more fixes

* losin' my mind

* all da changes

* test fix and other review

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-09-16 18:49:05 -05:00