From 13e6b2e866fbab641645ac51a19331fd13918c42 Mon Sep 17 00:00:00 2001 From: Christopher Czyba Date: Sat, 18 Nov 2023 08:08:06 +0100 Subject: [PATCH] feat: Add support for V&C Dungeons V&C Dungeons are new types of dungeons added in 6.25. Square added a new category flag, 128, in order to identify them. Looking at the listings send to the server, there seems to be no difference between Variant, Critereon and Critereon Savage dungeons in terms of categorization flags. Translations were copied from the patch notes and later verified in-game. V&C Dungeons are now shown in the frontend. The category exists and filtering works as expected. --- server/src/listing.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/server/src/listing.rs b/server/src/listing.rs index 339249f..93a2096 100644 --- a/server/src/listing.rs +++ b/server/src/listing.rs @@ -162,6 +162,7 @@ impl PartyFinderListing { (DutyType::Normal, _, DutyCategory::GatheringForays) => PartyFinderCategory::GatheringForays, (DutyType::Other, _, DutyCategory::DeepDungeons) => PartyFinderCategory::DeepDungeons, (DutyType::Normal, _, DutyCategory::AdventuringForays) => PartyFinderCategory::AdventuringForays, + (DutyType::Normal, _, DutyCategory::VariantAndCritereonDungeonFinger) => PartyFinderCategory::VariantAndCritereonDungeonFinder, (DutyType::Normal, Some(DutyInfo { high_end: true, .. }), _) => PartyFinderCategory::HighEndDuty, (DutyType::Normal, Some(DutyInfo { content_kind: ContentKind::Dungeons, .. }), _) => PartyFinderCategory::Dungeons, (DutyType::Normal, Some(DutyInfo { content_kind: ContentKind::Guildhests, .. }), _) => PartyFinderCategory::Guildhests, @@ -235,6 +236,7 @@ pub enum DutyCategory { GatheringForays = 1 << 4, DeepDungeons = 1 << 5, AdventuringForays = 1 << 6, + VariantAndCritereonDungeonFinger = 1 << 7, } impl DutyCategory { @@ -510,11 +512,12 @@ pub enum PartyFinderCategory { GatheringForays, DeepDungeons, AdventuringForays, + VariantAndCritereonDungeonFinder, None, } impl PartyFinderCategory { - pub const ALL: [Self; 15] = [ + pub const ALL: [Self; 16] = [ Self::DutyRoulette, Self::Dungeons, Self::Guildhests, @@ -529,6 +532,7 @@ impl PartyFinderCategory { Self::GatheringForays, Self::DeepDungeons, Self::AdventuringForays, + Self::VariantAndCritereonDungeonFinder, Self::None, ]; @@ -548,6 +552,7 @@ impl PartyFinderCategory { Self::GatheringForays => "GatheringForays", Self::DeepDungeons => "DeepDungeons", Self::AdventuringForays => "AdventuringForays", + Self::VariantAndCritereonDungeonFinder => "V&C Dungeon Finder", Self::None => "None", } } @@ -638,6 +643,12 @@ impl PartyFinderCategory { de: "Feldexkursion", fr: "Missions d'exploration", }, + Self::VariantAndCritereonDungeonFinder => LocalisedText { + en: "V&C Dungeon Finder", + ja: "特殊ダンジョン探索", + de: "Gewölbesuche", + fr: "Donjons spéciaux", + }, Self::None => LocalisedText { en: "None", ja: "設定なし",