mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-03-24 22:39:07 +00:00
Facility Turrets (#223)
* 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
This commit is contained in:
parent
61a51c1dd1
commit
b81ff2bbf4
75 changed files with 2246 additions and 680 deletions
|
|
@ -2,6 +2,7 @@
|
|||
package objects.terminal
|
||||
|
||||
import akka.actor.{ActorRef, ActorSystem, Props}
|
||||
import base.ActorTest
|
||||
import net.psforever.objects.definition.SeatDefinition
|
||||
import net.psforever.objects.serverobject.mount.Mountable
|
||||
import net.psforever.objects.serverobject.implantmech.{ImplantTerminalMech, ImplantTerminalMechControl}
|
||||
|
|
@ -9,7 +10,6 @@ import net.psforever.objects.serverobject.structures.StructureType
|
|||
import net.psforever.objects.vehicles.Seat
|
||||
import net.psforever.objects.{Avatar, GlobalDefinitions, Player}
|
||||
import net.psforever.types.{CharacterGender, CharacterVoice, PlanetSideEmpire, Vector3}
|
||||
import objects.ActorTest
|
||||
import org.specs2.mutable.Specification
|
||||
|
||||
import scala.concurrent.duration.Duration
|
||||
|
|
@ -56,7 +56,7 @@ class ImplantTerminalMechTest extends Specification {
|
|||
}
|
||||
}
|
||||
|
||||
class ImplantTerminalMechControl1Test extends ActorTest() {
|
||||
class ImplantTerminalMechControl1Test extends ActorTest {
|
||||
"ImplantTerminalMechControl" should {
|
||||
"construct" in {
|
||||
val obj = ImplantTerminalMech(GlobalDefinitions.implant_terminal_mech)
|
||||
|
|
@ -66,7 +66,7 @@ class ImplantTerminalMechControl1Test extends ActorTest() {
|
|||
}
|
||||
}
|
||||
|
||||
class ImplantTerminalMechControl2Test extends ActorTest() {
|
||||
class ImplantTerminalMechControl2Test extends ActorTest {
|
||||
"ImplantTerminalMechControl" should {
|
||||
"let a player mount" in {
|
||||
val (player, mech) = ImplantTerminalMechTest.SetUpAgents(PlanetSideEmpire.TR)
|
||||
|
|
@ -85,7 +85,7 @@ class ImplantTerminalMechControl2Test extends ActorTest() {
|
|||
}
|
||||
}
|
||||
|
||||
class ImplantTerminalMechControl3Test extends ActorTest() {
|
||||
class ImplantTerminalMechControl3Test extends ActorTest {
|
||||
import net.psforever.types.CharacterGender
|
||||
"ImplantTerminalMechControl" should {
|
||||
"block a player from mounting" in {
|
||||
|
|
@ -108,7 +108,7 @@ class ImplantTerminalMechControl3Test extends ActorTest() {
|
|||
}
|
||||
}
|
||||
|
||||
class ImplantTerminalMechControl4Test extends ActorTest() {
|
||||
class ImplantTerminalMechControl4Test extends ActorTest {
|
||||
"ImplantTerminalMechControl" should {
|
||||
"dismount player after mounting" in {
|
||||
val (player, mech) = ImplantTerminalMechTest.SetUpAgents(PlanetSideEmpire.TR)
|
||||
|
|
@ -130,7 +130,7 @@ class ImplantTerminalMechControl4Test extends ActorTest() {
|
|||
}
|
||||
}
|
||||
|
||||
class ImplantTerminalMechControl5Test extends ActorTest() {
|
||||
class ImplantTerminalMechControl5Test extends ActorTest {
|
||||
"ImplantTerminalMechControl" should {
|
||||
"block a player from dismounting" in {
|
||||
val (player, mech) = ImplantTerminalMechTest.SetUpAgents(PlanetSideEmpire.TR)
|
||||
|
|
|
|||
|
|
@ -2,16 +2,16 @@
|
|||
package objects.terminal
|
||||
|
||||
import akka.actor.{ActorSystem, Props}
|
||||
import base.ActorTest
|
||||
import net.psforever.objects.serverobject.CommonMessages
|
||||
import net.psforever.objects.{Avatar, GlobalDefinitions, Player}
|
||||
import net.psforever.objects.serverobject.terminals._
|
||||
import net.psforever.packet.game.PlanetSideGUID
|
||||
import net.psforever.types.{CharacterGender, CharacterVoice, PlanetSideEmpire}
|
||||
import objects.ActorTest
|
||||
|
||||
import scala.concurrent.duration.Duration
|
||||
|
||||
class ProximityTerminalControl1Test extends ActorTest() {
|
||||
class ProximityTerminalControl1Test extends ActorTest {
|
||||
"ProximityTerminalControl" should {
|
||||
"construct (medical terminal)" in {
|
||||
val terminal = ProximityTerminal(GlobalDefinitions.medical_terminal)
|
||||
|
|
@ -20,7 +20,7 @@ class ProximityTerminalControl1Test extends ActorTest() {
|
|||
}
|
||||
}
|
||||
|
||||
class ProximityTerminalControl2Test extends ActorTest() {
|
||||
class ProximityTerminalControl2Test extends ActorTest {
|
||||
"ProximityTerminalControl can not process wrong messages" in {
|
||||
val (_, terminal) = TerminalControlTest.SetUpAgents(GlobalDefinitions.medical_terminal, PlanetSideEmpire.TR)
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ class ProximityTerminalControl2Test extends ActorTest() {
|
|||
}
|
||||
|
||||
//terminal control is mostly a pass-through actor for Terminal.Exchange messages, wrapped in Terminal.TerminalMessage protocol
|
||||
class MedicalTerminalControl1Test extends ActorTest() {
|
||||
class MedicalTerminalControl1Test extends ActorTest {
|
||||
"ProximityTerminalControl sends a message to the first new user only" in {
|
||||
val (player, terminal) = ProximityTerminalControlTest.SetUpAgents(GlobalDefinitions.medical_terminal, PlanetSideEmpire.TR)
|
||||
player.GUID = PlanetSideGUID(10)
|
||||
|
|
@ -53,7 +53,7 @@ class MedicalTerminalControl1Test extends ActorTest() {
|
|||
}
|
||||
}
|
||||
|
||||
class MedicalTerminalControl2Test extends ActorTest() {
|
||||
class MedicalTerminalControl2Test extends ActorTest {
|
||||
"ProximityTerminalControl sends a message to the last user only" in {
|
||||
val (player, terminal) : (Player, ProximityTerminal) = ProximityTerminalControlTest.SetUpAgents(GlobalDefinitions.medical_terminal, PlanetSideEmpire.TR)
|
||||
player.GUID = PlanetSideGUID(10)
|
||||
|
|
@ -82,7 +82,7 @@ class MedicalTerminalControl2Test extends ActorTest() {
|
|||
}
|
||||
}
|
||||
|
||||
class MedicalTerminalControl3Test extends ActorTest() {
|
||||
class MedicalTerminalControl3Test extends ActorTest {
|
||||
"ProximityTerminalControl sends a message to the last user only (confirmation of test #2)" in {
|
||||
val (player, terminal) : (Player, ProximityTerminal) = ProximityTerminalControlTest.SetUpAgents(GlobalDefinitions.medical_terminal, PlanetSideEmpire.TR)
|
||||
player.GUID = PlanetSideGUID(10)
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@
|
|||
package objects.terminal
|
||||
|
||||
import akka.actor.Props
|
||||
import base.ActorTest
|
||||
import net.psforever.objects.serverobject.CommonMessages
|
||||
import net.psforever.objects.serverobject.terminals.Terminal.TerminalMessage
|
||||
import net.psforever.objects.serverobject.terminals.{ProximityTerminal, ProximityTerminalControl, ProximityUnit, Terminal}
|
||||
import net.psforever.objects.{Avatar, GlobalDefinitions, Player}
|
||||
import net.psforever.packet.game.PlanetSideGUID
|
||||
import net.psforever.types.{CharacterGender, CharacterVoice, PlanetSideEmpire}
|
||||
import objects.ActorTest
|
||||
import org.specs2.mutable.Specification
|
||||
|
||||
import scala.concurrent.duration._
|
||||
|
|
|
|||
|
|
@ -2,17 +2,17 @@
|
|||
package objects.terminal
|
||||
|
||||
import akka.actor.{ActorSystem, Props}
|
||||
import base.ActorTest
|
||||
import net.psforever.objects.serverobject.structures.{Building, StructureType}
|
||||
import net.psforever.objects.serverobject.terminals.{Terminal, TerminalControl, TerminalDefinition}
|
||||
import net.psforever.objects.zones.Zone
|
||||
import net.psforever.objects.{Avatar, GlobalDefinitions, Player}
|
||||
import net.psforever.packet.game.{ItemTransactionMessage, PlanetSideGUID}
|
||||
import net.psforever.types._
|
||||
import objects.ActorTest
|
||||
|
||||
import scala.concurrent.duration.Duration
|
||||
|
||||
class TerminalControl1Test extends ActorTest() {
|
||||
class TerminalControl1Test extends ActorTest {
|
||||
"TerminalControl" should {
|
||||
"construct (cert terminal)" in {
|
||||
val terminal = Terminal(GlobalDefinitions.cert_terminal)
|
||||
|
|
@ -21,7 +21,7 @@ class TerminalControl1Test extends ActorTest() {
|
|||
}
|
||||
}
|
||||
|
||||
class TerminalControl2Test extends ActorTest() {
|
||||
class TerminalControl2Test extends ActorTest {
|
||||
"TerminalControl can not process wrong messages" in {
|
||||
val (_, terminal) = TerminalControlTest.SetUpAgents(GlobalDefinitions.cert_terminal, PlanetSideEmpire.TR)
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ class TerminalControl2Test extends ActorTest() {
|
|||
|
||||
//terminal control is mostly a pass-through actor for Terminal.Exchange messages, wrapped in Terminal.TerminalMessage protocol
|
||||
//test for Cert_Terminal messages (see CertTerminalTest)
|
||||
class CertTerminalControl1Test extends ActorTest() {
|
||||
class CertTerminalControl1Test extends ActorTest {
|
||||
"TerminalControl can be used to learn a certification ('medium_assault')" in {
|
||||
val (player, terminal) = TerminalControlTest.SetUpAgents(GlobalDefinitions.cert_terminal, PlanetSideEmpire.TR)
|
||||
val msg = ItemTransactionMessage(PlanetSideGUID(1), TransactionType.Learn, 0, "medium_assault", 0, PlanetSideGUID(0))
|
||||
|
|
@ -47,7 +47,7 @@ class CertTerminalControl1Test extends ActorTest() {
|
|||
}
|
||||
}
|
||||
|
||||
class CertTerminalControl2Test extends ActorTest() {
|
||||
class CertTerminalControl2Test extends ActorTest {
|
||||
"TerminalControl can be used to warn about not learning a fake certification ('juggling')" in {
|
||||
val (player, terminal) = TerminalControlTest.SetUpAgents(GlobalDefinitions.cert_terminal, PlanetSideEmpire.TR)
|
||||
val msg = ItemTransactionMessage(PlanetSideGUID(1), TransactionType.Learn, 0, "juggling", 0, PlanetSideGUID(0))
|
||||
|
|
@ -62,7 +62,7 @@ class CertTerminalControl2Test extends ActorTest() {
|
|||
}
|
||||
}
|
||||
|
||||
class CertTerminalControl3Test extends ActorTest() {
|
||||
class CertTerminalControl3Test extends ActorTest {
|
||||
"TerminalControl can be used to forget a certification ('medium_assault')" in {
|
||||
val (player, terminal) = TerminalControlTest.SetUpAgents(GlobalDefinitions.cert_terminal, PlanetSideEmpire.TR)
|
||||
val msg = ItemTransactionMessage(PlanetSideGUID(1), TransactionType.Sell, 0, "medium_assault", 0, PlanetSideGUID(0))
|
||||
|
|
@ -77,7 +77,7 @@ class CertTerminalControl3Test extends ActorTest() {
|
|||
}
|
||||
}
|
||||
|
||||
class VehicleTerminalControl1Test extends ActorTest() {
|
||||
class VehicleTerminalControl1Test extends ActorTest {
|
||||
"TerminalControl can be used to buy a vehicle ('two_man_assault_buggy')" in {
|
||||
val (player, terminal) = TerminalControlTest.SetUpAgents(GlobalDefinitions.ground_vehicle_terminal, PlanetSideEmpire.TR)
|
||||
val msg = ItemTransactionMessage(PlanetSideGUID(1), TransactionType.Buy, 0, "two_man_assault_buggy", 0, PlanetSideGUID(0))
|
||||
|
|
@ -102,7 +102,7 @@ class VehicleTerminalControl1Test extends ActorTest() {
|
|||
}
|
||||
}
|
||||
|
||||
class VehicleTerminalControl2Test extends ActorTest() {
|
||||
class VehicleTerminalControl2Test extends ActorTest {
|
||||
"TerminalControl can be used to warn about not buy a vehicle ('harasser')" in {
|
||||
val (player, terminal) = TerminalControlTest.SetUpAgents(GlobalDefinitions.ground_vehicle_terminal, PlanetSideEmpire.TR)
|
||||
val msg = ItemTransactionMessage(PlanetSideGUID(1), TransactionType.Buy, 0, "harasser", 0, PlanetSideGUID(0))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue