# PSF-LoginServer - master - net.psforever.objects.serverobject.locks.IFFLock
PSF - LoginServer - master - net.psforever.objects.serverobject.locks.IFFLock
Keywords: PSF LoginServer master net.psforever.objects.serverobject.locks.IFFLock

PSF-LoginServer - master < Back


# Packages

-  package root
  Definition Classes
    root
-  package net
  Definition Classes
    root
-  package psforever
  Definition Classes
    net
-  package objects
  Definition Classes
    psforever
-  package serverobject
  Definition Classes
    objects
-  package locks
  Definition Classes
    serverobject
- IFFLock
- IFFLockControl
- IFFLockDefinition
- IFFLocks

c

net.psforever.objects.serverobject.locks

# IFFLock 

###
Companion object IFFLock

#### class IFFLock extends Amenity with Hackable

A structure-owned server object that is a "door lock."
The "door lock" exerts an "identify friend or foe" field that detects the faction affiliation of a target player. It also indirectly inherits faction affiliation from the structure to which it is connected or it can be "hacked" whereupon the person exploiting it leaves their "faction" as the aforementioned affiliated faction. The `IFFLock` is ideally associated with a server map object - a `Door` - to which it acts as a gatekeeper.

Source
  IFFLock.scala

Linear Supertypes
Hackable, Amenity, BlockMapEntity, StandardResistanceProfile, ResistanceProfile, Vitality, VitalsHistory, PlanetSideServerObject, ZoneAware, FactionAffinity, PlanetSideGameObject, WorldEntity, IdentifiableEntity, Identifiable, AnyRef, Any

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. IFFLock
2. Hackable
3. Amenity
4. BlockMapEntity
5. StandardResistanceProfile
6. ResistanceProfile
7. Vitality
8. VitalsHistory
9. PlanetSideServerObject
10. ZoneAware
11. FactionAffinity
12. PlanetSideGameObject
13. WorldEntity
14. IdentifiableEntity
15. Identifiable
16. AnyRef
17. Any

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Instance Constructors

1.  new IFFLock(idef: IFFLockDefinition)

   idef

     the `ObjectDefinition` that constructs this object and maintains some of its immutable fields

### Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##: Int
   Definition Classes
     AnyRef → Any
3.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
4.  def Actor: ActorRef

   Retrieve a reference to the internal `Actor`.

   Retrieve a reference to the internal `Actor`.

   returns

     the internal `ActorRef`

   Definition Classes
     PlanetSideServerObject
5.  def Actor_=(control: ActorRef): ActorRef

   Assign an `Actor` to act for this server object.

   Assign an `Actor` to act for this server object. This reference is only set once, that is, as long as the internal `ActorRef` directs to `ActorRef.noSender` (`null`).

   control

     the `Actor` whose functionality will govern this server object

   returns

     the current internal `ActorRef`

   Definition Classes
     PlanetSideServerObject
6.  def CanDamage: Boolean
   Definition Classes
     Vitality
7.  def CanRepair: Boolean
   Definition Classes
     Vitality
8.  def ClearHistory(): List[VitalsActivity]
   Definition Classes
     VitalsHistory
9.  def Continent: String
   Definition Classes
     ZoneAware
10.  def Continent_=(zoneId: String): String

    Give the entity a custom `Zone` identifier.

    Give the entity a custom `Zone` identifier.

    zoneId

      the custom identifier of the `Zone` object

    returns

      the identifier of the `Zone` object

    Definition Classes
      ZoneAware
11.  def DamageModel: DamageAndResistance
    Definition Classes
      Amenity → Vitality
12.  def DefaultHealth: Int
    Definition Classes
      Vitality
13.  def Definition: IFFLockDefinition
    Definition Classes
      IFFLock → Amenity → Vitality → PlanetSideGameObject
14.  def Destroyed: Boolean
    Definition Classes
      PlanetSideGameObject
15.  def Destroyed_=(state: Boolean): Boolean
    Definition Classes
      PlanetSideGameObject
16.  def Entity: WorldEntity
    Definition Classes
      PlanetSideGameObject
17.  def Entity_=(newEntity: WorldEntity): Unit
    Definition Classes
      PlanetSideGameObject
18.  def Faction: types.PlanetSideEmpire.Value
    Definition Classes
      Amenity → FactionAffinity
19.  def Faction_=(fac: types.PlanetSideEmpire.Value): types.PlanetSideEmpire.Value
    Definition Classes
      FactionAffinity
20.  def GUID: PlanetSideGUID
    Definition Classes
      IdentifiableEntity → Identifiable
21.  def GUID_=(guid: PlanetSideGUID): PlanetSideGUID
    Definition Classes
      IdentifiableEntity → Identifiable
22.  def GUID_=(guid: StalePlanetSideGUID): PlanetSideGUID

    Always intercept `StalePlanetSideGUID` references when attempting to mutate the GUID value.

    Always intercept `StalePlanetSideGUID` references when attempting to mutate the GUID value.

    guid

      the valid GUID to assign

    returns

      never returns

    Definition Classes
      IdentifiableEntity
    Exceptions thrown

      ``AssigningGUIDException`` always

23.  def HackDuration: Array[Int]
    Definition Classes
      Hackable
24.  def HackDuration_=(arr: Array[Int]): Array[Int]
    Definition Classes
      Hackable
25.  def HackEffectDuration: Array[Int]
    Definition Classes
      Hackable
26.  def HackEffectDuration_=(arr: Array[Int]): Array[Int]
    Definition Classes
      Hackable
27.  def HackSound: packet.game.TriggeredSound.Value
    Definition Classes
      Hackable
28.  def HackSound_=(sound: packet.game.TriggeredSound.Value): packet.game.TriggeredSound.Value
    Definition Classes
      Hackable
29.  def HackedBy: Option[HackInfo]
    Definition Classes
      Hackable
30.  def HackedBy_=(hackInfo: HackInfo): Option[HackInfo]
    Definition Classes
      Hackable
31.  def HackedBy_=(agent: Option[Player]): Option[HackInfo]

    Set the hack state of this object by recording important information about the player who caused it.

    Set the hack state of this object by recording important information about the player who caused it. Set the hack state if there is no current hack state. Override the hack state with a new hack state if the new user has different faction affiliation.

    agent

      a `Player`, or no player

    returns

      the player hack entry

    Definition Classes
      Hackable
32.  def HackedBy_=(agent: Player): Option[HackInfo]
    Definition Classes
      Hackable
33.  def HasGUID: Boolean

    Flag when the object has no GUID (initial condition) or is considered stale.

    Flag when the object has no GUID (initial condition) or is considered stale.

    returns

      whether the value of the GUID is a valid representation for this object

    Definition Classes
      IdentifiableEntity
34.  def Health: Int
    Definition Classes
      Vitality
35.  def Health_=(assignHealth: Int): Int
    Definition Classes
      Vitality
36.  def History(result: DamageResult): List[VitalsActivity]

    Very common example of a `VitalsActivity` event involving damage.

    Very common example of a `VitalsActivity` event involving damage.

    result

      the fully-informed entry

    returns

      the list of previous changes to this object's vital statistics

    Definition Classes
      VitalsHistory
37.  def History(action: Option[VitalsActivity]): List[VitalsActivity]

    A `VitalsActivity` event must be recorded.

    A `VitalsActivity` event must be recorded. Add new entry to the front of the list (for recent activity).

    action

      the fully-informed entry

    returns

      the list of previous changes to this object's vital statistics

    Definition Classes
      VitalsHistory
38.  def History(action: VitalsActivity): List[VitalsActivity]

    A `VitalsActivity` event must be recorded.

    A `VitalsActivity` event must be recorded. Add new entry to the front of the list (for recent activity).

    action

      the fully-informed entry

    returns

      the list of previous changes to this object's vital statistics

    Definition Classes
      VitalsHistory
39.  def History: List[VitalsActivity]
    Definition Classes
      VitalsHistory
40.  def Invalidate(): Unit

    Indicate that the current GUID is no longer a valid representation of the object.

    Indicate that the current GUID is no longer a valid representation of the object. Transforms whatever the current GUID is into a `StalePlanetSideGUID` 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.

    Definition Classes
      IdentifiableEntity
41.  def LastDamage: Option[DamageResult]
    Definition Classes
      VitalsHistory
42.  def LastShot: Option[DamageResult]

    Find, specifically, the last instance of a weapon discharge vital statistics change.

    Find, specifically, the last instance of a weapon discharge vital statistics change.

    returns

      information about the discharge

    Definition Classes
      VitalsHistory
43.  def LocationOffset: Vector3
    Definition Classes
      Amenity
44.  def LocationOffset_=(off: Option[Vector3]): Vector3
    Definition Classes
      Amenity
45.  def LocationOffset_=(off: Vector3): Vector3
    Definition Classes
      Amenity
46.  def MaxHealth: Int
    Definition Classes
      Vitality
47.  def MaxHealth_=(default: Option[Int]): Int
    Definition Classes
      Vitality
48.  def MaxHealth_=(default: Int): Int
    Definition Classes
      Vitality
49.  def Orientation: Vector3
    Definition Classes
      PlanetSideGameObject → WorldEntity
50.  def Orientation_=(orient: Vector3): Vector3

    While setting the normal rotation angle for the IFF lock for a door (?), use the angular data to determine an "inside" side and an "outside" side.
    Doors are always positioned with the frame perpendicular to the ground.

    While setting the normal rotation angle for the IFF lock for a door (?), use the angular data to determine an "inside" side and an "outside" side.
    Doors are always positioned with the frame perpendicular to the ground. The `i` and `j` components can be excused for this reason and only the `k` component (rotation around world-up) matters. Due to angle-corrected North, add 90 degrees before switching to radians and negate the cosine.

    orient

      the orientation of the door

    returns

      the clamped orientation of the door

    Definition Classes
      IFFLock → PlanetSideGameObject → WorldEntity
51.  def Outwards: Vector3
52.  def Owner: AmenityOwner

    Reference the object that is in direct association with (is superior to) this one.

    Reference the object that is in direct association with (is superior to) this one.

    returns

      the object associated as this object's "owner"

    Definition Classes
      Amenity
53.  def Owner_=(obj: AmenityOwner): AmenityOwner

    Set an object to have a direct association with (be superior to) this one.

    Set an object to have a direct association with (be superior to) this one.

    obj

      the object trying to become associated as this object's "owner"

    returns

      the object associated as this object's "owner"

    Definition Classes
      Amenity
    See also

      `Amenity.AmenityTarget`

54.  def Position: Vector3
    Definition Classes
      PlanetSideGameObject → WorldEntity
55.  def Position_=(vec: Vector3): Vector3
    Definition Classes
      PlanetSideGameObject → WorldEntity
56.  def RadiationShielding: Float
    Definition Classes
      StandardResistanceProfile → ResistanceProfile
57.  def ResetControl(): ActorRef
    Definition Classes
      PlanetSideServerObject
58.  def Resist(dtype: vital.base.DamageType.Value): Float
    Definition Classes
      ResistanceProfile
59.  def ResistanceAggravated: Int
    Definition Classes
      StandardResistanceProfile → ResistanceProfile
60.  def ResistanceDirectHit: Int
    Definition Classes
      StandardResistanceProfile → ResistanceProfile
61.  def ResistanceSplash: Int
    Definition Classes
      StandardResistanceProfile → ResistanceProfile
62.  def Subtract: DamageProfile
    Definition Classes
      StandardResistanceProfile → ResistanceProfile
63.  def Velocity: Option[Vector3]
    Definition Classes
      PlanetSideGameObject → WorldEntity
64.  def Velocity_=(vec: Option[Vector3]): Option[Vector3]
    Definition Classes
      PlanetSideGameObject → WorldEntity
65.  def Velocity_=(vec: Vector3): Option[Vector3]
    Definition Classes
      WorldEntity
66.  def Zone: Zone
    Definition Classes
      Amenity → ZoneAware
67.  def Zone_=(zone: Zone): Zone

    When assigning a new `Zone` object for the `Vehicle` object, eliminate

    When assigning a new `Zone` object for the `Vehicle` object, eliminate

    zone

      a reference to the `Zone` object

    returns

      a reference to the `Zone` object

    Definition Classes
      ZoneAware
68.  final def asInstanceOf[T0]: T0
    Definition Classes
      Any
69.  def blockMapEntry: Option[BlockMapEntry]

    internal data regarding an active representation on a blockmap

    internal data regarding an active representation on a blockmap

    Definition Classes
      BlockMapEntity
70.  def blockMapEntry_=(entry: Option[BlockMapEntry]): Option[BlockMapEntry]

    internal data regarding an active representation on a blockmap

    internal data regarding an active representation on a blockmap

    Definition Classes
      BlockMapEntity
71.  def clone(): AnyRef
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.CloneNotSupportedException]) @native()
72.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
73.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
74.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
75.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
76.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
77.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
78.  def isMoving(test: Float): Boolean

    This object is not considered moving unless it is moving at least as fast as a certain velocity.

    This object is not considered moving unless it is moving at least as fast as a certain velocity.

    test

      the (squared) velocity to test against

    returns

      `true`, if we are moving; `false`, otherwise

    Definition Classes
      WorldEntity
79.  def isMoving(test: Vector3): Boolean

    This object is not considered moving unless it is moving at least as fast as a certain velocity.

    This object is not considered moving unless it is moving at least as fast as a certain velocity.

    test

      the velocity to test against

    returns

      `true`, if we are moving; `false`, otherwise

    Definition Classes
      WorldEntity
80.  def isMoving: Boolean

    A velocity of non-zero is the same as moving.

    A velocity of non-zero is the same as moving.

    returns

      `true`, if we are moving; `false`, otherwise

    Definition Classes
      WorldEntity
81.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
82.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
83.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
84.  def sector(zone: Zone, range: Float): SectorPopulation

    Buckets in the blockmap are called "sectors".

    Buckets in the blockmap are called "sectors". Find the sectors in a given blockmap in which the entity would be represented within a given range.

    zone

      what region the blockmap represents

    range

      the custom distance from the central sector along the major axes

    returns

      a conglomerate sector which lists all of the entities in the allocated sector(s)

    Definition Classes
      BlockMapEntity
85.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
86.  def toString(): String
    Definition Classes
      AnyRef → Any
87.  def updateBlockMapEntry(newCoords: Vector3): Boolean

    Update the internal data's known coordinate position without changing representation on whatever blockmap.

    Update the internal data's known coordinate position without changing representation on whatever blockmap. Has the potential to cause major issues with the blockmap if used without external checks.

    newCoords

      the coordinate position

    returns

      `true`, if the coordinates were updated; `false`, otherwise

    Definition Classes
      BlockMapEntity
88.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
89.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
90.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Inherited from Hackable

### Inherited from Amenity

### Inherited from BlockMapEntity

### Inherited from StandardResistanceProfile

### Inherited from ResistanceProfile

### Inherited from Vitality

### Inherited from VitalsHistory

### Inherited from PlanetSideServerObject

### Inherited from ZoneAware

### Inherited from FactionAffinity

### Inherited from PlanetSideGameObject

### Inherited from WorldEntity

### Inherited from IdentifiableEntity

### Inherited from Identifiable

### Inherited from AnyRef

### Inherited from Any

### Ungrouped