PSF-LoginServer/net/psforever/objects/ballistics/index.html

39 lines
66 KiB
HTML
Raw Normal View History

<!DOCTYPE html ><html><head><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/><title>PSF-LoginServer - master - net.psforever.objects.ballistics</title><meta content="PSF - LoginServer - master - net.psforever.objects.ballistics" name="description"/><meta content="PSF LoginServer master net.psforever.objects.ballistics" name="keywords"/><meta http-equiv="content-type" content="text/html; charset=UTF-8"/><link href="../../../../lib/index.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../../lib/template.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../../lib/print.css" media="print" type="text/css" rel="stylesheet"/><link href="../../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css"/><script type="text/javascript" src="../../../../lib/jquery.min.js"></script><script type="text/javascript" src="../../../../lib/index.js"></script><script type="text/javascript" src="../../../../index.js"></script><script type="text/javascript" src="../../../../lib/scheduler.js"></script><script type="text/javascript" src="../../../../lib/template.js"></script><script type="text/javascript">/* this variable can be used by the JS to determine the path to the root document */
var toRoot = '../../../../';</script></head><body><div id="search"><span id="doc-title">PSF-LoginServer - <span id="doc-version">master</span></span> <span class="close-results"><span class="left">&lt;</span> Back</span><div id="textfilter"><span class="input"><input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/"/><i class="clear material-icons"></i><i id="search-icon" class="material-icons"></i></span></div></div><div id="search-results"><div id="search-progress"><div id="progress-fill"></div></div><div id="results-content"><div id="entity-results"></div><div id="member-results"></div></div></div><div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;"><div id="content-container" style="-webkit-overflow-scrolling: touch;"><div id="subpackage-spacer"><div id="packages"><h1>Packages</h1><ul><li class="indented0 " name="_root_.root" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="_root_"></a><a id="root:_root_"></a> <span class="permalink"><a href="../../../../index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../../index.html" title=""><span class="name">root</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented1 " name="_root_.net" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="net"></a><a id="net:net"></a> <span class="permalink"><a href="../../../../net/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../index.html" title=""><span class="name">net</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented2 " name="net.psforever" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="psforever"></a><a id="psforever:psforever"></a> <span class="permalink"><a href="../../../../net/psforever/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../index.html" title=""><span class="name">psforever</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../index.html" name="net" id="net" class="extype">net</a></dd></dl></div></li><li class="indented3 " name="net.psforever.objects" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="objects"></a><a id="objects:objects"></a> <span class="permalink"><a href="../../../../net/psforever/objects/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../index.html" title=""><span class="name">objects</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../index.html" name="net.psforever" id="net.psforever" class="extype">psforever</a></dd></dl></div></li><li class="indented4 " name="net.psforever.objects.avatar" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="avatar"></a><a id="avatar:avatar"></a> <span class="permalink"><a href="../../../../net/psforever/objects/avatar/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../avatar/index.html" title=""><span class="name">avatar</span></
Only <code>Direct</code> and <code>Splash</code> are valid damage types, however.</p></div><dl class="paramcmts block"><dt class="param">damage_type</dt><dd class="cmt"><p>the type of damage</p></dd><dt class="param">degradation_percentage</dt><dd class="cmt"><p>by how much the damage is degraded</p></dd><dt class="param">infliction_rate</dt><dd class="cmt"><p>how often the damage is inflicted (ms)</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.ballistics.AggravatedTiming" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="AggravatedTimingextendsProductwithSerializable"></a><a id="AggravatedTiming:AggravatedTiming"></a> <span class="permalink"><a href="../../../../net/psforever/objects/ballistics/AggravatedTiming.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">case class</span></span> <span class="symbol"><a href="AggravatedTiming.html" title="In what manner of pacing the aggravated damage ticks are applied."><span class="name">AggravatedTiming</span></a><span class="params">(<span name="duration">duration: <span name="scala.Long" class="extype">Long</span></span>, <span name="ticks">ticks: <span name="scala.Option" class="extype">Option</span>[<span name="scala.Int" class="extype">Int</span>]</span>)</span><span class="result"> extends <span name="scala.Product" class="extype">Product</span> with <span name="scala.Serializable" class="extype">Serializable</span></span></span><p class="shortcomment cmt">In what manner of pacing the aggravated damage ticks are applied.</p><div class="fullcomment"><div class="comment cmt"><p>In what manner of pacing the aggravated damage ticks are applied.</p></div><dl class="paramcmts block"><dt class="param">duration</dt><dd class="cmt"><p>for how long the over-all effect is applied</p></dd><dt class="param">ticks</dt><dd class="cmt"><p>a custom number of damage applications,
as opposed to whatever calculations normally estimate the number of applications</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.ballistics.ComplexDeployableSource" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="ComplexDeployableSourceextendsSourceEntrywithProductwithSerializable"></a><a id="ComplexDeployableSource:ComplexDeployableSource"></a> <span class="permalink"><a href="../../../../net/psforever/objects/ballistics/ComplexDeployableSource.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">case class</span></span> <span class="symbol"><a href="ComplexDeployableSource.html" title=""><span class="name">ComplexDeployableSource</span></a><span class="params">(<span name="obj_def">obj_def: <a href="../definition/ObjectDefinition.html" name="net.psforever.objects.definition.ObjectDefinition" id="net.psforever.objects.definition.ObjectDefinition" class="extype">ObjectDefinition</a> with <a href="../definition/DeployableDefinition.html" name="net.psforever.objects.definition.DeployableDefinition" id="net.psforever.objects.definition.DeployableDefinition" class="extype">DeployableDefinition</a></span>, <span name="faction">faction: <a href="../../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>, <span name="health">health: <span name="scala.Int" class="extype">Int</span></span>, <span name="shields">shields: <span name="scala.Int" class="extype">Int</span></span>, <span name="ownerName">ownerName: <span name="scala.Predef.String" class="extype">String</span></span>, <span name="position">position: <a href="../../types/Vector3.html" name="net.psforever.types.Vector3" id="net.psforever.types.Vector3" class="extype">Vector3</a></span>, <span name="orientation">orientation: <a href="../../types/Vector3.html" name="net.psforever.types.Vector3" id="net.psforever.types.Vector3" class="extype">Vector3</a></span>)</span><span class="result"> extends <a href="SourceEntry.html" name="net.psforever.objects.ballistics.SourceEntry" id="net.psforever.objects.ballistics.SourceEntry" class="extype">SourceEntry</a> with <span name="scala.Product" class="extype">Product</span> with <span name="scala.Serializable" class="extype">Serializable</span></span></span></li><li class="indented0 " name="net.psforever.objects.ballistics.DeployableSource" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="DeployableSourceextendsSourceEntrywithProductwithSerializable"></a><a id="DeployableSource:DeployableSource"></a> <span class="permalink"><a href="../../../../net/psforever/objects/ballistics/DeployableSource.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">case class</span></span> <span class="symbol"><a href="DeployableSource.html" title=""><span class="name">DeployableSource</span></a><span class="params">(<span name="obj_def">obj_def: <a href="../definition/ObjectDefinition.html" name="net.psforever.objects.definition.ObjectDefinition" id="net.psforever.objects.definition.ObjectDefinition" class="extype">ObjectDefinition</a> with <a href="../definition/DeployableDefinition.html" name="net.psforever.objects.definition.DeployableDefinition" id="net.psforever.objects.definition.DeployableDefinition" class="extype">DeployableDefinition</a></span>, <span name="faction">faction: <a href="../../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>, <span name="health">health: <span name="scala.Int" class="extype">Int</span></span>, <span name="ownerName">ownerName: <span name="scala.Predef.St
most often a player (<code>PlayerSource</code>)</p></dd><dt class="param">attribute_to</dt><dd class="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><dt class="param">shot_origin</dt><dd class="cmt"><p>where the projectile started</p></dd><dt class="param">shot_angle</dt><dd class="cmt"><p>in which direction the projectile was aimed when it was discharged</p></dd><dt class="param">quality</dt><dd class="cmt"><p>na</p></dd><dt class="param">id</dt><dd class="cmt"><p>an exclusive identifier for this projectile;
normally generated internally, but can be manually set</p></dd><dt class="param">fire_time</dt><dd class="cmt"><p>when the weapon discharged was recorded;
defaults to <code>System.nanoTime</code></p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>ProjectileDefinition</code></p></span><span class="cmt"><p><code>ToolDefinition</code></p></span><span class="cmt"><p><code>FireModeDefinition</code></p></span><span class="cmt"><p><code>SourceEntry</code></p></span><span class="cmt"><p><code>PlayerSource</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.ballistics.ProjectileQuality" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="pub"><a id="ProjectileQualityextendsAnyRef"></a><a id="ProjectileQuality:ProjectileQuality"></a> <span class="permalink"><a href="../../../../net/psforever/objects/ballistics/ProjectileQuality.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">sealed </span> <span class="kind">trait</span></span> <span class="symbol"><a href="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)."><span class="name">ProjectileQuality</span></a><span class="result"> extends <span name="scala.AnyRef" class="extype">AnyRef</span></span></span><p class="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><div class="fullcomment"><div class="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><li class="indented0 " name="net.psforever.objects.ballistics.ResolvedProjectile" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="ResolvedProjectileextendsProductwithSerializable"></a><a id="ResolvedProjectile:ResolvedProjectile"></a> <span class="permalink"><a href="../../../../net/psforever/objects/ballistics/ResolvedProjectile.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">case class</span></span> <span class="symbol"><a href="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."><span class="name">ResolvedProjectile</span></a><span class="params">(<span name="resolution">resolution: <a href="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>, <span name="projectile">projectile: <a href="Projectile.html" name="net.psforever.objects.ballistics.Projectile" id="net.psforever.objects.ballistics.Projectile" class="extype">Projectile</a></span>, <span name="target">target: <a href="SourceEntry.html" name="net.psforever.objects.ballistics.SourceEntry" id="net.psforever.objects.ballistics.SourceEntry" class="extype">SourceEntry</a></span>, <span name="damage_model">damage_model: <a href="../vital/DamageResistanceModel.html" name="net.psforever.objects.vital.DamageResistanceModel" id="net.psforever.objects.vital.DamageResistanceModel" class="extype">DamageResistanceModel</a></span>, <span name="hit_pos">hit_pos: <a href="../../types/Vector3.html" name="net.psforever.types.Vector3" id="net.psforever.types.Vector3" class="extype">Vector3</a></span>)</span><span class="result"> extends <span name="scala.Product" class="extype">Product</span> with <span name="scala.Serializable" class="extype">Serializable</span></span></span><p class="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><div class="fullcomment"><div class="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><dl class="paramcmts block"><dt class="param">projectile</dt><dd class="cmt"><p>the original projectile</p></dd><dt class="param">target</dt><dd class="cmt"><p>what the projectile hit</p></dd><dt class="param">damage_model</dt><dd class="cmt"><p>the kind of damage model to which the <code>target</code> is/was subject</p></dd><dt class="param">hit_pos</dt><dd class="cmt"><p>where the projectile hit</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.ballistics.SameAsQuality" group="Ungrouped" fullComment="no" data-isabs="true" visbl="pub"><a id="SameAsQualityextendsProjectileQuality"></a><a id="SameAsQuality:SameAsQuality"></a> <span class="permalink"><a href="../../../../net/psforever/objects/ballistics/SameAsQuality.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">sealed </span> <span class="kind">trait</span></span> <span class="symbol"><a href="SameAsQuality.html" title="Implement the numeric modifier with the value as one."><span class="name">SameAsQuality</span></a><span class="result"> extends <a href="ProjectileQuality.html" name="net.psforever.objects.ballistics.ProjectileQuality" id="net.psforever.objects.ballistics.ProjectileQuality" class="extype">ProjectileQuality</a></span></span><p class="shortcomment cmt">Implement the numeric modifier with the value as one.</p></li><li class="indented0 " name="net.psforever.objects.ballistics.SourceEntry" group="Ungrouped" fullComment="no" data-isabs="true" visbl="pub"><a id="SourceEntryextendsWorldEntity"></a><a id="SourceEntry:SourceEntry"></a> <span class="permalink"><a href="../../../../net/psforever/objects/ballistics/SourceEntry.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">trait</span></span> <span class="symbol"><a href="SourceEntry.html" title=""><span class="name">SourceEntry</span></a><span class="result"> extends <a href="../entity/WorldEntity.html" name="net.psforever.objects.entity.WorldEntity" id="net.psforever.objects.entity.WorldEntity" class="extype">WorldEntity</a></span></span></li><li class="indented0 " name="net.psforever.objects.ballistics.VehicleSource" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="VehicleSourceextendsSourceEntrywithProductwithSerializable"></a><a id="VehicleSource:VehicleSource"></a> <span class="permalink"><a href="../../../../net/psforever/objects/ballistics/VehicleSource.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">case class</span></span> <span class="symbol"><a href="VehicleSource.html" title=""><span class="name">VehicleSource</span></a><span class="params">(<span name="obj_def">obj_def: <a href="../definition/VehicleDefinition.html" name="net.psforever.objects.definition.VehicleDefinition" id="net.psforever.objects.definition.VehicleDefinition" class="extype">VehicleDefinition</a></span>, <span name="faction">faction: <a href="../../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>, <span name="health">health: <span name="scala.Int" class="extype">Int</span></span>, <span name="shields">shields: <span name="scala.Int" class="extype">Int</span></span>, <span name="position">position: <a href="../../types/Vector3.html" name="net.psforever.types.Vector3" id="net.psforever.types.Vector3" class="extype">Vector3</a></span>, <span name="orientation">orientation: <a href="../../types/Vector3.html" name="net.psforever.types.Vector3" id="net.psforever.types.Vector3" class="extype">Vector3</a></span>, <span name="velocity">velocity: <span name="scala.Option" class="extype">Option</span>[<a href="../../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><div class="fullcomment"><div class="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><li class="indented0 " name="net.psforever.objects.ballistics.Projectiles" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="Projectiles"></a><a id="Projectiles:Projectiles"></a> <span class="permalink"><a href="../../../../net/psforever/objects/ballistics/Projectiles$.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">object</span></span> <span class="symbol"><a href="Projectiles$.html" title="An Enumeration of all the projectile types in the game, paired with their object id as the Value."><span class="name">Projectiles</span></a><span class="result"> extends <span name="scala.Enumeration" class="extype">Enumeration</span></span></span><p class="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><li class="indented0 " name="net.psforever.objects.ballistics.SourceEntry" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="SourceEntry"></a><a id="SourceEntry:SourceEntry"></a> <span class="permalink"><a href="../../../../net/psforever/objects/ballistics/SourceEntry$.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">object</span></span> <span class="symbol"><a href="SourceEntry$.html" title=""><span class="name">SourceEntry</span></a></span></li><li class="indented0 " name="net.psforever.objects.ballistics.VehicleSource" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="VehicleSource"></a><a id="VehicleSource:VehicleSource"></a> <span class="permalink"><a href="../../../../net/psforever/objects/ballistics/VehicleSource$.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">object</span></span> <span class="symbol"><a href="VehicleSource$.html" title=""><span class="name">VehicleSource</span></a><span class="result"> extends <a href="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><div id="inheritedMembers"></div><div id="groupedMembers"><div name="Ungrouped" class="group"><h3>Ungrouped</h3></div></div></div><div id="tooltip"></div><div id="footer"></div></body></div></div></div></body></html>