summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorcamthesaxman <cameronghall@cox.net>2017-12-05 12:42:30 -0600
committercamthesaxman <cameronghall@cox.net>2017-12-05 12:42:30 -0600
commit19fbf024ff7e5bedc0f297a44c7df298a9bd0ef4 (patch)
treee9a928ac0d8eaaca476d8704b95fbf5f6838d994 /include
parentcaa13f877797edbb7a1e13bf00b537bafbd4315a (diff)
parent00896cb3b5813cb843e5e1abd4cbc9ff0ad3a632 (diff)
fix merge conflicts
Diffstat (limited to 'include')
-rw-r--r--include/battle.h21
-rw-r--r--include/battle_anim.h18
-rw-r--r--include/battle_frontier_2.h1
-rw-r--r--include/battle_scripts.h378
-rw-r--r--include/battle_util.h6
-rw-r--r--include/field_poison.h19
-rw-r--r--include/fldeff_80F9BCC.h1
-rw-r--r--include/graphics.h26
-rw-r--r--include/party_menu.h10
-rw-r--r--include/pokeball.h26
-rw-r--r--include/pokenav.h6
-rw-r--r--include/random.h (renamed from include/rng.h)6
-rw-r--r--include/sprite.h9
-rw-r--r--include/strings.h1
14 files changed, 138 insertions, 390 deletions
diff --git a/include/battle.h b/include/battle.h
index c172cb0f6..7c8c81f52 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -86,8 +86,9 @@
#define BATTLE_FORFEITED 0x9
#define BATTLE_OPPONENT_TELEPORTED 0xA
-#define BATTLE_OUTCOME_BIT_x80 0x80
+#define OUTCOME_LINK_BATTLE_RUN 0x80
+#define STATUS_NONE 0x0
#define STATUS_SLEEP 0x7
#define STATUS_POISON 0x8
#define STATUS_BURN 0x10
@@ -615,10 +616,10 @@ struct BattleStruct
u8 focusPunchBank;
u8 field_49;
u8 moneyMultiplier;
- u8 field_4B;
+ u8 savedTurnActionNumber;
u8 switchInAbilitiesCounter;
- u8 field_4D;
- u8 field_4E;
+ u8 faintedActionsState;
+ u8 faintedActionsBank;
u8 field_4F;
u16 expValue;
u8 field_52;
@@ -690,8 +691,8 @@ struct BattleStruct
u8 field_182;
u8 field_183;
struct BattleEnigmaBerry battleEnigmaBerry;
- u8 field_1A0;
- u8 field_1A1;
+ u8 wishPerishSongState;
+ u8 wishPerishSongBank;
bool8 overworldWeatherDone;
u8 atkCancellerTracker;
u8 field_1A4[96];
@@ -800,7 +801,7 @@ extern struct BattleStruct* gBattleStruct;
#define B_ANIM_ITEM_STEAL 0x10
#define B_ANIM_SNATCH_MOVE 0x11
#define B_ANIM_FUTURE_SIGHT_HIT 0x12
-#define B_ANIM_x13 0x13
+#define B_ANIM_DOOM_DESIRE_HIT 0x13
#define B_ANIM_x14 0x14
#define B_ANIM_INGRAIN_HEAL 0x15
#define B_ANIM_WISH_HEAL 0x16
@@ -845,8 +846,8 @@ struct BattleScripting
u8 animArg2;
u16 tripleKickPower;
u8 atk49_state;
- u8 field_15;
- u8 field_16;
+ u8 bankWithAbility;
+ u8 multihitMoveEffect;
u8 bank;
u8 animTurn;
u8 animTargetsHit;
@@ -932,7 +933,7 @@ struct BattleHealthboxInfo
u8 flag_x1 : 1;
u8 flag_x2 : 1;
u8 flag_x4 : 1;
- u8 flag_x8 : 1;
+ u8 ballAnimActive : 1; // 0x8
u8 statusAnimActive : 1; // x10
u8 animFromTableActive : 1; // x20
u8 specialAnimActive : 1; //x40
diff --git a/include/battle_anim.h b/include/battle_anim.h
index c055e94fa..9fb7ccd53 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -79,11 +79,22 @@ void HandleIntroSlide(u8 terrainId);
// battle_anim_80A5C6C.s
void sub_80A6EEC(struct Sprite *sprite);
+void sub_80A68D4(struct Sprite *sprite);
+void sub_80A6F3C(struct Sprite *sprite);
void sub_80A8278(void);
void sub_80A6B30(struct UnknownAnimStruct2*);
void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1);
u8 sub_80A82E4(u8 bank);
-u8 sub_80A5C6C(u8 bank, u8 attributeId);
+bool8 AnimateBallThrow(struct Sprite *sprite);
+
+enum
+{
+ BANK_X_POS,
+ BANK_Y_POS,
+};
+
+u8 GetBankPosition(u8 bank, u8 attributeId);
+
bool8 IsBankSpritePresent(u8 bank);
void sub_80A6C68(u8 arg0);
u8 GetAnimBankSpriteId(u8 wantedBank);
@@ -99,4 +110,9 @@ u8 GetSubstituteSpriteDefault_Y(u8 bank);
// battle_anim_80A9C70.s
void LaunchStatusAnimation(u8 bank, u8 statusAnimId);
+// battle_anim_8170478.s
+u8 ItemIdToBallId(u16 itemId);
+u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId);
+u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 bank, u32 arg2, u8 ballId);
+
#endif // GUARD_BATTLE_ANIM_H
diff --git a/include/battle_frontier_2.h b/include/battle_frontier_2.h
index 4f37248cc..801c3f3ec 100644
--- a/include/battle_frontier_2.h
+++ b/include/battle_frontier_2.h
@@ -5,5 +5,6 @@ void sub_81A8934(u8);
void sub_81A895C(void);
u16 sub_81A89A0(u8);
void sub_81A8AF8(void);
+bool8 InBattlePike(void);
#endif // GUARD_BATTLE_FRONTIER_2_H
diff --git a/include/battle_scripts.h b/include/battle_scripts.h
index 5131778a8..2e31a37c5 100644
--- a/include/battle_scripts.h
+++ b/include/battle_scripts.h
@@ -1,356 +1,22 @@
#ifndef GUARD_BATTLE_SCRIPTS_H
#define GUARD_BATTLE_SCRIPTS_H
-extern const u8 BattleScript_EffectHit[];
-extern const u8 BattleScript_HitFromAtkCanceler[];
-extern const u8 BattleScript_HitFromAccCheck[];
-extern const u8 BattleScript_HitFromAtkString[];
extern const u8 BattleScript_HitFromCritCalc[];
-extern const u8 BattleScript_HitFromAtkAnimation[];
extern const u8 BattleScript_MoveEnd[];
extern const u8 BattleScript_MakeMoveMissed[];
extern const u8 BattleScript_PrintMoveMissed[];
extern const u8 BattleScript_MoveMissedPause[];
extern const u8 BattleScript_MoveMissed[];
-extern const u8 BattleScript_EffectSleep[];
-extern const u8 BattleScript_AlreadyAsleep[];
-extern const u8 BattleScript_WasntAffected[];
-extern const u8 BattleScript_CantMakeAsleep[];
-extern const u8 BattleScript_EffectPoisonHit[];
-extern const u8 BattleScript_EffectAbsorb[];
-extern const u8 BattleScript_82D8B26[];
-extern const u8 BattleScript_82D8B2E[];
-extern const u8 BattleScript_82D8B45[];
-extern const u8 BattleScript_EffectBurnHit[];
-extern const u8 BattleScript_EffectFreezeHit[];
-extern const u8 BattleScript_EffectParalyzeHit[];
-extern const u8 BattleScript_EffectExplosion[];
-extern const u8 BattleScript_82D8B94[];
-extern const u8 BattleScript_82D8B96[];
-extern const u8 BattleScript_82D8BCF[];
-extern const u8 BattleScript_82D8BEA[];
-extern const u8 BattleScript_EffectDreamEater[];
-extern const u8 BattleScript_82D8C0E[];
-extern const u8 BattleScript_82D8C18[];
-extern const u8 BattleScript_82D8C56[];
-extern const u8 BattleScript_EffectMirrorMove[];
-extern const u8 BattleScript_EffectAttackUp[];
-extern const u8 BattleScript_EffectDefenseUp[];
-extern const u8 BattleScript_EffectSpecialAttackUp[];
-extern const u8 BattleScript_EffectEvasionUp[];
-extern const u8 BattleScript_EffectStatUp[];
-extern const u8 BattleScript_EffectStatUpAfterAtkCanceler[];
-extern const u8 BattleScript_StatUpAttackAnim[];
-extern const u8 BattleScript_StatUpDoAnim[];
-extern const u8 BattleScript_StatUpPrintString[];
-extern const u8 BattleScript_StatUpEnd[];
+extern const u8 BattleScript_ButItFailed[];
extern const u8 BattleScript_StatUp[];
-extern const u8 BattleScript_EffectAttackDown[];
-extern const u8 BattleScript_EffectDefenseDown[];
-extern const u8 BattleScript_EffectSpeedDown[];
-extern const u8 BattleScript_EffectAccuracyDown[];
-extern const u8 BattleScript_EffectEvasionDown[];
-extern const u8 BattleScript_EffectStatDown[];
-extern const u8 BattleScript_StatDownDoAnim[];
-extern const u8 BattleScript_StatDownPrintString[];
-extern const u8 BattleScript_82D8D60[];
extern const u8 BattleScript_StatDown[];
-extern const u8 BattleScript_EffectHaze[];
-extern const u8 BattleScript_EffectBide[];
-extern const u8 BattleScript_EffectRampage[];
-extern const u8 BattleScript_82D8DAE[];
-extern const u8 BattleScript_EffectRoar[];
-extern const u8 BattleScript_EffectMultiHit[];
-extern const u8 BattleScript_82D8DFD[];
-extern const u8 BattleScript_82D8E1F[];
-extern const u8 BattleScript_82D8E71[];
-extern const u8 BattleScript_82D8E74[];
-extern const u8 BattleScript_82D8E93[];
-extern const u8 BattleScript_EffectConversion[];
-extern const u8 BattleScript_EffectFlinchHit[];
-extern const u8 BattleScript_EffectRestoreHp[];
-extern const u8 BattleScript_EffectToxic[];
-extern const u8 BattleScript_AlreadyPoisoned[];
-extern const u8 BattleScript_ImmunityProtected[];
-extern const u8 BattleScript_EffectPayDay[];
-extern const u8 BattleScript_EffectLightScreen[];
-extern const u8 BattleScript_EffectTriAttack[];
-extern const u8 BattleScript_EffectRest[];
-extern const u8 BattleScript_RestCantSleep[];
-extern const u8 BattleScript_RestIsAlreadyAsleep[];
-extern const u8 BattleScript_EffectOHKO[];
-extern const u8 BattleScript_KOFail[];
-extern const u8 BattleScript_EffectRazorWind[];
-extern const u8 BattleScript_TwoTurnMovesSecondTurn[];
-extern const u8 BattleScriptFirstChargingTurn[];
-extern const u8 BattleScript_EffectSuperFang[];
-extern const u8 BattleScript_EffectDragonRage[];
-extern const u8 BattleScript_EffectTrap[];
-extern const u8 BattleScript_DoWrapEffect[];
-extern const u8 BattleScript_EffectDoubleHit[];
-extern const u8 BattleScript_EffectRecoilIfMiss[];
-extern const u8 BattleScript_82D9135[];
-extern const u8 BattleScript_EffectMist[];
-extern const u8 BattleScript_EffectFocusEnergy[];
-extern const u8 BattleScript_EffectRecoil[];
-extern const u8 BattleScript_EffectConfuse[];
-extern const u8 BattleScript_AlreadyConfused[];
-extern const u8 BattleScript_EffectAttackUp2[];
-extern const u8 BattleScript_EffectDefenseUp2[];
-extern const u8 BattleScript_EffectSpeedUp2[];
-extern const u8 BattleScript_EffectSpecialAttackUp2[];
-extern const u8 BattleScript_EffectSpecialDefenseUp2[];
-extern const u8 BattleScript_EffectTransform[];
-extern const u8 BattleScript_EffectAttackDown2[];
-extern const u8 BattleScript_EffectDefenseDown2[];
-extern const u8 BattleScript_EffectSpeedDown2[];
-extern const u8 BattleScript_EffectSpecialDefenseDown2[];
-extern const u8 BattleScript_EffectReflect[];
-extern const u8 BattleScript_PrintReflectLightScreenSafeguardString[];
-extern const u8 BattleScript_EffectPoison[];
-extern const u8 BattleScript_EffectParalyze[];
-extern const u8 BattleScript_AlreadyParalyzed[];
-extern const u8 BattleScript_LimberProtected[];
-extern const u8 BattleScript_EffectAttackDownHit[];
-extern const u8 BattleScript_EffectDefenseDownHit[];
-extern const u8 BattleScript_EffectSpeedDownHit[];
-extern const u8 BattleScript_EffectSpecialAttackDownHit[];
-extern const u8 BattleScript_EffectSpecialDefenseDownHit[];
-extern const u8 BattleScript_EffectAccuracyDownHit[];
-extern const u8 BattleScript_EffectSkyAttack[];
-extern const u8 BattleScript_EffectConfuseHit[];
-extern const u8 BattleScript_EffectTwineedle[];
-extern const u8 BattleScript_EffectSubstitute[];
-extern const u8 BattleScript_SubstituteAnim[];
-extern const u8 BattleScript_SubstituteString[];
-extern const u8 BattleScript_AlreadyHasSubstitute[];
-extern const u8 BattleScript_EffectRecharge[];
-extern const u8 BattleScript_MoveUsedMustRecharge[];
-extern const u8 BattleScript_EffectRage[];
-extern const u8 BattleScript_RageMiss[];
-extern const u8 BattleScript_EffectMimic[];
-extern const u8 BattleScript_EffectMetronome[];
-extern const u8 BattleScript_EffectLeechSeed[];
-extern const u8 BattleScript_DoLeechSeed[];
-extern const u8 BattleScript_EffectSplash[];
-extern const u8 BattleScript_EffectDisable[];
-extern const u8 BattleScript_EffectLevelDamage[];
-extern const u8 BattleScript_EffectPsywave[];
-extern const u8 BattleScript_EffectCounter[];
-extern const u8 BattleScript_EffectEncore[];
-extern const u8 BattleScript_EffectPainSplit[];
-extern const u8 BattleScript_EffectSnore[];
-extern const u8 BattleScript_SnoreIsAsleep[];
-extern const u8 BattleScript_DoSnore[];
-extern const u8 BattleScript_EffectConversion2[];
-extern const u8 BattleScript_EffectLockOn[];
-extern const u8 BattleScript_EffectSketch[];
-extern const u8 BattleScript_EffectSleepTalk[];
-extern const u8 BattleScript_SleepTalkIsAsleep[];
-extern const u8 BattleScript_SleepTalkUsingMove[];
-extern const u8 BattleScript_EffectDestinyBond[];
-extern const u8 BattleScript_EffectFlail[];
-extern const u8 BattleScript_EffectSpite[];
-extern const u8 BattleScript_EffectHealBell[];
-extern const u8 BattleScript_CheckHealBellMon2Unaffected[];
-extern const u8 BattleScript_PartyHealEnd[];
-extern const u8 BattleScript_EffectTripleKick[];
-extern const u8 BattleScript_TripleKickLoop[];
-extern const u8 BattleScript_DoTripleKickAttack[];
-extern const u8 BattleScript_TripleKickNoMoreHits[];
-extern const u8 BattleScript_TripleKickPrintStrings[];
-extern const u8 BattleScript_TripleKickEnd[];
-extern const u8 BattleScript_EffectThief[];
-extern const u8 BattleScript_EffectMeanLook[];
-extern const u8 BattleScript_EffectNightmare[];
-extern const u8 BattleScript_NightmareWorked[];
-extern const u8 BattleScript_EffectMinimize[];
-extern const u8 BattleScript_EffectCurse[];
-extern const u8 BattleScript_CurseTrySpeed[];
-extern const u8 BattleScript_CurseTryAttack[];
-extern const u8 BattleScript_CurseTryDefence[];
-extern const u8 BattleScript_CurseEnd[];
-extern const u8 BattleScript_GhostCurse[];
-extern const u8 BattleScript_DoGhostCurse[];
-extern const u8 BattleScript_EffectProtect[];
-extern const u8 BattleScript_EffectSpikes[];
-extern const u8 BattleScript_EffectForesight[];
-extern const u8 BattleScript_EffectPerishSong[];
-extern const u8 BattleScript_PerishSongLoop[];
-extern const u8 BattleScript_PerishSongLoopIncrement[];
-extern const u8 BattleScript_PerishSongNotAffected[];
-extern const u8 BattleScript_EffectSandstorm[];
-extern const u8 BattleScript_EffectRollout[];
-extern const u8 BattleScript_RolloutCheckAccuracy[];
-extern const u8 BattleScript_RolloutHit[];
-extern const u8 BattleScript_EffectSwagger[];
-extern const u8 BattleScript_SwaggerTryConfuse[];
-extern const u8 BattleScript_EffectFuryCutter[];
-extern const u8 BattleScript_FuryCutterHit[];
-extern const u8 BattleScript_EffectAttract[];
-extern const u8 BattleScript_EffectReturn[];
-extern const u8 BattleScript_EffectPresent[];
-extern const u8 BattleScript_EffectSafeguard[];
-extern const u8 BattleScript_EffectThawHit[];
-extern const u8 BattleScript_EffectMagnitude[];
-extern const u8 BattleScript_EffectBatonPass[];
-extern const u8 BattleScript_EffectRapidSpin[];
-extern const u8 BattleScript_EffectSonicboom[];
-extern const u8 BattleScript_EffectMorningSun[];
-extern const u8 BattleScript_EffectHiddenPower[];
-extern const u8 BattleScript_EffectRainDance[];
-extern const u8 BattleScript_MoveWeatherChange[];
-extern const u8 BattleScript_EffectSunnyDay[];
-extern const u8 BattleScript_EffectDefenseUpHit[];
-extern const u8 BattleScript_EffectAttackUpHit[];
-extern const u8 BattleScript_EffectAllStatsUpHit[];
-extern const u8 BattleScript_EffectBellyDrum[];
-extern const u8 BattleScript_EffectPsychUp[];
-extern const u8 BattleScript_EffectMirrorCoat[];
-extern const u8 BattleScript_EffectSkullBash[];
-extern const u8 BattleScript_SkullBashEnd[];
-extern const u8 BattleScript_EffectTwister[];
-extern const u8 BattleScript_FlinchEffect[];
-extern const u8 BattleScript_EffectEarthquake[];
-extern const u8 BattleScript_82D9C44[];
-extern const u8 BattleScript_82D9C64[];
-extern const u8 BattleScript_82D9C73[];
-extern const u8 BattleScript_82D9CAC[];
-extern const u8 BattleScript_EffectFutureSight[];
-extern const u8 BattleScript_EffectGust[];
-extern const u8 BattleScript_EffectStomp[];
-extern const u8 BattleScript_EffectSolarbeam[];
-extern const u8 BattleScript_SolarbeamDecideTurn[];
-extern const u8 BattleScript_SolarbeamOnFirstTurn[];
-extern const u8 BattleScript_EffectThunder[];
-extern const u8 BattleScript_EffectTeleport[];
-extern const u8 BattleScript_EffectBeatUp[];
-extern const u8 BattleScript_BeatUpLoop[];
-extern const u8 BattleScript_BeatUpAttack[];
-extern const u8 BattleScript_BeatUpEnd[];
-extern const u8 BattleScript_EffectSemiInvulnerable[];
-extern const u8 BattleScript_FirstTurnBounce[];
-extern const u8 BattleScript_FirstTurnDive[];
-extern const u8 BattleScript_FirstTurnFly[];
-extern const u8 BattleScript_FirstTurnSemiInvulnerable[];
-extern const u8 BattleScript_SecondTurnSemiInvulnerable[];
-extern const u8 BattleScript_SemiInvulnerableTryHit[];
-extern const u8 BattleScript_SemiInvulnerableMiss[];
-extern const u8 BattleScript_EffectDefenseCurl[];
-extern const u8 BattleScript_DefenseCurlDoStatUpAnim[];
-extern const u8 BattleScript_EffectSoftboiled[];
-extern const u8 BattleScript_PresentHealTarget[];
extern const u8 BattleScript_AlreadyAtFullHp[];
-extern const u8 BattleScript_EffectFakeOut[];
-extern const u8 BattleScript_ButItFailedAtkStringPpReduce[];
-extern const u8 BattleScript_ButItFailedPpReduce[];
-extern const u8 BattleScript_ButItFailed[];
-extern const u8 BattleScript_NotAffected[];
-extern const u8 BattleScript_EffectUproar[];
-extern const u8 BattleScript_UproarHit[];
-extern const u8 BattleScript_EffectStockpile[];
-extern const u8 BattleScript_EffectSpitUp[];
-extern const u8 BattleScript_SpitUpFail[];
-extern const u8 BattleScript_82D9FA2[];
-extern const u8 BattleScript_EffectSwallow[];
-extern const u8 BattleScript_SwallowFail[];
-extern const u8 BattleScript_EffectHail[];
-extern const u8 BattleScript_EffectTorment[];
-extern const u8 BattleScript_EffectFlatter[];
-extern const u8 BattleScript_FlatterTryConfuse[];
-extern const u8 BattleScript_EffectWillOWisp[];
-extern const u8 BattleScript_WaterVeilPrevents[];
-extern const u8 BattleScript_AlreadyBurned[];
-extern const u8 BattleScript_EffectMemento[];
-extern const u8 BattleScript_82DA119[];
-extern const u8 BattleScript_82DA13C[];
-extern const u8 BattleScript_82DA148[];
-extern const u8 BattleScript_82DA153[];
-extern const u8 BattleScript_82DA15A[];
-extern const u8 BattleScript_EffectFacade[];
-extern const u8 BattleScript_FacadeDoubleDmg[];
-extern const u8 BattleScript_EffectFocusPunch[];
-extern const u8 BattleScript_EffectSmellingsalt[];
-extern const u8 BattleScript_82DA1BA[];
-extern const u8 BattleScript_EffectFollowMe[];
-extern const u8 BattleScript_EffectNaturePower[];
-extern const u8 BattleScript_EffectCharge[];
-extern const u8 BattleScript_EffectTaunt[];
-extern const u8 BattleScript_EffectHelpingHand[];
-extern const u8 BattleScript_EffectTrick[];
-extern const u8 BattleScript_EffectRolePlay[];
-extern const u8 BattleScript_EffectWish[];
-extern const u8 BattleScript_EffectAssist[];
-extern const u8 BattleScript_EffectIngrain[];
-extern const u8 BattleScript_EffectSuperpower[];
-extern const u8 BattleScript_EffectMagicCoat[];
-extern const u8 BattleScript_EffectRecycle[];
-extern const u8 BattleScript_EffectRevenge[];
-extern const u8 BattleScript_EffectBrickBreak[];
-extern const u8 BattleScript_82DA306[];
-extern const u8 BattleScript_82DA319[];
-extern const u8 BattleScript_EffectYawn[];
-extern const u8 BattleScript_82DA378[];
-extern const u8 BattleScript_82DA382[];
-extern const u8 BattleScript_EffectKnockOff[];
-extern const u8 BattleScript_EffectEndeavor[];
-extern const u8 BattleScript_EffectEruption[];
-extern const u8 BattleScript_EffectSkillSwap[];
-extern const u8 BattleScript_EffectImprison[];
-extern const u8 BattleScript_EffectRefresh[];
-extern const u8 BattleScript_EffectGrudge[];
-extern const u8 BattleScript_EffectSnatch[];
-extern const u8 BattleScript_EffectLowKick[];
-extern const u8 BattleScript_EffectSecretPower[];
-extern const u8 BattleScript_EffectDoubleEdge[];
-extern const u8 BattleScript_EffectTeeterDance[];
-extern const u8 BattleScript_82DA47B[];
-extern const u8 BattleScript_82DA4C7[];
-extern const u8 BattleScript_82DA4D0[];
-extern const u8 BattleScript_82DA4E5[];
-extern const u8 BattleScript_82DA4F3[];
-extern const u8 BattleScript_82DA501[];
-extern const u8 BattleScript_82DA50F[];
-extern const u8 BattleScript_82DA520[];
-extern const u8 BattleScript_EffectMudSport[];
-extern const u8 BattleScript_EffectPoisonFang[];
-extern const u8 BattleScript_EffectWeatherBall[];
-extern const u8 BattleScript_EffectOverheat[];
-extern const u8 BattleScript_EffectTickle[];
-extern const u8 BattleScript_TickleDoMoveAnim[];
-extern const u8 BattleScript_TickleTryLowerDef[];
-extern const u8 BattleScript_TickleEnd[];
-extern const u8 BattleScript_CantLowerMultipleStats[];
-extern const u8 BattleScript_EffectCosmicPower[];
-extern const u8 BattleScript_CosmicPowerDoMoveAnim[];
-extern const u8 BattleScript_CosmicPowerTrySpDef[];
-extern const u8 BattleScript_CosmicPowerEnd[];
-extern const u8 BattleScript_EffectSkyUppercut[];
-extern const u8 BattleScript_EffectBulkUp[];
-extern const u8 BattleScript_BulkUpDoMoveAnim[];
-extern const u8 BattleScript_BulkUpTryDef[];
-extern const u8 BattleScript_BulkUpEnd[];
-extern const u8 BattleScript_EffectCalmMind[];
-extern const u8 BattleScript_CalmMindDoMoveAnim[];
-extern const u8 BattleScript_CalmMindTrySpDef[];
-extern const u8 BattleScript_CalmMindEnd[];
-extern const u8 BattleScript_CantRaiseMultipleStats[];
-extern const u8 BattleScript_EffectDragonDance[];
-extern const u8 BattleScript_DragonDanceDoMoveAnim[];
-extern const u8 BattleScript_DragonDanceTrySpeed[];
-extern const u8 BattleScript_DragonDanceEnd[];
-extern const u8 BattleScript_EffectCamouflage[];
+extern const u8 BattleScript_PresentHealTarget[];
+extern const u8 BattleScript_MoveUsedMustRecharge[];
extern const u8 BattleScript_FaintAttacker[];
extern const u8 BattleScript_FaintTarget[];
-extern const u8 BattleScript_82DA7C4[];
-extern const u8 BattleScript_82DA7CD[];
-extern const u8 BattleScript_82DA816[];
-extern const u8 BattleScript_82DA8D0[];
-extern const u8 BattleScript_82DA8F5[];
-extern const u8 BattleScript_82DA8F6[];
-extern const u8 BattleScript_82DA8FC[];
-extern const u8 BattleScript_82DA908[];
-extern const u8 BattleScript_82DA92C[];
+extern const u8 BattleScript_GiveExp[];
+extern const u8 BattleScript_HandleFaintedMon[];
extern const u8 BattleScript_LocalTrainerBattleWon[];
extern const u8 BattleScript_LocalTwoTrainersDefeated[];
extern const u8 BattleScript_LocalBattleWonLoseTexts[];
@@ -360,13 +26,9 @@ extern const u8 BattleScript_LocalBattleLost[];
extern const u8 BattleScript_LocalBattleLostPrintWhiteOut[];
extern const u8 BattleScript_LocalBattleLostEnd[];
extern const u8 BattleScript_CheckDomeDrew[];
-extern const u8 BattleScript_LocalBattleLostPrintTrainersWinText[];
-extern const u8 BattleScript_LocalBattleLostDoTrainer2WinText[];
-extern const u8 BattleScript_LocalBattleLostEnd_[];
extern const u8 BattleScript_82DAA0B[];
extern const u8 BattleScript_82DAA31[];
extern const u8 BattleScript_LinkBattleWonOrLost[];
-extern const u8 BattleScript_LinkBattleWonOrLostWaitEnd[];
extern const u8 BattleScript_82DAA5C[];
extern const u8 BattleScript_82DAA83[];
extern const u8 BattleScript_FrontierTrainerBattleWon[];
@@ -390,17 +52,8 @@ extern const u8 BattleScript_82DAB77[];
extern const u8 BattleScript_82DABB8[];
extern const u8 BattleScript_Pausex20[];
extern const u8 BattleScript_LevelUp[];
-extern const u8 BattleScript_TryLearnMoveLoop[];
-extern const u8 BattleScript_AskToLearnMove[];
-extern const u8 BattleScript_ForgotAndLearnedNewMove[];
-extern const u8 BattleScript_LearnedNewMove[];
-extern const u8 BattleScript_LearnMoveReturn[];
extern const u8 BattleScript_RainContinuesOrEnds[];
-extern const u8 BattleScript_RainContinuesOrEndsEnd[];
extern const u8 BattleScript_DamagingWeatherContinues[];
-extern const u8 BattleScript_DamagingWeatherLoop[];
-extern const u8 BattleScript_DamagingWeatherLoopIncrement[];
-extern const u8 BattleScript_DamagingWeatherContinuesEnd[];
extern const u8 BattleScript_SandStormHailEnds[];
extern const u8 BattleScript_SunlightContinues[];
extern const u8 BattleScript_SunlightFaded[];
@@ -414,15 +67,15 @@ extern const u8 BattleScript_82DAD4D[];
extern const u8 BattleScript_BideStoringEnergy[];
extern const u8 BattleScript_BideAttack[];
extern const u8 BattleScript_BideNoEnergyToAttack[];
-extern const u8 BattleScript_82DADD8[];
+extern const u8 BattleScript_SuccessForceOut[];
extern const u8 BattleScript_82DADF1[];
extern const u8 BattleScript_MistProtected[];
extern const u8 BattleScript_RageIsBuilding[];
extern const u8 BattleScript_MoveUsedIsDisabled[];
extern const u8 BattleScript_SelectingDisabledMove[];
extern const u8 BattleScript_DisabledNoMore[];
-extern const u8 BattleScript_82DAE2A[];
-extern const u8 BattleScript_82DAE2D[];
+extern const u8 BattleScript_SelectingDisabledMoveInPalace[];
+extern const u8 BattleScript_SelectingUnusableMoveInPalace[];
extern const u8 BattleScript_EncoredNoMore[];
extern const u8 BattleScript_DestinyBondTakesLife[];
extern const u8 BattleScript_SpikesOnAttacker[];
@@ -456,22 +109,20 @@ extern const u8 BattleScript_NoMovesLeft[];
extern const u8 BattleScript_SelectingMoveWithNoPP[];
extern const u8 BattleScript_NoPPForMove[];
extern const u8 BattleScript_SelectingTormentedMove[];
-extern const u8 BattleScript_82DB08D[];
-extern const u8 BattleScript_82DB098[];
+extern const u8 BattleScript_MoveUsedIsTormented[];
+extern const u8 BattleScript_SelectingTormentedMoveInPalace[];
extern const u8 BattleScript_SelectingNotAllowedMoveTaunt[];
extern const u8 BattleScript_MoveUsedIsTaunted[];
-extern const u8 BattleScript_82DB0AF[];
+extern const u8 BattleScript_SelectingNotAllowedMoveTauntInPalace[];
extern const u8 BattleScript_WishComesTrue[];
-extern const u8 BattleScript_82DB0DE[];
extern const u8 BattleScript_IngrainTurnHeal[];
-extern const u8 BattleScript_82DB109[];
extern const u8 BattleScript_AtkDefDown[];
extern const u8 BattleScript_82DB144[];
extern const u8 BattleScript_82DB167[];
extern const u8 BattleScript_KnockedOff[];
extern const u8 BattleScript_MoveUsedIsImprisoned[];
extern const u8 BattleScript_SelectingImprisionedMove[];
-extern const u8 BattleScript_82DB185[];
+extern const u8 BattleScript_SelectingImprisionedMoveInPalace[];
extern const u8 BattleScript_GrudgeTakesPp[];
extern const u8 BattleScript_MagicCoatBounce[];
extern const u8 BattleScript_SnatchedMove[];
@@ -550,7 +201,6 @@ extern const u8 BattleScript_MonMadeMoveUseless_PPLoss[];
extern const u8 BattleScript_MonMadeMoveUseless[];
extern const u8 BattleScript_FlashFireBoost_PPLoss[];
extern const u8 BattleScript_FlashFireBoost[];
-extern const u8 BattleScript_82DB5B9[];
extern const u8 BattleScript_AbilityNoStatLoss[];
extern const u8 BattleScript_BRNPrevention[];
extern const u8 BattleScript_PRLZPrevention[];
@@ -612,8 +262,8 @@ extern const u8 BattleScript_82DB8F3[];
extern const u8 BattleScript_82DB973[];
extern const u8 BattleScript_82DB992[];
extern const u8 BattleScript_AskIfWantsToForfeitMatch[];
-extern const u8 BattleScript_82DB9C1[];
-extern const u8 BattleScript_82DB9C8[];
+extern const u8 BattleScript_PrintPlayerForfeited[];
+extern const u8 BattleScript_PrintPlayerForfeitedLinkBattle[];
extern const u8 BattleScript_BallThrow[];
extern const u8 BattleScript_BallThrowByWally[];
extern const u8 BattleScript_SafariBallThrow[];
diff --git a/include/battle_util.h b/include/battle_util.h
index b21b250c4..81eb85dc7 100644
--- a/include/battle_util.h
+++ b/include/battle_util.h
@@ -66,8 +66,8 @@ bool8 AreAllMovesUnusable(void);
u8 GetImprisonedMovesCount(u8 bank, u16 move);
u8 UpdateTurnCounters(void);
u8 TurnBasedEffects(void);
-bool8 sub_8041364(void);
-bool8 sub_8041728(void);
+bool8 HandleWishPerishSongOnTurnEnd(void);
+bool8 HandleFaintedMonActions(void);
void TryClearRageStatuses(void);
u8 AtkCanceller_UnableToUseMove(void);
bool8 sub_80423F4(u8 bank, u8 r1, u8 r2);
@@ -79,6 +79,6 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn);
void ClearFuryCutterDestinyBondGrudge(u8 bank);
void HandleAction_RunBattleScript(void);
u8 GetMoveTarget(u16 move, u8 useMoveTarget);
-u8 IsPokeDisobedient(void);
+u8 IsMonDisobedient(void);
#endif // GUARD_BATTLE_UTIL_H
diff --git a/include/field_poison.h b/include/field_poison.h
new file mode 100644
index 000000000..d1a4c823b
--- /dev/null
+++ b/include/field_poison.h
@@ -0,0 +1,19 @@
+#ifndef GUARD_FIELD_POISON_H
+#define GUARD_FIELD_POISON_H
+
+// Exported type declarations
+
+// Exported RAM declarations
+
+// Exported ROM declarations
+
+enum {
+ FLDPSN_NONE,
+ FLDPSN_PSN,
+ FLDPSN_FNT
+};
+
+void sub_80F972C(void);
+unsigned int overworld_poison(void);
+
+#endif //GUARD_FIELD_POISON_H
diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h
index ecce04943..d57665c68 100644
--- a/include/fldeff_80F9BCC.h
+++ b/include/fldeff_80F9BCC.h
@@ -9,5 +9,6 @@
void sub_80FA5E4(s16 id, s16 x, s16 y);
void sub_80FA794(s16 x, s16 y);
+void overworld_poison_effect(void);
#endif //GUARD_FLDEFF_80F9BCC_H
diff --git a/include/graphics.h b/include/graphics.h
index 4c5a0952b..4a522a429 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -5,6 +5,32 @@
#ifndef GUARD_GRAPHICS_H
#define GUARD_GRAPHICS_H
+extern const u8 gInterfaceGfx_PokeBall[];
+extern const u8 gInterfacePal_PokeBall[];
+extern const u8 gInterfaceGfx_GreatBall[];
+extern const u8 gInterfacePal_GreatBall[];
+extern const u8 gInterfaceGfx_SafariBall[];
+extern const u8 gInterfacePal_SafariBall[];
+extern const u8 gInterfaceGfx_UltraBall[];
+extern const u8 gInterfacePal_UltraBall[];
+extern const u8 gInterfaceGfx_MasterBall[];
+extern const u8 gInterfacePal_MasterBall[];
+extern const u8 gInterfaceGfx_NetBall[];
+extern const u8 gInterfacePal_NetBall[];
+extern const u8 gInterfaceGfx_DiveBall[];
+extern const u8 gInterfacePal_DiveBall[];
+extern const u8 gInterfaceGfx_NestBall[];
+extern const u8 gInterfacePal_NestBall[];
+extern const u8 gInterfaceGfx_RepeatBall[];
+extern const u8 gInterfacePal_RepeatBall[];
+extern const u8 gInterfaceGfx_TimerBall[];
+extern const u8 gInterfacePal_TimerBall[];
+extern const u8 gInterfaceGfx_LuxuryBall[];
+extern const u8 gInterfacePal_LuxuryBall[];
+extern const u8 gInterfaceGfx_PremierBall[];
+extern const u8 gInterfacePal_PremierBall[];
+extern const u8 gOpenPokeballGfx[];
+
extern const u8 gItemIcon_QuestionMark[];
extern const u8 gItemIconPalette_QuestionMark[];
extern const u8 gUnknown_08DB7AA0[];
diff --git a/include/party_menu.h b/include/party_menu.h
index 7a7d59cd0..c787bafb1 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -1,8 +1,18 @@
#ifndef GUARD_PARTY_MENU_H
#define GUARD_PARTY_MENU_H
+enum {
+ AILMENT_NONE,
+ AILMENT_PSN,
+ AILMENT_PRZ,
+ AILMENT_SLP,
+ AILMENT_FRZ,
+ AILMENT_BRN
+};
+
bool8 pokemon_has_move(struct Pokemon *, u16);
void sub_81B58A8(void);
void DoWallyTutorialBagMenu(void);
+u8 pokemon_ailments_get_primary(u32 status);
#endif // GUARD_PARTY_MENU_H
diff --git a/include/pokeball.h b/include/pokeball.h
index 76f084465..84178b5b2 100644
--- a/include/pokeball.h
+++ b/include/pokeball.h
@@ -1,8 +1,32 @@
#ifndef GUARD_POKEBALL_H
#define GUARD_POKEBALL_H
-u8 sub_80753E8(u16, u8);
+enum
+{
+ BALL_POKE,
+ BALL_GREAT,
+ BALL_SAFARI,
+ BALL_ULTRA,
+ BALL_MASTER,
+ BALL_NET,
+ BALL_DIVE,
+ BALL_NEST,
+ BALL_REPEAT,
+ BALL_TIMER,
+ BALL_LUXURY,
+ BALL_PREMIER,
+ POKEBALL_COUNT
+};
+
+#define POKEBALL_PLAYER_SENDOUT 0xFF
+#define POKEBALL_OPPONENT_SENDOUT 0xFE
+
+u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow);
+void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species);
+u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h);
void sub_8076918(u8 bank);
void DoHitAnimHealthboxEffect(u8 bank);
+void LoadBallGfx(u8 ballId);
+void FreeBallGfx(u8 ballId);
#endif // GUARD_POKEBALL_H
diff --git a/include/pokenav.h b/include/pokenav.h
new file mode 100644
index 000000000..06676610a
--- /dev/null
+++ b/include/pokenav.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_POKENAV_H
+#define GUARD_POKENAV_H
+
+bool8 sub_81D5C18(void);
+
+#endif //GUARD_POKENAV_H
diff --git a/include/rng.h b/include/random.h
index ae98e575f..79a9d71dc 100644
--- a/include/rng.h
+++ b/include/random.h
@@ -1,5 +1,5 @@
-#ifndef GUARD_RNG_H
-#define GUARD_RNG_H
+#ifndef GUARD_RANDOM_H
+#define GUARD_RANDOM_H
extern u32 gRngValue;
extern u32 gRng2Value;
@@ -15,4 +15,4 @@ u16 Random2(void);
void SeedRng(u16 seed);
void SeedRng2(u16 seed);
-#endif // GUARD_RNG_H
+#endif // GUARD_RANDOM_H
diff --git a/include/sprite.h b/include/sprite.h
index 531314079..170d77c3f 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -195,14 +195,7 @@ struct Sprite
/*0x2D*/ u8 animLoopCounter;
// general purpose data fields
- /*0x2E*/ s16 data0;
- /*0x30*/ s16 data1;
- /*0x32*/ s16 data2;
- /*0x34*/ s16 data3;
- /*0x36*/ s16 data4;
- /*0x38*/ s16 data5;
- /*0x3A*/ s16 data6;
- /*0x3C*/ s16 data7;
+ /*0x2E*/ s16 data[8];
/*0x3E*/ u16 inUse:1; //1
u16 coordOffsetEnabled:1; //2
diff --git a/include/strings.h b/include/strings.h
index a32ba4c83..a2745d382 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -82,6 +82,7 @@ extern const u8 gText_NoRegistry[];
extern const u8 gText_OkayToDeleteFromRegistry[];
extern const u8 gText_RegisteredDataDeleted[];
extern const u8 gUnknown_085EA79D[];
+extern const u8 gText_PkmnFainted3[];
extern const u8 gText_Coins[];
#endif //GUARD_STRINGS_H