start battle link file

This commit is contained in:
DizzyEggg
2018-02-20 02:01:51 +01:00
parent 5162393c16
commit 25a57093b1
3 changed files with 671 additions and 369 deletions
+1
View File
@@ -237,6 +237,7 @@ SECTIONS {
src/bard_music.o(.text); src/bard_music.o(.text);
src/fldeff_teleport.o(.text); src/fldeff_teleport.o(.text);
asm/battle_link_817C95C.o(.text); asm/battle_link_817C95C.o(.text);
src/battle_link_817C95C.o(.text);
src/pokemon_animation.o(.text); src/pokemon_animation.o(.text);
src/recorded_battle.o(.text); src/recorded_battle.o(.text);
src/battle_controller_recorded_opponent.o(.text); src/battle_controller_recorded_opponent.o(.text);
+301
View File
@@ -0,0 +1,301 @@
#include "global.h"
#include "pokemon.h"
#include "battle.h"
#include "battle_link_817C95C.h"
#include "constants/battle_string_ids.h"
#include "battle_message.h"
struct UnknownBattleLinkSubStruct1
{
u32 field_8_0:15;
u32 field_8_1:3; // correct
u32 field_8_2:3; // correct
u32 field_8_3:3; // correct
u32 field_8_4:3; // correct
u32 field_8_5:3; // correct
u32 field_8_6:2;
u32 field_0_0a:3; // correct
u32 field_0_0b:7;
u32 field_0_1:2; // correct
u32 field_0_2:2; // correct
u32 field_0_3:2; // correct
u32 field_0_4:2; // correct
u32 field_0_5:2; // correct
u32 field_0_6:3; // correct
u32 field_0_7:2; // correct
u32 field_3_0:4; // correct
u32 field_3_1:3; // correct
u32 field_4_0:6;
u32 field_4_1:1;
u32 field_4_2:1;
u32 field_5_0:3; // correct
u32 field_5_1:2; // correct
u32 field_4_3:19;
};
struct UnknownBattleLinkSubStruct2
{
u32 field_0_0:3; // correct
u32 field_0_3:3; // correct
u32 field_0_6:3; // correct
u32 field_1_1:3; // correct
u32 field_1_4:4;
u32 field_2_0:2;
u32 field_2_3:2; // correct
u32 field_2_5:2; // correct
u32 field_2_7:2; // correct
u32 field_3_0:2; // correct
u32 field_3_2:6;
u32 field_4:8;
u32 field_5_0:3; // correct
u32 field_5_3:2; // correct
u32 field_5_5:2;
u32 field_5_7:1;
u32 field_6:8;
u32 field_7:8;
};
struct UnknownBattleLinkSubStruct3
{
u32 field_0 : 8;
u32 field_1 : 8;
u32 field_2 : 8;
u32 field_3 : 8;
u32 field_4 : 8;
u32 field_5 : 8;
u32 field_6 : 8;
u32 field_7 : 8;
u32 field_8 : 8;
u32 field_9 : 8;
u32 field_A : 8;
u32 field_B : 8;
};
struct UnknownBattleLinkStruct
{
u8 field_0[0x2f];
struct UnknownBattleLinkSubStruct2 pos[2][2]; // [side][flank]
struct UnknownBattleLinkSubStruct1 side[2]; // [side]
};
extern struct StringInfoBattle *gStringInfo;
// this file's functions
bool8 sub_817E0B8(u16 stringId);
void sub_817E684(u8 arg0, u16 moveSlotId, u8 arg2, u8 arg3);
void sub_817EECC(void);
void sub_817C95C(u16 stringId)
{
struct UnknownBattleLinkStruct *structPtr;
u8 atkSide, defSide, effSide, scriptingSide;
struct Pokemon *atkMon, *defMon;
u8 moveSlot;
u8 atkFlank, defFlank, effFlank;
if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && stringId != STRINGID_ITDOESNTAFFECT && stringId != STRINGID_NOTVERYEFFECTIVE)
return;
structPtr = (void*)(&gBattleStruct->field_204);
atkSide = GetBattlerSide(gBattlerAttacker);
defSide = GetBattlerSide(gBattlerTarget);
effSide = GetBattlerSide(gEffectBattler);
scriptingSide = GetBattlerSide(gStringInfo->scrActive);
if (atkSide == B_SIDE_PLAYER)
atkMon = &gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]];
else
atkMon = &gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker]];
if (defSide == B_SIDE_PLAYER)
defMon = &gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]];
else
defMon = &gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker]];
moveSlot = GetBattlerMoveSlotId(gBattlerAttacker, gStringInfo->currentMove);
if (moveSlot >= 4 && sub_817E0B8(stringId) && stringId >= BATTLESTRINGS_ID_ADDER)
{
return;
}
atkFlank = GetBattlerPosition(gBattlerAttacker) / 2;
defFlank = GetBattlerPosition(gBattlerTarget) / 2;
effFlank = GetBattlerPosition(gEffectBattler) / 2;
switch (stringId)
{
case STRINGID_ITDOESNTAFFECT:
sub_817E684(1, moveSlot, 2, 0);
if (!(gBattleTypeFlags & BATTLE_TYPE_LINK))
sub_817EECC();
break;
case STRINGID_NOTVERYEFFECTIVE:
sub_817E684(1, moveSlot, 1, 0);
if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && GetMonData(defMon, MON_DATA_HP, NULL) != 0)
sub_817EECC();
break;
case STRINGID_SUPEREFFECTIVE:
sub_817E684(1, moveSlot, 0, 0);
break;
case STRINGID_PKMNFORESAWATTACK:
structPtr->side[atkSide].field_8_1 = gBattlerPartyIndexes[gBattlerAttacker];
structPtr->side[atkSide].field_0_1 = moveSlot;
break;
case STRINGID_PKMNCHOSEXASDESTINY:
structPtr->side[atkSide].field_8_2 = gBattlerPartyIndexes[gBattlerAttacker] + 1;
structPtr->side[atkSide].field_0_2 = moveSlot;
break;
case STRINGID_FAINTINTHREE:
structPtr->side[atkSide].field_8_3 = gBattlerPartyIndexes[gBattlerAttacker] + 1;
structPtr->side[atkSide].field_0_3 = moveSlot;
structPtr->side[atkSide].field_4_1 = 1;
break;
case STRINGID_PKMNPERISHCOUNTFELL:
if (gBattleTextBuff1[4] == 0)
structPtr->side[atkSide].field_3_0 = 10;
break;
case STRINGID_PKMNWISHCAMETRUE:
if (structPtr->side[defSide].field_8_4 != 0)
sub_817E684(2, 3, defSide, (structPtr->side[defSide].field_8_4 - 1) * 4 + structPtr->side[defSide].field_0_4);
break;
case STRINGID_PKMNWANTSGRUDGE:
structPtr->side[atkSide].field_8_5 = gBattlerPartyIndexes[gBattlerAttacker] + 1;
structPtr->side[atkSide].field_0_5 = moveSlot;
break;
case STRINGID_PKMNLOSTPPGRUDGE:
if (structPtr->side[defSide].field_8_5 != 0)
sub_817E684(2, 4, defSide, (structPtr->side[defSide].field_8_5 - 1) * 4 + structPtr->side[defSide].field_0_5);
break;
case STRINGID_PKMNTRYINGTOTAKEFOE:
structPtr->side[atkSide].field_0_6 = gBattlerPartyIndexes[gBattlerAttacker] + 1;
structPtr->side[atkSide].field_0_7 = moveSlot;
break;
case STRINGID_PKMNTOOKFOE:
if (structPtr->side[defSide].field_0_6 != 0)
structPtr->side[defSide].field_3_0 = 11;
break;
case STRINGID_PKMNPLANTEDROOTS:
structPtr->pos[atkSide][atkFlank].field_5_0 = gBattlerPartyIndexes[gBattlerAttacker] + 1;
structPtr->pos[atkSide][atkFlank].field_5_3 = moveSlot;
break;
case STRINGID_PKMNABSORBEDNUTRIENTS:
if (structPtr->pos[atkSide][atkFlank].field_5_0 != 0)
sub_817E684(2, 6, atkSide, (structPtr->pos[atkSide][atkFlank].field_5_0 - 1) * 4 + structPtr->pos[atkSide][atkFlank].field_5_3);
break;
case STRINGID_PKMNANCHOREDITSELF:
if (structPtr->pos[defSide][defFlank].field_5_0 != 0)
sub_817E684(2, 6, defSide, (structPtr->pos[defSide][defFlank].field_5_0 - 1) * 4 + structPtr->pos[defSide][defFlank].field_5_3);
break;
case STRINGID_PKMNTRANSFORMEDINTO:
gBattleStruct->field_B3 = 1;
break;
case STRINGID_CRITICALHIT:
sub_817E684(0x12, moveSlot, 0, 0);
break;
case STRINGID_PKMNSSTATCHANGED:
if (gBattleTextBuff1[2] != 0)
{
u16 *statStringId = (void*)(gBattleTextBuff2 + 2);
if (*statStringId == STRINGID_STATSHARPLY)
sub_817E684(0x17, moveSlot, gBattleTextBuff1[2] - 1, 0);
else
sub_817E684(0x16, moveSlot, gBattleTextBuff1[2] - 1, 0);
}
break;
case STRINGID_PKMNSSTATCHANGED2:
if (gBattleTextBuff1[2] != 0)
{
if (gBattlerAttacker == gBattlerTarget)
{
u16 *statStringId = (void*)(gBattleTextBuff2 + 2);
if (*statStringId == STRINGID_STATSHARPLY)
sub_817E684(0x17, moveSlot, gBattleTextBuff1[2] - 1, 0);
else
sub_817E684(0x16, moveSlot, gBattleTextBuff1[2] - 1, 0);
}
else
{
sub_817E684(0x1B, moveSlot, gBattleTextBuff1[2] - 1, 0);
}
}
break;
case STRINGID_PKMNSSTATCHANGED3:
if (gBattleTextBuff1[2] != 0)
sub_817E684(0x18, moveSlot, gBattleTextBuff1[2] - 1, 0);
break;
case STRINGID_PKMNSSTATCHANGED4:
if (gBattleTextBuff1[2] != 0)
{
u16 *statStringId = (void*)(gBattleTextBuff2 + 2);
if (*statStringId == STRINGID_STATHARSHLY)
sub_817E684(0x1A, moveSlot, gBattleTextBuff1[2] - 1, 0);
else
sub_817E684(0x19, moveSlot, gBattleTextBuff1[2] - 1, 0);
}
break;
case STRINGID_PKMNLAIDCURSE:
structPtr->pos[defSide][defFlank].field_0_0 = gBattlerPartyIndexes[gBattlerAttacker] + 1;
structPtr->pos[defSide][defFlank].field_2_3 = moveSlot;
break;
case STRINGID_PKMNAFFLICTEDBYCURSE:
if (GetMonData(atkMon, MON_DATA_HP, NULL) != 0
&& structPtr->pos[atkSide][atkFlank].field_0_0 != 0)
{
sub_817E684(8, 0, structPtr->pos[atkSide][atkFlank].field_0_0 - 1, structPtr->pos[atkSide][atkFlank].field_2_3);
structPtr->side[atkSide].field_3_0 = 1;
structPtr->side[atkSide].field_3_1 = atkFlank;
}
break;
case STRINGID_PKMNSEEDED:
structPtr->pos[defSide][defFlank].field_0_3 = gBattlerPartyIndexes[gBattlerAttacker] + 1;
structPtr->pos[defSide][defFlank].field_2_5 = moveSlot;
break;
case STRINGID_PKMNSAPPEDBYLEECHSEED:
if (structPtr->pos[atkSide][atkFlank].field_0_3 != 0)
{
sub_817E684(8, 1, structPtr->pos[atkSide][atkFlank].field_0_3 - 1, structPtr->pos[atkSide][atkFlank].field_2_5);
structPtr->side[atkSide].field_3_0 = 2;
structPtr->side[atkSide].field_3_1 = atkFlank;
}
break;
case STRINGID_PKMNFELLINTONIGHTMARE:
structPtr->pos[defSide][defFlank].field_0_6 = gBattlerPartyIndexes[gBattlerAttacker] + 1;
structPtr->pos[defSide][defFlank].field_2_7 = moveSlot;
break;
case STRINGID_PKMNLOCKEDINNIGHTMARE:
if (GetMonData(atkMon, MON_DATA_HP, NULL) != 0
&& structPtr->pos[atkSide][atkFlank].field_0_6 != 0)
{
sub_817E684(8, 5, structPtr->pos[atkSide][atkFlank].field_0_6 - 1, structPtr->pos[atkSide][atkFlank].field_2_7);
structPtr->side[atkSide].field_3_0 = 5;
structPtr->side[atkSide].field_3_1 = atkFlank;
}
break;
case STRINGID_PKMNSQUEEZEDBYBIND:
case STRINGID_PKMNTRAPPEDINVORTEX:
case STRINGID_PKMNWRAPPEDBY:
case STRINGID_PKMNCLAMPED:
case STRINGID_PKMNTRAPPEDBYSANDTOMB:
structPtr->pos[defSide][defFlank].field_1_1 = gBattlerPartyIndexes[gBattlerAttacker] + 1;
structPtr->pos[defSide][defFlank].field_3_0 = moveSlot;
break;
case STRINGID_PKMNHURTBY:
if (GetMonData(atkMon, MON_DATA_HP, NULL) != 0
&& structPtr->pos[atkSide][atkFlank].field_1_1 != 0)
{
sub_817E684(8, 6, structPtr->pos[atkSide][atkFlank].field_1_1 - 1, structPtr->pos[atkSide][atkFlank].field_3_0);
structPtr->side[atkSide].field_3_0 = 6;
structPtr->side[atkSide].field_3_1 = atkFlank;
}
break;
case STRINGID_PKMNWASBURNED:
break;
}
}
+369 -369
View File
@@ -516,375 +516,375 @@ const u8 gText_Trainer2LoseText[];
const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT] = const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT] =
{ {
gText_Trainer1LoseText, gText_Trainer1LoseText, // 12
gText_PkmnGainedEXP, gText_PkmnGainedEXP, // 13
gText_PkmnGrewToLv, gText_PkmnGrewToLv, // 14
gText_PkmnLearnedMove, gText_PkmnLearnedMove, // 15
gText_TryToLearnMove1, gText_TryToLearnMove1, // 16
gText_TryToLearnMove2, gText_TryToLearnMove2, // 17
gText_TryToLearnMove3, gText_TryToLearnMove3, // 18
gText_PkmnForgotMove, gText_PkmnForgotMove, // 19
gText_StopLearningMove, gText_StopLearningMove, // 20
gText_DidNotLearnMove, gText_DidNotLearnMove, // 21
gText_PkmnLearnedMove2, gText_PkmnLearnedMove2, // 22
gText_AttackMissed, gText_AttackMissed, // 23
gText_PkmnProtectedItself, gText_PkmnProtectedItself, // 24
gText_StatsWontIncrease2, gText_StatsWontIncrease2, // 25
gText_AvoidedDamage, gText_AvoidedDamage, // 26
gText_ItDoesntAffect, gText_ItDoesntAffect, // 27
gText_AttackerFainted, gText_AttackerFainted, // 28
gText_TargetFainted, gText_TargetFainted, // 29
gText_PlayerGotMoney, gText_PlayerGotMoney, // 30
gText_PlayerWhiteout, gText_PlayerWhiteout, // 31
gText_PlayerWhiteout2, gText_PlayerWhiteout2, // 32
gText_PreventsEscape, gText_PreventsEscape, // 33
gText_HitXTimes, gText_HitXTimes, // 34
gText_PkmnFellAsleep, gText_PkmnFellAsleep, // 35
gText_PkmnMadeSleep, gText_PkmnMadeSleep, // 36
gText_PkmnAlreadyAsleep, gText_PkmnAlreadyAsleep, // 37
gText_PkmnAlreadyAsleep2, gText_PkmnAlreadyAsleep2, // 38
gText_PkmnWasntAffected, gText_PkmnWasntAffected, // 39
gText_PkmnWasPoisoned, gText_PkmnWasPoisoned, // 40
gText_PkmnPoisonedBy, gText_PkmnPoisonedBy, // 41
gText_PkmnHurtByPoison, gText_PkmnHurtByPoison, // 42
gText_PkmnAlreadyPoisoned, gText_PkmnAlreadyPoisoned, // 43
gText_PkmnBadlyPoisoned, gText_PkmnBadlyPoisoned, // 44
gText_PkmnEnergyDrained, gText_PkmnEnergyDrained, // 45
gText_PkmnWasBurned, gText_PkmnWasBurned, // 46
gText_PkmnBurnedBy, gText_PkmnBurnedBy, // 47
gText_PkmnHurtByBurn, gText_PkmnHurtByBurn, // 48
gText_PkmnWasFrozen, gText_PkmnWasFrozen, // 49
gText_PkmnFrozenBy, gText_PkmnFrozenBy, // 50
gText_PkmnIsFrozen, gText_PkmnIsFrozen, // 51
gText_PkmnWasDefrosted, gText_PkmnWasDefrosted, // 52
gText_PkmnWasDefrosted2, gText_PkmnWasDefrosted2, // 53
gText_PkmnWasDefrostedBy, gText_PkmnWasDefrostedBy, // 54
gText_PkmnWasParalyzed, gText_PkmnWasParalyzed, // 55
gText_PkmnWasParalyzedBy, gText_PkmnWasParalyzedBy, // 56
gText_PkmnIsParalyzed, gText_PkmnIsParalyzed, // 57
gText_PkmnIsAlreadyParalyzed, gText_PkmnIsAlreadyParalyzed, // 58
gText_PkmnHealedParalysis, gText_PkmnHealedParalysis, // 59
gText_PkmnDreamEaten, gText_PkmnDreamEaten, // 60
gText_StatsWontIncrease, gText_StatsWontIncrease, // 61
gText_StatsWontDecrease, gText_StatsWontDecrease, // 62
gText_TeamStoppedWorking, gText_TeamStoppedWorking, // 63
gText_FoeStoppedWorking, gText_FoeStoppedWorking, // 64
gText_PkmnIsConfused, gText_PkmnIsConfused, // 65
gText_PkmnHealedConfusion, gText_PkmnHealedConfusion, // 66
gText_PkmnWasConfused, gText_PkmnWasConfused, // 67
gText_PkmnAlreadyConfused, gText_PkmnAlreadyConfused, // 68
gText_PkmnFellInLove, gText_PkmnFellInLove, // 69
gText_PkmnInLove, gText_PkmnInLove, // 70
gText_PkmnImmobilizedByLove, gText_PkmnImmobilizedByLove, // 71
gText_PkmnBlownAway, gText_PkmnBlownAway, // 72
gText_PkmnChangedType, gText_PkmnChangedType, // 73
gText_PkmnFlinched, gText_PkmnFlinched, // 74
gText_PkmnRegainedHealth, gText_PkmnRegainedHealth, // 75
gText_PkmnHPFull, gText_PkmnHPFull, // 76
gText_PkmnRaisedSpDef, gText_PkmnRaisedSpDef, // 77
gText_PkmnRaisedDef, gText_PkmnRaisedDef, // 78
gText_PkmnCoveredByVeil, gText_PkmnCoveredByVeil, // 79
gText_PkmnUsedSafeguard, gText_PkmnUsedSafeguard, // 80
gText_PkmnSafeguardExpired, gText_PkmnSafeguardExpired, // 81
gText_PkmnWentToSleep, gText_PkmnWentToSleep, // 82
gText_PkmnSleptHealthy, gText_PkmnSleptHealthy, // 83
gText_PkmnWhippedWhirlwind, gText_PkmnWhippedWhirlwind, // 84
gText_PkmnTookSunlight, gText_PkmnTookSunlight, // 85
gText_PkmnLoweredHead, gText_PkmnLoweredHead, // 86
gText_PkmnIsGlowing, gText_PkmnIsGlowing, // 87
gText_PkmnFlewHigh, gText_PkmnFlewHigh, // 88
gText_PkmnDugHole, gText_PkmnDugHole, // 89
gText_PkmnSqueezedByBind, gText_PkmnSqueezedByBind, // 90
gText_PkmnTrappedInVortex, gText_PkmnTrappedInVortex, // 91
gText_PkmnWrappedBy, gText_PkmnWrappedBy, // 92
gText_PkmnClamped, gText_PkmnClamped, // 93
gText_PkmnHurtBy, gText_PkmnHurtBy, // 94
gText_PkmnFreedFrom, gText_PkmnFreedFrom, // 95
gText_PkmnCrashed, gText_PkmnCrashed, // 96
gText_PkmnShroudedInMist, gText_PkmnShroudedInMist, // 97
gText_PkmnProtectedByMist, gText_PkmnProtectedByMist, // 98
gText_PkmnGettingPumped, gText_PkmnGettingPumped, // 99
gText_PkmnHitWithRecoil, gText_PkmnHitWithRecoil, // 100
gText_PkmnProtectedItself2, gText_PkmnProtectedItself2, // 101
gText_PkmnBuffetedBySandstorm, gText_PkmnBuffetedBySandstorm, // 102
gText_PkmnPeltedByHail, gText_PkmnPeltedByHail, // 103
gText_PkmnSeeded, gText_PkmnSeeded, // 104
gText_PkmnEvadedAttack, gText_PkmnEvadedAttack, // 105
gText_PkmnSappedByLeechSeed, gText_PkmnSappedByLeechSeed, // 106
gText_PkmnFastAsleep, gText_PkmnFastAsleep, // 107
gText_PkmnWokeUp, gText_PkmnWokeUp, // 108
gText_PkmnUproarKeptAwake, gText_PkmnUproarKeptAwake, // 109
gText_PkmnWokeUpInUproar, gText_PkmnWokeUpInUproar, // 110
gText_PkmnCausedUproar, gText_PkmnCausedUproar, // 111
gText_PkmnMakingUproar, gText_PkmnMakingUproar, // 112
gText_PkmnCalmedDown, gText_PkmnCalmedDown, // 113
gText_PkmnCantSleepInUproar, gText_PkmnCantSleepInUproar, // 114
gText_PkmnStockpiled, gText_PkmnStockpiled, // 115
gText_PkmnCantStockpile, gText_PkmnCantStockpile, // 116
gText_PkmnCantSleepInUproar2, gText_PkmnCantSleepInUproar2, // 117
gText_UproarKeptPkmnAwake, gText_UproarKeptPkmnAwake, // 118
gText_PkmnStayedAwakeUsing, gText_PkmnStayedAwakeUsing, // 119
gText_PkmnStoringEnergy, gText_PkmnStoringEnergy, // 120
gText_PkmnUnleashedEnergy, gText_PkmnUnleashedEnergy, // 121
gText_PkmnFatigueConfusion, gText_PkmnFatigueConfusion, // 122
gText_PkmnPickedUpItem, gText_PkmnPickedUpItem, // 123
gText_PkmnUnaffected, gText_PkmnUnaffected, // 124
gText_PkmnTransformedInto, gText_PkmnTransformedInto, // 125
gText_PkmnMadeSubstitute, gText_PkmnMadeSubstitute, // 126
gText_PkmnHasSubstitute, gText_PkmnHasSubstitute, // 127
gText_SubstituteDamaged, gText_SubstituteDamaged, // 128
gText_PkmnSubstituteFaded, gText_PkmnSubstituteFaded, // 129
gText_PkmnMustRecharge, gText_PkmnMustRecharge, // 130
gText_PkmnRageBuilding, gText_PkmnRageBuilding, // 131
gText_PkmnMoveWasDisabled, gText_PkmnMoveWasDisabled, // 132
gText_PkmnMoveIsDisabled, gText_PkmnMoveIsDisabled, // 133
gText_PkmnMoveDisabledNoMore, gText_PkmnMoveDisabledNoMore, // 134
gText_PkmnGotEncore, gText_PkmnGotEncore, // 135
gText_PkmnEncoreEnded, gText_PkmnEncoreEnded, // 136
gText_PkmnTookAim, gText_PkmnTookAim, // 137
gText_PkmnSketchedMove, gText_PkmnSketchedMove, // 138
gText_PkmnTryingToTakeFoe, gText_PkmnTryingToTakeFoe, // 139
gText_PkmnTookFoe, gText_PkmnTookFoe, // 140
gText_PkmnReducedPP, gText_PkmnReducedPP, // 141
gText_PkmnStoleItem, gText_PkmnStoleItem, // 142
gText_TargetCantEscapeNow, gText_TargetCantEscapeNow, // 143
gText_PkmnFellIntoNightmare, gText_PkmnFellIntoNightmare, // 144
gText_PkmnLockedInNightmare, gText_PkmnLockedInNightmare, // 145
gText_PkmnLaidCurse, gText_PkmnLaidCurse, // 146
gText_PkmnAfflictedByCurse, gText_PkmnAfflictedByCurse, // 147
gText_SpikesScattered, gText_SpikesScattered, // 148
gText_PkmnHurtBySpikes, gText_PkmnHurtBySpikes, // 149
gText_PkmnIdentified, gText_PkmnIdentified, // 150
gText_PkmnPerishCountFell, gText_PkmnPerishCountFell, // 151
gText_PkmnBracedItself, gText_PkmnBracedItself, // 152
gText_PkmnEnduredHit, gText_PkmnEnduredHit, // 153
gText_MagnitudeStrength, gText_MagnitudeStrength, // 154
gText_PkmnCutHPMaxedAttack, gText_PkmnCutHPMaxedAttack, // 155
gText_PkmnCopiedStatChanges, gText_PkmnCopiedStatChanges, // 156
gText_PkmnGotFree, gText_PkmnGotFree, // 157
gText_PkmnShedLeechSeed, gText_PkmnShedLeechSeed, // 158
gText_PkmnBlewAwaySpikes, gText_PkmnBlewAwaySpikes, // 159
gText_PkmnFledFromBattle, gText_PkmnFledFromBattle, // 160
gText_PkmnForesawAttack, gText_PkmnForesawAttack, // 161
gText_PkmnTookAttack, gText_PkmnTookAttack, // 162
gText_PkmnAttack, gText_PkmnAttack, // 163
gText_PkmnCenterAttention, gText_PkmnCenterAttention, // 164
gText_PkmnChargingPower, gText_PkmnChargingPower, // 165
gText_NaturePowerTurnedInto, gText_NaturePowerTurnedInto, // 166
gText_PkmnStatusNormal, gText_PkmnStatusNormal, // 167
gText_PkmnHasNoMovesLeft, gText_PkmnHasNoMovesLeft, // 168
gText_PkmnSubjectedToTorment, gText_PkmnSubjectedToTorment, // 169
gText_PkmnCantUseMoveTorment, gText_PkmnCantUseMoveTorment, // 170
gText_PkmnTighteningFocus, gText_PkmnTighteningFocus, // 171
gText_PkmnFellForTaunt, gText_PkmnFellForTaunt, // 172
gText_PkmnCantUseMoveTaunt, gText_PkmnCantUseMoveTaunt, // 173
gText_PkmnReadyToHelp, gText_PkmnReadyToHelp, // 174
gText_PkmnSwitchedItems, gText_PkmnSwitchedItems, // 175
gText_PkmnCopiedFoe, gText_PkmnCopiedFoe, // 176
gText_PkmnMadeWish, gText_PkmnMadeWish, // 177
gText_PkmnWishCameTrue, gText_PkmnWishCameTrue, // 178
gText_PkmnPlantedRoots, gText_PkmnPlantedRoots, // 179
gText_PkmnAbsorbedNutrients, gText_PkmnAbsorbedNutrients, // 180
gText_PkmnAnchoredItself, gText_PkmnAnchoredItself, // 181
gText_PkmnWasMadeDrowsy, gText_PkmnWasMadeDrowsy, // 182
gText_PkmnKnockedOff, gText_PkmnKnockedOff, // 183
gText_PkmnSwappedAbilities, gText_PkmnSwappedAbilities, // 184
gText_PkmnSealedOpponentMove, gText_PkmnSealedOpponentMove, // 185
gText_PkmnCantUseMoveSealed, gText_PkmnCantUseMoveSealed, // 186
gText_PkmnWantsGrudge, gText_PkmnWantsGrudge, // 187
gText_PkmnLostPPGrudge, gText_PkmnLostPPGrudge, // 188
gText_PkmnShroudedItself, gText_PkmnShroudedItself, // 189
gText_PkmnMoveBounced, gText_PkmnMoveBounced, // 190
gText_PkmnWaitsForTarget, gText_PkmnWaitsForTarget, // 191
gText_PkmnSnatchedMove, gText_PkmnSnatchedMove, // 192
gText_PkmnMadeItRain, gText_PkmnMadeItRain, // 193
gText_PkmnRaisedSpeed, gText_PkmnRaisedSpeed, // 194
gText_PkmnProtectedBy, gText_PkmnProtectedBy, // 195
gText_PkmnPreventsUsage, gText_PkmnPreventsUsage, // 196
gText_PkmnRestoredHPUsing, gText_PkmnRestoredHPUsing, // 197
gText_PkmnChangedTypeWith, gText_PkmnChangedTypeWith, // 198
gText_PkmnPreventsParalysisWith, gText_PkmnPreventsParalysisWith, // 199
gText_PkmnPreventsRomanceWith, gText_PkmnPreventsRomanceWith, // 200
gText_PkmnPreventsPoisoningWith, gText_PkmnPreventsPoisoningWith, // 201
gText_PkmnPreventsConfusionWith, gText_PkmnPreventsConfusionWith, // 202
gText_PkmnRaisedFirePowerWith, gText_PkmnRaisedFirePowerWith, // 203
gText_PkmnAnchorsItselfWith, gText_PkmnAnchorsItselfWith, // 204
gText_PkmnCutsAttackWith, gText_PkmnCutsAttackWith, // 205
gText_PkmnPreventsStatLossWith, gText_PkmnPreventsStatLossWith, // 206
gText_PkmnHurtsWith, gText_PkmnHurtsWith, // 207
gText_PkmnTraced, gText_PkmnTraced, // 208
gText_StatSharply, gText_StatSharply, // 209
gText_StatRose, gText_StatRose, // 210
gText_StatHarshly, gText_StatHarshly, // 211
gText_StatFell, gText_StatFell, // 212
gText_PkmnsStatChanged, gText_PkmnsStatChanged, // 213
gText_PkmnsStatChanged2, gText_PkmnsStatChanged2, // 214
gText_PkmnsStatChanged3, gText_PkmnsStatChanged3, // 215
gText_PkmnsStatChanged4, gText_PkmnsStatChanged4, // 216
gText_CriticalHit, gText_CriticalHit, // 217
gText_OneHitKO, gText_OneHitKO, // 218
gText_123Poof, gText_123Poof, // 219
gText_AndEllipsis, gText_AndEllipsis, // 220
gText_NotVeryEffective, gText_NotVeryEffective, // 221
gText_SuperEffective, gText_SuperEffective, // 222
gText_GotAwaySafely, gText_GotAwaySafely, // 223
gText_WildPkmnFled, gText_WildPkmnFled, // 224
gText_NoRunningFromTrainers, gText_NoRunningFromTrainers, // 225
gText_CantEscape, gText_CantEscape, // 226
gText_DontLeaveBirch, gText_DontLeaveBirch, // 227
gText_ButNothingHappened, gText_ButNothingHappened, // 228
gText_ButItFailed, gText_ButItFailed, // 229
gText_ItHurtConfusion, gText_ItHurtConfusion, // 230
gText_MirrorMoveFailed, gText_MirrorMoveFailed, // 231
gText_StartedToRain, gText_StartedToRain, // 232
gText_DownpourStarted, gText_DownpourStarted, // 233
gText_RainContinues, gText_RainContinues, // 234
gText_DownpourContinues, gText_DownpourContinues, // 235
gText_RainStopped, gText_RainStopped, // 236
gText_SandstormBrewed, gText_SandstormBrewed, // 237
gText_SandstormRages, gText_SandstormRages, // 238
gText_SandstormSubsided, gText_SandstormSubsided, // 239
gText_SunlightGotBright, gText_SunlightGotBright, // 240
gText_SunlightStrong, gText_SunlightStrong, // 241
gText_SunlightFaded, gText_SunlightFaded, // 242
gText_StartedHail, gText_StartedHail, // 243
gText_HailContinues, gText_HailContinues, // 244
gText_HailStopped, gText_HailStopped, // 245
gText_FailedToSpitUp, gText_FailedToSpitUp, // 246
gText_FailedToSwallow, gText_FailedToSwallow, // 247
gText_WindBecameHeatWave, gText_WindBecameHeatWave, // 248
gText_StatChangesGone, gText_StatChangesGone, // 249
gText_CoinsScattered, gText_CoinsScattered, // 250
gText_TooWeakForSubstitute, gText_TooWeakForSubstitute, // 251
gText_SharedPain, gText_SharedPain, // 252
gText_BellChimed, gText_BellChimed, // 253
gText_FaintInThree, gText_FaintInThree, // 254
gText_NoPPLeft, gText_NoPPLeft, // 255
gText_ButNoPPLeft, gText_ButNoPPLeft, // 256
gText_PlayerUsedItem, gText_PlayerUsedItem, // 257
gText_WallyUsedItem, gText_WallyUsedItem, // 258
gText_TrainerBlockedBall, gText_TrainerBlockedBall, // 259
gText_DontBeAThief, gText_DontBeAThief, // 260
gText_ItDodgedBall, gText_ItDodgedBall, // 261
gText_YouMissedPkmn, gText_YouMissedPkmn, // 262
gText_PkmnBrokeFree, gText_PkmnBrokeFree, // 263
gText_ItAppearedCaught, gText_ItAppearedCaught, // 264
gText_AarghAlmostHadIt, gText_AarghAlmostHadIt, // 265
gText_ShootSoClose, gText_ShootSoClose, // 266
gText_GotchaPkmnCaught, gText_GotchaPkmnCaught, // 267
gText_GotchaPkmnCaught2, gText_GotchaPkmnCaught2, // 268
gText_GiveNicknameCaptured, gText_GiveNicknameCaptured, // 269
gText_PkmnSentToPC, gText_PkmnSentToPC, // 270
gText_PkmnDataAddedToDex, gText_PkmnDataAddedToDex, // 271
gText_ItIsRaining, gText_ItIsRaining, // 272
gText_SandstormIsRaging, gText_SandstormIsRaging, // 273
gText_CantEscape2, gText_CantEscape2, // 274
gText_PkmnIgnoresAsleep, gText_PkmnIgnoresAsleep, // 275
gText_PkmnIgnoredOrders, gText_PkmnIgnoredOrders, // 276
gText_PkmnBeganToNap, gText_PkmnBeganToNap, // 277
gText_PkmnLoafing, gText_PkmnLoafing, // 278
gText_PkmnWontObey, gText_PkmnWontObey, // 279
gText_PkmnTurnedAway, gText_PkmnTurnedAway, // 280
gText_PkmnPretendNotNotice, gText_PkmnPretendNotNotice, // 281
gText_EnemyAboutToSwitchPkmn, gText_EnemyAboutToSwitchPkmn, // 282
gText_CreptCloser, gText_CreptCloser, // 283
gText_CantGetCloser, gText_CantGetCloser, // 284
gText_PkmnWatchingCarefully, gText_PkmnWatchingCarefully, // 285
gText_PkmnCuriousAboutX, gText_PkmnCuriousAboutX, // 286
gText_PkmnEnthralledByX, gText_PkmnEnthralledByX, // 287
gText_PkmnIgnoredX, gText_PkmnIgnoredX, // 288
gText_ThrewPokeblockAtPkmn, gText_ThrewPokeblockAtPkmn, // 289
gText_OutOfSafariBalls, gText_OutOfSafariBalls, // 290
gText_PkmnsItemCuredParalysis, gText_PkmnsItemCuredParalysis, // 291
gText_PkmnsItemCuredPoison, gText_PkmnsItemCuredPoison, // 292
gText_PkmnsItemHealedBurn, gText_PkmnsItemHealedBurn, // 293
gText_PkmnsItemDefrostedIt, gText_PkmnsItemDefrostedIt, // 294
gText_PkmnsItemWokeIt, gText_PkmnsItemWokeIt, // 295
gText_PkmnsItemSnappedOut, gText_PkmnsItemSnappedOut, // 296
gText_PkmnsItemCuredProblem, gText_PkmnsItemCuredProblem, // 297
gText_PkmnsItemRestoredHealth, gText_PkmnsItemRestoredHealth, // 298
gText_PkmnsItemRestoredPP, gText_PkmnsItemRestoredPP, // 299
gText_PkmnsItemRestoredStatus, gText_PkmnsItemRestoredStatus, // 300
gText_PkmnsItemRestoredHPALittle, gText_PkmnsItemRestoredHPALittle, // 301
gText_ItemAllowsOnlyYMove, gText_ItemAllowsOnlyYMove, // 302
gText_PkmnHungOnWithX, gText_PkmnHungOnWithX, // 303
gText_EmptyString3, gText_EmptyString3, // 304
gText_PkmnsXPreventsBurns, gText_PkmnsXPreventsBurns, // 305
gText_PkmnsXBlocksY, gText_PkmnsXBlocksY, // 306
gText_PkmnsXRestoredHPALittle2, gText_PkmnsXRestoredHPALittle2, // 307
gText_PkmnsXWhippedUpSandstorm, gText_PkmnsXWhippedUpSandstorm, // 308
gText_PkmnsXPreventsYLoss, gText_PkmnsXPreventsYLoss, // 309
gText_PkmnsXInfatuatedY, gText_PkmnsXInfatuatedY, // 310
gText_PkmnsXMadeYIneffective, gText_PkmnsXMadeYIneffective, // 311
gText_PkmnsXCuredYProblem, gText_PkmnsXCuredYProblem, // 312
gText_ItSuckedLiquidOoze, gText_ItSuckedLiquidOoze, // 313
gText_PkmnTransformed, gText_PkmnTransformed, // 314
gText_ElectricityWeakened, gText_ElectricityWeakened, // 315
gText_FireWeakened, gText_FireWeakened, // 316
gText_PkmnHidUnderwater, gText_PkmnHidUnderwater, // 317
gText_PkmnSprangUp, gText_PkmnSprangUp, // 318
gText_HMMovesCantBeForgotten, gText_HMMovesCantBeForgotten, // 319
gText_XFoundOneY, gText_XFoundOneY, // 320
gText_PlayerDefeatedLinkTrainerTrainer1, gText_PlayerDefeatedLinkTrainerTrainer1, // 321
gText_SoothingAroma, gText_SoothingAroma, // 322
gText_ItemsCantBeUsedNow, gText_ItemsCantBeUsedNow, // 323
gText_ForXCommaYZ, gText_ForXCommaYZ, // 324
gText_UsingXTheYOfZN, gText_UsingXTheYOfZN, // 325
gText_PkmnUsedXToGetPumped, gText_PkmnUsedXToGetPumped, // 326
gText_PkmnsXMadeYUseless, gText_PkmnsXMadeYUseless, // 327
gText_PkmnTrappedBySandTomb, gText_PkmnTrappedBySandTomb, // 328
gText_EmptyString4, gText_EmptyString4, // 329
gText_ABoosted, gText_ABoosted, // 330
gText_PkmnsXIntensifiedSun, gText_PkmnsXIntensifiedSun, // 331
gText_PkmnMakesGroundMiss, gText_PkmnMakesGroundMiss, // 332
gText_YouThrowABallNowRight, gText_YouThrowABallNowRight, // 333
gText_PkmnsXTookAttack, gText_PkmnsXTookAttack, // 334
gText_PkmnChoseXAsDestiny, gText_PkmnChoseXAsDestiny, // 335
gText_PkmnLostFocus, gText_PkmnLostFocus, // 336
gText_UseNextPkmn, gText_UseNextPkmn, // 337
gText_PkmnFledUsingIts, gText_PkmnFledUsingIts, // 338
gText_PkmnFledUsing, gText_PkmnFledUsing, // 339
gText_PkmnWasDraggedOut, gText_PkmnWasDraggedOut, // 340
gText_PreventedFromWorking, gText_PreventedFromWorking, // 341
gText_PkmnsItemNormalizedStatus, gText_PkmnsItemNormalizedStatus, // 342
gText_Trainer1UsedItem, gText_Trainer1UsedItem, // 343
gText_BoxIsFull, gText_BoxIsFull, // 344
gText_PkmnAvoidedAttack, gText_PkmnAvoidedAttack, // 345
gText_PkmnsXMadeItIneffective, gText_PkmnsXMadeItIneffective, // 346
gText_PkmnsXPreventsFlinching, gText_PkmnsXPreventsFlinching, // 347
gText_PkmnAlreadyHasBurn, gText_PkmnAlreadyHasBurn, // 348
gText_StatsWontDecrease2, gText_StatsWontDecrease2, // 349
gText_PkmnsXBlocksY2, gText_PkmnsXBlocksY2, // 350
gText_PkmnsXWoreOff, gText_PkmnsXWoreOff, // 351
gText_PkmnRaisedDefALittle, gText_PkmnRaisedDefALittle, // 352
gText_PkmnRaisedSpDefALittle, gText_PkmnRaisedSpDefALittle, // 353
gText_TheWallShattered, gText_TheWallShattered, // 354
gText_PkmnsXPreventsYsZ, gText_PkmnsXPreventsYsZ, // 355
gText_PkmnsXCuredItsYProblem, gText_PkmnsXCuredItsYProblem, // 356
gText_AttackerCantEscape, gText_AttackerCantEscape, // 357
gText_PkmnObtainedX, gText_PkmnObtainedX, // 358
gText_PkmnObtainedX2, gText_PkmnObtainedX2, // 359
gText_PkmnObtainedXYObtainedZ, gText_PkmnObtainedXYObtainedZ, // 360
gText_ButNoEffect, gText_ButNoEffect, // 361
gText_PkmnsXHadNoEffectOnY, gText_PkmnsXHadNoEffectOnY, // 362
gText_TwoInGameTrainersDefeated, gText_TwoInGameTrainersDefeated, // 363
gText_Trainer2LoseText, gText_Trainer2LoseText, // 364
gText_PkmnIncapableOfPower, gText_PkmnIncapableOfPower, // 365
gText_GlintAppearsInEye, gText_GlintAppearsInEye, // 366
gText_PkmnGettingIntoPosition, gText_PkmnGettingIntoPosition, // 367
gText_PkmnBeganGrowlingDeeply, gText_PkmnBeganGrowlingDeeply, // 368
gText_PkmnEagerForMore, gText_PkmnEagerForMore, // 369
gText_DefeatedOpponentByReferee, gText_DefeatedOpponentByReferee, // 370
gText_LostToOpponentByReferee, gText_LostToOpponentByReferee, // 371
gText_TiedOpponentByReferee, gText_TiedOpponentByReferee, // 372
gText_QuestionForfeitMatch, gText_QuestionForfeitMatch, // 373
gText_ForfeitedMatch, gText_ForfeitedMatch, // 374
gText_PkmnTransferredSomeonesPC, gText_PkmnTransferredSomeonesPC, // 375
gText_PkmnTransferredLanettesPC, gText_PkmnTransferredLanettesPC, // 376
gText_PkmnBoxSomeonesPCFull, gText_PkmnBoxSomeonesPCFull, // 377
gText_PkmnBoxLanettesPCFull, gText_PkmnBoxLanettesPCFull, // 378
gText_Trainer1WinText, gText_Trainer1WinText, // 379
gText_Trainer2WinText, gText_Trainer2WinText, // 380
}; };
const u16 gMissStringIds[] = const u16 gMissStringIds[] =