mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-03-04 04:50:24 +00:00
Unique Number System Operations (#906)
* propagation of the ask pattern into the unique number actor * TaskWorkflow as a replacement for TaskResolver; includes working tests * AvailabilityPolicy has been changed slightly; number source restriction mechanic has been completely removed * TaskResolver is gone and done and TaskWorkflow replaces it * number pool variety * every zone gets a custom tailored 'environment' number pool, as well as all other number pools; uns involves many more static functions and hard-defined variables * repairs to uns and guidtask tests; worked uns into unops, an actorless version, but did not integrate into server * shuffled around files in the guid package, causing import threshing; wrote extensive comments; repaired tests; classes related to the old unique number system have been removed * created straightforward tasks; simplified number pool actor calls; repaired tests due to modifications to generic pool * bad merge recovery
This commit is contained in:
parent
ce2a3f5422
commit
9841b7e97d
114 changed files with 2323 additions and 3374 deletions
|
|
@ -9,7 +9,7 @@ import net.psforever.actors.zone.ZoneActor
|
|||
import net.psforever.objects.avatar.{Avatar, Certification, PlayerControl}
|
||||
import net.psforever.objects.{ConstructionItem, Deployables, GlobalDefinitions, Player}
|
||||
import net.psforever.objects.ce.{Deployable, DeployedItem}
|
||||
import net.psforever.objects.guid.{NumberPoolHub, TaskResolver}
|
||||
import net.psforever.objects.guid.NumberPoolHub
|
||||
import net.psforever.objects.guid.source.MaxNumberSource
|
||||
import net.psforever.objects.zones.{Zone, ZoneDeployableActor, ZoneMap}
|
||||
import net.psforever.packet.game._
|
||||
|
|
@ -141,7 +141,6 @@ class DeployableBehaviorSetupOwnedP2Test extends FreedContextActorTest {
|
|||
override def Deployables: ActorRef = deployables
|
||||
override def Players = List(avatar)
|
||||
override def LivePlayers = List(player)
|
||||
override def tasks: ActorRef = eventsProbe.ref
|
||||
|
||||
this.actor = new TestProbe(system).ref.toTyped[ZoneActor.Command]
|
||||
}
|
||||
|
|
@ -165,7 +164,7 @@ class DeployableBehaviorSetupOwnedP2Test extends FreedContextActorTest {
|
|||
assert(!avatar.deployables.Contains(jmine), "owned setup test, 2 - avatar already owns deployable")
|
||||
zone.Deployables ! Zone.Deployable.BuildByOwner(jmine, player, citem)
|
||||
//assert(false, "test needs to be fixed")
|
||||
val eventsMsgs = eventsProbe.receiveN(8, 10.seconds)
|
||||
val eventsMsgs = eventsProbe.receiveN(7, 10.seconds)
|
||||
eventsMsgs.head match {
|
||||
case AvatarServiceMessage(
|
||||
"TestCharacter1",
|
||||
|
|
@ -220,11 +219,6 @@ class DeployableBehaviorSetupOwnedP2Test extends FreedContextActorTest {
|
|||
case _ =>
|
||||
assert(false, "owned setup test, 2 - construction tool not deleted")
|
||||
}
|
||||
eventsMsgs(7) match {
|
||||
case TaskResolver.GiveTask(_, _) => ;
|
||||
case _ =>
|
||||
assert(false, "owned setup test, 2 - construction tool not unregistered")
|
||||
}
|
||||
assert(player.Slot(slot = 0).Equipment.isEmpty, "owned setup test, 2 - player hand should be empty")
|
||||
assert(deployableList.contains(jmine), "owned setup test, 2 - deployable not appended to list")
|
||||
assert(avatar.deployables.Contains(jmine), "owned setup test, 2 - avatar does not own deployable")
|
||||
|
|
@ -244,7 +238,6 @@ class DeployableBehaviorDeconstructTest extends ActorTest {
|
|||
GUID(guid)
|
||||
override def AvatarEvents: ActorRef = eventsProbe.ref
|
||||
override def LocalEvents: ActorRef = eventsProbe.ref
|
||||
override def tasks: ActorRef = eventsProbe.ref
|
||||
override def Deployables: ActorRef = deployables
|
||||
|
||||
this.actor = new TestProbe(system).ref.toTyped[ZoneActor.Command]
|
||||
|
|
@ -261,7 +254,7 @@ class DeployableBehaviorDeconstructTest extends ActorTest {
|
|||
assert(deployableList.contains(jmine), "deconstruct test - deployable not appended to list")
|
||||
|
||||
jmine.Actor ! Deployable.Deconstruct()
|
||||
val eventsMsgs = eventsProbe.receiveN(3, 10.seconds)
|
||||
val eventsMsgs = eventsProbe.receiveN(2, 10.seconds)
|
||||
eventsMsgs.head match {
|
||||
case LocalServiceMessage("test", LocalAction.EliminateDeployable(`jmine`, PlanetSideGUID(1), Vector3(1,2,3), 2)) => ;
|
||||
case _ => assert(false, "deconstruct test - not eliminating deployable")
|
||||
|
|
@ -277,10 +270,6 @@ class DeployableBehaviorDeconstructTest extends ActorTest {
|
|||
) => ;
|
||||
case _ => assert(false, "owned deconstruct test - not removing icon")
|
||||
}
|
||||
eventsMsgs(2) match {
|
||||
case TaskResolver.GiveTask(_, _) => ;
|
||||
case _ => assert(false, "deconstruct test - not unregistering deployable")
|
||||
}
|
||||
assert(!deployableList.contains(jmine), "deconstruct test - deployable not removed from list")
|
||||
}
|
||||
}
|
||||
|
|
@ -304,7 +293,6 @@ class DeployableBehaviorDeconstructOwnedTest extends FreedContextActorTest {
|
|||
override def Deployables: ActorRef = deployables
|
||||
override def Players = List(avatar)
|
||||
override def LivePlayers = List(player)
|
||||
override def tasks: ActorRef = eventsProbe.ref
|
||||
|
||||
this.actor = new TestProbe(system).ref.toTyped[ZoneActor.Command]
|
||||
}
|
||||
|
|
@ -324,12 +312,12 @@ class DeployableBehaviorDeconstructOwnedTest extends FreedContextActorTest {
|
|||
"DeployableBehavior" should {
|
||||
"deconstruct and alert owner" in {
|
||||
zone.Deployables ! Zone.Deployable.BuildByOwner(jmine, player, citem)
|
||||
eventsProbe.receiveN(8, 10.seconds)
|
||||
eventsProbe.receiveN(7, 10.seconds)
|
||||
assert(deployableList.contains(jmine), "owned deconstruct test - deployable not appended to list")
|
||||
assert(avatar.deployables.Contains(jmine), "owned deconstruct test - avatar does not own deployable")
|
||||
|
||||
jmine.Actor ! Deployable.Deconstruct()
|
||||
val eventsMsgs = eventsProbe.receiveN(4, 10.seconds)
|
||||
val eventsMsgs = eventsProbe.receiveN(3, 10.seconds)
|
||||
eventsMsgs.head match {
|
||||
case LocalServiceMessage("test", LocalAction.EliminateDeployable(`jmine`, PlanetSideGUID(1), Vector3(1,2,3), 2)) => ;
|
||||
case _ => assert(false, "owned deconstruct test - not eliminating deployable")
|
||||
|
|
@ -349,10 +337,6 @@ class DeployableBehaviorDeconstructOwnedTest extends FreedContextActorTest {
|
|||
) => ;
|
||||
case _ => assert(false, "owned deconstruct test - not removing icon")
|
||||
}
|
||||
eventsMsgs(3) match {
|
||||
case TaskResolver.GiveTask(_, _) => ;
|
||||
case _ => assert(false, "owned deconstruct test - not unregistering deployable")
|
||||
}
|
||||
|
||||
assert(deployableList.isEmpty, "owned deconstruct test - deployable still in list")
|
||||
assert(!avatar.deployables.Contains(jmine), "owned deconstruct test - avatar still owns deployable")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue