fix: match exact lineup, remove teleport tab and warp button, overhaul character build modal with offline/online interactive controls and 23 new character portraits

This commit is contained in:
CAtlas0784 committed 2026-10-16 22:53:35 +07:00
1 parent 372cdb55f1
commit 9ec9110905
30 files changed
+723 -551

No files matched your search

+489 -328
View File
File diff suppressed because it is too large. Load diff
+138
View File
@@ -534,6 +534,144 @@ export const AVATAR_METADATA = {
path: "Remembrance",
element: "Wind",
rarity: 5
},
1014: {
names: { en: "Saber", th: "Saber (เซเบอร์)", "zh-CN": "阿尔托莉雅·潘德拉贡 (塞巴)", "zh-TW": "阿爾托莉雅·潘德拉貢", ja: "セイバー", ko: "세이버", ru: "Сэйбер" },
path: "Destruction",
element: "Wind",
rarity: 5
},
1015: {
names: { en: "Archer", th: "Archer (อาร์เชอร์)", "zh-CN": "卫宫士郎 (红A/阿茶)", "zh-TW": "衛宮士郎 (紅A)", ja: "アーチャー", ko: "아처", ru: "Арчер" },
path: "Hunt",
element: "Quantum",
rarity: 5
},
1321: {
names: { en: "Dahlia", th: "Dahlia (ดาเลีย)", "zh-CN": "达莉亚", "zh-TW": "達莉亞", ja: "ダリア", ko: "달리아", ru: "Далия" },
path: "Nihility",
element: "Fire",
rarity: 5
},
1406: {
names: { en: "Cipher", th: "Cipher (ไซเฟอร์)", "zh-CN": "赛弗", "zh-TW": "賽弗", ja: "サイファー", ko: "사이퍼", ru: "Сайфер" },
path: "Nihility",
element: "Quantum",
rarity: 5
},
1412: {
names: { en: "Cerydra", th: "Cerydra (เซอรีดรา)", "zh-CN": "塞利德拉", "zh-TW": "塞利德拉", ja: "セリドラ", ko: "세리드라", ru: "Серидра" },
path: "Harmony",
element: "Wind",
rarity: 5
},
1413: {
names: { en: "Evernight", th: "Evernight (เอเวอร์ไนท์)", "zh-CN": "永夜", "zh-TW": "永夜", ja: "エバーナイト", ko: "에버나이트", ru: "Эвернайт" },
path: "Remembrance",
element: "Ice",
rarity: 5
},
1414: {
names: { en: "Dan Heng • Permeating Thunder", th: "Dan Heng PT (ดันเฮงร่างใหม่)", "zh-CN": "丹恒·行者", "zh-TW": "丹恆·行者", ja: "丹恒・行者", ko: "단항·행자", ru: "Дань Хэн • Странник" },
path: "Preservation",
element: "Physical",
rarity: 5
},
1415: {
names: { en: "Cyrene", th: "Cyrene (ซีรีน)", "zh-CN": "赛琳", "zh-TW": "賽琳", ja: "サイリーン", ko: "키레네", ru: "Кирена" },
path: "Remembrance",
element: "Ice",
rarity: 5
},
1501: {
names: { en: "Sparxie", th: "Sparxie (สปาร์กซี่)", "zh-CN": "斯帕克茜", "zh-TW": "斯帕克茜", ja: "スパーキー", ko: "스팍시", ru: "Спаркси" },
path: "Elation",
element: "Fire",
rarity: 5
},
1502: {
names: { en: "Yaoguang", th: "Yaoguang (เย่ากวง)", "zh-CN": "瑶光", "zh-TW": "瑤光", ja: "瑤光", ko: "요광", ru: "Яогуан" },
path: "Elation",
element: "Physical",
rarity: 5
},
1503: {
names: { en: "Pearl", th: "Pearl (เพิร์ล)", "zh-CN": "佩尔 (Pearl)", "zh-TW": "佩爾", ja: "パール", ko: "펄", ru: "Перл" },
path: "Elation",
element: "Ice",
rarity: 5
},
1504: {
names: { en: "Ashveil", th: "Ashveil (แอชเวล)", "zh-CN": "灰纱", "zh-TW": "灰紗", ja: "アッシュヴェイル", ko: "애쉬베일", ru: "Эшвейл" },
path: "Hunt",
element: "Lightning",
rarity: 5
},
1505: {
names: { en: "Evanescia", th: "Evanescia (เอวาเนสเซีย)", "zh-CN": "埃瓦内西亚", "zh-TW": "埃瓦內西亞", ja: "エヴァネシア", ko: "에바네시아", ru: "Эванесия" },
path: "Elation",
element: "Physical",
rarity: 5
},
1506: {
names: { en: "Silver Wolf Lv.999", th: "Silver Wolf Lv.999 (ซิลเวอร์วูล์ฟ Lv.999)", "zh-CN": "银狼 Lv.999", "zh-TW": "銀狼 Lv.999", ja: "銀狼 Lv.999", ko: "은랑 Lv.999", ru: "Серебряный Волк Lv.999" },
path: "Elation",
element: "Imaginary",
rarity: 5
},
1507: {
names: { en: "Mortenax Blade", th: "Mortenax Blade (มอร์เทแนกซ์ เบลด)", "zh-CN": "摩天之刃", "zh-TW": "摩天之刃", ja: "摩天の刃", ko: "모르테낙스 블레이드", ru: "Мортенакс Блейд" },
path: "Nihility",
element: "Fire",
rarity: 5
},
1508: {
names: { en: "Tohsaka Rin", th: "Tohsaka Rin (โทซากะ ริน)", "zh-CN": "远坂凛", "zh-TW": "遠坂凜", ja: "遠坂凛", ko: "토오사카 린", ru: "Рин Тосака" },
path: "Erudition",
element: "Quantum",
rarity: 5
},
1509: {
names: { en: "Gilgamesh", th: "Gilgamesh (กิลกาเมช)", "zh-CN": "吉尔伽美什 (金闪闪)", "zh-TW": "吉爾伽美什", ja: "ギルガメッシュ", ko: "길가메시", ru: "Гильгамеш" },
path: "Destruction",
element: "Lightning",
rarity: 5
},
1510: {
names: { en: "Himeko Nova", th: "Himeko Nova (ฮิเมโกะ โนวา)", "zh-CN": "姬子·新星", "zh-TW": "姬子·新星", ja: "姫子・ノヴァ", ko: "히메코 노바", ru: "Химеко Нова" },
path: "Erudition",
element: "Fire",
rarity: 5
},
1511: {
names: { en: "Nihilux", th: "Nihilux (นิฮิลักซ์)", "zh-CN": "虚无之神·尼希卢克斯", "zh-TW": "虛無之神·尼希盧克斯", ja: "ニヒラックス", ko: "니힐룩스", ru: "Нихилюкс" },
path: "Elation",
element: "Quantum",
rarity: 5
},
1512: {
names: { en: "Robin • Summeretto", th: "Robin • Summeretto (โรบิน ซัมเมอร์)", "zh-CN": "知更鸟·夏日", "zh-TW": "知更鳥·夏日", ja: "ロビン・サマー", ko: "로빈·서머", ru: "Зарянка • Лето" },
path: "Remembrance",
element: "Wind",
rarity: 5
},
1513: {
names: { en: "Aventurine • Waveflair", th: "Aventurine • Waveflair (อเวนทูรีน คลื่นทะเล)", "zh-CN": "砂金·夏日浪潮", "zh-TW": "砂金·夏日浪潮", ja: "アベンチュリン・サマー", ko: "어벤츄린·웨이브", ru: "Авантюрин • Волна" },
path: "Elation",
element: "Quantum",
rarity: 5
},
8009: {
names: { en: "Trailblazer (Elation ♂)", th: "ผู้บุกเบิก (ปีติ ♂)", "zh-CN": "开拓者 (欢愉 ♂)", "zh-TW": "開拓者 (歡愉 ♂)", ja: "開拓者 (愉悦 ♂)", ko: "개척자 (환락 ♂)", ru: "Первопроходец (Радость ♂)" },
path: "Elation",
element: "Lightning",
rarity: 5
},
8010: {
names: { en: "Trailblazer (Elation ♀)", th: "ผู้บุกเบิก (ปีติ ♀)", "zh-CN": "开拓者 (欢愉 ♀)", "zh-TW": "開拓者 (歡愉 ♀)", ja: "開拓者 (愉悦 ♀)", ko: "개척자 (환락 ♀)", ru: "Первопроходец (Радость ♀)" },
path: "Elation",
element: "Lightning",
rarity: 5
}
};
+26 -13
View File
@@ -119,7 +119,8 @@ export const TRANSLATIONS = {
Preservation: "อนุรักษ์",
Abundance: "เฟื่องฟู",
Remembrance: "ความทรงจำ",
Unknown: "ไม่ระบุ"
Unknown: "ไม่ระบุ",
Elation: "ปีติ (Elation)"
}
},
@@ -215,7 +216,8 @@ export const TRANSLATIONS = {
Preservation: "Preservation",
Abundance: "Abundance",
Remembrance: "Remembrance",
Unknown: "Unknown"
Unknown: "Unknown",
Elation: "Elation"
}
},
@@ -311,7 +313,8 @@ export const TRANSLATIONS = {
Preservation: "存护",
Abundance: "丰饶",
Remembrance: "记忆",
Unknown: "未知"
Unknown: "未知",
Elation: "欢愉"
}
},
@@ -407,7 +410,8 @@ export const TRANSLATIONS = {
Preservation: "存護",
Abundance: "豐饒",
Remembrance: "記憶",
Unknown: "未知"
Unknown: "未知",
Elation: "歡愉"
}
},
@@ -503,7 +507,8 @@ export const TRANSLATIONS = {
Preservation: "存護",
Abundance: "豊穣",
Remembrance: "記憶",
Unknown: "不明"
Unknown: "不明",
Elation: "愉悦"
}
},
@@ -599,7 +604,8 @@ export const TRANSLATIONS = {
Preservation: "보존",
Abundance: "풍요",
Remembrance: "기억",
Unknown: "알 수 없음"
Unknown: "알 수 없음",
Elation: "환락"
}
},
@@ -695,7 +701,8 @@ export const TRANSLATIONS = {
Preservation: "Bảo Hộ",
Abundance: "Trù Phú",
Remembrance: "Ký Ức",
Unknown: "Không xác định"
Unknown: "Không xác định",
Elation: "Vui Vẻ"
}
},
@@ -791,7 +798,8 @@ export const TRANSLATIONS = {
Preservation: "Pelestarian",
Abundance: "Kelimpahan",
Remembrance: "Ingatan",
Unknown: "Tidak Diketahui"
Unknown: "Tidak Diketahui",
Elation: "Kegembiraan"
}
},
@@ -887,7 +895,8 @@ export const TRANSLATIONS = {
Preservation: "Conservación",
Abundance: "Abundancia",
Remembrance: "Reminiscencia",
Unknown: "Desconocido"
Unknown: "Desconocido",
Elation: "Exultación"
}
},
@@ -983,7 +992,8 @@ export const TRANSLATIONS = {
Preservation: "Préservation",
Abundance: "Abondance",
Remembrance: "Souvenir",
Unknown: "Inconnu"
Unknown: "Inconnu",
Elation: "Allégresse"
}
},
@@ -1079,7 +1089,8 @@ export const TRANSLATIONS = {
Preservation: "Bewahrung",
Abundance: "Überfluss",
Remembrance: "Erinnerung",
Unknown: "Unbekannt"
Unknown: "Unbekannt",
Elation: "Frohsinn"
}
},
@@ -1175,7 +1186,8 @@ export const TRANSLATIONS = {
Preservation: "Сохранение",
Abundance: "Изобилие",
Remembrance: "Память",
Unknown: "Неизвестно"
Unknown: "Неизвестно",
Elation: "Радость"
}
},
@@ -1271,7 +1283,8 @@ export const TRANSLATIONS = {
Preservation: "Preservação",
Abundance: "Abundância",
Remembrance: "Recordação",
Unknown: "Desconhecido"
Unknown: "Desconhecido",
Elation: "Alegria"
}
}
};
-128
View File
@@ -1,128 +0,0 @@
import { getCurrentLanguage } from './i18n.js';
export const PRESET_TELEPORTS = [
{
names: {
th: "Astral Express - ขบวนรถไฟแอสทรัล (ห้องรับรอง)",
en: "Astral Express - Parlor Car",
"zh-CN": "星穹列车 - 观景车厢",
"zh-TW": "星穹列車 - 觀景車廂",
ja: "星穹列車 - 客室",
ko: "은하열차 - 객실",
ru: "Звёздный экспресс - Общий вагон"
},
plane_id: 20001,
floor_id: 20001001,
entry_id: 2000101,
x: 0,
y: 0,
z: 0
},
{
names: {
th: "สถานีอวกาศ Herta - โซนควบคุมหลัก (Master Control Zone)",
en: "Herta Space Station - Master Control Zone",
"zh-CN": "空间站「黑塔」 - 主控舱段",
"zh-TW": "太空站「黑塔」 - 主控艙段",
ja: "宇宙ステーション「ヘルタ」 - 主制御部分",
ko: "우주정거장 「헤르타」 - 메인 컨트롤 구역",
ru: "Космическая станция «Герта» - Главная контрольная зона"
},
plane_id: 10001,
floor_id: 10001001,
entry_id: 1000101,
x: 0,
y: 0,
z: 0
},
{
names: {
th: "Jarilo-VI (Belobog) - เขตการปกครอง (Administrative District)",
en: "Jarilo-VI - Administrative District",
"zh-CN": "雅利洛-VI - 行政区",
"zh-TW": "雅利洛-VI - 行政區",
ja: "ヤリーロ-VI - 行政区",
ko: "야릴로-VI - 행정구역",
ru: "Ярило-VI - Административный район"
},
plane_id: 10101,
floor_id: 10101001,
entry_id: 1010101,
x: 10250,
y: 51,
z: 32670
},
{
names: {
th: "Jarilo-VI (Underworld) - เมือง Boulder (Boulder Town)",
en: "Jarilo-VI - Boulder Town",
"zh-CN": "雅利洛-VI - 磐岩镇",
"zh-TW": "雅利洛-VI - 磐岩鎮",
ja: "ヤリーロ-VI - ボルダータウン",
ko: "야릴로-VI - 볼더 타운",
ru: "Ярило-VI - Камнеград"
},
plane_id: 10102,
floor_id: 10102001,
entry_id: 1010201,
x: -20560,
y: -286,
z: 57320
},
{
names: {
th: "Xianzhou Luofu - ท่าเรือเรือบินดาวกลาง (Central Starskiff Haven)",
en: "Xianzhou Luofu - Central Starskiff Haven",
"zh-CN": "仙舟「罗浮」 - 星槎海中枢",
"zh-TW": "仙舟「羅浮」 - 星槎海中樞",
ja: "仙舟「羅浮」 - 星槎海中枢",
ko: "선주 「나부」 - 별뗏목 바다 중추",
ru: "Сяньчжоу: Лофу - Центральная гавань Приюта звёздных яликов"
},
plane_id: 10202,
floor_id: 10202001,
entry_id: 1020201,
x: 8320,
y: -3486,
z: -25080
},
{
names: {
th: "Penacony - The Reverie (Dreamscape Hotel)",
en: "Penacony - The Reverie (Dreamscape)",
"zh-CN": "匹诺康尼 - 「白日梦」酒店-梦境",
"zh-TW": "匹諾康尼 - 「白日夢」飯店-夢境",
ja: "ピノコニー - 「レバリー」ホテル-夢境",
ko: "페나코니 - 「레버리」 호텔-꿈속",
ru: "Пенакония - Отель «Грёзы» (Мир грёз)"
},
plane_id: 10301,
floor_id: 10301001,
entry_id: 1030101,
x: 0,
y: 0,
z: 0
},
{
names: {
th: "Penacony - ชั่วโมงทอง (Golden Hour)",
en: "Penacony - Golden Hour",
"zh-CN": "匹诺康尼 - 黄金的时刻",
"zh-TW": "匹諾康尼 - 黃金的時刻",
ja: "ピノコニー - 黄金の刻",
ko: "페나코니 - 황금의 순간",
ru: "Пенакония - Золотой миг"
},
plane_id: 10302,
floor_id: 10302001,
entry_id: 1030201,
x: -3556,
y: 1539,
z: -378220
}
];
export function getTeleportName(preset, langOverride = null) {
const lang = langOverride || getCurrentLanguage();
return preset.names?.[lang] || preset.names?.en || preset.names?.th || "Teleport Point";
}