diff --git a/CloudStorage/DefaultGame.ini b/CloudStorage/DefaultGame.ini index 70c7451..5b9d3be 100644 --- a/CloudStorage/DefaultGame.ini +++ b/CloudStorage/DefaultGame.ini @@ -8,10 +8,11 @@ bShouldJoinFounderChat=true bIsAthenaGlobalChatEnabled=true # Battle royale global chat. [/Script/FortniteGame.FortTextHotfixConfig] -+TextReplacements=(Category=Game, Namespace="", bIsMinimalPatch=True, Key="D5ECE3CD484655CBAE1DB6922C1D87C7", NativeString="Getting Started", LocalizedStrings=(("ar","مرحبًا بك في LawinServer!"),("en","Welcome to LawinServer!"),("de","Willkommen bei LawinServer!"),("es","¡Bienvenidos a LawinServer!"),("es-419","¡Bienvenidos a LawinServer!"),("fr","Bienvenue sur LawinServer !"),("it","Benvenuto in LawinServer!"),("ja","LawinServerへようこそ!"),("ko","LawinServer에 오신 것을 환영합니다!"),("pl","Witaj w LawinServerze!"),("pt-BR","Bem-vindo ao LawinServer!"),("ru","Добро пожаловать в LawinServer!"),("tr","LavinServer'a Hoş Geldiniz!"))) -+TextReplacements=(Category=Game, Namespace="", bIsMinimalPatch=True, Key="CD9D4C7A4486689DB9D16B8A7E290B08", NativeString="Not bad! So, what you'd call this place?", LocalizedStrings=(("ar","استمتع بتجربة لعب رائعة!"),("en","Have a phenomenal gaming experience!"),("de","Genießt ein phänomenales Spielerlebnis!"),("es","¡Disfruta de una experiencia de juego fenomenal!"),("es-419","¡Ten una experiencia de juego espectacular!"),("fr","Profitez d'une expérience de jeu incroyable !"),("it","Goditi un'esperienza di gioco fenomenale!"),("ja","驚きの体験をしよう!"),("ko","환상적인 게임 경험을 즐기세요!"),("pl","Życzymy fenomenalnych wrażeń z gry!"),("pt-BR","Tenha uma experiência de jogo fenomenal!"),("ru","Наслаждайтесь невероятными игровыми впечатлениями!"),("tr","Muhteşem bir oyun deneyimi yaşamanı dileriz!"))) -+TextReplacements=(Category=Game, Namespace="", bIsMinimalPatch=True, Key="8E762BB6481EE8FE630559BE5A982622", NativeString="Enter your Homebase name.", LocalizedStrings=(("ar","LawinServer"),("en","LawinServer"),("de","LawinServer"),("es","LawinServer"),("es-419","LawinServer"),("fr","LawinServer"),("it","LawinServer"),("ja","LawinServer"),("ko","LawinServer"),("pl","LawinServer"),("pt-BR","LawinServer"),("ru","LawinServer"),("tr","LawinServer"))) -+TextReplacements=(Category=Game, Namespace="FortQuestMapViewer", bIsMinimalPatch=True, Key="PageNumberCount", NativeString="QUEST PAGE {PageIndex}/{PageCount}", LocalizedStrings=(("ar","LAWINSERVER | صفحة المهمة {PageIndex}/{PageCount}"),("de","LAWINSERVER | AUFTRAGSSEITE {PageIndex}/{PageCount}"),("en","LAWINSERVER | QUEST PAGE {PageIndex}/{PageCount}"),("es","LAWINSERVER | PÁGINA DE MISIÓN {PageIndex}/{PageCount}"),("es-419","LAWINSERVER | PÁGINA DE MISIÓN {PageIndex}/{PageCount}"),("fr","LAWINSERVER | PAGE {PageIndex} SUR {PageCount} DES QUÊTES"),("id","LAWINSERVER | HALAMAN QUEST {PageIndex}/{PageCount}"),("it","LAWINSERVER | PAGINA INCARICHI {PageIndex}/{PageCount}"),("ja","LAWINSERVER | クエストページ{PageIndex}/{PageCount}"),("ko","LAWINSERVER | 퀘스트 페이지 {PageIndex}/{PageCount}"),("pl","LAWINSERVER | ZADANIA – STRONA {PageIndex}/{PageCount}"),("pt-BR","LAWINSERVER | PÁGINA DE TAREFAS {PageIndex}/{PageCount}"),("ru","LAWINSERVER | СТРАНИЦА ЗАДАНИЯ {PageIndex}/{PageCount}"),("th","LAWINSERVER | เควสต์หน้า {PageIndex}/{PageCount}"),("tr","LAWINSERVER | GÖREV SAYFASI {PageIndex}/{PageCount}"),("vi","LAWINSERVER | TRANG NHIỆM VỤ {PageIndex}/{PageCount}"),("zh-Hans","LAWINSERVER | 任务页{PageIndex}/{PageCount}"),("zh-Hant","LAWINSERVER | 任務頁面 {PageIndex}/{PageCount}"))) ++TextReplacements=(Category=Game, Namespace="", bIsMinimalPatch=True, Key="D5ECE3CD484655CBAE1DB6922C1D87C7", NativeCulture="en", NativeString="Getting Started", LocalizedStrings=(("ar","مرحبًا بك في LawinServer!"),("en","Welcome to LawinServer!"),("de","Willkommen bei LawinServer!"),("es","¡Bienvenidos a LawinServer!"),("es-419","¡Bienvenidos a LawinServer!"),("fr","Bienvenue sur LawinServer !"),("it","Benvenuto in LawinServer!"),("ja","LawinServerへようこそ!"),("ko","LawinServer에 오신 것을 환영합니다!"),("pl","Witaj w LawinServerze!"),("pt-BR","Bem-vindo ao LawinServer!"),("ru","Добро пожаловать в LawinServer!"),("tr","LavinServer'a Hoş Geldiniz!"))) ++TextReplacements=(Category=Game, Namespace="", bIsMinimalPatch=True, Key="CD9D4C7A4486689DB9D16B8A7E290B08", NativeCulture="en", NativeString="Not bad! So, what you'd call this place?", LocalizedStrings=(("ar","استمتع بتجربة لعب رائعة!"),("en","Have a phenomenal gaming experience!"),("de","Genießt ein phänomenales Spielerlebnis!"),("es","¡Disfruta de una experiencia de juego fenomenal!"),("es-419","¡Ten una experiencia de juego espectacular!"),("fr","Profitez d'une expérience de jeu incroyable !"),("it","Goditi un'esperienza di gioco fenomenale!"),("ja","驚きの体験をしよう!"),("ko","환상적인 게임 경험을 즐기세요!"),("pl","Życzymy fenomenalnych wrażeń z gry!"),("pt-BR","Tenha uma experiência de jogo fenomenal!"),("ru","Наслаждайтесь невероятными игровыми впечатлениями!"),("tr","Muhteşem bir oyun deneyimi yaşamanı dileriz!"))) ++TextReplacements=(Category=Game, Namespace="", bIsMinimalPatch=True, Key="8E762BB6481EE8FE630559BE5A982622", NativeCulture="en", NativeString="Enter your Homebase name.", LocalizedStrings=(("ar","LawinServer"),("en","LawinServer"),("de","LawinServer"),("es","LawinServer"),("es-419","LawinServer"),("fr","LawinServer"),("it","LawinServer"),("ja","LawinServer"),("ko","LawinServer"),("pl","LawinServer"),("pt-BR","LawinServer"),("ru","LawinServer"),("tr","LawinServer"))) ++TextReplacements=(Category=Game, Namespace="FortQuestMapViewer", bIsMinimalPatch=True, Key="PageNumberCount", NativeCulture="en", NativeString="QUEST PAGE {x}/{y}", LocalizedStrings=(("ar","LAWINSERVER | صفحة المهمة {x}/{y}"),("de","LAWINSERVER | AUFTRAGSSEITE {x}/{y}"),("en","LAWINSERVER | QUEST PAGE {x}/{y}"),("es","LAWINSERVER | PÁGINA DE MISIÓN {x}/{y}"),("es-419","LAWINSERVER | PÁGINA DE MISIÓN {x}/{y}"),("fr","LAWINSERVER | PAGE {x} SUR {y} DES QUÊTES"),("id","LAWINSERVER | HALAMAN QUEST {x}/{y}"),("it","LAWINSERVER | PAGINA INCARICHI {x}/{y}"),("ja","LAWINSERVER | クエストページ{x}/{y}"),("ko","LAWINSERVER | 퀘스트 페이지 {x}/{y}"),("pl","LAWINSERVER | ZADANIA – STRONA {x}/{y}"),("pt-BR","LAWINSERVER | PÁGINA DE TAREFAS {x}/{y}"),("ru","LAWINSERVER | СТРАНИЦА ЗАДАНИЯ {x}/{y}"),("th","LAWINSERVER | เควสต์หน้า {x}/{y}"),("tr","LAWINSERVER | GÖREV SAYFASI {x}/{y}"),("vi","LAWINSERVER | TRANG NHIỆM VỤ {x}/{y}"),("zh-Hans","LAWINSERVER | 任务页{x}/{y}"),("zh-Hant","LAWINSERVER | 任務頁面 {x}/{y}"))) ++TextReplacements=(Category=Game, Namespace="FortQuestMapViewer", bIsMinimalPatch=True, Key="PageNumberCount", NativeCulture="en", NativeString="QUEST PAGE {PageIndex}/{PageCount}", LocalizedStrings=(("ar","LAWINSERVER | صفحة المهمة {PageIndex}/{PageCount}"),("de","LAWINSERVER | AUFTRAGSSEITE {PageIndex}/{PageCount}"),("en","LAWINSERVER | QUEST PAGE {PageIndex}/{PageCount}"),("es","LAWINSERVER | PÁGINA DE MISIÓN {PageIndex}/{PageCount}"),("es-419","LAWINSERVER | PÁGINA DE MISIÓN {PageIndex}/{PageCount}"),("fr","LAWINSERVER | PAGE {PageIndex} SUR {PageCount} DES QUÊTES"),("id","LAWINSERVER | HALAMAN QUEST {PageIndex}/{PageCount}"),("it","LAWINSERVER | PAGINA INCARICHI {PageIndex}/{PageCount}"),("ja","LAWINSERVER | クエストページ{PageIndex}/{PageCount}"),("ko","LAWINSERVER | 퀘스트 페이지 {PageIndex}/{PageCount}"),("pl","LAWINSERVER | ZADANIA – STRONA {PageIndex}/{PageCount}"),("pt-BR","LAWINSERVER | PÁGINA DE TAREFAS {PageIndex}/{PageCount}"),("ru","LAWINSERVER | СТРАНИЦА ЗАДАНИЯ {PageIndex}/{PageCount}"),("th","LAWINSERVER | เควสต์หน้า {PageIndex}/{PageCount}"),("tr","LAWINSERVER | GÖREV SAYFASI {PageIndex}/{PageCount}"),("vi","LAWINSERVER | TRANG NHIỆM VỤ {PageIndex}/{PageCount}"),("zh-Hans","LAWINSERVER | 任务页{PageIndex}/{PageCount}"),("zh-Hant","LAWINSERVER | 任務頁面 {PageIndex}/{PageCount}"))) [/Script/FortniteGame.FortGameInstance] !FrontEndPlaylistData=ClearArray diff --git a/public/images/square_poster.png b/public/images/square_poster.png new file mode 100644 index 0000000..7dbd582 Binary files /dev/null and b/public/images/square_poster.png differ diff --git a/public/images/tournament_view_background.png b/public/images/tournament_view_background.png new file mode 100644 index 0000000..b618262 Binary files /dev/null and b/public/images/tournament_view_background.png differ diff --git a/responses/contentpages.json b/responses/contentpages.json index 9628312..3101916 100644 --- a/responses/contentpages.json +++ b/responses/contentpages.json @@ -1402,6 +1402,12 @@ "_templateName": "blank" }, "tournamentinformation": { + "conversion_config": { + "containerName": "tournament_info", + "_type": "Conversion Config", + "enableReferences": true, + "contentName": "tournaments" + }, "tournament_info": { "tournaments": [ { @@ -1410,6 +1416,8 @@ "background_text_color": "040E4C", "background_right_color": "012162", "poster_back_image": "https://fortnite-public-service-prod11.ol.epicgames.com/images/poster_back.png", + "square_poster_image": "https://fortnite-public-service-prod11.ol.epicgames.com/images/square_poster.png", + "tournament_view_background_image": "https://fortnite-public-service-prod11.ol.epicgames.com/images/tournament_view_background.png", "_type": "Tournament Display Info", "pin_score_requirement": 420, "pin_earned_text": { diff --git a/structure/main.js b/structure/main.js index cd59823..8a45a3e 100644 --- a/structure/main.js +++ b/structure/main.js @@ -223,23 +223,57 @@ express.get("/v1/item/*", async (req, res) => { res.send(lawinpfp); }) -express.get("/api/v1/events/Fortnite/download/*", async (req, res) => { +express.get("/api/v1/events/Fortnite/download/:accountId", async (req, res) => { + const memory = functions.GetVersionInfo(req); const tournament = require("./../responses/Athena/Tournament/tournament.json"); + tournament.player.accountId = req.params.accountId; + + if (memory.season >= 33) { + // Dates must be more recent than 2018 for the Tournament to be displayed in the new UI. + const nowMinusOneDay = new Date(Date.now() - 86400000).toISOString().split('T')[0]; + + try { + const event = tournament.events[0]; + const window = event.eventWindows[0]; + + event.beginTime = event.beginTime.replace(/^[^T]+/, nowMinusOneDay); + window.beginTime = window.beginTime.replace(/^[^T]+/, nowMinusOneDay); + window.countdownBeginTime = window.countdownBeginTime.replace(/^[^T]+/, nowMinusOneDay); + event.endTime = event.endTime.replace(/^[^T]+/, nowMinusOneDay); + window.endTime = window.endTime.replace(/^[^T]+/, nowMinusOneDay); + } catch (err) {} + } res.json(tournament) }) + express.get("/api/v1/events/Fortnite/:eventId/history/:accountId", async (req, res) => { - var history = require("./../responses/Athena/Tournament/history.json"); + const history = require("./../responses/Athena/Tournament/history.json"); history[0].scoreKey.eventId = req.params.eventId; history[0].teamId = req.params.accountId; - history[0].teamAccountIds.push(req.params.accountId); + history[0].teamAccountIds = [req.params.accountId]; res.json(history) }) +express.get("/api/v1/players/Fortnite/tokens", async (req, res) => { + const teamAccountIds = (req.query.teamAccountIds || "").split(","); + const tournament = require("./../responses/Athena/Tournament/tournament.json"); + var response = {"accounts": []} + + for (const accountId of teamAccountIds) { + response.accounts.push({ + "accountId": accountId, + "tokens": tournament.player.tokens + }) + } + + res.json(response) +}) + express.get("/api/v1/leaderboards/Fortnite/:eventId/:eventWindowId/:accountId", async (req, res) => { - var leaderboards = require("./../responses/Athena/Tournament/leaderboard.json"); + const leaderboards = require("./../responses/Athena/Tournament/leaderboard.json"); var heroNames = require("./../responses/Campaign/heroNames.json"); heroNames = heroNames.sort(() => Math.random() - 0.5); heroNames.unshift(req.params.accountId);