You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
1.1 KiB
27 lines
1.1 KiB
1 year ago
|
```cpp
|
||
|
CurrentDamageValue = Source.WeaponDamage * Ability.WeaponDamageScaling
|
||
|
|
||
|
if : Rand(0,1) < Source.CriticalHitChance
|
||
|
CurrentDamageValue = CurrentDamageValue * Source.CriticalHitDamage * Target.CritResist
|
||
|
if : Rand(0,1) < Source.UberCriticalHitChance
|
||
|
CurrentDamageValue = CurrentDamageValue * Source.UberCriticalHitDamage
|
||
|
|
||
|
CurrentDamageValue = CurrentDamageValue * Source.GetElementalDamageValue(Ability.DamageType)
|
||
|
|
||
|
```
|
||
|
-----
|
||
|
```cpp
|
||
|
if : Target.Armor - Source.ArmorPenetration >= 0 && Target.Armor >= 0
|
||
|
CurrentDamageValue = CurrentDamageValue * ((ARMOR_EFFICENCY) / (ARMOR_EFFICENCY + (Target.Armor - Source.ArmorPenetration))
|
||
|
else :
|
||
|
CurrentDamageValue = CurrentDamageValue * (2 - (ARMOR_EFFICENCY) / (ARMOR_EFFICENCY + (Target.Armor - Source.ArmorPenetration))
|
||
|
CurrentDamageValue = CurrentDamageValue * Target.DamageReduction * Target.GetElementalResistValue(Ability.DamageType) - Target.FlatDamageReduction
|
||
|
if : Rand(0,1) < Target.BlockChance
|
||
|
CurrentDamageValue = 0
|
||
|
if : Rand(0,1) > Source.HitChance
|
||
|
CurrentDamageValue = 0
|
||
|
```
|
||
|
-----
|
||
|
```cpp
|
||
|
return CurrentDamageValue
|
||
|
```
|