# PSF-LoginServer - master - net.psforever.objects.serverobject.damage.Damageable
PSF - LoginServer - master - net.psforever.objects.serverobject.damage.Damageable
Keywords: PSF LoginServer master net.psforever.objects.serverobject.damage.Damageable

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 damage
  Definition Classes
    serverobject
- AggravatedBehavior
- Damageable
- DamageableAmenity
- DamageableEntity
- DamageableMountable
- DamageableVehicle
- DamageableWeaponTurret

t

net.psforever.objects.serverobject.damage

# Damageable 

###
Companion object Damageable

#### trait Damageable extends AnyRef

The base "control" `Actor` mixin for damage-handling code. A valid entity requires health points and may have additional obstructions to adjusting those health points such as armor and shields. All of these should be affected by the damage where applicable.

Source
  Damageable.scala

Linear Supertypes
AnyRef, Any
Known Subclasses
BoomerDeployableControl, ExplosiveDeployableControl, MineDeployableControl, SensorDeployableControl, ShieldGeneratorControl, TelepadDeployableControl, TrapDeployableControl, TurretControl, PlayerControl, DamageableAmenity, DamageableEntity, DamageableVehicle, DamageableWeaponTurret, GeneratorControl, ProximityTerminalControl, TerminalControl, ImplantTerminalMechControl, SpawnTubeControl, FacilityTurretControl, AmsControl, AntControl, ApcControl, CargoCarrierControl, DeployingVehicleControl, RouterControl, VehicleControl

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. Damageable
2. AnyRef
3. Any

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Abstract Value Members

1.  abstract def DamageableObject: Target

   Contextual access to the object being the target of this damage.

   Contextual access to the object being the target of this damage. Needs declaration in lowest implementing code.

   returns

     the entity controlled by this actor

2.  abstract def PerformDamage(target: Target, applyDamageTo: Output): Unit

   Assess the vital statistics of the target, apply the damage, and determine if any of those statistics changed.

   Assess the vital statistics of the target, apply the damage, and determine if any of those statistics changed. By default, only take an interest in the change of "health". If implementing custom damage with no new message handling, override this method.

   target

     the entity to be damaged

   applyDamageTo

     the function that applies the damage to the target in a target-tailored fashion

   Attributes
     protected
   See also

     `ResolutionCalculations.Output`

### Concrete 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.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
5.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.CloneNotSupportedException]) @native()
6.  final def eq(arg0: AnyRef): Boolean
   Definition Classes
     AnyRef
7.  def equals(arg0: AnyRef): Boolean
   Definition Classes
     AnyRef → Any
8.  def finalize(): Unit
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.Throwable])
9.  final def getClass(): Class[_ <: AnyRef]
   Definition Classes
     AnyRef → Any
   Annotations
     @native()
10.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
11.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
12.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
13.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
14.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
15.  final val originalTakesDamage: Receive

    a duplicate of the core implementation for the default mixin hook, for use in overriding

16.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
17.  val takesDamage: Receive

    the official mixin hook; `orElse` onto the "control" `Actor` `receive`; or, cite the `originalTakesDamage` protocol during inheritance overrides

18.  def toString(): String
    Definition Classes
      AnyRef → Any
19.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
20.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
21.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Inherited from AnyRef

### Inherited from Any

### Ungrouped