feature:%XX伤害

This commit is contained in:
UCPr 2025-05-02 18:01:04 +08:00
parent 83ca22c3b8
commit 9b7e609f6a
35 changed files with 1849 additions and 114 deletions

257
resources/panel/damage.html Normal file
View file

@ -0,0 +1,257 @@
{{extend defaultLayout}}
{{block 'css'}}
<link rel="stylesheet" href="{{@sys.currentPath}}/damage.css">
{{/block}}
{{block 'main'}}
<div class="damage">
<div class="uid">UID {{uid}}</div>
<div class="basic">
<div class="char">
<div class="avatar">
<img src="{{charData.role_icon}}" alt="">
</div>
<div class="skills">
<div class="skill">{{charData.skills[0].level}}</div>
<div class="skill">{{charData.skills[2].level}}</div>
<div class="skill">{{charData.skills[5].level}}</div>
<div class="skill">{{charData.skills[1].level}}</div>
<div class="skill">{{charData.skills[3].level}}</div>
<div class="skill">{{charData.skills[4].level}}</div>
</div>
</div>
<div class="info">
<div class="char_info">
<div class="base">
<div class="rank rank-icon {{charData.rarity}}"></div>
<div class="property {{charData.element_str}}"></div>
<div class="name">{{charData.full_name_mi18n}}</div>
</div>
<div class="addition">
<div class="level">Lv.{{charData.level}}</div>
<div class="role_ranks r{{charData.rank}}">
<span></span><span></span><span></span><span></span><span></span><span></span>
</div>
</div>
</div>
<div class="property_info">
<div class="title">
<% include(sys.specialTitle, {en: 'PROPERTY' , cn: '属性' , count: 6 }) %>
</div>
{{set basic_properties = charData.basic_properties}}
<div class="list">
<div class="properties">
<div class="prop-icon hpmax"></div>
<div class="label {{charData.get_label(11102)}}">生命值</div>
<div class="value">{{basic_properties.hpmax.final}}</div>
</div>
<div class="properties">
<div class="prop-icon attack"></div>
<div class="label {{charData.get_label(12102)}}">攻击力</div>
<div class="value">{{basic_properties.attack.final}}</div>
</div>
<div class="properties">
<div class="prop-icon def"></div>
<div class="label {{charData.get_label(13102)}}">防御力</div>
<div class="value">{{basic_properties.def.final}}</div>
</div>
<div class="properties">
<div class="prop-icon breakstun"></div>
<div class="label {{charData.get_label(12202)}}">冲击力</div>
<div class="value">{{basic_properties.breakstun.final}}</div>
</div>
<div class="properties">
<div class="prop-icon crit"></div>
<div class="label {{charData.get_label(20103)}}">暴击率</div>
<div class="value">{{basic_properties.crit.final}}</div>
</div>
<div class="properties">
<div class="prop-icon critdam"></div>
<div class="label {{charData.get_label(21103)}}">暴击伤害</div>
<div class="value">{{basic_properties.critdam.final}}</div>
</div>
<div class="properties">
<div class="prop-icon elementabnormalpower"></div>
<div class="label {{charData.get_label(31402)}}">异常掌控</div>
<div class="value">{{basic_properties.elementabnormalpower.final}}</div>
</div>
<div class="properties">
<div class="prop-icon elementmystery"></div>
<div class="label {{charData.get_label(31203)}}">异常精通</div>
<div class="value">{{basic_properties.elementmystery.final}}</div>
</div>
<div class="properties">
<div class="prop-icon penratio"></div>
<div class="label {{charData.get_label(23103)}}">穿透率</div>
<div class="value">{{basic_properties.penratio.final}}</div>
</div>
<div class="properties">
<div class="prop-icon sprecover"></div>
<div class="label {{charData.get_label(30502)}}">能量回复</div>
<div class="value">{{basic_properties.sprecover.final}}</div>
</div>
</div>
</div>
<div class="weapon_info">
{{if charData.weapon}}
<div class="info">
<div class="base">
<div class="rarity-icon {{charData.weapon.rarity}}"></div>
<div class="name">{{charData.weapon.name}}</div>
</div>
<div class="main">
<div class="addition">
<div class="star star{{charData.weapon.star}}"></div>
<div class="level">Lv.{{charData.weapon.level}}</div>
</div>
{{each charData.weapon.main_properties prop}}
<div class="properties">
<div class="prop-icon {{prop.classname}}"></div>
<div class="label">{{prop.property_name}}</div>
<div class="value">{{prop.base}}</div>
</div>
{{/each}}
{{each charData.weapon.properties prop}}
<div class="properties sub">
<div class="prop-icon {{prop.classname}}"></div>
<div class="label">{{prop.property_name}}</div>
<div class="value">{{prop.base}}</div>
</div>
{{/each}}
</div>
</div>
<div class="icon">
<img src="{{charData.weapon.square_icon}}" alt="">
</div>
{{else}}
<div class="info empty">
<div class="base">
<div class="rarity-icon"></div>
<div class="name"></div>
</div>
</div>
{{/if}}
</div>
</div>
</div>
<div class="damage-data">
<div class="title">
<% include(sys.specialTitle, {en: 'DAMAGE' , cn: '伤害统计' }) %>
</div>
<div class="data-list damage-list">
<div class="tr dmg-tr titlebar no-zzz-font">
<div class="td dmg-td">%</div>
<div class="td dmg-td">技能类型</div>
<div class="td dmg-td">暴击伤害</div>
<div class="td dmg-td">期望伤害</div>
</div>
{{each damages d,index}}
{{if index == skill.index}}
<div class="tr dmg-tr current">
{{else}}
<div class="tr dmg-tr">
{{/if}}
<div class="td dmg-td">{{index+1}}</div>
<div class="td dmg-td no-zzz-font">{{d.skill.name}}</div>
<div class="td dmg-td">{{d.result.critDMG.toFixed(0)}}</div>
<div class="td dmg-td">{{d.result.expectDMG.toFixed(0)}}</div>
</div>
{{/each}}
<div class="tr dmg-tr info-tr no-zzz-font">
<div>伤害计算默认取有弱点、角色等级、1级基础防御力为50的敌方数据且不考虑失衡易伤区</div>
<div>当前指令:<span>{{command}}</span></div>
<div>下列计算以 <span>{{damage.skill.name}}</span> 为计算目标</div>
<div>可通过 <span>%{{charData.name_mi18n}}伤害123</span> 切换需要查看的伤害计算</div>
</div>
</div>
<div class="title">
<% include(sys.specialTitle, {en: 'AREA' , cn: '乘区数据' }) %>
</div>
<div class="data-list area-list">
{{set areas = damage.areas}}
<div class="tr area-tr titlebar no-zzz-font">
<div class="td area-td">基础区</div>
<div class="td area-td">暴击区</div>
<div class="td area-td">增伤区</div>
<div class="td area-td">易伤区</div>
<div class="td area-td">抗性区</div>
<div class="td area-td">防御区</div>
</div>
<div class="tr area-tr titlebar">
<div class="td area-td">{{(areas.BasicArea || 1).toFixed(0)}}</div>
<div class="td area-td">{{(areas.CriticalArea || 1).toFixed(2)}}</div>
<div class="td area-td">{{(areas.BoostArea || 1).toFixed(2)}}</div>
<div class="td area-td">{{(areas.VulnerabilityArea || 1).toFixed(2)}}</div>
<div class="td area-td">{{(areas.ResistanceArea || 1).toFixed(2)}}</div>
<div class="td area-td">{{(areas.DefenceArea || 1).toFixed(4)}}</div>
</div>
{{if areas.AnomalyProficiencyArea}}
<div class="tr area-tr anomaly titlebar no-zzz-font">
<div class="td area-td">异常精通区</div>
<div class="td area-td">异常增伤区</div>
<div class="td area-td">等级区</div>
</div>
<div class="tr area-tr anomaly titlebar">
<div class="td area-td">{{(areas.AnomalyProficiencyArea || 1).toFixed(2)}}</div>
<div class="td area-td">{{(areas.AnomalyBoostArea || 1).toFixed(2)}}</div>
<div class="td area-td">{{(areas.LevelArea || 1).toFixed(2)}}</div>
</div>
{{/if}}
<div class="tr area-tr info-tr no-zzz-font">
<div>注:一个技能可能分为多个出伤部分分别计算累加,此时该数据仅为一部分的乘区,下同</div>
</div>
</div>
<div class="title">
<% include(sys.specialTitle, {en: 'BUFF' , cn: 'Buff统计' }) %>
</div>
<div class="data-list buff-list">
<div class="tr buff-tr titlebar no-zzz-font">
<div class="td buff-td">%</div>
<div class="td buff-td">名称</div>
<div class="td buff-td">增益类型</div>
<div class="td buff-td">增益值</div>
</div>
{{each damage.usefulBuffs buff,index}}
<div class="tr buff-tr titlebar">
<div class="td buff-td">{{index+1}}</div>
<div class="td buff-td no-zzz-font">{{buff.name}}</div>
<div class="td buff-td no-zzz-font">{{buff.type}}</div>
<div class="td buff-td">{{buff.value % 1 == 0 ? buff.value < 2 ? buff.value.toFixed(2) : buff.value : buff.value.toFixed(2)}}</div>
</div>
{{/each}}
</div>
{{if differences.length > 1}}
<div class="title">
<% include(sys.specialTitle, {en: 'STAT' , cn: '词条差异计算' }) %>
</div>
<div class="data-list difference-list">
<div class="tr difference-tr d{{differences.length}}">
<div class="td difference-td no-zzz-font">词条变化</div>
{{each differences[0] d}}
<div class="td difference-td no-zzz-font">
{{d.add.shortName}}
<span>+{{d.add.valueBase}}</span>
</div>
{{/each}}
</div>
{{each differences diff}}
<div class="tr difference-tr d{{differences.length}}">
<div class="td difference-td no-zzz-font">
{{diff[0].del.shortName}}
<span>-{{diff[0].del.valueBase}}</span>
</div>
{{each diff d}}
<div class="td difference-td no-zzz-font {{d.difference > 0 ? 'positive' : d.difference < 0 ? 'negative' : 'zero'}}">{{d.difference > 0 ? '+' + d.difference.toFixed(0) : d.difference.toFixed(0)}}</div>
{{/each}}
</div>
{{/each}}
<div class="tr difference-tr info-tr no-zzz-font">
<div>反映在上述buff作用下置换<span>单位词条</span>后的<span>{{skill.name}}</span>期望伤害变化</div>
<div><span>横轴</span>表示<span>增加</span>的单位词条,<span>纵轴</span>表示<span>减少</span>的单位词条,对应坐标即为<span>期望伤害变化</span></div>
</div>
</div>
{{/if}}
</div>
</div>
{{/block}}