# PSF-LoginServer - master - net.psforever.packet.game.ProjectileStateMessage
PSF - LoginServer - master - net.psforever.packet.game.ProjectileStateMessage
Keywords: PSF LoginServer master net.psforever.packet.game.ProjectileStateMessage

PSF-LoginServer - master < Back


# Packages

-  package root
  Definition Classes
    root
-  package net
  Definition Classes
    root
-  package psforever
  Definition Classes
    net
-  package packet
  Definition Classes
    psforever
-  package game
  Definition Classes
    packet
-  package objectcreate
  Definition Classes
    game
- ActionCancelMessage
- ActionProgressMessage
- ActionResultMessage
- Additional1
- Additional2
- Additional3
- AggravatedDamageMessage
- ArmorChangedMessage
- AvatarDeadStateMessage
- AvatarFirstTimeEventMessage
- AvatarGrenadeStateMessage
- AvatarImplantMessage
- AvatarJumpMessage
- AvatarSearchCriteriaMessage
- AvatarStatisticsMessage
- AvatarVehicleTimerMessage
- BattleDiagramAction
- BattleExperienceMessage
- BattleplanMessage
- BeginZoningMessage
- BindPlayerMessage
- BindStatus
- BroadcastWarpgateUpdateMessage
- BugReportMessage
- BugType
- BuildingInfoUpdateMessage
- CaptureFlagUpdateMessage
- CargoMountPointStatusMessage
- ChainLashMessage
- ChangeAmmoMessage
- ChangeFireModeMessage
- ChangeFireStateMessage_Start
- ChangeFireStateMessage_Stop
- ChangeShortcutBankMessage
- CharacterCreateRequestMessage
- CharacterInfoMessage
- CharacterKnowledgeInfo
- CharacterKnowledgeMessage
- CharacterNoRecordMessage
- CharacterRequestAction
- CharacterRequestMessage
- ChatChannel
- ChatMsg
- ChildObjectStateMessage
- CloudInfo
- ConnectToWorldMessage
- ConnectToWorldRequestMessage
- ContinentalLockUpdateMessage
- CreateShortcutMessage
- DamageFeedbackMessage
- DamageMessage
- DamageWithPositionMessage
- DataChallenge
- DataChallengeMessage
- DataChallengeMessageResp
- DeadState
- DelayedPathMountMsg
- DensityLevelUpdateMessage
- DeployObjectMessage
- DeployOutcome
- DeployRequestMessage
- DeployableIcon
- DeployableInfo
- DeployableObjectsInfoMessage
- DeploymentAction
- DestroyDisplayMessage
- DestroyMessage
- DiagramActionCode
- DiagramStroke
- DisconnectMessage
- DismountBuildingMsg
- DismountVehicleCargoMsg
- DismountVehicleMsg
- DisplayedAwardMessage
- DrawString
- DropItemMessage
- DroppodError
- DroppodFreefallingMessage
- DroppodLaunchInfo
- DroppodLaunchRequestMessage
- DroppodLaunchResponseMessage
- DrowningTarget
- EmoteMsg
- ExperienceAddedMessage
- FacilityBenefitShieldChargeRequestMessage
- FavoritesAction
- FavoritesMessage
- FavoritesRequest
- FireHintMessage
- FlagInfo
- Friend
- FriendAction
- FriendsRequest
- FriendsResponse
- GamePropertyScope
- GamePropertyTarget
- GenericActionEnum
- GenericActionMessage
- GenericCollisionMsg
- GenericObjectActionEnum
- GenericObjectActionMessage
- GenericObjectStateMsg
- HackMessage
- HackState
- HitHint
- HitInfo
- HitMessage
- HotSpotInfo
- HotSpotUpdateMessage
- ImplantAction
- InvalidTerrainMessage
- InventoryStateMessage
- ItemTransactionMessage
- ItemTransactionResultMessage
- KeepAliveMessage
- LashMessage
- LoadMapMessage
- LoginMessage
- LoginRespMessage
- LongRangeProjectileInfoMessage
- LootItemMessage
- MailMessage
- MemberEvent
- MountVehicleCargoMsg
- MountVehicleMsg
- MoveItemMessage
- ObjectAttachMessage
- ObjectCreateDetailedMessage
- ObjectCreateMessage
- ObjectDeleteMessage
- ObjectDeployedMessage
- ObjectDetachMessage
- ObjectDetectedMessage
- ObjectHeldMessage
- OrbitalShuttleTimeMsg
- OrbitalStrikeWaypointMessage
- OxygenStateMessage
- PadAndShuttlePair
- PickupItemMessage
- PingMsg
- PlanetSideZoneID
- PlanetsideAttributeEnum
- PlanetsideAttributeMessage
- PlanetsideStringAttributeMessage
- PlayerStasisMessage
- PlayerStateMessage
- PlayerStateMessageUpstream
- PlayerStateShiftMessage
- ProjectileCharacteristics
- ProjectileStateMessage
- PropertyOverrideMessage
- ProximityTerminalUseMessage
- QuantityDeltaUpdateMessage
- QuantityUpdateMessage
- ReleaseAvatarRequestMessage
- ReloadMessage
- RepairMessage
- ReplicationStreamMessage
- RequestDestroyMessage
- RespawnAMSInfoMessage
- RespawnInfo
- RibbonBarsSlot
- ServerType
- ServerVehicleOverrideMsg
- SetChatFilterMessage
- SetCurrentAvatarMessage
- SetEmpireMessage
- ShiftState
- Shortcut
- SimDataChallenge
- SimDataChallengeResp
- SpawnRequestMessage
- SplashHitMessage
- SplashedTarget
- SquadAction
- SquadDefinitionActionMessage
- SquadDetail
- SquadDetailDefinitionUpdateMessage
- SquadHeader
- SquadInfo
- SquadInvitationRequestMessage
- SquadListing
- SquadMemberEvent
- SquadMembershipRequest
- SquadMembershipResponse
- SquadPositionDetail
- SquadPositionEntry
- SquadState
- SquadStateInfo
- SquadWaypointEvent
- SquadWaypointRequest
- Statistics
- StormInfo
- StreamLengthToken
- StrokeFive
- StrokeSeven
- Style
- TargetInfo
- TargetRequest
- TargetingImplantRequest
- TargetingInfoMessage
- TerrainCondition
- TimeOfDayMessage
- TrainingZoneMessage
- TriggerEffectMessage
- TriggerEnvironmentalDamageMessage
- TriggerSoundMessage
- TriggeredEffect
- TriggeredEffectLocation
- TriggeredSound
- UnuseItemMessage
- UseItemMessage
- VNLWorldStatusMessage
- VehicleStateMessage
- VehicleSubStateMessage
- Vertex
- VoiceHostInfo
- VoiceHostKill
- VoiceHostRequest
- WarpQueuePrompt
- WarpgateRequest
- Waypoint
- WaypointEvent
- WaypointEventAction
- WaypointInfo
- WeaponDelayFireMessage
- WeaponDryFireMessage
- WeaponFireMessage
- WeaponJammedMessage
- WeaponLazeTargetPositionMessage
- WeatherMessage
- WorldConnectionInfo
- WorldInformation
- WorldStatus
- ZipLineMessage
- ZoneForcedCavernConnectionsMessage
- ZoneInfoMessage
- ZoneLockInfoMessage
- ZonePopulationUpdateMessage

c

net.psforever.packet.game

# ProjectileStateMessage 

###
Companion object ProjectileStateMessage

#### final case class ProjectileStateMessage(projectile_guid: PlanetSideGUID, shot_pos: Vector3, shot_vel: Vector3, shot_original_orient: Vector3, sequence_num: Int, end: Boolean, hit_target_guid: PlanetSideGUID) extends PlanetSideGamePacket with Product with Serializable

Dispatched to deliberately control certain projectiles of a weapon on other players' clients.
This packet should be generated by firing specific weapons in specific fire modes. For example, the Phoenix (`hunterseeker`) discharged in its primary fire mode generates this packet; but, the Phoenix in secondary fire mode does not. The Striker (`striker`) discharged in its primary fire mode generates this packet; but, the Striker in secondary fire mode does not. The chosen fire mode(s) are not a straight-fire projectile but one that has special control asserted over it. For the Phoenix, it is user operated (camera-guided). For the Striker, it tracks towards a valid target while the weapon's reticle hovers over that target.
This packet will continue to be dispatched by the client for as long as the projectile being tracked is in the air. All projectiles have a maximum lifespan before they will lose control and either despawn and/or explode. This number is tracked in the packet for simplicity.
This control can not be demonstrated until that projectile is physically constructed on the other clients in the same way that a player or a vehicle is constructed. A projectile that exhibits intentional construction behavior is flagged using the property `exists_on_remote_client`. The model comes with a number of caveats, some that originate from the object construction process itself, but also some from this packet. For example, as indicated by the static `shot_original_orient` values reported by this packet. a discharged controlled projectile will not normally rotate. A minor loss of lifespan may be levied.

projectile_guid

  when dispatched by the client, the client-specific local unique identifier of the projectile; when dispatched by the server, the global unique identifier for the synchronized projectile object

shot_pos

  the position of the projectile

shot_vel

  the velocity of the projectile

shot_original_orient

  the orientation of the projectile when it was discharged

sequence_num

  an incrementing index of the packet in this projectile's lifetime; suggests the "time alive" and indicates a place in packet ordering

end

  indicates the projectile has reached the end of its lifespan; usually, it should explode

hit_target_guid

  the global unique identifier of the object the projwectile collided with; will be 0 if it reached the end of its life naturally, without colliding with anything

Source
  ProjectileStateMessage.scala
See also

  `ProjectileDefinition`

  `RemoteProjectileData`

Linear Supertypes
Product, Equals, PlanetSideGamePacket, PlanetSidePacket, Serializable, AnyRef, Any

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. ProjectileStateMessage
2. Product
3. Equals
4. PlanetSideGamePacket
5. PlanetSidePacket
6. Serializable
7. AnyRef
8. Any

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Instance Constructors

1.  new ProjectileStateMessage(projectile_guid: PlanetSideGUID, shot_pos: Vector3, shot_vel: Vector3, shot_original_orient: Vector3, sequence_num: Int, end: Boolean, hit_target_guid: PlanetSideGUID)

   projectile_guid

     when dispatched by the client, the client-specific local unique identifier of the projectile; when dispatched by the server, the global unique identifier for the synchronized projectile object

   shot_pos

     the position of the projectile

   shot_vel

     the velocity of the projectile

   shot_original_orient

     the orientation of the projectile when it was discharged

   sequence_num

     an incrementing index of the packet in this projectile's lifetime; suggests the "time alive" and indicates a place in packet ordering

   end

     indicates the projectile has reached the end of its lifespan; usually, it should explode

   hit_target_guid

     the global unique identifier of the object the projwectile collided with; will be 0 if it reached the end of its life naturally, without colliding with anything

### Type Members

1.  type Packet = ProjectileStateMessage

### Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##: Int
   Definition Classes
     AnyRef → Any
3.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
4.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
5.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.CloneNotSupportedException]) @native()
6.  def encode: Attempt[BitVector]
   Definition Classes
     ProjectileStateMessage → PlanetSidePacket
7.  val end: Boolean
8.  final def eq(arg0: AnyRef): Boolean
   Definition Classes
     AnyRef
9.  def finalize(): Unit
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.Throwable])
10.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
11.  val hit_target_guid: PlanetSideGUID
12.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
13.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
14.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
15.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
16.  def opcode: GamePacketOpcode.Value
    Definition Classes
      ProjectileStateMessage → PlanetSideGamePacket → PlanetSidePacket
17.  def productElementNames: Iterator[String]
    Definition Classes
      Product
18.  val projectile_guid: PlanetSideGUID
19.  val sequence_num: Int
20.  val shot_original_orient: Vector3
21.  val shot_pos: Vector3
22.  val shot_vel: Vector3
23.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
24.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
25.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
26.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Inherited from Product

### Inherited from Equals

### Inherited from PlanetSideGamePacket

### Inherited from PlanetSidePacket

### Inherited from Serializable

### Inherited from AnyRef

### Inherited from Any

### Ungrouped