[地下城堡3]bwiki是由民间组织建设、官方激励计划支持,致力于向玩家无偿提供数据图鉴、攻略、视频等内容。
本WIKI编辑权限开放,欢迎收藏起来防止迷路,也希望有爱的小伙伴和我们一起编辑哟~
WIKI交流Q群:534420360 ←对WIKI感兴趣or搭把手点这里
地堡3攻略Q群:649872035 ←吹水、答疑or新手驾到点这里
编辑帮助:目录 • BWIKI反馈留言板
[地下城堡3]bwiki是由民间组织建设、官方激励计划支持,致力于向玩家无偿提供数据图鉴、攻略等内容。本WIKI编辑权限开放,欢迎收藏起来防止迷路,也希望有爱的小伙伴和我们一起编辑哟~
运维/测试中心/魃魃的流氓会所
阅读
2024-12-13更新
最新编辑:60672397476_bili
阅读:
更新日期:2024-12-13
最新编辑:60672397476_bili
<!DOCTYPE html> <html lang="en"> <head>
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>地下城堡3伤害计算器</title> <style>
table {
width: 100%; border-collapse: collapse;
} th, td {
border: 1px solid black; padding: 8px; text-align: center;
}
</style>
</head> <body>
地下城堡3伤害计算器2.1(测试版)
C区装备详细
装备部位 | 首领 | 生命双盾增伤 | 战吼/小技能 | 损毁/致盲/恐惧/2个增伤等等 | 满血 |
---|---|---|---|---|---|
武器(自己填) | |||||
头(自己填) | |||||
衣(自己填) | |||||
手(自己填) | |||||
腰(自己填) | |||||
饰(自己填) | |||||
鞋(自己填) | |||||
总和(自动计算) |
C区魂匣
火纹章(自己填) | |
风纹章(自己填) | |
岩纹章(自己填) | |
水纹章(自己填) | |
总和(自动计算) |
C区魔物详细
魔魂 | 属性伤害 | 造成伤害 |
---|---|---|
魔魂1(自己填) | ||
魔魂2(自己填) | ||
魔魂3(自己填) | ||
总和(自动计算) |
C区其他详细
食物首领伤害 | 褐汤/乱炖 | |
激励符文 | ||
其他符文 | 赋能/战意等 | |
武器固定词条 | 自行理解填写 | |
武器阵亡增伤 | 上限4层80% | |
装备阵亡增伤 | 上限4层60% | |
再生者技能 | 自行理解填写 | |
魂域/神兵库 | 指魂墓/监牢等 | |
总和(自动计算) | ||
开局吼C区总和(自动计算) | ||
全状态C区总和(自动计算) |
B区
自身BUFF(自己填) | |
武器攻击词条(自己填) | |
沸血果实(限1个)(自己填) | |
沙蛇(自己填) | |
水母(自己填) | |
远航(自己填) | |
铸魔人(自己填) | |
暗鸦(自己填) | |
战争(物理)(自己填) | |
斩魔者(自己填) | |
其他(自己填) | |
BUFF总和(自动计算) |
D区
BOSS承伤(填负数) | |
损毁(自己填) | |
武器装备(自己填) | |
晴空天气(自己填) | |
暗鸦雷损(自己填) | |
沙蛇青光(自己填) | |
水母深海(自己填) | |
极光凤鸣(自己填) | |
其他再生者(自己填) | |
其他(自己填) | |
承伤总和(自动计算) |
E区
BOSS抗性(自己填) | |
远航(自己填) | |
暗语(自己填) | |
其他再生者(自己填) | |
武器总和(自己填) | |
饰品词条(自己填) | |
其他(自己填) | |
抗性总和(自动计算) |
总伤害
总伤害=面板攻击*[(1+B)*(1+C)*(1+D)*(1+E)]%*技能系数*暴击倍数 | QQ群:892856416/649872035/727664423 公会:WIKI攻略组/WIKI速攻组/WIKI战略组 |
||||||||
---|---|---|---|---|---|---|---|---|---|
人物面板攻击 | |||||||||
战吼倍率 | |||||||||
暴击倍数 | |||||||||
最终伤害(默认BOSS无抗性无弱点) | |||||||||
开局直接吼未暴击 | |||||||||
开局直接吼暴击 | |||||||||
全状态吼未暴击 | |||||||||
全状态吼暴击 |
<script> const cLeaderInputs = document.querySelectorAll('#weaponLeader, #headLeader, #clothesLeader, #handLeader, #waistLeader, #jewelryLeader, #shoesLeader'); const cLifeShieldInputs = document.querySelectorAll('#weaponLifeShield, #headLifeShield, #clothesLifeShield, #handLifeShield, #waistLifeShield, #jewelryLifeShield, #shoesLifeShield'); const cWarCrySkillInputs = document.querySelectorAll('#weaponWarCrySkill, #headWarCrySkill, #clothesWarCrySkill, #handWarCrySkill, #waistWarCrySkill, #jewelryWarCrySkill, #shoesWarCrySkill'); const cDamageBuffInputs = document.querySelectorAll('#weaponDamageBuff, #headDamageBuff, #clothesDamageBuff, #handDamageBuff, #waistDamageBuff, #jewelryDamageBuff, #shoesDamageBuff'); const cFullHealthInputs = document.querySelectorAll('#weaponFullHealth, #headFullHealth, #clothesFullHealth, #handFullHealth, #waistFullHealth, #jewelryFullHealth, #shoesFullHealth'); const cEmblemInputs = document.querySelectorAll('#fireEmblem, #windEmblem, #rockEmblem, #waterEmblem'); const cAttributeInputs = document.querySelectorAll('#soulAttribute1, #soulAttribute2, #soulAttribute3'); const cCauseInputs = document.querySelectorAll('#soulCause1, #soulCause2, #soulCause3'); const cOtherInputs = document.querySelectorAll('#cOther1, #cOther2, #cOther3, #cOther4, #cOther5, #cOther6, #cOther7, #cOther8'); const bInputs = document.querySelectorAll('#bArea1, #bArea2, #bArea3, #bArea4, #bArea5, #bArea6, #bArea7, #bArea8, #bArea9, #bArea10, #bArea11'); const eInputs = document.querySelectorAll('#eArea1, #eArea2, #eArea3, #eArea4, #eArea5, #eArea6, #eArea7'); const dInputs = document.querySelectorAll('#dArea1, #dArea2, #dArea3, #dArea4, #dArea5, #dArea6, #dArea7, #dArea8, #dArea9, #dArea10');
// 通用函数:累加输入值并显示结果 function sumAndDisplay(inputs, id) {
let total = 0; inputs.forEach(input => { const value = parseFloat(input.textContent); if (!isNaN(value)) { total += value; } }); document.getElementById(id).innerText = total.toFixed(2);
}
// 初始化计算总和 function initializeCalculation() {
const allInputGroups = [ { inputs: cLeaderInputs, id: 'totalLeader' }, { inputs: cLifeShieldInputs, id: 'totalLifeShield' }, { inputs: cWarCrySkillInputs, id: 'totalWarCrySkill' }, { inputs: cDamageBuffInputs, id: 'totalDamageBuff' }, { inputs: cFullHealthInputs, id: 'totalFullHealth' }, { inputs: cEmblemInputs, id: 'totalSoul' }, { inputs: cAttributeInputs, id: 'totalAttribute' }, { inputs: cCauseInputs, id: 'totalCause' }, { inputs: cOtherInputs, id: 'cTotalOther' }, { inputs: bInputs, id: 'bTotal' }, { inputs: eInputs, id: 'eTotal' }, { inputs: dInputs, id: 'dTotal' } ]; allInputGroups.forEach(group => sumAndDisplay(group.inputs, group.id));
}
// 计算C区战吼
function calculateOtherTotal() {
const totalLeader = parseFloat(document.getElementById('totalLeader').innerText) || 0; const totalLifeShield = parseFloat(document.getElementById('totalLifeShield').innerText) || 0; const totalWarCrySkill = parseFloat(document.getElementById('totalWarCrySkill').innerText) || 0; const totalDamageBuff = parseFloat(document.getElementById('totalDamageBuff').innerText) || 0; const totalFullHealth = parseFloat(document.getElementById('totalFullHealth').innerText) || 0; const totalAttribute = parseFloat(document.getElementById('totalAttribute').innerText) || 0; const totalCause = parseFloat(document.getElementById('totalCause').innerText) || 0; const totalSoul = parseFloat(document.getElementById('totalSoul').innerText) || 0; const cTotalOther = parseFloat(document.getElementById('cTotalOther').innerText) || 0;
const cTotalOtherBegin = totalLeader + totalLifeShield + totalWarCrySkill + totalFullHealth + totalAttribute + totalCause + totalSoul + cTotalOther; const cTotalOtherAll = totalLeader + totalLifeShield + totalWarCrySkill + totalDamageBuff + totalAttribute + totalCause + totalSoul + cTotalOther; document.getElementById('cTotalOtherAll').innerText = cTotalOtherAll.toFixed(2); document.getElementById('cTotalOtherBegin').innerText = cTotalOtherBegin.toFixed(2);
}
// 计算总伤害 function calculateDamage() {
const panelAttack = parseFloat(document.getElementById('panelAttack').innerText) || 0; const battleCryRate = parseFloat(document.getElementById('battleCryRate').innerText) || 0; const critMultiplier = parseFloat(document.getElementById('critMultiplier').innerText) || 0;
const b = parseFloat(document.getElementById('bTotal').innerText) || 0; const c1 = parseFloat(document.getElementById('cTotalOtherBegin').innerText) || 0; const c2 = parseFloat(document.getElementById('cTotalOtherAll').innerText) || 0; const d = parseFloat(document.getElementById('dTotal').innerText) || 0; const e = parseFloat(document.getElementById('eTotal').innerText) || 0;
const initialNoCritDamage = (panelAttack * (1 + b) * (1 + c1) * (1 + d) * (1 + e) * battleCryRate).toFixed(2); const fullStatusDamageNonCritical = (panelAttack * (1 + b) * (1 + c2) * (1 + d) * (1 + e) * battleCryRate).toFixed(2); const initialCritDamage = (initialNoCritDamage * critMultiplier).toFixed(2); const fullStatusDamageCritical = (fullStatusDamageNonCritical * critMultiplier).toFixed(2);
document.getElementById('initialNoCritDamage').innerText = initialNoCritDamage; document.getElementById('fullStatusDamageNonCritical').innerText = fullStatusDamageNonCritical; document.getElementById('initialCritDamage').innerText = initialCritDamage; document.getElementById('fullStatusDamageCritical').innerText = fullStatusDamageCritical;
}
// 监听输入变化,重新计算伤害 document.querySelectorAll('td[contenteditable="true"], input[contenteditable="true"]').forEach(input => {
input.addEventListener('input', () => { initializeCalculation(); calculateOtherTotal(); calculateDamage(); });
});
// 初始计算 initializeCalculation(); calculateOtherTotal(); calculateDamage();
</script>
</body>
</html>