borderlands2
Version:
Borderlands 2 weapon damage and DPS calculation library
108 lines (85 loc) • 2.29 kB
text/typescript
import { Skill } from "../skill";
import { Stat } from "../../interface";
import { StatType } from "../../value_object";
import { EffectType } from "../../../effect";
export class FastHands extends Skill {
name = 'Fast Hands'
protected stats: Stat[] = [{
type: StatType.ReloadSpeed,
value: 0.05
}]
}
export class Fearless extends Skill {
name = 'Fearless'
protected stats: Stat[] = [{
type: StatType.FireRate,
value: 0.05
},{
type: StatType.GunDamage,
value: 0.03
}]
protected effectType = EffectType.ShieldDepleted
}
export class Ambush extends Skill {
name = 'Ambush'
// Assuming this is gun damage
protected stats: Stat[] = [{
type: StatType.GunDamage,
value: 0.04
}]
protected effectType = EffectType.Ambush
}
export class RisingSh0t extends Skill {
name = 'Rising Sh0t'
// Note: procs occur on the primary projectile, so the buff affects the
// splash damage on the intial shot meaning this calculator won't be super
// accurate for Maliwan bonus damage or torgue explosive weapons
// If we wanted this to be super accurate we could have damage calculations
// identify if they are secondary projectiles which stacking skills like
// this one know how to...aas
protected stats: Stat[] = [{
type: StatType.GunDamage,
value: 0.02
}]
protected effectType = EffectType.RisingSh0t
}
export class DeathMark extends Skill {
name = 'Death Mark'
protected stats: Stat[] = [{
type: StatType.GunDamage,
value: 0.8
}]
protected effectType = EffectType.DeathMark
}
export class Innervate extends Skill {
name = 'Innervate'
protected stats: Stat[] = [{
type: StatType.GunDamage,
value: 0.02
}]
protected effectType = EffectType.ActionSkill
}
export class HeadSh0t extends Skill {
name = 'Head Sh0t'
protected stats: Stat[] = [{
type: StatType.CritHitDamage,
value: 0.04
}]
}
export class Vel0city extends Skill {
name = 'Vel0city'
protected stats: Stat[] = [{
type: StatType.CritHitDamage,
value: 0.03
},{
type: StatType.GunDamage,
value: 0.02
}]
}
export class OneSh0tOneKill extends Skill {
name = 'One Sh0t One Kill'
protected stats: Stat[] = [{
type: StatType.FirstShotGunDamage,
value: 0.12
}]
}