diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/battle.h | 21 | ||||
-rw-r--r-- | include/battle_anim.h | 18 | ||||
-rw-r--r-- | include/battle_frontier_2.h | 1 | ||||
-rw-r--r-- | include/battle_scripts.h | 378 | ||||
-rw-r--r-- | include/battle_util.h | 6 | ||||
-rw-r--r-- | include/field_poison.h | 19 | ||||
-rw-r--r-- | include/fldeff_80F9BCC.h | 1 | ||||
-rw-r--r-- | include/graphics.h | 26 | ||||
-rw-r--r-- | include/party_menu.h | 10 | ||||
-rw-r--r-- | include/pokeball.h | 26 | ||||
-rw-r--r-- | include/pokenav.h | 6 | ||||
-rw-r--r-- | include/random.h (renamed from include/rng.h) | 6 | ||||
-rw-r--r-- | include/sprite.h | 9 | ||||
-rw-r--r-- | include/strings.h | 1 |
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 |