* Adds BallisticAmmoSelfRefillerComponent
And uses it to replace battery-based refilling of the Syndicate L6 and Viper modules.
# Automagic Ballistic Ammo Refilling
- Add `BallisticAmmoSelfRefillerComponent`
- Handle `EmpPulseEvent` to pause refilling behavior for EMP's duration
# Supporting Changes
- Change `Content.Server.Weapons.Ranged.Systems.Update` override in `GunSystem.AutoFire.cs` to `UpdateAutoFire`
- Add `Content.Server.Weapons.Ranged.Systems.Update` to `GunSystem.cs` so that it can call `UpdateAutoFire` and `UpdateBallistic`
- Add public methods to GunSystem for use by refilling implementation
- PauseSelfRefill
- IsFullBallistic (same as #299)
- CanInsertBallistic (same as #299)
- TryBallisticInsert (same as #299)
* _timing -> Timing
* unspawned count stuff
* imagine building the code before pushing
* - apply to c20r ROW
- make predicted/shared
* revert server system import only changes
* oop
* o great and wise Slarti
* Scar comments
* field deltas + correct serializer
* review
---------
Co-authored-by: ScarKy0 <scarky0@onet.eu>
* Add access to gun components
Found from an rmc14 PR.
* Admin verbs proving why access needs to exist
* Someone is probably going to post this pr to le reddit and complain about self-merges.
* Add BreakOnDropItem, update do afters, remove unnecessary declarations
* bola
* Changed my mind about the nuke
* gennies too
* Make the comments more clear.
* Sorry for the trailing commas
* Revert "Sorry for the trailing commas"
This reverts commit e60fd9a30977393df3344948e6d5c0ce035723cd.
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Replace obsolete whitelist is valid with whitelist system
* Consistency
* Fix logic
* Bork
* I figured out how to get whitelists on the client lol
* test fail
* woops
* HELP ME FUNCTIONS
* Fix errors
* simplify
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* 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
* turret go boom
* fix ammo
* universal function name
* Also explodes when destroyed
* comment added
* Triggerwhenemptycomponent added
* comment adjusted
* Updated uplink description
* Moved to own event file
* file namespace
* rerun tests
---------
Co-authored-by: Slava0135 <super.novalskiy_0135@inbox.ru>