TriggerType & StackType - Dinorush/ExtraWeaponCustomization GitHub Wiki

TriggerType

Enum used to determine what triggers an effect.

Values

OnFire

Triggers after a shot is fired. Does not take effect on the shot that triggered it.

  • Alt. Names: OnShot

OnHit

Triggers after a shot or explosion hits an enemy. Does not take effect on the hit that triggered it, but affects following hits on piercing shots.

OnHitBullet

Triggers after a shot hits an enemy. Does not take effect on the hit that triggered it.

OnHitExplosive

Triggers after an explosion hits an enemy. Does not take effect on the hit that triggered it.

  • Alt. Names: OnHitExplo

OnPrecisionHit

Triggers after hitting an enemy weakpoint. Does not take effect on the hit that triggered it.

  • Alt. Names: OnPrecHit
  • Has same variations as OnHit, e.g. OnPrecisionHitBullet

OnDamage

Triggers on any enemy damage dealt (bullet, DOT, explosive) and scales the effect proportionally. Each point of damage is equivalent to one instance triggered. Damage is capped by the enemy's maximum health. Does not take effect on the hit that triggered it.

OnPrecisionDamage

Same behavior as OnDamage, but only triggers on precision hits.

  • Alt. Names: OnPrecDamage

OnKill

Triggers after killing an enemy.

OnPrecisionKill

Triggers after killing an enemy with a weakspot hit.

  • Alt. Names: OnPrecKill

OnReload

Triggers when a reload updates the number of bullets in the clip.

OnWield

Triggers when swapping to the weapon.

StackType

Enum used to determine how modifiers stack.

Values

Override

Modifiers do not stack. Applying a new modifier refreshes the duration. Total modifier is [Modifier] when active.

As a layer, overrides the final modifier to be [Modifier] when active.

  • Alt. Names: None

Add

Modifiers stack additively. Total modifier is [1 + (Modifier - 1) * Num of Modifiers].

As a layer, sums with other Add layers: [1 + (ModifierA - 1) + (ModifierB - 1) + ...]. The final sum is multiplied with Multiply layers.

Multiply

Modifiers stack multiplicatively. Total modifier is [Modifier ^ Num of Modifiers]

As a layer, multiplies with other Multiply layers: [ModifierA * ModifierB * ...]. Multiplied with the sum of Add layers.

  • Alt. Names: Mult