mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-01-20 02:54:46 +00:00
fixed facility occupation recognition
This commit is contained in:
parent
d03954d6a6
commit
9302c1beae
|
|
@ -999,10 +999,17 @@ class ChatOperations(
|
|||
private def captureBaseCurrSoi(
|
||||
session: Session
|
||||
): Iterable[Building] = {
|
||||
val charId = session.player.CharId
|
||||
session.zone.Buildings.values.filter { building =>
|
||||
building.PlayersInSOI.exists(_.CharId == charId)
|
||||
}
|
||||
val player = session.player
|
||||
val positionxy = player.Position.xy
|
||||
session
|
||||
.zone
|
||||
.blockMap
|
||||
.sector(player)
|
||||
.buildingList
|
||||
.filter { building =>
|
||||
val radius = building.Definition.SOIRadius
|
||||
Vector3.DistanceSquared(building.Position.xy, positionxy) < radius * radius
|
||||
}
|
||||
}
|
||||
|
||||
private def captureBaseParamFaction(
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import net.psforever.objects.serverobject.tube.SpawnTube
|
|||
import net.psforever.objects.serverobject.turret.auto.AutomatedTurret
|
||||
import net.psforever.objects.sourcing.{PlayerSource, SourceEntry, VehicleSource}
|
||||
import net.psforever.objects.vital.{InGameHistory, IncarnationActivity, ReconstructionActivity, SpawningActivity}
|
||||
import net.psforever.objects.zones.blockmap.BlockMapEntity
|
||||
import net.psforever.packet.game.{CampaignStatistic, ChangeFireStateMessage_Start, HackState7, MailMessage, ObjectDetectedMessage, SessionStatistic, TriggeredSound}
|
||||
import net.psforever.services.chat.DefaultChannel
|
||||
|
||||
|
|
@ -159,6 +160,18 @@ object ZoningOperations {
|
|||
}
|
||||
}
|
||||
|
||||
def findBuildingsBySoiOccupancy(zone: Zone, obj: PlanetSideGameObject with BlockMapEntity): List[Building] = {
|
||||
val positionxy = obj.Position.xy
|
||||
zone
|
||||
.blockMap
|
||||
.sector(obj)
|
||||
.buildingList
|
||||
.filter { building =>
|
||||
val radius = building.Definition.SOIRadius
|
||||
Vector3.DistanceSquared(building.Position.xy, positionxy) < radius * radius
|
||||
}
|
||||
}
|
||||
|
||||
def findBuildingsBySoiOccupancy(zone: Zone, position: Vector3): List[Building] = {
|
||||
val positionxy = position.xy
|
||||
zone
|
||||
|
|
|
|||
Loading…
Reference in a new issue