Normal <code>PlanetSideServerObject</code> entities (server objects) tend to have properties that are completely internalized.
An <code>Amenity</code> is a server object that maintains a fixed association with another server object.
This association strips away at the internalization and redirects a reference to some properties somewhere else.
An <code>Amenity</code> object belongs to its <code>Owner</code> object;
the <code>Amenity</code> objects look to its <code>Owner</code> object for some of its properties.</p></div><dlclass="attributes block"><dt>Source</dt><dd><ahref="https://github.com/psforever/PSF-LoginServer/blob/master//home/runner/work/PSF-LoginServer/PSF-LoginServer/src/main/scala/net/psforever/objects/serverobject/structures/Amenity.scala"target="_blank">Amenity.scala</a></dd><dt>See also</dt><dd><spanclass="cmt"><p><code>AmenityOwner</code></p></span><spanclass="cmt"><p><code>FactionAffinity</code></p></span></dd></dl><divclass="toggleContainer"><divclass="toggle block"><span>Linear Supertypes</span><divclass="superTypes hiddenContent"><ahref="../../vital/StandardResistanceProfile.html"name="net.psforever.objects.vital.StandardResistanceProfile"id="net.psforever.objects.vital.StandardResistanceProfile"class="extype">StandardResistanceProfile</a>, <ahref="../../vital/resistance/ResistanceProfile.html"name="net.psforever.objects.vital.resistance.ResistanceProfile"id="net.psforever.objects.vital.resistance.ResistanceProfile"class="extype">ResistanceProfile</a>, <ahref="../../vital/Vitality.html"name="net.psforever.objects.vital.Vitality"id="net.psforever.objects.vital.Vitality"class="extype">Vitality</a>, <ahref="../../vital/VitalsHistory.html"name="net.psforever.objects.vital.VitalsHistory"id="net.psforever.objects.vital.VitalsHistory"class="extype">VitalsHistory</a>, <ahref="../PlanetSideServerObject.html"name="net.psforever.objects.serverobject.PlanetSideServerObject"id="net.psforever.objects.serverobject.PlanetSideServerObject"class="extype">PlanetSideServerObject</a>, <ahref="../../zones/ZoneAware.html"name="net.psforever.objects.zones.ZoneAware"id="net.psforever.objects.zones.ZoneAware"class="extype">ZoneAware</a>, <ahref="../affinity/FactionAffinity.html"name="net.psforever.objects.serverobject.affinity.FactionAffinity"id="net.psforever.objects.serverobject.affinity.FactionAffinity"class="extype">FactionAffinity</a>, <ahref="../../PlanetSideGameObject.html"name="net.psforever.objects.PlanetSideGameObject"id="net.psforever.objects.PlanetSideGameObject"class="extype">PlanetSideGameObject</a>, <ahref="../../entity/WorldEntity.html"name="net.psforever.objects.entity.WorldEntity"id="net.psforever.objects.entity.WorldEntity"class="extype">WorldEntity</a>, <ahref="../../entity/IdentifiableEntity.html"name="net.psforever.objects.entity.IdentifiableEntity"id="net.psforever.objects.entity.IdentifiableEntity"class="extype">IdentifiableEntity</a>, <ahref="../../entity/Identifiable.html"name="net.psforever.objects.entity.Identifiable"id="net.psforever.objects.entity.Identifiable"class="extype">Identifiable</a>, <spanname="scala.AnyRef"class="extype">AnyRef</span>, <spanname="scala.Any"class="extype">Any</span></div></div></div><divclass="toggleContainer"><divclass="toggle block"><span>Known Subclasses</span><divclass="subClasses hiddenContent"><ahref="../doors/Door.html"name="net.psforever.objects.serverobject.doors.Door"id="net.psforever.objects.serverobject.doors.Door"class="extype">Door</a>, <ahref="../generator/Generator.html"name="net.psforever.objects.serverobject.generator.Generator"id="net.psforever.objects.serverobject.generator.Generator"class="extype">Generator</a>, <ahref="../implantmech/ImplantTerminalMech.html"name="net.psforever.objects.serverobject.implantmech.ImplantTerminalMech"id="net.psforever.objects.serverobject.implantmech.ImplantTerminalMech"class="extype">ImplantTerminalMech</a>, <ahref="../locks/IFFLock.html"name="net.psforever.objects.serverobject.locks.IFFLock"id="net.psforever.objects.serverobject.locks.IFFLock"class="extype">IFFLock</a>, <ahref="../mblocker/Locker.html"name="net.psforever.objects.serverobject.mblocker.Locker"id="net.psforever.objects.serverobject.mblocker.Locker"class="extype">Locker</a>, <ahref="../pad/VehicleSpawnPad.html"name="net.psforever.objects.serverobject.pad.VehicleSpawnPad"id="net.psforever.objects.serverobject.pad.VehicleSpawnPad"class="extype">VehicleSpawnPad</a>, <ahref="../painbox
This reference is only set once, that is, as long as the internal <code>ActorRef</code> directs to <code>ActorRef.noSender</code> (<code>null</code>).</p></div><dlclass="paramcmts block"><dtclass="param">control</dt><ddclass="cmt"><p>the <code>Actor</code> whose functionality will govern this server object</p></dd><dt>returns</dt><ddclass="cmt"><p>the current internal <code>ActorRef</code></p></dd></dl><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref="../PlanetSideServerObject.html"name="net.psforever.objects.serverobject.PlanetSideServerObject"id="net.psforever.objects.serverobject.PlanetSideServerObject"class="extype">PlanetSideServerObject</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.vital.Vitality#CanDamage"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="CanDamage:Boolean"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/structures/Amenity.html#CanDamage:Boolean"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">CanDamage</span><spanclass="result">: <spanname="scala.Boolean"class="extype">Boolean</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref="../../vital/Vitality.html"name="net.psforever.objects.vital.Vitality"id="net.psforever.objects.vital.Vitality"class="extype">Vitality</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.vital.Vitality#CanRepair"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="CanRepair:Boolean"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/structures/Amenity.html#CanRepair:Boolean"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">CanRepair</span><spanclass="result">: <spanname="scala.Boolean"class="extype">Boolean</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref="../../vital/Vitality.html"name="net.psforever.objects.vital.Vitality"id="net.psforever.objects.vital.Vitality"class="extype">Vitality</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.vital.VitalsHistory#ClearHistory"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="ClearHistory():List[net.psforever.objects.vital.VitalsActivity]"></a><aid="ClearHistory():List[VitalsActivity]"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/structures/Amenity.html#ClearHistory():List[net.psforever.objects.vital.VitalsActivity]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">ClearHistory</span><spanclass="params">()</span><spanclass="result">: <spanname="scala.List"class="extype">List</span>[<ahref="../../vital/VitalsActivity.html"name="net.psforever.objects.vital.VitalsActivity"id="net.psforever.objects.vital.VitalsActivity"class="extype">VitalsActivity</a>]</span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref="../../vital/VitalsHistory.html"name="net.psforever.objects.vital.VitalsHistory"id="net.psforever.objects.vital.VitalsHistory"class="extype">VitalsHistory</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.zones.ZoneAware#Continent"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="Continent:String"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/structures/Amenity.html#Continent:String"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclas
Add new entry to the front of the list (for recent activity).</p></div><dlclass="paramcmts block"><dtclass="param">action</dt><ddclass="cmt"><p>the fully-informed entry</p></dd><dt>returns</dt><ddclass="cmt"><p>the list of previous changes to this object's vital statistics</p></dd></dl><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref="../../vital/VitalsHistory.html"name="net.psforever.objects.vital.VitalsHistory"id="net.psforever.objects.vital.VitalsHistory"class="extype">VitalsHistory</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.vital.VitalsHistory#History"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="History(action:net.psforever.objects.vital.VitalsActivity):List[net.psforever.objects.vital.VitalsActivity]"></a><aid="History(VitalsActivity):List[VitalsActivity]"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/structures/Amenity.html#History(action:net.psforever.objects.vital.VitalsActivity):List[net.psforever.objects.vital.VitalsActivity]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">History</span><spanclass="params">(<spanname="action">action: <ahref="../../vital/VitalsActivity.html"name="net.psforever.objects.vital.VitalsActivity"id="net.psforever.objects.vital.VitalsActivity"class="extype">VitalsActivity</a></span>)</span><spanclass="result">: <spanname="scala.List"class="extype">List</span>[<ahref="../../vital/VitalsActivity.html"name="net.psforever.objects.vital.VitalsActivity"id="net.psforever.objects.vital.VitalsActivity"class="extype">VitalsActivity</a>]</span></span><pclass="shortcomment cmt">A <code>VitalsActivity</code> event must be recorded.</p><divclass="fullcomment"><divclass="comment cmt"><p>A <code>VitalsActivity</code> event must be recorded.
Add new entry to the front of the list (for recent activity).</p></div><dlclass="paramcmts block"><dtclass="param">action</dt><ddclass="cmt"><p>the fully-informed entry</p></dd><dt>returns</dt><ddclass="cmt"><p>the list of previous changes to this object's vital statistics</p></dd></dl><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref="../../vital/VitalsHistory.html"name="net.psforever.objects.vital.VitalsHistory"id="net.psforever.objects.vital.VitalsHistory"class="extype">VitalsHistory</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.vital.VitalsHistory#History"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="History:List[net.psforever.objects.vital.VitalsActivity]"></a><aid="History:List[VitalsActivity]"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/structures/Amenity.html#History:List[net.psforever.objects.vital.VitalsActivity]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">History</span><spanclass="result">: <spanname="scala.List"class="extype">List</span>[<ahref="../../vital/VitalsActivity.html"name="net.psforever.objects.vital.VitalsActivity"id="net.psforever.objects.vital.VitalsActivity"class="extype">VitalsActivity</a>]</span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref="../../vital/VitalsHistory.html"name="net.psforever.objects.vital.VitalsHistory"id="net.psforever.objects.vital.VitalsHistory"class="extype">VitalsHistory</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.entity.IdentifiableEntity#Invalidate"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="Invalidate():Unit"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/structures/Amenity.html#Invalidate():Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">Invalidate</span><spanclass="params">()</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">Indicate that the current GUID is no longer a valid representation of the object.</p><divclass="fullcomment"><divclass="comment cmt"><p>Indicate that the current GUID is no longer a valid representation of the object.
Transforms whatever the current GUID is into a <code>StalePlanetSideGUID</code> entity with the same value.
Doing this restores the object to its default mutation option ("the ability to set a new valid GUID").
The current GUID will still be accessed as if it were valid, but it will be wrapped in the new stale object.
</p></div><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref="../../entity/IdentifiableEntity.html"name="net.psforever.objects.entity.IdentifiableEntity"id="net.psforever.objects.entity.IdentifiableEntity"class="extype">IdentifiableEntity</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.vital.VitalsHistory#LastShot"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="LastShot:Option[net.psforever.objects.ballistics.ResolvedProjectile]"></a><aid="LastShot:Option[ResolvedProjectile]"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/structures/Amenity.html#LastShot:Option[net.psforever.objects.ballistics.ResolvedProjectile]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">LastShot</span><spanclass="result">: <spanname="scala.Option"class="extype">Option</span>[<ahref="../../ballistics/ResolvedProjectile.html"name="net.psforever.objects.ballistics.ResolvedProjectile"id="net.psforever.objects.ballistics.ResolvedProjectile"class="extype">ResolvedProjectile</a>]</span></span><pclass="shortcomment cmt">Find, specifically, the last instance of a weapon discharge vital statistics change.</p><divclass="fullcomment"><divclass="comment cmt"><p>Find, specifically, the last instance of a weapon discharge vital statistics change.</p></div><dlclass="paramcmts block"><dt>returns</dt><ddclass="cmt"><p>information about the discharge</p></dd></dl><dlclass="attributes block"><dt>Definition Classes</dt><dd><ahref="../../vital/VitalsHistory.html"name="net.psforever.objects.vital.VitalsHistory"id="net.psforever.objects.vital.VitalsHistory"class="extype">VitalsHistory</a></dd></dl></div></li><liclass="indented0 "name="net.psforever.objects.serverobject.structures.Amenity#LocationOffset"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="LocationOffset:net.psforever.types.Vector3"></a><aid="LocationOffset:Vector3"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/structures/Amenity.html#LocationOffset:net.psforever.types.Vector3"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">LocationOffset</span><spanclass="result">: <ahref="../../../types/Vector3.html"name="net.psforever.types.Vector3"id="net.psforever.types.Vector3"class="extype">Vector3</a></span></span></li><liclass="indented0 "name="net.psforever.objects.serverobject.structures.Amenity#LocationOffset_="group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="LocationOffset_=(off:Option[net.psforever.types.Vector3]):net.psforever.types.Vector3"></a><aid="LocationOffset_=(Option[Vector3]):Vector3"></a><spanclass="permalink"><ahref="../../../../../net/psforever/objects/serverobject/structures/Amenity.html#LocationOffset_=(off:Option[net.psforever.types.Vector3]):net.psforever.types.Vector3"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name"title="gt4s: LocationOffset_$eq">LocationOffset_=</span><spanclass="params">(<spanname="off">off: <spanname="scala.Option"class="extype">Option</span>[<ahref="../../../types/Vector3.html"name="net.psforever.types.Vector3"id="net.psforever.types.Vector3"class="extype">Vector3</a>]</span>)</span><spanclass="result">: <ahref="../../../types/Vector3.html"name="net.psforever.types.Vector3"id="net.psforever.types.Vector3"class="extype">Vector3</a></span></span></li><liclass="indented0 "name="net.psforever.objects.serverobject.structures.Amenity#LocationOffset_="group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="LocationOffset_=(off:net.psforever.types.Vector3):net.psfore