* refactored WSA code handling HitMessage, handling SplashMessage, and handling LashMessage; modified projectiles for future functionality
* players can die from being shot now; the damage model is simplistic since main goal was to write around the potential for negative damage ('healed from getting shot'); HitHint works correctly; dedicated AvatarService channel for each avatar helps reduce message spam
* vehicle destruction, and replacement with lightweight wreckage objects upon continent join; made flushing vehicle terminal more accessible
* simple work on vehicle shield charging (amp station benefit) (that's my commit story and I'm sticking with it)
* a flexible calculation workflow that can be applied, grabbing damage information, resistance information, and then combining it with a resolution function; players and vehicles have resistance values; removed redundant damage calculations from WSA
* broke up DamageCalculations, ResistanceCalculations, and ResolutionCalculations into packages under vital; fixed an error with exo-suit calculation resistances; events for dealing with synchronized player and vehicle damage calculations and building the papertrail of those damages; updating codecov.yml file for ignore classes
* added tests for various components (damage model, destroyed vehicle converter, vitality, etc..) and some functionality improvements
* added a field to keep track of how projectiles will be attributed at the time of target death
* object class, actor class, and definitions for base turrets; untested
* wired base turrets into existence, with hoop jumping; created interface for objects with mounted weapons (vehicles and turrets); working example phalanx_sgl_hevgatcan in Anguta, Ceryshen
* re-wiring manned turrets so that the turreted weapon itself never changes externally but merely identifies different and changes internally; workflow for upgrading wall turrets in place (30s); clarifications and documentation for HackMessage and UseItemMessage; getting rid of orphaned packages from previous location of services
* added a simple task that reverts upgraded manned turrets to their None state after a certain amount of time has passed; it works but need improvement
* turret weapon upgrades now last for a duration of 30 minutes before reverting; created a service support actor base actor that underlies all current support actors; nano-dispenser now properly loads 1 unit of upgrade canister, rather than 100 units; all canister types have appropriate 2x3 inventory size
* forgot to hurry; moved over the Services tests from main/test folder into the common/test folder and needed to change the location of ActorTest to accommodate it; test and documentation for MannedTurret; codecov ignore update
* wired facility turrets in Anguta, Ceryshen; Akna tower, Ceryshen; and S.Villa tower, home3 (Anguta tower is a watchtower); attempted workaround for Travis CI issues with receiveN; re-introduced RemoveActorTest, at least the first test; expanded how ZoneActor performs tests on MannedTurret setup
* getting rid of useless commented-out code; making common operations for mounting and dismounting
* removed outdated comment; added ResourceSilo tests; added extra test for Zone
Class and Actor mixins for Deployment state. The logic is surprisingly self-contained, mostly.
DriveState:
This is not the former DriveState Enumeration of /packet/game/objectcreate/. This is now a /types/ Enumeration shared across /common/ objects and serves the functionality of both, at least to the extent that it is understood. Functions are includes that define the logic order or state changes and divides states into (two) groups.
VehicleService:
The directory /pslogin/src/test has been created and tests have been migrated there. Originally, the tests were located in the wrong place and were being skipped when not executed manually. They should now appear in coverage reports and be run as a part of continuous integration.
Added continent stubs to InterstellarCluster init list. All Maps and Zones are defined in temporary objects that may be subdivided further as they grow.
Builder:
Replaced trait ServerObjectBuilder[A] with class ServerObjectBuilder[A] that allows for much greater power. In ZoneMap.Init override, LocalObject invocations that were previously 'LocalBuilder(FooObjectBuilder(ObjectDefintion, Int))` have been transformed into `LocalObject(ServerObjectBuilder(Int, (Int=>Foo))` where `Foo` is the type of object to be created by the curried function `(Int)=>Foo`. The examples with Terminals and the VehicleSpawnPad should demonstrate what kind of power this syntax possesses in isolating constant (or at least initial) configuration settings. At least five files, and some files not yet written, have been rendered obsolete and have been eliminated from the sim pertaining to these created objects.