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 */
|
||||
|
||||
def handleSquadDefinitionAction(pkt: SquadDefinitionActionMessage): Unit = {
|
||||
val SquadDefinitionActionMessage(u1, u2, action) = pkt
|
||||
squadService ! SquadServiceMessage(player, continent, SquadServiceAction.Definition(u1, u2, action))
|
||||
// val SquadDefinitionActionMessage(u1, u2, action) = pkt
|
||||
// squadService ! SquadServiceMessage(player, continent, SquadServiceAction.Definition(u1, u2, action))
|
||||
}
|
||||
|
||||
def handleSquadMemberRequest(pkt: SquadMembershipRequest): Unit = {
|
||||
val SquadMembershipRequest(request_type, char_id, unk3, player_name, unk5) = pkt
|
||||
squadService ! SquadServiceMessage(
|
||||
player,
|
||||
continent,
|
||||
SquadServiceAction.Membership(request_type, char_id, unk3, player_name, unk5)
|
||||
)
|
||||
// val SquadMembershipRequest(request_type, char_id, unk3, player_name, unk5) = pkt
|
||||
// squadService ! SquadServiceMessage(
|
||||
// player,
|
||||
// continent,
|
||||
// SquadServiceAction.Membership(request_type, char_id, unk3, player_name, unk5)
|
||||
// )
|
||||
}
|
||||
|
||||
def handleSquadWaypointRequest(pkt: SquadWaypointRequest): Unit = {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ class SessionVehicleHandlers(
|
|||
val resolvedPlayerGuid = if (player.HasGUID) {
|
||||
player.GUID
|
||||
} else {
|
||||
Service.defaultPlayerGUID
|
||||
PlanetSideGUID(-1)
|
||||
}
|
||||
val isNotSameTarget = resolvedPlayerGuid != guid
|
||||
reply match {
|
||||
|
|
@ -253,12 +253,13 @@ class SessionVehicleHandlers(
|
|||
}
|
||||
|
||||
case VehicleResponse.StartPlayerSeatedInVehicle(vehicle, _) =>
|
||||
val vehicle_guid = vehicle.GUID
|
||||
val vehicleGuid = vehicle.GUID
|
||||
val playerGuid = player.GUID
|
||||
sessionData.playerActionsToCancel()
|
||||
sessionData.vehicles.serverVehicleControlVelocity = Some(0)
|
||||
sessionData.terminals.CancelAllProximityUnits()
|
||||
sendResponse(PlanetsideAttributeMessage(vehicle_guid, attribute_type=22, attribute_value=1L)) //mount points off
|
||||
sendResponse(PlanetsideAttributeMessage(player.GUID, attribute_type=21, vehicle_guid)) //ownership
|
||||
sendResponse(PlanetsideAttributeMessage(vehicleGuid, attribute_type=22, attribute_value=1L)) //mount points off
|
||||
sendResponse(PlanetsideAttributeMessage(playerGuid, attribute_type=21, vehicleGuid)) //ownership
|
||||
vehicle.MountPoints.find { case (_, mp) => mp.seatIndex == 0 }.collect {
|
||||
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.affinity.{FactionAffinity, FactionAffinityBehavior}
|
||||
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.environment._
|
||||
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 {
|
||||
import net.psforever.objects.vital.{ShieldCharge}
|
||||
import net.psforever.objects.vital.ShieldCharge
|
||||
|
||||
private case class PrepareForDeletion()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue