* initial packet and tests for ChainLashMessage; changed Rounds to RoundPerShot for extra clarity; weapon fire and discharge refactor
* lash damage field for maelstrom; chain lashes on hit with damsage proxy
* mend
* must modify all tests that rely on ephemeral logic like this in the future
* adding modifiers to take the place of target-selected distance calculations performed on damage valuesd; simplying the damage model
* suppressor goes in the suppressor slot
**AMS Changes:**
- Max health increased from 3000 to 5000
- Max shields increased from 600 + 1 to 1000 + 1
- Expert Hacker jacking time increased from 15 to 30 seconds
- Advanced Hacker jacking time increased from 20 to 40 seconds
**Galaxy Gunship Changes:**
- Max health increased from 6000 to 9500 while it lacks its damage reduction mechanic.
* moved deployment state management and ntu management into vehicle control agency; resource silos need coordinates
* compartmentalization of ntu behavior; end-of-life vehicle behavior; initial state of ntu behavior vehicle during zone loading
* warp gates now have specific ntu granting powers; resource silos have specific ntu acceptance powers; users are forced to process set current avatar at least once during the interim period
* compartmentalized the process of transferring ntu; the ant sends messages to the warp gate and the warp gate responds; the ant sends messages to the resource silo, the silo responds, and then the ant returns a second response; the matter of ntu transferrence was refactored for future accessibility for the bfr siphon
* refactor to single basic transfer behavior out from ant ntu transfer behavior; adding behavior to warp gates and silos
* rebase onto master merge
* correcting tests; eliminating redundancies in end of life of deployed vehicles by patching a match case
* ntu low moved to a function
* fixing test (order of messages)
* rebase merge resolutions
* Add .scalafmt.conf
* Adopt quill for database access
* Removed postgresql-async
* Refactored all instances of database access
* Creating duplicate characters of the same account is no longer possible
* Rewrote large parts of LoginSessionActor
* Implement migrations
* Move overrides into subdirectory
* Make usernames case insensitive
* Use LOWER(?) comparison instead of storing lowercased username
* import scala.util.{Success, Failure}
* Add config and joda-time dependencies
* Add sbt-scalafmt
* Use defaultWithAlign scalafmt preset
* Format all
* Add scalafix
* Remove unused imports
* Don't lowercase username when inserting
* Update readme
* Listen on worldserver.Hostname address
* Remove database test on startup
It could fail when the global thread pool is busy loading zone
maps. Migrations run on the main thread and also serve the
purpose of verifying the database configuration so it's fine to
remove the test altogether.
* Refactor chat message handlers, zones
What started as a small change to how zones are stored turned
into a pretty big effort of refactoring the chat message handler.
The !hack command was removed, the /capturebase commandwas added.
* Expose db ports in docker-compose.yml
* Silence property override log
* Rework configuration
* Unify configuration using the typesafe.config library
* Add configuration option for public address
* Configuration is now loaded from application.conf rather than worldserver.ini
* Refactor PsLogin and remove unnecessary logging
* Move pslogin into net.psforever.pslogin namespace
* Fix coverage
* better kicking; a quitting that eliminates persistence
* GenericActionMessage comments; integer delay time
* TeardownConnection corresponds to closing the client directly
* messaging path for CMT_QUIT immediate logout that intersects zoning logic for IA and Recall
* slightly improved kicking, and the posibility of longer kicking
* restoring a turn counter instance
* player character will now clean up like normal; immediately turns into corpse; kick delay exists only on the persistence monitor
* removing stamina update business logic from the Player class
* I really need to sort this out
* implant changes: deactivate when changing armor or loadouts and when zoning; extra details for state management when being jammed or fatigued upon loading
* merge with master
* pull rebase on master; moved implant learning/forgetting to PlayerControl, but not yet completely tested
* unhandled case of no implant in a slot during avatar setup
* complete implant deactivation optional?
* moved reference to player control agency for matters concerning stamina updates on damage taken
* - > +
* crouching makes nothing better
* PlayerControl now handles stamina regeneration; handling a case where being fatigued because activation charge is too much leaves the drain timer running
* no more stamina drain message; moving functionality into the class (out of the object) for expediency; handling implant uninitialization differently upon death
* test repairs; redundant messages in player damage and player death logic
* no jumping; riders get a free pass
* making the code uglier
* added corpse control to manage (only) looting; swapping controls in ZonePopulationActor
* making test timing more forgiving; fixing case conditions for corpse addition
* Use command line interface instead of hard-coded paths
* Takes in both .gcap and parsed gcapy files
* Add pack config to allow system-wide installation
* Slightly change output format from [C|S] -> [C|s] to C [<<<|>>>] S
* Add some documentation to README