Commit Graph

86 Commits

Author SHA1 Message Date
Emisse 9d047a7e52
kill machine parts + migrate machine part spawners to salvage loot spawner (#23752)
* kill machine parts

* guidebook and artifact effect

* worst test ive ever seen in my life

* nuke test

(cherry picked from commit df1d8c36e5e8b0773123c744a4acca473fb135ea)
2024-01-26 22:14:43 +01:00
Leon Friedrich 661f3eb54a
Changes required for engine PR (#23488)
(cherry picked from commit 42ec9b29677f06b4205678ec38104991f65d8c61)
2024-01-26 21:31:29 +01:00
metalgearsloth b1738dcf9c
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

(cherry picked from commit 2166958bd0c23b7b9fd5c699eaeee910d1db62bf)
2024-01-26 21:27:29 +01:00
TemporalOroboros aebae6fab7
Content ecs containers (#22484)
(cherry picked from commit 7a77d6d5dd73a34be238fdebc284da5bc2917c67)
2024-01-22 18:47:55 +01:00
Leon Friedrich f3e61795f4
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

(cherry picked from commit 35ba42af9ccbbe41e8a3e59b30f2799ef8ca4b8d)
2024-01-22 18:44:30 +01:00
Darkie 03abecd365
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>

(cherry picked from commit a3fbab84e645a16a30845aa1e683e7ffc0e3b8cd)
2024-01-22 18:29:05 +01:00
TemporalOroboros 0df9e39c62 Make test EntitySpecifiers ignore entities with null prototypes (#22174) 2023-12-16 19:27:09 +01:00
metalgearsloth d63396a203 Fix SpawnAndDeleteEntityCountTest heisentest (#21975) 2023-12-02 20:30:39 +01:00
metalgearsloth b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
metalgearsloth 52104a45c1 Revert Arch testmerge 2 (#21901) 2023-12-02 19:05:12 +01:00
metalgearsloth 39ad6db5c3 Update submodule to 182.1.0 (#21900) 2023-12-02 19:05:11 +01:00
metalgearsloth 9741d9916c Revert the other arch changes (#21871) 2023-12-02 19:05:11 +01:00
metalgearsloth 333096b19e Content arch (#20107)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-12-02 19:04:08 +01:00
Leon Friedrich 29584576e7 Merge `ActorSystem` and `IPlayerManager` (#21314) 2023-11-12 20:53:33 +01:00
Leon Friedrich e66c0b5035 Un-revert IPlayerManager refactor (#21244) 2023-10-31 19:00:44 +01:00
DrSmugleaf 9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
Kara d6abba1198 Kill `ComponentExt` (#20907) 2023-10-14 22:02:35 +02:00
Jezithyr 363a3b97ff Refactoring body system to use containers and general body cleanup (#20202)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-09-27 21:59:12 +02:00
metalgearsloth a7208af7d6 Add ore bag area pickups (#19358) 2023-09-27 21:59:12 +02:00
metalgearsloth f38f0ab614 Predict StorageComponent (#19682) 2023-09-27 21:59:12 +02:00
metalgearsloth c9648da984 Content update for NetEntities (#18935) 2023-09-27 21:59:12 +02:00
metalgearsloth 4d1c3ae66a
Revert "Remove IContainer and move functions to the container system.… (#19975) 2023-09-10 21:46:36 +10:00
Leon Friedrich b45e53603d
Remove IContainer and move functions to the container system. (#19834) 2023-09-10 12:16:37 +10:00
DrSmugleaf 3f3ba6ac62
Move minds, roles, jobs and objectives to shared (#19679) 2023-08-30 21:46:11 -07:00
Visne 9bd30d57ad
Remove obsolete PoolManager methods (#19499) 2023-08-25 12:13:11 +10:00
Visne 3c667b6f7e
Remove obsolete TestPair.Pair (#19496) 2023-08-25 10:56:51 +10:00
Leon Friedrich 89a287c1fd
Split PoolManager into separate classes. (#19370) 2023-08-22 22:14:01 +10:00
Leon Friedrich 9c84108672
Change default test pooling options. (#18732) 2023-08-06 12:30:28 +10:00
Leon Friedrich d58786faf4
Remove PoolSettings.ExtraPrototypes option (#18678) 2023-08-05 14:16:48 +10:00
Leon Friedrich f74c5861f4
Try fix test failures (#18620) 2023-08-04 06:34:51 +12:00
TemporalOroboros 3ac4cf85db
Cleaner BoundUserInterfaces (#17736) 2023-07-09 02:02:17 +10:00
metalgearsloth 68480af109
Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
TemporalOroboros ba91023a85
Fix content.integration tests warnings (#17817)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-07-06 14:54:25 +10:00
metalgearsloth 432e1288bd
Add constraint to InteractionTest Comp (#17765) 2023-07-01 23:05:06 +10:00
metalgearsloth 44a3db398b
Draw MapAtmosphere gasses (#17688) 2023-06-28 21:22:03 +10:00
Leon Friedrich 9fc4fc6ac2
Fix some Mind ECS bugs (#17480) 2023-06-20 14:29:26 +10:00
ShadowCommander dd7032a860
Mind ECS (#16826) 2023-06-19 04:33:19 +10:00
Vordenburg f8888b0960
Allow specific entities to bypass DoAfter delays (#17349)
* Allow specific entities to bypass DoAfter delays

This adds the InstantDoAfters tag to the admin ghost for mappers.

* Add specific player prototype for InteractionTest
2023-06-15 13:18:38 -06:00
metalgearsloth cd487b66e4
Content mapmanager query changes (#16894) 2023-05-28 23:22:44 +10:00
metalgearsloth dcb10d4061
Fixture updates (#15254) 2023-05-06 16:26:15 +10:00
Nemanja 823c8204c9
Simplifying Machine Upgrading (#15802) 2023-04-29 13:23:49 +10:00
Leon Friedrich a6baf77204
Fix interaction test mind fuckery (#15726) 2023-04-24 16:50:37 +10:00
Leon Friedrich 8af149e61c
Add climb & slip tests (#15459) 2023-04-16 23:07:03 -07:00
Leon Friedrich 33ed34b532
Add more UI helper methods for tests (#15463) 2023-04-17 09:46:28 +10:00
Leon Friedrich a1f103d1e7
Add reagent dispenser BUI test (#15443) 2023-04-17 02:34:36 +10:00
Leon Friedrich 489660a6bb
Add interaction tests (#15251) 2023-04-14 12:41:25 -07:00
DrSmugleaf b947856431
Remove hands component reference (#15197) 2023-04-07 11:21:12 -07:00
Leon Friedrich 899549b770
Remove some obsoleted transform methods/properties (#13457) 2023-01-14 11:48:48 +11:00
metalgearsloth c555203401
Use nearest edge for interaction range (#11660)
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
2022-10-07 00:37:21 +11:00
metalgearsloth f51248ecaa
Melee refactor (#10897)
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
2022-09-29 15:51:59 +10:00