Commit graph

2269 commits

Author SHA1 Message Date
Fate-JH
e868739542
Generic Event Bus (#1379)
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
* introducing generic event message services; implementing GalaxyService using the generic framework

* working GalaxyService based on GenericEventService

* working AvatarService based on GenericEventService(withSupport); manually corrected almost every message to AvatarService to ensure channel and filters are preserved

* working LocalService based on GenericServiceEvent(WithSupport); manually corrected almost every message to LocalService to ensure channel and filters are preserved

* adapted but did not implement the event bus rate limiting mechanisms from Chinese PSF fork

* solved issue with redundant support actor messaging; refactored event buses out of event systems

* working VehicleService based on GenericServiceEvent(WithSupport); manually corrected almost every message to VehicleService to ensure channel and filters are preserved

* implemented proper generic event messages that do not have an [System]Action prefix, e.g., Foo not AvatarAction.Foo; made SendResponse accommodate multiple packets at once

* a single envelope for inbound messages, replacing [Avatar|Local|Vehicle|Galaxy]ServiceMessage; all variations of PlanetsideAttribute message have been reduced to the PlanetsideAttribute message

* cached messages on avatar and vehicle message systems

* reorganized the services.base classes; streamlined the class inheritance structure and param requirements for certain classes; messed up all imports

* reorganized special envelopes from certain control agencies; wrote tests for primary event systems; fixed some other tests; knapsacking algorithm in grid inventory is less abusive

* mostly, comments for the event system files; the event system stamp now determines how the out channel forms; some case class entities have become case object entities

* added test for join confirmation message

* prefacing imports with _root_ to escape name conflict with nested package

* sorted out some tests for the event systems

* changing the reporting visibility of the event bus broadcast channel and removing the need to maintain an 'original channel'

* removed event system implied instances of MessageEnvelope overloaded constructors and replaced them directly with MessageEnvelope; included additional places where SendResponse could combine dispatch; support actors have both constructor classes and custom envelopes stored in the same file as the actor itself for better readability

* replacing *ServiceResponse classes with GenericResponseEnvelope and an identifying stamp in all remaining cases such that the classes are unnecessary for the project and can be deleted; squad remaains untouched due to its difference

* extract common messages into a common handler endpoint; created an interface for handlers thus that all handler endpoints can be polled if a specific handler endpoint does not support a message

* the list of event system handlers and filters for those handlers are set up differently

* wrong filters used to retrieve other player data; re-use the same filter rather than create a new one

* special applyOrElse and isDefinedAt and guards

* when to handle versus when to trytoHandle

* added config options for cached event messages, shared by all cahced event systems

* rebase to master, after a while

* moved the default guid-0 from service to default

* allowed bundling of event message envelopes to streamline event system communication

* not necessarily a part of the event bus generalization progress, just have wanted to move these files into this subdirectory for a long time

* a little over-zealous message bundling

* corrected an oversight where filter guids were being ignored and sameness between destination and filter was being ignored, by rewriting how actor Receive guard booleans are guards

* modified cached guard tests; adjusted list mechanics for SendResponse contents
2026-06-30 14:48:15 -04:00
Fate-JH
83482a7207
Router Demonstration (ShiftPosition) (#1374)
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
* augmented player shift state with object delete and object create for other connected players

* pausing teleporting player rendering

* somehow compiled despite this capitalization error
2026-05-28 01:31:23 -04:00
Fate-JH
dff212ac65
Wrapped VR Zones (#1371)
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
* modified the killplanes in the shooting and driving vr zones so that they reflect the wrapped nature of the map's repeating instances; modified the map scale to make the blockmap properly accommodate

* fixed driving zone exceptions for air terminals that were technically underwater, wraparound logic
2026-05-20 01:39:06 -04:00
Fate-JH
9698ddd5a2
O I C Which Side (#1368)
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
* oicw little buddy proxy damage carrier class did not project sidedness to the server side damage protocol, skipping sidedness check altogether

* oicw allowed

* set proper projectile origin

* unrelated to the oicw, when a csr uses warp with coordinate literals, a reminder to set the sidedness correctly is issued; additionally, when using warp with a poi, the sidedness is set to outside of
2026-05-15 01:02:52 -04:00
Dethdeath
ce741b992e
Merge pull request #1365 from Subsonic154/vr-shooting-targets
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
VR Shooting Range targets initial implementation + vehicle deconstruction fixes
2026-05-10 21:19:55 +02:00
Subsonic154
bf57630182 Implement infantry target random look-around rotation 2026-05-08 12:47:22 -04:00
Subsonic154
5697c3a071 Fix log warning spam when trying to heal or repair a bot 2026-05-07 17:00:15 -04:00
Subsonic154
c3a663000a Remove now unused import 2026-05-05 11:38:31 -04:00
Subsonic154
42726fded2 Disable friendly-fire warning for amenities in VR 2026-05-05 11:30:34 -04:00
Subsonic154
51b8956869 Remove missed reduntant code in AvatarBotActor 2026-05-05 06:43:47 -04:00
Subsonic154
fdec30bea0 Remove VR friendly-fire invulnerability from deployables 2026-05-04 16:22:25 -04:00
Fate-JH
fc6d3defde
failsafe on the failsafe for cargo dismounting (carrier needs to exist, if not a vehicle) (#1364)
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
2026-05-04 12:23:03 -04:00
Subsonic154
1f193a2ab0 Store vehicle spawn location in vehicle list 2026-05-04 11:07:49 -04:00
Subsonic154
0d2625d538 Disable grief warning for splash damage against VR terminals 2026-05-04 09:17:23 -04:00
Subsonic154
efae7f6d8c Harden GetRandomBotName against exceptions 2026-05-04 08:49:26 -04:00
Subsonic154
bd6ca8b719 oops again 2026-05-04 06:43:06 -04:00
Subsonic154
236f851af8 oops 2026-05-04 06:38:35 -04:00
Subsonic154
10a647f080 VR Shooting Range targets initial implementation + vehicle deconstruction fixes 2026-05-04 06:35:17 -04:00
Fate-JH
fadd735b9f
retain sidedness on player relog (#1363) 2026-05-02 12:05:25 -04:00
Fate-JH
2f9a6966ae
Merge pull request #1357 from Resaec/TimeOfDayMessage
TimeOfDayMessage implementation
2026-05-02 11:56:11 -04:00
Resaec
29b144a903 fix /settime response not printing single digit minute values with leading zero 2026-04-29 23:29:43 +02:00
Resaec
7396b09998 fix SetTimeOfDaySpeed influencing "current" time
fix GetTimeOfDay not considering time speed
fix SetTimeOfDay not considering time speed
2026-04-29 23:28:49 +02:00
Fate-JH
927c062a5a
removed the separation for vehicles with custom wreckage from vehicles with typical zero health wreckage because the former was causing loading and crashes (#1362)
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
2026-04-21 11:23:26 -04:00
Fate-JH
5d28fe54cf
re-writing BFR timed deatruction; unwinding explicit logic antipattern; reactivating bfr spawning (#1361) 2026-04-21 11:23:08 -04:00
Fate-JH
ceb6e58119
Capitol Force Dome (#1350)
* adding entity to represent force dome, and wiring force dome to capitol facility; touching the force dome while it is active causes death on both server and client

* force dome is now an amenity owned by its encompassing capitol facility and has its own control agency that is aware of the faction affinity, hack state, etc. conditions that would cause it to close over or open up

* force dome messages owner about change in state, triggering the NTU silo to give away repairs for free; activating the force dome kills or destroys all enemies within its radius

* the force dome exhibits a perimeter in which enemies will be destroyed when it energizes; the facility generator will become undestroyable when the force dome is energized

* force domes should be on the zone blockmap; correct issue with force dome death; interaction that sets players found under the force dome to be invulnerable works

* wrote variable and method documentation; prepared interaction handlers for force domes for mountable (vehicle) targets

* force dome provides damage protection to certain amenities, e.g., the generator, the turrets, and any implant machines (cryo); force dome will also suspend hacking attempts under it's envelope, but counter-hacking (resecure) should still be possible; operated turret deployables gain protection while manned; turrets no longer share knowledge of each other's upgrade cycles

* csr-level commands for force dome manipulation

* extending the force dome protection over a variety of entities in a different manner, with a focus on how to perform state reset (dismounting and dome protect end); completely refactored and reworked the self-reported zone interaction timer for vehicles; separated passenger seat mounting from gunner seat mounting

* adjusted self-reporting zone interaction logic; allowed for status of mounting into turret entities; made routine mounting behavior callbacks

* streamline pass on the vehicle operation and aaccountability

* expanded scope of 'csr override message for Capitol force dome state; spelling and guard condition changes to dismount blocking cases

* corrected death by force dome contact, for all players; corrected reset of force dome protection field condition

* corrected input data to force door wall inclusion test; adjusted force dome ceiling inclusion test(s); force dome generator locations now retained; invulnerability can not be granted to players or vehicles if they've taken damage recently
2026-04-21 11:22:40 -04:00
Fate-JH
1b31b3bad7
Another Reset Sequence (#1358)
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
* proper reset sequence handling, with an added small refactor to the marshalling process

* reset sequence at 0x8000, but only when retrieving a new sequence number; caching common flag values when marshalling packets
2026-04-19 13:16:55 -04:00
Resaec
0ae8ab2418 TimeOfDayMessage broadcast and fixup
broadcast TimeOfDayMessage to all players in the zone
fix input allows single minute digit times (0:0)
fix set time(speed) before packet creation
fix GetTimeOfDay return seconds, not millis
fix SetTimeOfDay write correct integer type
2026-04-13 21:28:44 +02:00
Resaec
42c66bb4ca TimeOfDayMessage implementation
corrected packet decoding
added helper functions
added zone logic to store and access local time
updated zoning logic to use local zone time
added chat commands to change zone local time and time speed
2026-04-12 23:45:36 +02:00
Subsonic154
575f5fd7fc
Initial implementation of VR Training (#1355)
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
2026-04-08 04:29:09 +02:00
Resaec
0c5b479f0f
Merge pull request #1354 from Resaec/fix-scoring-patch-4
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
Fix Scoring Patch 4
2026-03-30 12:07:00 +02:00
Resaec
764ed6b196 Fix Scoring Patch 4 2026-03-26 18:01:04 +01:00
Dethdeath
697547da25
Merge pull request #1352 from psforever/Dethdeath-patch-1
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
Disable Scorpion
2026-01-23 22:02:03 +01:00
Dethdeath
d5ffeb634e
Update game_objects0.adb.lst
Disable Scorpion.
2026-01-23 21:29:31 +01:00
Dethdeath
07336c894f
Merge pull request #1348 from ScrawnyRonnie/telepad
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
Telepad Deployment
2026-01-09 19:12:03 +01:00
ScrawnyRonnie
9346a4a0c8 deploy if same faction 2026-01-09 10:18:51 -05:00
Fate-JH
8f1badb862
Merge pull request #1328 from Fate-JH/rad-poisoning
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
Lead Plating
2026-01-06 18:35:47 -05:00
Fate-JH
0ae5a46934
Merge branch 'master' into rad-poisoning 2026-01-05 23:07:05 -05:00
Fate-JH
7cb72a8ad5
Merge pull request #1344 from ScrawnyRonnie/cavern-benefits
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
Cavern Lock Benefits
2026-01-05 14:40:43 -05:00
Fate-JH
4f19a12ba6
fixed drowning timing so that oxygen recovery meter displays; check against inside state to block against water interaction; simplified water maps for hossin ceryshen and ascension (#1342) 2026-01-05 14:36:28 -05:00
Fate-JH
12cbcfc6c1 retimed the self-reporting vehicle test for radiation cloud interaction 2026-01-04 17:01:51 -05:00
ScrawnyRonnie
042ddc8c4e allow cavern equipment favorites 2026-01-01 21:33:22 -05:00
ScrawnyRonnie
7521e360f3 process towers faster 2025-12-31 09:38:47 -05:00
ScrawnyRonnie
3f1efefc20 cavern lock benefits, faster capturebase all checkpoint 2025-12-30 21:46:53 -05:00
Dethdeath
5b9e0ec384
Merge pull request #1340 from ScrawnyRonnie/virus
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
Facility Virus
2025-12-30 20:07:07 +01:00
ScrawnyRonnie
e12c991f23 delay telling zoning players 2025-12-27 19:43:13 -05:00
ScrawnyRonnie
becd5cf9b5 clear previous virus unlocks 2025-12-27 15:33:49 -05:00
ScrawnyRonnie
144249bfb3 inform whole zone, delay messaging 2025-12-26 09:51:45 -05:00
ScrawnyRonnie
dd4c61e016 upload virus to facility 2025-12-24 12:06:53 -05:00
ScrawnyRonnie
8efe20356e
bail animation, home lock ammo (#1337)
Some checks failed
Publish Docs / docs (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Test / test (push) Has been cancelled
2025-12-23 13:03:48 -05:00
Fate-JH
3182c79024
Armor Goes First (#1334)
* conditions where infantry suffer only armor damage until it is depleted (not just as a max); valid for spitfire damage and collision

* no bonus damage on armor depletion
2025-12-23 13:03:24 -05:00