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"class="anchorToMember"></a><aid="AggravatedTiming:AggravatedTiming"class="anchorToMember"></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.ChargeDamage"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="ChargeDamageextendsProductwithSerializable"class="anchorToMember"></a><aid="ChargeDamage:ChargeDamage"class="anchorToMember"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/ChargeDamage.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="ChargeDamage.html"title=""><spanclass="name">ChargeDamage</span></a><spanclass="params">(<spanname="effect_count">effect_count: <spanname="scala.Int"class="extype">Int</span></span>, <spanname="min">min: <ahref="../vital/damage/StandardDamageProfile.html"name="net.psforever.objects.vital.damage.StandardDamageProfile"id="net.psforever.objects.vital.damage.StandardDamageProfile"class="extype">StandardDamageProfile</a></span>)</span><spanclass="result"> extends <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.InteractWithRadiationClouds"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="InteractWithRadiationCloudsextendsZoneInteraction"class="anchorToMember"></a><aid="InteractWithRadiationClouds:InteractWithRadiationClouds"class="anchorToMember"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/InteractWithRadiationClouds.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">class</span></span><spanclass="symbol"><ahref="InteractWithRadiationClouds.html"title="This game entity may infrequently test whether it may interact with radiation cloud projectiles that may be emitted in the game environment for a limited amount of time."><spanclass="name">InteractWithRadiationClouds</span></a><spanclass="result"> extends <ahref="../zones/ZoneInteraction.html"name="net.psforever.objects.zones.ZoneInteraction"id="net.psforever.objects.zones.ZoneInteraction"class="extype">ZoneInteraction</a></span></span><pclass="shortcomment cmt">This game entity may infrequently test whether it may interact with radiation cloud projectiles
that may be emitted in the game environment for a limited amount of time.</p></li><liclass="indented0 "name="net.psforever.objects.ballistics.Projectile"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="ProjectileextendsPlanetSideGameObjectwithBlockMapEntitywithProductwithSerializable"class="anchorToMember"></a><aid="Projectile:Projectile"class="anchorToMember"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/Projectile.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="Projectile.html"title="A summation of weapon discharge."><spanclass="name">Projectile</span></a><spanclass="params">(<spanname="profile">profile: <ahref="../definition/ProjectileDefinition.html"name="net.psforever.objects.definition.ProjectileDefinition"id="net.psforever.objects.definition.ProjectileDefinition"class="extype">ProjectileDefinition</a></span>, <spanname="tool_def">tool_def: <ahref="../definition/ToolDefinition.html"name="net.psforever.objects.definition.ToolDefinition"id="net.psforever.objects.definition.ToolDefinition"class="extype">ToolDefinition</a></span>, <spanname="fire_mode">fire_mode: <ahref="../equipment/FireModeDefinition.html"name="net.psforever.objects.equipment.FireModeDefinition"id="net.psforever.objects.equipment.FireModeDefinition"class="extype">FireModeDefinition</a></span>, <spanname="mounted_in">mounted_in: <spanname="scala.Option"class="extype">Option</span>[(<spanname="scala.Int"class="extype">Int</span>, <ahref="../sourcing/SourceEntry.html"name="net.psforever.objects.sourcing.SourceEntry"id="net.psforever.objects.sourcing.SourceEntry"class="extype">SourceEntry</a>)]</span>, <spanname="owner">owner: <ahref="../sourcing/SourceEntry.html"name="net.psforever.objects.sourcing.SourceEntry"id="net.psforever.objects.sourcing.SourceEntry"class="extype">SourceEntry</a></span>, <spanname="attribute_to">attribute_to: <spanname="scala.Int"class="extype">Int</span></span>, <spanname="shot_origin">shot_origin: <ahref="../../types/Vector3.html"name="net.psforever.types.Vector3"id="net.psforever.types.Vector3"class="extype">Vector3</a></span>, <spanname="shot_angle">shot_angle: <ahref="../../types/Vector3.html"name="net.psforever.types.Vector3"id="net.psforever.types.Vector3"class="extype">Vector3</a></span>, <spanname="shot_velocity">shot_velocity: <spanname="scala.Option"class="extype">Option</span>[<ahref="../../types/Vector3.html"name="net.psforever.types.Vector3"id="net.psforever.types.Vector3"class="extype">Vector3</a>]</span>, <spanname="quality">quality: <ahref="ProjectileQuality.html"name="net.psforever.objects.ballistics.ProjectileQuality"id="net.psforever.objects.ballistics.ProjectileQuality"class="extype">ProjectileQuality</a> = <spanclass="symbol"><spanclass="name"><ahref="ProjectileQuality$.html">ProjectileQuality.Normal</a></span></span></span>, <spanname="id">id: <spanname="scala.Long"class="extype">Long</span> = <spanclass="defval"><spanclass="name"><ahref="Projectile$.html">Projectile.idGenerator.getAndIncrement()</a></span></span></span>, <spanname="fire_time">fire_time: <spanname="scala.Long"class="extype">Long</span> = <spanclass="symbol">System.currentTimeMillis()</span></span>)</span><spanclass="result"> extends <ahref="../PlanetSideGameObject.html"name="net.psforever.objects.PlanetSideGameObject"id="net.psforever.objects.PlanetSideGameObject"class="extype">PlanetSideGameObject</a> with <ahref="../zones/blockmap/BlockMapEntity.html"name="net.psforever.objects.zones.blockmap.BlockMapEntity"id="net.psforever.objects.zones.blockmap.BlockMapEntity"class="extype">BlockMapEntity</a> with <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span><pclass="shortcomment cmt">A summation of weapon discharge.</p><divclass="fullcomment"><divclas
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">shot_velocity</dt><ddclass="cmt"><p>the initial velocity coordinates of the projectile according to its world directions</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 (for modifying a continuous projectile reference)</p></dd><dtclass="param">fire_time</dt><ddclass="cmt"><p>when the weapon discharged was recorded;
defaults to <code>System.currentTimeMillis()</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"class="anchorToMember"></a><aid="ProjectileQuality:ProjectileQuality"class="anchorToMember"></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.SameAsQuality"group="Ungrouped"fullComment="no"data-isabs="true"visbl="pub"><aid="SameAsQualityextendsProjectileQuality"class="anchorToMember"></a><aid="SameAsQuality:SameAsQuality"class="anchorToMember"></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></ol></div><divclass="values members"><h3>Value Members</h3><ol><liclass="indented0 "name="net.psforever.objects.ballistics.AggravatedDamage"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="AggravatedDamage"class="anchorToMember"></a><aid="AggravatedDamage:AggravatedDamage"class="anchorToMember"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/AggravatedDamage$.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">object</span></span><spanclass="symbol"><ahref="AggravatedDamage$.html"title=""><spanclass="name">AggravatedDamage</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><liclass="indented0 "name="net.psforever.objects.ballistics.AggravatedTiming"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="AggravatedTiming"class="anchorToMember"></a><aid="AggravatedTiming:AggravatedTiming"class="anchorToMember"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/AggravatedTiming$.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">object</span></span><spanclass="symbol"><ahref="AggravatedTiming$.html"title=""><spanclass="name">AggravatedTiming</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><liclass="indented0 "name="net.psforever.objects.ballistics.Projectile"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="Projectile"class="anchorToMember"></a><aid="Projectile:Projectile"class="anchorToMember"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/Projectile$.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">object</span></span><spanclass="symbol"><ahref="Projectile$.html"title=""><spanclass="name">Projectile</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><liclass="indented0 "name="net.psforever.objects.ballistics.ProjectileQuality"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="ProjectileQuality"class="anchorToMember"></a><aid="ProjectileQuality:ProjectileQuality"class="anchorToMember"></a><spanclass="permalink"><ahref="../../../../net/psforever/objects/ballistics/ProjectileQuality$.html"title="Permalink"><iclass="material-