* initial workings for a csr/gm player mode
* weird line removal after merge
* too many changes and refactors, but the code compiles properly; need to push these to the repo and sort out issues with it all later; hopefully, nothing has changed except for the csr stuff
* extensive changes to mode logic for refactoring and functionality improvements, especially for accommodating csr spectator mode
* csr's may now see players who are spectating, including csr's who are spectating, including a wide variety of their behavior such as location, weapon management, etc.; removes zoning cancel messages as a required log from certain use item actions
* corrected various issues identified in the comments of PR#1247
* restored killed->autorevive functionality; removed last traces of old door code from general operations
* knife stab corrected; spitfire turret corrected; blockmap interactivity using zone interaction allowance flag; visibility during resurgence code for csr; removing messages and experience gain for interactions with csr
* pruning imports and correcting the default spectator setting
* separated router/telepad activity from other vehicular activity, previously all considered a form of mounting/dismounting, and restored support experience rewards
* can not activate or deactive spectator of gm when dead; zoning while spectator removes spectator and defaults to sanctuary
* field turrets are neutral-neutral when constructed by a csr; custom bang command 'setempire' will adjust the faction affiliation of a variety of game objects
* fixed facility occupation recognition
* when transitioning between player modes, do not parse new messages about transitioning between player modes, until fully transitioned between player modes
* adding chat and event messages that have been neglected since; these are easy additions
* completely retooled water interactions for players and vehicles to handle a wading status, before drowning; when player with llu or vehicle with player with llu come into contact with water in this wading state, the llu is lost and the facility hack ends; adding messages to support this and differentiate from an llu facility capture timeout
* periodic message while the llu is active, whether or not there is a carrier, until the hack is finished
* message when inventory is full (assumes player inventory destination, but item winds up in hand due to lack of space, but it works)
* when changing exo-suits, complain if equipment has to be deleted; dropped equipment is limited to special equipment; report a player pointlessly
* announce ams decay to players who have just spawned on an ams, when they spawn on that ams, and for the last round of spawnees when the vehicle finally deconstructs; due to use of the word 'bound' this may be an incorrect application, but matrixing doesn't work anyway
* deconstruction message for would-be driver when vehicle is abandoned on spawn pad; tempo on message delivery is different than usual
* message when player is kicked from orbital shuttle gantry; message when player attempts to bail in a warp gate; message when player attempts to bail from a droppod; stop player from succeeding in bailing from a droppod
* vehicle pad deconstruction complete message; message when nc max shield deactivates when out of capacitor power or when max opens fire; message when ams can not deploy because it is blocked by other entities; message when facility capture requires ntu
* message for deployables being blocked; cleaning up dev test section
* Yellow Ownership (#1226)
* just some tinkering and clean-up
* converted DeployItem from AvatarService to LocalService; attempt at resolving missing overwhip yellow ring is complicated; vehicle ownership packet wqorks on deployables that are mountable, but is less successful on normal simple deployables
* restoration of yellow ring of ownership around deployables; changes to variant of CommonFieldData transcorder used on certain deployable transcoders; static values are assigned parameter names and public variables are given types for completion
* initial packet for GenericObjectAction2Message and tests; repaired transcoders and tests for TRAP and small turrets
* force redraw of the whole boomer to assert reassignment of ownership; it's heavy-handed but it works
* deployable ownership should be asserted during both re-zoning and revival; refactoring of code in ZoningOperations
* message when inventory is full (assumes player inventory destination, but item winds up in hand due to lack of space, but it works)
* vehicle deployment messages added in, then deployment was fixed to accommodate an explicit caller, and that changed a whole lot of the deployment loop for messages; environmental activity was modified to maointain a more responsible start/stop transition; many many test changes (still an issue with a lot of them)
* moving around conditions for losing the llu
* the question of one extra bit for small deployables; also, all tests pass successfully, tho resource silo use remains coin flip; what sorcery is this
* duplicate capture lost message eliminated; flag lost violently due to environment in general rather than just water interaction; flag lost violently due to warp gate envelope interaction; flag lost due to be dropped in an unsafe position
* vary the testing depth for water interaction
* darn tests
* fixed vehicle interference; added missing ArmorShieldOff message; clearing countdown after vehicle spawn should stop countdown from appearing in subsequent vehicle spawns
* the router needs 20m of clearance
* removing the shared group interference information from routers
* just some tinkering and clean-up
* converted DeployItem from AvatarService to LocalService; attempt at resolving missing overwhip yellow ring is complicated; vehicle ownership packet wqorks on deployables that are mountable, but is less successful on normal simple deployables
* restoration of yellow ring of ownership around deployables; changes to variant of CommonFieldData transcorder used on certain deployable transcoders; static values are assigned parameter names and public variables are given types for completion
* initial packet for GenericObjectAction2Message and tests; repaired transcoders and tests for TRAP and small turrets
* force redraw of the whole boomer to assert reassignment of ownership; it's heavy-handed but it works
* deployable ownership should be asserted during both re-zoning and revival; refactoring of code in ZoningOperations
* preliminary functional implant hacking; am going to explore better hacking policies
* HackMessage now uses custom fields and a float value rather than integers (2, 32, 32); separate hack state and hack clear states; everything changes
* make character select screen characters look like the player that logged out last
* velocity does not matter
* adjusting comments; filling out param names
* correctly clear the hack state of terminals when unpowered; turrets will no longer act like they have AI control if jammed when mounted; restore passive implants
* reload opened and closed doors upon zoning changes; rework ntu silo and ant interaction start; clear hack on proximity terminals; facility turrets stop indicating towards jamming cause when mounted
* radiator is turned off due to potential for server crashes; cerebus -> cerberus; turret kills name owner only when they are in the same zone; fewer chances for turrets to fire when they should not
* incorporating structural changes to hacking for future expansion
* an attempt at fixing tests was made
* zone entity setup code has been moved from an instance method to a class function
* port address bind to socket and request to join game world address are different
* configuration for the game world server to connect to clients across a number of socket-port connections following a simple numerical load balancing policy
* combining port management into the sector pane
* mostly spelling issues
* fixed about half of the unworking tests, and commented out one
* stubborn tests that pass on their own but don't tend to pass in clusters; also, a certain test that terminates an actor when a mostly unrelated entity has its propertries changed from default, just weird
* reviewing logic and operations pairs to ensure that functionality should have been retained from parent structure; moving handling case from individual player modes to session actor, which makes it much closer to the pattern
* while it's still a dice roll, all tests currently implemented are capable of passing
* deployable vehicles should properly deploy again now that they don't have to fight with themselves for the ability to deploy
* boomers are no longer owned if the trigger is dropped (how long has this been not working?)
* redid DamageFeedbackMessage packet because I thought I could use it for something; didn't use it for anything; boomers are no longer responsive to explosive sympathy
* redid combat engineering explosive logic
* redid (cleaned-up) implant logic
* implant initialization timers now saved to the database; uninitialized implants will appear as uninitialized when the character loads; passive initialized implants will always start as activate
* renaming methods; progress bar calculations change
* accounting for implants that are in the act of being initialized
* restored experience awarded from mine kills; removed situations where mine damage no longer works
* Update ZoningOperations.scala
Rearranging order and priority of conditions
* cep from towers set to 10; reorganized an if...else
* replacing maxBy with maxByOption and then resolving maxBy the long way with appropriate fallback value
* basic interference fields; setting up operations for ce deployables
* applying corrected properties to object definitions and applying them to interference tests for deployable ce and for deploying vehicles; made two otherwise useles object definitions to store property data (if we ever need ziplines or teleport pads ...)
* sent deployment requests to a centralized pipeline for interference testing; swapped out math.pow(a,2) for a * a
* temporary interference for vehicles that are going to transition to deployed eventually and block other deploying vehicles
* reversed the origin of the interference tests
* exception for non-interference resolves to wrong conclusion
* ramshackle merge conflict resolution; fixing interference for non-interference deploying vehicles
* reorganized files and methods for session actor in preparation for custom spectator implementation
* split existing code between data and functions, and entry points; parsing and logic management is now handled within the current game mode, which should reduce the need to ask explicits
* should fix players not performing damage after being broken for an unknown amount of time, maybe never working correctly
* functioning spectator mode logic swap; initial packets for UplinkRequest, UplinkResponse, and UplinkPositionEvent
* available chat prompts can now be different based on player mode without testing flags
* modified ChatActor to be replaced by a function-data logic pair, and modified ChatService to be able to accommodate the new chat channel; chat packet handling moved from general operations to the new chat operations
* resolved issues with spectator implants, at least enough that implants should be stable; created an exclusive permission for spectator mode; database changes to persist permissions for different modes
* command detonater is no longer allowed; spectators now hold a laze pointer
* for the purposes of testing, anyone can be a spectator
* spectator mode is important to confirm; removed deprecated chat actor; dismount quietly
* oops; allowed again
* restored commands setbr and setcr; deployables are erased from spectator map; projectiles destruction only just in case
* role only for those who are permitted