PSF-LoginServer/net/psforever/objects/Deployables$.html

40 lines
71 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.Deployables</title><meta content="PSF - LoginServer - master - net.psforever.objects.Deployables" name="description"/><meta content="PSF LoginServer master net.psforever.objects.Deployables" 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></a></span><div class="fullcomment"><dl class="
The deployable may not have yet been eliminated from the game world (client or server),
but its health is zero and it has entered the conditions where it is nearly irrelevant.<br>
<br>
The typical use case of this function involves destruction via weapon fire, attributed to a particular player.
Contrast this to simply destroying a deployable by being the deployable's owner and using the map icon controls.
This function eventually invokes the same routine
but mainly goes into effect when the deployable has been destroyed
and may still leave a physical component in the game world to be cleaned up later.</p></div><dl class="paramcmts block"><dt class="param">target</dt><dd class="cmt"><p>the deployable that is destroyed</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>DeployableInfo</code></p></span><span class="cmt"><p><code>DeploymentAction</code></p></span><span class="cmt"><p><code>LocalAction.DeployableMapIcon</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.Deployables#AnnounceDestroyDeployable" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="AnnounceDestroyDeployable(target:net.psforever.objects.ce.Deployable,time:Option[scala.concurrent.duration.FiniteDuration]):Unit"></a><a id="AnnounceDestroyDeployable(Deployable,Option[FiniteDuration]):Unit"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#AnnounceDestroyDeployable(target:net.psforever.objects.ce.Deployable,time:Option[scala.concurrent.duration.FiniteDuration]):Unit" 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">AnnounceDestroyDeployable</span><span class="params">(<span name="target">target: <a href="ce/Deployable.html" name="net.psforever.objects.ce.Deployable" id="net.psforever.objects.ce.Deployable" class="extype">Deployable</a></span>, <span name="time">time: <span name="scala.Option" class="extype">Option</span>[<span name="scala.concurrent.duration.FiniteDuration" class="extype">FiniteDuration</span>]</span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><p class="shortcomment cmt">Distribute information that a deployable has been destroyed.</p><div class="fullcomment"><div class="comment cmt"><p>Distribute information that a deployable has been destroyed.
Additionally, since the player who destroyed the deployable isn't necessarily the owner,
and the real owner will still be aware of the existence of the deployable,
that player must be informed of the loss of the deployable directly.</p></div><dl class="paramcmts block"><dt class="param">target</dt><dd class="cmt"><p>the deployable that is destroyed</p></dd><dt class="param">time</dt><dd class="cmt"><p>length of time that the deployable is allowed to exist in the game world;
<code>None</code> indicates the normal un-owned existence time (180 seconds)</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>AnnounceDestroyDeployable(Deployable)</code></p></span><span class="cmt"><p><code>Deployable.Deconstruct</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.Deployables#Disown" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Disown(zone:net.psforever.objects.zones.Zone,avatar:net.psforever.objects.avatar.Avatar,replyTo:akka.actor.ActorRef):List[net.psforever.objects.ce.Deployable]"></a><a id="Disown(Zone,Avatar,ActorRef):List[Deployable]"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#Disown(zone:net.psforever.objects.zones.Zone,avatar:net.psforever.objects.avatar.Avatar,replyTo:akka.actor.ActorRef):List[net.psforever.objects.ce.Deployable]" 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">Disown</span><span class="params">(<span name="zone">zone: <a href="zones/Zone.html" name="net.psforever.objects.zones.Zone" id="net.psforever.objects.zones.Zone" class="extype">Zone</a></span>, <span name="avatar">avatar: <a href="avatar/Avatar.html" name="net.psforever.objects.avatar.Avatar" id="net.psforever.objects.avatar.Avatar" class="extype">Avatar</a></span>, <span name="replyTo">replyTo: <span name="akka.actor.ActorRef" class="extype">ActorRef</span></span>)</span><span class="result">: <span name="scala.List" class="extype">List</span>[<a href="ce/Deployable.html" name="net.psforever.objects.ce.Deployable" id="net.psforever.objects.ce.Deployable" class="extype">Deployable</a>]</span></span><p class="shortcomment cmt">Collect all deployables previously owned by the player,
dissociate the avatar's globally unique identifier to remove turnover ownership,
and, on top of performing the above manipulations, dispose of any boomers discovered.</p><div class="fullcomment"><div class="comment cmt"><p>Collect all deployables previously owned by the player,
dissociate the avatar's globally unique identifier to remove turnover ownership,
and, on top of performing the above manipulations, dispose of any boomers discovered.
(<code>BoomerTrigger</code> objects, the companions of the boomers, should be handled by an external implementation
if they had not already been handled by the time this function is executed.)</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>all previously-owned deployables after they have been processed;
boomers are listed before all other deployable types</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.Deployables#InitializeDeployableQuantities" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="InitializeDeployableQuantities(avatar:net.psforever.objects.avatar.Avatar):Boolean"></a><a id="InitializeDeployableQuantities(Avatar):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#InitializeDeployableQuantities(avatar:net.psforever.objects.avatar.Avatar):Boolean" 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">InitializeDeployableQuantities</span><span class="params">(<span name="avatar">avatar: <a href="avatar/Avatar.html" name="net.psforever.objects.avatar.Avatar" id="net.psforever.objects.avatar.Avatar" class="extype">Avatar</a></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><p class="shortcomment cmt">Initialize the deployables backend information.</p><div class="fullcomment"><div class="comment cmt"><p>Initialize the deployables backend information.</p></div><dl class="paramcmts block"><dt class="param">avatar</dt><dd class="cmt"><p>the player's core</p></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.Deployables#InitializeDeployableUIElements" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="InitializeDeployableUIElements(avatar:net.psforever.objects.avatar.Avatar):List[(Int,Int,Int,Int)]"></a><a id="InitializeDeployableUIElements(Avatar):List[(Int,Int,Int,Int)]"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#InitializeDeployableUIElements(avatar:net.psforever.objects.avatar.Avatar):List[(Int,Int,Int,Int)]" 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">InitializeDeployableUIElements</span><span class="params">(<span name="avatar">avatar: <a href="avatar/Avatar.html" name="net.psforever.objects.avatar.Avatar" id="net.psforever.objects.avatar.Avatar" class="extype">Avatar</a></span>)</span><span class="result">: <span name="scala.List" class="extype">List</span>[(<span name="scala.Int" class="extype">Int</span>, <span name="scala.Int" class="extype">Int</span>, <span name="scala.Int" class="extype">Int</span>, <span name="scala.Int" class="extype">Int</span>)]</span></span><p class="shortcomment cmt">Initialize the UI elements for deployables.</p><div class="fullcomment"><div class="comment cmt"><p>Initialize the UI elements for deployables.</p></div><dl class="paramcmts block"><dt class="param">avatar</dt><dd class="cmt"><p>the player's core</p></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/Deployables$.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/Deployables$.html#clone():Object" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></
the requested <code>Engineering</code>-like certification requirements of the one group can be found in a another group.</p><div class="fullcomment"><div class="comment cmt"><p>Compare sets of certifications to determine if
the requested <code>Engineering</code>-like certification requirements of the one group can be found in a another group.</p></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>the certifications to be compared against</p></dd><dt class="param">test</dt><dd class="cmt"><p>the desired certifications</p></dd><dt>returns</dt><dd class="cmt"><p><code>true</code>, if the desired certification requirements are met; <code>false</code>, otherwise</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>CertificationType</code></p></span></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#eq" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="eq(x$1:AnyRef):Boolean"></a><a id="eq(AnyRef):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#eq(x$1:AnyRef):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">eq</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</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</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#equals" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="equals(x$1:Object):Boolean"></a><a id="equals(AnyRef):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#equals(x$1:Object):Boolean" 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">equals</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</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#finalize" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="finalize():Unit"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#finalize():Unit" 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">finalize</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>Attributes</dt><dd>protected[<span name="java.lang" class="extype">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="symbol">classOf[java.lang.Throwable]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#getClass" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="getClass():Class[_]"></a><a id="getClass():Class[_&lt;:AnyRef]"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#getClass():Class[_]" 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">getClass</span><span class="params">()</span><span class="result">: <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#java.lang.Class" name="java.lang.Class" id="java.lang.Class" class="extype">Class</a>[_ &lt;: <span name="scala.AnyRef" class="extype">AnyRef</span>]</span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition C
find a suitable ammunition mode and switch to it internally.</p><div class="fullcomment"><div class="comment cmt"><p>If the default ammunition mode for the <code>ConstructionTool</code> is not supported by the given certifications,
find a suitable ammunition mode and switch to it internally.
No special complaint is raised if the <code>ConstructionItem</code> itself is completely unsupported.
The search function will explore every ammo option for every fire mode option
and will stop when it finds either a valid option or when arrives back at the original fire mode.</p></div><dl class="paramcmts block"><dt class="param">certs</dt><dd class="cmt"><p>the certification baseline being compared against</p></dd><dt class="param">obj</dt><dd class="cmt"><p>the <code>ConstructionItem</code> entity</p></dd><dt>returns</dt><dd class="cmt"><p><code>true</code>, if the firemode and ammunition mode of the item is valid;
<code>false</code>, otherwise</p></dd></dl></div></li><li class="indented0 " name="scala.Any#isInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="isInstanceOf[T0]:Boolean"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#isInstanceOf[T0]: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">isInstanceOf</span><span class="tparams">[<span name="T0">T0</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>Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#ne" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="ne(x$1:AnyRef):Boolean"></a><a id="ne(AnyRef):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#ne(x$1:AnyRef):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">ne</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</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</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#notify" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notify():Unit"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#notify():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">notify</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">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#notifyAll" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notifyAll():Unit"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#notifyAll():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">notifyAll</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">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="net.psforever.objects.Deployables#performConstructionItemAmmoChange" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="performConstructionItemAmmoChange(certs:Set[net.psforever.objects.avatar.Certification],obj:net.psforever.objects.ConstructionItem,originalAmmoIndex:Int):Boolean"></a><a id="performConstructionItemAmmoChange(Set[Certification],ConstructionItem,Int):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#performConstructionItemAmmoChange(certs:Set[net.psforever.objects.avatar.Certification],obj:net.psforever.objects.ConstructionItem,originalAmmoIndex:Int):Boolean" 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">performConstructi
Iterate through sub-modes corresponding to a type of "deployable" as ammunition for this fire mode
and check each of these sub-modes for their certification requirements to be met before they can be used.
Additional effort is exerted to ensure that the requirements for the given ammunition are satisfied.
If no satisfactory combination is achieved, the original state will be restored.</p></div><dl class="paramcmts block"><dt class="param">certs</dt><dd class="cmt"><p>the certification baseline being compared against</p></dd><dt class="param">obj</dt><dd class="cmt"><p>the <code>ConstructionItem</code> entity</p></dd><dt class="param">originalAmmoIndex</dt><dd class="cmt"><p>the starting point ammunition type mode index</p></dd><dt>returns</dt><dd class="cmt"><p><code>true</code>, if the ammunition mode of the item has been changed;
<code>false</code>, otherwise</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>Certification</code></p></span><span class="cmt"><p><code>ChangeAmmoMessage</code></p></span><span class="cmt"><p><code>ConstructionItem.ModePermissions</code></p></span><span class="cmt"><p><code>Deployables.constructionItemPermissionComparison</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.objects.Deployables#performConstructionItemFireModeChange" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="performConstructionItemFireModeChange(certs:Set[net.psforever.objects.avatar.Certification],obj:net.psforever.objects.ConstructionItem,originalModeIndex:Int):Boolean"></a><a id="performConstructionItemFireModeChange(Set[Certification],ConstructionItem,Int):Boolean"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#performConstructionItemFireModeChange(certs:Set[net.psforever.objects.avatar.Certification],obj:net.psforever.objects.ConstructionItem,originalModeIndex:Int):Boolean" 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">performConstructionItemFireModeChange</span><span class="params">(<span name="certs">certs: <span name="scala.Predef.Set" class="extype">Set</span>[<a href="avatar/Certification.html" name="net.psforever.objects.avatar.Certification" id="net.psforever.objects.avatar.Certification" class="extype">Certification</a>]</span>, <span name="obj">obj: <a href="ConstructionItem.html" name="net.psforever.objects.ConstructionItem" id="net.psforever.objects.ConstructionItem" class="extype">ConstructionItem</a></span>, <span name="originalModeIndex">originalModeIndex: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><p class="shortcomment cmt">The custom behavior responding to the message <code>ChangeFireModeMessage</code> for <code>ConstructionItem</code> game objects.</p><div class="fullcomment"><div class="comment cmt"><p>The custom behavior responding to the message <code>ChangeFireModeMessage</code> for <code>ConstructionItem</code> game objects.
Each fire mode has sub-modes corresponding to a type of "deployable" as ammunition
and each of these sub-modes have certification requirements that must be met before they can be used.
Additional effort is exerted to ensure that the requirements for the given mode and given sub-mode are satisfied.
If no satisfactory combination is achieved, the original state will be restored.</p></div><dl class="paramcmts block"><dt class="param">certs</dt><dd class="cmt"><p>the certification baseline being compared against</p></dd><dt class="param">obj</dt><dd class="cmt"><p>the <code>ConstructionItem</code> entity</p></dd><dt class="param">originalModeIndex</dt><dd class="cmt"><p>the starting point fire mode index</p></dd><dt>returns</dt><dd class="cmt"><p><code>true</code>, if the ammunition mode of the item has been changed;
<code>false</code>, otherwise</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>Deployables.constructionItemPermissionComparison</code></p></span><span class="cmt"><p><code>Deployables.performConstructionItemAmmoChange</code></p></span><span class="cmt"><p><code>FireModeSwitch.NextFireMode</code></p></span></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#synchronized" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="synchronized[T0](x$1:=&gt;T0):T0"></a><a id="synchronized[T0](=&gt;T0):T0"></a> <span class="permalink"><a href="../../../net/psforever/objects/Deployables$.html#synchronized[T0](x$1:=&gt;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">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: =&gt; <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span>)</span><span class="result">: <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></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/Deployables$.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/Deployables$.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/Deployables$.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="inde