mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-03-04 12:40:20 +00:00
more tests for the proximity amenities; added the other silo in Anguta, Ceryshen and the terminal-facing silo in home3; initial work on FacilityBenefitShieldCharge packet and tests
This commit is contained in:
parent
a513f4996e
commit
e9aac5514a
18 changed files with 252 additions and 164 deletions
|
|
@ -7,7 +7,7 @@ import net.psforever.objects.serverobject.locks.IFFLock
|
|||
import net.psforever.objects.serverobject.mblocker.Locker
|
||||
import net.psforever.objects.serverobject.pad.VehicleSpawnPad
|
||||
import net.psforever.objects.serverobject.structures.{Building, FoundationBuilder, StructureType, WarpGate}
|
||||
import net.psforever.objects.serverobject.terminals.{ProximityTerminal, RepairRearmSilo, Terminal}
|
||||
import net.psforever.objects.serverobject.terminals.{ProximityTerminal, Terminal}
|
||||
import net.psforever.objects.serverobject.tube.SpawnTube
|
||||
import net.psforever.types.Vector3
|
||||
|
||||
|
|
@ -113,8 +113,10 @@ object Maps {
|
|||
LocalObject(2145, SpawnTube.Constructor(Vector3(3980.4062f, 4252.7656f, 257.5625f), Vector3(0, 0, 90)))
|
||||
LocalObject(2146, SpawnTube.Constructor(Vector3(3980.4062f, 4259.992f, 257.5625f), Vector3(0, 0, 90)))
|
||||
LocalObject(2147, SpawnTube.Constructor(Vector3(3980.4062f, 4267.3047f, 257.5625f), Vector3(0, 0, 90)))
|
||||
LocalObject(2050, RepairRearmSilo.Constructor(repair_silo))
|
||||
LocalObject(2062, RepairRearmSilo.Constructor(repair_silo))
|
||||
LocalObject(2049, ProximityTerminal.Constructor(repair_silo)) //repair terminal A
|
||||
LocalObject(2050, Terminal.Constructor(repair_silo)) //rearm terminal A
|
||||
LocalObject(2061, ProximityTerminal.Constructor(repair_silo)) //repair terminal B
|
||||
LocalObject(2062, Terminal.Constructor(repair_silo)) //rearm terminal B
|
||||
LocalObject(2239, Terminal.Constructor(spawn_terminal))
|
||||
LocalObject(2244, Terminal.Constructor(spawn_terminal))
|
||||
LocalObject(2245, Terminal.Constructor(spawn_terminal))
|
||||
|
|
@ -216,7 +218,9 @@ object Maps {
|
|||
ObjectToBuilding(1576, 2)
|
||||
ObjectToBuilding(1577, 2)
|
||||
ObjectToBuilding(1578, 2)
|
||||
ObjectToBuilding(2049, 2)
|
||||
ObjectToBuilding(2050, 2)
|
||||
ObjectToBuilding(2061, 2)
|
||||
ObjectToBuilding(2062, 2)
|
||||
ObjectToBuilding(2145, 2)
|
||||
ObjectToBuilding(2146, 2)
|
||||
|
|
@ -432,6 +436,8 @@ object Maps {
|
|||
def Building2() : Unit = {
|
||||
//HART building C
|
||||
LocalBuilding(2, FoundationBuilder(Building.Structure(StructureType.Building)))
|
||||
LocalObject(12, ProximityTerminal.Constructor(repair_silo)) //repair terminal A
|
||||
LocalObject(13, Terminal.Constructor(repair_silo)) //rearm terminal A //ItemTransaction: ItemTransactionMessage(PlanetSideGUID(2050),Buy,3,25mmbullet,0,PlanetSideGUID(0))
|
||||
LocalObject(186, Terminal.Constructor(cert_terminal))
|
||||
LocalObject(187, Terminal.Constructor(cert_terminal))
|
||||
LocalObject(188, Terminal.Constructor(cert_terminal))
|
||||
|
|
@ -479,6 +485,8 @@ object Maps {
|
|||
LocalObject(1087, Terminal.Constructor(implant_terminal_interface)) //TODO guid not correct
|
||||
LocalObject(1088, Terminal.Constructor(implant_terminal_interface)) //TODO guid not correct
|
||||
LocalObject(1089, Terminal.Constructor(implant_terminal_interface)) //TODO guid not correct
|
||||
ObjectToBuilding(12, 2)
|
||||
ObjectToBuilding(13, 2)
|
||||
ObjectToBuilding(186, 2)
|
||||
ObjectToBuilding(187, 2)
|
||||
ObjectToBuilding(188, 2)
|
||||
|
|
|
|||
|
|
@ -1104,7 +1104,7 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
|||
vehicleService ! VehicleServiceMessage.UnscheduleDeconstruction(vehicle_guid)
|
||||
}
|
||||
sendResponse(PlanetsideAttributeMessage(vehicle_guid, 22, 0L)) //mount points on?
|
||||
//sendResponse(PlanetsideAttributeMessage(vehicle_guid, 0, vehicle.Definition.MaxHealth)))
|
||||
sendResponse(PlanetsideAttributeMessage(vehicle_guid, 0, 10))//vehicle.Definition.MaxHealth))
|
||||
sendResponse(PlanetsideAttributeMessage(vehicle_guid, 68, 0L)) //???
|
||||
sendResponse(PlanetsideAttributeMessage(vehicle_guid, 113, 0L)) //???
|
||||
ReloadVehicleAccessPermissions(vehicle)
|
||||
|
|
@ -2327,21 +2327,20 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
|||
}
|
||||
}
|
||||
|
||||
case Some(obj : RepairRearmSilo) =>
|
||||
player.VehicleSeated match {
|
||||
case Some(vehicle_guid) =>
|
||||
val vehicle = continent.GUID(vehicle_guid).get.asInstanceOf[Vehicle]
|
||||
sendResponse(UseItemMessage(avatar_guid, unk1, object_guid, unk2, unk3, unk4, unk5, unk6, unk7, unk8, itemType))
|
||||
sendResponse(UseItemMessage(avatar_guid, unk1, vehicle_guid, unk2, unk3, unk4, unk5, unk6, unk7, unk8, vehicle.Definition.ObjectId))
|
||||
case None =>
|
||||
log.error("UseItem: expected seated vehicle, but found none")
|
||||
}
|
||||
|
||||
case Some(obj : Terminal) =>
|
||||
if(obj.Definition.isInstanceOf[MatrixTerminalDefinition]) {
|
||||
//TODO matrix spawn point; for now, just blindly bind to show work (and hope nothing breaks)
|
||||
sendResponse(BindPlayerMessage(1, "@ams", true, true, 0, 0, 0, obj.Position))
|
||||
}
|
||||
else if(obj.Definition == GlobalDefinitions.repair_silo) {
|
||||
FindLocalVehicle match {
|
||||
case Some(vehicle) =>
|
||||
sendResponse(UseItemMessage(avatar_guid, unk1, object_guid, unk2, unk3, unk4, unk5, unk6, unk7, unk8, itemType))
|
||||
sendResponse(UseItemMessage(avatar_guid, unk1, vehicle.GUID, unk2, unk3, unk4, unk5, unk6, unk7, unk8, vehicle.Definition.ObjectId))
|
||||
case None =>
|
||||
log.error("UseItem: expected seated vehicle, but found none")
|
||||
}
|
||||
}
|
||||
else {
|
||||
sendResponse(UseItemMessage(avatar_guid, unk1, object_guid, unk2, unk3, unk4, unk5, unk6, unk7, unk8, itemType))
|
||||
}
|
||||
|
|
@ -2368,7 +2367,7 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
|||
}
|
||||
|
||||
case msg @ ProximityTerminalUseMessage(player_guid, object_guid, _) =>
|
||||
log.info(s"ProximityTerminal: $msg")
|
||||
log.info(s"ProximityTerminalUse: $msg")
|
||||
continent.GUID(object_guid) match {
|
||||
case Some(obj : Terminal with ProximityUnit) =>
|
||||
if(usingProximityTerminal.contains(object_guid)) {
|
||||
|
|
@ -2378,7 +2377,7 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
|||
StartUsingProximityUnit(obj)
|
||||
}
|
||||
case Some(obj) => ;
|
||||
log.warn(s"ProximityTerminalUse: object is not a proximity terminal - $obj")
|
||||
log.warn(s"ProximityTerminalUse: object does not have proximity effects - $obj")
|
||||
case None =>
|
||||
log.warn(s"ProximityTerminalUse: no object with guid $object_guid found")
|
||||
}
|
||||
|
|
@ -2438,14 +2437,16 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
|||
else {
|
||||
None
|
||||
}) match {
|
||||
case Some(owner : Player) =>
|
||||
case Some(owner : Player) => //InfantryLoadout
|
||||
avatar.SaveLoadout(owner, name, lineno)
|
||||
case Some(owner : Vehicle) =>
|
||||
import InfantryLoadout._
|
||||
sendResponse(FavoritesMessage(list, player_guid, line, name, DetermineSubtypeB(player.ExoSuit, DetermineSubtype(player))))
|
||||
case Some(owner : Vehicle) => //VehicleLoadout
|
||||
avatar.SaveLoadout(owner, name, lineno)
|
||||
sendResponse(FavoritesMessage(list, player_guid, line, name))
|
||||
case Some(_) | None =>
|
||||
log.error("FavoritesRequest: unexpected owner for favorites")
|
||||
}
|
||||
sendResponse(FavoritesMessage(list, player_guid, line, name))
|
||||
|
||||
case FavoritesAction.Delete =>
|
||||
avatar.DeleteLoadout(lineno)
|
||||
|
|
@ -2637,6 +2638,9 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
|||
sendResponse(PlanetsideAttributeMessage(object_guid, attribute_type, attribute_value))
|
||||
}
|
||||
|
||||
case msg @ FacilityBenefitShieldChargeRequestMessage(guid) =>
|
||||
//log.info(s"ShieldChargeRequest: $msg")
|
||||
|
||||
case msg @ BattleplanMessage(char_id, player_name, zonr_id, diagrams) =>
|
||||
log.info("Battleplan: "+msg)
|
||||
|
||||
|
|
@ -4193,6 +4197,10 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
|||
SetDelayedProximityUnitReset(terminal)
|
||||
ProximityHealCrystal(terminal)
|
||||
|
||||
case GlobalDefinitions.repair_silo =>
|
||||
SetDelayedProximityUnitReset(terminal)
|
||||
//TODO insert vehicle repair here; see ProximityMedicalTerminal for example
|
||||
|
||||
case _ => ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue