feat(ui): overhaul character attributes panel, spacious relic picker, and accurate meta builds
- Implement authentic in-game HSR attributes panel with official icons, 3 sections, and Base + Extra = Total layout - Overhaul relic slot picker modal with spacious tabbed layout, quick meta builder, and visual set selection - Fix signature Light Cone IDs and optimal relic sets/stats for all characters in Auto Relic & E0S1/E6S5 - Remove redundant avatar carousel switcher from character detail modal - Add comprehensive 13-language localization support
This commit is contained in:
1 parent
ffaa0100e7
commit
ba4398fe42
4 files changed
+1585
-234
No files matched your search
+309
@@ -2690,5 +2690,314 @@ input:checked + .slider:before {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
/* ========================================================
|
||||
Honkai: Star Rail In-Game Authentic Attributes Panel
|
||||
======================================================== */
|
||||
.hsr-attributes-panel {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.75rem;
|
||||
background: rgba(13, 19, 31, 0.75);
|
||||
border: 1px solid rgba(56, 189, 248, 0.15);
|
||||
border-radius: var(--radius-sm);
|
||||
padding: 0.85rem;
|
||||
}
|
||||
|
||||
.hsr-attr-section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.25rem;
|
||||
}
|
||||
|
||||
.hsr-attr-header {
|
||||
font-size: 0.8rem;
|
||||
font-weight: 800;
|
||||
color: #94a3b8;
|
||||
letter-spacing: 0.04em;
|
||||
padding: 0.2rem 0.4rem;
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
|
||||
margin-bottom: 0.25rem;
|
||||
}
|
||||
|
||||
.hsr-attr-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.15rem;
|
||||
}
|
||||
|
||||
.hsr-attr-row {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0.35rem 0.5rem;
|
||||
border-radius: 4px;
|
||||
transition: background 0.15s ease;
|
||||
}
|
||||
|
||||
.hsr-attr-row:hover {
|
||||
background: rgba(255, 255, 255, 0.04);
|
||||
}
|
||||
|
||||
.hsr-attr-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.55rem;
|
||||
}
|
||||
|
||||
.hsr-attr-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
min-width: 22px;
|
||||
object-fit: contain;
|
||||
filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.5));
|
||||
}
|
||||
|
||||
.hsr-attr-name {
|
||||
font-size: 0.85rem;
|
||||
color: #e2e8f0;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.hsr-attr-right {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
gap: 0.5rem;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.hsr-attr-total {
|
||||
font-size: 0.95rem;
|
||||
font-weight: 800;
|
||||
color: #ffffff;
|
||||
min-width: 50px;
|
||||
}
|
||||
|
||||
.hsr-attr-breakdown {
|
||||
font-size: 0.75rem;
|
||||
display: inline-flex;
|
||||
gap: 0.2rem;
|
||||
align-items: baseline;
|
||||
}
|
||||
|
||||
.hsr-attr-base {
|
||||
color: #94a3b8;
|
||||
}
|
||||
|
||||
.hsr-attr-extra {
|
||||
color: #38bdf8;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* ========================================================
|
||||
Spacious Relic Slot Picker Modal Styles
|
||||
======================================================== */
|
||||
.relic-picker-modal-content {
|
||||
width: 95vw;
|
||||
max-width: 960px;
|
||||
max-height: 88vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
padding: 1.25rem;
|
||||
}
|
||||
|
||||
.slot-picker-current-banner {
|
||||
background: rgba(15, 23, 42, 0.7);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: var(--radius-sm);
|
||||
padding: 0.75rem 1rem;
|
||||
margin-bottom: 0.85rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.slot-picker-current-banner.empty {
|
||||
border-style: dashed;
|
||||
color: var(--text-muted);
|
||||
justify-content: center;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.slot-picker-tabs {
|
||||
display: flex;
|
||||
gap: 0.5rem;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 1rem;
|
||||
padding-bottom: 0.25rem;
|
||||
}
|
||||
|
||||
.slot-picker-tab-btn {
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: var(--text-muted);
|
||||
font-weight: 700;
|
||||
font-size: 0.9rem;
|
||||
padding: 0.5rem 1rem;
|
||||
border-radius: var(--radius-sm) var(--radius-sm) 0 0;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.slot-picker-tab-btn:hover {
|
||||
color: var(--text-color);
|
||||
}
|
||||
|
||||
.slot-picker-tab-btn.active {
|
||||
color: var(--accent-cyan);
|
||||
}
|
||||
|
||||
.slot-picker-tab-btn.active::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: -0.25rem;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 2px;
|
||||
background: var(--accent-cyan);
|
||||
box-shadow: 0 0 8px var(--accent-cyan);
|
||||
}
|
||||
|
||||
.slot-picker-tab-pane {
|
||||
flex: 1;
|
||||
overflow-y: auto;
|
||||
padding-right: 0.35rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.slot-picker-rec-highlight {
|
||||
background: linear-gradient(135deg, rgba(56, 189, 248, 0.12) 0%, rgba(14, 165, 233, 0.05) 100%);
|
||||
border: 1px solid rgba(56, 189, 248, 0.4);
|
||||
border-radius: var(--radius-md);
|
||||
padding: 1rem 1.25rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
flex-wrap: wrap;
|
||||
box-shadow: 0 4px 16px rgba(56, 189, 248, 0.1);
|
||||
}
|
||||
|
||||
.slot-picker-set-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
|
||||
gap: 0.65rem;
|
||||
max-height: 220px;
|
||||
overflow-y: auto;
|
||||
padding: 0.35rem 0.2rem;
|
||||
}
|
||||
|
||||
.slot-picker-set-card {
|
||||
background: rgba(18, 24, 38, 0.7);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: var(--radius-sm);
|
||||
padding: 0.65rem 0.5rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
gap: 0.35rem;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.slot-picker-set-card:hover {
|
||||
border-color: rgba(56, 189, 248, 0.5);
|
||||
background: rgba(30, 41, 59, 0.8);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.slot-picker-set-card.selected {
|
||||
border-color: var(--accent-cyan);
|
||||
background: rgba(56, 189, 248, 0.15);
|
||||
box-shadow: 0 0 10px rgba(56, 189, 248, 0.3);
|
||||
}
|
||||
|
||||
.slot-picker-set-card img {
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.slot-picker-set-card span {
|
||||
font-size: 0.725rem;
|
||||
font-weight: 700;
|
||||
line-height: 1.25;
|
||||
color: var(--text-color);
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.slot-picker-mainstat-pills {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.slot-picker-pill {
|
||||
padding: 0.45rem 0.85rem;
|
||||
border-radius: 20px;
|
||||
background: rgba(18, 24, 38, 0.75);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-color);
|
||||
font-size: 0.8rem;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
transition: all 0.15s ease;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.4rem;
|
||||
}
|
||||
|
||||
.slot-picker-pill:hover {
|
||||
border-color: rgba(56, 189, 248, 0.5);
|
||||
background: rgba(30, 41, 59, 0.9);
|
||||
}
|
||||
|
||||
.slot-picker-pill.selected {
|
||||
background: rgba(56, 189, 248, 0.2);
|
||||
border-color: var(--accent-cyan);
|
||||
color: #fff;
|
||||
font-weight: 700;
|
||||
box-shadow: 0 0 8px rgba(56, 189, 248, 0.3);
|
||||
}
|
||||
|
||||
.slot-picker-pill.recommended {
|
||||
border-color: rgba(251, 191, 36, 0.6);
|
||||
}
|
||||
|
||||
.slot-picker-inv-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
|
||||
gap: 0.75rem;
|
||||
max-height: 440px;
|
||||
overflow-y: auto;
|
||||
padding: 0.35rem 0.2rem;
|
||||
}
|
||||
|
||||
.slot-picker-inv-card {
|
||||
background: rgba(18, 24, 38, 0.85);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: var(--radius-sm);
|
||||
padding: 0.85rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.5rem;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.slot-picker-inv-card:hover {
|
||||
border-color: rgba(56, 189, 248, 0.4);
|
||||
}
|
||||
|
||||
.slot-picker-inv-card.active-wearer {
|
||||
border-color: var(--accent-gold);
|
||||
}
|
||||
+61
-21
@@ -689,7 +689,7 @@
|
||||
|
||||
<!-- Character Detail / Build Modal -->
|
||||
<div class="modal-overlay" id="modal-avatar-detail">
|
||||
<div class="modal-content" style="max-width: 760px;">
|
||||
<div class="modal-content" style="max-width: 860px;">
|
||||
<!-- Modal Header -->
|
||||
<div class="modal-header">
|
||||
<h3 id="modal-char-title" style="font-weight: 800; font-size: 1.15rem; color: var(--text-highlight);" data-i18n="modalTitleCharEdit">
|
||||
@@ -698,11 +698,6 @@
|
||||
<button class="btn btn-sm btn-secondary" id="btn-close-avatar-modal">✕</button>
|
||||
</div>
|
||||
|
||||
<!-- Quick Avatar Switcher Bar (like neonteam) -->
|
||||
<div id="modal-char-switcher" class="modal-char-switcher-strip">
|
||||
<!-- Injected character icons for instant switching -->
|
||||
</div>
|
||||
|
||||
<!-- Character Top Banner & Quick Max All -->
|
||||
<div style="display: flex; gap: 1.25rem; align-items: center; margin-bottom: 1.25rem; flex-wrap: wrap;">
|
||||
<div class="avatar-image-container" style="width: 76px; height: 76px;">
|
||||
@@ -1378,30 +1373,75 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Modal: Select Relic for Specific Slot -->
|
||||
<!-- Modal: Select Relic for Specific Slot (Large, Spacious & Easy to Use) -->
|
||||
<div class="modal-overlay" id="modal-select-relic-slot">
|
||||
<div class="modal-content" style="max-width: 620px;">
|
||||
<div class="modal-header">
|
||||
<h3 id="modal-slot-picker-title" style="font-weight: 800;" data-i18n="slotPickerTitle">
|
||||
<div class="modal-content relic-picker-modal-content">
|
||||
<div class="modal-header" style="margin-bottom: 0.75rem;">
|
||||
<div style="display: flex; align-items: center; gap: 0.65rem;">
|
||||
<img id="modal-slot-picker-icon" src="" alt="Slot" style="width: 28px; height: 28px; object-fit: contain;">
|
||||
<div>
|
||||
<h3 id="modal-slot-picker-title" style="font-weight: 800; font-size: 1.15rem; margin: 0;" data-i18n="slotPickerTitle">
|
||||
🛡️ เลือกสวมใส่รีลิกส์
|
||||
</h3>
|
||||
<div id="modal-slot-picker-subtitle" style="font-size: 0.75rem; color: var(--text-muted); margin-top: 2px;">
|
||||
เลือกสวมใส่ชิ้นที่มีอยู่ หรือสร้างชิ้นใหม่ตรงตามบิลด์ที่แนะนำ
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="btn btn-sm btn-secondary" id="btn-close-slot-picker">✕</button>
|
||||
</div>
|
||||
|
||||
<!-- Quick Option: Auto-generate recommended piece -->
|
||||
<div style="background: rgba(56, 189, 248, 0.08); border: 1px dashed rgba(56, 189, 248, 0.4); border-radius: var(--radius-sm); padding: 0.85rem; margin-bottom: 1rem; display: flex; justify-content: space-between; align-items: center; gap: 0.75rem;">
|
||||
<div>
|
||||
<div style="font-weight: 700; font-size: 0.875rem; color: var(--accent-cyan);" data-i18n="quickGenRecTitle">⚡ สร้างชิ้นแนะนำสำหรับช่องนี้</div>
|
||||
<div style="font-size: 0.75rem; color: var(--text-muted);" data-i18n="quickGenRecDesc">สร้างรีลิกส์ 5★ +15 สเตตัสหลักและรองที่เหมาะสมที่สุด</div>
|
||||
</div>
|
||||
<button type="button" class="btn btn-sm btn-primary" id="btn-slot-picker-quick-gen" data-i18n="btnGenAndEquip">สร้าง & สวมใส่</button>
|
||||
<!-- Current Equipped Relic Banner with Unequip Button -->
|
||||
<div id="slot-picker-current-box" class="slot-picker-current-banner">
|
||||
<!-- Injected currently equipped relic or empty status -->
|
||||
</div>
|
||||
|
||||
<div style="font-weight: 700; font-size: 0.85rem; color: var(--text-highlight); margin-bottom: 0.5rem;" data-i18n="selectFromInventory">
|
||||
เลือกจากคลังรีลิกส์ที่มีอยู่ (ตรงช่อง)
|
||||
<!-- Tabs Navigation -->
|
||||
<div class="slot-picker-tabs">
|
||||
<button type="button" class="slot-picker-tab-btn active" id="tab-btn-relic-quick" data-pickertab="slot-picker-quick-tab">
|
||||
<span data-i18n="tabQuickGen">⚡ สวมใส่ / สร้างชิ้นแนะนำ</span>
|
||||
</button>
|
||||
<button type="button" class="slot-picker-tab-btn" id="tab-btn-relic-inventory" data-pickertab="slot-picker-inventory-tab">
|
||||
<span data-i18n="tabFromInventory">📦 เลือกจากคลัง</span> (<span id="slot-picker-inv-count">0</span>)
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Tab 1: Quick & Recommended Builder -->
|
||||
<div id="slot-picker-quick-tab" class="slot-picker-tab-pane">
|
||||
<!-- Recommended Fast Equip Card -->
|
||||
<div class="slot-picker-rec-highlight" id="slot-picker-rec-highlight">
|
||||
<!-- Injected recommended set card and instant equip button -->
|
||||
</div>
|
||||
|
||||
<!-- Custom Relic Creator -->
|
||||
<div>
|
||||
<div style="font-weight: 700; font-size: 0.85rem; color: var(--text-highlight); margin-bottom: 0.5rem;" data-i18n="chooseSet">
|
||||
เลือกเซ็ตที่ต้องการ:
|
||||
</div>
|
||||
<div class="slot-picker-set-grid" id="slot-picker-set-grid">
|
||||
<!-- Injected set cards for this slot -->
|
||||
</div>
|
||||
|
||||
<div style="font-weight: 700; font-size: 0.85rem; color: var(--text-highlight); margin-top: 0.85rem; margin-bottom: 0.5rem;" data-i18n="chooseMainStat">
|
||||
เลือกสเตตัสหลัก (Main Stat):
|
||||
</div>
|
||||
<div class="slot-picker-mainstat-pills" id="slot-picker-mainstat-pills">
|
||||
<!-- Injected main stat pill buttons -->
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 1rem; display: flex; justify-content: flex-end;">
|
||||
<button type="button" class="btn btn-primary" id="btn-slot-picker-confirm-custom" style="padding: 0.65rem 1.4rem; font-weight: 800; font-size: 0.9rem;" data-i18n="btnEquipInstant">
|
||||
⚡ สวมใส่ชิ้นนี้ทันที (+15 5★ ออฟเทพ)
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Tab 2: Inventory Grid -->
|
||||
<div id="slot-picker-inventory-tab" class="slot-picker-tab-pane" style="display: none;">
|
||||
<div id="slot-picker-inventory-list" class="slot-picker-inv-grid">
|
||||
<!-- Injected cards of matching slot relics -->
|
||||
</div>
|
||||
<div id="slot-picker-inventory-list" style="max-height: 280px; overflow-y: auto; display: flex; flex-direction: column; gap: 0.5rem; padding-right: 0.35rem;">
|
||||
<!-- Injected list of matching slot relics -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+351
@@ -328,6 +328,33 @@ export const TRANSLATIONS = {
|
||||
"lblPersistenceInfo": "ระบบจัดการไฟล์เซฟและข้อมูลฝั่งเซิร์ฟเวอร์",
|
||||
"modalTabOverview": "ภาพรวม",
|
||||
"modalTabRelics": "รีลิกส์ & อุปกรณ์",
|
||||
|
||||
"attrBasic": "◆ คุณสมบัติพื้นฐาน",
|
||||
"attrAdvanced": "◆ คุณสมบัติขั้นสูง",
|
||||
"attrElemental": "◆ คุณสมบัติประเภท",
|
||||
"statMaxHp": "HP สูงสุด",
|
||||
"statAtk": "พลังโจมตี",
|
||||
"statDef": "พลังป้องกัน",
|
||||
"statSpd": "ความเร็ว",
|
||||
"statCritRate": "อัตราคริ",
|
||||
"statCritDmg": "ดาเมจคริ",
|
||||
"statBreakEffect": "ทำลายจุดอ่อน",
|
||||
"statHealBoost": "เพิ่มการรักษา",
|
||||
"statMaxEnergy": "พลังงานสูงสุด",
|
||||
"statEnergyRegen": "อัตราการฟื้นฟูพลังงาน",
|
||||
"statEhr": "อัตราสร้างสถานะ",
|
||||
"statRes": "ต้านทานสถานะ",
|
||||
"statDmgBoost": "เพิ่มความเสียหาย {element}",
|
||||
"relicPickerTitle": "🛡️ จัดการรีลิกส์: {slot}",
|
||||
"tabQuickGen": "⚡ สวมใส่ / สร้างชิ้นแนะนำ",
|
||||
"tabFromInventory": "📦 เลือกจากคลัง",
|
||||
"btnEquipInstant": "⚡ สวมใส่ชิ้นนี้ทันที (+15 5★ ออฟเทพ)",
|
||||
"btnUnequip": "❌ ถอดชิ้นนี้ออก",
|
||||
"currentEquipped": "ชิ้นที่กำลังสวมใส่อยู่ในปัจจุบัน",
|
||||
"noRelicEquipped": "ยังไม่ได้สวมใส่รีลิกส์ในช่องนี้",
|
||||
"chooseMainStat": "เลือกสเตตัสหลัก (Main Stat):",
|
||||
"chooseSet": "เลือกเซ็ตที่ต้องการ:",
|
||||
"recommendedBadge": "แนะนำ",
|
||||
"overviewStatsTitle": "⚔️ ค่าพลังการต่อสู้ (Combat Stats)",
|
||||
"overviewStatsNote": "รวมโบนัสกรวยแสงและรีลิกส์",
|
||||
"overviewEquippedLc": "🗡️ กรวยแสงที่สวมใส่",
|
||||
@@ -653,6 +680,33 @@ export const TRANSLATIONS = {
|
||||
"lblPersistenceInfo": "Server save file & data management",
|
||||
"modalTabOverview": "Overview",
|
||||
"modalTabRelics": "Relics & Gear",
|
||||
|
||||
"attrBasic": "◆ Basic Attributes",
|
||||
"attrAdvanced": "◆ Advanced Attributes",
|
||||
"attrElemental": "◆ Damage Type",
|
||||
"statMaxHp": "Max HP",
|
||||
"statAtk": "ATK",
|
||||
"statDef": "DEF",
|
||||
"statSpd": "SPD",
|
||||
"statCritRate": "CRIT Rate",
|
||||
"statCritDmg": "CRIT DMG",
|
||||
"statBreakEffect": "Break Effect",
|
||||
"statHealBoost": "Outgoing Healing Boost",
|
||||
"statMaxEnergy": "Max Energy",
|
||||
"statEnergyRegen": "Energy Regeneration Rate",
|
||||
"statEhr": "Effect Hit Rate",
|
||||
"statRes": "Effect RES",
|
||||
"statDmgBoost": "{element} DMG Boost",
|
||||
"relicPickerTitle": "🛡️ Manage Relic: {slot}",
|
||||
"tabQuickGen": "⚡ Quick & Recommended",
|
||||
"tabFromInventory": "📦 From Inventory",
|
||||
"btnEquipInstant": "⚡ Equip This Piece (+15 5★ God Rolls)",
|
||||
"btnUnequip": "❌ Unequip Relic",
|
||||
"currentEquipped": "Currently Equipped",
|
||||
"noRelicEquipped": "No relic equipped in this slot",
|
||||
"chooseMainStat": "Select Main Stat:",
|
||||
"chooseSet": "Select Relic Set:",
|
||||
"recommendedBadge": "Recommended",
|
||||
"overviewStatsTitle": "⚔️ Combat Stats",
|
||||
"overviewStatsNote": "Includes Lightcone & Relic bonuses",
|
||||
"overviewEquippedLc": "🗡️ Equipped Lightcone",
|
||||
@@ -975,6 +1029,33 @@ export const TRANSLATIONS = {
|
||||
"lblPersistenceInfo": "服务端存档与数据管理",
|
||||
"modalTabOverview": "角色总览",
|
||||
"modalTabRelics": "遗器与配装",
|
||||
|
||||
"attrBasic": "◆ 基础属性",
|
||||
"attrAdvanced": "◆ 进阶属性",
|
||||
"attrElemental": "◆ 伤害属性",
|
||||
"statMaxHp": "生命上限",
|
||||
"statAtk": "攻击力",
|
||||
"statDef": "防御力",
|
||||
"statSpd": "速度",
|
||||
"statCritRate": "暴击率",
|
||||
"statCritDmg": "暴击伤害",
|
||||
"statBreakEffect": "击破特攻",
|
||||
"statHealBoost": "治疗量加成",
|
||||
"statMaxEnergy": "能量上限",
|
||||
"statEnergyRegen": "能量恢复效率",
|
||||
"statEhr": "效果命中",
|
||||
"statRes": "效果抵抗",
|
||||
"statDmgBoost": "{element}属性伤害提高",
|
||||
"relicPickerTitle": "🛡️ 遗器管理: {slot}",
|
||||
"tabQuickGen": "⚡ 快速生成与推荐",
|
||||
"tabFromInventory": "📦 仓库选择",
|
||||
"btnEquipInstant": "⚡ 立即装备此件 (+15 5★ 完美副词条)",
|
||||
"btnUnequip": "❌ 卸下此遗器",
|
||||
"currentEquipped": "当前装备中",
|
||||
"noRelicEquipped": "该部位尚未装备遗器",
|
||||
"chooseMainStat": "选择主词条:",
|
||||
"chooseSet": "选择遗器套装:",
|
||||
"recommendedBadge": "推荐",
|
||||
"overviewStatsTitle": "⚔️ 战斗面板 (Combat Stats)",
|
||||
"overviewStatsNote": "已计入光锥与遗器属性加成",
|
||||
"overviewEquippedLc": "🗡️ 当前装备光锥",
|
||||
@@ -1298,6 +1379,33 @@ export const TRANSLATIONS = {
|
||||
"lblPersistenceInfo": "伺服端存檔與資料管理",
|
||||
"modalTabOverview": "角色總覽",
|
||||
"modalTabRelics": "遺器與配裝",
|
||||
|
||||
"attrBasic": "◆ 基礎屬性",
|
||||
"attrAdvanced": "◆ 進階屬性",
|
||||
"attrElemental": "◆ 傷害屬性",
|
||||
"statMaxHp": "生命上限",
|
||||
"statAtk": "攻擊力",
|
||||
"statDef": "防禦力",
|
||||
"statSpd": "速度",
|
||||
"statCritRate": "暴擊率",
|
||||
"statCritDmg": "暴擊傷害",
|
||||
"statBreakEffect": "擊破特攻",
|
||||
"statHealBoost": "治療量加成",
|
||||
"statMaxEnergy": "能量上限",
|
||||
"statEnergyRegen": "能量恢復效率",
|
||||
"statEhr": "效果命中",
|
||||
"statRes": "效果抵抗",
|
||||
"statDmgBoost": "{element}屬性傷害提高",
|
||||
"relicPickerTitle": "🛡️ 遺器管理: {slot}",
|
||||
"tabQuickGen": "⚡ 快速生成與推薦",
|
||||
"tabFromInventory": "📦 倉庫選擇",
|
||||
"btnEquipInstant": "⚡ 立即裝備此件 (+15 5★ 完美副詞條)",
|
||||
"btnUnequip": "❌ 卸下此遺器",
|
||||
"currentEquipped": "當前裝備中",
|
||||
"noRelicEquipped": "該部位尚未裝備遺器",
|
||||
"chooseMainStat": "選擇主詞條:",
|
||||
"chooseSet": "選擇遺器套裝:",
|
||||
"recommendedBadge": "推薦",
|
||||
"overviewStatsTitle": "⚔️ 戰鬥面板 (Combat Stats)",
|
||||
"overviewStatsNote": "已計入光錐與遺器屬性加成",
|
||||
"overviewEquippedLc": "🗡️ 當前裝備光錐",
|
||||
@@ -1621,6 +1729,33 @@ export const TRANSLATIONS = {
|
||||
"lblPersistenceInfo": "サーバーセーブデータ&ファイル管理",
|
||||
"modalTabOverview": "キャラクター概要",
|
||||
"modalTabRelics": "遺物&装備",
|
||||
|
||||
"attrBasic": "◆ 基礎ステータス",
|
||||
"attrAdvanced": "◆ 上級ステータス",
|
||||
"attrElemental": "◆ 属性ステータス",
|
||||
"statMaxHp": "最大HP",
|
||||
"statAtk": "攻撃力",
|
||||
"statDef": "防御力",
|
||||
"statSpd": "速度",
|
||||
"statCritRate": "会心率",
|
||||
"statCritDmg": "会心ダメージ",
|
||||
"statBreakEffect": "撃破特効",
|
||||
"statHealBoost": "治癒量バフ",
|
||||
"statMaxEnergy": "最大EP",
|
||||
"statEnergyRegen": "EP回復効率",
|
||||
"statEhr": "効果命中",
|
||||
"statRes": "効果抵抗",
|
||||
"statDmgBoost": "{element}属性与ダメージ増加",
|
||||
"relicPickerTitle": "🛡️ 遺物管理: {slot}",
|
||||
"tabQuickGen": "⚡ クイック生成とおすすめ",
|
||||
"tabFromInventory": "📦 所持品から選択",
|
||||
"btnEquipInstant": "⚡ 今すぐ装備 (+15 5★ 神サブ)",
|
||||
"btnUnequip": "❌ この遺物を外す",
|
||||
"currentEquipped": "現在装備中",
|
||||
"noRelicEquipped": "この部位には何も装備されていません",
|
||||
"chooseMainStat": "メインステータスを選択:",
|
||||
"chooseSet": "遺物セットを選択:",
|
||||
"recommendedBadge": "推奨",
|
||||
"overviewStatsTitle": "⚔️ 戦闘ステータス (Combat Stats)",
|
||||
"overviewStatsNote": "光円錐および遺物のボーナスを含みます",
|
||||
"overviewEquippedLc": "🗡️ 装備中の光円錐",
|
||||
@@ -1944,6 +2079,33 @@ export const TRANSLATIONS = {
|
||||
"lblPersistenceInfo": "서버 세이브 파일 및 데이터 관리",
|
||||
"modalTabOverview": "캐릭터 개요",
|
||||
"modalTabRelics": "유물 및 장비",
|
||||
|
||||
"attrBasic": "◆ 기본 속성",
|
||||
"attrAdvanced": "◆ 고급 속성",
|
||||
"attrElemental": "◆ 속성 피해",
|
||||
"statMaxHp": "최대 HP",
|
||||
"statAtk": "공격력",
|
||||
"statDef": "방어력",
|
||||
"statSpd": "속도",
|
||||
"statCritRate": "치명타 확률",
|
||||
"statCritDmg": "치명타 피해",
|
||||
"statBreakEffect": "격파 특수효과",
|
||||
"statHealBoost": "치유량 보너스",
|
||||
"statMaxEnergy": "에너지 최대치",
|
||||
"statEnergyRegen": "에너지 회복효율",
|
||||
"statEhr": "효과 명중",
|
||||
"statRes": "효과 저항",
|
||||
"statDmgBoost": "{element} 속성 피해 증가",
|
||||
"relicPickerTitle": "🛡️ 유물 관리: {slot}",
|
||||
"tabQuickGen": "⚡ 빠른 생성 및 추천",
|
||||
"tabFromInventory": "📦 보관함에서 선택",
|
||||
"btnEquipInstant": "⚡ 즉시 장착 (+15 5★ 종결옵)",
|
||||
"btnUnequip": "❌ 유물 해제",
|
||||
"currentEquipped": "현재 장착 중",
|
||||
"noRelicEquipped": "이 부위에 유물이 장착되지 않음",
|
||||
"chooseMainStat": "메인 옵션 선택:",
|
||||
"chooseSet": "유물 세트 선택:",
|
||||
"recommendedBadge": "추천",
|
||||
"overviewStatsTitle": "⚔️ 전투 스탯 (Combat Stats)",
|
||||
"overviewStatsNote": "광추 및 유물 보너스 포함",
|
||||
"overviewEquippedLc": "🗡️ 장착 중인 광추",
|
||||
@@ -2267,6 +2429,33 @@ export const TRANSLATIONS = {
|
||||
"lblPersistenceInfo": "Quản lý tệp lưu và dữ liệu máy chủ",
|
||||
"modalTabOverview": "Tổng quan",
|
||||
"modalTabRelics": "Di Vật & Trang bị",
|
||||
|
||||
"attrBasic": "◆ Thuộc Tính Cơ Bản",
|
||||
"attrAdvanced": "◆ Thuộc Tính Nâng Cao",
|
||||
"attrElemental": "◆ Thuộc Tính Sát Thương",
|
||||
"statMaxHp": "HP Tối Đa",
|
||||
"statAtk": "Tấn Công",
|
||||
"statDef": "Phòng Thủ",
|
||||
"statSpd": "Tốc Độ",
|
||||
"statCritRate": "Tỷ Lệ Bạo Kích",
|
||||
"statCritDmg": "Sát Thương Bạo Kích",
|
||||
"statBreakEffect": "Tấn Công Kích Phá",
|
||||
"statHealBoost": "Tăng Trị Liệu",
|
||||
"statMaxEnergy": "Giới Hạn Năng Lượng",
|
||||
"statEnergyRegen": "Hiệu Suất Hồi Năng Lượng",
|
||||
"statEhr": "Chính Xác Hiệu Ứng",
|
||||
"statRes": "Kháng Hiệu Ứng",
|
||||
"statDmgBoost": "Tăng Sát Thương {element}",
|
||||
"relicPickerTitle": "🛡️ Quản Lý Di Vật: {slot}",
|
||||
"tabQuickGen": "⚡ Tạo Nhanh & Đề Xuất",
|
||||
"tabFromInventory": "📦 Chọn Từ Kho",
|
||||
"btnEquipInstant": "⚡ Trang Bị Ngay (+15 5★ Dòng Siêu Đỉnh)",
|
||||
"btnUnequip": "❌ Tháo Di Vật Này",
|
||||
"currentEquipped": "Đang Trang Bị Hiện Tại",
|
||||
"noRelicEquipped": "Chưa trang bị di vật ở ô này",
|
||||
"chooseMainStat": "Chọn Chỉ Số Chính:",
|
||||
"chooseSet": "Chọn Bộ Di Vật:",
|
||||
"recommendedBadge": "Đề Xuất",
|
||||
"overviewStatsTitle": "⚔️ Chỉ số chiến đấu (Combat Stats)",
|
||||
"overviewStatsNote": "Bao gồm chỉ số từ Nón Ánh Sáng và Di Vật",
|
||||
"overviewEquippedLc": "🗡️ Nón Ánh Sáng đang trang bị",
|
||||
@@ -2590,6 +2779,33 @@ export const TRANSLATIONS = {
|
||||
"lblPersistenceInfo": "Manajemen file simpan dan data server",
|
||||
"modalTabOverview": "Ringkasan",
|
||||
"modalTabRelics": "Relic & Perlengkapan",
|
||||
|
||||
"attrBasic": "◆ Atribut Dasar",
|
||||
"attrAdvanced": "◆ Atribut Lanjutan",
|
||||
"attrElemental": "◆ Tipe Damage",
|
||||
"statMaxHp": "Max HP",
|
||||
"statAtk": "ATK",
|
||||
"statDef": "DEF",
|
||||
"statSpd": "SPD",
|
||||
"statCritRate": "CRIT Rate",
|
||||
"statCritDmg": "CRIT DMG",
|
||||
"statBreakEffect": "Break Effect",
|
||||
"statHealBoost": "Outgoing Healing Boost",
|
||||
"statMaxEnergy": "Max Energy",
|
||||
"statEnergyRegen": "Energy Regeneration Rate",
|
||||
"statEhr": "Effect Hit Rate",
|
||||
"statRes": "Effect RES",
|
||||
"statDmgBoost": "{element} DMG Boost",
|
||||
"relicPickerTitle": "🛡️ Kelola Relic: {slot}",
|
||||
"tabQuickGen": "⚡ Buat Cepat & Rekomendasi",
|
||||
"tabFromInventory": "📦 Dari Inventaris",
|
||||
"btnEquipInstant": "⚡ Pasang Sekarang (+15 5★ Stat Dewa)",
|
||||
"btnUnequip": "❌ Lepas Relic",
|
||||
"currentEquipped": "Sedang Dipasang",
|
||||
"noRelicEquipped": "Belum ada relic terpasang",
|
||||
"chooseMainStat": "Pilih Main Stat:",
|
||||
"chooseSet": "Pilih Set Relic:",
|
||||
"recommendedBadge": "Rekomendasi",
|
||||
"overviewStatsTitle": "⚔️ Statistik Tempur (Combat Stats)",
|
||||
"overviewStatsNote": "Termasuk bonus Light Cone & Relic",
|
||||
"overviewEquippedLc": "🗡️ Light Cone Terpasang",
|
||||
@@ -2913,6 +3129,33 @@ export const TRANSLATIONS = {
|
||||
"lblPersistenceInfo": "Gestión de datos y archivos de guardado",
|
||||
"modalTabOverview": "Resumen",
|
||||
"modalTabRelics": "Artefactos y equipo",
|
||||
|
||||
"attrBasic": "◆ Atributos básicos",
|
||||
"attrAdvanced": "◆ Atributos avanzados",
|
||||
"attrElemental": "◆ Tipo de daño",
|
||||
"statMaxHp": "PV máx.",
|
||||
"statAtk": "ATQ",
|
||||
"statDef": "DEF",
|
||||
"statSpd": "VEL",
|
||||
"statCritRate": "Prob. CRIT",
|
||||
"statCritDmg": "Daño CRIT",
|
||||
"statBreakEffect": "Efecto de Ruptura",
|
||||
"statHealBoost": "Bonif. curación realizada",
|
||||
"statMaxEnergy": "Energía máx.",
|
||||
"statEnergyRegen": "Recuperación de energía",
|
||||
"statEhr": "Acierto de efecto",
|
||||
"statRes": "Resistencia a efecto",
|
||||
"statDmgBoost": "Daño {element} aumentado",
|
||||
"relicPickerTitle": "🛡️ Administrar artefacto: {slot}",
|
||||
"tabQuickGen": "⚡ Creación rápida y recomendada",
|
||||
"tabFromInventory": "📦 Del inventario",
|
||||
"btnEquipInstant": "⚡ Equipar ahora (+15 5★ Substats perfectos)",
|
||||
"btnUnequip": "❌ Desequipar artefacto",
|
||||
"currentEquipped": "Equipado actualmente",
|
||||
"noRelicEquipped": "Ningún artefacto equipado en esta casilla",
|
||||
"chooseMainStat": "Elegir stat principal:",
|
||||
"chooseSet": "Elegir conjunto:",
|
||||
"recommendedBadge": "Recomendado",
|
||||
"overviewStatsTitle": "⚔️ Estadísticas de combate",
|
||||
"overviewStatsNote": "Incluye bonificaciones de Cono y Artefactos",
|
||||
"overviewEquippedLc": "🗡️ Cono de Luz equipado",
|
||||
@@ -3236,6 +3479,33 @@ export const TRANSLATIONS = {
|
||||
"lblPersistenceInfo": "Gestion des sauvegardes et données serveur",
|
||||
"modalTabOverview": "Aperçu",
|
||||
"modalTabRelics": "Reliques & Équipement",
|
||||
|
||||
"attrBasic": "◆ Caractéristiques de base",
|
||||
"attrAdvanced": "◆ Caractéristiques avancées",
|
||||
"attrElemental": "◆ Type de dégâts",
|
||||
"statMaxHp": "PV max",
|
||||
"statAtk": "ATQ",
|
||||
"statDef": "DÉF",
|
||||
"statSpd": "VIT",
|
||||
"statCritRate": "Chances de coup critique",
|
||||
"statCritDmg": "Dégâts critiques",
|
||||
"statBreakEffect": "Effet de rupture",
|
||||
"statHealBoost": "Augmentation des soins prodigués",
|
||||
"statMaxEnergy": "Énergie max",
|
||||
"statEnergyRegen": "Régénération d'énergie",
|
||||
"statEhr": "Chances d'appliquer des effets",
|
||||
"statRes": "Résistance aux effets",
|
||||
"statDmgBoost": "Augmentation des dégâts {element}",
|
||||
"relicPickerTitle": "🛡️ Gérer la relique : {slot}",
|
||||
"tabQuickGen": "⚡ Création rapide et recommandée",
|
||||
"tabFromInventory": "📦 Depuis l'inventaire",
|
||||
"btnEquipInstant": "⚡ Équiper maintenant (+15 5★ Stats parfaites)",
|
||||
"btnUnequip": "❌ Déséquiper",
|
||||
"currentEquipped": "Actuellement équipé",
|
||||
"noRelicEquipped": "Aucune relique équipée dans cet emplacement",
|
||||
"chooseMainStat": "Choisir la stat principale :",
|
||||
"chooseSet": "Choisir le set :",
|
||||
"recommendedBadge": "Recommandé",
|
||||
"overviewStatsTitle": "⚔️ Statistiques de combat",
|
||||
"overviewStatsNote": "Inclut les bonus de Cône et de Reliques",
|
||||
"overviewEquippedLc": "🗡️ Cône de Lumière équipé",
|
||||
@@ -3559,6 +3829,33 @@ export const TRANSLATIONS = {
|
||||
"lblPersistenceInfo": "Server-Speicherdatei & Datenverwaltung",
|
||||
"modalTabOverview": "Übersicht",
|
||||
"modalTabRelics": "Relikte & Ausrüstung",
|
||||
|
||||
"attrBasic": "◆ Basiswerte",
|
||||
"attrAdvanced": "◆ Erweiterte Werte",
|
||||
"attrElemental": "◆ Schadenstyp",
|
||||
"statMaxHp": "Max. LP",
|
||||
"statAtk": "ANG",
|
||||
"statDef": "VER",
|
||||
"statSpd": "GES",
|
||||
"statCritRate": "KRIT-Rate",
|
||||
"statCritDmg": "KRIT-SCH",
|
||||
"statBreakEffect": "Bruch-Effekt",
|
||||
"statHealBoost": "Ausgehender Heilungsbonus",
|
||||
"statMaxEnergy": "Max. Energie",
|
||||
"statEnergyRegen": "Energie-Regenerationsrate",
|
||||
"statEhr": "Effekt-Trefferquote",
|
||||
"statRes": "Effekt-WDS",
|
||||
"statDmgBoost": "{element}-Schadensbonus",
|
||||
"relicPickerTitle": "🛡️ Relikt verwalten: {slot}",
|
||||
"tabQuickGen": "⚡ Schnellherstellung & Empfohlen",
|
||||
"tabFromInventory": "📦 Aus Inventar",
|
||||
"btnEquipInstant": "⚡ Sofort ausrüsten (+15 5★ Perfekte Werte)",
|
||||
"btnUnequip": "❌ Relikt ablegen",
|
||||
"currentEquipped": "Aktuell ausgerüstet",
|
||||
"noRelicEquipped": "Kein Relikt in diesem Platz ausgerüstet",
|
||||
"chooseMainStat": "Hauptwert wählen:",
|
||||
"chooseSet": "Set auswählen:",
|
||||
"recommendedBadge": "Empfohlen",
|
||||
"overviewStatsTitle": "⚔️ Kampfwerte (Combat Stats)",
|
||||
"overviewStatsNote": "Enthält Boni von Lichtkegel und Relikten",
|
||||
"overviewEquippedLc": "🗡️ Ausgerüsteter Lichtkegel",
|
||||
@@ -3882,6 +4179,33 @@ export const TRANSLATIONS = {
|
||||
"lblPersistenceInfo": "Управление сохранениями и данными сервера",
|
||||
"modalTabOverview": "Обзор",
|
||||
"modalTabRelics": "Реликвии и снаряжение",
|
||||
|
||||
"attrBasic": "◆ Базовые характеристики",
|
||||
"attrAdvanced": "◆ Продвинутые характеристики",
|
||||
"attrElemental": "◆ Тип урона",
|
||||
"statMaxHp": "Макс. HP",
|
||||
"statAtk": "Сила атаки",
|
||||
"statDef": "Защита",
|
||||
"statSpd": "Скорость",
|
||||
"statCritRate": "Крит. шанс",
|
||||
"statCritDmg": "Крит. урон",
|
||||
"statBreakEffect": "Эффект пробития",
|
||||
"statHealBoost": "Бонус исцеления",
|
||||
"statMaxEnergy": "Макс. энергия",
|
||||
"statEnergyRegen": "Скорость восстановления энергии",
|
||||
"statEhr": "Шанс попадания эффектов",
|
||||
"statRes": "Сопротивление эффектам",
|
||||
"statDmgBoost": "Бонус {element} урона",
|
||||
"relicPickerTitle": "🛡️ Управление реликвией: {slot}",
|
||||
"tabQuickGen": "⚡ Быстрое создание и рекомендации",
|
||||
"tabFromInventory": "📦 Из инвентаря",
|
||||
"btnEquipInstant": "⚡ Экипировать сейчас (+15 5★ Идеальные сабы)",
|
||||
"btnUnequip": "❌ Снять реликвию",
|
||||
"currentEquipped": "Сейчас экипировано",
|
||||
"noRelicEquipped": "В этом слоте нет реликвии",
|
||||
"chooseMainStat": "Выберите основной стат:",
|
||||
"chooseSet": "Выберите набор:",
|
||||
"recommendedBadge": "Рекомендуется",
|
||||
"overviewStatsTitle": "⚔️ Боевые характеристики",
|
||||
"overviewStatsNote": "Включает бонусы конуса и реликвий",
|
||||
"overviewEquippedLc": "🗡️ Надетый Световой конус",
|
||||
@@ -4205,6 +4529,33 @@ export const TRANSLATIONS = {
|
||||
"lblPersistenceInfo": "Gerenciamento de saves e dados do servidor",
|
||||
"modalTabOverview": "Visão Geral",
|
||||
"modalTabRelics": "Relíquias & Equipamentos",
|
||||
|
||||
"attrBasic": "◆ Atributos Básicos",
|
||||
"attrAdvanced": "◆ Atributos Avançados",
|
||||
"attrElemental": "◆ Tipo de Dano",
|
||||
"statMaxHp": "PV Máx.",
|
||||
"statAtk": "ATQ",
|
||||
"statDef": "DEF",
|
||||
"statSpd": "VEL",
|
||||
"statCritRate": "Taxa Crítica",
|
||||
"statCritDmg": "Dano Crítico",
|
||||
"statBreakEffect": "Efeito de Quebra",
|
||||
"statHealBoost": "Bônus de Cura Realizada",
|
||||
"statMaxEnergy": "Energia Máx.",
|
||||
"statEnergyRegen": "Taxa de Regeneração de Energia",
|
||||
"statEhr": "Taxa de Acerto de Efeito",
|
||||
"statRes": "RES a Efeito",
|
||||
"statDmgBoost": "Aumento de Dano {element}",
|
||||
"relicPickerTitle": "🛡️ Gerenciar Relíquia: {slot}",
|
||||
"tabQuickGen": "⚡ Criação Rápida e Recomendada",
|
||||
"tabFromInventory": "📦 Do Inventário",
|
||||
"btnEquipInstant": "⚡ Equipar Agora (+15 5★ Substats Perfeitos)",
|
||||
"btnUnequip": "❌ Desequipar",
|
||||
"currentEquipped": "Atualmente Equipado",
|
||||
"noRelicEquipped": "Nenhuma relíquia equipada neste espaço",
|
||||
"chooseMainStat": "Escolha o Stat Principal:",
|
||||
"chooseSet": "Escolher Conjunto:",
|
||||
"recommendedBadge": "Recomendado",
|
||||
"overviewStatsTitle": "⚔️ Atributos de Combate",
|
||||
"overviewStatsNote": "Inclui bônus de Cone de Luz e Relíquias",
|
||||
"overviewEquippedLc": "🗡️ Cone de Luz Equipado",
|
||||
|
||||
Reference in new issue
Block a user