diff --git a/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx b/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx index 888238b00..5e1611491 100644 --- a/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx +++ b/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx @@ -112,7 +112,14 @@ export function Characteristics() { Fire {GUN_TYPE_NAMES[gun.type]} - {resolveDpm(gun, shell, hasRammer, hasShellReloadBoost)} + {resolveDpm( + gun, + shell, + hasRammer, + hasShellReloadBoost, + hasAdrenaline, + hasTungsten, + )} {gun.type === 'autoReloader' && ( <> diff --git a/src/core/blitzkrieg/resolveDpm.ts b/src/core/blitzkrieg/resolveDpm.ts index dba994237..e7faaf51c 100644 --- a/src/core/blitzkrieg/resolveDpm.ts +++ b/src/core/blitzkrieg/resolveDpm.ts @@ -5,19 +5,27 @@ export function resolveDpm( shell: ShellDefinition, hasRammer = false, hasShellReloadBoost = false, + hasAdrenaline = false, + hasTungsten = false, ) { + const alpha = shell.damage.armor * (hasTungsten ? 1.15 : 1); + if (gun.type === 'regular') { - return (shell.damage.armor / ((hasRammer ? 0.93 : 1) * gun.reload)) * 60; + return ( + (alpha / + ((hasRammer ? 0.93 : 1) * (hasAdrenaline ? 0.8 : 1) * gun.reload)) * + 60 + ); } else if (gun.type === 'autoLoader') { return ( - ((shell.damage.armor * gun.count) / + ((alpha * gun.count) / (gun.reload + (gun.count - 1) * gun.interClip * (hasShellReloadBoost ? 0.7 : 1))) * 60 ); } else { return ( - ((shell.damage.armor * gun.count) / + ((alpha * gun.count) / (gun.reload.reduce((a, b) => a + b, 0) + (gun.count - 1) * gun.interClip)) * 60