Both upgrade paths are possible using the nano dispenser with an armor canister,
and can only be started when the generator is undamaged.</p></div><dlclass="paramcmts block"><dtclass="param">player</dt><ddclass="cmt"><p>the user of the nano dispenser tool</p></dd><dtclass="param">item</dt><ddclass="cmt"><p>the nano dispenser tool</p></dd></dl><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref=""name="net.psforever.objects.ShieldGeneratorControl"id="net.psforever.objects.ShieldGeneratorControl"class="extype">ShieldGeneratorControl</a> → <ahref="serverobject/repair/RepairableEntity.html"name="net.psforever.objects.serverobject.repair.RepairableEntity"id="net.psforever.objects.serverobject.repair.RepairableEntity"class="extype">RepairableEntity</a> → <ahref="serverobject/repair/Repairable.html"name="net.psforever.objects.serverobject.repair.Repairable"id="net.psforever.objects.serverobject.repair.Repairable"class="extype">Repairable</a></dd><dt>See also</dt><dd><spanclass="cmt"><p><code>PlanetSideGameObject.CanRepair</code></p></span><spanclass="cmt"><p><code>RepairableEntity.CanPerformRepairs</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.repair.RepairableEntity#CanPerformRepairs"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="CanPerformRepairs(target:net.psforever.objects.serverobject.repair.Repairable.Target,player:net.psforever.objects.Player,item:net.psforever.objects.Tool):Boolean"></a><aid="CanPerformRepairs(Target,Player,Tool):Boolean"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#CanPerformRepairs(target:net.psforever.objects.serverobject.repair.Repairable.Target,player:net.psforever.objects.Player,item:net.psforever.objects.Tool):Boolean"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">CanPerformRepairs</span><spanclass="params">(<spanname="target">target: <ahref="serverobject/repair/Repairable$.html#Target=net.psforever.objects.serverobject.PlanetSideServerObjectwithnet.psforever.objects.vital.Vitality"name="net.psforever.objects.serverobject.repair.Repairable.Target"id="net.psforever.objects.serverobject.repair.Repairable.Target"class="extmbr">Target</a></span>, <spanname="player">player: <ahref="Player.html"name="net.psforever.objects.Player"id="net.psforever.objects.Player"class="extype">Player</a></span>, <spanname="item">item: <ahref="Tool.html"name="net.psforever.objects.Tool"id="net.psforever.objects.Tool"class="extype">Tool</a></span>)</span><spanclass="result">: <spanname="scala.Boolean"class="extype">Boolean</span></span></span><pclass="shortcomment cmt">Test the combination of target entity, equipment user, and the equipment
to determine if the repair process attempt would be permitted.</p><divclass="fullcomment"><divclass="comment cmt"><p>Test the combination of target entity, equipment user, and the equipment
to determine if the repair process attempt would be permitted.
It is not necessary to check that the tool and its ammunition are correct types;
that test was already performed.<br>
<br>
The target entity must be repairable and have less than full health
and, if it is destroyed, must have an object attribute that permits it to be repaired after being destroyed.<br>
The user must have the same faction affinity as the target entity or be neutral.<br>
The equipment must have some ammunition.<br>
The user must be alive and be within a certain distance of the target entity.</p></div><dlclass="paramcmts block"><dtclass="param">target</dt><ddclass="cmt"><p>the entity being repaired</p></dd><dtclass="param">player</dt><ddclass="cmt"><p>the user of the nano dispenser tool</p></dd><dtclass="param">item</dt><ddclass="cmt"><p>the nano dispenser tool</p></dd><dt>returns</dt><ddclass="cmt"><p><code>true</code>, if the target entity can be repaired;
Due to considerations of the object that is the target, this is left to be implemented by a subclass.
We merely stop the timer.</p></div><dlclass="paramcmts block"><dtclass="param">target</dt><ddclass="cmt"><p>an object that can be affected by the jammered status</p></dd></dl><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref=""name="net.psforever.objects.ShieldGeneratorControl"id="net.psforever.objects.ShieldGeneratorControl"class="extype">ShieldGeneratorControl</a> → <ahref="equipment/JammableBehavior.html"name="net.psforever.objects.equipment.JammableBehavior"id="net.psforever.objects.equipment.JammableBehavior"class="extype">JammableBehavior</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.ShieldGeneratorControl#CancelJammeredStatus"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="CancelJammeredStatus(target:Any):Unit"></a><aid="CancelJammeredStatus(Any):Unit"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#CancelJammeredStatus(target:Any):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">CancelJammeredStatus</span><spanclass="params">(<spanname="target">target: <spanname="scala.Any"class="extype">Any</span></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">Deactivate the effects of the jammered status.</p><divclass="fullcomment"><divclass="comment cmt"><p>Deactivate the effects of the jammered status.
Due to considerations of the object that is the target, this is left to be implemented by a subclass.
We merely stop the timer.</p></div><dlclass="paramcmts block"><dtclass="param">target</dt><ddclass="cmt"><p>an object that can be affected by the jammered status</p></dd></dl><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref=""name="net.psforever.objects.ShieldGeneratorControl"id="net.psforever.objects.ShieldGeneratorControl"class="extype">ShieldGeneratorControl</a> → <ahref="equipment/JammableBehavior.html"name="net.psforever.objects.equipment.JammableBehavior"id="net.psforever.objects.equipment.JammableBehavior"class="extype">JammableBehavior</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.ShieldGeneratorControl#DamageAwareness"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="DamageAwareness(target:net.psforever.objects.serverobject.damage.Damageable.Target,cause:net.psforever.objects.ballistics.ResolvedProjectile,amount:Any):Unit"></a><aid="DamageAwareness(Target,ResolvedProjectile,Any):Unit"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#DamageAwareness(target:net.psforever.objects.serverobject.damage.Damageable.Target,cause:net.psforever.objects.ballistics.ResolvedProjectile,amount:Any):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">DamageAwareness</span><spanclass="params">(<spanname="target">target: <ahref="serverobject/damage/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>, <spanname="cause">cause: <ahref="ballistics/ResolvedProjectile.html"name="net.psforever.objects.ballistics.ResolvedProjectile"id="net.psforever.objects.ballistics.ResolvedProjectile"class="extype">ResolvedProjectile</a></span>, <spanname="amount">amount: <spanname="scala.Any"class="extype">Any</span></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">What happens when damage is sustained but the target does not get destroyed.</p><divclass="fullcomment"><divclass="comment cmt"><p>What happens when damage is sustained but the target does not get destroyed.</p></div><dlclass="paramcmts block"><dtclass="param">target</dt><ddclass="cmt"><p>the entity being damaged</p></dd><dtclass="param">cause</dt><ddclass="cmt"><p>historical information about the damage</p></dd><dtclass="param">amount</dt><ddclass="cmt"><p>the amount of damage</p></dd></dl><dlclass="attributes block"><dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd><ahref=""name="net.psforever.objects.ShieldGeneratorControl"id="net.psforever.objects.ShieldGeneratorControl"class="extype">ShieldGeneratorControl</a> → <ahref="serverobject/damage/DamageableEntity.html"name="net.psforever.objects.serverobject.damage.DamageableEntity"id="net.psforever.objects.serverobject.damage.DamageableEntity"class="extype">DamageableEntity</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.damage.DamageableEntity#DamageLog"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="DamageLog(target:net.psforever.objects.serverobject.damage.Damageable.Target,msg:String):Unit"></a><aid="DamageLog(Target,String):Unit"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#DamageLog(target:net.psforever.objects.serverobject.damage.Damageable.Target,msg:String):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">DamageLog</span><spanclass="params">(<spanname="target">target: <ahref="serverobject/damage/Damageable$.html#Targe
The decorator is constructed by the <code>Actor</code> name of the entity, sliced after the last forward/slash.
For example, for "foo/bar/name", the decorator is just "name".</p></div><dlclass="paramcmts block"><dtclass="param">target</dt><ddclass="cmt"><p>the entity to be used for the decorator</p></dd><dtclass="param">msg</dt><ddclass="cmt"><p>the message for the damage log</p></dd></dl><dlclass="attributes block"><dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd><ahref="serverobject/damage/DamageableEntity.html"name="net.psforever.objects.serverobject.damage.DamageableEntity"id="net.psforever.objects.serverobject.damage.DamageableEntity"class="extype">DamageableEntity</a></dd><dt>See also</dt><dd><spanclass="cmt"><p><code>PlanetSideServerObject</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.damage.DamageableEntity#DamageLog"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="DamageLog(msg:String):Unit"></a><aid="DamageLog(String):Unit"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#DamageLog(msg:String):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">DamageLog</span><spanclass="params">(<spanname="msg">msg: <spanname="scala.Predef.String"class="extype">String</span></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">Log a damage message.</p><divclass="fullcomment"><divclass="comment cmt"><p>Log a damage message.</p></div><dlclass="paramcmts block"><dtclass="param">msg</dt><ddclass="cmt"><p>the message for the damage log</p></dd></dl><dlclass="attributes block"><dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd><ahref="serverobject/damage/DamageableEntity.html"name="net.psforever.objects.serverobject.damage.DamageableEntity"id="net.psforever.objects.serverobject.damage.DamageableEntity"class="extype">DamageableEntity</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.ShieldGeneratorControl#DamageableObject"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="DamageableObject:net.psforever.objects.ShieldGeneratorDeployable"></a><aid="DamageableObject:ShieldGeneratorDeployable"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#DamageableObject:net.psforever.objects.ShieldGeneratorDeployable"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">DamageableObject</span><spanclass="result">: <ahref="ShieldGeneratorDeployable.html"name="net.psforever.objects.ShieldGeneratorDeployable"id="net.psforever.objects.ShieldGeneratorDeployable"class="extype">ShieldGeneratorDeployable</a></span></span><pclass="shortcomment cmt">Contextual access to the object being the target of this damage.</p><divclass="fullcomment"><divclass="comment cmt"><p>Contextual access to the object being the target of this damage.
Needs declaration in lowest implementing code.</p></div><dlclass="paramcmts block"><dt>returns</dt><ddclass="cmt"><p>the entity controlled by this actor</p></dd></dl><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref=""name="net.psforever.objects.ShieldGeneratorControl"id="net.psforever.objects.ShieldGeneratorControl"class="extype">ShieldGeneratorControl</a> → <ahref="serverobject/damage/Damageable.html"name="net.psforever.objects.serverobject.damage.Damageable"id="net.psforever.objects.serverobject.damage.Damageable"class="extype">Damageable</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.ShieldGeneratorControl#DestructionAwareness"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="DestructionAwareness(target:net.psforever.objects.serverobject.damage.Damageable.Target,cause:net.psforever.objects.ballistics.ResolvedProjectile):Unit"></a><aid="DestructionAwareness(Target,ResolvedProjectile):Unit"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#DestructionAwareness(target:net.psforever.objects.serverobject.damage.Damageable.Target,cause:net.psforever.objects.ballistics.ResolvedProjectile):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">DestructionAwareness</span><spanclass="params">(<spanname="target">target: <ahref="serverobject/damage/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>, <spanname="cause">cause: <ahref="ballistics/ResolvedProjectile.html"name="net.psforever.objects.ballistics.ResolvedProjectile"id="net.psforever.objects.ballistics.ResolvedProjectile"class="extype">ResolvedProjectile</a></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">What happens when the target sustains too much damage and is destroyed.</p><divclass="fullcomment"><divclass="comment cmt"><p>What happens when the target sustains too much damage and is destroyed.</p></div><dlclass="paramcmts block"><dtclass="param">target</dt><ddclass="cmt"><p>the entity being destroyed</p></dd><dtclass="param">cause</dt><ddclass="cmt"><p>historical information about the damage</p></dd></dl><dlclass="attributes block"><dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd><ahref=""name="net.psforever.objects.ShieldGeneratorControl"id="net.psforever.objects.ShieldGeneratorControl"class="extype">ShieldGeneratorControl</a> → <ahref="serverobject/damage/DamageableEntity.html"name="net.psforever.objects.serverobject.damage.DamageableEntity"id="net.psforever.objects.serverobject.damage.DamageableEntity"class="extype">DamageableEntity</a></dd><dt>See also</dt><dd><spanclass="cmt"><p><code>Damageable.DestructionAwareness</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.damage.DamageableEntity#HandleDamage"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="HandleDamage(target:net.psforever.objects.serverobject.damage.Damageable.Target,cause:net.psforever.objects.ballistics.ResolvedProjectile,damage:Any):Unit"></a><aid="HandleDamage(Target,ResolvedProjectile,Any):Unit"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#HandleDamage(target:net.psforever.objects.serverobject.damage.Damageable.Target,cause:net.psforever.objects.ballistics.ResolvedProjectile,damage:Any):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">HandleDamage</span><spanclass="params">(<span
If implementing custom <code>DamageableAmenity</code> with no new message handling, choose to override this method.</p></div><dlclass="paramcmts block"><dtclass="param">target</dt><ddclass="cmt"><p>the entity to be damaged</p></dd><dtclass="param">applyDamageTo</dt><ddclass="cmt"><p>the function that applies the damage to the target in a target-tailored fashion</p></dd></dl><dlclass="attributes block"><dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd><ahref=""name="net.psforever.objects.ShieldGeneratorControl"id="net.psforever.objects.ShieldGeneratorControl"class="extype">ShieldGeneratorControl</a> → <ahref="serverobject/damage/DamageableEntity.html"name="net.psforever.objects.serverobject.damage.DamageableEntity"id="net.psforever.objects.serverobject.damage.DamageableEntity"class="extype">DamageableEntity</a> → <ahref="serverobject/damage/Damageable.html"name="net.psforever.objects.serverobject.damage.Damageable"id="net.psforever.objects.serverobject.damage.Damageable"class="extype">Damageable</a></dd><dt>See also</dt><dd><spanclass="cmt"><p><code>DamageableAmenity.TakesDamage</code></p></span><spanclass="cmt"><p><code>ResolutionCalculations.Output</code></p></span><spanclass="cmt"><p><code>Vitality.Health</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.repair.RepairableEntity#PerformRepairs"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="PerformRepairs(target:net.psforever.objects.serverobject.repair.Repairable.Target,player:net.psforever.objects.Player,item:net.psforever.objects.Tool):Unit"></a><aid="PerformRepairs(Target,Player,Tool):Unit"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#PerformRepairs(target:net.psforever.objects.serverobject.repair.Repairable.Target,player:net.psforever.objects.Player,item:net.psforever.objects.Tool):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">PerformRepairs</span><spanclass="params">(<spanname="target">target: <ahref="serverobject/repair/Repairable$.html#Target=net.psforever.objects.serverobject.PlanetSideServerObjectwithnet.psforever.objects.vital.Vitality"name="net.psforever.objects.serverobject.repair.Repairable.Target"id="net.psforever.objects.serverobject.repair.Repairable.Target"class="extmbr">Target</a></span>, <spanname="player">player: <ahref="Player.html"name="net.psforever.objects.Player"id="net.psforever.objects.Player"class="extype">Player</a></span>, <spanname="item">item: <ahref="Tool.html"name="net.psforever.objects.Tool"id="net.psforever.objects.Tool"class="extype">Tool</a></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">Calculate the health points change and enact that repair action if the targets are stationary.</p><divclass="fullcomment"><divclass="comment cmt"><p>Calculate the health points change and enact that repair action if the targets are stationary.
Restore the target entity to a not destroyed state if applicable.
Always show the repair progress bar window by using the appropriate packet.</p></div><dlclass="paramcmts block"><dtclass="param">target</dt><ddclass="cmt"><p>the entity being repaired</p></dd><dtclass="param">player</dt><ddclass="cmt"><p>the user of the nano dispenser tool</p></dd><dtclass="param">item</dt><ddclass="cmt"><p>the nano dispenser tool</p></dd></dl><dlclass="attributes block"><dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd><ahref="serverobject/repair/RepairableEntity.html"name="net.psforever.objects.serverobject.repair.RepairableEntity"id="net.psforever.objects.serverobject.repair.RepairableEntity"class="extype">RepairableEntity</a></dd><dt>See also</dt><dd><spanclass="cmt"><p><code>AvatarAction.PlanetsideAttributeToAll</code></p></span><spanclass="cmt"><p><code>AvatarAction.SendResponse</code></p></span><spanclass="cmt"><p><code>AvatarService</code></p></span><spanclass="cmt"><p><code>InventoryStateMessage</code></p></span><spanclass="cmt"><p><code>PlanetSideGameObject.isMoving</code></p></span><spanclass="cmt"><p><code>RepairMessage</code></p></span><spanclass="cmt"><p><code>Service.defaultPlayerGUID</code></p></span><spanclass="cmt"><p><code>Tool.Discharge</code></p></span><spanclass="cmt"><p><code>Zone.AvatarEvents</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.repair.RepairableEntity#RepairValue"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="RepairValue(item:net.psforever.objects.Tool):Int"></a><aid="RepairValue(Tool):Int"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#RepairValue(item:net.psforever.objects.Tool):Int"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">RepairValue</span><spanclass="params">(<spanname="item">item: <ahref="Tool.html"name="net.psforever.objects.Tool"id="net.psforever.objects.Tool"class="extype">Tool</a></span>)</span><spanclass="result">: <spanname="scala.Int"class="extype">Int</span></span></span><pclass="shortcomment cmt">The amount of repair that any specific tool provides.</p><divclass="fullcomment"><divclass="comment cmt"><p>The amount of repair that any specific tool provides.</p></div><dlclass="paramcmts block"><dtclass="param">item</dt><ddclass="cmt"><p>the tool in question</p></dd><dt>returns</dt><ddclass="cmt"><p>an amount to add to the repair attempt progress</p></dd></dl><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref="serverobject/repair/RepairableEntity.html"name="net.psforever.objects.serverobject.repair.RepairableEntity"id="net.psforever.objects.serverobject.repair.RepairableEntity"class="extype">RepairableEntity</a> → <ahref="serverobject/repair/Repairable.html"name="net.psforever.objects.serverobject.repair.Repairable"id="net.psforever.objects.serverobject.repair.Repairable"class="extype">Repairable</a></dd><dt>See also</dt><dd><spanclass="cmt"><p><code>Repairable.Quality</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.ShieldGeneratorControl#RepairableObject"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="RepairableObject:net.psforever.objects.ShieldGeneratorDeployable"></a><aid="RepairableObject:ShieldGeneratorDeployable"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#RepairableObject:net.psforever.objects.ShieldGeneratorDeployable"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">RepairableObject</span><spanclass="result">: <ahref="ShieldGeneratorDeployable.html"name="net.psforever.objects.ShieldGeneratorDeployable"id="net.psforever.objects.ShieldGeneratorDeployable"class="extype">ShieldGeneratorDeployable</a></span></span
Needs declaration in lowest implementing code.</p></div><dlclass="paramcmts block"><dt>returns</dt><ddclass="cmt"><p>the entity controlled by this actor</p></dd></dl><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref=""name="net.psforever.objects.ShieldGeneratorControl"id="net.psforever.objects.ShieldGeneratorControl"class="extype">ShieldGeneratorControl</a> → <ahref="serverobject/repair/Repairable.html"name="net.psforever.objects.serverobject.repair.Repairable"id="net.psforever.objects.serverobject.repair.Repairable"class="extype">Repairable</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.repair.Repairable#Restoration"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="Restoration(obj:net.psforever.objects.serverobject.repair.Repairable.Target):Unit"></a><aid="Restoration(Target):Unit"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#Restoration(obj:net.psforever.objects.serverobject.repair.Repairable.Target):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">Restoration</span><spanclass="params">(<spanname="obj">obj: <ahref="serverobject/repair/Repairable$.html#Target=net.psforever.objects.serverobject.PlanetSideServerObjectwithnet.psforever.objects.vital.Vitality"name="net.psforever.objects.serverobject.repair.Repairable.Target"id="net.psforever.objects.serverobject.repair.Repairable.Target"class="extmbr">Target</a></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">The entity is no longer destroyed.</p><divclass="fullcomment"><divclass="comment cmt"><p>The entity is no longer destroyed.</p></div><dlclass="paramcmts block"><dtclass="param">obj</dt><ddclass="cmt"><p>the entity</p></dd></dl><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref="serverobject/repair/Repairable.html"name="net.psforever.objects.serverobject.repair.Repairable"id="net.psforever.objects.serverobject.repair.Repairable"class="extype">Repairable</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.ShieldGeneratorControl#StartJammeredSound"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="StartJammeredSound(target:Any,dur:Int):Unit"></a><aid="StartJammeredSound(Any,Int):Unit"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#StartJammeredSound(target:Any,dur:Int):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">StartJammeredSound</span><spanclass="params">(<spanname="target">target: <spanname="scala.Any"class="extype">Any</span></span>, <spanname="dur">dur: <spanname="scala.Int"class="extype">Int</span></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">Activate a distinctive buzzing sound effect.</p><divclass="fullcomment"><divclass="comment cmt"><p>Activate a distinctive buzzing sound effect.
Due to considerations of the object that is the target, this is left to be implemented by a subclass.
We merely start the timer.</p></div><dlclass="paramcmts block"><dtclass="param">target</dt><ddclass="cmt"><p>an object that can be affected by the jammered status</p></dd><dtclass="param">dur</dt><ddclass="cmt"><p>the duration of the timer, in milliseconds;
by default, 30000</p></dd></dl><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref=""name="net.psforever.objects.ShieldGeneratorControl"id="net.psforever.objects.ShieldGeneratorControl"class="extype">ShieldGeneratorControl</a> → <ahref="equipment/JammableBehavior.html"name="net.psforever.objects.equipment.JammableBehavior"id="net.psforever.objects.equipment.JammableBehavior"class="extype">JammableBehavior</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.ShieldGeneratorControl#StartJammeredStatus"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="StartJammeredStatus(target:Any,dur:Int):Unit"></a><aid="StartJammeredStatus(Any,Int):Unit"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#StartJammeredStatus(target:Any,dur:Int):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">StartJammeredStatus</span><spanclass="params">(<spanname="target">target: <spanname="scala.Any"class="extype">Any</span></span>, <spanname="dur">dur: <spanname="scala.Int"class="extype">Int</span></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">Deactivate the effects of the jammered status.</p><divclass="fullcomment"><divclass="comment cmt"><p>Deactivate the effects of the jammered status.
Due to considerations of the object that is the target, this is left to be implemented by a subclass.
We merely stop the timer.</p></div><dlclass="paramcmts block"><dtclass="param">target</dt><ddclass="cmt"><p>an object that can be affected by the jammered status</p></dd><dtclass="param">dur</dt><ddclass="cmt"><p>the duration of the timer, in milliseconds</p></dd></dl><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref=""name="net.psforever.objects.ShieldGeneratorControl"id="net.psforever.objects.ShieldGeneratorControl"class="extype">ShieldGeneratorControl</a> → <ahref="equipment/JammableBehavior.html"name="net.psforever.objects.equipment.JammableBehavior"id="net.psforever.objects.equipment.JammableBehavior"class="extype">JammableBehavior</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.equipment.JammableBehavior#TryJammerEffectActivate"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="TryJammerEffectActivate(target:Any,cause:net.psforever.objects.ballistics.ResolvedProjectile):Unit"></a><aid="TryJammerEffectActivate(Any,ResolvedProjectile):Unit"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#TryJammerEffectActivate(target:Any,cause:net.psforever.objects.ballistics.ResolvedProjectile):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">TryJammerEffectActivate</span><spanclass="params">(<spanname="target">target: <spanname="scala.Any"class="extype">Any</span></span>, <spanname="cause">cause: <ahref="ballistics/ResolvedProjectile.html"name="net.psforever.objects.ballistics.ResolvedProjectile"id="net.psforever.objects.ballistics.ResolvedProjectile"class="extype">ResolvedProjectile</a></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">If the target can be validated against, affect it with the jammered status.</p><divclass="fullcomment"><divclass="comment cmt"><p>If the target can be validated against, affect it with the jammered status.</p></div><dlclass="paramcmts block"><dtclass="param">target</dt><ddclass="cmt"><p>the objects to be determined if affected by the source's jammering</p></dd><dtclass="param">cause</dt><ddclass="cmt"><p>the source of the "jammered" status</p></dd></dl><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref="equipment/JammableBehavior.html"name="net.psforever.objects.equipment.JammableBehavior"id="net.psforever.objects.equipment.JammableBehavior"class="extype">JammableBehavior</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.damage.DamageableEntity#WillAffectTarget"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="WillAffectTarget(target:net.psforever.objects.serverobject.damage.Damageable.Target,damage:Int,cause:net.psforever.objects.ballistics.ResolvedProjectile):Boolean"></a><aid="WillAffectTarget(Target,Int,ResolvedProjectile):Boolean"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#WillAffectTarget(target:net.psforever.objects.serverobject.damage.Damageable.Target,damage:Int,cause:net.psforever.objects.ballistics.ResolvedProjectile):Boolean"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">WillAffectTarget</span><spanclass="params">(<spanname="target">target: <ahref="serverobject/damage/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>, <spanname="damage">damage: <spanname="scala.Int"class="extype">Int</span></span>, <spanname="cause">cause: <ahref="ballistics/ResolvedProjectile.html"name="net.psfore
to execute the reminder of damage resolution considerations?
The projectile causing additional affects, e.g., jamming, should be tested here, when applicable.</p><divclass="fullcomment"><divclass="comment cmt"><p>Does the damage or the projectile that caused the damage offer any reason
to execute the reminder of damage resolution considerations?
The projectile causing additional affects, e.g., jamming, should be tested here, when applicable.
Contrast with <code>Vitality.CanDamage</code>.
The damage value tested against should be the total value of all meaningful vital statistics affected.</p></div><dlclass="paramcmts block"><dtclass="param">target</dt><ddclass="cmt"><p>the entity to be damaged</p></dd><dtclass="param">damage</dt><ddclass="cmt"><p>the amount of damage</p></dd><dtclass="param">cause</dt><ddclass="cmt"><p>historical information about the damage</p></dd><dt>returns</dt><ddclass="cmt"><p><code>true</code>, if damage resolution is to be evaluated;
catch the expected repair message and apply initial checks to the item</p><divclass="fullcomment"><divclass="comment cmt"><p>The official mixin hook; <code>orElse</code> onto the "control" <code>Actor</code><code>receive</code>;
catch the expected repair message and apply initial checks to the item</p></div><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref="serverobject/repair/Repairable.html"name="net.psforever.objects.serverobject.repair.Repairable"id="net.psforever.objects.serverobject.repair.Repairable"class="extype">Repairable</a></dd><dt>See also</dt><dd><spanclass="cmt"><p><code>Ammo</code></p></span><spanclass="cmt"><p><code>CanBeRepairedByNanoDispenser</code></p></span><spanclass="cmt"><p><code>CommonMessages.Use</code></p></span><spanclass="cmt"><p><code>GlobalDefinitions</code></p></span><spanclass="cmt"><p><code>Tool.AmmoType</code></p></span></dd></dl></div></li><liclass="indented0 "name="scala.AnyRef#clone"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="clone():Object"></a><aid="clone():AnyRef"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#clone():Object"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">clone</span><spanclass="params">()</span><spanclass="result">: <spanname="scala.AnyRef"class="extype">AnyRef</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Attributes</dt><dd>protected[<spanname="java.lang"class="extype">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><spanclass="name">@throws</span><spanclass="args">(<span><spanclass="defval">classOf[java.lang.CloneNotSupportedException]</span></span>)</span><spanclass="name">@native</span><spanclass="args">()</span></dd></dl></div></li><liclass="indented0 "name="akka.actor.Actor#context"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="context:akka.actor.ActorContext"></a><aid="context:ActorContext"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#context:akka.actor.ActorContext"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">implicit </span><spanclass="kind">val</span></span><spanclass="symbol"><spanclass="name">context</span><spanclass="result">: <spanname="akka.actor.ActorContext"class="extype">ActorContext</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Definition Classes</dt><dd>Actor</dd></dl></div></li><liclass="indented0 "name="scala.AnyRef#eq"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="eq(x$1:AnyRef):Boolean"></a><aid="eq(AnyRef):Boolean"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#eq(x$1:AnyRef):Boolean"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">eq</span><spanclass="params">(<spanname="arg0">arg0: <spanname="scala.AnyRef"class="extype">AnyRef</span></span>)</span><spanclass="result">: <spanname="scala.Boolean"class="extype">Boolean</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><liclass="indented0 "name="scala.AnyRef#equals"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="equals(x$1:Object):Boolean"></a><aid="equals(AnyRef):Boolean"></a><spanclass="permalink"><ahref="../../../net/psforever/objects/ShieldGeneratorControl.html#equals(x$1:Object):Boolean"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">equals</span><spanclass="params">(<spanname="arg0">arg0: <spanname="scala.AnyRef"class="extype">AnyRef</span></span>)</span><spanclass="result">: <spanname="scala.Boolean"class="extype">Boolean</span></span></span><divclass="fullcomment"><dlcl
<code>orElse</code> onto the "control" <code>Actor</code><code>receive</code>; or,
cite the <code>originalTakesDamage</code> protocol during inheritance overrides</p><divclass="fullcomment"><divclass="comment cmt"><p>the official mixin hook;
<code>orElse</code> onto the "control" <code>Actor</code><code>receive</code>; or,