PSF-LoginServer/net/psforever/objects/serverobject/damage/Damageable.html

12 lines
39 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.serverobject.damage.Damageable</title><meta content="PSF - LoginServer - master - net.psforever.objects.serverobject.damage.Damageable" name="description"/><meta content="PSF LoginServer master net.psforever.objects.serverobject.damage.Damageable" 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.serverobject" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="serverobject"></a><a id="serverobject:serverobject"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/serverobject/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
A valid entity requires health points and
may have additional obstructions to adjusting those health points such as armor and shields.
All of these should be affected by the damage where applicable.
</p></div><dl class="attributes block"><dt>Source</dt><dd><a href="https://github.com/psforever/PSF-LoginServer/blob/master//home/runner/work/PSF-LoginServer/PSF-LoginServer/src/main/scala/net/psforever/objects/serverobject/damage/Damageable.scala" target="_blank">Damageable.scala</a></dd></dl><div class="toggleContainer"><div class="toggle block"><span>Linear Supertypes</span><div class="superTypes hiddenContent"><span name="scala.AnyRef" class="extype">AnyRef</span>, <span name="scala.Any" class="extype">Any</span></div></div></div><div class="toggleContainer"><div class="toggle block"><span>Known Subclasses</span><div class="subClasses hiddenContent"><a href="../../ExplosiveDeployableControl.html" name="net.psforever.objects.ExplosiveDeployableControl" id="net.psforever.objects.ExplosiveDeployableControl" class="extype">ExplosiveDeployableControl</a>, <a href="../../SensorDeployableControl.html" name="net.psforever.objects.SensorDeployableControl" id="net.psforever.objects.SensorDeployableControl" class="extype">SensorDeployableControl</a>, <a href="../../ShieldGeneratorControl.html" name="net.psforever.objects.ShieldGeneratorControl" id="net.psforever.objects.ShieldGeneratorControl" class="extype">ShieldGeneratorControl</a>, <a href="../../TrapDeployableControl.html" name="net.psforever.objects.TrapDeployableControl" id="net.psforever.objects.TrapDeployableControl" class="extype">TrapDeployableControl</a>, <a href="../../TurretControl.html" name="net.psforever.objects.TurretControl" id="net.psforever.objects.TurretControl" class="extype">TurretControl</a>, <a href="../../avatar/PlayerControl.html" name="net.psforever.objects.avatar.PlayerControl" id="net.psforever.objects.avatar.PlayerControl" class="extype">PlayerControl</a>, <a href="DamageableAmenity.html" name="net.psforever.objects.serverobject.damage.DamageableAmenity" id="net.psforever.objects.serverobject.damage.DamageableAmenity" class="extype">DamageableAmenity</a>, <a href="DamageableEntity.html" name="net.psforever.objects.serverobject.damage.DamageableEntity" id="net.psforever.objects.serverobject.damage.DamageableEntity" class="extype">DamageableEntity</a>, <a href="DamageableVehicle.html" name="net.psforever.objects.serverobject.damage.DamageableVehicle" id="net.psforever.objects.serverobject.damage.DamageableVehicle" class="extype">DamageableVehicle</a>, <a href="DamageableWeaponTurret.html" name="net.psforever.objects.serverobject.damage.DamageableWeaponTurret" id="net.psforever.objects.serverobject.damage.DamageableWeaponTurret" class="extype">DamageableWeaponTurret</a>, <a href="../generator/GeneratorControl.html" name="net.psforever.objects.serverobject.generator.GeneratorControl" id="net.psforever.objects.serverobject.generator.GeneratorControl" class="extype">GeneratorControl</a>, <a href="../terminals/ProximityTerminalControl.html" name="net.psforever.objects.serverobject.terminals.ProximityTerminalControl" id="net.psforever.objects.serverobject.terminals.ProximityTerminalControl" class="extype">ProximityTerminalControl</a>, <a href="../terminals/TerminalControl.html" name="net.psforever.objects.serverobject.terminals.TerminalControl" id="net.psforever.objects.serverobject.terminals.TerminalControl" class="extype">TerminalControl</a>, <a href="../terminals/implant/ImplantTerminalMechControl.html" name="net.psforever.objects.serverobject.terminals.implant.ImplantTerminalMechControl" id="net.psforever.objects.serverobject.terminals.implant.ImplantTerminalMechControl" class="extype">ImplantTerminalMechControl</a>, <a href="../tube/SpawnTubeControl.html" name="net.psforever.objects.serverobject.tube.SpawnTubeControl" id="net.psforever.objects.serverobject.tube.SpawnTubeControl" class="extype">SpawnTubeControl</a>, <a href="../turret/FacilityTurretControl.html" name="net.psforever.objects.serverobject.turret.FacilityTurretControl" id="net.psforever.objects.serverobject.turret.FacilityTurretControl" class="extype">FacilityTurretControl</a>, <a href="../../vehicles/VehicleControl.html" name="net.psforever.objects.vehicles.VehicleControl" id="net.psfo
Needs declaration in lowest implementing code.</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>the entity controlled by this actor</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.serverobject.damage.Damageable#PerformDamage" group="Ungrouped" fullComment="yes" data-isabs="true" visbl="prt"><a id="PerformDamage(target:net.psforever.objects.serverobject.damage.Damageable.Target,applyDamageTo:net.psforever.objects.vital.resolution.ResolutionCalculations.Output):Unit"></a><a id="PerformDamage(Target,Output):Unit"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/serverobject/damage/Damageable.html#PerformDamage(target:net.psforever.objects.serverobject.damage.Damageable.Target,applyDamageTo:net.psforever.objects.vital.resolution.ResolutionCalculations.Output):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">abstract </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">PerformDamage</span><span class="params">(<span name="target">target: <a href="Damageable$.html#Target=net.psforever.objects.serverobject.PlanetSideServerObjectwithnet.psforever.objects.vital.Vitality" name="net.psforever.objects.serverobject.damage.Damageable.Target" id="net.psforever.objects.serverobject.damage.Damageable.Target" class="extmbr">Target</a></span>, <span name="applyDamageTo">applyDamageTo: <a href="../../vital/resolution/ResolutionCalculations$.html#Output=net.psforever.objects.PlanetSideGameObjectwithnet.psforever.objects.serverobject.affinity.FactionAffinity=&gt;net.psforever.objects.vital.interaction.DamageResult" name="net.psforever.objects.vital.resolution.ResolutionCalculations.Output" id="net.psforever.objects.vital.resolution.ResolutionCalculations.Output" class="extmbr">Output</a></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><p class="shortcomment cmt">Assess the vital statistics of the target, apply the damage, and determine if any of those statistics changed.</p><div class="fullcomment"><div class="comment cmt"><p>Assess the vital statistics of the target, apply the damage, and determine if any of those statistics changed.
By default, only take an interest in the change of "health".
If implementing custom damage with no new message handling, override this method.</p></div><dl class="paramcmts block"><dt class="param">target</dt><dd class="cmt"><p>the entity to be damaged</p></dd><dt class="param">applyDamageTo</dt><dd class="cmt"><p>the function that applies the damage to the target in a target-tailored fashion</p></dd></dl><dl class="attributes block"><dt>Attributes</dt><dd>protected </dd><dt>See also</dt><dd><span class="cmt"><p><code>ResolutionCalculations.Output</code></p></span></dd></dl></div></li></ol></div><div class="values members"><h3>Concrete Value Members</h3><ol><li class="indented0 " name="scala.AnyRef#!=" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="!=(x$1:Any):Boolean"></a><a id="!=(Any):Boolean"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/serverobject/damage/Damageable.html#!=(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $bang$eq">!=</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef###" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="##:Int"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/serverobject/damage/Damageable.html###:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $hash$hash">##</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#==" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="==(x$1:Any):Boolean"></a><a id="==(Any):Boolean"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/serverobject/damage/Damageable.html#==(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $eq$eq">==</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.Any#asInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="asInstanceOf[T0]:T0"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/serverobject/damage/Damageable.html#asInstanceOf[T0]:T0" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span name="scala.Any.asInstanceOf.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#clone" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="clone():Object"></a><a id="clone():AnyRef"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/serverobject/damage/Damageable.html#clone():Object" title="Permalink"><
<code>orElse</code> onto the "control" <code>Actor</code> <code>receive</code>; or,
cite the <code>originalTakesDamage</code> protocol during inheritance overrides</p></li><li class="indented0 " name="scala.AnyRef#toString" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="toString():String"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/serverobject/damage/Damageable.html#toString():String" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">toString</span><span class="params">()</span><span class="result">: <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#java.lang.String" name="java.lang.String" id="java.lang.String" class="extype">String</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait():Unit"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/serverobject/damage/Damageable.html#wait():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">wait</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long,x$2:Int):Unit"></a><a id="wait(Long,Int):Unit"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/serverobject/damage/Damageable.html#wait(x$1:Long,x$2:Int):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>, <span name="arg1">arg1: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long):Unit"></a><a id="wait(Long):Unit"></a> <span class="permalink"><a href="../../../../../net/psforever/objects/serverobject/damage/Damageable.html#wait(x$1:Long):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> <span class="name">@native</span><span class="args">()</span> </dd></dl></div></li></ol></div></div><div id="inheritedMembers"><div name="scala.AnyRef" class="parent"><h3>Inherited from <span name="scala.AnyRef" cl