Commit Graph

86 Commits

Author SHA1 Message Date
Tayrtahn
86aa82f2b6 Cleanup: Remove redundant prototype name specifications (#35793)
* Remove redundant prototype name specifications

* These can stay
2025-03-19 19:30:31 +01:00
Tayrtahn
6f925dd610 Fix prototypes so they pass analyzer checks (#35435) 2025-02-24 15:21:59 +11:00
beck-thompson
1fa1975e60 Fix toggle verbs (#32138)
First commit

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-11-20 12:53:52 +11:00
BramvanZijp
f79de12509 Prevent borgs from being able to be briefly toggled off. (#32485)
* Prevent borgs from being able to be briefly toggled off.

* Use the pre-existing component instead of making an unneccesary duplicate.
2024-10-02 01:13:59 +10:00
Nemanja
8599251825 Mineral Scanner (#31390)
* Mineral Scanner

* doink

* review

* sunday funday

* review and fix bugs i think?

* Update MiningOverlay.cs
2024-09-07 00:05:53 +10:00
metalgearsloth
c0a07614c0 ItemToggle + slots stuff (#31312)
* ItemToggle + slots stuff

- Add component for itemslot locks to match LockComponent (surprised this didn't exist).
- Add thing for pointlight to match itemtoggle. In future should be used for PDAs and stuff but need to fix some other stuff first.

* Also this

* grill
2024-08-25 22:30:28 +10:00
deltanedas
e1df251cbc decouple ItemToggle from PowerCellDraw (#31392)
* remove ItemToggle from PowerCellDraw query

* add EntityQuery for resolves, make them all optional

* move integration to ToggleCellDraw

* add ToggleCellDraw to almost every PowerCellDraw prototype

* :trollface:

* :trollface:

* :trollface:

* let it disable on mapinit

* set update time on mapinit, make borg power logic consistent now

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-25 22:17:03 +10:00
slarticodefast
bb2981400c replace all uses of TryGetContainingContainer with non-obsolete overload (#30583)
* replace all uses of TryGetContainerContainer with non-obsolete overload

* rerun
2024-08-04 15:38:53 +10:00
deltanedas
02636386b5 item toggling giga rework + full ninja refactor (#28039)
* item toggle refactoring and some new systems

* add ToggleClothing component/system

* unhardcode magboots gravity logic

* make magboots and speedboots use ItemToggle and stuff

* remove now useless clothing components

* update client/server magboots systems

* add note to use ItemToggledEvent in ToggleActionEvent doc

* refactor PowerCellDraw to use ItemToggle for ui open/close control

* add TryUseCharges, refactor charges system

* update magboot trigger code

* make borg use ItemToggle, network SelectedModule instead of now removed Activated

* add AccessToggle for borg

* the giga ninja refactor

* update ninja yml

* update ItemToggle usage for some stuff

* fix activatableui requires power

* random fixing

* yaml fixing

* nuke ItemToggleDisarmMalus

* make defib use ItemToggle

* make things that use power not turn on if missing use charge

* pro

* fix sound prediction

* bruh

* proximity detector use ItemToggle

* oop

* big idiot syndrome

* fix ninja spawn rule and make it generic

* fix ninja spawn rule yml

* move loading profiles into AntagLoadProfileRule

* more ninja refactor

* ninja yml fixes

* the dreaded copy paste ops

* remove useless NinjaRuleComponent and ue AntagSelection for greeting

* fix invisibility

* move IsCompleted to SharedObjectivesSystem

* ability fixes

* oop fix powercell instantly draining itself

* sentient speedboots gaming

* make reflect use ItemToggle

* fix other test

* loadprofilerule moved into its own pr

* remove conflict with dragon refactor

* remove all GenericAntag code from ninja

* )

* probably

* remove old enabled

* great language bravo vince

* GREAT LANGUAGE

* who made this language

* because it stinks

* reparent blood-red magboots to magboots probbbly works

* most of the review stuff

* hasGrav doesnt mean what i thought it did

* make health analyzer use itemtoggle, not fail test

* fix mag/speed boots being wacky

* UNTROLL

* add ItemToggle to the random health analyzers

* a

* remove unused obsolete borg func

* untrolling

* :trollface:

* fix test

* fix

* g

* untroll

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-07-11 15:55:56 +10:00
Cojoke
7555952738 Add Slowdown to Dragging Items that Slow when Held (#29364)
* Add slowdown to dragging Items that slow when held

* Heh, fancy

* Heh, fancy

* rename SetMovementSpeedModifiers to GetHeldMovementSpeedModifiers because it was not setting anything
2024-07-01 15:33:08 +10:00
eoineoineoin
b44b159431 Replace Matrix3 with System.Numerics.Matrix3x2 (#27443)
Replace Matrix3 with Matrix3x2
2024-06-02 14:07:41 +10:00
Leon Friedrich
8a6879bb1b Misc ItemToggleSystem changes (#26489)
* Minor ItemToggleSystem tweaks

* Update visuals on startup

* Remove SetIgnited

* Misc toggle fixes

* Update ItemToggleHotComponent.cs
2024-03-28 15:05:04 +11:00
MilenVolf
1a5f7c39b2 Toggleable items shape change on toggle state (#25392)
* Toggleable items now can change their shape depends on toggle state

* Update Content.Shared/Item/SharedItemSystem.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-02-26 00:20:28 +11:00
metalgearsloth
bd86447f99 Fix item toggles where no sound exists (#24807)
Oop
2024-02-01 22:43:06 +11:00
Psychpsyo
a747e6dda4 Plates & Cash gridinv visuals (#24075) 2024-01-14 11:44:17 -05:00
Kara
0ae3858b69 Examine prediction (#23565)
* Initial prediction

* new group handling

* groups for all examines that use multiple rn

* compile

* why was it doing this??

* handle newlines with sorting properly
2024-01-06 17:53:13 +11: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
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
Nemanja
fb10dff335 Mirror speed penalty for worn duffels and hardsuits when in-hand (#22168)
* Add speed penalty for holding hardsuits and duffels

* just inherit from ClothingSpeedModifier

* comment godo
2023-12-06 20:41:29 -07:00
Nemanja
c047f19fdc Inventory sprite rotation (#22201) 2023-12-07 11:59:16 +11: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
Leon Friedrich
eb0c86f803 Storage CanInsert() tweaks (#21623) 2023-11-13 23:43:03 +11:00
Nemanja
4729024d3e Convert ItemSize to prototypes (#21481)
* item sizes are prototypes

* eek
2023-11-06 00:20:50 -07:00
Nemanja
85f09cae86 More Storage Rebalancing (#21373)
* the changes...

* eek
2023-11-01 17:19:41 -06:00
Nemanja
0c329ed661 Storage Standardization [Take 2] (#21270) 2023-10-30 20:55:55 -07: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
Kara
657e4d861e Allow picking up items in combat mode (#20431)
* Allow picking up items in combat mode

* dont hardcode that
2023-09-24 15:47:42 -04:00
metalgearsloth
5a0fc68be2 Content update for NetEntities (#18935) 2023-09-11 09:42:41 +10:00
Varen
155f6a418f Items will display size when examined. (#19703) 2023-09-02 01:09:58 +10:00
Nemanja
f5d961e7be Fix foldables (#19717) 2023-09-01 12:30:40 +10:00
DrSmugleaf
a88e747a0b Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
Nemanja
6fb7879041 Stack storage fixes (#17651) 2023-06-27 20:30:03 -04:00
Nemanja
5c60a27c7c Make item size scale with stack size (#17623)
* Make stack count affect item size

* and the test, too

* readd this check

* vwoom

* huh

* if you ever read this commit message ping me on discord in #contributors

* changerinos
2023-06-25 10:44:37 -05:00
Nim
4ed11ca73b Energy Shield (#16996)
* energy shield

* description edits

* shields protect

* small correction

* say no to asteroid bees

* fix

* BlockModifier

* fix

* tweak

* tweak

* ops

* fix

* Update RobustToolbox

* Revert "Update RobustToolbox"

This reverts commit 55be82fe537490367e0afaf86365b0e274e6597e.

* formatting
2023-06-22 00:08:58 -04:00
Leon Friedrich
f99533a7bf Remove server and shared sprite component (#15917) 2023-04-30 16:09:52 +10:00
metalgearsloth
ae01618874 Revert "Revert "Replace ResourcePath with ResPath (#15308)" (#155… (#15566) 2023-04-20 20:16:01 +10:00
metalgearsloth
acf79a8209 Revert "Replace ResourcePath with ResPath (#15308)" (#15551) 2023-04-20 11:43:54 +10:00
Ygg01
71f358a027 Replace ResourcePath with ResPath (#15308) 2023-04-19 23:39:17 +10:00
DrSmugleaf
b947856431 Remove hands component reference (#15197) 2023-04-07 11:21:12 -07:00
metalgearsloth
44fb8a9e2d Fix rsi sprite access for verbs (#14284) 2023-02-26 18:48:57 +11:00
Leon Friedrich
076d8c5a40 Fix build error (#13098) 2022-12-20 15:49:40 +11:00
Nemanja
168bad2ef2 multi-handed item component (#12523)
* multi-handed item component

* pretty fucking obvious missed portion of this

* holy shit was i on crack wtf was that code

* DEWIT RIGHT
2022-12-19 22:07:23 -06:00
Leon Friedrich
c0b657ca18 Remove InteractedWithEvent and friends. (#11939) 2022-10-26 12:15:48 +11:00
metalgearsloth
f51248ecaa Melee refactor (#10897)
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
2022-09-29 15:51:59 +10:00
Alex Evgrashin
9ce3a18e3f Chameleon clothing (#8444)
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-09-14 18:42:14 +10:00
Leon Friedrich
d279f6172a Fix item/clothing visual & networking bugs (#10116) 2022-07-28 18:02:09 -07:00
Kara
258ec0cac1 Clothing/item ECS & cleanup (#9706) 2022-07-27 03:53:47 -07:00
Rane
1c8bdaf7c4 Sleeping (#9793) 2022-07-26 21:46:24 -07:00
ike709
d770eb6a35 Forensics (#8451)
* Port forensics from nyanotrasen

* port updates

* printing

* Update Resources/Locale/en-US/forensics/forensics.ftl

Co-authored-by: Veritius <veritiusgaming@gmail.com>

* Update Content.Server/Forensics/Components/ForensicPadComponent.cs

Co-authored-by: Kara <lunarautomaton6@gmail.com>

* Update Content.Server/Forensics/Systems/ForensicPadSystem.cs

Co-authored-by: Kara <lunarautomaton6@gmail.com>

* Update Content.Server/Forensics/Systems/ForensicScannerSystem.cs

Co-authored-by: Kara <lunarautomaton6@gmail.com>

* partially address reviews

* comments

* redo the events

* handle it

* rewrite loc

* master fixes

Co-authored-by: ike709 <ike709@github.com>
Co-authored-by: Veritius <veritiusgaming@gmail.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
2022-06-27 20:04:53 -05:00