* code style improvements for SessionData file
* refactored and simplified methods; added GenericAction case enum for smoother GenericActionMessage behavior; fixed timers for MAX unit
* 10 -> 11; suffixes for actions that are 'received' from the client
* chat trying to consume a bang-command when it should not have; hack clear is executed properly again
* finally managed to break down SessionActor into something that can be considered 'small files'
* the server will start and can be connected to; further testing required
* the refactor works correctly; spawn ops moved inot a nested class in zone ops due to sharing; all vaiables should be assigned a scope
* removed a layer of pattern matching obfuscating all packet handling methods
* moved ownership assignment hopefully corrects issue of player avatar randomly un-owning vehicle
* one line changes everything, or nothing, I dunno
* if...else to guard booleans during setup
* forgot line to avoid MatchError
* nesting cases and placing accessors onto a trait's methods
* Squad -> SquadFeatures from a common lookup
* refactor to SquadService, etc.; clarification of fields related to outfit ids
* thorough pass over squad functionality in regards to joining a squad or rejecting a squad invitation
* decorating squads in the squad list to indicate availability based on size/capacity or role requirements
* squad list decoration; rudimentary squad list searching
* renovations to squad joining, promotion, and certain invitation/cleanup procedures
* further renovations to squad joining, promotion, and certain invitation/cleanup procedures
* overhaul of squad joining and squad promotion
* separated the invitation system from the squad publishing and manipulating system
* separating stages of client interaction with the session's avatar; connection closing is caught to avoid unnecessary log messages; changed how ActionResultMessage views its parsing format
* fixed issue with relogging while persisting as dead (thanks Scrawny)
* almost forgot to turn this back on after I finished testing
* routine that finds, equips, and draws a grenade if the user has it; moved handling of ObjectHeldMessage from SessionActor to PlayerControl; placed a arm movement restriction condition
* loading of, and adding and removing of shortcuts to/from both the database and the client hotbar
* player-driven sanity tests to reload otherwise unavailable hotbar shortcuts; revamp to CreateShortcutMessage
* database tables and persistence entities; attempt to retrieve values from database and apply them to the player avatar character; resolve spawn options in sanctuary in different manner
* minor database table field adjustments; saving to database when account persistence ends; properly loading from and initializing with data queried from the database; suicide better supported
* converting the zoning method/status tokens; better support of zoning handling of persistent locations; messages that explain the consequences of login-spawning into an invalid location
* adding triggers for the 'saved char' message, both those prompted by game activity and a 'reassurance' message; also, actually save the char data sometimes
* intervals for timing charsaved message set by configuration file now
* corrections to spawn tests and tables
* random sanctuary spawn in more places than one
* database, transfer objects and storage objects for lists of good friends, and of friends that you want to ignore
* friends and ignored players get added to lists, to the database, load in appropriate states, and update at basic appropriate times
* ignoring players and being ignored by players cuases loss of communication avenues, especially tells, and visibility
* modified the [friend list, ignored player list] x avatar query for better performance as the sizes of the results increases using joins and using targeted column selection
* obligatory fixes to tests that come with every update
* changes to spawn point selection for warp gates; updating coordinates for a few /warp destinations; just block map things
* additional securities against wrong blockmap domain
* diversified building management by injecting behavior; allocated entries for the intercontinental lattice and have begun connecting warp gate entities along the intercontinental lattice; beginnings of warp gate broadcast operations; disabled free merit commendations
* allow transit across a predetermined warp gate path, i.e., proper zone-to-zone gating
* game variables for modifying warp gate behaviors; moved choice of building game logic into overloaded constructor; only handle the capitol fore dome in more realistic conditions; warp gate state restored primarily b y internal game logic; changes to which and how gates are declared inactive or broadcast at startup
* initial work on WarpgateLinkOverrideMessage, even if the packet doesn't seem to do anything; added basic service for rotating cavern zone locks via the galaxy messaging service; moved error checking for lattice connectedness
* cavern closing warning messages queued
* starting to set up ChatActor for /zlock command, and added /setbaseresources; conditions for correcting broadcast conditions of a locking warp gate pair; system for rotating through locking and unlocking cavern zones only uses two timers now and has an advance command that speeds to the next closing warning or cavern opening
* expedited cavern rotations available via '/zonerotate' and '!zonerotate [-list]'; '/zonelock' should work for caverns, though distorting the rotation order to accommodate the cavern being unlocked; configuration arguments exist for the setup of cavern rotations and for the rotation itself
* populated cavern lattice connections for a specific rotation order; warp gates will properly activate and deactivate and modify their neighborhood information based on which stage of the rotation; fed up with the blockmap going wrong; added a sanity test for the cavern lattice; Spiker damage calculation changes
* adjusted local variable requirements of BuildingActor to integrate retained actors more closely with the Behavior; on the other hand, another value is passed around the logic
* bug fixes observed from issues found in logs since 20220520; halved the spawn height when gating to a cavern warpgate
* cavern benefits are now represented by enumeration classes rather than additive binary numbers; when facilities change state, benefits are evaluated; when caverns rotate, benefits are evaluated; cavern facility logic added; attempted handling for inventory disarray conditions (untested)
* broke down tabs for easier navigation; added test to stop spawning of cavern equipment when not otherwise permitted
* code comments, everywhere; correcting issues with cavern rotation timing reports
* but is it flying?
* ability to swap merit commendation ribbons on shoulder and have other players see it
* ability to swap merit commendation ribbons on shoulder and have other players see it
* VehicleControlTest from elsewhere
* giver all non-Exclusive ribbons that would become available to faction/sex and allow modification of the ribbon bars
* awards only need to load during login activities; fixing a few awards that were not being allocated correctly
* wrong conditional for sex check
* preparations for deploying oicw little buddy projectiles
* oicw little buddy projectiles spawn and animate properly, but damage dealing is inconclusive
* radiator clouds cause damage to infantry health
* oicw little buddy projectiles do damage upon detonation; different descent pattern; projectile types given own Enumeration
* proximity terminals for vehicle actions no longer need to use the vehicle event system as a middleman for making changes
* redid the workflow of the proximity terminal resolution so that it avoids SessionActor as much as is possible; this may be a mistake, but my future self will pay the price instead
* changed the timing and the angles of the little buddy explosions; fixed proximity terminal tests
* restored control of bfr gunner weapon; attempted to restore shield functionality given unspecified problem statement; bfr's can drown like ground vehicles, not aircraft; siphons can not drain a facility when equal to or less than 40% ntu; corrected oversight with implant timers; accidentally got assertion for TradeMessage backwards
* fixed bfr shield charge display; phantasm driver seat is now bailable
* this test never passes, but the test based on this test passing passes
* correction to support bfr flight variant waterlog recovery
* preliminary elements needed to battle frame robotics; mostly from previous branch
* introduction of FrameVehicleStateMessage and anticipated event system paths for BFR's; spawning amenities for BFR's are parsed and built from the zonemap files, but their coordinates are currently incorrect, and the resulting entity will not function atm
* bfr's spawn correctly; default arm weapons will spawn correctly; bfr rearm terminal added but arm swap not working correctly; bfr shields charge if not full; proper separation of vehicle spawn pad types
* arm weapon swapping in bfr's; swapped weapons switch, contextually, to either *_left or to *_right depending on the mounting; partial support for entities that do not have an OCDM packet form
* crouching improves shield regeneration
* some projectiles damage the bfr regardless of its shield
* delay the final vehicle explosion; start of vehicle subsystems
* handling for bfr shield ui updates; more of vehicle subsystems; corrections to TradeMessage packet; clarifications for FrameVehicleStateMessage package; report on flight status of bfr's
* control agency support for vehicle subsystems for arm weapon fire control
* vehicle capacitor, for what it's worth; shield and capacitor are influenced by recharge freeze and drain
* initial packet and tests for AvatarAwardMessage; update the fields of FreindsResponse, DetailedCharacterData, and LoadoutType for FavoritesMessage; corrections to intiailization packets in SessionActor; players start as imprinted by default
* support for GOAM and GAM integration into vehicle control agencies using a basic actor superclass; addition of vehicle subsystems; modifications to bfr control agency to allow for weapon handiness and subsystem control; fixed Fit mapping for vehicle override; made mountable seat transcoders independent
* delayed explosions to accompany the delayed death for the bfr; bfr terminal window closes on successful purchase
* the bfr armor siphon works
* clarification for bfr inventory item manipulation; corrections to length of bfr transcoder for flight variants; everything else in in support of the various arm weapons that can be assigned to the bfr, including damage proxy support for causing/interacting with/cleaning up after radiation cloud projectiles
* fixed the apc emp burst; fixed bfr arm weapon manipulation for activated subsystem; armor and ntu siphon support
* battleframe loadouts available upon vehicle spawn (vs and tr only)
* adb values for siphons; subsystem update message; some repairs
* cargo vehicles are subject to radiation damage; damage for battleframes are different depending on shield evasion status; battleframe loadout deleting supported; bfr kill box; automatically wire bfr sheds, includeing the ones in sanctuary
* proper bfr spawn angles; bfr vehicle timers; projectiles are no longer radiation clouds by default; better remote projectile cleanup; resolving incorrect weapon arm enabled states for bfrs
* added tests for FrameVehicleState and GenericObjectActionAtPosition; pass around maximum sector for zone interactions
* changed the triggers for the stamina regeneration timer
* potential fix for issue related to finding arm weapon mounts
* modifications to how vehicle subsystems are automated; jammer field updates; support and passing around custom block map ranges; does include activated dev tests for battleframe PAM, which will need to be stripped out later
* commit while working on subsystems mk2
* subsystems fail when jammed; an unoccupied bfr does not have shields active; pulling a bfr of one variant should block the other variant too
* fix distance check with radiation clouds; blocked bfr weaponry from anywhere but bfr arm mounts and cursor; ammunition depletion of aphelion laser; bfr shields deactivates when unoccupied
* significant modifications to vehicle subsystem operations; disambiguation of weapon subsystems; debuffs to charge rate and use rate for the capacitor and shield of bfr; test for ComponentDamageMessage; somewhat proper jammering operations for bfr