feat: update for 6.3

This commit is contained in:
Anna 2023-01-15 13:25:56 -05:00
parent 9c43291228
commit 8763d09c8e
10 changed files with 1017 additions and 208 deletions

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<Version>1.0.8</Version>
<TargetFramework>net6.0-windows</TargetFramework>
<TargetFramework>net7.0-windows</TargetFramework>
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
@ -40,7 +40,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="DalamudPackager" Version="2.1.8"/>
<PackageReference Include="DalamudPackager" Version="2.1.10"/>
</ItemGroup>
</Project>

View File

@ -1,12 +1,12 @@
{
"version": 1,
"dependencies": {
"net6.0-windows7.0": {
"net7.0-windows7.0": {
"DalamudPackager": {
"type": "Direct",
"requested": "[2.1.8, )",
"resolved": "2.1.8",
"contentHash": "YqagNXs9InxmqkXzq7kLveImxnodkBEicAhydMXVp7dFjC7xb76U6zGgAax4/BWIWfZeWzr5DJyQSev31kj81A=="
"requested": "[2.1.10, )",
"resolved": "2.1.10",
"contentHash": "S6NrvvOnLgT4GDdgwuKVJjbFo+8ZEj+JsEYk9ojjOR/MMfv1dIFpT8aRJQfI24rtDcw1uF+GnSSMN4WW1yt7fw=="
}
}
}

View File

@ -16,6 +16,7 @@ namespace SourceGenerator {
var data = new Dictionary<Language, GameData>(4);
foreach (var lang in Languages.Keys) {
data[lang] = new GameData(args[0], new LuminaOptions {
PanicOnSheetChecksumMismatch = false,
DefaultExcelLanguage = lang,
});
}
@ -107,7 +108,7 @@ namespace SourceGenerator {
sb.Append("#[repr(u32)]\n");
sb.Append("pub enum ContentKind {\n");
foreach (var kind in this.Data[Language.English].GetExcelSheet<ContentType>()!) {
var name = kind.Name.TextValue().Replace(" ", "");
var name = kind.Name.TextValue().Replace(" ", "").Replace("&", "");
if (name.Length > 0) {
sb.Append($" {name} = {kind.RowId},\n");
}
@ -121,7 +122,7 @@ namespace SourceGenerator {
sb.Append(" fn from_u32(kind: u32) -> Self {\n");
sb.Append(" match kind {\n");
foreach (var kind in this.Data[Language.English].GetExcelSheet<ContentType>()!) {
var name = kind.Name.TextValue().Replace(" ", "");
var name = kind.Name.TextValue().Replace(" ", "").Replace("&", "");
if (name.Length > 0) {
sb.Append($" {kind.RowId} => Self::{name},\n");
}
@ -134,7 +135,7 @@ namespace SourceGenerator {
sb.Append(" pub fn as_u32(self) -> u32 {\n");
sb.Append(" match self {\n");
foreach (var kind in this.Data[Language.English].GetExcelSheet<ContentType>()!) {
var name = kind.Name.TextValue().Replace(" ", "");
var name = kind.Name.TextValue().Replace(" ", "").Replace("&", "");
if (name.Length > 0) {
sb.Append($" Self::{name} => {kind.RowId},\n");
}
@ -238,7 +239,7 @@ namespace SourceGenerator {
continue;
}
var pvp = cr.Unknown28 == 6
var pvp = cr.IsPvP
? "true"
: "false";
@ -393,7 +394,7 @@ namespace SourceGenerator {
lines += 1;
break;
}
}
}
}
}

View File

@ -2,14 +2,14 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Lumina" Version="3.9.0"/>
<PackageReference Include="Lumina.Excel" Version="6.2.0"/>
<PackageReference Include="Pidgin" Version="3.2.0"/>
<PackageReference Include="Lumina" Version="3.10.0"/>
<PackageReference Include="Lumina.Excel" Version="6.3.2"/>
<PackageReference Include="Pidgin" Version="3.2.1"/>
</ItemGroup>
</Project>

View File

@ -80,7 +80,7 @@ impl Language {
"ja" => return Self::Japanese,
"de" => return Self::German,
"fr" => return Self::French,
_ => {},
_ => {}
}
}
@ -337,6 +337,16 @@ mod old {
high_end: true,
content_kind: ContentKind::Trials,
},
875 => DutyInfo {
name: LocalisedText {
en: "Containment Bay S1T7 (Unreal)",
ja: "幻魔神セフィロト討滅戦",
de: "Traumprüfung - Sephirot",
fr: "Unité de contention S1P7 (irréel)",
},
high_end: true,
content_kind: ContentKind::Trials,
},
};
pub static ref OLD_ROULETTES: HashMap<u32, RouletteInfo> = maplit::hashmap! {

File diff suppressed because it is too large Load Diff

View File

@ -6356,6 +6356,16 @@ lazy_static::lazy_static! {
high_end: false,
content_kind: ContentKind::QuestBattles,
},
868 => DutyInfo {
name: LocalisedText {
en: "The Sil'dihn Subterrane",
ja: "ヴァリアントダンジョン シラディハ水道",
de: "Die Unterstadt von Sil'dih",
fr: "Les canalisations sildiennes - Donjon à embranchements",
},
high_end: false,
content_kind: ContentKind::V&CDungeonFinder,
},
869 => DutyInfo {
name: LocalisedText {
en: "The Fell Court of Troia",
@ -6383,7 +6393,7 @@ lazy_static::lazy_static! {
de: "Eschatos - Barbarizia",
fr: "La Toison des tempêtes (extrême)",
},
high_end: true,
high_end: false,
content_kind: ContentKind::Trials,
},
872 => DutyInfo {
@ -6416,16 +6426,6 @@ lazy_static::lazy_static! {
high_end: false,
content_kind: ContentKind::QuestBattles,
},
875 => DutyInfo {
name: LocalisedText {
en: "Containment Bay S1T7 (Unreal)",
ja: "幻魔神セフィロト討滅戦",
de: "Traumprüfung - Sephirot",
fr: "Unité de contention S1P7 (irréel)",
},
high_end: true,
content_kind: ContentKind::Trials,
},
876 => DutyInfo {
name: LocalisedText {
en: "Abyssos: The Seventh Circle",
@ -6446,6 +6446,26 @@ lazy_static::lazy_static! {
high_end: true,
content_kind: ContentKind::Raids,
},
878 => DutyInfo {
name: LocalisedText {
en: "Another Sil'dihn Subterrane",
ja: "アナザーダンジョン 異聞シラディハ水道",
de: "Die kuriose Unterstadt von Sil'dih",
fr: "Les canalisations sildiennes annexes - Donjon alternatif",
},
high_end: false,
content_kind: ContentKind::V&CDungeonFinder,
},
879 => DutyInfo {
name: LocalisedText {
en: "Another Sil'dihn Subterrane (Savage)",
ja: "アナザーダンジョン 異聞シラディハ水道 零式",
de: "Die kuriose Unterstadt von Sil'dih (episch)",
fr: "Les canalisations sildiennes annexes - Donjon alternatif (sadique)",
},
high_end: false,
content_kind: ContentKind::V&CDungeonFinder,
},
880 => DutyInfo {
name: LocalisedText {
en: "Abyssos: The Sixth Circle",
@ -6496,5 +6516,285 @@ lazy_static::lazy_static! {
high_end: false,
content_kind: ContentKind::QuestBattles,
},
886 => DutyInfo {
name: LocalisedText {
en: "Mount Ordeals",
ja: "ルビカンテ討滅戦",
de: "Prophetie - Rubicante",
fr: "Le Mont du Supplice",
},
high_end: false,
content_kind: ContentKind::Trials,
},
896 => DutyInfo {
name: LocalisedText {
en: "Lapis Manalis",
ja: "雪山冥洞 ラピス・マナリス",
de: "Lapis Manalis",
fr: "Lapis Manalis",
},
high_end: false,
content_kind: ContentKind::Dungeons,
},
909 => DutyInfo {
name: LocalisedText {
en: "The Shifting Gymnasion Agonon",
ja: "宝物庫 エルピス・ギュムナシオン祭殿",
de: "Gymnasion Agonon",
fr: "Elpis Gymnasion",
},
high_end: false,
content_kind: ContentKind::TreasureHunt,
},
910 => DutyInfo {
name: LocalisedText {
en: "An Unforeseen Bargain",
ja: "パンひとつと引き換えに",
de: "Der Wert einer Buuds",
fr: "Pour une bouchée de pain",
},
high_end: false,
content_kind: ContentKind::QuestBattles,
},
911 => DutyInfo {
name: LocalisedText {
en: "Euphrosyne",
ja: "喜びの神域 エウプロシュネ",
de: "Euphrosyne",
fr: "Domaine divin - Euphrosyne",
},
high_end: false,
content_kind: ContentKind::Raids,
},
912 => DutyInfo {
name: LocalisedText {
en: "The Clockwork Castletown",
ja: "東方絡繰御殿",
de: "Die Mechanische Menagerie",
fr: "Le Traquenard oriental",
},
high_end: false,
content_kind: ContentKind::PvP,
},
913 => DutyInfo {
name: LocalisedText {
en: "The Clockwork Castletown",
ja: "東方絡繰御殿",
de: "Die Mechanische Menagerie",
fr: "Le Traquenard oriental",
},
high_end: false,
content_kind: ContentKind::PvP,
},
914 => DutyInfo {
name: LocalisedText {
en: "The Clockwork Castletown",
ja: "東方絡繰御殿",
de: "Die Mechanische Menagerie",
fr: "Le Traquenard oriental",
},
high_end: false,
content_kind: ContentKind::PvP,
},
915 => DutyInfo {
name: LocalisedText {
en: "The Clockwork Castletown",
ja: "東方絡繰御殿",
de: "Die Mechanische Menagerie",
fr: "Le Traquenard oriental",
},
high_end: false,
content_kind: ContentKind::PvP,
},
916 => DutyInfo {
name: LocalisedText {
en: "The Clockwork Castletown",
ja: "東方絡繰御殿",
de: "Die Mechanische Menagerie",
fr: "Le Traquenard oriental",
},
high_end: false,
content_kind: ContentKind::PvP,
},
917 => DutyInfo {
name: LocalisedText {
en: "The Clockwork Castletown",
ja: "東方絡繰御殿",
de: "Die Mechanische Menagerie",
fr: "Le Traquenard oriental",
},
high_end: false,
content_kind: ContentKind::PvP,
},
918 => DutyInfo {
name: LocalisedText {
en: "The Clockwork Castletown",
ja: "東方絡繰御殿",
de: "Die Mechanische Menagerie",
fr: "Le Traquenard oriental",
},
high_end: false,
content_kind: ContentKind::PvP,
},
919 => DutyInfo {
name: LocalisedText {
en: "The Clockwork Castletown",
ja: "東方絡繰御殿",
de: "Die Mechanische Menagerie",
fr: "Le Traquenard oriental",
},
high_end: false,
content_kind: ContentKind::PvP,
},
920 => DutyInfo {
name: LocalisedText {
en: "The Clockwork Castletown",
ja: "東方絡繰御殿",
de: "Die Mechanische Menagerie",
fr: "Le Traquenard oriental",
},
high_end: false,
content_kind: ContentKind::PvP,
},
921 => DutyInfo {
name: LocalisedText {
en: "The Clockwork Castletown",
ja: "東方絡繰御殿",
de: "Die Mechanische Menagerie",
fr: "Le Traquenard oriental",
},
high_end: false,
content_kind: ContentKind::PvP,
},
922 => DutyInfo {
name: LocalisedText {
en: "The Clockwork Castletown",
ja: "東方絡繰御殿",
de: "Die Mechanische Menagerie",
fr: "Le Traquenard oriental",
},
high_end: false,
content_kind: ContentKind::PvP,
},
923 => DutyInfo {
name: LocalisedText {
en: "Crystalline Conflict (Custom Match - The Clockwork Castletown)",
ja: "クリスタルコンフリクト(東方絡繰御殿:カスタムマッチ)",
de: "Crystalline Conflict: Die Mechanische Menagerie (Schaukampf)",
fr: "Crystalline Conflict (partie personnalisée - Le Traquenard oriental)",
},
high_end: false,
content_kind: ContentKind::PvP,
},
924 => DutyInfo {
name: LocalisedText {
en: "Mount Ordeals (Extreme)",
ja: "極ルビカンテ討滅戦",
de: "Eschatos - Rubicante",
fr: "Le Mont du Supplice (extrême)",
},
high_end: true,
content_kind: ContentKind::Trials,
},
926 => DutyInfo {
name: LocalisedText {
en: "Containment Bay P1T6 (Unreal)",
ja: "幻女神ソフィア討滅戦",
de: "Traumprüfung - Sophia",
fr: "Unité de contention P1P6 (irréel)",
},
high_end: true,
content_kind: ContentKind::Trials,
},
927 => DutyInfo {
name: LocalisedText {
en: "Leap of Faith",
ja: "挑戦! ジャンピングアスレチック",
de: "Kaktor-Kletterwand",
fr: "Haute voltige",
},
high_end: false,
content_kind: ContentKind::GoldSaucer,
},
928 => DutyInfo {
name: LocalisedText {
en: "Leap of Faith",
ja: "挑戦! ジャンピングアスレチック",
de: "Kaktor-Kletterwand",
fr: "Haute voltige",
},
high_end: false,
content_kind: ContentKind::GoldSaucer,
},
929 => DutyInfo {
name: LocalisedText {
en: "Leap of Faith",
ja: "挑戦! ジャンピングアスレチック",
de: "Kaktor-Kletterwand",
fr: "Haute voltige",
},
high_end: false,
content_kind: ContentKind::GoldSaucer,
},
930 => DutyInfo {
name: LocalisedText {
en: "Leap of Faith",
ja: "挑戦! ジャンピングアスレチック",
de: "Kaktor-Kletterwand",
fr: "Haute voltige",
},
high_end: false,
content_kind: ContentKind::GoldSaucer,
},
931 => DutyInfo {
name: LocalisedText {
en: "Leap of Faith",
ja: "挑戦! ジャンピングアスレチック",
de: "Kaktor-Kletterwand",
fr: "Haute voltige",
},
high_end: false,
content_kind: ContentKind::GoldSaucer,
},
932 => DutyInfo {
name: LocalisedText {
en: "Leap of Faith",
ja: "挑戦! ジャンピングアスレチック",
de: "Kaktor-Kletterwand",
fr: "Haute voltige",
},
high_end: false,
content_kind: ContentKind::GoldSaucer,
},
933 => DutyInfo {
name: LocalisedText {
en: "Leap of Faith",
ja: "挑戦! ジャンピングアスレチック",
de: "Kaktor-Kletterwand",
fr: "Haute voltige",
},
high_end: false,
content_kind: ContentKind::GoldSaucer,
},
934 => DutyInfo {
name: LocalisedText {
en: "Leap of Faith",
ja: "挑戦! ジャンピングアスレチック",
de: "Kaktor-Kletterwand",
fr: "Haute voltige",
},
high_end: false,
content_kind: ContentKind::GoldSaucer,
},
935 => DutyInfo {
name: LocalisedText {
en: "Leap of Faith",
ja: "挑戦! ジャンピングアスレチック",
de: "Kaktor-Kletterwand",
fr: "Haute voltige",
},
high_end: false,
content_kind: ContentKind::GoldSaucer,
},
};
}

View File

@ -70,7 +70,7 @@ lazy_static::lazy_static! {
de: "Tagesherausforderung: PvP-Front",
fr: "Challenge quotidien : Front",
},
pvp: false,
pvp: true,
},
8 => RouletteInfo {
name: LocalisedText {

View File

@ -1503,12 +1503,6 @@ lazy_static::lazy_static! {
de: "Unteres La Noscea",
fr: "Basse-Noscea",
},
416 => LocalisedText {
en: "The Great Gubal Library",
ja: "グブラ幻想図書館",
de: "Große Gubal-Bibliothek",
fr: "Grande bibliothèque de Gubal",
},
417 => LocalisedText {
en: "Chocobo Square",
ja: "チョコボスクウェア",
@ -1617,12 +1611,6 @@ lazy_static::lazy_static! {
de: "Singularitäts-Reaktor",
fr: "Réacteur de singularité",
},
438 => LocalisedText {
en: "Aetherochemical Research Facility",
ja: "魔科学研究所",
de: "Ätherochemisches Forschungslabor",
fr: "Laboratoire de magismologie",
},
439 => LocalisedText {
en: "The Lightfeather Proving Grounds",
ja: "ライトフェザー闘技場",
@ -2079,12 +2067,6 @@ lazy_static::lazy_static! {
de: "Das Diadem",
fr: "Le Diadème",
},
516 => LocalisedText {
en: "The Antitower",
ja: "逆さの塔",
de: "Antiturm",
fr: "L'Antitour",
},
517 => LocalisedText {
en: "Containment Bay S1T7",
ja: "コンテイメントベイS1T7",
@ -2283,12 +2265,6 @@ lazy_static::lazy_static! {
de: "Feld der Ehre",
fr: "Champs de la Gloire",
},
555 => LocalisedText {
en: "Sohr Khai",
ja: "ソール・カイ",
de: "Sohr Khai",
fr: "Sohr Khai",
},
556 => LocalisedText {
en: "The Weeping City of Mhach",
ja: "禁忌都市マハ",
@ -2385,12 +2361,6 @@ lazy_static::lazy_static! {
de: "Geisterschloss",
fr: "Manoir hanté",
},
572 => LocalisedText {
en: "Xelphatol",
ja: "ゼルファトル",
de: "Xelphatol",
fr: "Xelphatol",
},
573 => LocalisedText {
en: "Topmast Apartment Lobby",
ja: "トップマスト:ロビー",
@ -2643,12 +2613,6 @@ lazy_static::lazy_static! {
de: "Yanxia",
fr: "Yanxia",
},
615 => LocalisedText {
en: "Baelsar's Wall",
ja: "バエサルの長城",
de: "Baelsar-Wall",
fr: "Muraille de Baelsar",
},
616 => LocalisedText {
en: "Shisui of the Violet Tides",
ja: "紫水宮",
@ -2721,12 +2685,6 @@ lazy_static::lazy_static! {
de: "Badehaus Bokairo",
fr: "Auberge du Bokairo",
},
630 => LocalisedText {
en: "The Diadem",
ja: "ディアデム諸島",
de: "Das Diadem",
fr: "Le Diadème",
},
633 => LocalisedText {
en: "Carteneau Flats: Borderland Ruins",
ja: "カルテノー平原:外縁遺跡群",
@ -5223,6 +5181,12 @@ lazy_static::lazy_static! {
de: "Schicksalsweg",
fr: "Avancée de la Foi",
},
1069 => LocalisedText {
en: "The Sil'dihn Subterrane",
ja: "シラディハ水道",
de: "Unterstadt von Sil'dih",
fr: "Canalisations sildiennes",
},
1070 => LocalisedText {
en: "The Fell Court of Troia",
ja: "トロイアコート",
@ -5241,6 +5205,24 @@ lazy_static::lazy_static! {
de: "Sturmes Krone",
fr: "Toison des tempêtes",
},
1073 => LocalisedText {
en: "Elysion",
ja: "エリュシオン",
de: "Elysium",
fr: "Élysée",
},
1075 => LocalisedText {
en: "Another Sil'dihn Subterrane",
ja: "異聞シラディハ水道",
de: "Kuriose Unterstadt von Sil'dih",
fr: "Canalisations sildiennes annexes",
},
1076 => LocalisedText {
en: "Another Sil'dihn Subterrane",
ja: "異聞シラディハ水道",
de: "Kuriose Unterstadt von Sil'dih",
fr: "Canalisations sildiennes annexes",
},
1077 => LocalisedText {
en: "Zero's Domain",
ja: "ゼロの領域",
@ -5313,17 +5295,11 @@ lazy_static::lazy_static! {
de: "Schwarzer Hof von Troia",
fr: "Château de Troïa",
},
1090 => LocalisedText {
en: "Containment Bay S1T7",
ja: "コンテイメントベイS1T7",
de: "Arretur S1T7",
fr: "Unité de contention S1P7",
},
1091 => LocalisedText {
en: "Seat of the Foremost",
ja: "筆頭神官の間",
de: "Sitz der Hohepriesterin",
fr: "Salle des primiciers",
en: "The Fell Court of Troia",
ja: "トロイアコート",
de: "Schwarzer Hof von Troia",
fr: "Château de Troïa",
},
1092 => LocalisedText {
en: "Storm's Crown",
@ -5343,5 +5319,113 @@ lazy_static::lazy_static! {
de: "Versteck der Kürbishexe",
fr: "Demeure de la femme à tête de citrouille",
},
1095 => LocalisedText {
en: "Mount Ordeals",
ja: "試練の山",
de: "Berg der Tortur",
fr: "Mont du Supplice",
},
1096 => LocalisedText {
en: "Mount Ordeals",
ja: "試練の山",
de: "Berg der Tortur",
fr: "Mont du Supplice",
},
1097 => LocalisedText {
en: "Lapis Manalis",
ja: "ラピス・マナリス",
de: "Lapis Manalis",
fr: "Lapis Manalis",
},
1098 => LocalisedText {
en: "Sylphstep",
ja: "シルフ領風特設アスレチック",
de: "Sylphenland",
fr: "Sylve sylphe sibylline",
},
1109 => LocalisedText {
en: "The Great Gubal Library",
ja: "グブラ幻想図書館",
de: "Große Gubal-Bibliothek",
fr: "Grande bibliothèque de Gubal",
},
1110 => LocalisedText {
en: "Aetherochemical Research Facility",
ja: "魔科学研究所",
de: "Ätherochemisches Forschungslabor",
fr: "Laboratoire de magismologie",
},
1111 => LocalisedText {
en: "The Antitower",
ja: "逆さの塔",
de: "Antiturm",
fr: "L'Antitour",
},
1112 => LocalisedText {
en: "Sohr Khai",
ja: "ソール・カイ",
de: "Sohr Khai",
fr: "Sohr Khai",
},
1113 => LocalisedText {
en: "Xelphatol",
ja: "ゼルファトル",
de: "Xelphatol",
fr: "Xelphatol",
},
1114 => LocalisedText {
en: "Baelsar's Wall",
ja: "バエサルの長城",
de: "Baelsar-Wall",
fr: "Muraille de Baelsar",
},
1116 => LocalisedText {
en: "The Clockwork Castletown",
ja: "東方絡繰御殿",
de: "Die Mechanische Menagerie",
fr: "Le Traquenard oriental",
},
1117 => LocalisedText {
en: "The Clockwork Castletown",
ja: "東方絡繰御殿",
de: "Die Mechanische Menagerie",
fr: "Le Traquenard oriental",
},
1118 => LocalisedText {
en: "Euphrosyne",
ja: "喜びの神域 エウプロシュネ",
de: "Euphrosyne",
fr: "Domaine divin - Euphrosyne",
},
1119 => LocalisedText {
en: "Lapis Manalis",
ja: "ラピス・マナリス",
de: "Lapis Manalis",
fr: "Lapis Manalis",
},
1120 => LocalisedText {
en: "Garlemald",
ja: "ガレマルド",
de: "Garlemald",
fr: "Garlemald",
},
1121 => LocalisedText {
en: "Containment Bay P1T6",
ja: "コンテイメントベイP1T6",
de: "Arretur P1T6",
fr: "Unité de contention P1P6",
},
1123 => LocalisedText {
en: "The Shifting Gymnasion Agonon",
ja: "エルピス・ギュムナシオン祭殿",
de: "Gymnasion Agonon",
fr: "Elpis Gymnasion",
},
1125 => LocalisedText {
en: "Khadga",
ja: "カドガの大岩",
de: "Khadga-Felsen",
fr: "Khadga",
},
};
}

View File

@ -100,7 +100,7 @@ lazy_static::lazy_static! {
fr: "Carte au trésor en peau de glaucus",
},
16 => LocalisedText {
en: "Presumably Special Treasure Map",
en: "Ostensibly Special Treasure Map",
ja: "古ぼけた地図S2",
de: "Mythenleder-Schatzkarte",
fr: "Carte au trésor inhabituelle II",
@ -115,7 +115,19 @@ lazy_static::lazy_static! {
en: "Kumbhiraskin Treasure Map",
ja: "古ぼけた地図G14",
de: "Ophiotaurosleder-Schatzkarte",
fr: "Carte au trésor en peau de khumbira",
fr: "Carte au trésor en peau de kumbhira",
},
19 => LocalisedText {
en: "Ophiotauroskin Treasure Map",
ja: "古ぼけた地図G15",
de: "Kumbhiraleder-Schatzkarte",
fr: "Carte au trésor en peau d'ophiotauros",
},
20 => LocalisedText {
en: "Potentially Special Treasure Map",
ja: "古ぼけた地図S3",
de: "Legendenleder-Schatzkarte",
fr: "Carte au trésor inhabituelle III",
},
};
}