mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-07-16 08:55:18 +00:00
fixed vehicles not loading when player has no GUID; deactivated squad features (may cause trouble for the Router, but we'll manage); removed lingering, unnecessary radiation tick
This commit is contained in:
parent
5337f37363
commit
a664aebb89
3 changed files with 20 additions and 13 deletions
|
|
@ -55,17 +55,17 @@ class SessionSquadHandlers(
|
||||||
/* packet */
|
/* packet */
|
||||||
|
|
||||||
def handleSquadDefinitionAction(pkt: SquadDefinitionActionMessage): Unit = {
|
def handleSquadDefinitionAction(pkt: SquadDefinitionActionMessage): Unit = {
|
||||||
val SquadDefinitionActionMessage(u1, u2, action) = pkt
|
// val SquadDefinitionActionMessage(u1, u2, action) = pkt
|
||||||
squadService ! SquadServiceMessage(player, continent, SquadServiceAction.Definition(u1, u2, action))
|
// squadService ! SquadServiceMessage(player, continent, SquadServiceAction.Definition(u1, u2, action))
|
||||||
}
|
}
|
||||||
|
|
||||||
def handleSquadMemberRequest(pkt: SquadMembershipRequest): Unit = {
|
def handleSquadMemberRequest(pkt: SquadMembershipRequest): Unit = {
|
||||||
val SquadMembershipRequest(request_type, char_id, unk3, player_name, unk5) = pkt
|
// val SquadMembershipRequest(request_type, char_id, unk3, player_name, unk5) = pkt
|
||||||
squadService ! SquadServiceMessage(
|
// squadService ! SquadServiceMessage(
|
||||||
player,
|
// player,
|
||||||
continent,
|
// continent,
|
||||||
SquadServiceAction.Membership(request_type, char_id, unk3, player_name, unk5)
|
// SquadServiceAction.Membership(request_type, char_id, unk3, player_name, unk5)
|
||||||
)
|
// )
|
||||||
}
|
}
|
||||||
|
|
||||||
def handleSquadWaypointRequest(pkt: SquadWaypointRequest): Unit = {
|
def handleSquadWaypointRequest(pkt: SquadWaypointRequest): Unit = {
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ class SessionVehicleHandlers(
|
||||||
val resolvedPlayerGuid = if (player.HasGUID) {
|
val resolvedPlayerGuid = if (player.HasGUID) {
|
||||||
player.GUID
|
player.GUID
|
||||||
} else {
|
} else {
|
||||||
Service.defaultPlayerGUID
|
PlanetSideGUID(-1)
|
||||||
}
|
}
|
||||||
val isNotSameTarget = resolvedPlayerGuid != guid
|
val isNotSameTarget = resolvedPlayerGuid != guid
|
||||||
reply match {
|
reply match {
|
||||||
|
|
@ -253,12 +253,13 @@ class SessionVehicleHandlers(
|
||||||
}
|
}
|
||||||
|
|
||||||
case VehicleResponse.StartPlayerSeatedInVehicle(vehicle, _) =>
|
case VehicleResponse.StartPlayerSeatedInVehicle(vehicle, _) =>
|
||||||
val vehicle_guid = vehicle.GUID
|
val vehicleGuid = vehicle.GUID
|
||||||
|
val playerGuid = player.GUID
|
||||||
sessionData.playerActionsToCancel()
|
sessionData.playerActionsToCancel()
|
||||||
sessionData.vehicles.serverVehicleControlVelocity = Some(0)
|
sessionData.vehicles.serverVehicleControlVelocity = Some(0)
|
||||||
sessionData.terminals.CancelAllProximityUnits()
|
sessionData.terminals.CancelAllProximityUnits()
|
||||||
sendResponse(PlanetsideAttributeMessage(vehicle_guid, attribute_type=22, attribute_value=1L)) //mount points off
|
sendResponse(PlanetsideAttributeMessage(vehicleGuid, attribute_type=22, attribute_value=1L)) //mount points off
|
||||||
sendResponse(PlanetsideAttributeMessage(player.GUID, attribute_type=21, vehicle_guid)) //ownership
|
sendResponse(PlanetsideAttributeMessage(playerGuid, attribute_type=21, vehicleGuid)) //ownership
|
||||||
vehicle.MountPoints.find { case (_, mp) => mp.seatIndex == 0 }.collect {
|
vehicle.MountPoints.find { case (_, mp) => mp.seatIndex == 0 }.collect {
|
||||||
case (mountPoint, _) => vehicle.Actor ! Mountable.TryMount(player, mountPoint)
|
case (mountPoint, _) => vehicle.Actor ! Mountable.TryMount(player, mountPoint)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ import net.psforever.objects.inventory.{GridInventory, InventoryItem}
|
||||||
import net.psforever.objects.serverobject.{CommonMessages, PlanetSideServerObject, ServerObjectControl}
|
import net.psforever.objects.serverobject.{CommonMessages, PlanetSideServerObject, ServerObjectControl}
|
||||||
import net.psforever.objects.serverobject.affinity.{FactionAffinity, FactionAffinityBehavior}
|
import net.psforever.objects.serverobject.affinity.{FactionAffinity, FactionAffinityBehavior}
|
||||||
import net.psforever.objects.serverobject.containable.{Containable, ContainableBehavior}
|
import net.psforever.objects.serverobject.containable.{Containable, ContainableBehavior}
|
||||||
|
import net.psforever.objects.serverobject.damage.Damageable.Target
|
||||||
import net.psforever.objects.serverobject.damage.{AggravatedBehavior, DamageableVehicle}
|
import net.psforever.objects.serverobject.damage.{AggravatedBehavior, DamageableVehicle}
|
||||||
import net.psforever.objects.serverobject.environment._
|
import net.psforever.objects.serverobject.environment._
|
||||||
import net.psforever.objects.serverobject.hackable.GenericHackables
|
import net.psforever.objects.serverobject.hackable.GenericHackables
|
||||||
|
|
@ -864,10 +865,15 @@ class VehicleControl(vehicle: Vehicle)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override protected def DestructionAwareness(target: Target, cause: DamageResult): Unit = {
|
||||||
|
passengerRadiationCloudTimer.cancel()
|
||||||
|
super.DestructionAwareness(target, cause)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
object VehicleControl {
|
object VehicleControl {
|
||||||
import net.psforever.objects.vital.{ShieldCharge}
|
import net.psforever.objects.vital.ShieldCharge
|
||||||
|
|
||||||
private case class PrepareForDeletion()
|
private case class PrepareForDeletion()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue