Akna Air Tower, Ceryshen, has its amenities wired. The default spawn point has been moved to allow for the tower at Akna to interfere with the tower at Anguta.

This commit is contained in:
FateJH 2018-03-29 23:45:11 -04:00
parent ddc2450541
commit 7f40b31a34
4 changed files with 538 additions and 435 deletions

View file

@ -26,4 +26,8 @@ class DisconnectMessageTest extends Specification {
pkt mustEqual string pkt mustEqual string
} }
"comparison" in {
DisconnectMessage("First") mustEqual DisconnectMessage("First", "", "")
}
} }

View file

@ -23,7 +23,15 @@ object Maps {
val map5 = new ZoneMap("map05") val map5 = new ZoneMap("map05")
val map6 = new ZoneMap("map06") { val map6 = new ZoneMap("map06") {
LocalBuilding(2, FoundationBuilder(Building.Structure(StructureType.Facility, Vector3(3974.2344f, 4287.914f, 0)))) //Anguta Building2()
Building38()
Building42()
Building48()
Building49()
def Building2() : Unit = {
//Anguta
LocalBuilding(2, FoundationBuilder(Building.Structure(StructureType.Facility, Vector3(3974.2344f, 4287.914f, 0))))
LocalObject(222, Door.Constructor) //air term building, bay door LocalObject(222, Door.Constructor) //air term building, bay door
LocalObject(370, Door.Constructor) //courtyard LocalObject(370, Door.Constructor) //courtyard
LocalObject(371, Door.Constructor) //courtyard LocalObject(371, Door.Constructor) //courtyard
@ -192,18 +200,27 @@ object Maps {
ObjectToBuilding(501, 2) ObjectToBuilding(501, 2)
TerminalToSpawnPad(224, 501) TerminalToSpawnPad(224, 501)
TerminalToSpawnPad(2419, 500) TerminalToSpawnPad(2419, 500)
}
LocalBuilding(38, FoundationBuilder(Building.Structure(StructureType.Bunker))) //Anguta, West Bunker def Building38() : Unit = {
//Anguta, West Bunker
LocalBuilding(38, FoundationBuilder(Building.Structure(StructureType.Bunker)))
LocalObject(362, Door.Constructor) LocalObject(362, Door.Constructor)
ObjectToBuilding(362, 38) ObjectToBuilding(362, 38)
}
LocalBuilding(42, FoundationBuilder(Building.Structure(StructureType.Bunker))) //Anguta, East Bunker(s) def Building42() : Unit = {
//Anguta, East Bunker(s)
LocalBuilding(42, FoundationBuilder(Building.Structure(StructureType.Bunker)))
LocalObject(407, Door.Constructor) LocalObject(407, Door.Constructor)
LocalObject(408, Door.Constructor) LocalObject(408, Door.Constructor)
ObjectToBuilding(407, 42) ObjectToBuilding(407, 42)
ObjectToBuilding(408, 42) ObjectToBuilding(408, 42)
}
LocalBuilding(48, FoundationBuilder(Building.Structure(StructureType.Tower, Vector3(3864.2266f, 4518.0234f, 0)))) //North Anguta Watchtower def Building48() : Unit = {
//North Anguta Watchtower
LocalBuilding(48, FoundationBuilder(Building.Structure(StructureType.Tower, Vector3(3864.2266f, 4518.0234f, 0))))
LocalObject(364, Door.Constructor(Vector3(3871.9688f, 4509.992f, 269.65625f), Vector3(0f, 0f, 180f))) //s1 LocalObject(364, Door.Constructor(Vector3(3871.9688f, 4509.992f, 269.65625f), Vector3(0f, 0f, 180f))) //s1
LocalObject(365, Door.Constructor(Vector3(3871.9688f, 4509.992f, 279.57812f), Vector3(0f, 0f, 180f))) //s2 LocalObject(365, Door.Constructor(Vector3(3871.9688f, 4509.992f, 279.57812f), Vector3(0f, 0f, 180f))) //s2
LocalObject(366, Door.Constructor(Vector3(3871.9688f, 4509.992f, 299.57812f), Vector3(0f, 0f, 180f))) //s3 LocalObject(366, Door.Constructor(Vector3(3871.9688f, 4509.992f, 299.57812f), Vector3(0f, 0f, 180f))) //s3
@ -266,6 +283,60 @@ object Maps {
DoorToLock(369, 856) DoorToLock(369, 856)
} }
def Building49() : Unit = {
//North Akna Air Tower
LocalBuilding(49, FoundationBuilder(Building.Structure(StructureType.Tower, Vector3(3864.2266f, 4518.0234f, 0))))
LocalObject(430, Door.Constructor(Vector3(4366.0156f, 3981.9922f, 237.96875f), Vector3(0f, 0f, 180f))) //s1
LocalObject(431, Door.Constructor(Vector3(4366.0156f, 3981.9922f, 257.89062f), Vector3(0f, 0f, 180f))) //s2
LocalObject(432, Door.Constructor(Vector3(4366.0156f, 3997.9297f, 237.96875f), Vector3(0f, 0f, 0f))) //n1
LocalObject(433, Door.Constructor(Vector3(4366.0156f, 3997.9297f, 257.89062f), Vector3(0f, 0f, 0f))) //n2
LocalObject(902, IFFLock.Constructor)
LocalObject(903, IFFLock.Constructor)
LocalObject(906, IFFLock.Constructor)
LocalObject(907, IFFLock.Constructor)
LocalObject(1217, Locker.Constructor)
LocalObject(1218, Locker.Constructor)
LocalObject(1219, Locker.Constructor)
LocalObject(1220, Locker.Constructor)
LocalObject(1225, Locker.Constructor)
LocalObject(1226, Locker.Constructor)
LocalObject(1227, Locker.Constructor)
LocalObject(1228, Locker.Constructor)
LocalObject(1591, Terminal.Constructor(order_terminal))
LocalObject(1592, Terminal.Constructor(order_terminal))
LocalObject(1593, Terminal.Constructor(order_terminal))
LocalObject(2156, SpawnTube.Constructor(respawn_tube_tower, Vector3(4364.633f, 3994.125f, 228.1875f), Vector3(0, 0, 90)))
LocalObject(2157, SpawnTube.Constructor(respawn_tube_tower, Vector3(4364.633f, 3977.7266f, 228.1875f), Vector3(0, 0, 90)))
LocalObject(2333, Door.Constructor) //spawn tube door
LocalObject(2334, Door.Constructor) //spawn tube door
ObjectToBuilding(430, 49)
ObjectToBuilding(431, 49)
ObjectToBuilding(432, 49)
ObjectToBuilding(433, 49)
ObjectToBuilding(902, 49)
ObjectToBuilding(903, 49)
ObjectToBuilding(906, 49)
ObjectToBuilding(907, 49)
ObjectToBuilding(1217, 49)
ObjectToBuilding(1218, 49)
ObjectToBuilding(1219, 49)
ObjectToBuilding(1220, 49)
ObjectToBuilding(1225, 49)
ObjectToBuilding(1226, 49)
ObjectToBuilding(1227, 49)
ObjectToBuilding(1228, 49)
ObjectToBuilding(1591, 49)
ObjectToBuilding(1592, 49)
ObjectToBuilding(1593, 49)
ObjectToBuilding(2333, 49)
ObjectToBuilding(2334, 49)
DoorToLock(430, 906)
DoorToLock(431, 907)
DoorToLock(432, 902)
DoorToLock(433, 903)
}
}
val map7 = new ZoneMap("map07") val map7 = new ZoneMap("map07")
val map8 = new ZoneMap("map08") val map8 = new ZoneMap("map08")
@ -279,14 +350,29 @@ object Maps {
val map12 = new ZoneMap("map12") val map12 = new ZoneMap("map12")
val map13 = new ZoneMap("map13") { val map13 = new ZoneMap("map13") {
Building1()
Building2()
Building3()
Building29()
Building42()
Building51()
Building77()
def Building1() : Unit = {
LocalBuilding(1, FoundationBuilder(WarpGate.Structure)) LocalBuilding(1, FoundationBuilder(WarpGate.Structure))
LocalBuilding(2, FoundationBuilder(WarpGate.Structure)) }
def Building3() : Unit = {
LocalBuilding(3, FoundationBuilder(WarpGate.Structure)) LocalBuilding(3, FoundationBuilder(WarpGate.Structure))
}
LocalObject(520, ImplantTerminalMech.Constructor) //Hart B // LocalBuilding(2, FoundationBuilder(WarpGate.Structure)) //TODO might be wrong?
LocalObject(1081, Terminal.Constructor(implant_terminal_interface)) //tube 520
TerminalToInterface(520, 1081)
// LocalObject(520, ImplantTerminalMech.Constructor) //Hart B
// LocalObject(1081, Terminal.Constructor(implant_terminal_interface)) //tube 520
// TerminalToInterface(520, 1081)
def Building2() : Unit = {
LocalBuilding(2, FoundationBuilder(Building.Structure(StructureType.Building))) //HART building C LocalBuilding(2, FoundationBuilder(Building.Structure(StructureType.Building))) //HART building C
LocalObject(186, Terminal.Constructor(cert_terminal)) LocalObject(186, Terminal.Constructor(cert_terminal))
LocalObject(187, Terminal.Constructor(cert_terminal)) LocalObject(187, Terminal.Constructor(cert_terminal))
@ -382,7 +468,9 @@ object Maps {
TerminalToInterface(527, 1087) TerminalToInterface(527, 1087)
TerminalToInterface(528, 1088) TerminalToInterface(528, 1088)
TerminalToInterface(529, 1089) TerminalToInterface(529, 1089)
}
def Building29() : Unit = {
LocalBuilding(29, FoundationBuilder(Building.Structure(StructureType.Tower))) //South Villa Gun Tower LocalBuilding(29, FoundationBuilder(Building.Structure(StructureType.Tower))) //South Villa Gun Tower
LocalObject(330, Door.Constructor(Vector3(3979.9219f, 2592.0547f, 91.140625f), Vector3(0, 0, 180))) LocalObject(330, Door.Constructor(Vector3(3979.9219f, 2592.0547f, 91.140625f), Vector3(0, 0, 180)))
LocalObject(331, Door.Constructor(Vector3(3979.9219f, 2592.0547f, 111.140625f), Vector3(0, 0, 180))) LocalObject(331, Door.Constructor(Vector3(3979.9219f, 2592.0547f, 111.140625f), Vector3(0, 0, 180)))
@ -404,7 +492,9 @@ object Maps {
DoorToLock(331, 559) DoorToLock(331, 559)
DoorToLock(332, 556) DoorToLock(332, 556)
DoorToLock(333, 557) DoorToLock(333, 557)
}
def Building42() : Unit = {
LocalBuilding(42, FoundationBuilder(Building.Structure(StructureType.Building, Vector3(1, 0, 0)))) //spawn building south of HART C LocalBuilding(42, FoundationBuilder(Building.Structure(StructureType.Building, Vector3(1, 0, 0)))) //spawn building south of HART C
LocalObject(258, Door.Constructor) //spawn tube door LocalObject(258, Door.Constructor) //spawn tube door
LocalObject(259, Door.Constructor) //spawn tube door LocalObject(259, Door.Constructor) //spawn tube door
@ -458,7 +548,9 @@ object Maps {
ObjectToBuilding(855, 42) ObjectToBuilding(855, 42)
ObjectToBuilding(859, 42) ObjectToBuilding(859, 42)
ObjectToBuilding(860, 42) ObjectToBuilding(860, 42)
}
def Building51() : Unit = {
LocalBuilding(51, FoundationBuilder(Building.Structure(StructureType.Platform))) //air terminal west of HART C LocalBuilding(51, FoundationBuilder(Building.Structure(StructureType.Platform))) //air terminal west of HART C
LocalObject(304, Terminal.Constructor(dropship_vehicle_terminal)) LocalObject(304, Terminal.Constructor(dropship_vehicle_terminal))
LocalObject(292, LocalObject(292,
@ -467,7 +559,9 @@ object Maps {
ObjectToBuilding(304, 51) ObjectToBuilding(304, 51)
ObjectToBuilding(292, 51) ObjectToBuilding(292, 51)
TerminalToSpawnPad(304, 292) TerminalToSpawnPad(304, 292)
}
def Building77() : Unit = {
LocalBuilding(77, FoundationBuilder(Building.Structure(StructureType.Platform))) //ground terminal west of HART C LocalBuilding(77, FoundationBuilder(Building.Structure(StructureType.Platform))) //ground terminal west of HART C
LocalObject(1063, Terminal.Constructor(ground_vehicle_terminal)) LocalObject(1063, Terminal.Constructor(ground_vehicle_terminal))
LocalObject(706, LocalObject(706,
@ -477,6 +571,7 @@ object Maps {
ObjectToBuilding(706, 77) ObjectToBuilding(706, 77)
TerminalToSpawnPad(1063, 706) TerminalToSpawnPad(1063, 706)
} }
}
val map14 = new ZoneMap("map13") val map14 = new ZoneMap("map13")

View file

@ -72,8 +72,8 @@ class WorldSessionActor extends Actor with MDCContextAware {
override def postStop() = { override def postStop() = {
clientKeepAlive.cancel clientKeepAlive.cancel
progressBarUpdate.cancel
reviveTimer.cancel reviveTimer.cancel
PlayerActionsToCancel() //progressBarUpdate.cancel
localService ! Service.Leave() localService ! Service.Leave()
vehicleService ! Service.Leave() vehicleService ! Service.Leave()
avatarService ! Service.Leave() avatarService ! Service.Leave()
@ -1299,8 +1299,9 @@ class WorldSessionActor extends Actor with MDCContextAware {
AwardBattleExperiencePoints(avatar, 1000000L) AwardBattleExperiencePoints(avatar, 1000000L)
player = new Player(avatar) player = new Player(avatar)
//player.Position = Vector3(3561.0f, 2854.0f, 90.859375f) //home3, HART C //player.Position = Vector3(3561.0f, 2854.0f, 90.859375f) //home3, HART C
player.Position = Vector3(3881.9688f, 4432.008f, 267.0f) //z6, Anguta / n.tower //player.Orientation = Vector3(0f, 0f, 90f)
player.Orientation = Vector3(0f, 0f, 90f) player.Position = Vector3(4266.0547f, 4046.4844f, 250.23438f) //z6, Akna.tower
player.Orientation = Vector3(0f, 0f, 320f)
// player.ExoSuit = ExoSuitType.MAX //TODO strange issue; divide number above by 10 when uncommenting // player.ExoSuit = ExoSuitType.MAX //TODO strange issue; divide number above by 10 when uncommenting
player.Slot(0).Equipment = SimpleItem(remote_electronics_kit) //Tool(GlobalDefinitions.StandardPistol(player.Faction)) player.Slot(0).Equipment = SimpleItem(remote_electronics_kit) //Tool(GlobalDefinitions.StandardPistol(player.Faction))
player.Slot(2).Equipment = Tool(punisher) //suppressor player.Slot(2).Equipment = Tool(punisher) //suppressor
@ -1350,7 +1351,7 @@ class WorldSessionActor extends Actor with MDCContextAware {
sendResponse(ContinentalLockUpdateMessage(13, PlanetSideEmpire.VS)) // "The VS have captured the VS Sanctuary." sendResponse(ContinentalLockUpdateMessage(13, PlanetSideEmpire.VS)) // "The VS have captured the VS Sanctuary."
sendResponse(ReplicationStreamMessage(5, Some(6), Vector(SquadListing()))) //clear squad list sendResponse(ReplicationStreamMessage(5, Some(6), Vector(SquadListing()))) //clear squad list
sendResponse(PlanetsideAttributeMessage(PlanetSideGUID(0), 112, 1)) //common sendResponse(PlanetsideAttributeMessage(PlanetSideGUID(0), 112, 1)) //common
(0 to 255).foreach(i => { sendResponse(SetEmpireMessage(PlanetSideGUID(i), PlanetSideEmpire.VS)) }) //(0 to 255).foreach(i => { sendResponse(SetEmpireMessage(PlanetSideGUID(i), PlanetSideEmpire.VS)) })
//render Equipment that was dropped into zone before the player arrived //render Equipment that was dropped into zone before the player arrived
continent.EquipmentOnGround.foreach(item => { continent.EquipmentOnGround.foreach(item => {
@ -1899,7 +1900,8 @@ class WorldSessionActor extends Actor with MDCContextAware {
continent.GUID(object_guid) match { continent.GUID(object_guid) match {
case Some(vehicle : Vehicle) => case Some(vehicle : Vehicle) =>
if((player.VehicleOwned.contains(object_guid) && vehicle.Owner.contains(player.GUID)) if((player.VehicleOwned.contains(object_guid) && vehicle.Owner.contains(player.GUID))
|| (player.Faction == vehicle.Faction && (vehicle.Owner.isEmpty || vehicle.Health == 0))) { || (player.Faction == vehicle.Faction
&& ((vehicle.Owner.isEmpty || continent.GUID(vehicle.Owner.get).isEmpty) || vehicle.Health == 0))) {
vehicleService ! VehicleServiceMessage.UnscheduleDeconstruction(object_guid) vehicleService ! VehicleServiceMessage.UnscheduleDeconstruction(object_guid)
vehicleService ! VehicleServiceMessage.RequestDeleteVehicle(vehicle, continent) vehicleService ! VehicleServiceMessage.RequestDeleteVehicle(vehicle, continent)
log.info(s"RequestDestroy: vehicle $object_guid") log.info(s"RequestDestroy: vehicle $object_guid")

View file

@ -25,6 +25,8 @@ object Zones {
Building(42).get.ModelId = 0 Building(42).get.ModelId = 0
Building(48).get.Faction = PlanetSideEmpire.VS Building(48).get.Faction = PlanetSideEmpire.VS
Building(48).get.ModelId = 59 Building(48).get.ModelId = 59
Building(49).get.Faction = PlanetSideEmpire.VS
Building(49).get.ModelId = 69
} }
} }