Commit Graph

849 Commits

Author SHA1 Message Date
metalgearsloth bf79acd127
Salvage magnet revamp (#23119)
* Generic offering window

* More work

* weh

* Parity

* Progression meter

* magnet

* rona

* PG asteroid work

* code red

* Asteroid spawnings

* clams

* a

* Marker fixes

* More fixes

* Workings of biome asteroids

* A

* Fix this loading code

* a

* Fix masking

* weh

* Fixes

* Magnet claiming

* toe

* petogue

* magnet

* Bunch of fixes

* Fix default

* Fixes

* asteroids

* Fix offerings

* Localisation and a bunch of fixes

* a

* Fixes

* Preliminary draft

* Announcement fixes

* Fixes and bump spawn rate

* Fix asteroid spawns and UI

* More fixes

* Expeditions fix

* fix

* Gravity

* Fix announcement rounding

* a

* Offset tweak

* sus

* jankass

* Fix merge
2024-01-04 14:25:32 +11:00
Leon Friedrich 377be6fcca
Changes required for frozen event bus PR (#23493)
* Changes required for frozen event bus PR

* Fix RoundEndTest
2024-01-04 13:26:25 +11:00
Leon Friedrich 42ec9b2967
Changes required for engine PR (#23488) 2024-01-04 12:08:23 +11:00
Nemanja 4662d463b8
Chill bounties + fixes (#23411)
* Chill bounties + fixes

* localize

* fix arbitage
2024-01-03 17:34:47 -07:00
metalgearsloth 2166958bd0
AutoCompState + ItemToggle fixes (#23422)
* AutoCompState + ItemToggle fixes

Fix a lot of the comp states that are never actually networked and also cleaned up ItemToggle events a bunch. ItemToggle will still need some future work for lights and sounds.

* Also catch these
2024-01-03 17:24:02 +11:00
DrSmugleaf ac022090b6
Fix ConfigPresetTests.TestLoadAll not handling automatic panic bunker (#23414) 2024-01-02 19:08:50 -08:00
Leon Friedrich 383271c8fa
Fix GravityGridTest (#23348) 2024-01-02 17:24:01 +11:00
TemporalOroboros d23c8d5c19
Revert 'Revert 'Solution Entities'' (#23168) 2023-12-29 08:47:43 -04:00
Emisse 938d6d9945
Revert "Solution Entities" (#23160)
Revert "Solution Entities (#21916)"

This reverts commit d75e743dd7.
2023-12-28 20:45:42 -07:00
Leon Friedrich c2c76c2035
Try fix random explosion test failures (#23158) 2023-12-28 20:23:41 -07:00
TemporalOroboros d75e743dd7
Solution Entities (#21916)
* Creates Content.Shared.Chemistry.Solutions
Copies Solution class to new namespace
Obsoletes old Solution class

* Switches over to the Solutions.Solution Solution

* Creates Content.Shared.Chemistry.Containers
Copies relevant components/systems to the new namespace
Obsoletes old versions

* Switches over to the Containers.XYZ namespace

* Creates SolutionSystem and obsoletes old SolutionContainerSystem methods

* Start using SolutionSystem for Solution manipulation

* EnumerateSolutions

* Move TryGetMixableSolution

* Move EnsureSolution to Server

* Create Solution Entities

* Stop using obsolete solution system methods

* Fix prototype component tests

* Add using ..Audio.Systems; back

* Wrap solution container slots in ContainerSlots

* Actually add the slot to the solution container map

* Dirty SolutionContainerComponent when ensuring solutions

* Revert namespace changes

* Remerge SolutionSystem and SolutionContainerSystem

* SolutionContainerManagerComponent refactor

* Avoid wrapping necessary code in DebugTools.Assert as it is removed when compiling for release

* Readd examine reagent sorting

* Fix errors

* Poke tests

* Fix solution names not being applied

* Fix WoolyComponent including statement

* Fix merge skew

* Fix compile errors

* Make reactions use solntities

* Reindent solution class namespace

* Field attribute changes

* AutoGenerateComponentState for SolutionContainerComponent

* SolutionContainerComponent -> ContainedSolutionComponent

* ref ReactionAttemptEvent

* Denetwork preinit solutions

* Misc 1

* Nullable TryGetSolution out vars

* Cache associated solutions

* Fix merge skew

* Use explicit regions in SharedSolutionContainerSystem.Capabilities

* Add debug assert

* Use explicit regions in SharedSolutionContainerSystem.Relay + ref SolutionContainerChangedEvent

* ContainedSolutionComponent.Name -> ContainedSolutionComponent.ContainerName

* SolutionComponent doc comments

* Implicit DataField names and property purge

* ReagentEffect DataField names

* Local variables for readability

* Sort using statements + Entity<T> event handlers

* Fix compile erros

* Fix compile errors

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2023-12-28 17:58:14 -08:00
TemporalOroboros 7a77d6d5dd
Content ecs containers (#22484) 2023-12-28 01:30:03 -04:00
Leon Friedrich 35ba42af9c
Add some tests and fix some miscellaneous bugs (#22836)
* Add some tests and fix some bugs

* Add more helper methods

* remove submodule

* fix merge

* also fix DirtyAll()

* poke
2023-12-28 10:05:20 +11:00
Leon Friedrich 0734a876f9
Try fix organ networking (#23034) 2023-12-28 09:48:10 +11:00
Leon Friedrich eb04a98294
Update ToolshedTest for engine PR (#22989) 2023-12-28 08:51:42 +11:00
Leon Friedrich 9eaa4c3a5d
Make cargo arbitrage test ignore gambling crate (#22943) 2023-12-25 00:15:33 -07:00
Darkie a3fbab84e6
ItemToggle system expansion (#22369)
* Fixed EnergySword and variants having incorrect sound on attacking when in their Off state.

* Removed the unused ItemToggle from the serverside and created a new shared ItemToggleComponent and System, now used for the e-blade family of items. Also added e-blade hum and swing sounds. Thanks Sloth for the initial code!

* Changing Stunbaton system to include the itemToggle system.

* Adapted changes that have come up in the meantime.

* Changed damagespecifier to be serializable and autoNetworked in melee weapon components. Fixes a bug that makes it so client-side, damage values are not updated on toggle.

* Made the ItemToggleSystem have both a shared and a server component. Ported the Stun Baton and Stun Prod to the new toggleable system. Added a failure to activate noise component.

* Ported the welders to the new item toggle system. Set it so deactivated damage and item size default to the item's regular options.

* Removed unnecessary usings.

* Small modification to the stun prod.

* Made the integration test use the new method to turn the welders on.

* Fixed a few testing issues, applied a few changes requested by Delta.

* Updated Stunbaton code for consistentcy when it comes to calling the itemToggle component.

* Removed a redundant return; as per Delta.
Made examining the stun baton for charge rely on the battery component instead.

* Removed the welder visualizer system, now using the generic one. Removed some unused usings. Removed the welder visuals and layers.
Ported lighters to the new system.
Added zippi (sic) lighters.

* Renamed variables used to make them less generic.

* Simplified the light update code.

* Fixed the unit test to use the itemToggle system for welders now.

* Made the name shorter. I can't tell if the welding damage when interacted with actually does anything though. I can't figure out how to trigger it.

* Fixed some YML issues.

* Added a client side item toggle system just to make the shared code run on local UID's too.

* Fixed some more Yaml.

* Made the Zippi lighter have its own parent item, so it doesnt' conflict with the random pattern on the regular lighter.

* Made the zippi lighter its own in-hand sprites.

* Added a summary for the activated property in itemtoggle component.

* Fixed a typo in the itemToggle Component.

* Fixed a typo.

* Added to the remarks for the ItemToggleComponent.

* Fixed up the lighter yaml to make it use a generic term instead of a toggle layer enum for the random skin.

* Fixed a bug I introduced accidentally with the humming sound.

* Removed 2 unnecessary events from the ItemToggleSystem and component.

* Fixed a bug by only making the server run the item activation code, since the client cannot predict whether or not the activation will be cancelled.

* Cleaned up some names and functions getting called.

* Renamed a couple of variables and removed the explicit datafields from the component. Removed "activated: false" from yml since they're already deactivated by default.

* Added an IsActivated function, used it in the welder and stun baton systems code.
Refactored welder code to remove the WelderToggle event, now using the ItemToggleActivatedEvent instead for eye protection check.

* Fixed a typo. Added some comments.

* Split the ItemToggle into smaller components.
Changed the items that used the toggle system to work with the smaller components.
Made the mirror shield reflect energy shots with a 95% chance.

* Fixed the namespaces for the server components and whatnot.

* Fixed a doubled deactivation sound from using activated wieldable items (like the double Esword).
Fixed wrong yml with the e-dagger.
Fixed the disarm malus code.

* Added the zippo lighter to the detective's trench coat.

* Removed the default hit sound for the double e-sword since it was unnecessary.

* Changed e-sword damage numbers to be in line with the changes made by Emisse.

* Made no damage sounds be autoNetworked, so it changes can be changed on activation/deactivation of items.
Made Welders and Eswords sound like themselves but quieter if they hit for 0 damage, instead of taps.
You can choose what sound to play when a weapon does 0 damage when activated now.
Fixed a bug with swing sounds.

* Typo.

* Fixed a bug where the welder would blind you if you used it while it was off.

* Created a single abstract method called when an item has completed its toggle.

* Update Content.Server/Eye/Blinding/EyeProtection/EyeProtectionSystem.cs

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

* Fixed a comment.

* Made most component variables readOnly for ItemToggle. There is no need to be able to change them from within the variable viewer.

* Removed trailing white spaces.

* Made the Use a field instead of a property in the itemToggleActivation/Deactivation attempt events.

* Small fixes.

* Removed ForceToggle, just use the toggle method instead.

* Fixed a bug with item sharpness staying even after getting deactivated, if the item gained sharpness that way (esword).

* Used ProtoId in the welder component.

* Made damage NetSerializable as well.

* Added networking and data fields to a couple of components.

* Made component variables autonetworked. Added some comments.

* Moved the events that modify item components on toggle to events, handled (where possible) in the systems linked to said components.

* Made all the component variables readWrite again.

* Added the component get to the WelderStatus.

* Added a predictable bool to the item toggle component.

* Replaced the Activated/Deactivated events with ToggleDone, with an Activated argument. Used that to simplify some systems.

* Added a reflect update raise event.

* Removed the Zippo changes. To add in a later PR.

* Removed the zippo from meta.json too.

* Small fix.

* Another small fix.

* Fixed the wieldable system thing in ItemToggle.

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-12-24 17:11:05 +11:00
LordCarve 524dbf9a78
Consistent Absorbent System behavior (#22723) 2023-12-22 11:02:09 -08:00
Nemanja 0a81038a17
mild reagent prototype cleanup + other misc garbage (#22630) 2023-12-16 19:34:13 -08:00
Emisse 652b6812b8
Reach (#22519)
* reach update

* proto

* minor fixes

* poolz

* e shuttle fixe

* webedit ops

* Update PostMapInitTest.cs

* gay
2023-12-14 22:38:05 -07:00
Emisse 000c776f47
delete kettle files (#22338)
* delete kettle file

* Delete Resources/Prototypes/Maps/kettle.yml

* bitch
2023-12-11 04:54:48 -07:00
Pieter-Jan Briers 46e36934a6
High-latency DB testing stuff (#22282) 2023-12-10 16:30:12 +01:00
metalgearsloth 88de2e8407
Fix MapPainter (#22290) 2023-12-10 22:19:26 +11:00
Nemanja 2553bade1a
Narsie test bandaid (#22206) 2023-12-07 16:58:08 +11:00
TemporalOroboros 0c63f2ee57
Make test EntitySpecifiers ignore entities with null prototypes (#22174) 2023-12-06 20:09:44 -05:00
Nemanja cc8984d096
Grid Inventory (#21931)
* Grid Inventory

* oh boy we keep cracking on

* auto insertion is kinda working? gross, too!

* pieces and proper layouts

* fix the sprites

* mousing over grid pieces... finally

* dragging deez nuts all over the screen

* eek!

* dragging is 90% less horrendous

* auto-rotating

* flatten

* Rotation at last

* fix rotation and change keybind for removing items.

* rebinding and keybinding

* wow! look at that! configurable with a button! cool!

* dragging is a bit cooler, eh?

* hover insert, my beloved

* add some grids for storage, fix 1x1 storages, fix multiple inputs at once

* el navigation

* oh yeah some stuff i forgor

* more fixes and QOL stuff

* the griddening

* the last of it (yippee)

* sloth review :)
2023-12-04 16:04:39 -07:00
TsjipTsjip 95b30c821a
Kettle -> Gemini: RnD and Atmos revamp (#21866)
* Add files via upload

* Add gemini to map_attributions.txt

* Create gemini map proto

* Derotate Kettle, rotate Gemini

* Add Gemini to PostMapInitTest.cs

* Gemini locstrings

* Upload gemini map file

* Upload current master version of Kettle for historic record

* Continue testing Kettle as it is not removed entirely

* Fix Gemini prototype

* Christmas on Gemini station
2023-12-01 13:17:08 -07:00
metalgearsloth 30f4a3ca6d
Fix SpawnAndDeleteEntityCountTest heisentest (#21975) 2023-11-30 22:08:08 +11:00
metalgearsloth 0ded865ee7
Use PoolManager testmap for EntityTest (#21968) 2023-11-29 13:32:59 +11:00
metalgearsloth cebf0823eb
Fix GridFill comp skip (#21944)
Oop.
2023-11-28 21:20:37 -05:00
metalgearsloth 269c93245d
Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-11-27 22:12:34 +11:00
metalgearsloth 64343c289d
Revert Arch testmerge 2 (#21901) 2023-11-26 14:20:07 +11:00
metalgearsloth 855ab4d129
Update submodule to 182.1.0 (#21900) 2023-11-26 13:53:54 +11:00
metalgearsloth d4bed09cdc
Revert the other arch changes (#21871) 2023-11-24 11:19:46 +11:00
metalgearsloth 15052bf7c2
Revert submodule to 180.2.1 (#21870) 2023-11-24 10:56:13 +11:00
metalgearsloth 93bd9972f1
Content arch (#20107)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-11-23 14:34:37 +11:00
DrSmugleaf 641b490313
Replace usages of MobObserver and AdminObserver with GameTicker consts (#21814) 2023-11-21 15:27:37 +11:00
Leon Friedrich 69af567269
Add item sprite test (#21599) 2023-11-18 17:26:08 +11:00
deltanedas db8c3476e8
revive atlas real (#21600)
* atlas gaming

* rotate

* :trollface:

* adjust job numbers

* more change

* :trollface:

* :trollface:

* :trollface:

* test

* cause of death: trollage

* address most issues

* job slot

* borg spawn

* notice board, comms expansion and meteor shielding

* reroute disposals

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-16 15:35:33 -07:00
Leon Friedrich 654cc7f071
Merge `ActorSystem` and `IPlayerManager` (#21314) 2023-11-11 13:08:10 +11:00
Nemanja 4729024d3e
Convert ItemSize to prototypes (#21481)
* item sizes are prototypes

* eek
2023-11-06 00:20:50 -07:00
DrSmugleaf aa0c3b64ea
Mark all tests that restart rounds as dirty (#21376) 2023-11-01 19:56:07 -07:00
Nemanja 0c329ed661
Storage Standardization [Take 2] (#21270) 2023-10-30 20:55:55 -07:00
metalgearsloth 5b8f3c48c4
Revert "Update submodule to 175.0.0 (#21318)" (#21319) 2023-10-29 15:29:30 +11:00
metalgearsloth 9b1b3e03ed
Content audio (#20862) 2023-10-29 14:58:23 +11:00
Leon Friedrich f308adffaf
Move ActorComponent to shared (#21293) 2023-10-29 04:21:02 +11:00
Leon Friedrich e685cb626b
Un-revert IPlayerManager refactor (#21244) 2023-10-28 09:59:53 +11:00
metalgearsloth c08349a947
Revert "Storage TEST MERGE" (#21258) 2023-10-26 00:46:22 -07:00
Nemanja 41795720da
[TEST MERGE] Slot-based Storage (#21212) 2023-10-25 18:53:38 -04:00
Leon Friedrich 0880145ac8
Mind tweaks & fixes (#21203) 2023-10-24 10:23:56 -04:00