Files
Kg.SeaTime/Web/src/utility‌/EquTool.ts
2026-06-18 18:54:22 +08:00

182 lines
4.9 KiB
TypeScript

export class EquTool {
public static GetEquPlaceName(code: string): string {
let result = "";
switch (code) {
case "Mouth":
result = "嘴饰";
break;
case "Hold":
result = "手持";
break;
case "Vice":
result = "副手";
break;
case "Head":
result = "头戴";
break;
case "Wear":
result = "身穿";
break;
case "Waist":
result = "腰戴";
break;
case "Foot":
result = "脚穿";
break;
case "Ornaments":
result = "佩戴";
break;
case "Fashion":
result = "时装";
break;
case "Wing":
result = "羽翼";
break;
case "Decorate":
result = "装饰";
break;
}
return result;
}
public static GetEquAttrName(equAttr: Array<any>, type: number): string {
if (!equAttr) {
equAttr = [];
}
let result = "";
equAttr.forEach(item => {
result += `${item.tip}${type == 1 ? "<br />" : ","}`;
});
result = StringExtend.trimEnd(result, ',');
return result;
}
public static EquStartTips(start: number): string {
if (!start) {
start = 0;
}
let result = "";
if (start == 0) {
result = "✩(0星)";
}
else {
let s = start / 2;
for (let i = 0; i < s; i++) {
result += "★";
}
if (start % 2 != 0) {
result += "✩";
}
result += `(${start}星)`;
}
return result;
}
public static ConvertEquName(data: any, showLev: number) {
let equName = data.equName;
let tips = '';
if (data.quality > 0) {
tips = "✡";//洗练
}
tips = this.GetEquNameAttr(tips, data.intensifyLev);
if (data.EquAwaken != null) {
if (data.EquAwaken.Count > 0) {
tips += "✪";//觉醒
}
}
if (data.suitCode != "0")//套装
{
tips += "+";
}
if (showLev == 1) {
equName = `${tips}${data.equName}(${data.lev}级)`;
if (data.quality > 4) {
equName = `<i class='j_l'></i>${equName}<i class='j_r'></i>`;
}
}
else {
equName = `${tips}${data.equName}`;
}
return `<span class='${this.GetEquColorName(data.quality)}'>${equName}</span>`; ;
}
private static GetEquNameAttr(tips: string, lev: number) {
let result = '';
if (lev <= 4) {
result = `${tips}`;
}
else if (lev > 4 && lev <= 20) {
let igName = ["红", "橙", "黄", "绿", "青", "蓝", "紫", "粉", "幻", "天", "弑", "神", "灵", "真", "玄", "尊"];
result = `${tips}${igName[lev - 5]}`;
}
else if (lev > 20 && lev <= 30) {
result = `${tips}`;
}
else if (lev > 30 && lev <= 40) {
result = `<i class='tq'></i>${tips}天启`;
}
else if (lev > 40 && lev <= 50) {
result = `<i class='ty'></i>${tips}天陨`;
}
else if (lev > 50 && lev <= 60) {
result = `<i class='ms'></i>${tips}灭世`;
}
else if (lev > 60 && lev <= 70) {
result = `<i class='zx'></i>${tips}诛仙`;
}
else if (lev > 70 && lev <= 80) {
result = `<i class='sy'></i>${tips}神音`;
}
else if (lev > 80 && lev <= 90) {
result = `<i class='gw'></i>${tips}归无`;
}
else if (lev > 90 && lev <= 99) {
result = `<i class='ly'></i>${tips}灵韵`;
}
else {
result = `<i class='hm'></i>${tips}鸿蒙`;
}
return result;
}
private static GetEquColorName(lev: number) {
let result = '';
switch (lev) {
case 1:
result = 'equ_red';
break;
case 2:
result = 'equ_orange';
break;
case 3:
result = 'equ_yellow';
break;
case 4:
result = 'equ_green';
break;
case 5:
result = 'equ_cyan';
break;
case 6:
result = 'equ_blue';
break;
case 7:
result = 'equ_purple';
break;
case 8:
result = 'equ_glod';
break;
}
return result;
}
}