Matrix terminal objects are used to create anchor points in the game environment
in reference to a working set of spawn points attached to a <code>Building</code> object or <code>Vehicle</code> object
depending on the spawn group.</p></div><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>SpawnTube</code></p></span><spanclass="cmt"><p><code>Zone.CreateSpawnGroups</code></p></span><spanclass="cmt"><p><code>Zone.SpawnGroups</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.MedicalTerminalDefinition"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="MedicalTerminalDefinitionextendsProximityTerminalDefinition"></a><aid="MedicalTerminalDefinition:MedicalTerminalDefinition"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/MedicalTerminalDefinition.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">class</span></span><spanclass="symbol"><ahref="MedicalTerminalDefinition.html"title="The definition for any Terminal that is of a type "medical_terminal"."><spanclass="name">MedicalTerminalDefinition</span></a><spanclass="result"> extends <ahref="ProximityTerminalDefinition.html"name="net.psforever.objects.serverobject.terminals.ProximityTerminalDefinition"id="net.psforever.objects.serverobject.terminals.ProximityTerminalDefinition"class="extype">ProximityTerminalDefinition</a></span></span><pclass="shortcomment cmt">The definition for any <code>Terminal</code> that is of a type "medical_terminal".</p><divclass="fullcomment"><divclass="comment cmt"><p>The definition for any <code>Terminal</code> that is of a type "medical_terminal".
This includes the functionality of the formal medical terminals and some of the cavern crystals.
Do not confuse the game's internal "medical_terminal" object category and the actual <code>medical_terminal</code> object (529).
</p></div></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.OrderTerminalDefinition"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="OrderTerminalDefinitionextendsTerminalDefinition"></a><aid="OrderTerminalDefinition:OrderTerminalDefinition"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/OrderTerminalDefinition.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">class</span></span><spanclass="symbol"><ahref="OrderTerminalDefinition.html"title="The definition for any Terminal from which specifications can be altered."><spanclass="name">OrderTerminalDefinition</span></a><spanclass="result"> extends <ahref="TerminalDefinition.html"name="net.psforever.objects.serverobject.terminals.TerminalDefinition"id="net.psforever.objects.serverobject.terminals.TerminalDefinition"class="extype">TerminalDefinition</a></span></span><pclass="shortcomment cmt">The definition for any <code>Terminal</code> from which specifications can be altered.</p><divclass="fullcomment"><divclass="comment cmt"><p>The definition for any <code>Terminal</code> from which specifications can be altered.
These specification alternations involve three classifications:
the exchange of denominations of in-game hardware, i.e., <code>Equipment</code>,
the modification of lists of personal statistics, e.g., <code>Certifications</code>,
and saving and loading of preset configurations, i.e., <code>Loadouts</code>.
This hardware is organized as "stock," occasionally supplemented.
Terminals have tabs (visually) that are organized by different stock (internally)
that determines the behavior available from that tab
and what stock can be drawn or returned.<br>
<br>
Equipment terminals are the property of bases and vehicles ("amenities").
To bases, the <code>Terminal</code> object is coupled loosely and may be allowed to diverge.
To vehicles, the <code>Terminal</code> object is coupled directly to the faction affiliation of the vehicle.</p></div><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>Amenity</code></p></span><spanclass="cmt"><p><code>Terminal</code></p></span><spanclass="cmt"><p><code>Utility</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.ProximityDefinition"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="ProximityDefinitionextendsAnyRef"></a><aid="ProximityDefinition:ProximityDefinition"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/ProximityDefinition.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">trait</span></span><spanclass="symbol"><ahref="ProximityDefinition.html"title="The definition mix-in for any game object that possesses a proximity-based effect."><spanclass="name">ProximityDefinition</span></a><spanclass="result"> extends <spanname="scala.AnyRef"class="extype">AnyRef</span></span></span><pclass="shortcomment cmt">The definition mix-in for any game object that possesses a proximity-based effect.</p><divclass="fullcomment"><divclass="comment cmt"><p>The definition mix-in for any game object that possesses a proximity-based effect.
This includes the limited proximity-based functionality of the formal medical terminals
and the actual proximity-based functionality of the cavern crystals.
Objects created by this definition being linked by their communication
between the server and client using <code>ProximityTerminalUseMessage</code> game packets.
</p></div></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.ProximityTerminal"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="ProximityTerminalextendsTerminalwithProximityUnit"></a><aid="ProximityTerminal:ProximityTerminal"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/ProximityTerminal.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">class</span></span><spanclass="symbol"><ahref="ProximityTerminal.html"title="A server object that is a "terminal" that can be accessed for amenities and net.psforever.services, triggered when a certain distance from the unit itself (proximity-based). Unlike conventional terminals, this structure is not necessarily structure-owned."><spanclass="name">ProximityTerminal</span></a><spanclass="result"> extends <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><pclass="shortcomment cmt">A server object that is a "terminal" that can be accessed for amenities and net.psforever.services,
triggered when a certain distance from the unit itself (proximity-based).<br>
<br>
Unlike conventional terminals, this structure is not necessarily structure-owned.</p><divclass="fullcomment"><divclass="comment cmt"><p>A server object that is a "terminal" that can be accessed for amenities and net.psforever.services,
triggered when a certain distance from the unit itself (proximity-based).<br>
<br>
Unlike conventional terminals, this structure is not necessarily structure-owned.
For example, the cavern crystals are considered owner-neutral elements that are not attached to a <code>Building</code> object.
</p></div></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.ProximityTerminalControl"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="ProximityTerminalControlextendsActorwithFactionAffinityBehavior.CheckwithHackableBehavior.GenericHackablewithDamageableAmenitywithRepairableAmenity"></a><aid="ProximityTerminalControl:ProximityTerminalControl"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/ProximityTerminalControl.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">class</span></span><spanclass="symbol"><ahref="ProximityTerminalControl.html"title="An Actor that handles messages being dispatched to a specific ProximityTerminal."><spanclass="name">ProximityTerminalControl</span></a><spanclass="result"> extends <spanname="akka.actor.Actor"class="extype">Actor</span> with <ahref="../affinity/FactionAffinityBehavior$$Check.html"name="net.psforever.objects.serverobject.affinity.FactionAffinityBehavior.Check"id="net.psforever.objects.serverobject.affinity.FactionAffinityBehavior.Check"class="extype">Check</a> with <ahref="../hackable/HackableBehavior$$GenericHackable.html"name="net.psforever.objects.serverobject.hackable.HackableBehavior.GenericHackable"id="net.psforever.objects.serverobject.hackable.HackableBehavior.GenericHackable"class="extype">GenericHackable</a> with <ahref="../damage/DamageableAmenity.html"name="net.psforever.objects.serverobject.damage.DamageableAmenity"id="net.psforever.objects.serverobject.damage.DamageableAmenity"class="extype">DamageableAmenity</a> with <ahref="../repair/RepairableAmenity.html"name="net.psforever.objects.serverobject.repair.RepairableAmenity"id="net.psforever.objects.serverobject.repair.RepairableAmenity"class="extype">RepairableAmenity</a></span></span><pclass="shortcomment cmt">An <code>Actor</code> that handles messages being dispatched to a specific <code>ProximityTerminal</code>.</p><divclass="fullcomment"><divclass="comment cmt"><p>An <code>Actor</code> that handles messages being dispatched to a specific <code>ProximityTerminal</code>.
Although this "terminal" itself does not accept the same messages as a normal <code>Terminal</code> object,
it returns the same type of messages - wrapped in a <code>TerminalMessage</code> - to the <code>sender</code>.</p></div></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.ProximityTerminalDefinition"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="ProximityTerminalDefinitionextendsTerminalDefinitionwithProximityDefinition"></a><aid="ProximityTerminalDefinition:ProximityTerminalDefinition"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/ProximityTerminalDefinition.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">class</span></span><spanclass="symbol"><ahref="ProximityTerminalDefinition.html"title="The definition for any Terminal that can be accessed for amenities and net.psforever.services, triggered when a certain distance from the unit itself (proximity-based)."><spanclass="name">ProximityTerminalDefinition</span></a><spanclass="result"> extends <ahref="TerminalDefinition.html"name="net.psforever.objects.serverobject.terminals.TerminalDefinition"id="net.psforever.objects.serverobject.terminals.TerminalDefinition"class="extype">TerminalDefinition</a> with <ahref="ProximityDefinition.html"name="net.psforever.objects.serverobject.terminals.ProximityDefinition"id="net.psforever.objects.serverobject.terminals.ProximityDefinition"class="extype">ProximityDefinition</a></span></span><pclass="shortcomment cmt">The definition for any <code>Terminal</code> that can be accessed for amenities and net.psforever.services,
triggered when a certain distance from the unit itself (proximity-based).</p></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.ProximityUnit"group="Ungrouped"fullComment="yes"data-isabs="true"visbl="pub"><aid="ProximityUnitextendsAnyRef"></a><aid="ProximityUnit:ProximityUnit"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/ProximityUnit.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">trait</span></span><spanclass="symbol"><ahref="ProximityUnit.html"title="A server object that provides a service, triggered when a certain distance from the unit itself (proximity-based)."><spanclass="name">ProximityUnit</span></a><spanclass="result"> extends <spanname="scala.AnyRef"class="extype">AnyRef</span></span></span><pclass="shortcomment cmt">A server object that provides a service, triggered when a certain distance from the unit itself (proximity-based).</p><divclass="fullcomment"><divclass="comment cmt"><p>A server object that provides a service, triggered when a certain distance from the unit itself (proximity-based).
Unlike conventional terminals, this one is not necessarily structure-owned.
For example, the cavern crystals are considered owner-neutral elements that are not attached to a <code>Building</code> object.
</p></div></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.Terminal"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="TerminalextendsAmenitywithHackable"></a><aid="Terminal:Terminal"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/Terminal.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">class</span></span><spanclass="symbol"><ahref="Terminal.html"title="A server object that can be accessed for net.psforever.services and other amenities."><spanclass="name">Terminal</span></a><spanclass="result"> extends <ahref="../structures/Amenity.html"name="net.psforever.objects.serverobject.structures.Amenity"id="net.psforever.objects.serverobject.structures.Amenity"class="extype">Amenity</a> with <ahref="../hackable/Hackable.html"name="net.psforever.objects.serverobject.hackable.Hackable"id="net.psforever.objects.serverobject.hackable.Hackable"class="extype">Hackable</a></span></span><pclass="shortcomment cmt">A server object that can be accessed for net.psforever.services and other amenities.</p><divclass="fullcomment"><divclass="comment cmt"><p>A server object that can be accessed for net.psforever.services and other amenities.
Terminals are owned by both <code>Structure</code> objects and by <code>Vehicle</code> objects
and generally conform to the faction affiliation of the owner.
Some <code>Structure</code>-owned terminals may be compromised
to extend functionality to other's not of faction affiliation for a short time
while <code>Vehicle</code>-owned terminals may not.
</p></div></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.TerminalControl"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="TerminalControlextendsActorwithFactionAffinityBehavior.CheckwithHackableBehavior.GenericHackablewithDamageableAmenitywithRepairableAmenity"></a><aid="TerminalControl:TerminalControl"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/TerminalControl.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">class</span></span><spanclass="symbol"><ahref="TerminalControl.html"title="An Actor that handles messages being dispatched to a specific Terminal."><spanclass="name">TerminalControl</span></a><spanclass="result"> extends <spanname="akka.actor.Actor"class="extype">Actor</span> with <ahref="../affinity/FactionAffinityBehavior$$Check.html"name="net.psforever.objects.serverobject.affinity.FactionAffinityBehavior.Check"id="net.psforever.objects.serverobject.affinity.FactionAffinityBehavior.Check"class="extype">Check</a> with <ahref="../hackable/HackableBehavior$$GenericHackable.html"name="net.psforever.objects.serverobject.hackable.HackableBehavior.GenericHackable"id="net.psforever.objects.serverobject.hackable.HackableBehavior.GenericHackable"class="extype">GenericHackable</a> with <ahref="../damage/DamageableAmenity.html"name="net.psforever.objects.serverobject.damage.DamageableAmenity"id="net.psforever.objects.serverobject.damage.DamageableAmenity"class="extype">DamageableAmenity</a> with <ahref="../repair/RepairableAmenity.html"name="net.psforever.objects.serverobject.repair.RepairableAmenity"id="net.psforever.objects.serverobject.repair.RepairableAmenity"class="extype">RepairableAmenity</a></span></span><pclass="shortcomment cmt">An <code>Actor</code> that handles messages being dispatched to a specific <code>Terminal</code>.</p></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.TerminalDefinition"group="Ungrouped"fullComment="no"data-isabs="true"visbl="pub"><aid="TerminalDefinitionextendsAmenityDefinition"></a><aid="TerminalDefinition:TerminalDefinition"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/TerminalDefinition.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier">abstract </span><spanclass="kind">class</span></span><spanclass="symbol"><ahref="TerminalDefinition.html"title="The basic definition for any Terminal object."><spanclass="name">TerminalDefinition</span></a><spanclass="result"> extends <ahref="../structures/AmenityDefinition.html"name="net.psforever.objects.serverobject.structures.AmenityDefinition"id="net.psforever.objects.serverobject.structures.AmenityDefinition"class="extype">AmenityDefinition</a></span></span><pclass="shortcomment cmt">The basic definition for any <code>Terminal</code> object.</p></li></ol></div><divclass="values members"><h3>Value Members</h3><ol><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.CaptureTerminal"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="CaptureTerminal"></a><aid="CaptureTerminal:CaptureTerminal"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/terminals/CaptureTerminal$.html"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">object</span></span><spanclass="symbol"><ahref="CaptureTerminal$.html"title=""><spanclass="name">CaptureTerminal</span></a></span></li><liclass="indented0 "name="net.psforever.objects.serverobject.terminals.CaptureTerminals"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="CaptureTerminals"></a><aid="CaptureTerminals:CaptureTerminals"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/ter
Implant terminals are composed of two components.</p><divclass="fullcomment"><divclass="comment cmt"><p>Data for the <code>Definition</code> for any <code>Terminal</code> that is of a type "implant_terminal_interface."
Implant terminals are composed of two components.
This <code>Definition</code> constructs the invisible interface component (interacted with as a game window).
Unlike other <code>Terminal</code> objects in the game, this one must be constructed on the client and
attached as a child of the visible implant terminal component - the "implant_terminal_mech."