mirror of
https://github.com/pret/pokeemerald.git
synced 2026-08-22 10:10:17 -05:00
(55/654) src/battle_message.c and adjustments to Makefile
This commit is contained in:
9
.github/workflows/build.yml
vendored
9
.github/workflows/build.yml
vendored
@@ -52,6 +52,15 @@ jobs:
|
||||
COMPARE: 0
|
||||
run: make -j${nproc} all
|
||||
|
||||
- name: French Compare
|
||||
run: make -j${nproc} compare_french
|
||||
|
||||
- name: French Modern
|
||||
env:
|
||||
MODERN: 1
|
||||
COMPARE: 0
|
||||
run: make -j${nproc} french
|
||||
|
||||
- name: Move symfiles
|
||||
if: ${{ github.event_name == 'push' }}
|
||||
run: |
|
||||
|
||||
52
Makefile
52
Makefile
@@ -45,6 +45,7 @@ TITLE := POKEMON EMER
|
||||
GAME_CODE := BPE
|
||||
MAKER_CODE := 01
|
||||
BUILD_NAME := emerald
|
||||
BUILD_SUFIX :=
|
||||
|
||||
ifeq (modern,$(MAKECMDGOALS))
|
||||
MODERN := 1
|
||||
@@ -52,22 +53,27 @@ endif
|
||||
|
||||
# Language
|
||||
ifeq ($(GAME_LANGUAGE), ENGLISH)
|
||||
BUILD_NAME := $(BUILD_NAME)
|
||||
GAME_CODE := $(GAME_CODE)E
|
||||
GAME_CODE := $(GAME_CODE)E
|
||||
else
|
||||
ifeq ($(GAME_LANGUAGE), FRENCH)
|
||||
BUILD_NAME := $(BUILD_NAME)_fr
|
||||
GAME_CODE := $(GAME_CODE)F
|
||||
BUILD_SUFIX := _fr
|
||||
else
|
||||
$(error unknown language $(GAME_LANGUAGE))
|
||||
endif
|
||||
endif
|
||||
|
||||
# Rom and build directory names.
|
||||
BUILD_NAME := $(BUILD_NAME)$(BUILD_SUFIX)
|
||||
ifeq ($(MODERN),0)
|
||||
ROM_NAME := poke$(BUILD_NAME).gba
|
||||
OBJ_DIR_NAME := build/$(BUILD_NAME)
|
||||
|
||||
ROM_NAME := poke$(BUILD_NAME).gba
|
||||
ELF_NAME := $(ROM_NAME:.gba=.elf)
|
||||
MAP_NAME := $(ROM_NAME:.gba=.map)
|
||||
else
|
||||
ROM_NAME := poke$(BUILD_NAME)_modern.gba
|
||||
OBJ_DIR_NAME := build/modern$(BUILD_SUFIX)
|
||||
endif
|
||||
ELF_NAME := $(ROM_NAME:.gba=.elf)
|
||||
MAP_NAME := $(ROM_NAME:.gba=.map)
|
||||
|
||||
# use arm-none-eabi-cpp for macOS
|
||||
# as macOS's default compiler is clang
|
||||
@@ -86,10 +92,6 @@ else
|
||||
CPP := $(PREFIX)cpp
|
||||
endif
|
||||
|
||||
MODERN_ROM_NAME := pokeemerald_modern.gba
|
||||
MODERN_ELF_NAME := $(MODERN_ROM_NAME:.gba=.elf)
|
||||
MODERN_MAP_NAME := $(MODERN_ROM_NAME:.gba=.map)
|
||||
MODERN_OBJ_DIR_NAME := build/modern
|
||||
|
||||
SHELL := /bin/bash -o pipefail
|
||||
|
||||
@@ -116,18 +118,17 @@ MID_BUILDDIR = $(OBJ_DIR)/$(MID_SUBDIR)
|
||||
|
||||
ASFLAGS := -mcpu=arm7tdmi --defsym MODERN=$(MODERN) --defsym $(GAME_LANGUAGE)=1
|
||||
|
||||
ROM := $(ROM_NAME)
|
||||
OBJ_DIR := $(OBJ_DIR_NAME)
|
||||
|
||||
ifeq ($(MODERN),0)
|
||||
CC1 := tools/agbcc/bin/agbcc$(EXE)
|
||||
override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm -g
|
||||
ROM := $(ROM_NAME)
|
||||
OBJ_DIR := $(OBJ_DIR_NAME)
|
||||
LIBPATH := -L ../../tools/agbcc/lib
|
||||
LIB := $(LIBPATH) -lgcc -lc -L../../libagbsyscall -lagbsyscall
|
||||
else
|
||||
CC1 = $(shell $(PATH_MODERNCC) --print-prog-name=cc1) -quiet
|
||||
override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast
|
||||
ROM := $(MODERN_ROM_NAME)
|
||||
OBJ_DIR := $(MODERN_OBJ_DIR_NAME)
|
||||
LIBPATH := -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libnosys.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libc.a))"
|
||||
LIB := $(LIBPATH) -lc -lnosys -lgcc -L../../libagbsyscall -lagbsyscall
|
||||
endif
|
||||
@@ -244,9 +245,6 @@ ifeq ($(COMPARE),1)
|
||||
@$(SHA1) $(BUILD_NAME).sha1
|
||||
endif
|
||||
|
||||
# For contributors to make sure a change didn't affect the contents of the ROM.
|
||||
compare: all
|
||||
|
||||
clean: mostlyclean clean-tools
|
||||
|
||||
clean-tools:
|
||||
@@ -443,13 +441,19 @@ $(ROM): $(ELF)
|
||||
$(OBJCOPY) -O binary $< $@
|
||||
$(FIX) $@ -p --silent
|
||||
|
||||
modern: all
|
||||
# "Friendly" target names for convenience sake
|
||||
en: ; @$(MAKE) GAME_LANGUAGE=ENGLISH
|
||||
fr: ; @$(MAKE) GAME_LANGUAGE=FRENCH
|
||||
|
||||
# "friendly" target names for convenience sake
|
||||
english: ; @$(MAKE) GAME_LANGUAGE=ENGLISH
|
||||
french: ; @$(MAKE) GAME_LANGUAGE=FRENCH
|
||||
compare_english: ; @$(MAKE) GAME_LANGUAGE=ENGLISH COMPARE=1
|
||||
compare_french: ; @$(MAKE) GAME_LANGUAGE=FRENCH COMPARE=1
|
||||
# For contributors to make sure a change didn't affect the contents of the ROMs.
|
||||
compare: ; @$(MAKE) GAME_LANGUAGE=ENGLISH COMPARE=1
|
||||
compare_en: ; @$(MAKE) GAME_LANGUAGE=ENGLISH COMPARE=1
|
||||
compare_fr: ; @$(MAKE) GAME_LANGUAGE=FRENCH COMPARE=1
|
||||
|
||||
# Use modern compilers to build rom. Will not match with original ROMs.
|
||||
modern: ; @$(MAKE) GAME_LANGUAGE=ENGLISH MODERN=1
|
||||
modern_en: ; @$(MAKE) GAME_LANGUAGE=ENGLISH MODERN=1
|
||||
modern_fr: ; @$(MAKE) GAME_LANGUAGE=FRENCH MODERN=1
|
||||
|
||||
libagbsyscall:
|
||||
@$(MAKE) -C libagbsyscall TOOLCHAIN=$(TOOLCHAIN) MODERN=$(MODERN)
|
||||
|
||||
@@ -272,11 +272,6 @@ extern const u8 gText_DefendersStatRose[];
|
||||
extern const u8 gText_PkmnGettingPumped[];
|
||||
extern const u8 gText_PkmnShroudedInMist[];
|
||||
extern const u8 gText_PkmnsXPreventsSwitching[];
|
||||
extern const u8 gText_TheGreatNewHope[];
|
||||
extern const u8 gText_WillChampionshipDreamComeTrue[];
|
||||
extern const u8 gText_AFormerChampion[];
|
||||
extern const u8 gText_ThePreviousChampion[];
|
||||
extern const u8 gText_TheUnbeatenChampion[];
|
||||
extern const u8 gText_PlayerMon1Name[];
|
||||
extern const u8 gText_Vs[];
|
||||
extern const u8 gText_OpponentMon1Name[];
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#define ENGLISH 1
|
||||
#endif
|
||||
|
||||
#ifdef ENGLISH
|
||||
#if ENGLISH
|
||||
#define UNITS_IMPERIAL
|
||||
#else
|
||||
#define UNITS_METRIC
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
#include "global.h"
|
||||
#if FRENCH
|
||||
#include "malloc.h"
|
||||
#endif
|
||||
#include "battle.h"
|
||||
#include "battle_anim.h"
|
||||
#include "battle_controllers.h"
|
||||
@@ -52,6 +55,7 @@ EWRAM_DATA struct BattleMsgData *gBattleMsgDataPtr = NULL;
|
||||
|
||||
// todo: make some of those names less vague: attacker/target vs pkmn, etc.
|
||||
|
||||
#if ENGLISH
|
||||
static const u8 sText_Trainer1LoseText[] = _("{B_TRAINER1_LOSE_TEXT}");
|
||||
static const u8 sText_PkmnGainedEXP[] = _("{B_BUFF1} gained{B_BUFF2}\n{B_BUFF3} EXP. Points!\p");
|
||||
static const u8 sText_EmptyString4[] = _("");
|
||||
@@ -337,7 +341,7 @@ static const u8 sText_MirrorMoveFailed[] = _("The MIRROR MOVE failed!");
|
||||
static const u8 sText_StartedToRain[] = _("It started to rain!");
|
||||
static const u8 sText_DownpourStarted[] = _("A downpour started!"); // corresponds to DownpourText in pokegold and pokecrystal and is used by Rain Dance in GSC
|
||||
static const u8 sText_RainContinues[] = _("Rain continues to fall.");
|
||||
static const u8 sText_DownpourContinues[] = _("The downpour continues."); // unused
|
||||
static const u8 sText_DownpourContinues[] = _("The downpour continues."); // Unused
|
||||
static const u8 sText_RainStopped[] = _("The rain stopped.");
|
||||
static const u8 sText_SandstormBrewed[] = _("A sandstorm brewed!");
|
||||
static const u8 sText_SandstormRages[] = _("The sandstorm rages.");
|
||||
@@ -430,6 +434,386 @@ static const u8 sText_SpAtk2[] = _("SP. ATK");
|
||||
static const u8 sText_SpDef2[] = _("SP. DEF");
|
||||
static const u8 sText_Accuracy[] = _("accuracy");
|
||||
static const u8 sText_Evasiveness[] = _("evasiveness");
|
||||
#elif FRENCH
|
||||
static const u8 sText_Trainer1LoseText[] = _("{B_TRAINER1_LOSE_TEXT}");
|
||||
static const u8 sText_PkmnGainedEXP[] = _("{B_BUFF1} a gagné{B_BUFF2}\n{B_BUFF3} points EXP.!\p");
|
||||
static const u8 sText_EmptyString4[] = _("");
|
||||
static const u8 sText_ABoosted[] = _(" un bonus de");
|
||||
static const u8 sText_PkmnGrewToLv[] = _("{B_BUFF1} monte au\nN. {B_BUFF2}!{WAIT_SE}\p");
|
||||
static const u8 sText_PkmnLearnedMove[] = _("{B_BUFF1} apprend\n{B_BUFF2}!{WAIT_SE}\p");
|
||||
static const u8 sText_TryToLearnMove1[] = _("{B_BUFF1} tente d’apprendre\n{B_BUFF2}.\p");
|
||||
static const u8 sText_TryToLearnMove2[] = _("Mais {B_BUFF1} ne peut pas\navoir plus de quatre capacités.\p");
|
||||
static const u8 sText_TryToLearnMove3[] = _("Effacer une ancienne\ncapacité pour {B_BUFF2}?");
|
||||
static const u8 sText_PkmnForgotMove[] = _("{B_BUFF1} oublie\n{B_BUFF2}.\p");
|
||||
static const u8 sText_StopLearningMove[] = _("{PAUSE 32}Arrêter d’apprendre\n{B_BUFF2}?");
|
||||
static const u8 sText_DidNotLearnMove[] = _("{B_BUFF1} n’a pas appris\n{B_BUFF2}.\p");
|
||||
static const u8 sText_UseNextPkmn[] = _("Utiliser un autre POKéMON?");
|
||||
static const u8 sText_AttackMissed[] = _("{B_ATK_NAME_WITH_PREFIX}\nrate son attaque!");
|
||||
static const u8 sText_PkmnProtectedItself[] = _("{B_DEF_NAME_WITH_PREFIX}\nse protège!");
|
||||
static const u8 sText_AvoidedDamage[] = _("{B_DEF_NAME_WITH_PREFIX} évite les\ndégâts avec {B_DEF_ABILITY}!");
|
||||
static const u8 sText_PkmnMakesGroundMiss[] = _("{B_DEF_NAME_WITH_PREFIX} fait échouer les\ncapacités SOL avec {B_DEF_ABILITY}!");
|
||||
static const u8 sText_PkmnAvoidedAttack[] = _("{B_DEF_NAME_WITH_PREFIX} évite\nl’attaque!");
|
||||
static const u8 sText_ItDoesntAffect[] = _("Ça n’affecte pas\n{B_DEF_NAME_WITH_PREFIX}…");
|
||||
static const u8 sText_AttackerFainted[] = _("{B_ATK_NAME_WITH_PREFIX}\nest K.O.!\p");
|
||||
static const u8 sText_TargetFainted[] = _("{B_DEF_NAME_WITH_PREFIX}\nest K.O.!\p");
|
||||
static const u8 sText_PlayerGotMoney[] = _("{B_PLAYER_NAME} remporte {B_BUFF1}¥!\p");
|
||||
static const u8 sText_PlayerWhiteout[] = _("{B_PLAYER_NAME} n’a plus de\nPOKéMON en forme!\p");
|
||||
static const u8 sText_PlayerWhiteout2[] = _("{B_PLAYER_NAME} est hors-jeu!{PAUSE_UNTIL_PRESS}");
|
||||
static const u8 sText_PreventsEscape[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} empêche la\nfuite avec {B_SCR_ACTIVE_ABILITY}!\p");
|
||||
static const u8 sText_CantEscape2[] = _("Fuite impossible!\p");
|
||||
static const u8 sText_AttackerCantEscape[] = _("{B_ATK_NAME_WITH_PREFIX} ne peut\npas fuir!");
|
||||
static const u8 sText_HitXTimes[] = _("Touché {B_BUFF1} fois!");
|
||||
static const u8 sText_PkmnFellAsleep[] = _("{B_EFF_NAME_WITH_PREFIX}\ns’endort!");
|
||||
static const u8 sText_PkmnMadeSleep[] = _("{B_SCR_ACTIVE_ABILITY} de {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nfait dormir {B_EFF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnAlreadyAsleep[] = _("{B_DEF_NAME_WITH_PREFIX} dort déjà!");
|
||||
static const u8 sText_PkmnAlreadyAsleep2[] = _("{B_ATK_NAME_WITH_PREFIX} dort déjà!");
|
||||
static const u8 sText_PkmnWasntAffected[] = _("{B_DEF_NAME_WITH_PREFIX} n’est pas \naffecté!");
|
||||
static const u8 sText_PkmnWasPoisoned[] = _("{B_EFF_NAME_WITH_PREFIX}\nest empoisonné!");
|
||||
static const u8 sText_PkmnPoisonedBy[] = _("{B_SCR_ACTIVE_ABILITY} de {B_SCR_ACTIVE_NAME_WITH_PREFIX}\na empoisonné {B_EFF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnHurtByPoison[] = _("{B_ATK_NAME_WITH_PREFIX}\nsouffre du poison!");
|
||||
static const u8 sText_PkmnAlreadyPoisoned[] = _("{B_DEF_NAME_WITH_PREFIX} est déjà\nempoisonné.");
|
||||
static const u8 sText_PkmnBadlyPoisoned[] = _("{B_EFF_NAME_WITH_PREFIX} est gravement\nempoisonné!");
|
||||
static const u8 sText_PkmnEnergyDrained[] = _("L’énergie du {B_DEF_NAME_WITH_PREFIX}\nest drainée!");
|
||||
static const u8 sText_PkmnWasBurned[] = _("{B_EFF_NAME_WITH_PREFIX} est brûlé!");
|
||||
static const u8 sText_PkmnBurnedBy[] = _("{B_SCR_ACTIVE_ABILITY} de\n{B_SCR_ACTIVE_NAME_WITH_PREFIX} brûle\l{B_EFF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnHurtByBurn[] = _("{B_ATK_NAME_WITH_PREFIX} souffre de\nsa brûlure!");
|
||||
static const u8 sText_PkmnAlreadyHasBurn[] = _("{B_DEF_NAME_WITH_PREFIX} est déjà\nbrûlé.");
|
||||
static const u8 sText_PkmnWasFrozen[] = _("{B_EFF_NAME_WITH_PREFIX} est gelé!");
|
||||
static const u8 sText_PkmnFrozenBy[] = _("{B_SCR_ACTIVE_ABILITY} de {B_SCR_ACTIVE_NAME_WITH_PREFIX}\ngèle {B_EFF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnIsFrozen[] = _("{B_ATK_NAME_WITH_PREFIX} est gelé!");
|
||||
static const u8 sText_PkmnWasDefrosted[] = _("{B_DEF_NAME_WITH_PREFIX} est dégelé!");
|
||||
static const u8 sText_PkmnWasDefrosted2[] = _("{B_ATK_NAME_WITH_PREFIX} est dégelé!");
|
||||
static const u8 sText_PkmnWasDefrostedBy[] = _("{B_ATK_NAME_WITH_PREFIX} est dégelé\npar {B_CURRENT_MOVE}!");
|
||||
static const u8 sText_PkmnWasParalyzed[] = _("{B_EFF_NAME_WITH_PREFIX} est paralysé!\nIl peut ne plus attaquer!");
|
||||
static const u8 sText_PkmnWasParalyzedBy[] = _("{B_SCR_ACTIVE_ABILITY} de {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nparalyse {B_EFF_NAME_WITH_PREFIX}!\lIl peut ne plus attaquer!");
|
||||
static const u8 sText_PkmnIsParalyzed[] = _("{B_ATK_NAME_WITH_PREFIX} est paralysé!\nIl ne peut plus attaquer!");
|
||||
static const u8 sText_PkmnIsAlreadyParalyzed[] = _("{B_DEF_NAME_WITH_PREFIX} est déjà\nparalysé!");
|
||||
static const u8 sText_PkmnHealedParalysis[] = _("{B_DEF_NAME_WITH_PREFIX} n’est plus\nparalysé!");
|
||||
static const u8 sText_PkmnDreamEaten[] = _("Le rêve de {B_DEF_NAME_WITH_PREFIX}\nest dévoré!");
|
||||
static const u8 sText_StatsWontIncrease[] = _("Ah, {B_BUFF1} de {B_ATK_NAME_WITH_PREFIX}\nn’ira pas plus haut!");
|
||||
static const u8 sText_StatsWontDecrease[] = _("Ah, {B_BUFF1} de {B_DEF_NAME_WITH_PREFIX}\nn’ira pas plus bas!");
|
||||
static const u8 sText_TeamStoppedWorking[] = _("{B_BUFF1} ne fonctionne\nplus dans votre équipe!");
|
||||
static const u8 sText_FoeStoppedWorking[] = _("{B_BUFF1} ne fonctionne\nplus dans l’équipe ennemie!");
|
||||
static const u8 sText_PkmnIsConfused[] = _("{B_ATK_NAME_WITH_PREFIX} est confus!");
|
||||
static const u8 sText_PkmnHealedConfusion[] = _("{B_ATK_NAME_WITH_PREFIX} n’est plus\nconfus!");
|
||||
static const u8 sText_PkmnWasConfused[] = _("Cela rend {B_EFF_NAME_WITH_PREFIX}\nconfus!");
|
||||
static const u8 sText_PkmnAlreadyConfused[] = _("{B_DEF_NAME_WITH_PREFIX} est\ndéjà confus!");
|
||||
static const u8 sText_PkmnFellInLove[] = _("{B_DEF_NAME_WITH_PREFIX} est amoureux!");
|
||||
static const u8 sText_PkmnInLove[] = _("{B_ATK_NAME_WITH_PREFIX} est amoureux\nde {B_SCR_ACTIVE_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnImmobilizedByLove[] = _("L’amour empêche {B_ATK_NAME_WITH_PREFIX}\nd’attaquer!");
|
||||
static const u8 sText_PkmnBlownAway[] = _("{B_DEF_NAME_WITH_PREFIX} est soufflé!");
|
||||
static const u8 sText_PkmnChangedType[] = _("{B_ATK_NAME_WITH_PREFIX} prend le\ntype {B_BUFF1}!");
|
||||
static const u8 sText_PkmnFlinched[] = _("{B_ATK_NAME_WITH_PREFIX} a la trouille!");
|
||||
static const u8 sText_PkmnRegainedHealth[] = _("{B_DEF_NAME_WITH_PREFIX} récupère\nson énergie!");
|
||||
static const u8 sText_PkmnHPFull[] = _("Les PV du {B_DEF_NAME_WITH_PREFIX} sont\nau maximum!");
|
||||
static const u8 sText_PkmnRaisedSpDef[] = _("{B_CURRENT_MOVE} du POKéMON {B_ATK_PREFIX2} \naugmente sa DEF. SPE.!");
|
||||
static const u8 sText_PkmnRaisedSpDefALittle[] = _("{B_CURRENT_MOVE} du POKéMON {B_ATK_PREFIX2} \naugmente un peu sa DEF. SPE.!");
|
||||
static const u8 sText_PkmnRaisedDef[] = _("{B_CURRENT_MOVE} du POKéMON {B_ATK_PREFIX2}\naugmente sa DEFENSE!");
|
||||
static const u8 sText_PkmnRaisedDefALittle[] = _("{B_CURRENT_MOVE} du POKéMON {B_ATK_PREFIX2}\naugmente un peu sa DEFENSE!");
|
||||
static const u8 sText_PkmnCoveredByVeil[] = _("L’équipe du POKéMON {B_ATK_PREFIX2} est\nrecouverte par un voile!");
|
||||
static const u8 sText_PkmnUsedSafeguard[] = _("L’équipe de {B_DEF_NAME_WITH_PREFIX} est\nprotégée par RUNE PROTECT!");
|
||||
static const u8 sText_PkmnSafeguardExpired[] = _("L’équipe du POKéMON {B_ATK_PREFIX3} n’est\nplus protégée par RUNE PROTECT!");
|
||||
static const u8 sText_PkmnWentToSleep[] = _("{B_ATK_NAME_WITH_PREFIX} s’endort!");
|
||||
static const u8 sText_PkmnSleptHealthy[] = _("{B_ATK_NAME_WITH_PREFIX} dort et\nrécupère son énergie!");
|
||||
static const u8 sText_PkmnWhippedWhirlwind[] = _("{B_ATK_NAME_WITH_PREFIX} déclenche un\ncyclone!");
|
||||
static const u8 sText_PkmnTookSunlight[] = _("{B_ATK_NAME_WITH_PREFIX} rayonne!");
|
||||
static const u8 sText_PkmnLoweredHead[] = _("{B_ATK_NAME_WITH_PREFIX} baisse la tête!");
|
||||
static const u8 sText_PkmnIsGlowing[] = _("{B_ATK_NAME_WITH_PREFIX} est entouré d’une\nlumière intense!");
|
||||
static const u8 sText_PkmnFlewHigh[] = _("{B_ATK_NAME_WITH_PREFIX} s’envole!");
|
||||
static const u8 sText_PkmnDugHole[] = _("{B_ATK_NAME_WITH_PREFIX} creuse un trou!");
|
||||
static const u8 sText_PkmnHidUnderwater[] = _("{B_ATK_NAME_WITH_PREFIX} se cache sous\nl’eau!");
|
||||
static const u8 sText_PkmnSprangUp[] = _("{B_ATK_NAME_WITH_PREFIX} bondit!");
|
||||
static const u8 sText_PkmnSqueezedByBind[] = _("{B_DEF_NAME_WITH_PREFIX} est pris dans\nl’ETREINTE du {B_ATK_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnTrappedInVortex[] = _("{B_DEF_NAME_WITH_PREFIX} est piégé dans\nle tourbillon!");
|
||||
static const u8 sText_PkmnTrappedBySandTomb[] = _("{B_DEF_NAME_WITH_PREFIX} est piégé par\nle TOURBI-SABLE!");
|
||||
static const u8 sText_PkmnWrappedBy[] = _("{B_DEF_NAME_WITH_PREFIX} est LIGOTE\npar {B_ATK_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnClamped[] = _("{B_DEF_NAME_WITH_PREFIX} est pris dans\nle CLAQUOIR du {B_ATK_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnHurtBy[] = _("{B_ATK_NAME_WITH_PREFIX} est blessé par\n{B_BUFF1}!");
|
||||
static const u8 sText_PkmnFreedFrom[] = _("{B_ATK_NAME_WITH_PREFIX} est libéré de\n{B_BUFF1}!");
|
||||
static const u8 sText_PkmnCrashed[] = _("{B_ATK_NAME_WITH_PREFIX} s’écrase au\nsol!");
|
||||
const u8 gText_PkmnShroudedInMist[] = _("Le POKéMON {B_ATK_PREFIX2} s’entoure de\nBRUME!");
|
||||
static const u8 sText_PkmnProtectedByMist[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} est protégé par\nla BRUME!");
|
||||
const u8 gText_PkmnGettingPumped[] = _("{B_ATK_NAME_WITH_PREFIX} se gonfle!");
|
||||
static const u8 sText_PkmnHitWithRecoil[] = _("{B_ATK_NAME_WITH_PREFIX} se blesse en\nfrappant!");
|
||||
static const u8 sText_PkmnProtectedItself2[] = _("{B_ATK_NAME_WITH_PREFIX} est prêt à\nse protéger!");
|
||||
static const u8 sText_PkmnBuffetedBySandstorm[] = _("{B_ATK_NAME_WITH_PREFIX} est secoué\npar la tempête de sable!");
|
||||
static const u8 sText_PkmnPeltedByHail[] = _("{B_ATK_NAME_WITH_PREFIX} est frappé par\nla GRELE!");
|
||||
static const u8 sText_PkmnsXWoreOff[] = _("{B_BUFF1} du POKéMON {B_ATK_PREFIX1} \nprend fin!");
|
||||
static const u8 sText_PkmnSeeded[] = _("{B_DEF_NAME_WITH_PREFIX} est infecté!");
|
||||
static const u8 sText_PkmnEvadedAttack[] = _("{B_DEF_NAME_WITH_PREFIX} évite l’attaque!");
|
||||
static const u8 sText_PkmnSappedByLeechSeed[] = _("VAMPIGRAINE draine\nl’énergie de {B_ATK_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnFastAsleep[] = _("{B_ATK_NAME_WITH_PREFIX} dort\nprofondément.");
|
||||
static const u8 sText_PkmnWokeUp[] = _("{B_ATK_NAME_WITH_PREFIX} se réveille!");
|
||||
static const u8 sText_PkmnUproarKeptAwake[] = _("Mais le BROUHAHA du\n{B_SCR_ACTIVE_NAME_WITH_PREFIX} le tient éveillé!");
|
||||
static const u8 sText_PkmnWokeUpInUproar[] = _("{B_ATK_NAME_WITH_PREFIX} est réveillé par\nle BROUHAHA!");
|
||||
static const u8 sText_PkmnCausedUproar[] = _("{B_ATK_NAME_WITH_PREFIX} provoque\nun BROUHAHA!");
|
||||
static const u8 sText_PkmnMakingUproar[] = _("{B_ATK_NAME_WITH_PREFIX} fait un\nBROUHAHA!");
|
||||
static const u8 sText_PkmnCalmedDown[] = _("{B_ATK_NAME_WITH_PREFIX} se calme.");
|
||||
static const u8 sText_PkmnCantSleepInUproar[] = _("Mais le BROUHAHA empêche\n{B_DEF_NAME_WITH_PREFIX} de dormir!");
|
||||
static const u8 sText_PkmnStockpiled[] = _("{B_ATK_NAME_WITH_PREFIX} utilise STOCKAGE\n{B_BUFF1} fois!");
|
||||
static const u8 sText_PkmnCantStockpile[] = _("{B_ATK_NAME_WITH_PREFIX} ne peut plus\nutiliser STOCKAGE!");
|
||||
static const u8 sText_PkmnCantSleepInUproar2[] = _("Mais le BROUHAHA empêche\n{B_DEF_NAME_WITH_PREFIX} de dormir!");
|
||||
static const u8 sText_UproarKeptPkmnAwake[] = _("Mais le BROUHAHA tient\n{B_DEF_NAME_WITH_PREFIX} éveillé!");
|
||||
static const u8 sText_PkmnStayedAwakeUsing[] = _("{B_DEF_NAME_WITH_PREFIX} reste éveillé\ngrâce à {B_DEF_ABILITY}!");
|
||||
static const u8 sText_PkmnStoringEnergy[] = _("{B_ATK_NAME_WITH_PREFIX} se concentre!");
|
||||
static const u8 sText_PkmnUnleashedEnergy[] = _("{B_ATK_NAME_WITH_PREFIX} envoie la sauce!");
|
||||
static const u8 sText_PkmnFatigueConfusion[] = _("La fatigue rend {B_ATK_NAME_WITH_PREFIX}\nconfus!");
|
||||
static const u8 sText_PlayerPickedUpMoney[] = _("{B_PLAYER_NAME} obtient {B_BUFF1}¥!\p");
|
||||
static const u8 sText_PkmnUnaffected[] = _("{B_DEF_NAME_WITH_PREFIX} n’est pas\naffecté!");
|
||||
static const u8 sText_PkmnTransformedInto[] = _("{B_ATK_NAME_WITH_PREFIX} se transforme\nen {B_BUFF1}!");
|
||||
static const u8 sText_PkmnMadeSubstitute[] = _("{B_ATK_NAME_WITH_PREFIX} crée un CLONE!");
|
||||
static const u8 sText_PkmnHasSubstitute[] = _("{B_ATK_NAME_WITH_PREFIX} a déjà un CLONE!");
|
||||
static const u8 sText_SubstituteDamaged[] = _("Le CLONE prend les\ndégâts du {B_DEF_NAME_WITH_PREFIX}!\p");
|
||||
static const u8 sText_PkmnSubstituteFaded[] = _("Le CLONE du {B_DEF_NAME_WITH_PREFIX}\ndisparaît!\p");
|
||||
static const u8 sText_PkmnMustRecharge[] = _("{B_ATK_NAME_WITH_PREFIX} doit\nse recharger!");
|
||||
static const u8 sText_PkmnRageBuilding[] = _("La FRENESIE du {B_DEF_NAME_WITH_PREFIX}\naugmente!");
|
||||
static const u8 sText_PkmnMoveWasDisabled[] = _("{B_BUFF1} du {B_DEF_NAME_WITH_PREFIX}\nest mis sous ENTRAVE!");
|
||||
static const u8 sText_PkmnMoveDisabledNoMore[] = _("{B_ATK_NAME_WITH_PREFIX} n’est plus\nsous ENTRAVE!");
|
||||
static const u8 sText_PkmnGotEncore[] = _("{B_DEF_NAME_WITH_PREFIX}, ENCORE\nune fois!");
|
||||
static const u8 sText_PkmnEncoreEnded[] = _("ENCORE du {B_ATK_NAME_WITH_PREFIX}\nest terminé!");
|
||||
static const u8 sText_PkmnTookAim[] = _("{B_ATK_NAME_WITH_PREFIX} vise\n{B_DEF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnSketchedMove[] = _("{B_ATK_NAME_WITH_PREFIX} GRIBOUILLE\n{B_BUFF1}!");
|
||||
static const u8 sText_PkmnTryingToTakeFoe[] = _("{B_ATK_NAME_WITH_PREFIX} veut emmener son\nennemi au tapis!");
|
||||
static const u8 sText_PkmnTookFoe[] = _("{B_DEF_NAME_WITH_PREFIX} emmène\n{B_ATK_NAME_WITH_PREFIX} au tapis!");
|
||||
static const u8 sText_PkmnReducedPP[] = _("{B_BUFF1} du {B_DEF_NAME_WITH_PREFIX}\nbaisse de {B_BUFF2}!");
|
||||
static const u8 sText_PkmnStoleItem[] = _("{B_ATK_NAME_WITH_PREFIX} vole\n{B_LAST_ITEM} au\l{B_DEF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_TargetCantEscapeNow[] = _("{B_DEF_NAME_WITH_PREFIX} ne peut pas\ns’échapper!");
|
||||
static const u8 sText_PkmnFellIntoNightmare[] = _("{B_DEF_NAME_WITH_PREFIX} commence un\nCAUCHEMAR!");
|
||||
static const u8 sText_PkmnLockedInNightmare[] = _("{B_ATK_NAME_WITH_PREFIX} est prisonnier\nd’un CAUCHEMAR!");
|
||||
static const u8 sText_PkmnLaidCurse[] = _("{B_ATK_NAME_WITH_PREFIX} sacrifie ses PV\net lance une MALEDICTION\lau {B_DEF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnAfflictedByCurse[] = _("{B_ATK_NAME_WITH_PREFIX} est touché par\nla MALEDICTION!");
|
||||
static const u8 sText_SpikesScattered[] = _("Des PICOTS s’éparpillent autour\nde l’équipe de l’ennemi!");
|
||||
static const u8 sText_PkmnHurtBySpikes[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} est blessé par\nles PICOTS!");
|
||||
static const u8 sText_PkmnIdentified[] = _("{B_ATK_NAME_WITH_PREFIX} identifie\n{B_DEF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnPerishCountFell[] = _("Le compte du REQUIEM du\n{B_ATK_NAME_WITH_PREFIX} descend à {B_BUFF1}!");
|
||||
static const u8 sText_PkmnBracedItself[] = _("{B_ATK_NAME_WITH_PREFIX} rassemble ses \nforces!");
|
||||
static const u8 sText_PkmnEnduredHit[] = _("{B_DEF_NAME_WITH_PREFIX} est TENACE\nface au coup!");
|
||||
static const u8 sText_MagnitudeStrength[] = _("AMPLEUR {B_BUFF1}!");
|
||||
static const u8 sText_PkmnCutHPMaxedAttack[] = _("{B_ATK_NAME_WITH_PREFIX} sacrifie ses PV\net monte son ATTAQUE au max!");
|
||||
static const u8 sText_PkmnCopiedStatChanges[] = _("{B_ATK_NAME_WITH_PREFIX} copie les\nchangements\lde stats du {B_DEF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnGotFree[] = _("{B_ATK_NAME_WITH_PREFIX} se libère\nde {B_BUFF1}\ldu {B_DEF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnShedLeechSeed[] = _("{B_ATK_NAME_WITH_PREFIX} repousse\nVAMPIGRAINE!");
|
||||
static const u8 sText_PkmnBlewAwaySpikes[] = _("{B_ATK_NAME_WITH_PREFIX} repousse les\nPICOTS!");
|
||||
static const u8 sText_PkmnFledFromBattle[] = _("{B_ATK_NAME_WITH_PREFIX} s’enfuit!");
|
||||
static const u8 sText_PkmnForesawAttack[] = _("{B_ATK_NAME_WITH_PREFIX} prévoit une\nattaque!");
|
||||
static const u8 sText_PkmnTookAttack[] = _("{B_DEF_NAME_WITH_PREFIX} prend l’attaque\nde {B_BUFF1}!");
|
||||
static const u8 sText_PkmnChoseXAsDestiny[] = _("{B_ATK_NAME_WITH_PREFIX} prépare\n{B_CURRENT_MOVE}!");
|
||||
static const u8 sText_PkmnAttack[] = _("Attaque de {B_BUFF1}!");
|
||||
static const u8 sText_PkmnCenterAttention[] = _("{B_ATK_NAME_WITH_PREFIX} devient le centre\nd’attention!");
|
||||
static const u8 sText_PkmnChargingPower[] = _("{B_ATK_NAME_WITH_PREFIX} se met à\ncharger son énergie!");
|
||||
static const u8 sText_NaturePowerTurnedInto[] = _("FORCE-NATURE se transforme\nen {B_CURRENT_MOVE}!");
|
||||
static const u8 sText_PkmnStatusNormal[] = _("Le statut du {B_ATK_NAME_WITH_PREFIX}\nrevient à la normale!");
|
||||
static const u8 sText_PkmnSubjectedToTorment[] = _("{B_DEF_NAME_WITH_PREFIX} est victime de la\nTOURMENTE!");
|
||||
static const u8 sText_PkmnTighteningFocus[] = _("{B_ATK_NAME_WITH_PREFIX} se concentre\ndavantage!");
|
||||
static const u8 sText_PkmnFellForTaunt[] = _("{B_DEF_NAME_WITH_PREFIX} répond à\nla PROVOC!");
|
||||
static const u8 sText_PkmnReadyToHelp[] = _("{B_ATK_NAME_WITH_PREFIX} est prêt à aider\n{B_DEF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnSwitchedItems[] = _("{B_ATK_NAME_WITH_PREFIX} change d’objet\navec l’autre POKéMON!");
|
||||
static const u8 sText_PkmnObtainedX[] = _("{B_ATK_NAME_WITH_PREFIX} obtient\n{B_BUFF1}!");
|
||||
static const u8 sText_PkmnObtainedX2[] = _("{B_DEF_NAME_WITH_PREFIX} obtient\n{B_BUFF2}!");
|
||||
static const u8 sText_PkmnObtainedXYObtainedZ[] = _("{B_ATK_NAME_WITH_PREFIX} obtient\n{B_BUFF1}!\p{B_DEF_NAME_WITH_PREFIX} obtient\n{B_BUFF2}!");
|
||||
static const u8 sText_PkmnCopiedFoe[] = _("{B_ATK_NAME_WITH_PREFIX} copie\n{B_DEF_ABILITY}\ldu {B_DEF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnMadeWish[] = _("{B_ATK_NAME_WITH_PREFIX} fait un VOEU!");
|
||||
static const u8 sText_PkmnWishCameTrue[] = _("Le VOEU du {B_BUFF1}\nse réalise!");
|
||||
static const u8 sText_PkmnPlantedRoots[] = _("{B_ATK_NAME_WITH_PREFIX} plante ses\nracines!");
|
||||
static const u8 sText_PkmnAbsorbedNutrients[] = _("{B_ATK_NAME_WITH_PREFIX} absorbe des\nnutriments avec ses racines!");
|
||||
static const u8 sText_PkmnAnchoredItself[] = _("{B_DEF_NAME_WITH_PREFIX} s’accroche\navec ses racines!");
|
||||
static const u8 sText_PkmnWasMadeDrowsy[] = _("{B_ATK_NAME_WITH_PREFIX} rend\n{B_DEF_NAME_WITH_PREFIX} somnolent!");
|
||||
static const u8 sText_PkmnKnockedOff[] = _("{B_ATK_NAME_WITH_PREFIX} fait tomber\n{B_LAST_ITEM}\ldu {B_DEF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnSwappedAbilities[] = _("{B_ATK_NAME_WITH_PREFIX} et le POKéMON\néchangent leur capacité spéciale!");
|
||||
static const u8 sText_PkmnSealedOpponentMove[] = _("{B_ATK_NAME_WITH_PREFIX} bloque une ou\nplusieurs capacités de l’adversaire!");
|
||||
static const u8 sText_PkmnWantsGrudge[] = _("{B_ATK_NAME_WITH_PREFIX} veut que\nl’adversaire ait de la RANCUNE!");
|
||||
static const u8 sText_PkmnLostPPGrudge[] = _("{B_BUFF1} du {B_ATK_NAME_WITH_PREFIX}\nperd ses PP à cause de la RANCUNE!");
|
||||
static const u8 sText_PkmnShroudedItself[] = _("{B_ATK_NAME_WITH_PREFIX} s’entoure\nde {B_CURRENT_MOVE}!");
|
||||
static const u8 sText_PkmnMoveBounced[] = _("{B_CURRENT_MOVE} du {B_ATK_NAME_WITH_PREFIX}\nest renvoyé par le REFLET MAGIK!");
|
||||
static const u8 sText_PkmnWaitsForTarget[] = _("{B_ATK_NAME_WITH_PREFIX} attend que son\nennemi attaque!");
|
||||
static const u8 sText_PkmnSnatchedMove[] = _("{B_DEF_NAME_WITH_PREFIX} utilise SAISIE\nsur la capacité du\l{B_SCR_ACTIVE_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_ElectricityWeakened[] = _("La puissance de l’électricité\nest affaiblie!");
|
||||
static const u8 sText_FireWeakened[] = _("La puissance du feu\nest affaiblie!");
|
||||
static const u8 sText_XFoundOneY[] = _("{B_ATK_NAME_WITH_PREFIX} trouve\n{B_LAST_ITEM}!");
|
||||
static const u8 sText_SoothingAroma[] = _("Une odeur apaisante\nflotte dans les airs!");
|
||||
static const u8 sText_ItemsCantBeUsedNow[] = _("Objets inutilisables\nici.{PAUSE 64}");
|
||||
static const u8 sText_ForXCommaYZ[] = _("Pour {B_SCR_ACTIVE_NAME_WITH_PREFIX},\n{B_LAST_ITEM} {B_BUFF1}");
|
||||
static const u8 sText_PkmnUsedXToGetPumped[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} est plein\nd’énergie grâce à {B_LAST_ITEM}!");
|
||||
static const u8 sText_PkmnLostFocus[] = _("{B_ATK_NAME_WITH_PREFIX} est déconcentré\net ne peut pas attaquer!");
|
||||
static const u8 sText_PkmnWasDraggedOut[] = _("{B_DEF_NAME_WITH_PREFIX} est traîné de\nforce au combat!\p");
|
||||
static const u8 sText_TheWallShattered[] = _("Le mur vole en éclats!");
|
||||
static const u8 sText_ButNoEffect[] = _("Mais ça n’a aucun effet!");
|
||||
static const u8 sText_PkmnHasNoMovesLeft[] = _("{B_ACTIVE_NAME_WITH_PREFIX} n’a plus\nde capacités!\p");
|
||||
static const u8 sText_PkmnMoveIsDisabled[] = _("Il y a une ENTRAVE sur {B_CURRENT_MOVE}\ndu {B_ACTIVE_NAME_WITH_PREFIX}!\p");
|
||||
static const u8 sText_PkmnCantUseMoveTorment[] = _("La TOURMENTE empêche\n{B_ACTIVE_NAME_WITH_PREFIX} d’utiliser une\lcapacité deux fois de suite!\p");
|
||||
static const u8 sText_PkmnCantUseMoveTaunt[] = _("{B_ACTIVE_NAME_WITH_PREFIX} ne peut pas\nutiliser {B_CURRENT_MOVE} après PROVOC!\p");
|
||||
static const u8 sText_PkmnCantUseMoveSealed[] = _("{B_ACTIVE_NAME_WITH_PREFIX} ne peut pas\nutiliser {B_CURRENT_MOVE} bloqué!\p");
|
||||
static const u8 sText_PkmnMadeItRain[] = _("{B_SCR_ACTIVE_ABILITY} du\n{B_SCR_ACTIVE_NAME_WITH_PREFIX} fait tomber\lla pluie!");
|
||||
static const u8 sText_PkmnRaisedSpeed[] = _("{B_SCR_ACTIVE_ABILITY} de {B_SCR_ACTIVE_NAME_WITH_PREFIX}\naugmente sa VITESSE!");
|
||||
static const u8 sText_PkmnProtectedBy[] = _("{B_DEF_NAME_WITH_PREFIX} est protégé\npar {B_DEF_ABILITY}!");
|
||||
static const u8 sText_PkmnPreventsUsage[] = _("{B_DEF_ABILITY} de\n{B_DEF_NAME_WITH_PREFIX} \pempêche {B_ATK_NAME_WITH_PREFIX}\nd’utiliser {B_CURRENT_MOVE}!");
|
||||
static const u8 sText_PkmnRestoredHPUsing[] = _("{B_DEF_NAME_WITH_PREFIX} restaure ses PV\ngrâce à {B_DEF_ABILITY}!");
|
||||
static const u8 sText_PkmnsXMadeYUseless[] = _("{B_DEF_ABILITY} du {B_DEF_NAME_WITH_PREFIX}\nrend {B_CURRENT_MOVE} inutile!");
|
||||
static const u8 sText_PkmnChangedTypeWith[] = _("{B_DEF_ABILITY} du {B_DEF_NAME_WITH_PREFIX}\nle transforme en type {B_BUFF1}!");
|
||||
static const u8 sText_PkmnPreventsParalysisWith[] = _("{B_DEF_ABILITY} du {B_EFF_NAME_WITH_PREFIX}\nempêche la paralysie!");
|
||||
static const u8 sText_PkmnPreventsRomanceWith[] = _("{B_DEF_ABILITY} du {B_DEF_NAME_WITH_PREFIX}\nempêche la romance!");
|
||||
static const u8 sText_PkmnPreventsPoisoningWith[] = _("{B_DEF_ABILITY} du {B_EFF_NAME_WITH_PREFIX}\nempêche l’empoisonnement!");
|
||||
static const u8 sText_PkmnPreventsConfusionWith[] = _("{B_DEF_ABILITY} du {B_DEF_NAME_WITH_PREFIX}\nempêche la confusion!");
|
||||
static const u8 sText_PkmnRaisedFirePowerWith[] = _("{B_DEF_ABILITY} du {B_DEF_NAME_WITH_PREFIX}\naugmente sa puissance de FEU!");
|
||||
static const u8 sText_PkmnAnchorsItselfWith[] = _("{B_DEF_NAME_WITH_PREFIX} s’accroche\navec {B_DEF_ABILITY}!");
|
||||
static const u8 sText_PkmnCutsAttackWith[] = _("{B_SCR_ACTIVE_ABILITY} du\n{B_SCR_ACTIVE_NAME_WITH_PREFIX} réduit\ll’ATTAQUE du {B_DEF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnPreventsStatLossWith[] = _("{B_SCR_ACTIVE_ABILITY} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nempêche la perte de stats!");
|
||||
static const u8 sText_PkmnHurtsWith[] = _("{B_DEF_ABILITY} du {B_DEF_NAME_WITH_PREFIX}\nblesse {B_ATK_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnTraced[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} CALQUE\n{B_BUFF2} du\l{B_BUFF1}!");
|
||||
static const u8 sText_PkmnsXPreventsBurns[] = _("{B_EFF_ABILITY} du {B_EFF_NAME_WITH_PREFIX}\nempêche les brûlures!");
|
||||
static const u8 sText_PkmnsXBlocksY[] = _("{B_DEF_ABILITY} du {B_DEF_NAME_WITH_PREFIX}\nbloque {B_CURRENT_MOVE}!");
|
||||
static const u8 sText_PkmnsXBlocksY2[] = _("{B_SCR_ACTIVE_ABILITY} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nbloque {B_CURRENT_MOVE}!");
|
||||
static const u8 sText_PkmnsXRestoredHPALittle2[] = _("{B_ATK_ABILITY} du {B_ATK_NAME_WITH_PREFIX}\nrestaure un peu ses PV!");
|
||||
static const u8 sText_PkmnsXWhippedUpSandstorm[] = _("{B_SCR_ACTIVE_ABILITY} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nprovoque une tempête de sable!");
|
||||
static const u8 sText_PkmnsXIntensifiedSun[] = _("{B_SCR_ACTIVE_ABILITY} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nintensifie les rayons du soleil!");
|
||||
static const u8 sText_PkmnsXPreventsYLoss[] = _("{B_SCR_ACTIVE_ABILITY} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nempêche {B_BUFF1} de baisser!");
|
||||
static const u8 sText_PkmnsXInfatuatedY[] = _("{B_DEF_ABILITY} du {B_DEF_NAME_WITH_PREFIX}\nrend {B_ATK_NAME_WITH_PREFIX} amoureux!");
|
||||
static const u8 sText_PkmnsXMadeYIneffective[] = _("{B_DEF_ABILITY} du {B_DEF_NAME_WITH_PREFIX}\nrend {B_CURRENT_MOVE} inefficace!");
|
||||
static const u8 sText_PkmnsXCuredYProblem[] = _("{B_SCR_ACTIVE_ABILITY} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nguérit son problème de {B_BUFF1}!");
|
||||
static const u8 sText_ItSuckedLiquidOoze[] = _("Il aspire le\nSUINTEMENT!");
|
||||
static const u8 sText_PkmnTransformed[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} se transforme!");
|
||||
static const u8 sText_PkmnsXTookAttack[] = _("{B_DEF_ABILITY} du {B_DEF_NAME_WITH_PREFIX}\nreçoit l’attaque!");
|
||||
const u8 gText_PkmnsXPreventsSwitching[] = _("{B_LAST_ABILITY} du {B_BUFF1}\nempêche l’échange!\p");
|
||||
static const u8 sText_PreventedFromWorking[] = _("{B_DEF_ABILITY} du {B_DEF_NAME_WITH_PREFIX}\nempêche {B_BUFF1} du\l{B_SCR_ACTIVE_NAME_WITH_PREFIX} de fonctionner!");
|
||||
static const u8 sText_PkmnsXMadeItIneffective[] = _("{B_SCR_ACTIVE_ABILITY} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nle rend inefficace!");
|
||||
static const u8 sText_PkmnsXPreventsFlinching[] = _("{B_EFF_ABILITY} du {B_EFF_NAME_WITH_PREFIX}\nempêche la peur!");
|
||||
static const u8 sText_PkmnsXPreventsYsZ[] = _("{B_ATK_ABILITY} du {B_ATK_NAME_WITH_PREFIX}\nempêche {B_DEF_ABILITY} du\l{B_DEF_NAME_WITH_PREFIX} de fonctionner!");
|
||||
static const u8 sText_PkmnsXCuredItsYProblem[] = _("{B_SCR_ACTIVE_ABILITY} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nguérit son problème de {B_BUFF1}!");
|
||||
static const u8 sText_PkmnsXHadNoEffectOnY[] = _("{B_SCR_ACTIVE_ABILITY} du\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}\pest inefficace sur\n{B_EFF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_StatSharply[] = _("monte beaucoup!");
|
||||
const u8 gText_StatRose[] = _("augmente!");
|
||||
static const u8 sText_StatHarshly[] = _("baisse beaucoup!");
|
||||
static const u8 sText_StatFell[] = _("baisse!");
|
||||
static const u8 sText_AttackersStatRose[] = _("Ah, {B_BUFF1} du {B_ATK_NAME_WITH_PREFIX}\n{B_BUFF2}");
|
||||
const u8 gText_DefendersStatRose[] = _("Ah, {B_BUFF1} du {B_DEF_NAME_WITH_PREFIX}\n{B_BUFF2}");
|
||||
static const u8 sText_UsingItemTheStatOfPkmnRose[] = _("Avec {B_LAST_ITEM}, {B_BUFF1} du\n{B_SCR_ACTIVE_NAME_WITH_PREFIX} {B_BUFF2}");
|
||||
static const u8 sText_AttackersStatFell[] = _("{B_BUFF1} du {B_ATK_NAME_WITH_PREFIX}\n{B_BUFF2}");
|
||||
static const u8 sText_DefendersStatFell[] = _("Ah, {B_BUFF1} du {B_DEF_NAME_WITH_PREFIX}\n{B_BUFF2}");
|
||||
static const u8 sText_StatsWontIncrease2[] = _("Les stats du {B_ATK_NAME_WITH_PREFIX}\nn’iront pas plus haut!");
|
||||
static const u8 sText_StatsWontDecrease2[] = _("Les stats du {B_DEF_NAME_WITH_PREFIX}\nn’iront pas plus bas!");
|
||||
static const u8 sText_CriticalHit[] = _("Coup critique!");
|
||||
static const u8 sText_OneHitKO[] = _("K.O. en un coup!");
|
||||
static const u8 sText_123Poof[] = _("{PAUSE 32}1, {PAUSE 15}2 et{PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE SE_BALL_BOUNCE_1}Tadaa!\p");
|
||||
static const u8 sText_AndEllipsis[] = _("Et…\p");
|
||||
static const u8 sText_HMMovesCantBeForgotten[] = _("Impossible d’oublier les\ncapacités CS maintenant.\p");
|
||||
static const u8 sText_NotVeryEffective[] = _("Ce n’est pas très efficace…");
|
||||
static const u8 sText_SuperEffective[] = _("C’est super efficace!");
|
||||
static const u8 sText_GotAwaySafely[] = _("{PLAY_SE SE_FLEE}Vous prenez la fuite!\p");
|
||||
static const u8 sText_PkmnFledUsingIts[] = _("{PLAY_SE SE_FLEE}{B_ATK_NAME_WITH_PREFIX} fuit en\nutilisant {B_LAST_ITEM}!\p");
|
||||
static const u8 sText_PkmnFledUsing[] = _("{PLAY_SE SE_FLEE}{B_ATK_NAME_WITH_PREFIX} fuit en\nutilisant {B_ATK_ABILITY}!\p");
|
||||
static const u8 sText_WildPkmnFled[] = _("{PLAY_SE SE_FLEE}{B_BUFF1} sauvage fuit!");
|
||||
static const u8 sText_PlayerDefeatedLinkTrainer[] = _("{B_LINK_OPPONENT1_NAME} a perdu!");
|
||||
static const u8 sText_TwoLinkTrainersDefeated[] = _("{B_LINK_OPPONENT2_NAME} et {B_LINK_OPPONENT1_NAME}\nont perdu!");
|
||||
static const u8 sText_PlayerLostAgainstLinkTrainer[] = _("{B_LINK_OPPONENT1_NAME} a gagné!");
|
||||
static const u8 sText_PlayerLostToTwo[] = _("{B_LINK_OPPONENT2_NAME} et {B_LINK_OPPONENT1_NAME}\nont gagné!");
|
||||
static const u8 sText_PlayerBattledToDrawLinkTrainer[] = _("Egalité avec \n{B_LINK_OPPONENT1_NAME}!");
|
||||
static const u8 sText_PlayerBattledToDrawVsTwo[] = _("Egalité avec\n{B_LINK_OPPONENT2_NAME} et {B_LINK_OPPONENT1_NAME}!");
|
||||
static const u8 sText_WildFled[] = _("{PLAY_SE SE_FLEE}{B_LINK_OPPONENT1_NAME} s’enfuit!");
|
||||
static const u8 sText_TwoWildFled[] = _("{PLAY_SE SE_FLEE}{B_LINK_OPPONENT1_NAME} et\n{B_LINK_OPPONENT2_NAME} s’enfuient!");
|
||||
static const u8 sText_NoRunningFromTrainers[] = _("On ne s’enfuit pas d’un\ncombat de DRESSEURS!\p");
|
||||
static const u8 sText_CantEscape[] = _("Fuite impossible!\p");
|
||||
static const u8 sText_DontLeaveBirch[] = _("PROF. SEKO: Ne me laisse pas\ncomme ça!\p");
|
||||
static const u8 sText_ButNothingHappened[] = _("Mais rien ne se passe!");
|
||||
static const u8 sText_ButItFailed[] = _("Mais cela échoue!");
|
||||
static const u8 sText_ItHurtConfusion[] = _("Il se blesse dans sa\nconfusion.");
|
||||
static const u8 sText_MirrorMoveFailed[] = _("La MIMIQUE échoue!");
|
||||
static const u8 sText_StartedToRain[] = _("Il commence à pleuvoir!");
|
||||
static const u8 sText_DownpourStarted[] = _("Une pluie torrentielle commence!");
|
||||
static const u8 sText_RainContinues[] = _("La pluie continue de tomber.");
|
||||
static const u8 sText_DownpourContinues[] = _("La pluie torrentielle continue."); // Unused
|
||||
static const u8 sText_RainStopped[] = _("La pluie s’est arrêtée.");
|
||||
static const u8 sText_SandstormBrewed[] = _("Une tempête de sable\nse prépare!");
|
||||
static const u8 sText_SandstormRages[] = _("La tempête de sable\nfait rage.");
|
||||
static const u8 sText_SandstormSubsided[] = _("La tempête de sable\nse calme.");
|
||||
static const u8 sText_SunlightGotBright[] = _("Les rayons du soleil brillent!");
|
||||
static const u8 sText_SunlightStrong[] = _("Les rayons du soleil sont forts.");
|
||||
static const u8 sText_SunlightFaded[] = _("Les rayons du soleil s’affaiblissent.");
|
||||
static const u8 sText_StartedHail[] = _("Il commence à grêler!");
|
||||
static const u8 sText_HailContinues[] = _("La grêle continue.");
|
||||
static const u8 sText_HailStopped[] = _("La grêle s’est arrêtée.");
|
||||
static const u8 sText_FailedToSpitUp[] = _("Mais la RELACHE a échoué!");
|
||||
static const u8 sText_FailedToSwallow[] = _("Mais AVALE a échoué!");
|
||||
static const u8 sText_WindBecameHeatWave[] = _("Le vent se transforme\nen CANICULE!");
|
||||
static const u8 sText_StatChangesGone[] = _("Les changements de stats\nont tous été annulés!");
|
||||
static const u8 sText_CoinsScattered[] = _("Une pluie de pièces!");
|
||||
static const u8 sText_TooWeakForSubstitute[] = _("Trop faible pour créer\nun CLONE!");
|
||||
static const u8 sText_SharedPain[] = _("Les adversaires se partagent\nles dégâts!");
|
||||
static const u8 sText_BellChimed[] = _("Un GRELOT sonne!");
|
||||
static const u8 sText_FaintInThree[] = _("Les POKéMON au combat seront\nK.O. dans 3 tours!");
|
||||
static const u8 sText_NoPPLeft[] = _("Il n’y a plus de PP pour\ncette capacité!\p");
|
||||
static const u8 sText_ButNoPPLeft[] = _("Mais il n’y a plus de PP pour\ncette capacité!");
|
||||
static const u8 sText_PkmnIgnoresAsleep[] = _("{B_ATK_NAME_WITH_PREFIX} ignore les ordres\net pionce!");
|
||||
static const u8 sText_PkmnIgnoredOrders[] = _("{B_ATK_NAME_WITH_PREFIX} ignore les\nordres!");
|
||||
static const u8 sText_PkmnBeganToNap[] = _("{B_ATK_NAME_WITH_PREFIX} fait la sieste!");
|
||||
static const u8 sText_PkmnLoafing[] = _("{B_ATK_NAME_WITH_PREFIX} paresse!");
|
||||
static const u8 sText_PkmnWontObey[] = _("{B_ATK_NAME_WITH_PREFIX} n’obéit pas!");
|
||||
static const u8 sText_PkmnTurnedAway[] = _("{B_ATK_NAME_WITH_PREFIX} tourne le dos!");
|
||||
static const u8 sText_PkmnPretendNotNotice[] = _("{B_ATK_NAME_WITH_PREFIX} fait semblant de\nne rien remarquer!");
|
||||
static const u8 sText_EnemyAboutToSwitchPkmn[] = _("{B_BUFF2} va être envoyé par\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}.\pVoulez-vous changer\nde POKéMON?");
|
||||
static const u8 sText_PkmnLearnedMove2[] = _("{B_ATK_NAME_WITH_PREFIX} apprend\n{B_BUFF1}!");
|
||||
static const u8 sText_PlayerDefeatedLinkTrainerTrainer1[] = _("Vous avez battu\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!\p");
|
||||
static const u8 sText_CreptCloser[] = _("{B_PLAYER_NAME} se rapproche de\n{B_OPPONENT_MON1_NAME}!");
|
||||
static const u8 sText_CantGetCloser[] = _("{B_PLAYER_NAME} ne peut pas\ns’approcher plus!");
|
||||
static const u8 sText_PkmnWatchingCarefully[] = _("{B_OPPONENT_MON1_NAME} surveille\nattentivement!");
|
||||
static const u8 sText_PkmnCuriousAboutX[] = _("{B_OPPONENT_MON1_NAME} est intéressé par\n{B_BUFF1}!");
|
||||
static const u8 sText_PkmnEnthralledByX[] = _("{B_OPPONENT_MON1_NAME} est captivé par\n{B_BUFF1}!");
|
||||
static const u8 sText_PkmnIgnoredX[] = _("{B_OPPONENT_MON1_NAME} ignore complètement\n{B_BUFF1}!");
|
||||
static const u8 sText_ThrewPokeblockAtPkmn[] = _("{B_PLAYER_NAME} lance un {POKEBLOCK}\nà {B_OPPONENT_MON1_NAME}!");
|
||||
static const u8 sText_OutOfSafariBalls[] = _("{PLAY_SE SE_DING_DONG}ANNONCEUR: Vous n’avez plus de\nSAFARI BALLS! Perdu!\p");
|
||||
static const u8 sText_OpponentMon1Appeared[] = _("{B_OPPONENT_MON1_NAME} appeared!\p");
|
||||
static const u8 sText_WildPkmnAppeared[] = _("Un {B_OPPONENT_MON1_NAME} sauvage apparaît!\p");
|
||||
static const u8 sText_LegendaryPkmnAppeared[] = _("Un {B_OPPONENT_MON1_NAME} sauvage apparaît!\p");
|
||||
static const u8 sText_WildPkmnAppearedPause[] = _("Un {B_OPPONENT_MON1_NAME} sauvage apparaît!{PAUSE 127}");
|
||||
static const u8 sText_TwoWildPkmnAppeared[] = _("Un {B_OPPONENT_MON2_NAME} et un {B_OPPONENT_MON1_NAME}\nsauvages apparaissent!\p");
|
||||
static const u8 sText_Trainer1WantsToBattle[] = _("Un combat est lancé\npar {B_TRAINER1_CLASS} {B_TRAINER1_NAME}!\p");
|
||||
static const u8 sText_LinkTrainerWantsToBattle[] = _("{B_LINK_OPPONENT1_NAME}\nveut se battre!");
|
||||
static const u8 sText_TwoLinkTrainersWantToBattle[] = _("{B_LINK_OPPONENT1_NAME} et {B_LINK_OPPONENT2_NAME}\nveulent se battre!");
|
||||
static const u8 sText_Trainer1SentOutPkmn[] = _("{B_OPPONENT_MON1_NAME} est envoyé par\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!");
|
||||
static const u8 sText_Trainer1SentOutTwoPkmn[] = _("{B_OPPONENT_MON1_NAME} et {B_OPPONENT_MON2_NAME} sont\nenvoyés par\l{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!");
|
||||
static const u8 sText_Trainer1SentOutPkmn2[] = _("{B_BUFF1} est envoyé par\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!");
|
||||
static const u8 sText_LinkTrainerSentOutPkmn[] = _("{B_LINK_OPPONENT1_NAME} envoie\n{B_OPPONENT_MON1_NAME}!");
|
||||
static const u8 sText_LinkTrainerSentOutTwoPkmn[] = _("{B_LINK_OPPONENT1_NAME} envoie\n{B_OPPONENT_MON1_NAME} et {B_OPPONENT_MON2_NAME}!");
|
||||
static const u8 sText_TwoLinkTrainersSentOutPkmn[] = _("{B_LINK_OPPONENT1_NAME} envoie\n{B_LINK_OPPONENT_MON1_NAME}!\p{B_LINK_OPPONENT2_NAME} envoie\n{B_LINK_OPPONENT_MON2_NAME}!");
|
||||
static const u8 sText_LinkTrainerSentOutPkmn2[] = _("{B_LINK_OPPONENT1_NAME} envoie\n{B_BUFF1}!");
|
||||
static const u8 sText_LinkTrainerMultiSentOutPkmn[] = _("{B_LINK_SCR_TRAINER_NAME} envoie\n{B_BUFF1}!");
|
||||
static const u8 sText_GoPkmn[] = _("{B_PLAYER_MON1_NAME}! Go!");
|
||||
static const u8 sText_GoTwoPkmn[] = _("{B_PLAYER_MON1_NAME} et\n{B_PLAYER_MON2_NAME}! Go!");
|
||||
static const u8 sText_GoPkmn2[] = _("{B_BUFF1}! Go!");
|
||||
static const u8 sText_DoItPkmn[] = _("{B_BUFF1}! Fonce!");
|
||||
static const u8 sText_GoForItPkmn[] = _("En avant, {B_BUFF1}!");
|
||||
static const u8 sText_YourFoesWeakGetEmPkmn[] = _("L’ennemi est faible!\nAttaque, {B_BUFF1}!");
|
||||
static const u8 sText_LinkPartnerSentOutPkmnGoPkmn[] = _("{B_LINK_PARTNER_NAME} envoie\n{B_LINK_PLAYER_MON2_NAME}!\p{B_LINK_PLAYER_MON1_NAME}! Go!");
|
||||
static const u8 sText_PkmnThatsEnough[] = _("Ça suffit, {B_BUFF1}!\nReviens!");
|
||||
static const u8 sText_PkmnComeBack[] = _("Reviens, {B_BUFF1}!");
|
||||
static const u8 sText_PkmnOkComeBack[] = _("OK, {B_BUFF1}!\nReviens!");
|
||||
static const u8 sText_PkmnGoodComeBack[] = _("Bien, {B_BUFF1}!\nReviens!");
|
||||
static const u8 sText_Trainer1WithdrewPkmn[] = _("{B_BUFF1} est retiré par\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!");
|
||||
static const u8 sText_LinkTrainer1WithdrewPkmn[] = _("{B_LINK_OPPONENT1_NAME} retire\n{B_BUFF1}!");
|
||||
static const u8 sText_LinkTrainer2WithdrewPkmn[] = _("{B_LINK_SCR_TRAINER_NAME} retire\n{B_BUFF1}!");
|
||||
static const u8 sText_WildPkmnPrefix[] = _(" sauvage");
|
||||
static const u8 sText_FoePkmnPrefix[] = _(" ennemi");
|
||||
static const u8 sText_EmptyString8[] = _("");
|
||||
static const u8 sText_FoePkmnPrefix2[] = _("ennemi");
|
||||
static const u8 sText_AllyPkmnPrefix[] = _("ami");
|
||||
static const u8 sText_FoePkmnPrefix3[] = _("ennemi");
|
||||
static const u8 sText_AllyPkmnPrefix2[] = _("ami");
|
||||
static const u8 sText_FoePkmnPrefix4[] = _("ennemi");
|
||||
static const u8 sText_AllyPkmnPrefix3[] = _("ami");
|
||||
static const u8 sText_AttackerUsedX[] = _("{B_ATK_NAME_WITH_PREFIX} utilise\n{B_BUFF2}");
|
||||
static const u8 sText_ExclamationMark[] = _("!");
|
||||
static const u8 sText_ExclamationMark2[] = _("!");
|
||||
static const u8 sText_ExclamationMark3[] = _("!");
|
||||
static const u8 sText_ExclamationMark4[] = _("!");
|
||||
static const u8 sText_ExclamationMark5[] = _("!");
|
||||
static const u8 sText_HP2[] = _("PV");
|
||||
static const u8 sText_Attack2[] = _("ATTAQUE");
|
||||
static const u8 sText_Defense2[] = _("DEFENSE");
|
||||
static const u8 sText_Speed[] = _("VITESSE");
|
||||
static const u8 sText_SpAtk2[] = _("ATQ SP");
|
||||
static const u8 sText_SpDef2[] = _("DEF SP");
|
||||
static const u8 sText_Accuracy[] = _("précision");
|
||||
static const u8 sText_Evasiveness[] = _("esquive");
|
||||
#endif
|
||||
|
||||
const u8 * const gStatNamesTable[NUM_BATTLE_STATS] =
|
||||
{
|
||||
@@ -443,11 +827,19 @@ const u8 * const gStatNamesTable[NUM_BATTLE_STATS] =
|
||||
[STAT_EVASION] = sText_Evasiveness,
|
||||
};
|
||||
|
||||
#if ENGLISH
|
||||
static const u8 sText_PokeblockWasTooSpicy[] = _("was too spicy!");
|
||||
static const u8 sText_PokeblockWasTooDry[] = _("was too dry!");
|
||||
static const u8 sText_PokeblockWasTooSweet[] = _("was too sweet!");
|
||||
static const u8 sText_PokeblockWasTooBitter[] = _("was too bitter!");
|
||||
static const u8 sText_PokeblockWasTooSour[] = _("was too sour!");
|
||||
#elif FRENCH
|
||||
static const u8 sText_PokeblockWasTooSpicy[] = _("était trop épicée!");
|
||||
static const u8 sText_PokeblockWasTooDry[] = _("était trop sèche!");
|
||||
static const u8 sText_PokeblockWasTooSweet[] = _("était trop sucrée!");
|
||||
static const u8 sText_PokeblockWasTooBitter[] = _("était trop amère!");
|
||||
static const u8 sText_PokeblockWasTooSour[] = _("était trop acide!");
|
||||
#endif
|
||||
|
||||
const u8 * const gPokeblockWasTooXStringTable[FLAVOR_COUNT] =
|
||||
{
|
||||
@@ -457,7 +849,7 @@ const u8 * const gPokeblockWasTooXStringTable[FLAVOR_COUNT] =
|
||||
[FLAVOR_BITTER] = sText_PokeblockWasTooBitter,
|
||||
[FLAVOR_SOUR] = sText_PokeblockWasTooSour
|
||||
};
|
||||
|
||||
#if ENGLISH
|
||||
static const u8 sText_PlayerUsedItem[] = _("{B_PLAYER_NAME} used\n{B_LAST_ITEM}!");
|
||||
static const u8 sText_WallyUsedItem[] = _("WALLY used\n{B_LAST_ITEM}!");
|
||||
static const u8 sText_Trainer1UsedItem[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nused {B_LAST_ITEM}!");
|
||||
@@ -497,6 +889,47 @@ static const u8 sText_ItemAllowsOnlyYMove[] = _("{B_LAST_ITEM} allows the\nuse o
|
||||
static const u8 sText_PkmnHungOnWithX[] = _("{B_DEF_NAME_WITH_PREFIX} hung on\nusing its {B_LAST_ITEM}!");
|
||||
const u8 gText_EmptyString3[] = _("");
|
||||
static const u8 sText_YouThrowABallNowRight[] = _("You throw a BALL now, right?\nI… I'll do my best!");
|
||||
#elif FRENCH
|
||||
static const u8 sText_PlayerUsedItem[] = _("{B_PLAYER_NAME} utilise\n{B_LAST_ITEM}!");
|
||||
static const u8 sText_WallyUsedItem[] = _("TIMMY utilise\n{B_LAST_ITEM}!");
|
||||
static const u8 sText_Trainer1UsedItem[] = _("{B_LAST_ITEM} est utilisé(e) par\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!");
|
||||
static const u8 sText_TrainerBlockedBall[] = _("Le DRESSEUR détourne la BALL!");
|
||||
static const u8 sText_DontBeAThief[] = _("Voler, c’est mal!");
|
||||
static const u8 sText_ItDodgedBall[] = _("Il a évité la BALL!\nCe POKéMON ne se laisse pas faire!");
|
||||
static const u8 sText_YouMissedPkmn[] = _("Vous manquez le POKéMON!");
|
||||
static const u8 sText_PkmnBrokeFree[] = _("Oh, non!\nLe POKéMON s’est libéré!");
|
||||
static const u8 sText_ItAppearedCaught[] = _("Raaah!\nÇa y était presque!");
|
||||
static const u8 sText_AarghAlmostHadIt[] = _("Aaaaaah!\nPresque!");
|
||||
static const u8 sText_ShootSoClose[] = _("Mince!\nÇa y était presque!");
|
||||
static const u8 sText_GotchaPkmnCaught[] = _("Et hop!\n{B_OPPONENT_MON1_NAME} est attrapé!{WAIT_SE}{PLAY_BGM}{0x60}À\p");
|
||||
static const u8 sText_GotchaPkmnCaught2[] = _("Et hop!\n{B_OPPONENT_MON1_NAME} est attrapé!{WAIT_SE}{PLAY_BGM}{0x60}À{PAUSE 127}");
|
||||
static const u8 sText_GiveNicknameCaptured[] = _("Donner un surnom au\n{B_OPPONENT_MON1_NAME} capturé?");
|
||||
static const u8 sText_PkmnSentToPC[] = _("{B_OPPONENT_MON1_NAME} est envoyé au\nPC {B_PC_CREATOR_NAME}.");
|
||||
static const u8 sText_Someones[] = _("de quelqu’un");
|
||||
static const u8 sText_Lanettes[] = _("d’ANNETTE");
|
||||
static const u8 sText_PkmnDataAddedToDex[] = _("Les données de {B_OPPONENT_MON1_NAME} sont\najoutées au POKéDEX.\p");
|
||||
static const u8 sText_ItIsRaining[] = _("Il pleut.");
|
||||
static const u8 sText_SandstormIsRaging[] = _("La tempête de sable\nfait rage.");
|
||||
static const u8 sText_BoxIsFull[] = _("La BOITE est pleine!\nVous ne pouvez plus rien attraper!\p");
|
||||
static const u8 sText_EnigmaBerry[] = _("BAIE ENIGMA");
|
||||
static const u8 sText_BerrySuffix[] = _("BAIE {B_COPY_VAR_3}");
|
||||
static const u8 sText_PkmnsItemCuredParalysis[] = _("{B_LAST_ITEM} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nle sort de sa paralysie!");
|
||||
static const u8 sText_PkmnsItemCuredPoison[] = _("{B_LAST_ITEM} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nle guérit de son empoisonnement!");
|
||||
static const u8 sText_PkmnsItemHealedBurn[] = _("{B_LAST_ITEM} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nle guérit de sa brûlure!");
|
||||
static const u8 sText_PkmnsItemDefrostedIt[] = _("{B_LAST_ITEM} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nle dégèle!");
|
||||
static const u8 sText_PkmnsItemWokeIt[] = _("{B_LAST_ITEM} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nle sort de son sommeil!");
|
||||
static const u8 sText_PkmnsItemSnappedOut[] = _("{B_LAST_ITEM} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nle tire de sa confusion!");
|
||||
static const u8 sText_PkmnsItemCuredProblem[] = _("{B_LAST_ITEM} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nguérit son problème de {B_BUFF1}!");
|
||||
static const u8 sText_PkmnsItemNormalizedStatus[] = _("{B_LAST_ITEM} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nramène son statut à la normale!");
|
||||
static const u8 sText_PkmnsItemRestoredHealth[] = _("{B_LAST_ITEM} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nrestaure son énergie!");
|
||||
static const u8 sText_PkmnsItemRestoredPP[] = _("{B_LAST_ITEM} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nrestaure les PP de {B_BUFF1}!");
|
||||
static const u8 sText_PkmnsItemRestoredStatus[] = _("{B_LAST_ITEM} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nrestaure son statut!");
|
||||
static const u8 sText_PkmnsItemRestoredHPALittle[] = _("{B_LAST_ITEM} du {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nrestaure un peu ses PV!");
|
||||
static const u8 sText_ItemAllowsOnlyYMove[] = _("Avec {B_LAST_ITEM}, seule la capacité\n{B_CURRENT_MOVE} peut être utilisée!\p");
|
||||
static const u8 sText_PkmnHungOnWithX[] = _("{B_DEF_NAME_WITH_PREFIX} tient bon grâce\nà {B_LAST_ITEM}!");
|
||||
const u8 gText_EmptyString3[] = _("");
|
||||
static const u8 sText_YouThrowABallNowRight[] = _("Il faut lancer une BALL, non?\nJe… je ferai de mon mieux!");
|
||||
#endif
|
||||
|
||||
// early declaration of strings
|
||||
static const u8 sText_PkmnIncapableOfPower[];
|
||||
@@ -739,7 +1172,7 @@ const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT - BATTLESTRINGS_TABLE_S
|
||||
[STRINGID_STARTEDTORAIN - BATTLESTRINGS_TABLE_START] = sText_StartedToRain,
|
||||
[STRINGID_DOWNPOURSTARTED - BATTLESTRINGS_TABLE_START] = sText_DownpourStarted,
|
||||
[STRINGID_RAINCONTINUES - BATTLESTRINGS_TABLE_START] = sText_RainContinues,
|
||||
[STRINGID_DOWNPOURCONTINUES - BATTLESTRINGS_TABLE_START] = sText_DownpourContinues,
|
||||
[STRINGID_DOWNPOURCONTINUES - BATTLESTRINGS_TABLE_START] = sText_DownpourContinues, // Unused
|
||||
[STRINGID_RAINSTOPPED - BATTLESTRINGS_TABLE_START] = sText_RainStopped,
|
||||
[STRINGID_SANDSTORMBREWED - BATTLESTRINGS_TABLE_START] = sText_SandstormBrewed,
|
||||
[STRINGID_SANDSTORMRAGES - BATTLESTRINGS_TABLE_START] = sText_SandstormRages,
|
||||
@@ -1264,6 +1697,7 @@ const u16 gTrappingMoves[NUM_TRAPPING_MOVES + 1] =
|
||||
0xFFFF // Never read
|
||||
};
|
||||
|
||||
#if ENGLISH
|
||||
const u8 gText_PkmnIsEvolving[] = _("What?\n{STR_VAR_1} is evolving!");
|
||||
const u8 gText_CongratsPkmnEvolved[] = _("Congratulations! Your {STR_VAR_1}\nevolved into {STR_VAR_2}!{WAIT_SE}\p");
|
||||
const u8 gText_PkmnStoppedEvolving[] = _("Huh? {STR_VAR_1}\nstopped evolving!\p");
|
||||
@@ -1291,6 +1725,35 @@ static const u8 sText_Attack[] = _("ATTACK");
|
||||
static const u8 sText_Defense[] = _("DEFENSE");
|
||||
static const u8 sText_SpAtk[] = _("SP. ATK");
|
||||
static const u8 sText_SpDef[] = _("SP. DEF");
|
||||
#elif FRENCH
|
||||
const u8 gText_PkmnIsEvolving[] = _("Quoi?\n{B_COPY_VAR_1} évolue!");
|
||||
const u8 gText_CongratsPkmnEvolved[] = _("Félicitations! Votre {B_COPY_VAR_1}\névolue en {B_COPY_VAR_2}!{WAIT_SE}\p");
|
||||
const u8 gText_PkmnStoppedEvolving[] = _("Hein? {B_COPY_VAR_1}\nn’évolue plus!\p");
|
||||
const u8 gText_EllipsisQuestionMark[] = _("……?\p");
|
||||
const u8 gText_WhatWillPkmnDo[] = _("Que doit faire\n{B_ACTIVE_NAME_WITH_PREFIX}?");
|
||||
const u8 gText_WhatWillPkmnDo2[] = _("Que doit faire\n{B_PLAYER_NAME}?");
|
||||
const u8 gText_WhatWillWallyDo[] = _("Que doit faire\nTIMMY?");
|
||||
const u8 gText_LinkStandby[] = _("{PAUSE 16}Connexion en cours…");
|
||||
const u8 gText_BattleMenu[] = _("ATTAQUE{CLEAR_TO 56}SAC\nPOKéMON{CLEAR_TO 56}FUITE");
|
||||
const u8 gText_SafariZoneMenu[] = _("BALL{CLEAR_TO 56}{POKEBLOCK}\nSE RAP.{CLEAR_TO 56}FUITE");
|
||||
const u8 gText_MoveInterfacePP[] = _("PP ");
|
||||
const u8 gText_MoveInterfaceType[] = _("TYPE/");
|
||||
const u8 gText_MoveInterfacePpType[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}PP\nTYPE/");
|
||||
const u8 gText_MoveInterfaceDynamicColors[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}");
|
||||
const u8 gText_WhichMoveToForget4[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}Which move should\nbe forgotten?");
|
||||
const u8 gText_BattleYesNoChoice[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}OUI\nNON");
|
||||
const u8 gText_BattleSwitchWhich[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}Changer\nlequel?");
|
||||
const u8 gText_BattleSwitchWhich2[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}");
|
||||
const u8 gText_BattleSwitchWhich3[] = _("{UP_ARROW}");
|
||||
const u8 gText_BattleSwitchWhich4[] = _("{ESCAPE 4}");
|
||||
const u8 gText_BattleSwitchWhich5[] = _("-");
|
||||
|
||||
static const u8 sText_HP[] = _("PV");
|
||||
static const u8 sText_Attack[] = _("ATTAQUE");
|
||||
static const u8 sText_Defense[] = _("DEFENSE");
|
||||
static const u8 sText_SpAtk[] = _("ATQ SP");
|
||||
static const u8 sText_SpDef[] = _("DEF SP");
|
||||
#endif
|
||||
|
||||
// Unused
|
||||
static const u8 * const sStatNamesTable2[] =
|
||||
@@ -1298,7 +1761,7 @@ static const u8 * const sStatNamesTable2[] =
|
||||
sText_HP, sText_SpAtk, sText_Attack,
|
||||
sText_SpDef, sText_Defense, sText_Speed
|
||||
};
|
||||
|
||||
#if ENGLISH
|
||||
const u8 gText_SafariBalls[] = _("{HIGHLIGHT DARK_GRAY}SAFARI BALLS");
|
||||
const u8 gText_SafariBallLeft[] = _("{HIGHLIGHT DARK_GRAY}Left: $" "{HIGHLIGHT DARK_GRAY}");
|
||||
const u8 gText_Sleep[] = _("sleep");
|
||||
@@ -1351,6 +1814,60 @@ static const u8 sText_Round1[] = _("Round 1");
|
||||
static const u8 sText_Round2[] = _("Round 2");
|
||||
static const u8 sText_Semifinal[] = _("Semifinal");
|
||||
static const u8 sText_Final[] = _("Final");
|
||||
#elif FRENCH
|
||||
const u8 gText_SafariBalls[] = _("{HIGHLIGHT DARK_GRAY}SAFARI BALLS");
|
||||
const u8 gText_SafariBallLeft[] = _("{HIGHLIGHT DARK_GRAY}Nb: $" "{HIGHLIGHT DARK_GRAY}");
|
||||
const u8 gText_Sleep[] = _("sommeil");
|
||||
const u8 gText_Poison[] = _("poison");
|
||||
const u8 gText_Burn[] = _("brûlure");
|
||||
const u8 gText_Paralysis[] = _("paralysie");
|
||||
const u8 gText_Ice[] = _("gel");
|
||||
const u8 gText_Confusion[] = _("confusion");
|
||||
const u8 gText_Love[] = _("cœur");
|
||||
const u8 gText_SpaceAndSpace[] = _(" et ");
|
||||
const u8 gText_CommaSpace[] = _(", ");
|
||||
const u8 gText_Space2[] = _(" ");
|
||||
const u8 gText_LineBreak[] = _("\l");
|
||||
const u8 gText_NewLine[] = _("\n");
|
||||
const u8 gText_Are[] = _("sont");
|
||||
const u8 gText_Are2[] = _("sont");
|
||||
const u8 gText_BadEgg[] = _("Mauv. OEUF");
|
||||
const u8 gText_BattleWallyName[] = _("TIMMY");
|
||||
const u8 gText_Win[] = _("{HIGHLIGHT TRANSPARENT}Victoire");
|
||||
const u8 gText_Loss[] = _("{HIGHLIGHT TRANSPARENT}Défaite");
|
||||
const u8 gText_Draw[] = _("{HIGHLIGHT TRANSPARENT}Egalité");
|
||||
static const u8 sText_SpaceIs[] = _(" est");
|
||||
static const u8 sText_ApostropheS[] = _("de ");
|
||||
|
||||
// For displaying names of invalid moves
|
||||
static const u8 sATypeMove_Table[NUMBER_OF_MON_TYPES][22] =
|
||||
{
|
||||
[TYPE_NORMAL] = _("une capacité NORMAL"),
|
||||
[TYPE_FIGHTING] = _("une capacité COMBAT"),
|
||||
[TYPE_FLYING] = _("une capacité VOL"),
|
||||
[TYPE_POISON] = _("une capacité POISON"),
|
||||
[TYPE_GROUND] = _("une capacité SOL"),
|
||||
[TYPE_ROCK] = _("une capacité ROCHE"),
|
||||
[TYPE_BUG] = _("une capacité INSECTE"),
|
||||
[TYPE_GHOST] = _("une capacité SPECTRE"),
|
||||
[TYPE_STEEL] = _("une capacité ACIER"),
|
||||
[TYPE_MYSTERY] = _("une capacité ???"),
|
||||
[TYPE_FIRE] = _("une capacité FEU"),
|
||||
[TYPE_WATER] = _("une capacité EAU"),
|
||||
[TYPE_GRASS] = _("une capacité PLANTE"),
|
||||
[TYPE_ELECTRIC] = _("une capacité ELECTRIK"),
|
||||
[TYPE_PSYCHIC] = _("une capacité PSY"),
|
||||
[TYPE_ICE] = _("une capacité GLACE"),
|
||||
[TYPE_DRAGON] = _("une capacité DRAGON"),
|
||||
[TYPE_DARK] = _("une capacité TENEBRES")
|
||||
};
|
||||
|
||||
const u8 gText_BattleTourney[] = _("TOURNOI DE COMBAT");
|
||||
static const u8 sText_Round1[] = _("Premier tour");
|
||||
static const u8 sText_Round2[] = _("Deuxième tour");
|
||||
static const u8 sText_Semifinal[] = _("Demi-finale");
|
||||
static const u8 sText_Final[] = _("Finale");
|
||||
#endif
|
||||
|
||||
const u8 *const gRoundsStringTable[DOME_ROUNDS_COUNT] =
|
||||
{
|
||||
@@ -1359,12 +1876,12 @@ const u8 *const gRoundsStringTable[DOME_ROUNDS_COUNT] =
|
||||
[DOME_SEMIFINAL] = sText_Semifinal,
|
||||
[DOME_FINAL] = sText_Final
|
||||
};
|
||||
|
||||
const u8 gText_TheGreatNewHope[] = _("The great new hope!\p");
|
||||
const u8 gText_WillChampionshipDreamComeTrue[] = _("Will the championship dream come true?!\p");
|
||||
const u8 gText_AFormerChampion[] = _("A former CHAMPION!\p");
|
||||
const u8 gText_ThePreviousChampion[] = _("The previous CHAMPION!\p");
|
||||
const u8 gText_TheUnbeatenChampion[] = _("The unbeaten CHAMPION!\p");
|
||||
#if ENGLISH
|
||||
static const u8 gText_TheGreatNewHope[] = _("The great new hope!\p"); // Unused
|
||||
static const u8 gText_WillChampionshipDreamComeTrue[] = _("Will the championship dream come true?!\p"); // Unused
|
||||
static const u8 gText_AFormerChampion[] = _("A former CHAMPION!\p"); // Unused
|
||||
static const u8 gText_ThePreviousChampion[] = _("The previous CHAMPION!\p"); // Unused
|
||||
static const u8 gText_TheUnbeatenChampion[] = _("The unbeaten CHAMPION!\p"); // Unused
|
||||
const u8 gText_PlayerMon1Name[] = _("{B_PLAYER_MON1_NAME}");
|
||||
const u8 gText_Vs[] = _("VS");
|
||||
const u8 gText_OpponentMon1Name[] = _("{B_OPPONENT_MON1_NAME}");
|
||||
@@ -1383,6 +1900,31 @@ static const u8 sText_GlintAppearsInEye[] = _("A glint appears in\n{B_SCR_ACTIVE
|
||||
static const u8 sText_PkmnGettingIntoPosition[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is getting into\nposition!");
|
||||
static const u8 sText_PkmnBeganGrowlingDeeply[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} began growling deeply!");
|
||||
static const u8 sText_PkmnEagerForMore[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is eager for more!");
|
||||
#elif FRENCH
|
||||
static const u8 gText_TheGreatNewHope[] = _("The great new hope!\p"); // Unused
|
||||
static const u8 gText_WillChampionshipDreamComeTrue[] = _("Will the championship dream come true?!\p"); // Unused
|
||||
static const u8 gText_AFormerChampion[] = _("A former CHAMPION!\p"); // Unused
|
||||
static const u8 gText_ThePreviousChampion[] = _("The previous CHAMPION!\p"); // Unused
|
||||
static const u8 gText_TheUnbeatenChampion[] = _("The unbeaten CHAMPION!\p"); // Unused
|
||||
const u8 gText_PlayerMon1Name[] = _("{B_PLAYER_MON1_NAME}");
|
||||
const u8 gText_Vs[] = _("VS");
|
||||
const u8 gText_OpponentMon1Name[] = _("{B_OPPONENT_MON1_NAME}");
|
||||
const u8 gText_Mind[] = _("Mental");
|
||||
const u8 gText_Skill[] = _("Technique");
|
||||
const u8 gText_Body[] = _("Physique");
|
||||
const u8 gText_Judgement[] = _("{B_BUFF1}{CLEAR 13}Jugement{CLEAR 13}{B_BUFF2}");
|
||||
static const u8 sText_TwoTrainersSentPkmn[] = _("{B_OPPONENT_MON1_NAME} est envoyé par\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!\p{B_OPPONENT_MON2_NAME} est envoyé par\n{B_TRAINER2_CLASS} {B_TRAINER2_NAME}!");
|
||||
static const u8 sText_Trainer2SentOutPkmn[] = _("{B_BUFF1} est envoyé par\n{B_TRAINER2_CLASS} {B_TRAINER2_NAME}!");
|
||||
static const u8 sText_TwoTrainersWantToBattle[] = _("Un combat est lancé\npar {B_TRAINER1_CLASS} {B_TRAINER1_NAME} et\l{B_TRAINER2_CLASS} {B_TRAINER2_NAME}!\p");
|
||||
static const u8 sText_InGamePartnerSentOutZGoN[] = _("{B_PLAYER_MON2_NAME} est envoyé par\n{B_PARTNER_CLASS} {B_PARTNER_NAME}!\p{B_PLAYER_MON1_NAME}! Go!");
|
||||
static const u8 sText_TwoInGameTrainersDefeated[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} et\n{B_TRAINER2_CLASS} {B_TRAINER2_NAME}\lont perdu!\p");
|
||||
static const u8 sText_Trainer2LoseText[] = _("{B_TRAINER2_LOSE_TEXT}");
|
||||
static const u8 sText_PkmnIncapableOfPower[] = _("{B_ATK_NAME_WITH_PREFIX} est incapable\nd’utiliser sa puissance!");
|
||||
static const u8 sText_GlintAppearsInEye[] = _("Une lueur apparaît dans les\nyeux de {B_SCR_ACTIVE_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnGettingIntoPosition[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} se met\nen position!");
|
||||
static const u8 sText_PkmnBeganGrowlingDeeply[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} commence\nà grogner méchamment!");
|
||||
static const u8 sText_PkmnEagerForMore[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} en veut encore!");
|
||||
#endif
|
||||
|
||||
const u16 gBattlePalaceFlavorTextTable[] =
|
||||
{
|
||||
@@ -1391,7 +1933,7 @@ const u16 gBattlePalaceFlavorTextTable[] =
|
||||
[B_MSG_GROWL_DEEPLY] = STRINGID_PKMNBEGANGROWLINGDEEPLY,
|
||||
[B_MSG_EAGER_FOR_MORE] = STRINGID_PKMNEAGERFORMORE,
|
||||
};
|
||||
|
||||
#if ENGLISH
|
||||
static const u8 sText_RefIfNothingIsDecided[] = _("REFEREE: If nothing is decided in\n3 turns, we will go to judging!");
|
||||
static const u8 sText_RefThatsIt[] = _("REFEREE: That's it! We will now go to\njudging to determine the winner!");
|
||||
static const u8 sText_RefJudgeMind[] = _("REFEREE: Judging category 1, Mind!\nThe POKéMON showing the most guts!\p");
|
||||
@@ -1404,6 +1946,20 @@ static const u8 sText_DefeatedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} defe
|
||||
static const u8 sText_LostToOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} lost to the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE's decision!");
|
||||
static const u8 sText_TiedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} tied the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE's decision!");
|
||||
static const u8 sText_RefCommenceBattle[] = _("REFEREE: {B_PLAYER_MON1_NAME} VS {B_OPPONENT_MON1_NAME}!\nCommence battling!");
|
||||
#elif FRENCH
|
||||
static const u8 sText_RefIfNothingIsDecided[] = _("ARBITRE: Si rien n’est décidé en 3\ntours, nous donnerons notre jugement!");
|
||||
static const u8 sText_RefThatsIt[] = _("ARBITRE: Nous allons maintenant\ndécider du vainqueur.");
|
||||
static const u8 sText_RefJudgeMind[] = _("ARBITRE: Catégorie 1, le mental!\nLe POKéMON le plus agressif!\p");
|
||||
static const u8 sText_RefJudgeSkill[] = _("ARBITRE: Catégorie 2, la technique!\nLe POKéMON qui maîtrise le mieux\lses capacités!\p");
|
||||
static const u8 sText_RefJudgeBody[] = _("ARBITRE: Catégorie 3, le physique!\nLe POKéMON le plus résistant!\p");
|
||||
static const u8 sText_RefPlayerWon[] = _("ARBITRE: Jugement: {B_BUFF1} à {B_BUFF2}! Le gagnant\nest le {B_PLAYER_MON1_NAME} de {B_PLAYER_NAME}!\p");
|
||||
static const u8 sText_RefOpponentWon[] = _("ARBITRE: Jugement: {B_BUFF1} à {B_BUFF2}! Le gagnant \nest le {B_OPPONENT_MON1_NAME} de {B_TRAINER1_NAME}!\p");
|
||||
static const u8 sText_RefDraw[] = _("ARBITRE: Jugement: 3 à 3!\nC’est un match nul!\p");
|
||||
static const u8 sText_DefeatedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} bat {B_OPPONENT_MON1_NAME} sur\ndécision de l’ARBITRE!");
|
||||
static const u8 sText_LostToOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} perd contre {B_OPPONENT_MON1_NAME}\nsur décision de l’ARBITRE!");
|
||||
static const u8 sText_TiedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} est à égalité avec\n{B_OPPONENT_MON1_NAME} sur décision de l’ARBITRE!");
|
||||
static const u8 sText_RefCommenceBattle[] = _("ARBITRE: {B_PLAYER_MON1_NAME} VS {B_OPPONENT_MON1_NAME}!\nCommencez le combat!");
|
||||
#endif
|
||||
|
||||
const u8 * const gRefereeStringsTable[] =
|
||||
{
|
||||
@@ -1417,7 +1973,7 @@ const u8 * const gRefereeStringsTable[] =
|
||||
[B_MSG_REF_DRAW] = sText_RefDraw,
|
||||
[B_MSG_REF_COMMENCE_BATTLE] = sText_RefCommenceBattle,
|
||||
};
|
||||
|
||||
#if ENGLISH
|
||||
static const u8 sText_QuestionForfeitMatch[] = _("Would you like to forfeit the match\nand quit now?");
|
||||
static const u8 sText_ForfeitedMatch[] = _("{B_PLAYER_NAME} forfeited the match!");
|
||||
static const u8 sText_Trainer1WinText[] = _("{B_TRAINER1_WIN_TEXT}");
|
||||
@@ -1429,6 +1985,19 @@ const u8 gText_RecordBattleToPass[] = _("Would you like to record your battle\no
|
||||
const u8 gText_BattleRecordedOnPass[] = _("{B_PLAYER_NAME}'s battle result was recorded\non the FRONTIER PASS.");
|
||||
static const u8 sText_LinkTrainerWantsToBattlePause[] = _("{B_LINK_OPPONENT1_NAME}\nwants to battle!{PAUSE 49}");
|
||||
static const u8 sText_TwoLinkTrainersWantToBattlePause[] = _("{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}\nwant to battle!{PAUSE 49}");
|
||||
#elif FRENCH
|
||||
static const u8 sText_QuestionForfeitMatch[] = _("Voulez-vous abandonner et\nquitter le combat?");
|
||||
static const u8 sText_ForfeitedMatch[] = _("{B_PLAYER_NAME} abandonne le match!");
|
||||
static const u8 sText_Trainer1WinText[] = _("{B_TRAINER1_WIN_TEXT}");
|
||||
static const u8 sText_Trainer2WinText[] = _("{B_TRAINER2_WIN_TEXT}");
|
||||
static const u8 sText_Trainer1Fled[] = _("{PLAY_SE SE_FLEE}{B_TRAINER1_CLASS} {B_TRAINER1_NAME} fled!");
|
||||
static const u8 sText_PlayerLostAgainstTrainer1[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} a\ngagné!");
|
||||
static const u8 sText_PlayerBattledToDrawTrainer1[] = _("Egalité avec \n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!");
|
||||
const u8 gText_RecordBattleToPass[] = _("Voulez-vous enregistrer votre\ncombat sur le PASSE ZONE?");
|
||||
const u8 gText_BattleRecordedOnPass[] = _("Le résultat de {B_PLAYER_NAME} est\nenregistré sur le PASSE ZONE.");
|
||||
static const u8 sText_LinkTrainerWantsToBattlePause[] = _("{B_LINK_OPPONENT1_NAME}\nveut se battre!{PAUSE 49}");
|
||||
static const u8 sText_TwoLinkTrainersWantToBattlePause[] = _("{B_LINK_OPPONENT1_NAME} et {B_LINK_OPPONENT2_NAME}\nveulent se battre!{PAUSE 49}");
|
||||
#endif
|
||||
|
||||
// This is four lists of moves which use a different attack string in Japanese
|
||||
// to the default. See the documentation for ChooseTypeOfMoveUsedString for more detail.
|
||||
@@ -1472,7 +2041,11 @@ static const u16 sGrammarMoveUsedTable[] =
|
||||
MOVE_COVET, 0
|
||||
};
|
||||
|
||||
#if ENGLISH
|
||||
static const u8 sDummyWeirdStatusString[] = {EOS, EOS, EOS, EOS, EOS, EOS, EOS, EOS, 0, 0};
|
||||
#elif FRENCH
|
||||
static const u8 sDummyWeirdStatusString[] = {EOS, EOS, EOS, EOS, EOS, EOS, EOS, EOS};
|
||||
#endif
|
||||
|
||||
static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
|
||||
{
|
||||
@@ -2058,6 +2631,10 @@ void BufferStringBattle(u16 stringID)
|
||||
{
|
||||
s32 i;
|
||||
const u8 *stringPtr = NULL;
|
||||
#if FRENCH
|
||||
u32 size;
|
||||
u8 *txtBuff;
|
||||
#endif
|
||||
|
||||
gBattleMsgDataPtr = (struct BattleMsgData *)(&gBattleBufferA[gActiveBattler][4]);
|
||||
gLastUsedItem = gBattleMsgDataPtr->lastItem;
|
||||
@@ -2343,7 +2920,71 @@ void BufferStringBattle(u16 stringID)
|
||||
break;
|
||||
}
|
||||
|
||||
#if ENGLISH
|
||||
BattleStringExpandPlaceholdersToDisplayedString(stringPtr);
|
||||
#elif FRENCH
|
||||
// This swaps Team's Aqua/Magma class / name ; Team Aqua Grunt -> Grunt(Sbire in French) Team Aqua
|
||||
size = StringLength(stringPtr) + 1;
|
||||
txtBuff = Alloc(size);
|
||||
memcpy(txtBuff, stringPtr, size);
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_SECRET_BASE)
|
||||
&& gTrainerBattleOpponent_A != TRAINER_UNION_ROOM && gTrainerBattleOpponent_A != TRAINER_FRONTIER_BRAIN
|
||||
&& !(gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_TRAINER_HILL)))
|
||||
{
|
||||
u8 *toSwap, *txt;
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gTrainerBattleOpponent_A < TRAINERS_COUNT)
|
||||
{
|
||||
if (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_TEAM_MAGMA || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_TEAM_AQUA)
|
||||
{
|
||||
toSwap = NULL, txt = txtBuff;
|
||||
while (*txt != EOS)
|
||||
{
|
||||
if (*txt == PLACEHOLDER_BEGIN)
|
||||
{
|
||||
txt++;
|
||||
if (*txt == B_TXT_TRAINER1_CLASS)
|
||||
{
|
||||
toSwap = txt;
|
||||
}
|
||||
else if (*txt == B_TXT_TRAINER1_NAME && toSwap != NULL)
|
||||
{
|
||||
*toSwap = B_TXT_TRAINER1_NAME;
|
||||
*txt = B_TXT_TRAINER1_CLASS;
|
||||
}
|
||||
}
|
||||
txt++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && gTrainerBattleOpponent_B < TRAINERS_COUNT)
|
||||
{
|
||||
if (gTrainers[gTrainerBattleOpponent_B].trainerClass == TRAINER_CLASS_TEAM_MAGMA || gTrainers[gTrainerBattleOpponent_B].trainerClass == TRAINER_CLASS_TEAM_AQUA)
|
||||
{
|
||||
toSwap = NULL, txt = txtBuff;
|
||||
while (*txt != EOS)
|
||||
{
|
||||
if (*txt == PLACEHOLDER_BEGIN)
|
||||
{
|
||||
txt++;
|
||||
if (*txt == B_TXT_TRAINER2_CLASS)
|
||||
{
|
||||
toSwap = txt;
|
||||
}
|
||||
else if (*txt == B_TXT_TRAINER2_NAME && toSwap != NULL)
|
||||
{
|
||||
*toSwap = B_TXT_TRAINER2_NAME;
|
||||
*txt = B_TXT_TRAINER2_CLASS;
|
||||
}
|
||||
}
|
||||
txt++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BattleStringExpandPlaceholdersToDisplayedString(txtBuff);
|
||||
Free(txtBuff);
|
||||
#endif
|
||||
}
|
||||
|
||||
u32 BattleStringExpandPlaceholdersToDisplayedString(const u8 *src)
|
||||
@@ -2381,6 +3022,7 @@ static const u8 *TryGetStatusString(u8 *src)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#if ENGLISH
|
||||
#define HANDLE_NICKNAME_STRING_CASE(battlerId, monIndex) \
|
||||
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) \
|
||||
{ \
|
||||
@@ -2402,6 +3044,28 @@ static const u8 *TryGetStatusString(u8 *src)
|
||||
} \
|
||||
StringGet_Nickname(text); \
|
||||
toCpy = text;
|
||||
#elif FRENCH
|
||||
// wild Pokemon -> Pokemon wild
|
||||
#define HANDLE_NICKNAME_STRING_CASE(battlerId, monIndex) \
|
||||
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) \
|
||||
{ \
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \
|
||||
toCpy = sText_FoePkmnPrefix; \
|
||||
else \
|
||||
toCpy = sText_WildPkmnPrefix; \
|
||||
\
|
||||
GetMonData(&gEnemyParty[monIndex], MON_DATA_NICKNAME, text); \
|
||||
StringGet_Nickname(text); \
|
||||
StringAppend(text, toCpy); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
GetMonData(&gPlayerParty[monIndex], MON_DATA_NICKNAME, text); \
|
||||
StringGet_Nickname(text); \
|
||||
} \
|
||||
\
|
||||
toCpy = text;
|
||||
#endif
|
||||
|
||||
u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
||||
{
|
||||
@@ -2556,6 +3220,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
||||
{
|
||||
if (gLastUsedItem == ITEM_ENIGMA_BERRY)
|
||||
{
|
||||
#if ENGLISH
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
|
||||
{
|
||||
if ((gBattleScripting.multiplayerId != 0 && (gPotentialItemEffectBattler & BIT_SIDE))
|
||||
@@ -2581,6 +3246,10 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
||||
else
|
||||
toCpy = sText_EnigmaBerry;
|
||||
}
|
||||
#elif FRENCH
|
||||
CopyItemName(gLastUsedItem, text);
|
||||
toCpy = text;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2610,6 +3279,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
||||
toCpy = gAbilityNames[sBattlerAbilities[gEffectBattler]];
|
||||
break;
|
||||
case B_TXT_TRAINER1_CLASS: // trainer class name
|
||||
#if ENGLISH
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_SECRET_BASE)
|
||||
toCpy = gTrainerClassNames[GetSecretBaseTrainerClass()];
|
||||
else if (gTrainerBattleOpponent_A == TRAINER_UNION_ROOM)
|
||||
@@ -2625,6 +3295,32 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
||||
else
|
||||
toCpy = gTrainerClassNames[gTrainers[gTrainerBattleOpponent_A].trainerClass];
|
||||
break;
|
||||
#elif FRENCH
|
||||
{
|
||||
s32 gender = -1, trClass;
|
||||
const u8 *trName = NULL;
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_SECRET_BASE)
|
||||
trClass = GetSecretBaseTrainerClass();
|
||||
else if (gTrainerBattleOpponent_A == TRAINER_UNION_ROOM)
|
||||
trClass = GetUnionRoomTrainerClass();
|
||||
else if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN)
|
||||
trClass = GetFrontierBrainTrainerClass();
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
|
||||
trClass = GetFrontierOpponentClass(gTrainerBattleOpponent_A), gender = IsFrontierTrainerFemale(gTrainerBattleOpponent_A);
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
|
||||
trClass = GetTrainerHillOpponentClass(gTrainerBattleOpponent_A);
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
|
||||
trClass = GetEreaderTrainerClassId();
|
||||
else
|
||||
{
|
||||
trClass = gTrainers[gTrainerBattleOpponent_A].trainerClass;
|
||||
gender = gTrainers[gTrainerBattleOpponent_A].encounterMusic_gender & 0x7F;
|
||||
trName = gTrainers[gTrainerBattleOpponent_A].trainerName;
|
||||
}
|
||||
toCpy = GetTrainerClassNameGenderSpecific(trClass, gender, trName);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
case B_TXT_TRAINER1_NAME: // trainer1 name
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_SECRET_BASE)
|
||||
{
|
||||
@@ -2758,6 +3454,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
||||
toCpy = sText_FoePkmnPrefix4;
|
||||
break;
|
||||
case B_TXT_TRAINER2_CLASS:
|
||||
#if ENGLISH
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
|
||||
toCpy = gTrainerClassNames[GetFrontierOpponentClass(gTrainerBattleOpponent_B)];
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
|
||||
@@ -2765,6 +3462,24 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
||||
else
|
||||
toCpy = gTrainerClassNames[gTrainers[gTrainerBattleOpponent_B].trainerClass];
|
||||
break;
|
||||
#elif FRENCH
|
||||
{
|
||||
s32 gender = -1, trClass;
|
||||
const u8 *trName = NULL;
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
|
||||
trClass = GetFrontierOpponentClass(gTrainerBattleOpponent_B), gender = IsFrontierTrainerFemale(gTrainerBattleOpponent_B);
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
|
||||
trClass = GetTrainerHillOpponentClass(gTrainerBattleOpponent_B);
|
||||
else
|
||||
{
|
||||
trClass = gTrainers[gTrainerBattleOpponent_B].trainerClass;
|
||||
gender = gTrainers[gTrainerBattleOpponent_B].encounterMusic_gender & 0x7F;
|
||||
trName = gTrainers[gTrainerBattleOpponent_B].trainerName;
|
||||
}
|
||||
toCpy = GetTrainerClassNameGenderSpecific(trClass, gender, trName);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
case B_TXT_TRAINER2_NAME:
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
|
||||
{
|
||||
@@ -2810,8 +3525,17 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
||||
}
|
||||
break;
|
||||
case B_TXT_PARTNER_CLASS:
|
||||
#if ENGLISH
|
||||
toCpy = gTrainerClassNames[GetFrontierOpponentClass(gPartnerTrainerId)];
|
||||
break;
|
||||
#elif FRENCH
|
||||
{
|
||||
s32 trClass = GetFrontierOpponentClass(gPartnerTrainerId);
|
||||
s32 gender = IsFrontierTrainerFemale(gPartnerTrainerId);
|
||||
toCpy = GetTrainerClassNameGenderSpecific(trClass, gender, NULL);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
case B_TXT_PARTNER_NAME:
|
||||
GetFrontierTrainerName(text, gPartnerTrainerId);
|
||||
toCpy = text;
|
||||
@@ -2862,6 +3586,10 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
|
||||
{
|
||||
case B_BUFF_STRING: // battle string
|
||||
hword = T1_READ_16(&src[srcID + 1]);
|
||||
#if FRENCH
|
||||
if (hword == STRINGID_STATSHARPLY || hword == STRINGID_STATHARSHLY)
|
||||
srcID += 3;
|
||||
#endif
|
||||
StringAppend(dst, gBattleStringsTable[hword - BATTLESTRINGS_TABLE_START]);
|
||||
srcID += 3;
|
||||
break;
|
||||
@@ -2890,6 +3618,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
|
||||
srcID += 2;
|
||||
break;
|
||||
case B_BUFF_MON_NICK_WITH_PREFIX: // poke nick with prefix
|
||||
#if ENGLISH
|
||||
if (GetBattlerSide(src[srcID + 1]) == B_SIDE_PLAYER)
|
||||
{
|
||||
GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, text);
|
||||
@@ -2905,6 +3634,23 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
|
||||
}
|
||||
StringGet_Nickname(text);
|
||||
StringAppend(dst, text);
|
||||
#elif FRENCH
|
||||
if (GetBattlerSide(src[srcID + 1]) == B_SIDE_PLAYER)
|
||||
{
|
||||
GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, text);
|
||||
StringGet_Nickname(text);
|
||||
StringAppend(dst, text);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetMonData(&gEnemyParty[src[srcID + 2]], MON_DATA_NICKNAME, dst);
|
||||
StringGet_Nickname(dst);
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
|
||||
StringAppend(dst, sText_FoePkmnPrefix);
|
||||
else
|
||||
StringAppend(dst, sText_WildPkmnPrefix);
|
||||
}
|
||||
#endif
|
||||
srcID += 3;
|
||||
break;
|
||||
case B_BUFF_STAT: // stats
|
||||
@@ -2937,6 +3683,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
|
||||
{
|
||||
if (hword == ITEM_ENIGMA_BERRY)
|
||||
{
|
||||
#if ENGLISH
|
||||
if (gLinkPlayers[gBattleScripting.multiplayerId].id == gPotentialItemEffectBattler)
|
||||
{
|
||||
StringCopy(dst, gEnigmaBerries[gPotentialItemEffectBattler].name);
|
||||
@@ -2946,6 +3693,9 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
|
||||
{
|
||||
StringAppend(dst, sText_EnigmaBerry);
|
||||
}
|
||||
#elif FRENCH
|
||||
CopyItemName(hword, dst);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user