borderlands2
Version:
Borderlands 2 weapon damage and DPS calculation library
36 lines (35 loc) • 1.75 kB
TypeScript
import { Weapon } from "../interface/weapon";
import { StatType } from "../../build/value_object/stat_type";
import { TargetType } from "../../enemy/value_object/target_type";
import { ElementalEffect } from "../value_object/elemental_effect";
import { RedTextEnum } from "../../build/object/red_text";
import { Context } from "../../context";
export declare class DamageService {
private weapon;
private context;
private statService;
constructor(weapon: Weapon, context: Context);
getDps(): number;
getCritDps(): number;
getTargetTypeDps(targetType: TargetType): number;
getTargetTypeCritDps(targetType: TargetType): number;
getDamage(targetType?: TargetType): number;
getFirstShotDamage(targetType?: TargetType): number;
protected getBaseDamage(targetType?: TargetType): number;
protected getFirstShotBaseDamage(targetType?: TargetType): number;
getCritDamage(targetType?: TargetType): number;
getFirstShotCritDamage(targetType?: TargetType): number;
getElementalDps(targetType?: TargetType): number;
protected calculateDps(damage: number, firstBulletDamage: number): number;
protected getWeaponCritMultiplier(): number;
protected getWeaponCritBaseBonus(): number;
protected getWeaponCritPenalty(): number;
protected getReloadSpeed(): number;
protected getFireRate(): number;
protected getMagazineSize(): number;
protected getElementalEffectiveness(targetType: TargetType, elementalEffect?: ElementalEffect): number;
getSplashDamage(targetType?: TargetType): number;
protected getSplashDamageMultiplier(): number;
protected getStat(statType: StatType): number;
protected getRedTextStat(statType: StatType, redText?: RedTextEnum): number;
}