The <code>Player</code> must decide what to do with it once it is in their control.
A result of a processed request.</p></div><dlclass="paramcmts block"><dtclass="param">item</dt><ddclass="cmt"><p>the <code>Equipment</code> being given to the player</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.Terminal.BuyExosuit"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="BuyExosuitextendsTerminal.ExchangewithProductwithSerializable"></a><aid="BuyExosuit:BuyExosuit"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal$$BuyExosuit.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="Terminal$$BuyExosuit.html"title="The Player exo-suit will be changed to the prescribed one."><spanclass="name">BuyExosuit</span></a><spanclass="params">(<spanname="exosuit">exosuit: <ahref="../../../types/ExoSuitType$.html#ValueextendsOrdered[Enumeration.this.Value]withSerializable"name="net.psforever.types.ExoSuitType.Value"id="net.psforever.types.ExoSuitType.Value"class="extmbr">types.ExoSuitType.Value</a></span>, <spanname="subtype">subtype: <spanname="scala.Int"class="extype">Int</span> = <spanclass="symbol">0</span></span>)</span><spanclass="result"> extends <ahref="Terminal$$Exchange.html"name="net.psforever.objects.serverobject.terminals.Terminal.Exchange"id="net.psforever.objects.serverobject.terminals.Terminal.Exchange"class="extype">Exchange</a> with <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span><pclass="shortcomment cmt">The <code>Player</code> exo-suit will be changed to the prescribed one.</p><divclass="fullcomment"><divclass="comment cmt"><p>The <code>Player</code> exo-suit will be changed to the prescribed one.
The subtype will be important if the user is swapping to an <code>ExoSuitType.MAX</code> exo-suit.
A result of a processed request.</p></div><dlclass="paramcmts block"><dtclass="param">exosuit</dt><ddclass="cmt"><p>the type of exo-suit</p></dd><dtclass="param">subtype</dt><ddclass="cmt"><p>the exo-suit subtype, if any</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.Terminal.BuyVehicle"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="BuyVehicleextendsTerminal.ExchangewithProductwithSerializable"></a><aid="BuyVehicle:BuyVehicle"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal$$BuyVehicle.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="Terminal$$BuyVehicle.html"title="Provide a vehicle that was constructed for the player."><spanclass="name">BuyVehicle</span></a><spanclass="params">(<spanname="vehicle">vehicle: <ahref="../../Vehicle.html"name="net.psforever.objects.Vehicle"id="net.psforever.objects.Vehicle"class="extype">Vehicle</a></span>, <spanname="weapons">weapons: <spanname="scala.List"class="extype">List</span>[<ahref="../../inventory/InventoryItem.html"name="net.psforever.objects.inventory.InventoryItem"id="net.psforever.objects.inventory.InventoryItem"class="extype">InventoryItem</a>]</span>, <spanname="inventory">inventory: <spanname="scala.List"class="extype">List</span>[<ahref="../../inventory/InventoryItem.html"name="net.psforever.objects.inventory.InventoryItem"id="net.psforever.objects.inventory.InventoryItem"class="extype">InventoryItem</a>]</span>)</span><spanclass="result"> extends <ahref="Terminal$$Exchange.html"name="net.psforever.objects.serverobject.terminals.Terminal.Exchange"id="net.psforever.objects.serverobject.terminals.Terminal.Exchange"class="extype">Exchange</a> with <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span><pclass="shortcomment cmt">Provide a vehicle that was constructed for the player.</p><divclass="fullcomment"><divclass="comment cmt"><p>Provide a vehicle that was constructed for the player.</p></div><dlclass="paramcmts block"><dtclass="param">vehicle</dt><ddclass="cmt"><p>the vehicle</p></dd><dtclass="param">weapons</dt><ddclass="cmt"><p>the vehicle's mounted armament</p></dd><dtclass="param">inventory</dt><ddclass="cmt"><p>the vehicle's trunk contents</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.Terminal.Exchange"group="Ungrouped"fullComment="no"data-isabs="true"visbl="pub"><aid="ExchangeextendsAnyRef"></a><aid="Exchange:Exchange"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal$$Exchange.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">sealed </span><spanclass="kind">trait</span></span><spanclass="symbol"><ahref="Terminal$$Exchange.html"title="A basic Trait connecting all of the actionable Terminal response messages."><spanclass="name">Exchange</span></a><spanclass="result"> extends <spanname="scala.AnyRef"class="extype">AnyRef</span></span></span><pclass="shortcomment cmt">A basic <code>Trait</code> connecting all of the actionable <code>Terminal</code> response messages.</p></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.Terminal.InfantryLoadout"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="InfantryLoadoutextendsTerminal.ExchangewithProductwithSerializable"></a><aid="InfantryLoadout:InfantryLoadout"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal$$InfantryLoadout.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><sp
A result of a processed request.</p></div><dlclass="paramcmts block"><dtclass="param">exosuit</dt><ddclass="cmt"><p>the type of exo-suit</p></dd><dtclass="param">subtype</dt><ddclass="cmt"><p>the exo-suit subtype, if any</p></dd><dtclass="param">holsters</dt><ddclass="cmt"><p>the contents of the <code>Player</code>'s holsters</p></dd><dtclass="param">inventory</dt><ddclass="cmt"><p>the contents of the <code>Player</code>'s inventory</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.Terminal.LearnCertification"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="LearnCertificationextendsTerminal.ExchangewithProductwithSerializable"></a><aid="LearnCertification:LearnCertification"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal$$LearnCertification.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="Terminal$$LearnCertification.html"title="Provide the certification type unlocked by the player."><spanclass="name">LearnCertification</span></a><spanclass="params">(<spanname="cert">cert: <ahref="../../avatar/Certification.html"name="net.psforever.objects.avatar.Certification"id="net.psforever.objects.avatar.Certification"class="extype">Certification</a></span>)</span><spanclass="result"> extends <ahref="Terminal$$Exchange.html"name="net.psforever.objects.serverobject.terminals.Terminal.Exchange"id="net.psforever.objects.serverobject.terminals.Terminal.Exchange"class="extype">Exchange</a> with <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span><pclass="shortcomment cmt">Provide the certification type unlocked by the player.</p><divclass="fullcomment"><divclass="comment cmt"><p>Provide the certification type unlocked by the player.
</p></div><dlclass="paramcmts block"><dtclass="param">cert</dt><ddclass="cmt"><p>the certification unlocked</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.Terminal.LearnImplant"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="LearnImplantextendsTerminal.ExchangewithProductwithSerializable"></a><aid="LearnImplant:LearnImplant"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal$$LearnImplant.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="Terminal$$LearnImplant.html"title="Provide the implant type unlocked by the player."><spanclass="name">LearnImplant</span></a><spanclass="params">(<spanname="implant">implant: <ahref="../../definition/ImplantDefinition.html"name="net.psforever.objects.definition.ImplantDefinition"id="net.psforever.objects.definition.ImplantDefinition"class="extype">ImplantDefinition</a></span>)</span><spanclass="result"> extends <ahref="Terminal$$Exchange.html"name="net.psforever.objects.serverobject.terminals.Terminal.Exchange"id="net.psforever.objects.serverobject.terminals.Terminal.Exchange"class="extype">Exchange</a> with <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span><pclass="shortcomment cmt">Provide the implant type unlocked by the player.</p><divclass="fullcomment"><divclass="comment cmt"><p>Provide the implant type unlocked by the player.</p></div><dlclass="paramcmts block"><dtclass="param">implant</dt><ddclass="cmt"><p>the implant (definition) requested</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.Terminal.NoDeal"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="NoDealextendsTerminal.ExchangewithProductwithSerializable"></a><aid="NoDeal:NoDeal"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal$$NoDeal.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="Terminal$$NoDeal.html"title="No action will result from interacting with this Terminal."><spanclass="name">NoDeal</span></a><spanclass="params">()</span><spanclass="result"> extends <ahref="Terminal$$Exchange.html"name="net.psforever.objects.serverobject.terminals.Terminal.Exchange"id="net.psforever.objects.serverobject.terminals.Terminal.Exchange"class="extype">Exchange</a> with <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span><pclass="shortcomment cmt">No action will result from interacting with this <code>Terminal</code>.</p><divclass="fullcomment"><divclass="comment cmt"><p>No action will result from interacting with this <code>Terminal</code>.
A result of a processed request.
</p></div></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.Terminal.Request"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="RequestextendsProductwithSerializable"></a><aid="Request:Request"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal$$Request.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="Terminal$$Request.html"title="Entry message into this Terminal that carries the request."><spanclass="name">Request</span></a><spanclass="params">(<spanname="player">player: <ahref="../../Player.html"name="net.psforever.objects.Player"id="net.psforever.objects.Player"class="extype">Player</a></span>, <spanname="msg">msg: <ahref="../../../packet/game/ItemTransactionMessage.html"name="net.psforever.packet.game.ItemTransactionMessage"id="net.psforever.packet.game.ItemTransactionMessage"class="extype">ItemTransactionMessage</a></span>)</span><spanclass="result"> extends <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span><pclass="shortcomment cmt">Entry message into this <code>Terminal</code> that carries the request.</p><divclass="fullcomment"><divclass="comment cmt"><p>Entry message into this <code>Terminal</code> that carries the request.
Accessing an option in a <code>Terminal</code> normally always results in this message.</p></div><dlclass="paramcmts block"><dtclass="param">player</dt><ddclass="cmt"><p>the player who sent this request message</p></dd><dtclass="param">msg</dt><ddclass="cmt"><p>the original packet carrying the request</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.Terminal.SellCertification"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="SellCertificationextendsTerminal.ExchangewithProductwithSerializable"></a><aid="SellCertification:SellCertification"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal$$SellCertification.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="Terminal$$SellCertification.html"title="Provide the certification type freed-up by the player."><spanclass="name">SellCertification</span></a><spanclass="params">(<spanname="cert">cert: <ahref="../../avatar/Certification.html"name="net.psforever.objects.avatar.Certification"id="net.psforever.objects.avatar.Certification"class="extype">Certification</a></span>)</span><spanclass="result"> extends <ahref="Terminal$$Exchange.html"name="net.psforever.objects.serverobject.terminals.Terminal.Exchange"id="net.psforever.objects.serverobject.terminals.Terminal.Exchange"class="extype">Exchange</a> with <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span><pclass="shortcomment cmt">Provide the certification type freed-up by the player.</p><divclass="fullcomment"><divclass="comment cmt"><p>Provide the certification type freed-up by the player.
Most <code>Terminals</code> should always allow <code>Player</code>s to dispose of some piece of <code>Equipment</code>.
A result of a processed request.
</p></div></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.Terminal.SellImplant"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="SellImplantextendsTerminal.ExchangewithProductwithSerializable"></a><aid="SellImplant:SellImplant"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal$$SellImplant.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="Terminal$$SellImplant.html"title="Provide the implant type freed-up by the player."><spanclass="name">SellImplant</span></a><spanclass="params">(<spanname="implant">implant: <ahref="../../definition/ImplantDefinition.html"name="net.psforever.objects.definition.ImplantDefinition"id="net.psforever.objects.definition.ImplantDefinition"class="extype">ImplantDefinition</a></span>)</span><spanclass="result"> extends <ahref="Terminal$$Exchange.html"name="net.psforever.objects.serverobject.terminals.Terminal.Exchange"id="net.psforever.objects.serverobject.terminals.Terminal.Exchange"class="extype">Exchange</a> with <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span><pclass="shortcomment cmt">Provide the implant type freed-up by the player.</p><divclass="fullcomment"><divclass="comment cmt"><p>Provide the implant type freed-up by the player.</p></div><dlclass="paramcmts block"><dtclass="param">implant</dt><ddclass="cmt"><p>the implant (definition) returned</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.Terminal.StartProximityEffect"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="StartProximityEffectextendsTerminal.ExchangewithProductwithSerializable"></a><aid="StartProximityEffect:StartProximityEffect"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal$$StartProximityEffect.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">case class</span></span><spanclass="symbol"><ahref="Terminal$$StartProximityEffect.html"title="Start the special effects caused by a proximity-base service."><spanclass="name">StartProximityEffect</span></a><spanclass="params">(<spanname="terminal">terminal: <ahref="Terminal.html"name="net.psforever.objects.serverobject.terminals.Terminal"id="net.psforever.objects.serverobject.terminals.Terminal"class="extype">Terminal</a> with <ahref="ProximityUnit.html"name="net.psforever.objects.serverobject.terminals.ProximityUnit"id="net.psforever.objects.serverobject.terminals.ProximityUnit"class="extype">ProximityUnit</a></span>)</span><spanclass="result"> extends <ahref="Terminal$$Exchange.html"name="net.psforever.objects.serverobject.terminals.Terminal.Exchange"id="net.psforever.objects.serverobject.terminals.Terminal.Exchange"class="extype">Exchange</a> with <spanname="scala.Product"class="extype">Product</span> with <spanname="scala.Serializable"class="extype">Serializable</span></span></span><pclass="shortcomment cmt">Start the special effects caused by a proximity-base service.</p><divclass="fullcomment"><divclass="comment cmt"><p>Start the special effects caused by a proximity-base service.</p></div><dlclass="paramcmts block"><dtclass="param">terminal</dt><ddclass="cmt"><p>the proximity-based unit</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.Terminal.StopProximityEffect"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="StopProximityEffectextendsTerminal.ExchangewithProductwithSerializable"></a><aid="StopProximityEffect:StopProximityEffect"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal$$StopProximit
</p><divclass="fullcomment"><divclass="comment cmt"><p>Instantiate and configure a <code>Terminal</code> object
</p></div><dlclass="paramcmts block"><dtclass="param">pos</dt><ddclass="cmt"><p>The location of the object</p></dd><dtclass="param">tdef</dt><ddclass="cmt"><p>the <code>ObjectDefinition</code> that constructs this object and maintains some of its immutable fields</p></dd><dtclass="param">id</dt><ddclass="cmt"><p>the unique id that will be assigned to this entity</p></dd><dtclass="param">context</dt><ddclass="cmt"><p>a context to allow the object to properly set up <code>ActorSystem</code> functionality</p></dd><dt>returns</dt><ddclass="cmt"><p>the <code>Terminal</code> object</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.Terminal#apply"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="apply(tdef:net.psforever.objects.serverobject.terminals.TerminalDefinition):net.psforever.objects.serverobject.terminals.Terminal"></a><aid="apply(TerminalDefinition):Terminal"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal$.html#apply(tdef:net.psforever.objects.serverobject.terminals.TerminalDefinition):net.psforever.objects.serverobject.terminals.Terminal"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">apply</span><spanclass="params">(<spanname="tdef">tdef: <ahref="TerminalDefinition.html"name="net.psforever.objects.serverobject.terminals.TerminalDefinition"id="net.psforever.objects.serverobject.terminals.TerminalDefinition"class="extype">TerminalDefinition</a></span>)</span><spanclass="result">: <ahref="Terminal.html"name="net.psforever.objects.serverobject.terminals.Terminal"id="net.psforever.objects.serverobject.terminals.Terminal"class="extype">Terminal</a></span></span><pclass="shortcomment cmt">Overloaded constructor.</p><divclass="fullcomment"><divclass="comment cmt"><p>Overloaded constructor.</p></div><dlclass="paramcmts block"><dtclass="param">tdef</dt><ddclass="cmt"><p>the <code>ObjectDefinition</code> that constructs this object and maintains some of its immutable fields</p></dd></dl></div></li><liclass="indented0 "name="scala.Any#asInstanceOf"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="asInstanceOf[T0]:T0"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal$.html#asInstanceOf[T0]:T0"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">final </span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">asInstanceOf</span><spanclass="tparams">[<spanname="T0">T0</span>]</span><spanclass="result">: <spanname="scala.Any.asInstanceOf.T0"class="extype">T0</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Definition Classes</dt><dd>Any</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/serverobject/terminals/Terminal$.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="indented