From 76520714d39f53acdb5ff6def7769e9e95838c8a Mon Sep 17 00:00:00 2001
From: Aluxes <39981645+AshenAshes@users.noreply.github.com>
Date: Wed, 3 Apr 2024 20:08:11 +0800
Subject: [PATCH] fix: #671
---
apps/profile/ProfileArtis.js | 1 +
models/artis/ArtisMark.js | 5 +-
resources/character/artis-mark.html | 151 ++++++++++++++--------------
3 files changed, 82 insertions(+), 75 deletions(-)
diff --git a/apps/profile/ProfileArtis.js b/apps/profile/ProfileArtis.js
index ab82ff70..bb9465b3 100644
--- a/apps/profile/ProfileArtis.js
+++ b/apps/profile/ProfileArtis.js
@@ -35,6 +35,7 @@ export async function profileArtis (e) {
uid,
elem: char.elem,
splash: profile.costumeSplash,
+ imgs: profile.imgs,
data: profile,
costume: profile.costume ? '2' : '',
artisDetail,
diff --git a/models/artis/ArtisMark.js b/models/artis/ArtisMark.js
index f5567591..4e2c6ce3 100644
--- a/models/artis/ArtisMark.js
+++ b/models/artis/ArtisMark.js
@@ -49,7 +49,7 @@ let ArtisMark = {
}
let key = ds.key
- let isDmg = Format.isElem(key)
+ let isDmg = Format.isElem(key, game)
let val = ds.value || ds[1]
let num = ds.value || ds[1]
if (!key || key === 'undefined') {
@@ -66,6 +66,9 @@ let ArtisMark = {
if (charAttrCfg) {
let mark = charAttrCfg[key]?.mark * num || 0
+ if (isDmg) {
+ mark = charAttrCfg.dmg?.mark * num || 0
+ }
if (isMain) {
mark = mark / 4 + 0.01
ret.key = key
diff --git a/resources/character/artis-mark.html b/resources/character/artis-mark.html
index aa52165c..bb0a194b 100644
--- a/resources/character/artis-mark.html
+++ b/resources/character/artis-mark.html
@@ -1,8 +1,8 @@
{{extend elemLayout}}
{{block 'css'}}
-
-
+
+
{{/block}}
{{set talent = data.talent}}
@@ -14,12 +14,12 @@
{{set ad = artisDetail}}
-
+
{{data.name}}
UID {{uid}} - Lv.{{data.level}}
- {{data.cons}}命
+
{{data.cons}}命
+
评分规则:{{charCfg.classTitle}}
@@ -34,73 +34,74 @@
- <% for(let idx = 1; idx<=(game==='gs'?5:6); idx++) {
- let ds = ad?.artis[idx]
- %>
- {{if idx === 1 && game === 'gs'}}
-
- {{/if}}
-
- {{if ds && ds.name && ds.main && ds.main.key && ds.main.key!="undefined"}}
-
-
- {{ds.name}}
- {{ds.mark}}分 - {{ds.markClass}}
-
-
- -
- {{artisKeyTitle[ds.main.key]}}
- +{{ds.main.value}}
- {{if idx >1 }}
- {{ mark( ds.main.mark / 6 ) }}
- {{else}}
- -
- {{/if}}
-
- {{each ds.attrs attr}}
- {{if attr.key}}
- - {{if attr.eff}}{{attr.eff || ''}}{{/if}}{{artisKeyTitle[attr.key]}} +{{attr.value}}
- {{ ( 46.6 / 6 / 100 * attr._mark ).toFixed(1) }}
-
- {{/if}}
- {{/each}}
-
-
-
- -
- 总分对齐
-
- *{{( 66 / (46.6/6/100 * charCfg.posMaxMark[idx]) * 100).toFixed(1)}}%
-
-
- {{if idx>2 || game==='sr' }}
- -
- 最优主词缀
-
- {{if game==='sr' && idx<=2 }} - {{else}}
- {{if ds.main.title === '充能效率'}}
- *100%
- {{else}}
- {{set mainWeight = charCfg?.attrs[ds.main?.key===data.elem?'dmg':ds.main?.key]?.weight || 0}}
- *{{(50 + 50 * mainWeight / charCfg.posMaxMark["m"+idx] ).toFixed(0)}}%
- {{/if}}{{/if}}
-
-
- {{/if}}
-
- -
- 最终得分
- {{ds.mark}}
-
-
+ <% for(let idx=1; idx<=(game==='gs' ?5:6); idx++) { let ds=ad?.artis[idx] %>
+ {{if idx === 1 && game === 'gs'}}
+
{{/if}}
-
- <% } %>
+
+ {{if ds && ds.name && ds.main && ds.main.key && ds.main.key!="undefined"}}
+
+
+ {{ds.name}}
+ {{ds.mark}}分 - {{ds.markClass}}
+
+
+ -
+ {{artisKeyTitle[ds.main.key]}}
+ +{{ds.main.value}}
+ {{if idx >1 }}
+ {{ mark( ds.main.mark / 6 ) }}
+ {{else}}
+ -
+ {{/if}}
+
+ {{each ds.attrs attr}}
+ {{if attr.key}}
+ -
+ {{if attr.eff}}{{attr.eff || ''}}{{/if}}{{artisKeyTitle[attr.key]}}
+ +{{attr.value}}
+ {{ ( 46.6 / 6 / 100 * attr._mark ).toFixed(1) }}
+
+ {{/if}}
+ {{/each}}
+
+
+
+ -
+ 总分对齐
+
+ *{{( 66 / (46.6/6/100 * charCfg.posMaxMark[idx]) * 100).toFixed(1)}}%
+
+
+ {{if idx>2 || game==='sr' }}
+ -
+ 最优主词缀
+
+ {{if game==='sr' && idx<=2 }} -
+ {{else}}
+ {{if ds.main.title==='充能效率' }} *100%
+ {{else}}
+ {{set elemMapSr = {火:'fire',冰:'ice',风:'wind',雷:'elec',量子:'quantum',虚数:'imaginary',物理:'phy', } }}
+ {{set elemKey = game==='sr' ? elemMapSr[data.elem] : data.elem }}
+ {{set mainWeight=charCfg?.attrs[ds.main?.key===elemKey?'dmg':ds.main?.key]?.weight || 0}} *{{(50 + 50 *
+ mainWeight / charCfg.posMaxMark["m"+idx] ).toFixed(0)}}%
+ {{/if}}
+ {{/if}}
+
+
+ {{/if}}
+
+ -
+ 最终得分
+ {{ds.mark}}
+
+
+ {{/if}}
+
+ <% } %>
{{if changeProfile}}
@@ -206,10 +207,12 @@
- - 总分对齐比例: 根据{{data.name}}不同圣遗物位置可选词条及评分,计算理论最高原始词条总分。为使不同角色不同位置最终总分对齐,规定圣遗物满分为66分。理论总分对齐比例
+
- 总分对齐比例:
+ 根据{{data.name}}不同圣遗物位置可选词条及评分,计算理论最高原始词条总分。为使不同角色不同位置最终总分对齐,规定圣遗物满分为66分。理论总分对齐比例
= 66 / 理论最高原始分 * 100%
- - 最优主词缀比例: 对主词条词缀非最优的圣遗物进行评分惩罚。若装备的圣遗物主词条不是当前位置的最高权重主词条或元素杯属性不符,则依据权重差值比例进行分数扣减,最多扣减50%。主词缀为充能时不进行扣减
+
- 最优主词缀比例:
+ 对主词条词缀非最优的圣遗物进行评分惩罚。若装备的圣遗物主词条不是当前位置的最高权重主词条或元素杯属性不符,则依据权重差值比例进行分数扣减,最多扣减50%。主词缀为充能时不进行扣减
- 最终得分:圣遗物最终得分 = 原始总分 * 总分对齐比例 * 最优主词缀比例
- 得分级别:MAX(>56分) / ACE(>49分) / SSS(>42分) / SS(>35分) / S(>28分) / A / B / C / D
@@ -230,4 +233,4 @@
-{{/block}}
+{{/block}}
\ No newline at end of file