* Add ability for GunComponent to track their holders
* Add new component to allow Players to modify gun attributes
* Allow users of melee weapons to also modify their weapons damage
* Allow user stamina damage modifiers
* Allow users of tools to also modify tool attributes
* Delete old Oni component and systems
* Replace oni components
* Set default max spread angle to 180 degrees
* Change modifier to multiplier to better reflect the math
* Add documentation.
* Add NetworkedComponent to new components
* full fucking send
* ope forgot to remove the EE scripts
* fix test
* fix shitcode fail
* DELTA THAT VALUE IS NULLABLE
* whoopsie daysie
* fixed???
* chat is this real
* cleanup prototypes with `PryingComponent` & fix jaws of life prying speed
* Minor cleanup for tools and prying systems
Remove some obsolete methods.
* Fix doafter continues when not held & log
* Modifiy delays for floor prying
* Fix test fail
* Change prying system and pryunpoweredcomp to allow for custom time modifiers
This will be useful if I go the route of making firelocks pryable when
unpowered instead of just being able to open and close instantly when
unpowered.
* Make firelocks properly predicted
Shared system made. Since atmos checks can only be done on the server we
just have it set relevant bools on the component and then dirty it.
Ditched atmos checks on trying to open, they now only happen whenever
firelocks are updated.
* Make firelocks pryable without a crowbar
While this usually would only allow you to do this when a door is
unpowered, firelocks do not have the airlock component which actually
does that check. As such firelocks will always allow you to pry them
open/closed by hand.
* Clean up System. Change update interval to be based on ticks. Move as much as possible to shared
* Make firelocks unable to emergency close for 2 seconds after being pried open
* Clean up
* More cleanup
* Reorganize SharedFirelockSystem methods to match Initialize order
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
It would try to pry the door and fail to resolve a prying component on the entity trying to open the door.
(cherry picked from commit 6eb681958be3bec1bf7798866237c0f2f79d98d2)
* Merge BreakOnWeightlessMove and BreakOnMove. Provide different theshold for weightless movement.
* Adjust WeightlessMovementThresholds. Put a thing I forgot to put in the doafterargs.
* Make DoAfterArgs only use OnMove to determine whether to check for
movement and MoveThreshold to determine the threshold regardless of
weightlessness. Gave DistanceThreshold a default value which will always
be checked now.
* Fix issue introduced by merge.
* Use interaction system for determining whether a distance is within range
* Fix incorrect doafter args introduced by previous merge.
Forgor to commit these.
* Exorcise ghost.
The execution system should have been deleted when I merged previously.
For a reason I cannot comprehend it came back, but only the execution
system.
* Exorcise ghost Pt. 2
* Allow for movement check to be overriden in zero g and adjust doafter args where needed.
You can now override checking for movement in zero g with the BreakOnWeightlessMove bool. By default it will check.
The following doafters were made to ignore the movement check in zero g:
- Healing yourself with healing items,
- Removing embedded projectiles,
- Using tools like welders and crowbars
* Adjust distance for cuffing/uncuffing to work. Make injections not break on weightless movement.
* Fix evil incorrect and uneeded comments
(cherry picked from commit 362d56981fd7654f6ebec36f16cc8fabdd04b6a7)
* Fix bug where prying would succeed even a door could no longer be pried.
* Remove redundant call to Resolve
* Remove redundant comment
(cherry picked from commit 88045afcf01eedd282d98fba3e3430e66745d3a0)