mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-07-15 16:34:39 +00:00
cancel zoning, driver rejoin, implant
This commit is contained in:
parent
46b446048d
commit
213943dc1d
3 changed files with 10 additions and 16 deletions
|
|
@ -219,7 +219,7 @@ class SessionData(
|
||||||
if (isMovingPlus) {
|
if (isMovingPlus) {
|
||||||
if (zoning.zoningStatus == Zoning.Status.Deconstructing) {
|
if (zoning.zoningStatus == Zoning.Status.Deconstructing) {
|
||||||
stopDeconstructing()
|
stopDeconstructing()
|
||||||
} else {
|
} else if (zoning.zoningStatus != Zoning.Status.None) {
|
||||||
zoning.CancelZoningProcessWithDescriptiveReason("cancel_motion")
|
zoning.CancelZoningProcessWithDescriptiveReason("cancel_motion")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
package net.psforever.actors.session.support
|
package net.psforever.actors.session.support
|
||||||
|
|
||||||
import akka.actor.{ActorContext, typed}
|
import akka.actor.{ActorContext, typed}
|
||||||
|
import net.psforever.objects.zones.Zoning
|
||||||
import net.psforever.objects.zones.exp.ToDatabase
|
import net.psforever.objects.zones.exp.ToDatabase
|
||||||
|
|
||||||
import scala.collection.mutable
|
import scala.collection.mutable
|
||||||
|
|
@ -50,7 +51,8 @@ private[support] class WeaponAndProjectileOperations(
|
||||||
private[support] var shotsWhileDead: Int = 0
|
private[support] var shotsWhileDead: Int = 0
|
||||||
private val projectiles: Array[Option[Projectile]] =
|
private val projectiles: Array[Option[Projectile]] =
|
||||||
Array.fill[Option[Projectile]](Projectile.rangeUID - Projectile.baseUID)(None)
|
Array.fill[Option[Projectile]](Projectile.rangeUID - Projectile.baseUID)(None)
|
||||||
|
private var zoningOpt: Option[ZoningOperations] = None
|
||||||
|
def zoning: ZoningOperations = zoningOpt.orNull
|
||||||
/* packets */
|
/* packets */
|
||||||
|
|
||||||
def handleWeaponFire(pkt: WeaponFireMessage): Unit = {
|
def handleWeaponFire(pkt: WeaponFireMessage): Unit = {
|
||||||
|
|
@ -536,7 +538,9 @@ private[support] class WeaponAndProjectileOperations(
|
||||||
weaponGUID: PlanetSideGUID,
|
weaponGUID: PlanetSideGUID,
|
||||||
projectileGUID: PlanetSideGUID
|
projectileGUID: PlanetSideGUID
|
||||||
): (Option[PlanetSideGameObject with Container], Option[Tool]) = {
|
): (Option[PlanetSideGameObject with Container], Option[Tool]) = {
|
||||||
sessionData.zoning.CancelZoningProcessWithDescriptiveReason("cancel_fire")
|
if (player.ZoningRequest != Zoning.Method.None) {
|
||||||
|
sessionData.zoning.CancelZoningProcessWithDescriptiveReason("cancel_fire")
|
||||||
|
}
|
||||||
if (player.isShielded) {
|
if (player.isShielded) {
|
||||||
// Cancel NC MAX shield if it's active
|
// Cancel NC MAX shield if it's active
|
||||||
sessionData.toggleMaxSpecialState(enable = false)
|
sessionData.toggleMaxSpecialState(enable = false)
|
||||||
|
|
|
||||||
|
|
@ -889,7 +889,7 @@ class ZoningOperations(
|
||||||
def beginZoningCountdown(runnable: Runnable): Unit = {
|
def beginZoningCountdown(runnable: Runnable): Unit = {
|
||||||
val descriptor = zoningType.toString.toLowerCase
|
val descriptor = zoningType.toString.toLowerCase
|
||||||
if (zoningStatus == Zoning.Status.Request) {
|
if (zoningStatus == Zoning.Status.Request) {
|
||||||
avatarActor ! AvatarActor.DeinitializeImplants()
|
avatarActor ! AvatarActor.DeactivateActiveImplants()
|
||||||
zoningStatus = Zoning.Status.Countdown
|
zoningStatus = Zoning.Status.Countdown
|
||||||
val (time, origin) = ZoningStartInitialMessageAndTimer()
|
val (time, origin) = ZoningStartInitialMessageAndTimer()
|
||||||
zoningCounter = time
|
zoningCounter = time
|
||||||
|
|
@ -2300,18 +2300,8 @@ class ZoningOperations(
|
||||||
//vehicle and driver/passenger
|
//vehicle and driver/passenger
|
||||||
val vdef = vehicle.Definition
|
val vdef = vehicle.Definition
|
||||||
val vguid = vehicle.GUID
|
val vguid = vehicle.GUID
|
||||||
val vdata = if (seat == 0) {
|
val vdata = vdef.Packet.ConstructorData(vehicle).get
|
||||||
val seat = vehicle.Seats(0)
|
sendResponse(ObjectCreateMessage(vehicle.Definition.ObjectId, vguid, vdata))
|
||||||
seat.unmount(player)
|
|
||||||
val _vdata = vdef.Packet.ConstructorData(vehicle).get
|
|
||||||
sendResponse(ObjectCreateMessage(vehicle.Definition.ObjectId, vguid, _vdata))
|
|
||||||
seat.mount(player)
|
|
||||||
_vdata
|
|
||||||
} else {
|
|
||||||
val _vdata = vdef.Packet.ConstructorData(vehicle).get
|
|
||||||
sendResponse(ObjectCreateMessage(vehicle.Definition.ObjectId, vguid, _vdata))
|
|
||||||
_vdata
|
|
||||||
}
|
|
||||||
Vehicles.ReloadAccessPermissions(vehicle, continent.id)
|
Vehicles.ReloadAccessPermissions(vehicle, continent.id)
|
||||||
log.debug(s"AvatarCreate (vehicle): ${player.Name}'s ${vehicle.Definition.Name}")
|
log.debug(s"AvatarCreate (vehicle): ${player.Name}'s ${vehicle.Definition.Name}")
|
||||||
log.trace(s"AvatarCreate (vehicle): ${player.Name}'s ${vehicle.Definition.Name} - $vguid -> $vdata")
|
log.trace(s"AvatarCreate (vehicle): ${player.Name}'s ${vehicle.Definition.Name} - $vguid -> $vdata")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue