Only <code>Direct</code> and <code>Splash</code> are valid damage types, however.</p></div><dlclass="paramcmts block"><dtclass="param">damage_type</dt><ddclass="cmt"><p>the type of damage</p></dd><dtclass="param">degradation_percentage</dt><ddclass="cmt"><p>by how much the damage is degraded</p></dd><dtclass="param">infliction_rate</dt><ddclass="cmt"><p>how often the damage is inflicted (ms)</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.ballistics.AggravatedTiming"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="AggravatedTimingextendsProductwithSerializable"></a><aid="AggravatedTiming:AggravatedTiming"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/AggravatedTiming.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="AggravatedTiming.html"title="In what manner of pacing the aggravated damage ticks are applied."><spanclass="name">AggravatedTiming</span></a><spanclass="params">(<spanname="duration">duration: <spanname="scala.Long"class="extype">Long</span></span>, <spanname="ticks">ticks: <spanname="scala.Option"class="extype">Option</span>[<spanname="scala.Int"class="extype">Int</span>]</span>)</span><spanclass="result"> extends <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span><pclass="shortcomment cmt">In what manner of pacing the aggravated damage ticks are applied.</p><divclass="fullcomment"><divclass="comment cmt"><p>In what manner of pacing the aggravated damage ticks are applied.</p></div><dlclass="paramcmts block"><dtclass="param">duration</dt><ddclass="cmt"><p>for how long the over-all effect is applied</p></dd><dtclass="param">ticks</dt><ddclass="cmt"><p>a custom number of damage applications,
as opposed to whatever calculations normally estimate the number of applications</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.ballistics.ComplexDeployableSource"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="ComplexDeployableSourceextendsSourceEntrywithProductwithSerializable"></a><aid="ComplexDeployableSource:ComplexDeployableSource"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/ComplexDeployableSource.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="ComplexDeployableSource.html"title=""><spanclass="name">ComplexDeployableSource</span></a><spanclass="params">(<spanname="obj_def">obj_def: <ahref="../definition/ObjectDefinition.html"name="net.psforever.objects.definition.ObjectDefinition"id="net.psforever.objects.definition.ObjectDefinition"class="extype">ObjectDefinition</a> with <ahref="../definition/DeployableDefinition.html"name="net.psforever.objects.definition.DeployableDefinition"id="net.psforever.objects.definition.DeployableDefinition"class="extype">DeployableDefinition</a></span>, <spanname="faction">faction: <ahref="../../types/PlanetSideEmpire$.html#ValueextendsOrdered[Enumeration.this.Value]withSerializable"name="net.psforever.types.PlanetSideEmpire.Value"id="net.psforever.types.PlanetSideEmpire.Value"class="extmbr">types.PlanetSideEmpire.Value</a></span>, <spanname="health">health: <spanname="scala.Int"class="extype">Int</span></span>, <spanname="shields">shields: <spanname="scala.Int"class="extype">Int</span></span>, <spanname="ownerName">ownerName: <spanname="scala.Predef.String"class="extype">String</span></span>, <spanname="position">position: <ahref="../../types/Vector3.html"name="net.psforever.types.Vector3"id="net.psforever.types.Vector3"class="extype">Vector3</a></span>, <spanname="orientation">orientation: <ahref="../../types/Vector3.html"name="net.psforever.types.Vector3"id="net.psforever.types.Vector3"class="extype">Vector3</a></span>)</span><spanclass="result"> extends <ahref="SourceEntry.html"name="net.psforever.objects.ballistics.SourceEntry"id="net.psforever.objects.ballistics.SourceEntry"class="extype">SourceEntry</a> with <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span></li><liclass="indented0 "name="net.psforever.objects.ballistics.DeployableSource"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="DeployableSourceextendsSourceEntrywithProductwithSerializable"></a><aid="DeployableSource:DeployableSource"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/DeployableSource.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="DeployableSource.html"title=""><spanclass="name">DeployableSource</span></a><spanclass="params">(<spanname="obj_def">obj_def: <ahref="../definition/ObjectDefinition.html"name="net.psforever.objects.definition.ObjectDefinition"id="net.psforever.objects.definition.ObjectDefinition"class="extype">ObjectDefinition</a> with <ahref="../definition/DeployableDefinition.html"name="net.psforever.objects.definition.DeployableDefinition"id="net.psforever.objects.definition.DeployableDefinition"class="extype">DeployableDefinition</a></span>, <spanname="faction">faction: <ahref="../../types/PlanetSideEmpire$.html#ValueextendsOrdered[Enumeration.this.Value]withSerializable"name="net.psforever.types.PlanetSideEmpire.Value"id="net.psforever.types.PlanetSideEmpire.Value"class="extmbr">types.PlanetSideEmpire.Value</a></span>, <spanname="health">health: <spanname="scala.Int"class="extype">Int</span></span>, <spanname="ownerName">ownerName: <spanname="scala.Predef.St
most often a player (<code>PlayerSource</code>)</p></dd><dtclass="param">attribute_to</dt><ddclass="cmt"><p>an object ID that refers to the method of death that would be reported;
usually the same as <code>tool_def.ObjectId</code>;
if not, then it is a type of vehicle (and owner should have a positive <code>seated</code> field)</p></dd><dtclass="param">shot_origin</dt><ddclass="cmt"><p>where the projectile started</p></dd><dtclass="param">shot_angle</dt><ddclass="cmt"><p>in which direction the projectile was aimed when it was discharged</p></dd><dtclass="param">quality</dt><ddclass="cmt"><p>na</p></dd><dtclass="param">id</dt><ddclass="cmt"><p>an exclusive identifier for this projectile;
normally generated internally, but can be manually set</p></dd><dtclass="param">fire_time</dt><ddclass="cmt"><p>when the weapon discharged was recorded;
defaults to <code>System.nanoTime</code></p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>ProjectileDefinition</code></p></span><spanclass="cmt"><p><code>ToolDefinition</code></p></span><spanclass="cmt"><p><code>FireModeDefinition</code></p></span><spanclass="cmt"><p><code>SourceEntry</code></p></span><spanclass="cmt"><p><code>PlayerSource</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.ballistics.ProjectileQuality"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="ProjectileQualityextendsAnyRef"></a><aid="ProjectileQuality:ProjectileQuality"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/ProjectileQuality.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">sealed </span><spanclass="kind">trait</span></span><spanclass="symbol"><ahref="ProjectileQuality.html"title="Projectile quality is an external aspect of projectiles that is not dependent on hard-coded definitions of the entities used to compose the projectile such as the knowlegde of the emitting Tool (weapon)."><spanclass="name">ProjectileQuality</span></a><spanclass="result"> extends <spanname="scala.AnyRef"class="extype">AnyRef</span></span></span><pclass="shortcomment cmt">Projectile quality is an external aspect of projectiles
that is not dependent on hard-coded definitions of the entities
used to compose the projectile such as the knowlegde of the emitting <code>Tool</code> (weapon).</p><divclass="fullcomment"><divclass="comment cmt"><p>Projectile quality is an external aspect of projectiles
that is not dependent on hard-coded definitions of the entities
used to compose the projectile such as the knowlegde of the emitting <code>Tool</code> (weapon).
A flag or a damage modifier, depending on use.
To the extent that it can be used as a numeric modifier,
insists on defining a numeric modifier component rather to what it is trying to express.
That numeric modifier does not have to be used for anything.
</p></div></div></li><liclass="indented0 "name="net.psforever.objects.ballistics.ResolvedProjectile"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="ResolvedProjectileextendsProductwithSerializable"></a><aid="ResolvedProjectile:ResolvedProjectile"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/ResolvedProjectile.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="ResolvedProjectile.html"title="An encapsulation of a projectile event that records sufficient historical information about the interaction of weapons discharge and a target to the point that the original event might be reconstructed."><spanclass="name">ResolvedProjectile</span></a><spanclass="params">(<spanname="resolution">resolution: <ahref="ProjectileResolution$.html#ValueextendsOrdered[Enumeration.this.Value]withSerializable"name="net.psforever.objects.ballistics.ProjectileResolution.Value"id="net.psforever.objects.ballistics.ProjectileResolution.Value"class="extmbr">ProjectileResolution.Value</a></span>, <spanname="projectile">projectile: <ahref="Projectile.html"name="net.psforever.objects.ballistics.Projectile"id="net.psforever.objects.ballistics.Projectile"class="extype">Projectile</a></span>, <spanname="target">target: <ahref="SourceEntry.html"name="net.psforever.objects.ballistics.SourceEntry"id="net.psforever.objects.ballistics.SourceEntry"class="extype">SourceEntry</a></span>, <spanname="damage_model">damage_model: <ahref="../vital/DamageResistanceModel.html"name="net.psforever.objects.vital.DamageResistanceModel"id="net.psforever.objects.vital.DamageResistanceModel"class="extype">DamageResistanceModel</a></span>, <spanname="hit_pos">hit_pos: <ahref="../../types/Vector3.html"name="net.psforever.types.Vector3"id="net.psforever.types.Vector3"class="extype">Vector3</a></span>)</span><spanclass="result"> extends <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span><pclass="shortcomment cmt">An encapsulation of a projectile event that records sufficient historical information
about the interaction of weapons discharge and a target
to the point that the original event might be reconstructed.</p><divclass="fullcomment"><divclass="comment cmt"><p>An encapsulation of a projectile event that records sufficient historical information
about the interaction of weapons discharge and a target
to the point that the original event might be reconstructed.
Reenacting the calculations of this entry should always produce the same values.</p></div><dlclass="paramcmts block"><dtclass="param">projectile</dt><ddclass="cmt"><p>the original projectile</p></dd><dtclass="param">target</dt><ddclass="cmt"><p>what the projectile hit</p></dd><dtclass="param">damage_model</dt><ddclass="cmt"><p>the kind of damage model to which the <code>target</code> is/was subject</p></dd><dtclass="param">hit_pos</dt><ddclass="cmt"><p>where the projectile hit</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.ballistics.SameAsQuality"group="Ungrouped"fullComment="no"data-isabs="true"visbl="pub"><aid="SameAsQualityextendsProjectileQuality"></a><aid="SameAsQuality:SameAsQuality"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/SameAsQuality.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">sealed </span><spanclass="kind">trait</span></span><spanclass="symbol"><ahref="SameAsQuality.html"title="Implement the numeric modifier with the value as one."><spanclass="name">SameAsQuality</span></a><spanclass="result"> extends <ahref="ProjectileQuality.html"name="net.psforever.objects.ballistics.ProjectileQuality"id="net.psforever.objects.ballistics.ProjectileQuality"class="extype">ProjectileQuality</a></span></span><pclass="shortcomment cmt">Implement the numeric modifier with the value as one.</p></li><liclass="indented0 "name="net.psforever.objects.ballistics.SourceEntry"group="Ungrouped"fullComment="no"data-isabs="true"visbl="pub"><aid="SourceEntryextendsWorldEntity"></a><aid="SourceEntry:SourceEntry"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/SourceEntry.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">trait</span></span><spanclass="symbol"><ahref="SourceEntry.html"title=""><spanclass="name">SourceEntry</span></a><spanclass="result"> extends <ahref="../entity/WorldEntity.html"name="net.psforever.objects.entity.WorldEntity"id="net.psforever.objects.entity.WorldEntity"class="extype">WorldEntity</a></span></span></li><liclass="indented0 "name="net.psforever.objects.ballistics.VehicleSource"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="VehicleSourceextendsSourceEntrywithProductwithSerializable"></a><aid="VehicleSource:VehicleSource"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/VehicleSource.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="VehicleSource.html"title=""><spanclass="name">VehicleSource</span></a><spanclass="params">(<spanname="obj_def">obj_def: <ahref="../definition/VehicleDefinition.html"name="net.psforever.objects.definition.VehicleDefinition"id="net.psforever.objects.definition.VehicleDefinition"class="extype">VehicleDefinition</a></span>, <spanname="faction">faction: <ahref="../../types/PlanetSideEmpire$.html#ValueextendsOrdered[Enumeration.this.Value]withSerializable"name="net.psforever.types.PlanetSideEmpire.Value"id="net.psforever.types.PlanetSideEmpire.Value"class="extmbr">types.PlanetSideEmpire.Value</a></span>, <spanname="health">health: <spanname="scala.Int"class="extype">Int</span></span>, <spanname="shields">shields: <spanname="scala.Int"class="extype">Int</span></span>, <spanname="position">position: <ahref="../../types/Vector3.html"name="net.psforever.types.Vector3"id="net.psforever.types.Vector3"class="extype">Vector3</a></span>, <spanname="orientation">orientation: <ahref="../../types/Vector3.html"name="net.psforever.types.Vector3"id="net.psforever.types.Vector3"class="extype">Vector3</a></span>, <spanname="velocity">velocity: <spanname="scala.Option"class="extype">Option</span>[<ahref="../../types/Vector3.html"name="net.p
complementing normal damage type distinction in directing damage calculations.<br>
<br>
Although the latter states reflect what sort of damage the projectile might perform - <code>Hit</code>, <code>Splash</code>, etc.</p><divclass="fullcomment"><divclass="comment cmt"><p>An <code>Enumeration</code> of outcomes regarding what actually happened to the projectile,
complementing normal damage type distinction in directing damage calculations.<br>
<br>
Although the latter states reflect what sort of damage the projectile might perform - <code>Hit</code>, <code>Splash</code>, etc. -
the state is more a communication about how that damage is interpreted by the server.
For example, some projectiles:
perform <code>Direct</code> damage, are reported by <code>HitMessage</code> packets, and resolve as <code>Hit</code>;
or, perform <code>Direct</code> damage, are reported by <code>LashDamage</code> packets, and resolve as <code>Lash</code>.
Furthermore, some projectiles:
perform <code>Splash</code> damage, are reported by <code>SplashHitMessage</code> packets, and resolve as <code>Splash</code>;
or, perform <code>Aggravated</code> damage, are reported by <code>SplashHitMessage</code> packets
and resolve either as <code>AggravatedDirect</code> or as <code>AggravatedSplash</code>.
</p></div></div></li><liclass="indented0 "name="net.psforever.objects.ballistics.Projectiles"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="Projectiles"></a><aid="Projectiles:Projectiles"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/Projectiles$.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">object</span></span><spanclass="symbol"><ahref="Projectiles$.html"title="An Enumeration of all the projectile types in the game, paired with their object id as the Value."><spanclass="name">Projectiles</span></a><spanclass="result"> extends <spanname="scala.Enumeration"class="extype">Enumeration</span></span></span><pclass="shortcomment cmt">An <code>Enumeration</code> of all the projectile types in the game, paired with their object id as the <code>Value</code>.</p></li><liclass="indented0 "name="net.psforever.objects.ballistics.SourceEntry"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="SourceEntry"></a><aid="SourceEntry:SourceEntry"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/SourceEntry$.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">object</span></span><spanclass="symbol"><ahref="SourceEntry$.html"title=""><spanclass="name">SourceEntry</span></a></span></li><liclass="indented0 "name="net.psforever.objects.ballistics.VehicleSource"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="VehicleSource"></a><aid="VehicleSource:VehicleSource"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/VehicleSource$.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">object</span></span><spanclass="symbol"><ahref="VehicleSource$.html"title=""><spanclass="name">VehicleSource</span></a><spanclass="result"> extends <ahref="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html#java.io.Serializable"name="java.io.Serializable"id="java.io.Serializable"class="extype">Serializable</a></span></span></li></ol></div></div><divid="inheritedMembers"></div><divid="groupedMembers"><divname="Ungrouped"class="group"><h3>Ungrouped</h3></div></div></div><divid="tooltip"></div><divid="footer"></div></body></div></div></div></body></html>