From a95883b6b3c1c64ca9b57dd28ccd70086c3c5167 Mon Sep 17 00:00:00 2001 From: PurpleHato Date: Mon, 17 Mar 2025 20:15:53 +0100 Subject: [PATCH] Multiple Rando Text related stuff (#5125) * Multiple Rando Text related stuff - Mostly french rework / completion of missing lines - Removal of a duplicate entry for Richard's house overworld key - Correct naming for the English pond - Addition of missing text in English and french * Txeak uncessary spaces --- .../3drando/hint_list/hint_list_item.cpp | 26 +-- soh/soh/Enhancements/randomizer/item_list.cpp | 2 +- .../Enhancements/randomizer/randomizer.cpp | 220 +++++++++--------- 3 files changed, 122 insertions(+), 126 deletions(-) diff --git a/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_item.cpp b/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_item.cpp index 867da2b2c..c786dd8de 100644 --- a/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_item.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/hint_list/hint_list_item.cpp @@ -2070,23 +2070,23 @@ void StaticData::HintTable_Init_Item() { CustomMessage("a rightward tone", /*german*/"ein rechtsseitiger Ton", /*french*/"une tonalité vers la droite")}); // /*spanish*/un tono hacia la derecha - hintTextTable[RHT_FISHING_POLE] = HintText(CustomMessage("a fishing pole", /*german*/"eine Angelrute", /*french*/"canne à pêche"), + hintTextTable[RHT_FISHING_POLE] = HintText(CustomMessage("a fishing pole", /*german*/"eine Angelrute", /*french*/"une canne à pêche"), // /*spanish*/caña de pescar { - CustomMessage("the pond owner's property", /*german*/"der Besitz des Teicheigners", /*french*/"(canne à pêche)") + CustomMessage("the pond owner's property", /*german*/"der Besitz des Teicheigners", /*french*/"(un truc qui appartient au propriétaire de l'étang)") // /*spanish*/(caña de pescar) }, { - CustomMessage("a fish-puller", /*german*/"ein Fischzieher", /*french*/"(canne à pêche)")}); + CustomMessage("a fish-puller", /*german*/"ein Fischzieher", /*french*/"(un aimant à poisson)")}); // /*spanish*/(caña de pescar) - hintTextTable[RHT_BOMBCHU_BAG] = HintText(CustomMessage("Bombchu Bag", /*german*/"!!!", /*french*/"!!!"), + hintTextTable[RHT_BOMBCHU_BAG] = HintText(CustomMessage("Bombchu Bag", /*german*/"!!!", /*french*/"un Sac de Missiles Teigneux"), { CustomMessage("explosives", /*german*/"ein Explosivpaket", /*french*/"un paquet d'explosifs"), // /*spanish*/un montón de explosivos CustomMessage("something that can remove boulders", /*german*/"etwas, das Geröll entfernen kann", /*french*/"une chose qui enlève les rochers") // /*spanish*/algo que pueda quitar rocas }, { - CustomMessage("sack of mice", /*german*/"!!!", /*french*/"!!!")}); + CustomMessage("sack of mice", /*german*/"!!!", /*french*/"un Sac rempli de souris")}); hintTextTable[RHT_SKELETON_KEY] = HintText(CustomMessage("a Skeleton Key", /*german*/ "ein Universalschlüssel", /*french*/ "une Clé Squelette"), // /*spanish*/una Llave Maestra @@ -2096,49 +2096,49 @@ void StaticData::HintTable_Init_Item() { }, { CustomMessage("a master unlocker", /*german*/ "ein Meisterentsperrer", /*french*/ "un Kit de Déverrouillage") }); // /*spanish*/un desbloqueador maestro - hintTextTable[RHT_QUIVER_INF] = HintText(CustomMessage("", /*german*/"!!!", /*french*/"!!!"), + hintTextTable[RHT_QUIVER_INF] = HintText(CustomMessage("an infinite Quiver", /*german*/"!!!", /*french*/"un Carquois Infini"), { CustomMessage("", /*german*/"!!!", /*french*/"!!!"), }, { CustomMessage("", /*german*/"!!!", /*french*/"!!!")}); - hintTextTable[RHT_BOMB_BAG_INF] = HintText(CustomMessage("", /*german*/"!!!", /*french*/"!!!"), + hintTextTable[RHT_BOMB_BAG_INF] = HintText(CustomMessage("an infinite Bomb Bag", /*german*/"!!!", /*french*/"un Sac de Bombe sans fond"), { CustomMessage("", /*german*/"!!!", /*french*/"!!!"), }, { CustomMessage("", /*german*/"!!!", /*french*/"!!!")}); - hintTextTable[RHT_BULLET_BAG_INF] = HintText(CustomMessage("", /*german*/"!!!", /*french*/"!!!"), + hintTextTable[RHT_BULLET_BAG_INF] = HintText(CustomMessage("an infinite Bullet Bag", /*german*/"!!!", /*french*/"un Sac de Graine sans fond"), { CustomMessage("", /*german*/"!!!", /*french*/"!!!"), }, { CustomMessage("", /*german*/"!!!", /*french*/"!!!")}); - hintTextTable[RHT_STICK_UPGRADE_INF] = HintText(CustomMessage("", /*german*/"!!!", /*french*/"!!!"), + hintTextTable[RHT_STICK_UPGRADE_INF] = HintText(CustomMessage("infinite Deku Sticks", /*german*/"!!!", /*french*/" des Bâtons Mojo illimités"), { CustomMessage("", /*german*/"!!!", /*french*/"!!!"), }, { CustomMessage("", /*german*/"!!!", /*french*/"!!!")}); - hintTextTable[RHT_NUT_UPGRADE_INF] = HintText(CustomMessage("", /*german*/"!!!", /*french*/"!!!"), + hintTextTable[RHT_NUT_UPGRADE_INF] = HintText(CustomMessage("infinite Deku Nut", /*german*/"!!!", /*french*/"des Noix Mojo illimitées"), { CustomMessage("", /*german*/"!!!", /*french*/"!!!"), }, { CustomMessage("", /*german*/"!!!", /*french*/"!!!")}); - hintTextTable[RHT_MAGIC_INF] = HintText(CustomMessage("", /*german*/"!!!", /*french*/"!!!"), + hintTextTable[RHT_MAGIC_INF] = HintText(CustomMessage("unlimited Magic", /*german*/"!!!", /*french*/"de la Magie infinie"), { CustomMessage("", /*german*/"!!!", /*french*/"!!!"), }, { CustomMessage("", /*german*/"!!!", /*french*/"!!!")}); - hintTextTable[RHT_BOMBCHU_INF] = HintText(CustomMessage("", /*german*/"!!!", /*french*/"!!!"), + hintTextTable[RHT_BOMBCHU_INF] = HintText(CustomMessage("infinite Bombchus", /*german*/"!!!", /*french*/"des Missiles Teigneux illimités"), { CustomMessage("", /*german*/"!!!", /*french*/"!!!"), }, { CustomMessage("", /*german*/"!!!", /*french*/"!!!")}); - hintTextTable[RHT_WALLET_INF] = HintText(CustomMessage("", /*german*/"!!!", /*french*/"!!!"), + hintTextTable[RHT_WALLET_INF] = HintText(CustomMessage("an infinite Wallet", /*german*/"!!!", /*french*/"une Bourse sans fond"), { CustomMessage("", /*german*/"!!!", /*french*/"!!!"), }, { diff --git a/soh/soh/Enhancements/randomizer/item_list.cpp b/soh/soh/Enhancements/randomizer/item_list.cpp index 0b94aab39..c31a1c4a6 100644 --- a/soh/soh/Enhancements/randomizer/item_list.cpp +++ b/soh/soh/Enhancements/randomizer/item_list.cpp @@ -339,7 +339,7 @@ void Rando::StaticData::InitItemTable() { itemTable[RG_BRONZE_SCALE] = Item(RG_BRONZE_SCALE, Text{ "Bronze Scale", "Écaille de Bronze", "Bronzene Schuppe" }, ITEMTYPE_ITEM, GI_SCALE_SILVER, true, LOGIC_PROGRESSIVE_WALLET, RHT_BRONZE_SCALE, RG_BRONZE_SCALE, OBJECT_GI_SCALE, GID_SCALE_SILVER, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER); itemTable[RG_BRONZE_SCALE].SetCustomDrawFunc(Randomizer_DrawBronzeScale); - itemTable[RG_BOMBCHU_BAG] = Item(RG_BOMBCHU_BAG, Text{ "Bombchu Bag", "!!!", "!!!" }, ITEMTYPE_ITEM, RG_BOMBCHU_BAG, true, LOGIC_BOMBCHUS, RHT_BOMBCHU_BAG, RG_BOMBCHU_BAG, OBJECT_GI_BOMB_2, GID_BOMBCHU, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER); + itemTable[RG_BOMBCHU_BAG] = Item(RG_BOMBCHU_BAG, Text{ "Bombchu Bag", "!!!", "Sac de Missiles Teigneux" }, ITEMTYPE_ITEM, RG_BOMBCHU_BAG, true, LOGIC_BOMBCHUS, RHT_BOMBCHU_BAG, RG_BOMBCHU_BAG, OBJECT_GI_BOMB_2, GID_BOMBCHU, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_MAJOR, MOD_RANDOMIZER); itemTable[RG_BOMBCHU_BAG].SetCustomDrawFunc(Randomizer_DrawBombchuBag); itemTable[RG_QUIVER_INF] = Item(RG_QUIVER_INF, Text{ "Infinite Quiver", "Carquois Infini", "Unendlicher Köcher" }, ITEMTYPE_ITEM, RG_QUIVER_INF, true, LOGIC_PROGRESSIVE_BOW, RHT_QUIVER_INF, RG_QUIVER_INF, OBJECT_GI_ARROWCASE, GID_QUIVER_50, TEXT_RANDOMIZER_CUSTOM_ITEM, 0x80, CHEST_ANIM_LONG, ITEM_CATEGORY_LESSER, MOD_RANDOMIZER); diff --git a/soh/soh/Enhancements/randomizer/randomizer.cpp b/soh/soh/Enhancements/randomizer/randomizer.cpp index 85ddc6c50..1cc7363e8 100644 --- a/soh/soh/Enhancements/randomizer/randomizer.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer.cpp @@ -3469,251 +3469,247 @@ void Randomizer::CreateCustomMessages() { GIMESSAGE(RG_GUARD_HOUSE_KEY, ITEM_KEY_SMALL, "You found the key to the&%gGuard House%w!", "Du erhältst einen %rkleinen&Schlüssel%w für das %gHaus der Wachen%w!", - "Vous obtenez une %rPetite Clé %w&de la %gMaison des Gardes%w!"), + "Vous obtenez la %rClé %wde la&%gMaison des Gardes%w!"), GIMESSAGE(RG_MARKET_BAZAAR_KEY, ITEM_KEY_SMALL, "You found the key to the&%gMarket Bazaar%w!", "Du erhältst einen %rkleinen&Schlüssel%w für den %gBasar des Marktes%w!", - "Vous obtenez une %rPetite Clé %w&du %gMarché%w!"), + "Vous obtenez la %rClé %wdu %gBazar&de la Place du Marché%w!"), GIMESSAGE(RG_MARKET_POTION_SHOP_KEY, ITEM_KEY_SMALL, "You found the key to the&%gMarket Potion Shop%w!", "Du erhältst einen %rkleinen&Schlüssel%w für den %gMagie-Laden des Marktes%w!", - "Vous obtenez une %rPetite Clé %w&du %gMarché%w!"), + "Vous obtenez la %rClé %wde la&%gPlace du Marché%w!"), GIMESSAGE(RG_MASK_SHOP_KEY, ITEM_KEY_SMALL, "You found the key to the&%gMask Shop%w!", "Du erhältst einen %rkleinen&Schlüssel%w für den %gMaskenladen%w!", - "Vous obtenez une %rPetite Clé %w&du %gMagasin de Masques%w!"), + "Vous obtenez la %rClé %wde la&%gFoire aux Masques%w!"), GIMESSAGE(RG_MARKET_SHOOTING_GALLERY_KEY, ITEM_KEY_SMALL, "You found the key to the&%gMarket Shooting Gallery%w!", "Du erhältst einen %rkleinen&Schlüssel%w für die %gSchießbude des Marktes%w!", - "Vous obtenez une %rPetite Clé %w&du %gStand de Tir%w!"), + "Vous obtenez la %rClé %wdu %gStand de&Tir de la Place du Marché%w!"), GIMESSAGE(RG_BOMBCHU_BOWLING_KEY, ITEM_KEY_SMALL, "You found the key to the&%gBombchu Bowling Alley%w!", "Du erhältst einen %rkleinen&Schlüssel%w für die %gMinenbowlingbahn%w!", - "Vous obtenez une %rPetite Clé %w&du %gBowling Bombchu%w!"), + "Vous obtenez la %rClé %wdu %gBowling&Teigneux%w!"), GIMESSAGE(RG_TREASURE_CHEST_GAME_BUILDING_KEY, ITEM_KEY_SMALL, "You found the key to the&%gTreasure Chest Game Building%w!", "Du erhältst einen %rkleinen&Schlüssel%w für das %gHaus des Schatzkisten-Pokers%w!", - "Vous obtenez une %rPetite Clé %w&du %gJeu de la Chasse au Trésor%w!"), + "Vous obtenez la %rClé %wdu %gJeu de la&Chasse au Trésor%w!"), GIMESSAGE(RG_BOMBCHU_SHOP_KEY, ITEM_KEY_SMALL, "You found the key to the&%gBombchu Shop%w!", "Du erhältst einen %rkleinen&Schlüssel%w für den %gKrabbelminenladen%w!", - "Vous obtenez une %rPetite Clé %w&du %gMagasin de Bombchu%w!"), + "Vous obtenez la %rClé %wdu %gMagasin&de Missiles%w!"), GIMESSAGE(RG_RICHARDS_HOUSE_KEY, ITEM_KEY_SMALL, "You found the key to&%gRichard's House%w!", "Du erhältst einen %rkleinen&Schlüssel%w für das %gHaus von Richard%w!", - "Vous obtenez une %rPetite Clé %w&de la %gMaison de Richard%w!"), - GIMESSAGE(RG_RICHARDS_HOUSE_KEY, ITEM_KEY_SMALL, - "You found the key to&%gRichard's House%w!", - "Du erhältst einen %rkleinen&Schlüssel%w für das %gHaus von Richard%w!", - "Vous obtenez une %rPetite Clé %w&de la %gMaison de Richard%w!"), + "Vous obtenez la %rClé %wde la %gMaison&de Kiki%w!"), GIMESSAGE(RG_ALLEY_HOUSE_KEY, ITEM_KEY_SMALL, "You found the key to&the %gAlley House%w!", "Du erhältst einen %rkleinen&Schlüssel%w für das %gHaus in der Gasse%w!", - "Vous obtenez une %rPetite Clé %w&de la %gMaison de la Ruelle%w!"), + "Vous obtenez la %rClé %wde la %gMaison&de la Ruelle%w!"), GIMESSAGE(RG_KAK_BAZAAR_KEY, ITEM_KEY_SMALL, "You found the key to the&%gKakariko Bazaar%w!", "Du erhältst einen %rkleinen&Schlüssel%w für den %gBasar von Kakariko%w!", - "Vous obtenez une %rPetite Clé %w&du %gMarché de Cocorico%w!"), + "Vous obtenez la %rClé %wdu %gBazar&de Cocorico%w!"), GIMESSAGE(RG_KAK_POTION_SHOP_KEY, ITEM_KEY_SMALL, "You found the key to the&%gKakariko Potion Shop%w!", "Du erhältst einen %rkleinen&Schlüssel%w für den %gMagie-Laden von Kakariko%w!", - "Vous obtenez une %rPetite Clé %w&du %gMagasin de Potions de Cocorico%w!"), + "Vous obtenez la %rClé %wdu %gMagasin de&Potions de Cocorico%w!"), GIMESSAGE(RG_BOSS_HOUSE_KEY, ITEM_KEY_SMALL, "You found the key to the&%gBoss's House%w!", "Du erhältst einen %rkleinen&Schlüssel%w für das %gHaus des Chefs%w!", - "Vous obtenez une %rPetite Clé %w&de la %gMaison du Boss%w!"), + "Vous obtenez la %rClé %wde la %gMaison&du chef des ouvriers%w!"), GIMESSAGE(RG_GRANNYS_POTION_SHOP_KEY, ITEM_KEY_SMALL, "You found the key to&%gGranny's Potion Shop%w!", "Du erhältst einen %rkleinen&Schlüssel%w für %gAsas Hexenladen%w!", - "Vous obtenez une %rPetite Clé %w&du %gMagasin de Potions de Grand-mère%w!"), + "Vous obtenez la %rClé %wde&l'%gApothicaire%w!"), GIMESSAGE(RG_SKULLTULA_HOUSE_KEY, ITEM_KEY_SMALL, "You found the key to the&%gSkulltula House%w!", "Du erhältst einen %rkleinen&Schlüssel%w für das %gSkulltula-Haus%w!", - "Vous obtenez une %rPetite Clé %w&de la %gMaison des Skulltulas%w!"), + "Vous obtenez la %rClé %wde la %gMaison&des Araignées%w!"), GIMESSAGE(RG_IMPAS_HOUSE_KEY, ITEM_KEY_SMALL, "You found the key to&%gImpa's House%w!", "Du erhältst einen %rkleinen&Schlüssel%w für das %gHaus von Impa%w!", - "Vous obtenez une %rPetite Clé %w&de la %gMaison d'Impa%w!"), + "Vous obtenez la %rClé %wde la %gMaison&d'Impa%w!"), GIMESSAGE(RG_WINDMILL_KEY, ITEM_KEY_SMALL, "You found the key to the&%gWindmill%w!", "Du erhältst einen %rkleinen&Schlüssel%w für die %gWindmühle%w!", - "Vous obtenez une %rPetite Clé %w&du %gMoulin à Vent%w!"), + "Vous obtenez la %rClé %w du %gMoulin%w!"), GIMESSAGE(RG_KAK_SHOOTING_GALLERY_KEY, ITEM_KEY_SMALL, "You found the key to the&%gKakariko Shooting Gallery%w!", "Du erhältst einen %rkleinen&Schlüssel%w für die %gSchießbude von Kakariko%w!", - "Vous obtenez une %rPetite Clé %w&du %gStand de Tir de Cocorico%w!"), + "Vous obtenez la %rClé %w du %gStand de&Tir de Cocorico%w!"), GIMESSAGE(RG_DAMPES_HUT_KEY, ITEM_KEY_SMALL, "You found the key to&%gDampe's Hut%w!", "Du erhältst einen %rkleinen&Schlüssel%w für die %gHütte von Boris%w!", - "Vous obtenez une %rPetite Clé %w&du %gChalet de Dampe%w!"), + "Vous obtenez la %rClé %wde la %gCabane&d'Igor%w!"), GIMESSAGE(RG_TALONS_HOUSE_KEY, ITEM_KEY_SMALL, "You found the key to&%gTalon's House%w!", "Du erhältst einen %rkleinen&Schlüssel%w für das %gHaus von Talon%w!", - "Vous obtenez une %rPetite Clé %w&de la %gMaison de Talon%w!"), + "Vous obtenez la %rClé %wde la %gMaison&de Talon%w!"), GIMESSAGE(RG_STABLES_KEY, ITEM_KEY_SMALL, "You found the key to the&%gStables%w!", "Du erhältst einen %rkleinen&Schlüssel%w für die %gStälle%w!", - "Vous obtenez une %rPetite Clé %w&des %gÉcuries%w!"), + "Vous obtenez la %rClé %wdes %gÉcuries%w!"), GIMESSAGE(RG_BACK_TOWER_KEY, ITEM_KEY_SMALL, "You found the key to the&%gBack Tower%w!", "Du erhältst einen %rkleinen&Schlüssel%w für den %ghinteren Turm%w!", - "Vous obtenez une %rPetite Clé %w&du %gTour Arrière%w!"), + "Vous obtenez la %rClé %wdu %gSilo%w!"), GIMESSAGE(RG_HYLIA_LAB_KEY, ITEM_KEY_SMALL, "You found the key to the&%gHylia Laboratory%w!", "Du erhältst einen %rkleinen&Schlüssel%w für das %gHylia-Labor%w!", - "Vous obtenez une %rPetite Clé %w&du %gLaboratoire d'Hylia%w!"), + "Vous obtenez la %rClé %wdu %gLaboratoire&du Lac Hylia%w!"), GIMESSAGE(RG_FISHING_HOLE_KEY, ITEM_KEY_SMALL, - "You found the key to the&%gFishing Hole%w!", + "You found the key to the&%gPond%w!", "Du erhältst einen %rkleinen&Schlüssel%w für den %gFischweiher%w!", - "Vous obtenez une %rPetite Clé %w&du %gTrou de Pêche%w!"), + "Vous obtenez la %rClé %wde l'%gÉtang%w!"), GIMESSAGE(RG_GERUDO_FORTRESS_KEY_RING, ITEM_KEY_SMALL, - "You found a %yThieves Hideout &%wKeyring!", + "You found a %yThieves Hideout&%wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für das %yDiebesversteck%w!", - "Vous obtenez un trousseau de&clés du %yRepaire des Voleurs%w!"), + "Vous obtenez le trousseau de&clés du %yRepaire des Voleurs%w!"), GIMESSAGE(RG_FOREST_TEMPLE_KEY_RING, ITEM_KEY_SMALL, - "You found a %gForest Temple &%wKeyring!", + "You found a %gForest Temple&%wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für den %gWaldtempel%w!", - "Vous obtenez un trousseau de&clés du %gTemple de la Forêt%w!"), + "Vous obtenez le trousseau de&clés du %gTemple de la Forêt%w!"), GIMESSAGE(RG_FIRE_TEMPLE_KEY_RING, ITEM_KEY_SMALL, - "You found a %rFire Temple &%wKeyring!", + "You found a %rFire Temple&%wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für den %rFeuertempel%w!", - "Vous obtenez un trousseau de&clés du %rTemple du Feu%w!"), + "Vous obtenez le trousseau de&clés du %rTemple du Feu%w!"), GIMESSAGE(RG_WATER_TEMPLE_KEY_RING, ITEM_KEY_SMALL, - "You found a %bWater Temple &%wKeyring!", + "You found a %bWater Temple&%wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für den %bWassertempel%w!", - "Vous obtenez un trousseau de&clés du %bTemple de l'Eau%w!"), + "Vous obtenez le trousseau de&clés du %bTemple de l'Eau%w!"), GIMESSAGE(RG_SPIRIT_TEMPLE_KEY_RING, ITEM_KEY_SMALL, - "You found a %ySpirit Temple &%wKeyring!", + "You found a %ySpirit Temple&%wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für den %yGeistertempel%w!", - "Vous obtenez un trousseau de&clés du %yTemple de l'Esprit%w!"), + "Vous obtenez le trousseau de&clés du %yTemple de l'Esprit%w!"), GIMESSAGE(RG_SHADOW_TEMPLE_KEY_RING, ITEM_KEY_SMALL, - "You found a %pShadow Temple &%wKeyring!", + "You found a %pShadow Temple&%wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für den %pSchattentempel%w!", - "Vous obtenez un trousseau de&clés du %pTemple de l'Ombre%w!"), + "Vous obtenez le trousseau de&clés du %pTemple de l'Ombre%w!"), GIMESSAGE(RG_BOTTOM_OF_THE_WELL_KEY_RING, ITEM_KEY_SMALL, - "You found a %pBottom of the &Well %wKeyring!", + "You found a %pBottom of the&Well %wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für den %pGrund des Brunnens%w!", - "Vous obtenez un trousseau de&clés du %pPuits%w!"), + "Vous obtenez le trousseau de&clés du %pPuits%w!"), GIMESSAGE(RG_GERUDO_TRAINING_GROUND_KEY_RING, ITEM_KEY_SMALL, - "You found a %yGerudo Training &Grounds %wKeyring!", + "You found a %yGerudo Training&Grounds %wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für die %yGerudo-Trainingsarena%w!", - "Vous obtenez un trousseau de&clés du %yGymnase Gerudo%w!"), + "Vous obtenez le trousseau de&clés du %yGymnase Gerudo%w!"), GIMESSAGE(RG_GANONS_CASTLE_KEY_RING, ITEM_KEY_SMALL, - "You found a %rGanon's Castle &%wKeyring!", + "You found a %rGanon's Castle&%wKeyring!", "Du erhältst ein %rSchlüsselbund%w&für %rGanons Schloß%w!", - "Vous obtenez un trousseau de&clés du %rChâteau de Ganon%w!"), + "Vous obtenez le trousseau de&clés du %rChâteau de Ganon%w!"), GIMESSAGE(RG_TREASURE_GAME_KEY_RING, ITEM_KEY_SMALL, - "You found a %rTreasure Chest Game &%wKeyring!", + "You found a %rTreasure Chest Game&%wKeyring!", "!!!", - "!!!"), + "Vous obtenez le trousseau de&clés du %rJeu de la Chasse au Trésor%w!"), GIMESSAGE(RG_FOREST_TEMPLE_BOSS_KEY, ITEM_KEY_BOSS, - "You found the %gForest Temple &%wBoss Key!", + "You found the %gForest Temple&%wBoss Key!", "Du erhältst den %rMaster-Schlüssel%w&für den %gWaldtempel%w!", "Vous obtenez la %rClé d'or %wdu&%gTemple de la Forêt%w!"), GIMESSAGE(RG_FIRE_TEMPLE_BOSS_KEY, ITEM_KEY_BOSS, - "You found the %rFire Temple &%wBoss Key!", + "You found the %rFire Temple&%wBoss Key!", "Du erhältst den %rMaster-Schlüssel%w&für den %rFeuertempel%w!", "Vous obtenez la %rClé d'or %wdu&%rTemple du Feu%w!"), GIMESSAGE(RG_WATER_TEMPLE_BOSS_KEY, ITEM_KEY_BOSS, - "You found the %bWater Temple &%wBoss Key!", + "You found the %bWater Temple&%wBoss Key!", "Du erhältst den %rMaster-Schlüssel%w&für den %bWassertempel%w!", "Vous obtenez la %rClé d'or %wdu&%bTemple de l'Eau%w!"), GIMESSAGE(RG_SPIRIT_TEMPLE_BOSS_KEY, ITEM_KEY_BOSS, - "You found the %ySpirit Temple &%wBoss Key!", + "You found the %ySpirit Temple&%wBoss Key!", "Du erhältst den %rMaster-Schlüssel%w&für den %yGeistertempel%w!", "Vous obtenez la %rClé d'or %wdu&%yTemple de l'Esprit%w!"), GIMESSAGE(RG_SHADOW_TEMPLE_BOSS_KEY, ITEM_KEY_BOSS, - "You found the %pShadow Temple &%wBoss Key!", + "You found the %pShadow Temple&%wBoss Key!", "Du erhältst den %rMaster-Schlüssel%w&für den %pSchattentempel%w!", "Vous obtenez la %rClé d'or %wdu&%pTemple de l'Ombre%w!"), GIMESSAGE(RG_GANONS_CASTLE_BOSS_KEY, ITEM_KEY_BOSS, - "You found the %rGanon's Castle &%wBoss Key!", + "You found the %rGanon's Castle&%wBoss Key!", "Du erhältst den %rMaster-Schlüssel%w&für %rGanons Schloß%w!", "Vous obtenez la %rClé d'or %wdu&%rChâteau de Ganon%w!"), GIMESSAGE(RG_DEKU_TREE_MAP, ITEM_DUNGEON_MAP, - "You found the %gDeku Tree &%wMap![[typeHint]]", + "You found the %gDeku Tree&%wMap![[typeHint]]", "Du erhältst die %rKarte%w für den&%gDeku-Baum%w![[typeHint]]", "Vous obtenez la %rCarte %wde&l'%gArbre Mojo%w![[typeHint]]"), GIMESSAGE(RG_DODONGOS_CAVERN_MAP, ITEM_DUNGEON_MAP, - "You found the %rDodongo's Cavern &%wMap![[typeHint]]", + "You found the %rDodongo's Cavern&%wMap![[typeHint]]", "Du erhältst die %rKarte%w für&%rDodongos Höhle%w![[typeHint]]", "Vous obtenez la %rCarte %wde la&%rCaverne Dodongo%w![[typeHint]]"), GIMESSAGE(RG_JABU_JABUS_BELLY_MAP, ITEM_DUNGEON_MAP, - "You found the %bJabu Jabu's Belly &%wMap![[typeHint]]", + "You found the %bJabu Jabu's Belly&%wMap![[typeHint]]", "Du erhältst die %rKarte%w für&%bJabu-Jabus Bauch%w![[typeHint]]", - "Vous obtenez la %rCarte %wdu &%bVentre de Jabu-Jabu%w![[typeHint]]"), + "Vous obtenez la %rCarte %wdu&%bVentre de Jabu-Jabu%w![[typeHint]]"), GIMESSAGE(RG_FOREST_TEMPLE_MAP, ITEM_DUNGEON_MAP, - "You found the %gForest Temple &%wMap![[typeHint]]", + "You found the %gForest Temple&%wMap![[typeHint]]", "Du erhältst die %rKarte%w für den&%gWaldtempel%w![[typeHint]]", - "Vous obtenez la %rCarte %wdu &%gTemple de la Forêt%w![[typeHint]]"), + "Vous obtenez la %rCarte %wdu&%gTemple de la Forêt%w![[typeHint]]"), GIMESSAGE(RG_FIRE_TEMPLE_MAP, ITEM_DUNGEON_MAP, - "You found the %rFire Temple &%wMap![[typeHint]]", + "You found the %rFire Temple&%wMap![[typeHint]]", "Du erhältst die %rKarte%w für den&%rFeuertempel%w![[typeHint]]", - "Vous obtenez la %rCarte %wdu &%rTemple du Feu%w![[typeHint]]"), + "Vous obtenez la %rCarte %wdu&%rTemple du Feu%w![[typeHint]]"), GIMESSAGE(RG_WATER_TEMPLE_MAP, ITEM_DUNGEON_MAP, - "You found the %bWater Temple &%wMap![[typeHint]]", + "You found the %bWater Temple&%wMap![[typeHint]]", "Du erhältst die %rKarte%w für den&%bWassertempel%w![[typeHint]]", - "Vous obtenez la %rCarte %wdu &%bTemple de l'Eau%w![[typeHint]]"), + "Vous obtenez la %rCarte %wdu&%bTemple de l'Eau%w![[typeHint]]"), GIMESSAGE(RG_SPIRIT_TEMPLE_MAP, ITEM_DUNGEON_MAP, - "You found the %ySpirit Temple &%wMap![[typeHint]]", + "You found the %ySpirit Temple&%wMap![[typeHint]]", "Du erhältst die %rKarte%w für den&%yGeistertempel%w![[typeHint]]", - "Vous obtenez la %rCarte %wdu &%yTemple de l'Esprit%w![[typeHint]]"), + "Vous obtenez la %rCarte %wdu&%yTemple de l'Esprit%w![[typeHint]]"), GIMESSAGE(RG_SHADOW_TEMPLE_MAP, ITEM_DUNGEON_MAP, - "You found the %pShadow Temple &%wMap![[typeHint]]", + "You found the %pShadow Temple&%wMap![[typeHint]]", "Du erhältst die %rKarte%w für den&%pSchattentempel%w![[typeHint]]", - "Vous obtenez la %rCarte %wdu &%pTemple de l'Ombre%w![[typeHint]]"), + "Vous obtenez la %rCarte %wdu&%pTemple de l'Ombre%w![[typeHint]]"), GIMESSAGE(RG_BOTTOM_OF_THE_WELL_MAP, ITEM_DUNGEON_MAP, - "You found the %pBottom of the &Well %wMap![[typeHint]]", + "You found the %pBottom of the&Well %wMap![[typeHint]]", "Du erhältst die %rKarte%w für den&%pGrund des Brunnens%w![[typeHint]]", - "Vous obtenez la %rCarte %wdu &%pPuits%w![[typeHint]]"), + "Vous obtenez la %rCarte %wdu&%pPuits%w![[typeHint]]"), GIMESSAGE(RG_ICE_CAVERN_MAP, ITEM_DUNGEON_MAP, - "You found the %cIce Cavern &%wMap![[typeHint]]", + "You found the %cIce Cavern&%wMap![[typeHint]]", "Du erhältst die %rKarte%w für die&%cEishöhle%w![[typeHint]]", - "Vous obtenez la %rCarte %wde &la %cCaverne Polaire%w![[typeHint]]"), + "Vous obtenez la %rCarte %wde&la %cCaverne Polaire%w![[typeHint]]"), GIMESSAGE(RG_DEKU_TREE_COMPASS, ITEM_COMPASS, - "You found the %gDeku Tree &%wCompass!", + "You found the %gDeku Tree&%wCompass!", "Du erhältst den %rKompaß%w für den&%gDeku-Baum%w!", "Vous obtenez la %rBoussole %wde&l'%gArbre Mojo%w!"), GIMESSAGE(RG_DODONGOS_CAVERN_COMPASS, ITEM_COMPASS, - "You found the %rDodongo's Cavern &%wCompass!", + "You found the %rDodongo's Cavern&%wCompass!", "Du erhältst den %rKompaß%w für&%rDodongos Höhle%w!", "Vous obtenez la %rBoussole %wde la&%rCaverne Dodongo%w!"), GIMESSAGE(RG_JABU_JABUS_BELLY_COMPASS, ITEM_COMPASS, - "You found the %bJabu Jabu's Belly &%wCompass!", + "You found the %bJabu Jabu's Belly&%wCompass!", "Du erhältst den %rKompaß%w für den&%bJabu-Jabus Bauch%w!", - "Vous obtenez la %rBoussole %wdu &%bVentre de Jabu-Jabu%w!"), + "Vous obtenez la %rBoussole %wdu&%bVentre de Jabu-Jabu%w!"), GIMESSAGE(RG_FOREST_TEMPLE_COMPASS, ITEM_COMPASS, - "You found the %gForest Temple &%wCompass!", + "You found the %gForest Temple&%wCompass!", "Du erhältst den %rKompaß%w für den&%gWaldtempel%w!", - "Vous obtenez la %rBoussole %wdu &%gTemple de la Forêt%w!"), + "Vous obtenez la %rBoussole %wdu&%gTemple de la Forêt%w!"), GIMESSAGE(RG_FIRE_TEMPLE_COMPASS, ITEM_COMPASS, - "You found the %rFire Temple &%wCompass!", + "You found the %rFire Temple&%wCompass!", "Du erhältst den %rKompaß%w für den&%rFeuertempel%w!", - "Vous obtenez la %rBoussole %wdu &%rTemple du Feu%w!"), + "Vous obtenez la %rBoussole %wdu&%rTemple du Feu%w!"), GIMESSAGE(RG_WATER_TEMPLE_COMPASS, ITEM_COMPASS, - "You found the %bWater Temple &%wCompass!", + "You found the %bWater Temple&%wCompass!", "Du erhältst den %rKompaß%w für den&%bWassertempel%w!", - "Vous obtenez la %rBoussole %wdu &%bTemple de l'Eau%w!"), + "Vous obtenez la %rBoussole %wdu&%bTemple de l'Eau%w!"), GIMESSAGE(RG_SPIRIT_TEMPLE_COMPASS, ITEM_COMPASS, - "You found the %ySpirit Temple &%wCompass!", + "You found the %ySpirit Temple&%wCompass!", "Du erhältst den %rKompaß%w für den&%yGeistertempel%w!", - "Vous obtenez la %rBoussole %wdu &%yTemple de l'Esprit%w!"), + "Vous obtenez la %rBoussole %wdu&%yTemple de l'Esprit%w!"), GIMESSAGE(RG_SHADOW_TEMPLE_COMPASS, ITEM_COMPASS, - "You found the %pShadow Temple &%wCompass!", + "You found the %pShadow Temple&%wCompass!", "Du erhältst den %rKompaß%w für den&%pSchattentempel%w!", - "Vous obtenez la %rBoussole %wdu &%pTemple de l'Ombre%w!"), + "Vous obtenez la %rBoussole %wdu&%pTemple de l'Ombre%w!"), GIMESSAGE(RG_BOTTOM_OF_THE_WELL_COMPASS, ITEM_COMPASS, - "You found the %pBottom of the &Well %wCompass!", + "You found the %pBottom of the&Well %wCompass!", "Du erhältst den %rKompaß%w für den&%pGrund des Brunnens%w!", - "Vous obtenez la %rBoussole %wdu &%pPuits%w!"), + "Vous obtenez la %rBoussole %wdu&%pPuits%w!"), GIMESSAGE(RG_ICE_CAVERN_COMPASS, ITEM_COMPASS, - "You found the %cIce Cavern &%wCompass!", + "You found the %cIce Cavern&%wCompass!", "Du erhältst den %rKompaß%w für die&%cEishöhle%w!", - "Vous obtenez la %rBoussole %wde &la %cCaverne Polaire%w!"), + "Vous obtenez la %rBoussole %wde&la %cCaverne Polaire%w!"), GIMESSAGE(RG_MAGIC_BEAN_PACK, ITEM_BEAN, "You got a %rPack of Magic Beans%w!&Find a suitable spot for a garden&and plant them. Then, wait for&something fun to happen!", @@ -3739,7 +3735,7 @@ void Randomizer::CreateCustomMessages() { "Vous obtenez l'âme de %bBarinade%w!"), GIMESSAGE_NO_GERMAN(RG_PHANTOM_GANON_SOUL, ITEM_BIG_POE, "You found the soul for %gPhantom&Ganon%w!", - "Vous obtenez l'âme de %gGanon Spectral%w!"), + "Vous obtenez l'âme de %gGanon&Spectral%w!"), GIMESSAGE_NO_GERMAN(RG_VOLVAGIA_SOUL, ITEM_BIG_POE, "You found the soul for %rVolvagia%w!", "Vous obtenez l'âme de %rVulcania%w!"), @@ -3748,10 +3744,10 @@ void Randomizer::CreateCustomMessages() { "Vous obtenez l'âme de %bMorpha%w!"), GIMESSAGE_NO_GERMAN(RG_BONGO_BONGO_SOUL, ITEM_BIG_POE, "You found the soul for %pBongo&Bongo%w!", - "Vous obtenez l'âme de %pBongo Bongo%w!"), + "Vous obtenez l'âme de %pBongo&Bongo%w!"), GIMESSAGE_NO_GERMAN(RG_TWINROVA_SOUL, ITEM_BIG_POE, "You found the soul for %yTwinrova%w!", - "Vous obtenez l'âme du %yDuo Maléfique%w!"), + "Vous obtenez l'âme du %yDuo&Maléfique%w!"), GIMESSAGE_NO_GERMAN(RG_GANON_SOUL, ITEM_BIG_POE, "You found the soul for %cGanon%w!", "Vous obtenez l'âme de %cGanon%w!"), @@ -3759,66 +3755,66 @@ void Randomizer::CreateCustomMessages() { GIMESSAGE(RG_OCARINA_A_BUTTON, ITEM_OCARINA_TIME, "You got the %b\x9f%r button for the&Ocarina%w! You can now use it&while playing songs!", "Der %b\x9f%r Knopf%w!&Du kannst ihn nun zum Spielen&von Liedern auf der %rOkarina%w&verwenden!", - "Vous trouvez la %rtouche %b\x9f%r de&l'Ocarina%w! Vous pouvez&maintenant l'utiliser lorsque&vous en jouez!"), + "Vous obtenez la %rtouche %b\x9f%r de&l'Ocarina%w! Vous pouvez&maintenant l'utiliser lorsque&vous en jouez!"), GIMESSAGE(RG_OCARINA_C_LEFT_BUTTON, ITEM_OCARINA_TIME, "You got the %y\xa7%r button for the&Ocarina%w! You can now use it&while playing songs!", "Der %y\xa7%r Knopf%w!&Du kannst ihn nun zum Spielen&von Liedern auf der %rOkarina%w&verwenden!", - "Vous trouvez la %rtouche %y\xa7%r de&l'Ocarina%w! Vous pouvez&maintenant l'utiliser lorsque&vous en jouez!"), + "Vous obtenez la %rtouche %y\xa7%r de&l'Ocarina%w! Vous pouvez&maintenant l'utiliser lorsque&vous en jouez!"), GIMESSAGE(RG_OCARINA_C_RIGHT_BUTTON, ITEM_OCARINA_TIME, "You got the %y\xa8%r button for the&Ocarina%w! You can now use it&while playing songs!", "Der %y\xa8%r Knopf%w!&Du kannst ihn nun zum Spielen&von Liedern auf der %rOkarina%w&verwenden!", - "Vous trouvez la %rtouche %y\xa8%r de&l'Ocarina%w! Vous pouvez&maintenant l'utiliser lorsque&vous en jouez!"), + "Vous obtenez la %rtouche %y\xa8%r de&l'Ocarina%w! Vous pouvez&maintenant l'utiliser lorsque&vous en jouez!"), GIMESSAGE(RG_OCARINA_C_UP_BUTTON, ITEM_OCARINA_TIME, "You got the %y\xa5%r button for the&Ocarina%w! You can now use it&while playing songs!", "Der %y\xa5%r Knopf%w!&Du kannst ihn nun zum Spielen&von Liedern auf der %rOkarina%w&verwenden!", - "Vous trouvez la %rtouche %y\xa5%r de&l'Ocarina%w! Vous pouvez&maintenant l'utiliser lorsque&vous en jouez!"), + "Vous obtenez la %rtouche %y\xa5%r de&l'Ocarina%w! Vous pouvez&maintenant l'utiliser lorsque&vous en jouez!"), GIMESSAGE(RG_OCARINA_C_DOWN_BUTTON, ITEM_OCARINA_TIME, "You got the %y\xa6%r button for the&Ocarina%w! You can now use it&while playing songs!", "Der %y\xa6%r Knopf%w!&Du kannst ihn nun zum Spielen&von Liedern auf der %rOkarina%w&verwenden!", - "Vous trouvez la %rtouche %y\xa6%r de&l'Ocarina%w! Vous pouvez&maintenant l'utiliser lorsque&vous en jouez!"), + "Vous obtenez la %rtouche %y\xa6%r de&l'Ocarina%w! Vous pouvez&maintenant l'utiliser lorsque&vous en jouez!"), GIMESSAGE_NO_GERMAN(RG_BRONZE_SCALE, ITEM_SCALE_SILVER, "You got the %rBronze Scale%w!&The power of buoyancy is yours!", - "Vous avez obtenu l'%rÉcaille de Bronze%w!&Le pouvoir de la flottabilité est à vous!"), + "Vous obtenez l'%rÉcaille de Bronze%w!&Le pouvoir de la flottabilité est&à vous!"), GIMESSAGE_NO_GERMAN(RG_FISHING_POLE, ITEM_FISHING_POLE, "You found a lost %rFishing Pole%w!&Time to hit the pond!", - "Vous avez trouvé une %rCanne à pêche%w perdue!&Il est temps d'aller à l'étang!"), + "Vous obtenez une %rCanne à pêche%w&perdue!&Il est temps d'aller à %gl'étang%w!"), GIMESSAGE_NO_GERMAN(RG_BOMBCHU_BAG, ITEM_BOMBCHU, "You found the %rBombchu Bag%w!", - "!!!"), + "Vous obtenez un %rSac de Missiles&Teigneux%w!"), GIMESSAGE_NO_GERMAN(RG_BOMB_BAG_INF, ITEM_BOMB_BAG_40, "You got an %rInfinite Bomb Bag%w!&Now you have %yinfinite bombs%w!", - "Vous avez obtenu un %rSac à bombes à l'infini%w!&Vous avez maintenant des %ybombes à l'infini%w!"), + "Vous obtenez un %rSac de Bombes&sans fond%w!&Vous avez maintenant des %ybombes&en quantité illimitée%w!"), GIMESSAGE_NO_GERMAN(RG_QUIVER_INF, ITEM_QUIVER_50, "You got an %rInfinite Quiver%w!&Now you have %yinfinite arrows%w!", - "Vous avez obtenu un %rCarquois à l'infini%w!&Vous avez maintenant des %yflèches à l'infini%w!"), + "Vous obtenez un %rCarquois Infini%w!&Vous avez maintenant des %yflèches&de manière illimitée%w!"), GIMESSAGE_NO_GERMAN(RG_BULLET_BAG_INF, ITEM_BULLET_BAG_50, "You got an %rInfinite Bullet Bag%w!&Now you have %yinfinite&slingshot seeds%w!", - "Vous avez obtenu un %rSac de Graine à l'infini%w!&Vous avez maintenant des %ygraines de lance-pierres à l'infini%w!"), + "Vous obtenez un %rSac de Graines&sans fond%w!&Vous avez maintenant des %ygraines&de lance-pierres à l'infini%w!"), GIMESSAGE_NO_GERMAN(RG_STICK_UPGRADE_INF, ITEM_STICK, "You now have %yinfinite%w %rDeku Sticks%w!", - "Vous avez maintenant des %yBâtons Mojo à l'infini%w!"), + "Vous avez maintenant des %yBâtons&Mojo de manière illimitée%w!"), GIMESSAGE_NO_GERMAN(RG_NUT_UPGRADE_INF, ITEM_NUT, "You now have %yinfinite%w %rDeku Nuts%w!", - "Vous avez maintenant des %yNoix Mojo à l'infini%w!"), + "Vous avez maintenant des %yNoix&Mojo de manière illimitée%w!"), GIMESSAGE_NO_GERMAN(RG_MAGIC_INF, ITEM_MAGIC_LARGE, "You now have %yinfinite%w %rMagic%w!", - "Vous avez maintenant de la %ymagie à l'infini%w!"), + "Vous avez maintenant une quantité&de %ymagie illimitée%w!"), GIMESSAGE_NO_GERMAN(RG_BOMBCHU_INF, ITEM_BOMBCHU, "You now have %yinfinite%w %rBombchus%w!", - "Vous avez maintenant des %Missiles Teigneux à l'infini%w!"), + "Vous avez maintenant des %yMissiles&Teigneux en quantité illimités%w!"), GIMESSAGE_NO_GERMAN(RG_WALLET_INF, ITEM_WALLET_GIANT, "You now have %yinfinite%w %rmoney%w!", - "Vous avez maintenant de l'%yargent à l'infini%w!"), + "Vous avez maintenant des %yRubis en& quantité illimitée%w!"), GIMESSAGE_NO_GERMAN(RG_SKELETON_KEY, ITEM_KEY_SMALL, "You found the %rSkeleton Key%w!", "Vous avez trouvé la %rClé Squelette%w!"), GIMESSAGE_NO_GERMAN(RG_DEKU_STICK_BAG, ITEM_STICK, "You found the %rDeku Stick Bag%w!&You can now hold deku sticks!", - "Vous avez trouvé le %rSac de Bâtons Mojo%w!&Vous pouvez maintenant porter des Bâtons Mojo!"), + "Vous avez trouvé le %rSac de Bâtons&Mojo%w!&Vous pouvez maintenant porter des&Bâtons Mojo!"), GIMESSAGE_NO_GERMAN(RG_DEKU_NUT_BAG, ITEM_NUT, "You found the %rDeku Nut Bag%w!&You can now hold deku nuts!", - "Vous avez trouvé le %rSac de Noix Mojo%w!&Vous pouvez maintenant porter des Noix Mojo!"), + "Vous avez trouvé le %rSac de Noix& Mojo%w!&Vous pouvez maintenant porter des&Noix Mojo!"), }}; CreateGetItemMessages(&getItemMessages); CreateRupeeMessages();