mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-03-23 14:20:45 +00:00
expanded scope of 'csr override message for Capitol force dome state; spelling and guard condition changes to dismount blocking cases
This commit is contained in:
parent
398b98514a
commit
c7368d47a4
2 changed files with 13 additions and 13 deletions
|
|
@ -123,14 +123,12 @@ object ForceDomeControl {
|
|||
building: Building,
|
||||
state: Boolean
|
||||
): Unit = {
|
||||
val events = building.Zone.LocalEvents
|
||||
val zone = building.Zone
|
||||
val message = LocalAction.SendResponse(ChatMsg(
|
||||
ChatMessageType.UNK_227,
|
||||
s"Capitol force dome state change was suppressed. ${building.Name} will remain ${if (state) "enveloped" else "exposed"}."
|
||||
ChatMessageType.UNK_229,
|
||||
s"The Capitol force dome at ${building.Name} will remain ${if (state) "activated" else "deactivated"}."
|
||||
))
|
||||
building.PlayersInSOI.foreach { player =>
|
||||
events ! LocalServiceMessage(player.Name, message)
|
||||
}
|
||||
zone.LocalEvents ! LocalServiceMessage(zone.id, message)
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -473,7 +471,6 @@ class ForceDomeControl(dome: ForceDomePhysics)
|
|||
private def blockedByCustomStateOr(func: (Building, ForceDomePhysics) => Boolean): Boolean = {
|
||||
import scala.concurrent.duration._
|
||||
import scala.concurrent.ExecutionContext.Implicits.global
|
||||
|
||||
customState match {
|
||||
case None =>
|
||||
val oldState = dome.Energized
|
||||
|
|
@ -484,9 +481,12 @@ class ForceDomeControl(dome: ForceDomePhysics)
|
|||
context.system.scheduler.scheduleOnce(delay = 4000 milliseconds, self, ForceDomeControl.ApplyProtection)
|
||||
}
|
||||
newState
|
||||
case Some(state) =>
|
||||
case Some(state)
|
||||
if !ForceDomeControl.CheckForceDomeStatus(domeOwnerAsABuilding, dome).contains(state) =>
|
||||
ForceDomeControl.CustomDomeStateEnforcedMessage(domeOwnerAsABuilding, state)
|
||||
state
|
||||
case Some(state) =>
|
||||
state
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ class VehicleControl(vehicle: Vehicle)
|
|||
sender() ! Mountable.MountMessages(user, Mountable.CanNotMount(vehicle, mountPoint))
|
||||
}
|
||||
|
||||
private val disountingFailureReasons: Receive = {
|
||||
private val dismountingFailureReasons: Receive = {
|
||||
case Mountable.TryDismount(user, seat_num, bailType)
|
||||
if vehicle.DeploymentState == DriveState.AutoPilot =>
|
||||
sender() ! Mountable.MountMessages(user, Mountable.CanNotDismount(vehicle, seat_num, bailType))
|
||||
|
|
@ -142,7 +142,7 @@ class VehicleControl(vehicle: Vehicle)
|
|||
case Mountable.TryDismount(user, seat_num, bailType)
|
||||
if vehicle.Health <= (vehicle.Definition.MaxHealth * .1).round && bailType == BailType.Bailed
|
||||
&& GlobalDefinitions.isFlightVehicle(vehicle.Definition)
|
||||
&& (seat_num == 0 || vehicle.SeatPermissionGroup(seat_num).getOrElse(0) == AccessPermissionGroup.Gunner)
|
||||
&& (seat_num == 0 || vehicle.SeatPermissionGroup(seat_num).contains(AccessPermissionGroup.Gunner))
|
||||
&& (vehicle.History.findLast { entry => entry.isInstanceOf[DamagingActivity] } match {
|
||||
case Some(entry) if System.currentTimeMillis() - entry.time < 4000L => true
|
||||
case _ if Random.nextInt(10) == 1 => false
|
||||
|
|
@ -152,7 +152,7 @@ class VehicleControl(vehicle: Vehicle)
|
|||
case Mountable.TryDismount(user, seat_num, bailType)
|
||||
if vehicle.Health <= (vehicle.Definition.MaxHealth * .2).round && bailType == BailType.Bailed
|
||||
&& GlobalDefinitions.isFlightVehicle(vehicle.Definition)
|
||||
&& (seat_num == 0 || vehicle.SeatPermissionGroup(seat_num).getOrElse(0) == AccessPermissionGroup.Gunner)
|
||||
&& (seat_num == 0 || vehicle.SeatPermissionGroup(seat_num).contains(AccessPermissionGroup.Gunner))
|
||||
&& (vehicle.History.findLast { entry => entry.isInstanceOf[DamagingActivity] } match {
|
||||
case Some(entry) if System.currentTimeMillis() - entry.time < 3500L => true
|
||||
case _ if Random.nextInt(5) == 1 => false
|
||||
|
|
@ -162,7 +162,7 @@ class VehicleControl(vehicle: Vehicle)
|
|||
case Mountable.TryDismount(user, seat_num, bailType)
|
||||
if vehicle.Health <= (vehicle.Definition.MaxHealth * .35).round && bailType == BailType.Bailed
|
||||
&& GlobalDefinitions.isFlightVehicle(vehicle.Definition)
|
||||
&& (seat_num == 0 || vehicle.SeatPermissionGroup(seat_num).getOrElse(0) == AccessPermissionGroup.Gunner)
|
||||
&& (seat_num == 0 || vehicle.SeatPermissionGroup(seat_num).contains(AccessPermissionGroup.Gunner))
|
||||
&& (vehicle.History.findLast { entry => entry.isInstanceOf[DamagingActivity] } match {
|
||||
case Some(entry) if System.currentTimeMillis() - entry.time < 3000L => true
|
||||
case _ if Random.nextInt(4) == 1 => false
|
||||
|
|
@ -177,7 +177,7 @@ class VehicleControl(vehicle: Vehicle)
|
|||
def commonEnabledBehavior: Receive = checkBehavior
|
||||
.orElse(mountingFailureReasons)
|
||||
.orElse(mountBehavior)
|
||||
.orElse(disountingFailureReasons)
|
||||
.orElse(dismountingFailureReasons)
|
||||
.orElse(dismountBehavior)
|
||||
.orElse(attributeBehavior)
|
||||
.orElse(jammableBehavior)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue