* an attempt to space out the player upstream
* some data sterilizing
* when a player is respawning, other players do not send their own update PSM's
* always display players in their proper locations when nearing their view, even if they have been stationary this whole time
* fixing configuration file and warnings
* modified the instant action algorithm; added configuration flags for ams instant actioning and crashing third party activity
* experimental droppod feature that was abandoned as too complicated
new in 2.13.10:
[error] /home/runner/work/PSF-LoginServer/PSF-LoginServer/src/main/scala/net/psforever/actors/net/LoginActor.scala:48:21: weaker access privileges in overriding
[error] def log: akka.event.LoggingAdapter (defined in trait ActorLogging)
[error] override should not be private
[error] private[this] val log = org.log4s.getLogger
[error] ^
* restored emergency drop/passenger dump from galaxy when pilot bails
* extend bail protection during emergency drop
* another bail protect case covered
* changes to the session actor handler classes
* further changes to session actor handler classes
* extending the range of voice emote penetration
* rollback of changes to SessionGalaxyHandlers to preserve passenger zoning behavior
* added extra checks to eliminate cosmetics from the packet transcoder where having them defined would be considered harmful to the data
* new uniform options; moved cosmetics class file
* assurance that the cosmetics settings are accurate during transitory points
* weaponry on login has accurate ammuniton counts
* armor value on login has accurate damage value
* capacity value on login has accurate ammunition count
* capacity for items in lockers on login have accurate ammunition count
* fixing locker inventories
* forgot change to initialize new locker database entry; and why did I write this subclass?
* correction to scorpion sub-projectile death message
* redirected the definition fields
* output method of demise to chat; chat will answer us the mystery
* finally attributes the scorpion as the method of demise
* dropping the medical applicator on rejoin logins; not actually a bug fix, but a bug mitigation
* narrowing the scope of the guard boolean; correcting an issue with purchase timers
* players will properly be blamed for being killed in vehicles
* vehicle occupants should stay in their seats until told to die
* wall turrets are now recognized as something else
* extensive modifications to source entry shorthand
* moving 11 files changes 55 other files
* added score card classes; upgraded packet classes
* I decided to import over everything
* proliferation of in-game activity messages, especially for spawning activity; removed defaults for activities; fixed (most?) building tests
* upkeep on the LLU's managing service, as well as the facility hack management service, in response to a potential bug
* a facility that changes faction affiliation while it is the destination of an LLU delivery will cancel that LLU delivery
* fixed crash due to boomer trigger overriding position of ace, without the ace being properly cleaned up on the client of the bomber; fixed issue with the boomer trigger going missing
* flipped the first two FDU deployable settings so they match the correct fire modes; corrected a stack overflow situation with the sourcing entities
* action, but no response
* condensed parameters on avatar class
* as always, fixing tests
* quickly, loose ends tied
* 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?