mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-01-19 18:44:45 +00:00
just one os please
This commit is contained in:
parent
95b8b34594
commit
c9b13394e9
|
|
@ -94,6 +94,7 @@ class WeaponAndProjectileOperations(
|
||||||
var shooting: mutable.Set[PlanetSideGUID] = mutable.Set.empty //ChangeFireStateMessage_Start
|
var shooting: mutable.Set[PlanetSideGUID] = mutable.Set.empty //ChangeFireStateMessage_Start
|
||||||
var prefire: mutable.Set[PlanetSideGUID] = mutable.Set.empty //if WeaponFireMessage precedes ChangeFireStateMessage_Start
|
var prefire: mutable.Set[PlanetSideGUID] = mutable.Set.empty //if WeaponFireMessage precedes ChangeFireStateMessage_Start
|
||||||
private[session] var orbitalStrikePos: Option[Vector3] = None
|
private[session] var orbitalStrikePos: Option[Vector3] = None
|
||||||
|
private[session] var orbitalStrikeInProgress: Boolean = false
|
||||||
private[session] var shootingStart: mutable.HashMap[PlanetSideGUID, Long] = mutable.HashMap[PlanetSideGUID, Long]()
|
private[session] var shootingStart: mutable.HashMap[PlanetSideGUID, Long] = mutable.HashMap[PlanetSideGUID, Long]()
|
||||||
private[session] var shootingStop: mutable.HashMap[PlanetSideGUID, Long] = mutable.HashMap[PlanetSideGUID, Long]()
|
private[session] var shootingStop: mutable.HashMap[PlanetSideGUID, Long] = mutable.HashMap[PlanetSideGUID, Long]()
|
||||||
private[session] val shotsFired: mutable.HashMap[Int,Int] = mutable.HashMap[Int,Int]()
|
private[session] val shotsFired: mutable.HashMap[Int,Int] = mutable.HashMap[Int,Int]()
|
||||||
|
|
@ -335,6 +336,8 @@ class WeaponAndProjectileOperations(
|
||||||
sendResponse(UplinkResponse(code.value, 0))
|
sendResponse(UplinkResponse(code.value, 0))
|
||||||
orbitalStrikePos = pos
|
orbitalStrikePos = pos
|
||||||
case UplinkRequestType.Unknown5 =>
|
case UplinkRequestType.Unknown5 =>
|
||||||
|
if (!orbitalStrikeInProgress) {
|
||||||
|
orbitalStrikeInProgress = true
|
||||||
val cr = player.avatar.cr.value
|
val cr = player.avatar.cr.value
|
||||||
val strikeType = playerFaction match {
|
val strikeType = playerFaction match {
|
||||||
case PlanetSideEmpire.NC =>
|
case PlanetSideEmpire.NC =>
|
||||||
|
|
@ -359,13 +362,18 @@ class WeaponAndProjectileOperations(
|
||||||
player.Zone.LocalEvents ! LocalServiceMessage(s"$playerFaction", LocalAction.SendPacket(OrbitalStrikeWaypointMessage(player.GUID, None)))
|
player.Zone.LocalEvents ! LocalServiceMessage(s"$playerFaction", LocalAction.SendPacket(OrbitalStrikeWaypointMessage(player.GUID, None)))
|
||||||
context.system.scheduler.scheduleOnce(delay = 5 seconds) {
|
context.system.scheduler.scheduleOnce(delay = 5 seconds) {
|
||||||
val sectorTargets = Zone.findOrbitalStrikeTargets(player.Zone, orbitalStrikePos.get, osSize.DamageRadius, Zone.getOrbitbalStrikeTargets)
|
val sectorTargets = Zone.findOrbitalStrikeTargets(player.Zone, orbitalStrikePos.get, osSize.DamageRadius, Zone.getOrbitbalStrikeTargets)
|
||||||
val withinRange = sectorTargets.filter {target => Zone.orbitalStrikeDistanceCheck(orbitalStrikePos.get, target.Position, osSize.DamageRadius)}
|
val withinRange = sectorTargets.filter { target => Zone.orbitalStrikeDistanceCheck(orbitalStrikePos.get, target.Position, osSize.DamageRadius) }
|
||||||
withinRange.foreach { target =>
|
withinRange.foreach { target =>
|
||||||
target.Actor ! Vitality.Damage(DamageInteraction(SourceEntry(target), OrbitalStrike(PlayerSource(player)), target.Position).calculate())
|
target.Actor ! Vitality.Damage(DamageInteraction(SourceEntry(target), OrbitalStrike(PlayerSource(player)), target.Position).calculate())
|
||||||
}
|
}
|
||||||
orbitalStrikePos = None
|
orbitalStrikePos = None
|
||||||
|
orbitalStrikeInProgress = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
sendResponse(UplinkResponse(code.value, 0))
|
||||||
|
}
|
||||||
case _ => ()
|
case _ => ()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue