# PSF-LoginServer - master - net.psforever.objects.vital.base.DamageReason
PSF - LoginServer - master - net.psforever.objects.vital.base.DamageReason
Keywords: PSF LoginServer master net.psforever.objects.vital.base.DamageReason

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 vital
  Definition Classes
    objects
-  package base
  Definition Classes
    vital
- DamageModifiers
- DamageReason
- DamageResolution
- DamageType

t

net.psforever.objects.vital.base

# DamageReason

###

#### trait DamageReason extends AnyRef

A wrapper for ambiguity of the "damage source" in damage calculations. The base reason does not convey any specific requirements in regards to the interaction being described.

Source
  DamageReason.scala

Linear Supertypes
AnyRef, Any
Known Subclasses
AdversarialCollisionReason, CollisionReason, EnvironmentReason, EmpReason, ExplodingEntityReason, PainboxReason, SuicideReason, TriggerUsedReason, TrippedMineReason, VehicleSpawnReason, ProjectileReason

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. DamageReason
2. AnyRef
3. Any

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Abstract Value Members

1.  abstract def adversary: Option[SourceEntry]

   The person to be blamed for this.

2.  abstract def damageModel: DamageAndResistance

   The functionality that is necessary for interaction of a vital game object with the rest of the hostile game world.

3.  abstract def resolution: DamageResolution.Value

   An indication about how the damage was or will be processed.

4.  abstract def same(test: DamageReason): Boolean

   Determine whether two damage sources are equivalent.

   Determine whether two damage sources are equivalent.

   test

     the damage source to compare against

   returns

     `true`, if equivalent; `false`, otherwise

5.  abstract def source: DamageProperties

   A direct connection to the damage information, numbers and properties.

### 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 attribution: Int

   Specifics about the method of damage, expected as an object class's unique identifier.

   Specifics about the method of damage, expected as an object class's unique identifier.

   returns

     defaults to 0

6.  def calculate(data: DamageInteraction, dtype: DamageType.Value): Output

   Perform the modified damage value and the basic resistance value allocations to be used against a given valid target.

   Perform the modified damage value and the basic resistance value allocations to be used against a given valid target.

   data

     the damaging interaction to be evaluated

   dtype

     custom damage property for resistance allocation

   returns

     an application function that takes a target and returns a result

7.  def calculate(data: DamageInteraction): Output

   Perform the modified damage value and the basic resistance value allocations to be used against a given valid target.

   Perform the modified damage value and the basic resistance value allocations to be used against a given valid target.

   data

     the damaging interaction to be evaluated

   returns

     an application function that takes a target and returns a result

8.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.CloneNotSupportedException]) @native()
9.  final def eq(arg0: AnyRef): Boolean
   Definition Classes
     AnyRef
10.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
11.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
12.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
13.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
14.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
15.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
16.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
17.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
18.  def staticModifiers: List[DamageProfile]

    Modifiers to the raw/modified damage value that are additive in nature.

    Modifiers to the raw/modified damage value that are additive in nature. These modifiers use a selector function to extract the damage value from the profile, a process required to acquire the raw damage value, outlined elsewhere.

    returns

      a list of modifications to apply (in order)

19.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
20.  def toString(): String
    Definition Classes
      AnyRef → Any
21.  def unstructuredModifiers: List[Mod]

    Modifiers to the raw/modified damage value that are multiplicative or provide disjoint modification.

    Modifiers to the raw/modified damage value that are multiplicative or provide disjoint modification.

    returns

      a list of modifications to apply (in order)

22.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
23.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
24.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Inherited from AnyRef

### Inherited from Any

### Ungrouped