* - Combine enum keys `ToggleableLightVisuals` and `ToggleVisuals` into `ToggleableVisuals`
- Rename `ToggleableLightVisualsComponent` to `ToggleableVisualsComponent` and `ToggleableLightVisualsSystem` to `ToggleableVisualsSystem`
- (The `SpriteLayer` field on the component is now required because the old default of `light` doesn't make sense anymore)
- Make it so that `ToggleableVisualsComponent` works even when there's not a light attached to the entity
- (Amazingly this seems to have only applied to Headphones, but I can only imagine there are many other things people would like to do with simple toggleable visuals)
- Explicitly make `ItemTogglePointLightComponent`'s purpose to make `ToggleVisualsComponent` apply to `PointLightComponent`s on the same entity.
- Add field `ToggleableVisualsColorModulatesLights`, which makes the `Color` appearance value of `ToggleableVisuals` modulate the color of lights on the same entity
- Lots of prototype updates to uptake the above
* fix bad merge
* unbork robust
* blindly letting rider reformat stuff
* I guess I never cleaned up these imports at all
* Land Mine is now armable, it will not explode unless armed.
* Land Mine is now armable, it will not explode unless armed.
* Explicitly have Armed as false
* SharedLandMineSystem.cs adds the "Arm"-verb in "Content.Shared" with the Arming logic being implemented in "Content.Server"
* Land Mines now blink only when armed.
* Added prediction components, moved logic to SharedLandMineSystem.cs and inherit it in client content.
* Accessing the datafield directly instead of using methods
* Mines are now armed by default with a unarmed prototype
* Land mine now shows if it is armed when examined and in range.
* Landmine is unarmed by default with an armed variant for mapping purposes.
* Removed properties that were already defined by inheritance.
* Access the bool directly from the component
* Add booleans to change if the Arm-verb is showed and if examining the mine shows the status.
* Added status message for unarmed mine, removed using PushGroup since only one string is displayed.
* Added properties to the explosive floor sign to ensure that it is armed, not showing neither status nor arm-verb.
* The prototypes work now as before with added unarmed versions. Sprite is now only one toggable layer.
* Make the craftable land mine unarmed.
* Refactored the arming mechanic into own component and system.
* Reverted the explosive wet floor sign to previous prototype and added the Armable component and ItemToggle to the landmines.
* Moved the examination strings from land-mines.ftl to armable.ftl.
* Removed unused property.
* Formatting and fixing imports
* Added prefixes to the ftl naming. Moved LocId from system to component
* Added documentation. Moved check for armable to HandleStepTriggerAttempt.
Moved the LocId to component.
* Removed the TryArming method. Added documentation.
* Removed unnecessary TryComp
* Simplified the logic for the trigger attempt
* HasComp instead of TryComp on logic
* EmoGarbage Review
---------
Co-authored-by: Franz - Josef Björck <kaiserbirch@proton.me>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
* 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
* 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>
* 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>