* basic information processing actor for projecting hotspot information back to the clients
* added measurements to the continents to keep track of their coordinate-sizes; corrected an old regex issue affecting some (few) CSR zone names
* started on zone storage for active hot spots
* moved (Zone)HotSpotProjector onto the top of each of the zones and adjusting the GalaxyService workflow; added a map blanking routine for outdated hotspots; different damage targets cause different amounts of hotpot lifespan (test)
* separated hotspots by the faction that should have those specific hotspots depicted; hard cap on the number of entries that can be added to the packet HotSpotUpdateMessage to correspond to the capacity of the size field; increased hotspot sector mapping (64 -> 80) and lowered the blanking period delay (30 -> 15)
* adding comments to the majority of classes involved in hotspot management; moved hotspot coordination mapping and duration selection functions into the zone itself rather than the projector (though calls will still be made to perform updates to the existing projectiles through the projector); the formal continents have been assigned some default hotspot functionality
* rebase, plus 'galaxy' channel name
* capped the amount of heat a hotspot can accumulate to avoid overflow; vehicles being damaged now generate hotspots; corrected a long-standing issue involving cargo vehicles when the ferrying vehicle is destroyed
* from > to <
* Jacking changes
* GOAM documentation
* Don't disable a deployed router's internal telepad when cleaning up remote telepads (i.e. when router is hacked)
* Reduce some log spam
* Fix BIUM getting hack time in nanoseconds instead of milliseconds
* Remove blocking call to calculate remaining hack time on CC
* Fix HackClearActor crash when trying to schedule next check when no hacked objects are left
* Potential fix for client disconnect when looting a corpse that gets removed
* deconstructing a vehicle that has cargo will eject the cargo before despawning the vehicle
* cargo that dismounts without a driver is scheduled for deconstruction; any player that disconnects while in a vehicle that is flying has the vehicle scheduled for immediate deconstruction instead of the standard deconstruction time
* modified routine for disowning vehicles outside of the conventional 'driver is owner' system
* standardized player-driven ownership fields; adjusted how vehicles transfer and announce ownership on zone join events (SetCurrentAvatar)
* stop /zone and /warp if in a cargo vehicle (even if driver)
* fix for landed-dismount cargo logic not starting distance checking loop
* concatenated Owner and OwnerName assignment to a singular object method, and the vehicle use of assignment to a singular WSA function
* formulas to calculate consistent distance between origin and impact; lash damage degrades as a function of distance
* clamped the degrade value for lashing damage; clamped the distance value; implemented a rudimentary and unsophisticated shot origin to shot owner distance validation test; fixed a mounting bug
* lashing damage is primarily targeted at exo-suit armor; lashing calculates damage starting at the same distance at which it starts being detected
* clarifying the weapon fired in the warning message
* Increase the distance on the door close check to stop doors bouncing open/closed and add a check to make sure the player is alive when holding the door open
* Dead players hold doors open, zone is now checked if the player is a backpack instead of the player object itself
* rescheduling of passenger gating summons to increase chances of detecting passengers joining same zone; short-circuit new spawn requests and new warp gate requests while a previous request is already being processed
* changing respawn delays for warp gate spawn points
* adjusting how warp gates store broadcast data and how broadcast gates are declared in packets; activating TR sanctuary warp gates and making Solsar warp gates broadcast for the TR
* changes to vehicle disowning and what happens to an AMS when it is unloaded
* routines for eliminating equipment and configurations from loadout availability depending on the terminal type
* fix to FavoritesMessage use of exo-suit type and subtype causing entries to identify incorrectly; standard is the fallback exo-suit type should a player try to load a suit type they no longer have certed
* factored subtype value into exo-suit fallback selection
* when in a vehicle, and accessing a terminal, the item purchased will attempt to be placed in the vehicle's trunk before testing the player's free hand; the item will not go into the player's backpack
* Remove QoL change to show faction colours on hacked objects as unfortunately it causes side effects like doors opening for the hacker but saying the door is locked
* Only send map updates if the resecured object is a capture terminal
* Centralise logic to check if a Capture Terminal is hacked for a Building object
* Fix hacking a terminal where the base CC has been hacked and add a bit of extra logging for possible edge cases
* Clear all hacks from hacked amenities when the CC is resecured
* Fix AMS terminals being broken
* Clear amenity hacks when CC is both hacked and resecured
* resolved merge of multi-PR-merge master branch supporting gating branch
* making adjustments to the distinctions between building map id and building GUID, where necessary, to assist with the loading process
* custom spawn tube definitions for the sanctuary VT_building's
* Move door orientation logic from the door itself to the IFF lock, as the lock has the correct orientation in the UBR files, whereas the door does not.
* Remove ModelID from buildings (is now GUID) and change "ID" to be "MapId". A building can also be constructed with both a GUID and MapID.
* Update Maps.scala and Zones.scala to (for the moment) only have Ishundar configured with Sounours V3 playtest base ownership. Default starting zone is also moved to Ishundar for now.
* Fix oopsie with West Zaqar Tower
* Add proximity terminal positions to constructors
* Offset vehicle spawning by the correct amount from game_objects.adb.lst
* Orient players correctly when spawning at a respawn tube
* Apply a 90 degree offset to tech plant garage locks, as these are the only locks where the orientation does not match the orientation of the door
* Add missing spawn terminals, repair/rearm terminals for both ground and air.
* Additional documentation for GOAM / PAM packets
* Add extra arguments to building LocalObjects to make it a bit more DRY and reduce line count for map files
* Split maps configuration into separate files and add every above ground map (including battle islands and oshur prime)
* Fix ZoneTest typo
* Update vehicle spawn pads to use the correct object types, Z offsets and Z orient offsets
* Update ZoneMaps with the new vehicle spawn pad definitions and fix a few issues with sanctuary GUIDs (special thanks to the one person that used capitals in the .lst files when no other object uses them)
* Comment out duplicate instance of ObjectDetachMessage being sent
* Apparently TR sanc has an extra 6 repair silos, now accounted for.
* Move door orientation logic from the door itself to the IFF lock, as the lock has the correct orientation in the UBR files, whereas the door does not.
* Remove ModelID from buildings (is now GUID) and change "ID" to be "MapId". A building can also be constructed with both a GUID and MapID.
* Update Maps.scala and Zones.scala to (for the moment) only have Ishundar configured with Sounours V3 playtest base ownership. Default starting zone is also moved to Ishundar for now.
* Fix oopsie with West Zaqar Tower
* Add proximity terminal positions to constructors
* Offset vehicle spawning by the correct amount from game_objects.adb.lst
* Orient players correctly when spawning at a respawn tube
* Apply a 90 degree offset to tech plant garage locks, as these are the only locks where the orientation does not match the orientation of the door
* Add missing spawn terminals, repair/rearm terminals for both ground and air.
* Additional documentation for GOAM / PAM packets
* power outage failure resulting in the destruction of the original ocm-fixes branch; the git branch refs were corrupted during commit, but the up-to-date changed files remained intact
* eliminating the need for CommonFieldData2 and CommonFieldData2WithPlacement
* in the middle of integrating CommonFieldData into DetailedLockerContainerData (but not standard LockerContainerData); added field for final boolean in WeaponData
* adding faction affinity to Equipment (to match functionality; not becuase I know what ends ...)
* in the middle of integrating CommonFieldData into DetailedCommandDetonaterData
* applying faction affinity to objects at time of terminal production (but to what ends?); required BoomerTrigger and AmmoBox to always report as NEUTRAL internally
* completed the transition from using the old class-based order terminal system to the page-based order terminal system; unused terminal classes have been eliminated
* more closely aligned TelepadDeployableData and InternalTelepadDeployableData
* modifying TelepadDeployableData make it generic and eliminate the need for InternalTelepadDeployableData after fixing a packet converter to utilize DroppedItemData
* modified Terminal operation to branch further outwards from Terminal.Request to the TerminalDefinition's Request method; modified tests to reflect update
* loosening up matrix terminal definition limitations
* modified ProximityTerminal to support a custom defintition class
* rendered the message passing system for Terminals general (Any) in the full scale so it can be specific in instance cases
* refactored and moved both EquipmentSlot and ExoSuitDefinition
* (re)load Favorites each time player (re)spawns
* modifications to ProximityUnit and related classes to internalize the effect control for the terminal, removing the flywheel functiuonality from WSA
* proximity operations for medical terminals (the one in the Anguta lobby, specifically) is functional; some entities besides Player now keep track of the continent they possess, a necessary compromise for proximity ops
* repair rearm silos (Anguta courtyard East) demonstrate operational behavior when lattice benefits are active
* proximity terminals may now juggle multiple targets that move in and out of range and change validity over time
* previous rebase; preparing for special location + offset calculations for utilities
* working location-based proximity repair terminals for the lodestar, utilizing new fields in the vehicle definition, new configuration method in the utilities, and new calculations for Vector3 entities; some comments and tests
* separated ProximityTarget; updated existing terminals; restored defaults; preparing to fix tests
* tests involving the proximity unit workflow
* dismantling a portion of the proximity terminal machinery that is no longer necessary and only poses risk to the system; removing temporary code used to quickly test vehicle silo repairs
* added three objects to serve as the terminals for Lodestars; only the multivehicle_rearm_terminal is operational, for now
* giving the new terminal type a setup function for being constructed as an amenity
* redid splash damage radial degrade calculations; lasher damage fixed to 6/0 or 2/4 depending on armor; fixed direct hit distance for weapons that act like slash weapons; gave Falcon a valid projectile
* delayed resource silo startup to avoid crash; discovered issue with MAX armor resulting from incorrect manipulation of inventory items during suit transfer
* modifications to consider a specific modifier that exists on some vehicles and armored equipment called Subtract, a DamageProfile that reduces damage due to a set flag; manually controlling damage tick marks rather than relying only on HitHint (from client)
* Tools now have default firemodes (temporary?); ammo gotten from loadouts is always full; loadouts and exo-suits juggle armor values differently on being changed; log messages for damage to players and vehicles
* weapons with one (last) shot need support communicating that one (last) shot
* fixing tests
* correcting the codec for BindPlayerMessage
* changed wording that identifies the damage log entries
* switching exosuit no longer causes butterfingers
* extending exosuit swap armor value changes to infantry loadout changes
* ranges removed from non-vehicle containers
* enabled partial damage functionality to facility turrets
* BindPlayerMessage replacing BattleplanMessage for purposes of depicting the closest AMS spawn point; specific enums in relation to spawning in BPM and SpawnRequestMessage
* rewrote exo-suit switching and loadout switching code, paying extra-special attention for the needs of MAX's
* quick amendment for previous commit
* switching from mount point check to seat checks in VehicleRemover; started refactoring of Cargo functions before realizing how complicated the full effort would be, so these changes are merely wrapping object identification by GUID
* adding a minor server delay to terminal operations
* modified DCData to account for Max suit encoding; modified converters for the avatar that would make use of DCData changes; corrections to enforce that Max/ex-Max always has correct hand showing
* separating initialization-time random GUID assignments from initialization-time fixed GUID assignments by performing them all later
* added short and detailed codecs for Telepad, and converter for switching between Telepad and packets; modified Utility to construct a formal TeleportPadTerminal that associates the Telepad with a Router; can now pull telepad Equipment from Router terminal utilities
* this code supports operation of the deployable-side telepad
* basic teleportation between the Router and the remote telepad is functional; an ever-present internal telepad utility was added to the Router to facilitate this teleportation
* breakdown of Router teleportation code for the purposes of client synchronization; supports Router being set up first or Telepad being set up first, either order; background timer for eventual activation of Router
* refactored the router telepad system to remove unecessary function diversions; telepads now are properly linked where appropriate and links are properly broken in appropriate situations; message passing has been simplified
* fixed inventory size of the telepad; transferred router telepad activation systems from VehicleService to LocalService, and from the Ruoter to the TelepadDeployable; cleaned up code that handled the TelepadDeployable the Router relationship in WSA
* tests, mostly; no-router conditions for certain telepad-related converters
* adjusted (made constant) quantities for owned telepads
* resolved issue with router and telepad crashes; properly handles deployment states of AMS and Router upon zone entry; changed ownership/decon requirements to ownerless only
* functions for certifcation ui updates (that don't work)
* initialization of combat engineering deployables ui on load and certification change
* representation classes for ACE and FDU; ability to pull ACE and FDU from equipment terminals
* ammo change functionality and fire mode change functionality for ConstructionItems refactored from Tool operations and supported properly (switch between deployable options)
* zone-specific structure for keeping track of deployables; abaility to dismiss deployables from the map screen (previous functionality); local client creation of explosive-type deployables
* refactored MannedTurret into FacilityTurret and lesser traits to be used in the deployable spitfires and the OMFT's; all ACE deployables are available for placement; partial management of the construction items after the deployable is placed; boomers create boomer triggers
* Avatar-specific storage for deployables and for updating UI elements
* refactored quite a bit of code in WSA for the benefit of deployable management; refinements to deployable creation; server messages about deployable quantities; corrected the FDU encoding pattern; lots of work dedicated just to synchronizing BoomerTrigger objects
* added RemoverActor for deployables and redistributed deconstruction functionality away from WSA to new DeployableRemover; added events to facilitate activities not inheritable with this model
* refactored and distributed Deployables classes; copious amounts of testing and document-writing
* boomers now explode from trigger; support for deployables being destroyed by weapon discharge, including individual health, soure identification, and damage model; shuffled deployable classes to build different hierarchy
* sensor_shield was skipped by accident
* identified stray object in Hanish, Ishundar, and added Irkalla, Ishundar's capture console; fixed issue with Warp command and 'Irkalla'; modified building amenity setup and setup testing in Zone; players load and die properly when seated in an omft; reserve ammunition in omft properly registered
* added local service channel, capture consoles, fixed tests as much as posible
* fixed LocalService tests by booting the ServiceManager; added avatar and local tests
* a simple attempt to refactor Actor messages in a way that is acceptable to Travis CI
* making the explosive deployables vanish upon explosion; sensor health bars are now supported