gate fixes

This commit is contained in:
ScrawnyRonnie 2025-07-06 15:24:07 -04:00
parent a3a57b1e4b
commit b82e0280f6
4 changed files with 26 additions and 9 deletions

View file

@ -1269,6 +1269,7 @@ class ZoningOperations(
ICS.FindZone(_.id == zoneId, context.self) ICS.FindZone(_.id == zoneId, context.self)
)) ))
} else { } else {
vehicle.Velocity = None
sessionLogic.general.unaccessContainer(vehicle) sessionLogic.general.unaccessContainer(vehicle)
LoadZoneCommonTransferActivity() LoadZoneCommonTransferActivity()
player.VehicleSeated = vehicle.GUID player.VehicleSeated = vehicle.GUID
@ -2965,7 +2966,7 @@ class ZoningOperations(
/** /**
* na * na
* @param target player being spawned * @param target player being spawned
* @param position where player is being placed in the game wqrld * @param position where player is being placed in the game world
* @param orientation in what direction the player is facing in the game world * @param orientation in what direction the player is facing in the game world
* @param onThisSide description of the containing environment * @param onThisSide description of the containing environment
* @param goingToZone common designation for the zone * @param goingToZone common designation for the zone

View file

@ -140,8 +140,6 @@ object SpawnPoint {
def CavernGate(innerRadius: Float)(obj: SpawnPoint, target: PlanetSideGameObject): (Vector3, Vector3) = { def CavernGate(innerRadius: Float)(obj: SpawnPoint, target: PlanetSideGameObject): (Vector3, Vector3) = {
val (a, b) = metaGate(obj, target, innerRadius) val (a, b) = metaGate(obj, target, innerRadius)
target match { target match {
case v: Vehicle if GlobalDefinitions.isFlightVehicle(v.Definition) =>
(a.xy + Vector3.z((target.Position.z + a.z) * 0.5f), b)
case m: MountableEntity => case m: MountableEntity =>
m.BailProtection = true m.BailProtection = true
(a + Vector3.z(obj.Definition.UseRadius * 0.5f), b) (a + Vector3.z(obj.Definition.UseRadius * 0.5f), b)
@ -154,7 +152,7 @@ object SpawnPoint {
val (a, b) = metaGate(obj, target, innerRadius) val (a, b) = metaGate(obj, target, innerRadius)
target match { target match {
case v: Vehicle if GlobalDefinitions.isFlightVehicle(v.Definition) => case v: Vehicle if GlobalDefinitions.isFlightVehicle(v.Definition) =>
(a.xy + Vector3.z((target.Position.z + a.z) * 0.5f), b) (a, b)
case _ => case _ =>
(a + Vector3.z(flightlessZOffset), b) (a + Vector3.z(flightlessZOffset), b)
} }

View file

@ -129,8 +129,8 @@ object GlobalDefinitionsBuilding {
hst.NoWarp += colossus_flight hst.NoWarp += colossus_flight
hst.NoWarp += peregrine_gunner hst.NoWarp += peregrine_gunner
hst.NoWarp += peregrine_flight hst.NoWarp += peregrine_flight
hst.SpecificPointFunc = SpawnPoint.CavernGate(innerRadius = 6f) hst.SpecificPointFunc = SpawnPoint.CavernGate(innerRadius = 12f)
warpgate.Name = "warpgate" warpgate.Name = "warpgate"
warpgate.UseRadius = 67.81070029f warpgate.UseRadius = 67.81070029f
warpgate.SOIRadius = 302 //301.8713f warpgate.SOIRadius = 302 //301.8713f
@ -141,8 +141,8 @@ object GlobalDefinitionsBuilding {
warpgate_cavern.UseRadius = 19.72639434f warpgate_cavern.UseRadius = 19.72639434f
warpgate_cavern.SOIRadius = 41 warpgate_cavern.SOIRadius = 41
warpgate_cavern.VehicleAllowance = true warpgate_cavern.VehicleAllowance = true
warpgate_cavern.SpecificPointFunc = SpawnPoint.CavernGate(innerRadius = 4.5f) warpgate_cavern.SpecificPointFunc = SpawnPoint.CavernGate(innerRadius = 12f)
warpgate_small.Name = "warpgate_small" warpgate_small.Name = "warpgate_small"
warpgate_small.UseRadius = 69.03687655f warpgate_small.UseRadius = 69.03687655f
warpgate_small.SOIRadius = 103 warpgate_small.SOIRadius = 103

View file

@ -295,7 +295,25 @@ object Zones {
WarpGate.Structure(Vector3(structure.absX, structure.absY, structure.absZ), GlobalDefinitions.hst) WarpGate.Structure(Vector3(structure.absX, structure.absY, structure.absZ), GlobalDefinitions.hst)
) )
) )
case objectType if warpGateTypes.contains(objectType) => case objectType @ "warpgate_cavern" if warpGateTypes.contains(objectType) =>
zoneMap.addLocalBuilding(
structure.objectName,
structure.guid,
structure.mapId.get,
FoundationBuilder(
WarpGate.Structure(Vector3(structure.absX, structure.absY, structure.absZ), GlobalDefinitions.warpgate_cavern)
)
)
case objectType @ "warpgate_small" if warpGateTypes.contains(objectType) =>
zoneMap.addLocalBuilding(
structure.objectName,
structure.guid,
structure.mapId.get,
FoundationBuilder(
WarpGate.Structure(Vector3(structure.absX, structure.absY, structure.absZ), GlobalDefinitions.warpgate_small)
)
)
case objectType @ "warpgate" if warpGateTypes.contains(objectType) =>
zoneMap.addLocalBuilding( zoneMap.addLocalBuilding(
structure.objectName, structure.objectName,
structure.guid, structure.guid,