diff --git a/app/modules/in-game-lists/stage-ids.ts b/app/modules/in-game-lists/stage-ids.ts index 5b53ba46f..901b6210f 100644 --- a/app/modules/in-game-lists/stage-ids.ts +++ b/app/modules/in-game-lists/stage-ids.ts @@ -1,4 +1,4 @@ -// when adding new stage id also create new language dicts via create-misc.json.ts +// when adding new stage id also create new language dicts via create-misc-json.ts export const stageIds = [ 0, // Scorch Gorge 1, // Eeltail Alley @@ -12,4 +12,6 @@ export const stageIds = [ 9, // Sturgeon Shipyard 10, // MakoMart 11, // Wahoo World + 12, // Flounder Heights + 13, // Brinewater Springs ] as const; diff --git a/app/modules/map-pool-serializer/serializer.test.ts b/app/modules/map-pool-serializer/serializer.test.ts index 5d0b5aab0..7096c53be 100644 --- a/app/modules/map-pool-serializer/serializer.test.ts +++ b/app/modules/map-pool-serializer/serializer.test.ts @@ -8,7 +8,7 @@ import type { MapPoolObject } from "./types"; const Serializer = suite("Map pool serializer"); -const testSerializedPool = "tw:1998;sz:1d0a;tc:164c;rm:15e0;cb:1ce0"; +const testSerializedPool = "tw:6660;sz:7428;tc:5930;rm:5780;cb:7380"; Serializer("Unserializes and then serializes to same result", () => { const mapPool = serializedStringToMapPool(testSerializedPool); @@ -25,10 +25,15 @@ Serializer("Ignores invalid mode key", () => { Serializer("Matching serialization with IPLMapGen2", () => { const testMapPool: MapPoolObject = { + // Gorge, Spillway, Mincemeat, Mahi-Mahi, Inkblot TW: [0, 3, 4, 7, 8], + // Gorge, Eeltail, Spillway, Inkblot, MakoMart SZ: [0, 1, 3, 8, 10], + // Eeltail, Hagglefish, Bridge, Inbklot, Sturgeon TC: [1, 2, 5, 8, 9], + // Eeltail, Spillway, Mincemeat, Bridge, Museum RM: [1, 3, 4, 5, 6], + // Gorge, Eeltail, Mincemeat, Bridge, Museum CB: [0, 1, 4, 5, 6], }; diff --git a/app/routes/contributions.tsx b/app/routes/contributions.tsx index 03a0b21ce..682e1fd04 100644 --- a/app/routes/contributions.tsx +++ b/app/routes/contributions.tsx @@ -6,6 +6,7 @@ import { languages } from "~/modules/i18n"; import { makeTitle } from "~/utils/strings"; import { BORZOIC_TWITTER, + CHARA_TWITTER, GITHUB_CONTRIBUTORS_URL, LEAN_TWITTER, SENDOU_TWITTER_URL, @@ -113,6 +114,10 @@ export default function ContributionsPage() { Twig {" "} + &{" "} + + Chara + - {t("contributions:twig")} {TRANSLATORS.map(({ translators, language }) => ( diff --git a/app/utils/urls.ts b/app/utils/urls.ts index e635e117e..c2b86a61c 100644 --- a/app/utils/urls.ts +++ b/app/utils/urls.ts @@ -32,6 +32,7 @@ export const BORZOIC_TWITTER = "https://twitter.com/borzoic_"; export const LEAN_TWITTER = "https://twitter.com/LeanYoshi"; export const UBERU_TWITTER = "https://twitter.com/uberu5"; export const TWIG_TWITTER = "https://twitter.com/TwigTheBluePik"; +export const CHARA_TWITTER = "https://twitter.com/ProChara"; export const ipLabsMaps = (pool: string) => `https://maps.iplabs.ink/?3&pool=${pool}`; diff --git a/public/locales/da/game-misc.json b/public/locales/da/game-misc.json index 8c581340a..283ce12eb 100644 --- a/public/locales/da/game-misc.json +++ b/public/locales/da/game-misc.json @@ -11,6 +11,8 @@ "STAGE_9": "Sturgeon Shipyard", "STAGE_10": "MakoMart", "STAGE_11": "Wahoo World", + "STAGE_12": "Flounder Heights", + "STAGE_13": "Brinewater Springs", "MODE_SHORT_TW": "RK", "MODE_SHORT_SZ": "DD", "MODE_SHORT_TC": "TR", diff --git a/public/locales/de/game-misc.json b/public/locales/de/game-misc.json index d9e393f1c..8cb84cffc 100644 --- a/public/locales/de/game-misc.json +++ b/public/locales/de/game-misc.json @@ -11,6 +11,8 @@ "STAGE_9": "Störwerft", "STAGE_10": "Cetacea-Markt", "STAGE_11": "Flunder-Funpark", + "STAGE_12": "Schollensiedlung", + "STAGE_13": "Kusaya-Quellen", "MODE_SHORT_TW": "RK", "MODE_SHORT_SZ": "HS", "MODE_SHORT_TC": "TK", diff --git a/public/locales/en/game-misc.json b/public/locales/en/game-misc.json index 780d33e38..e64abfa66 100644 --- a/public/locales/en/game-misc.json +++ b/public/locales/en/game-misc.json @@ -11,6 +11,8 @@ "STAGE_9": "Sturgeon Shipyard", "STAGE_10": "MakoMart", "STAGE_11": "Wahoo World", + "STAGE_12": "Flounder Heights", + "STAGE_13": "Brinewater Springs", "MODE_SHORT_TW": "TW", "MODE_SHORT_SZ": "SZ", "MODE_SHORT_TC": "TC", diff --git a/public/locales/es-ES/game-misc.json b/public/locales/es-ES/game-misc.json index 119f38f0d..39f3554a9 100644 --- a/public/locales/es-ES/game-misc.json +++ b/public/locales/es-ES/game-misc.json @@ -10,5 +10,7 @@ "STAGE_8": "Instituto Coralino", "STAGE_9": "Astillero Beluga", "STAGE_10": "Ultramarinos Orca", - "STAGE_11": "Pirañalandia" + "STAGE_11": "Pirañalandia", + "STAGE_12": "Complejo Medusa", + "STAGE_13": "Balneario Aguasal" } diff --git a/public/locales/es-US/game-misc.json b/public/locales/es-US/game-misc.json index 9f60f6370..dae757466 100644 --- a/public/locales/es-US/game-misc.json +++ b/public/locales/es-US/game-misc.json @@ -10,5 +10,7 @@ "STAGE_8": "Instituto Coralino", "STAGE_9": "Astillero Beluga", "STAGE_10": "Ultramarinos Orca", - "STAGE_11": "Pirañalandia" + "STAGE_11": "Pirañalandia", + "STAGE_12": "Complejo Medusa", + "STAGE_13": "Balneario Aguasal" } diff --git a/public/locales/fr/game-misc.json b/public/locales/fr/game-misc.json index 70daa96d9..f932a82a1 100644 --- a/public/locales/fr/game-misc.json +++ b/public/locales/fr/game-misc.json @@ -10,5 +10,7 @@ "STAGE_8": "Institut Calam'arts", "STAGE_9": "Chantier Narval", "STAGE_10": "Supermarché Cétacé", - "STAGE_11": "Parc Carapince" + "STAGE_11": "Parc Carapince", + "STAGE_12": "Lotissement Filament", + "STAGE_13": "Sources Sauret" } diff --git a/public/locales/it/game-misc.json b/public/locales/it/game-misc.json index d8a2e4c9d..1577e374a 100644 --- a/public/locales/it/game-misc.json +++ b/public/locales/it/game-misc.json @@ -10,5 +10,7 @@ "STAGE_8": "Campus Hippocampus", "STAGE_9": "Cantiere Pinnenere", "STAGE_10": "Mercatotano", - "STAGE_11": "Soglioland" + "STAGE_11": "Soglioland", + "STAGE_12": "Cime Sogliolose", + "STAGE_13": "Fermenterme" } diff --git a/public/locales/ja/game-misc.json b/public/locales/ja/game-misc.json index 165f65825..774bab783 100644 --- a/public/locales/ja/game-misc.json +++ b/public/locales/ja/game-misc.json @@ -11,6 +11,8 @@ "STAGE_9": "チョウザメ造船", "STAGE_10": "ザトウマーケット", "STAGE_11": "スメーシーワールド", + "STAGE_12": "ヒラメが丘団地", + "STAGE_13": "クサヤ温泉", "MODE_SHORT_TW": "ナワバリ", "MODE_SHORT_SZ": "エリア", "MODE_SHORT_TC": "ヤグラ", diff --git a/public/locales/ko/game-misc.json b/public/locales/ko/game-misc.json index 5595a0ddd..c244eaa25 100644 --- a/public/locales/ko/game-misc.json +++ b/public/locales/ko/game-misc.json @@ -10,5 +10,7 @@ "STAGE_8": "해녀 미술 대학", "STAGE_9": "철갑상어 조선소", "STAGE_10": "혹등 마켓", - "STAGE_11": "초밥 월드" + "STAGE_11": "초밥 월드", + "STAGE_12": "넙치 언덕 단지", + "STAGE_13": "과메기 온천" } diff --git a/public/locales/nl/game-misc.json b/public/locales/nl/game-misc.json index 4646d4b8b..aa7effba2 100644 --- a/public/locales/nl/game-misc.json +++ b/public/locales/nl/game-misc.json @@ -11,6 +11,8 @@ "STAGE_9": "Walruswerf", "STAGE_10": "Bultrugbazaar", "STAGE_11": "Waterwonderland", + "STAGE_12": "Baleinbuurt", + "STAGE_13": "Barbeelbaden", "MODE_SHORT_TW": "GO", "MODE_SHORT_SZ": "SZ", "MODE_SHORT_TC": "TT", diff --git a/public/locales/ru/game-misc.json b/public/locales/ru/game-misc.json index 577c54636..a27bcb6c8 100644 --- a/public/locales/ru/game-misc.json +++ b/public/locales/ru/game-misc.json @@ -11,6 +11,8 @@ "STAGE_9": "Осетровые верфи", "STAGE_10": "«Горбуша-Маркет»", "STAGE_11": "Луна-парк «Язь»", + "STAGE_12": "Микрорайон «Камбалово»", + "STAGE_13": "Тухловодск", "MODE_SHORT_TW": "Терфы:", "MODE_SHORT_SZ": "Зоны:", "MODE_SHORT_TC": "Башни:", diff --git a/public/locales/zh/game-misc.json b/public/locales/zh/game-misc.json index 6c43dab20..4a03dd83a 100644 --- a/public/locales/zh/game-misc.json +++ b/public/locales/zh/game-misc.json @@ -11,6 +11,8 @@ "STAGE_9": "鲟鱼造船厂", "STAGE_10": "座头购物中心", "STAGE_11": "醋饭海洋世界", + "STAGE_12": "比目鱼住宅区", + "STAGE_13": "臭鱼干温泉", "MODE_SHORT_TW": "涂地", "MODE_SHORT_SZ": "区域", "MODE_SHORT_TC": "塔楼", diff --git a/public/static-assets/img/stage-minimaps/12-CB.jpeg b/public/static-assets/img/stage-minimaps/12-CB.jpeg new file mode 100644 index 000000000..e42a228d5 Binary files /dev/null and b/public/static-assets/img/stage-minimaps/12-CB.jpeg differ diff --git a/public/static-assets/img/stage-minimaps/12-RM.jpeg b/public/static-assets/img/stage-minimaps/12-RM.jpeg new file mode 100644 index 000000000..57c3bc85a Binary files /dev/null and b/public/static-assets/img/stage-minimaps/12-RM.jpeg differ diff --git a/public/static-assets/img/stage-minimaps/12-SZ.jpeg b/public/static-assets/img/stage-minimaps/12-SZ.jpeg new file mode 100644 index 000000000..f0cc64393 Binary files /dev/null and b/public/static-assets/img/stage-minimaps/12-SZ.jpeg differ diff --git a/public/static-assets/img/stage-minimaps/12-TC.jpeg b/public/static-assets/img/stage-minimaps/12-TC.jpeg new file mode 100644 index 000000000..ee3c30571 Binary files /dev/null and b/public/static-assets/img/stage-minimaps/12-TC.jpeg differ diff --git a/public/static-assets/img/stage-minimaps/12-TW.jpeg b/public/static-assets/img/stage-minimaps/12-TW.jpeg new file mode 100644 index 000000000..5af244db0 Binary files /dev/null and b/public/static-assets/img/stage-minimaps/12-TW.jpeg differ diff --git a/public/static-assets/img/stage-minimaps/13-CB.jpeg b/public/static-assets/img/stage-minimaps/13-CB.jpeg new file mode 100644 index 000000000..edd939316 Binary files /dev/null and b/public/static-assets/img/stage-minimaps/13-CB.jpeg differ diff --git a/public/static-assets/img/stage-minimaps/13-RM.jpeg b/public/static-assets/img/stage-minimaps/13-RM.jpeg new file mode 100644 index 000000000..75d7eece2 Binary files /dev/null and b/public/static-assets/img/stage-minimaps/13-RM.jpeg differ diff --git a/public/static-assets/img/stage-minimaps/13-SZ.jpeg b/public/static-assets/img/stage-minimaps/13-SZ.jpeg new file mode 100644 index 000000000..50fe369cd Binary files /dev/null and b/public/static-assets/img/stage-minimaps/13-SZ.jpeg differ diff --git a/public/static-assets/img/stage-minimaps/13-TC.jpeg b/public/static-assets/img/stage-minimaps/13-TC.jpeg new file mode 100644 index 000000000..65160e19c Binary files /dev/null and b/public/static-assets/img/stage-minimaps/13-TC.jpeg differ diff --git a/public/static-assets/img/stage-minimaps/13-TW.jpeg b/public/static-assets/img/stage-minimaps/13-TW.jpeg new file mode 100644 index 000000000..7e0e35406 Binary files /dev/null and b/public/static-assets/img/stage-minimaps/13-TW.jpeg differ diff --git a/public/static-assets/img/stages/12.avif b/public/static-assets/img/stages/12.avif new file mode 100644 index 000000000..819a9f6b7 Binary files /dev/null and b/public/static-assets/img/stages/12.avif differ diff --git a/public/static-assets/img/stages/12.png b/public/static-assets/img/stages/12.png new file mode 100644 index 000000000..17b027c7b Binary files /dev/null and b/public/static-assets/img/stages/12.png differ diff --git a/public/static-assets/img/stages/13.avif b/public/static-assets/img/stages/13.avif new file mode 100644 index 000000000..76a5dfaf5 Binary files /dev/null and b/public/static-assets/img/stages/13.avif differ diff --git a/public/static-assets/img/stages/13.png b/public/static-assets/img/stages/13.png new file mode 100644 index 000000000..cde8e1297 Binary files /dev/null and b/public/static-assets/img/stages/13.png differ diff --git a/scripts/create-misc-json.ts b/scripts/create-misc-json.ts index 717a43cc2..fb5ca6717 100644 --- a/scripts/create-misc-json.ts +++ b/scripts/create-misc-json.ts @@ -24,6 +24,8 @@ const stages = [ "Sturgeon Shipyard", "MakoMart", "Wahoo World", + "Flounder Heights", + "Brinewater Springs", ] as const; async function main() {