Login Location Persistence (#1009)

* database tables and persistence entities; attempt to retrieve values from database and apply them to the player avatar character; resolve spawn options in sanctuary in different manner

* minor database table field adjustments; saving to database when account persistence ends; properly loading from and initializing with data queried from the database; suicide better supported

* converting the zoning method/status tokens; better support of zoning handling of persistent locations; messages that explain the consequences of login-spawning into an invalid location

* adding triggers for the 'saved char' message, both those prompted by game activity and a 'reassurance' message; also, actually save the char data sometimes

* intervals for timing charsaved message set by configuration file now

* corrections to spawn tests and tables

* random sanctuary spawn in more places than one
This commit is contained in:
Fate-JH 2022-10-11 11:16:12 -04:00 committed by GitHub
parent 190a897dd5
commit 1369da22f0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 918 additions and 195 deletions

View file

@ -42,7 +42,7 @@ class VitalityTest extends Specification {
player.History(HealFromExoSuitChange(pSource, ExoSuitType.Standard))
player.History(RepairFromTerm(vSource, 10, GlobalDefinitions.order_terminal))
player.History(VehicleShieldCharge(vSource, 10))
player.History(PlayerSuicide())
player.History(PlayerSuicide(PlayerSource(player)))
ok
}
@ -56,7 +56,7 @@ class VitalityTest extends Specification {
player.History(HealFromExoSuitChange(pSource, ExoSuitType.Standard))
player.History(RepairFromTerm(vSource, 10, GlobalDefinitions.order_terminal))
player.History(VehicleShieldCharge(vSource, 10))
player.History(PlayerSuicide())
player.History(PlayerSuicide(PlayerSource(player)))
player.History.size mustEqual 7
val list = player.ClearHistory()
@ -92,7 +92,7 @@ class VitalityTest extends Specification {
player.History(HealFromExoSuitChange(pSource, ExoSuitType.Standard))
player.History(RepairFromTerm(vSource, 10, GlobalDefinitions.order_terminal))
player.History(VehicleShieldCharge(vSource, 10))
player.History(PlayerSuicide())
player.History(PlayerSuicide(PlayerSource(player)))
player.LastShot match {
case Some(resolved_projectile) =>