* 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
* 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
* defining all doors; moving around classes related to environment fields; separating global definitions into a main file and implementation files
* logic for declaring door occupants/users as inside or outside or within an open door using door declarations, geometry and environment fields, and math; divided the remaining object type definitions into their own files and removed those from the main global definitions file
* integrating inside/outside considerations into server-calculated damage; clarifying the sidedness comparison rules; extending inside outside considerations for deployables and vehicles
* projectiles that, by definition, are allowed to damage targets through walls (radiation_cloud, with DamageThroughWalls) regardless of sidedness; any unflagged radiation_cloud must be on the side as its target; fixed chat bang-commands not being executed
* added sidedness to different entities, both in general and depending on the zone where it matters
* removed three too-specific fields on the door's definition, resulting in nontrivial rewrites that resulted in all amenities being able to project an environment field onto the block map, to do with whatever it needs
* wrote WithEntrance interaction to be able to switch between normal / debug modes; telepad and router sidedness support; fixed bang-commands; fixed issue with proessing player mounted state; added zone entity discovery feature (unused)
* empty character literal is a digit somehow
* adding way to allow bang-commands that only a gm would have access to for everyone
* switched environment handling from the control agency side to the entity side to match other zone interactions
* reusing the existing sector data; better resets, negating an issue during mounting where the player does not switch back to recovery; disabling was bugged due to missed timer upgrade
* making lava no longer deadly; wait ...
* only one method of cancelling a lava interaction at a time