Merge branch 'master' into pokenav_match_call
This commit is contained in:
127
include/battle.h
127
include/battle.h
@@ -3,9 +3,9 @@
|
||||
|
||||
// should they be included here or included individually by every file?
|
||||
#include "constants/battle.h"
|
||||
#include "battle_main.h"
|
||||
#include "battle_util.h"
|
||||
#include "battle_script_commands.h"
|
||||
#include "battle_main.h"
|
||||
#include "battle_ai_switch_items.h"
|
||||
#include "battle_gfx_sfx_util.h"
|
||||
#include "battle_util2.h"
|
||||
@@ -66,29 +66,14 @@
|
||||
#define MSG_DISPLAY 0x7
|
||||
#define BATTLE_COMMUNICATION_ENTRIES_COUNT 0x8
|
||||
|
||||
#define MOVE_TARGET_SELECTED 0x0
|
||||
#define MOVE_TARGET_DEPENDS 0x1
|
||||
#define MOVE_TARGET_USER 0x2
|
||||
#define MOVE_TARGET_RANDOM 0x4
|
||||
#define MOVE_TARGET_x10 0x10
|
||||
#define MOVE_TARGET_BOTH 0x8
|
||||
#define MOVE_TARGET_FOES_AND_ALLY 0x20
|
||||
#define MOVE_TARGET_OPPONENTS_FIELD 0x40
|
||||
|
||||
// defines for the u8 array gTypeEffectiveness
|
||||
#define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0]))
|
||||
#define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1]))
|
||||
#define TYPE_EFFECT_MULTIPLIER(i)((gTypeEffectiveness[i + 2]))
|
||||
|
||||
// defines for the gTypeEffectiveness multipliers
|
||||
#define TYPE_MUL_NO_EFFECT 0
|
||||
#define TYPE_MUL_NOT_EFFECTIVE 5
|
||||
#define TYPE_MUL_NORMAL 10
|
||||
#define TYPE_MUL_SUPER_EFFECTIVE 20
|
||||
|
||||
// special type table Ids
|
||||
#define TYPE_FORESIGHT 0xFE
|
||||
#define TYPE_ENDTABLE 0xFF
|
||||
#define MOVE_TARGET_SELECTED 0x0
|
||||
#define MOVE_TARGET_DEPENDS 0x1
|
||||
#define MOVE_TARGET_USER_OR_SELECTED 0x2
|
||||
#define MOVE_TARGET_RANDOM 0x4
|
||||
#define MOVE_TARGET_BOTH 0x8
|
||||
#define MOVE_TARGET_USER 0x10
|
||||
#define MOVE_TARGET_FOES_AND_ALLY 0x20
|
||||
#define MOVE_TARGET_OPPONENTS_FIELD 0x40
|
||||
|
||||
#define BATTLE_BUFFER_LINK_SIZE 0x1000
|
||||
|
||||
@@ -368,6 +353,91 @@ struct BattleResults
|
||||
u8 catchAttempts[11]; // 0x36
|
||||
};
|
||||
|
||||
struct BattleTv_Side
|
||||
{
|
||||
u32 spikesMonId:3;
|
||||
u32 reflectMonId:3;
|
||||
u32 lightScreenMonId:3;
|
||||
u32 safeguardMonId:3;
|
||||
u32 mistMonId:3;
|
||||
u32 futureSightMonId:3;
|
||||
u32 doomDesireMonId:3;
|
||||
u32 perishSongMonId:3;
|
||||
u32 wishMonId:3;
|
||||
u32 grudgeMonId:3;
|
||||
u32 usedMoveSlot:2;
|
||||
u32 spikesMoveSlot:2;
|
||||
u32 reflectMoveSlot:2;
|
||||
u32 lightScreenMoveSlot:2;
|
||||
u32 safeguardMoveSlot:2;
|
||||
u32 mistMoveSlot:2;
|
||||
u32 futureSightMoveSlot:2;
|
||||
u32 doomDesireMoveSlot:2;
|
||||
u32 perishSongMoveSlot:2;
|
||||
u32 wishMoveSlot:2;
|
||||
u32 grudgeMoveSlot:2;
|
||||
u32 destinyBondMonId:3;
|
||||
u32 destinyBondMoveSlot:2;
|
||||
u32 faintCause:4;
|
||||
u32 faintCauseMonId:3;
|
||||
u32 explosion:1;
|
||||
u32 explosionMoveSlot:2;
|
||||
u32 explosionMonId:3;
|
||||
u32 perishSong:1;
|
||||
};
|
||||
|
||||
struct BattleTv_Position
|
||||
{
|
||||
u32 curseMonId:3;
|
||||
u32 leechSeedMonId:3;
|
||||
u32 nightmareMonId:3;
|
||||
u32 wrapMonId:3;
|
||||
u32 attractMonId:3;
|
||||
u32 confusionMonId:3;
|
||||
u32 curseMoveSlot:2;
|
||||
u32 leechSeedMoveSlot:2;
|
||||
u32 nightmareMoveSlot:2;
|
||||
u32 wrapMoveSlot:2;
|
||||
u32 attractMoveSlot:2;
|
||||
u32 confusionMoveSlot:2;
|
||||
u32 waterSportMoveSlot:2;
|
||||
u32 waterSportMonId:3;
|
||||
u32 mudSportMonId:3;
|
||||
u32 mudSportMoveSlot:2;
|
||||
u32 ingrainMonId:3;
|
||||
u32 ingrainMoveSlot:2;
|
||||
u32 attackedByMonId:3;
|
||||
u32 attackedByMoveSlot:2;
|
||||
};
|
||||
|
||||
struct BattleTv_Mon
|
||||
{
|
||||
u32 psnMonId:3;
|
||||
u32 badPsnMonId:3;
|
||||
u32 brnMonId:3;
|
||||
u32 prlzMonId:3;
|
||||
u32 slpMonId:3;
|
||||
u32 frzMonId:3;
|
||||
u32 psnMoveSlot:2;
|
||||
u32 badPsnMoveSlot:2;
|
||||
u32 brnMoveSlot:2;
|
||||
u32 prlzMoveSlot:2;
|
||||
u32 slpMoveSlot:2;
|
||||
u32 frzMoveSlot:2;
|
||||
};
|
||||
|
||||
struct BattleTv
|
||||
{
|
||||
struct BattleTv_Mon mon[2][6]; // [side][partyId]
|
||||
struct BattleTv_Position pos[2][2]; // [side][flank]
|
||||
struct BattleTv_Side side[2]; // [side]
|
||||
};
|
||||
|
||||
struct BattleTvMovePoints
|
||||
{
|
||||
s16 points[2][PARTY_SIZE * 4];
|
||||
};
|
||||
|
||||
struct BattleStruct
|
||||
{
|
||||
u8 turnEffectsTracker;
|
||||
@@ -447,7 +517,7 @@ struct BattleStruct
|
||||
u8 field_B0;
|
||||
u8 hpScale;
|
||||
u8 synchronizeMoveEffect;
|
||||
u8 field_B3;
|
||||
bool8 anyMonHasTransformed;
|
||||
void (*savedCallback)(void);
|
||||
u16 usedHeldItems[MAX_BATTLERS_COUNT];
|
||||
u8 chosenItem[4]; // why is this an u8?
|
||||
@@ -472,9 +542,9 @@ struct BattleStruct
|
||||
u8 wishPerishSongBattlerId;
|
||||
bool8 overworldWeatherDone;
|
||||
u8 atkCancellerTracker;
|
||||
u8 field_1A4[96];
|
||||
u8 field_204[104];
|
||||
u8 field_26C[40];
|
||||
struct BattleTvMovePoints tvMovePoints;
|
||||
struct BattleTv tv;
|
||||
u8 notSureWhatFieldLol[0x28];
|
||||
u8 AI_monToSwitchIntoId[MAX_BATTLERS_COUNT];
|
||||
u8 field_298[8];
|
||||
u8 field_2A0;
|
||||
@@ -493,6 +563,7 @@ struct BattleStruct
|
||||
#define IS_MOVE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY)
|
||||
#define IS_MOVE_SPECIAL(moveType)(moveType > TYPE_MYSTERY)
|
||||
|
||||
|
||||
#define GET_STAT_BUFF_ID(n)((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8
|
||||
#define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40
|
||||
#define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
#ifndef GUARD_BATTLE_LINK_817C95C_H
|
||||
#define GUARD_BATTLE_LINK_817C95C_H
|
||||
|
||||
void sub_817C95C(u16 stringId);
|
||||
void sub_817E0FC(u16 move, u16 weatherFlags, struct DisableStruct *disableStructPtr);
|
||||
void sub_817E32C(u8 animationId);
|
||||
void sub_817E3F4(void);
|
||||
void sub_817F2A8(void);
|
||||
u8 GetBattlerMoveSlotId(u8 bank, u16 move);
|
||||
|
||||
#endif // GUARD_BATTLE_LINK_817C95C_H
|
||||
@@ -1,6 +1,30 @@
|
||||
#ifndef GUARD_BATTLE_MAIN_H
|
||||
#define GUARD_BATTLE_MAIN_H
|
||||
|
||||
struct TrainerMoney
|
||||
{
|
||||
u8 classId;
|
||||
u8 value;
|
||||
};
|
||||
|
||||
#define TYPE_NAME_LENGTH 6
|
||||
#define ABILITY_NAME_LENGTH 12
|
||||
|
||||
// defines for the u8 array gTypeEffectiveness
|
||||
#define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0]))
|
||||
#define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1]))
|
||||
#define TYPE_EFFECT_MULTIPLIER(i)((gTypeEffectiveness[i + 2]))
|
||||
|
||||
// defines for the gTypeEffectiveness multipliers
|
||||
#define TYPE_MUL_NO_EFFECT 0
|
||||
#define TYPE_MUL_NOT_EFFECTIVE 5
|
||||
#define TYPE_MUL_NORMAL 10
|
||||
#define TYPE_MUL_SUPER_EFFECTIVE 20
|
||||
|
||||
// special type table Ids
|
||||
#define TYPE_FORESIGHT 0xFE
|
||||
#define TYPE_ENDTABLE 0xFF
|
||||
|
||||
void CB2_InitBattle(void);
|
||||
void BattleMainCB2(void);
|
||||
void CB2_QuitRecordedBattle(void);
|
||||
@@ -42,6 +66,12 @@ void RunBattleScriptCommands_PopCallbacksStack(void);
|
||||
void RunBattleScriptCommands(void);
|
||||
bool8 TryRunFromBattle(u8 battlerId);
|
||||
|
||||
extern const u8 gTypeEffectiveness[336];
|
||||
extern const u8 gTypeNames[][TYPE_NAME_LENGTH + 1];
|
||||
extern const struct TrainerMoney gTrainerMoneyTable[];
|
||||
extern const u8 gAbilityNames[][ABILITY_NAME_LENGTH + 1];
|
||||
extern const u8 *const gAbilityDescriptionPointers[];
|
||||
|
||||
extern const u8 gStatusConditionString_PoisonJpn[8];
|
||||
extern const u8 gStatusConditionString_SleepJpn[8];
|
||||
extern const u8 gStatusConditionString_ParalysisJpn[8];
|
||||
|
||||
@@ -4,16 +4,16 @@
|
||||
#define WINDOW_CLEAR 0x1
|
||||
#define WINDOW_x80 0x80
|
||||
|
||||
void AI_CalcDmg(u8 bankAtk, u8 bankDef);
|
||||
u8 TypeCalc(u16 move, u8 bankAtk, u8 bankDef);
|
||||
void AI_CalcDmg(u8 battlerIdAtk, u8 battlerIdDef);
|
||||
u8 TypeCalc(u16 move, u8 battlerIdAtk, u8 battlerIdDef);
|
||||
u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility);
|
||||
u8 GetBattlerTurnOrderNum(u8 bank);
|
||||
u8 GetBattlerTurnOrderNum(u8 battlerId);
|
||||
void SetMoveEffect(bool8 primary, u8 certain);
|
||||
void BattleDestroyYesNoCursorAt(u8 cursorPosition);
|
||||
void BattleCreateYesNoCursorAt(u8 cursorPosition);
|
||||
void BufferMoveToLearnIntoBattleTextBuff2(void);
|
||||
void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags);
|
||||
bool8 UproarWakeUpCheck(u8 bank);
|
||||
bool8 UproarWakeUpCheck(u8 battlerId);
|
||||
|
||||
extern void (* const gBattleScriptingCommandsTable[])(void);
|
||||
extern const u8 gUnknown_0831C494[][4];
|
||||
|
||||
11
include/battle_tv.h
Normal file
11
include/battle_tv.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#ifndef GUARD_BATTLE_TV_H
|
||||
#define GUARD_BATTLE_TV_H
|
||||
|
||||
void BattleTv_SetDataBasedOnString(u16 stringId);
|
||||
void BattleTv_SetDataBasedOnMove(u16 move, u16 weatherFlags, struct DisableStruct *disableStructPtr);
|
||||
void BattleTv_SetDataBasedOnAnimation(u8 animationId);
|
||||
void TryPutLinkBattleTvShowOnAir(void);
|
||||
void BattleTv_ClearExplosionFaintCause(void);
|
||||
u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId);
|
||||
|
||||
#endif // GUARD_BATTLE_TV_H
|
||||
10
include/blit.h
Normal file
10
include/blit.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef GUARD_BLIT_H
|
||||
#define GUARD_BLIT_H
|
||||
|
||||
void BlitBitmapRect4BitWithoutColorKey(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height);
|
||||
void BlitBitmapRect4Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey);
|
||||
void FillBitmapRect4Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue);
|
||||
void BlitBitmapRect4BitTo8Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey, u8 paletteOffset);
|
||||
void FillBitmapRect8Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue);
|
||||
|
||||
#endif // GUARD_BLIT_H
|
||||
7
include/braille_puzzles.h
Normal file
7
include/braille_puzzles.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef GUARD_BRAILLE_PUZZLES_H
|
||||
#define GUARD_BRAILLE_PUZZLES_H
|
||||
|
||||
bool8 ShouldDoBrailleFlyEffect(void);
|
||||
void sub_8179918(void);
|
||||
|
||||
#endif // GUARD_BRAILLE_PUZZLES_H
|
||||
@@ -5,4 +5,4 @@
|
||||
|
||||
void DoTimeBasedEvents(void);
|
||||
|
||||
#endif
|
||||
#endif // GUARD_CLOCK_H
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
#define EFFECT_EARTHQUAKE 147
|
||||
#define EFFECT_FUTURE_SIGHT 148
|
||||
#define EFFECT_GUST 149
|
||||
#define EFFECT_FLINCH_HIT_2 150 // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
|
||||
#define EFFECT_FLINCH_MINIMIZE_HIT 150 // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
|
||||
#define EFFECT_SOLARBEAM 151
|
||||
#define EFFECT_THUNDER 152
|
||||
#define EFFECT_TELEPORT 153
|
||||
|
||||
@@ -92,6 +92,6 @@
|
||||
#define ATK48_STAT_NEGATIVE 0x1
|
||||
#define ATK48_STAT_BY_TWO 0x2
|
||||
#define ATK48_BIT_x4 0x4
|
||||
#define ATK48_LOWER_FAIL_CHECK 0x8
|
||||
#define ATK48_DONT_CHECK_LOWER 0x8
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
#define FLAG_0x058 0x58
|
||||
#define FLAG_0x059 0x59
|
||||
#define FLAG_0x05A 0x5A
|
||||
#define FLAG_0x05B 0x5B
|
||||
#define FLAG_WATTSON_REMATCH_AVAILABLE 0x5B
|
||||
#define FLAG_0x05C 0x5C
|
||||
#define FLAG_0x05D 0x5D
|
||||
#define FLAG_0x05E 0x5E
|
||||
@@ -208,8 +208,8 @@
|
||||
#define FLAG_0x0CD 0xCD
|
||||
#define FLAG_0x0CE 0xCE
|
||||
#define FLAG_0x0CF 0xCF
|
||||
#define FLAG_0x0D0 0xD0
|
||||
#define FLAG_0x0D1 0xD1
|
||||
#define FLAG_GOT_BASEMENT_KEY_FROM_WATTSON 0xD0
|
||||
#define FLAG_GOT_TM24_FROM_WATTSON 0xD1
|
||||
#define FLAG_0x0D2 0xD2
|
||||
#define FLAG_0x0D3 0xD3
|
||||
#define FLAG_0x0D4 0xD4
|
||||
@@ -913,8 +913,8 @@
|
||||
#define FLAG_0x38D 0x38D
|
||||
#define FLAG_0x38E 0x38E
|
||||
#define FLAG_0x38F 0x38F
|
||||
#define FLAG_0x390 0x390
|
||||
#define FLAG_0x391 0x391
|
||||
#define FLAG_SPRITEVIS_MAUVILLE_CITY_WATTSON 0x390
|
||||
#define FLAG_SPRITEVIS_MAUVILLE_GYM_WATTSON 0x391
|
||||
#define FLAG_0x392 0x392
|
||||
#define FLAG_0x393 0x393
|
||||
#define FLAG_0x394 0x394
|
||||
@@ -962,7 +962,7 @@
|
||||
#define FLAG_0x3BE 0x3BE
|
||||
#define FLAG_0x3BF 0x3BF
|
||||
#define FLAG_0x3C0 0x3C0
|
||||
#define FLAG_0x3C1 0x3C1
|
||||
#define FLAG_SPRITEVIS_SLATEPORT_MUSEUM_POPULATION 0x3C1
|
||||
#define FLAG_0x3C2 0x3C2
|
||||
#define FLAG_0x3C3 0x3C3
|
||||
#define FLAG_0x3C4 0x3C4
|
||||
|
||||
3913
include/data/battle_moves.h
Normal file
3913
include/data/battle_moves.h
Normal file
File diff suppressed because it is too large
Load Diff
247
include/data/text/abilities.h
Normal file
247
include/data/text/abilities.h
Normal file
@@ -0,0 +1,247 @@
|
||||
#ifndef POKEEMERALD_DATA_TEXT_ABILITIES_H
|
||||
#define POKEEMERALD_DATA_TEXT_ABILITIES_H
|
||||
|
||||
static const u8 gNoneAbilityDescription[] = _("No special ability.");
|
||||
static const u8 gStenchAbilityDescription[] = _("Helps repel wild POKéMON.");
|
||||
static const u8 gDrizzleAbilityDescription[] = _("Summons rain in battle.");
|
||||
static const u8 gSpeedBoostAbilityDescription[] = _("Gradually boosts SPEED.");
|
||||
static const u8 gBattleArmorAbilityDescription[] = _("Blocks critical hits.");
|
||||
static const u8 gSturdyAbilityDescription[] = _("Negates 1-hit KO attacks.");
|
||||
static const u8 gDampAbilityDescription[] = _("Prevents self-destruction.");
|
||||
static const u8 gLimberAbilityDescription[] = _("Prevents paralysis.");
|
||||
static const u8 gSandVeilAbilityDescription[] = _("Ups evasion in a sandstorm.");
|
||||
static const u8 gStaticAbilityDescription[] = _("Paralyzes on contact.");
|
||||
static const u8 gVoltAbsorbAbilityDescription[] = _("Turns electricity into HP.");
|
||||
static const u8 gWaterAbsorbAbilityDescription[] = _("Changes water into HP.");
|
||||
static const u8 gObliviousAbilityDescription[] = _("Prevents attraction.");
|
||||
static const u8 gCloudNineAbilityDescription[] = _("Negates weather effects.");
|
||||
static const u8 gCompoundEyesAbilityDescription[] = _("Raises accuracy.");
|
||||
static const u8 gInsomniaAbilityDescription[] = _("Prevents sleep.");
|
||||
static const u8 gColorChangeAbilityDescription[] = _("Changes type to foe’s move.");
|
||||
static const u8 gImmunityAbilityDescription[] = _("Prevents poisoning.");
|
||||
static const u8 gFlashFireAbilityDescription[] = _("Powers up if hit by fire.");
|
||||
static const u8 gShieldDustAbilityDescription[] = _("Prevents added effects.");
|
||||
static const u8 gOwnTempoAbilityDescription[] = _("Prevents confusion.");
|
||||
static const u8 gSuctionCupsAbilityDescription[] = _("Firmly anchors the body.");
|
||||
static const u8 gIntimidateAbilityDescription[] = _("Lowers the foe’s ATTACK.");
|
||||
static const u8 gShadowTagAbilityDescription[] = _("Prevents the foe’s escape.");
|
||||
static const u8 gRoughSkinAbilityDescription[] = _("Hurts to touch.");
|
||||
static const u8 gWonderGuardAbilityDescription[] = _("“Super effective” hits.");
|
||||
static const u8 gLevitateAbilityDescription[] = _("Not hit by GROUND attacks.");
|
||||
static const u8 gEffectSporeAbilityDescription[] = _("Leaves spores on contact.");
|
||||
static const u8 gSynchronizeAbilityDescription[] = _("Passes on status problems.");
|
||||
static const u8 gClearBodyAbilityDescription[] = _("Prevents ability reduction.");
|
||||
static const u8 gNaturalCureAbilityDescription[] = _("Heals upon switching out.");
|
||||
static const u8 gLightningRodAbilityDescription[] = _("Draws electrical moves.");
|
||||
static const u8 gSereneGraceAbilityDescription[] = _("Promotes added effects.");
|
||||
static const u8 gSwiftSwimAbilityDescription[] = _("Raises SPEED in rain.");
|
||||
static const u8 gChlorophyllAbilityDescription[] = _("Raises SPEED in sunshine.");
|
||||
static const u8 gIlluminateAbilityDescription[] = _("Encounter rate increases.");
|
||||
static const u8 gTraceAbilityDescription[] = _("Copies special ability.");
|
||||
static const u8 gHugePowerAbilityDescription[] = _("Raises ATTACK.");
|
||||
static const u8 gPoisonPointAbilityDescription[] = _("Poisons foe on contact.");
|
||||
static const u8 gInnerFocusAbilityDescription[] = _("Prevents flinching.");
|
||||
static const u8 gMagmaArmorAbilityDescription[] = _("Prevents freezing.");
|
||||
static const u8 gWaterVeilAbilityDescription[] = _("Prevents burns.");
|
||||
static const u8 gMagnetPullAbilityDescription[] = _("Traps STEEL-type POKéMON.");
|
||||
static const u8 gSoundproofAbilityDescription[] = _("Avoids sound-based moves.");
|
||||
static const u8 gRainDishAbilityDescription[] = _("Slight HP recovery in rain.");
|
||||
static const u8 gSandStreamAbilityDescription[] = _("Summons a sandstorm.");
|
||||
static const u8 gPressureAbilityDescription[] = _("Raises foe’s PP usage.");
|
||||
static const u8 gThickFatAbilityDescription[] = _("Heat-and-cold protection.");
|
||||
static const u8 gEarlyBirdAbilityDescription[] = _("Awakens quickly from sleep.");
|
||||
static const u8 gFlameBodyAbilityDescription[] = _("Burns the foe on contact.");
|
||||
static const u8 gRunAwayAbilityDescription[] = _("Makes escaping easier.");
|
||||
static const u8 gKeenEyeAbilityDescription[] = _("Prevents loss of accuracy.");
|
||||
static const u8 gHyperCutterAbilityDescription[] = _("Prevents ATTACK reduction.");
|
||||
static const u8 gPickupAbilityDescription[] = _("May pick up items.");
|
||||
static const u8 gTruantAbilityDescription[] = _("Moves only every two turns.");
|
||||
static const u8 gHustleAbilityDescription[] = _("Trades accuracy for power.");
|
||||
static const u8 gCuteCharmAbilityDescription[] = _("Infatuates on contact.");
|
||||
static const u8 gPlusAbilityDescription[] = _("Powers up with MINUS.");
|
||||
static const u8 gMinusAbilityDescription[] = _("Powers up with PLUS.");
|
||||
static const u8 gForecastAbilityDescription[] = _("Changes with the weather.");
|
||||
static const u8 gStickyHoldAbilityDescription[] = _("Prevents item theft.");
|
||||
static const u8 gShedSkinAbilityDescription[] = _("Heals the body by shedding.");
|
||||
static const u8 gGutsAbilityDescription[] = _("Ups ATTACK if suffering.");
|
||||
static const u8 gMarvelScaleAbilityDescription[] = _("Ups DEFENSE if suffering.");
|
||||
static const u8 gLiquidOozeAbilityDescription[] = _("Draining causes injury.");
|
||||
static const u8 gOvergrowAbilityDescription[] = _("Ups GRASS moves in a pinch.");
|
||||
static const u8 gBlazeAbilityDescription[] = _("Ups FIRE moves in a pinch.");
|
||||
static const u8 gTorrentAbilityDescription[] = _("Ups WATER moves in a pinch.");
|
||||
static const u8 gSwarmAbilityDescription[] = _("Ups BUG moves in a pinch.");
|
||||
static const u8 gRockHeadAbilityDescription[] = _("Prevents recoil damage.");
|
||||
static const u8 gDroughtAbilityDescription[] = _("Summons sunlight in battle.");
|
||||
static const u8 gArenaTrapAbilityDescription[] = _("Prevents fleeing.");
|
||||
static const u8 gVitalSpiritAbilityDescription[] = _("Prevents sleep.");
|
||||
static const u8 gWhiteSmokeAbilityDescription[] = _("Prevents ability reduction.");
|
||||
static const u8 gPurePowerAbilityDescription[] = _("Raises ATTACK.");
|
||||
static const u8 gShellArmorAbilityDescription[] = _("Blocks critical hits.");
|
||||
static const u8 gCacophonyAbilityDescription[] = _("Avoids sound-based moves.");
|
||||
static const u8 gAirLockAbilityDescription[] = _("Negates weather effects.");
|
||||
|
||||
const u8 gAbilityNames[][ABILITY_NAME_LENGTH + 1] =
|
||||
{
|
||||
_("-------"),
|
||||
_("STENCH"),
|
||||
_("DRIZZLE"),
|
||||
_("SPEED BOOST"),
|
||||
_("BATTLE ARMOR"),
|
||||
_("STURDY"),
|
||||
_("DAMP"),
|
||||
_("LIMBER"),
|
||||
_("SAND VEIL"),
|
||||
_("STATIC"),
|
||||
_("VOLT ABSORB"),
|
||||
_("WATER ABSORB"),
|
||||
_("OBLIVIOUS"),
|
||||
_("CLOUD NINE"),
|
||||
_("COMPOUNDEYES"),
|
||||
_("INSOMNIA"),
|
||||
_("COLOR CHANGE"),
|
||||
_("IMMUNITY"),
|
||||
_("FLASH FIRE"),
|
||||
_("SHIELD DUST"),
|
||||
_("OWN TEMPO"),
|
||||
_("SUCTION CUPS"),
|
||||
_("INTIMIDATE"),
|
||||
_("SHADOW TAG"),
|
||||
_("ROUGH SKIN"),
|
||||
_("WONDER GUARD"),
|
||||
_("LEVITATE"),
|
||||
_("EFFECT SPORE"),
|
||||
_("SYNCHRONIZE"),
|
||||
_("CLEAR BODY"),
|
||||
_("NATURAL CURE"),
|
||||
_("LIGHTNINGROD"),
|
||||
_("SERENE GRACE"),
|
||||
_("SWIFT SWIM"),
|
||||
_("CHLOROPHYLL"),
|
||||
_("ILLUMINATE"),
|
||||
_("TRACE"),
|
||||
_("HUGE POWER"),
|
||||
_("POISON POINT"),
|
||||
_("INNER FOCUS"),
|
||||
_("MAGMA ARMOR"),
|
||||
_("WATER VEIL"),
|
||||
_("MAGNET PULL"),
|
||||
_("SOUNDPROOF"),
|
||||
_("RAIN DISH"),
|
||||
_("SAND STREAM"),
|
||||
_("PRESSURE"),
|
||||
_("THICK FAT"),
|
||||
_("EARLY BIRD"),
|
||||
_("FLAME BODY"),
|
||||
_("RUN AWAY"),
|
||||
_("KEEN EYE"),
|
||||
_("HYPER CUTTER"),
|
||||
_("PICKUP"),
|
||||
_("TRUANT"),
|
||||
_("HUSTLE"),
|
||||
_("CUTE CHARM"),
|
||||
_("PLUS"),
|
||||
_("MINUS"),
|
||||
_("FORECAST"),
|
||||
_("STICKY HOLD"),
|
||||
_("SHED SKIN"),
|
||||
_("GUTS"),
|
||||
_("MARVEL SCALE"),
|
||||
_("LIQUID OOZE"),
|
||||
_("OVERGROW"),
|
||||
_("BLAZE"),
|
||||
_("TORRENT"),
|
||||
_("SWARM"),
|
||||
_("ROCK HEAD"),
|
||||
_("DROUGHT"),
|
||||
_("ARENA TRAP"),
|
||||
_("VITAL SPIRIT"),
|
||||
_("WHITE SMOKE"),
|
||||
_("PURE POWER"),
|
||||
_("SHELL ARMOR"),
|
||||
_("CACOPHONY"),
|
||||
_("AIR LOCK"),
|
||||
};
|
||||
|
||||
const u8 *const gAbilityDescriptionPointers[] =
|
||||
{
|
||||
gNoneAbilityDescription,
|
||||
gStenchAbilityDescription,
|
||||
gDrizzleAbilityDescription,
|
||||
gSpeedBoostAbilityDescription,
|
||||
gBattleArmorAbilityDescription,
|
||||
gSturdyAbilityDescription,
|
||||
gDampAbilityDescription,
|
||||
gLimberAbilityDescription,
|
||||
gSandVeilAbilityDescription,
|
||||
gStaticAbilityDescription,
|
||||
gVoltAbsorbAbilityDescription,
|
||||
gWaterAbsorbAbilityDescription,
|
||||
gObliviousAbilityDescription,
|
||||
gCloudNineAbilityDescription,
|
||||
gCompoundEyesAbilityDescription,
|
||||
gInsomniaAbilityDescription,
|
||||
gColorChangeAbilityDescription,
|
||||
gImmunityAbilityDescription,
|
||||
gFlashFireAbilityDescription,
|
||||
gShieldDustAbilityDescription,
|
||||
gOwnTempoAbilityDescription,
|
||||
gSuctionCupsAbilityDescription,
|
||||
gIntimidateAbilityDescription,
|
||||
gShadowTagAbilityDescription,
|
||||
gRoughSkinAbilityDescription,
|
||||
gWonderGuardAbilityDescription,
|
||||
gLevitateAbilityDescription,
|
||||
gEffectSporeAbilityDescription,
|
||||
gSynchronizeAbilityDescription,
|
||||
gClearBodyAbilityDescription,
|
||||
gNaturalCureAbilityDescription,
|
||||
gLightningRodAbilityDescription,
|
||||
gSereneGraceAbilityDescription,
|
||||
gSwiftSwimAbilityDescription,
|
||||
gChlorophyllAbilityDescription,
|
||||
gIlluminateAbilityDescription,
|
||||
gTraceAbilityDescription,
|
||||
gHugePowerAbilityDescription,
|
||||
gPoisonPointAbilityDescription,
|
||||
gInnerFocusAbilityDescription,
|
||||
gMagmaArmorAbilityDescription,
|
||||
gWaterVeilAbilityDescription,
|
||||
gMagnetPullAbilityDescription,
|
||||
gSoundproofAbilityDescription,
|
||||
gRainDishAbilityDescription,
|
||||
gSandStreamAbilityDescription,
|
||||
gPressureAbilityDescription,
|
||||
gThickFatAbilityDescription,
|
||||
gEarlyBirdAbilityDescription,
|
||||
gFlameBodyAbilityDescription,
|
||||
gRunAwayAbilityDescription,
|
||||
gKeenEyeAbilityDescription,
|
||||
gHyperCutterAbilityDescription,
|
||||
gPickupAbilityDescription,
|
||||
gTruantAbilityDescription,
|
||||
gHustleAbilityDescription,
|
||||
gCuteCharmAbilityDescription,
|
||||
gPlusAbilityDescription,
|
||||
gMinusAbilityDescription,
|
||||
gForecastAbilityDescription,
|
||||
gStickyHoldAbilityDescription,
|
||||
gShedSkinAbilityDescription,
|
||||
gGutsAbilityDescription,
|
||||
gMarvelScaleAbilityDescription,
|
||||
gLiquidOozeAbilityDescription,
|
||||
gOvergrowAbilityDescription,
|
||||
gBlazeAbilityDescription,
|
||||
gTorrentAbilityDescription,
|
||||
gSwarmAbilityDescription,
|
||||
gRockHeadAbilityDescription,
|
||||
gDroughtAbilityDescription,
|
||||
gArenaTrapAbilityDescription,
|
||||
gVitalSpiritAbilityDescription,
|
||||
gWhiteSmokeAbilityDescription,
|
||||
gPurePowerAbilityDescription,
|
||||
gShellArmorAbilityDescription,
|
||||
gCacophonyAbilityDescription,
|
||||
gAirLockAbilityDescription,
|
||||
};
|
||||
|
||||
#endif // POKEEMERALD_DATA_TEXT_ABILITIES_H
|
||||
@@ -14,8 +14,6 @@ extern struct MonCoords gTrainerFrontPicCoords[];
|
||||
|
||||
extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
|
||||
extern const u8 gMoveNames[][13];
|
||||
extern const u8 gAbilityNames[][13];
|
||||
extern const u8 gTypeNames[][7];
|
||||
extern struct CompressedSpriteSheet gUnknown_0831C620;
|
||||
extern struct CompressedSpritePalette gUnknown_0831C628;
|
||||
extern const struct SpriteTemplate gUnknown_0831C688;
|
||||
|
||||
@@ -22,6 +22,7 @@ extern const u8 EventScript_2713D1[];
|
||||
extern const u8 EventScript_2766A2[];
|
||||
extern const u8 EventScript_2766A6[];
|
||||
|
||||
|
||||
extern const u8 gTVBravoTrainerText00[];
|
||||
extern const u8 gTVBravoTrainerText01[];
|
||||
extern const u8 gTVBravoTrainerText02[];
|
||||
@@ -381,6 +382,9 @@ extern const u8 SecretBase_RedCave1_Text_2751E1[];
|
||||
extern const u8 SecretBase_RedCave1_Text_2754F6[];
|
||||
extern const u8 SecretBase_RedCave1_Text_2758CC[];
|
||||
|
||||
//field effects
|
||||
extern const u8 FieryPath_EventScript_2908FD[];
|
||||
extern const u8 EventScript_290CAE[];
|
||||
extern const u8 EventScript_2926F8[];
|
||||
|
||||
#endif //GUARD_EVENT_SCRIPTS_H
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
#ifndef GUARD_FLDEFF_GROUNDSHAKE_H
|
||||
#define GUARD_FLDEFF_GROUNDSHAKE_H
|
||||
|
||||
void sub_81BE6B8(void);
|
||||
void sub_81BE72C(void);
|
||||
|
||||
#endif // GUARD_FLDEFF_GROUNDSHAKE_H
|
||||
@@ -188,11 +188,11 @@ typedef union // size = 0x24
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
/*0x02*/ u16 species;
|
||||
/*0x02*/ u16 speciesOpponent;
|
||||
/*0x04*/ u8 playerName[8];
|
||||
/*0x0C*/ u8 linkOpponentName[8];
|
||||
/*0x14*/ u16 move;
|
||||
/*0x16*/ u16 species2;
|
||||
/*0x16*/ u16 speciesPlayer;
|
||||
/*0x18*/ u8 battleType;
|
||||
/*0x19*/ u8 language;
|
||||
/*0x1A*/ u8 linkOpponentLanguage;
|
||||
|
||||
87
include/gym_leader_rematch.h
Normal file
87
include/gym_leader_rematch.h
Normal file
@@ -0,0 +1,87 @@
|
||||
#ifndef GUARD_TRAINER_REMATCH_H
|
||||
#define GUARD_TRAINER_REMATCH_H
|
||||
|
||||
enum {
|
||||
REMATCH_ROSE,
|
||||
REMATCH_ANDRES,
|
||||
REMATCH_DUSTY,
|
||||
REMATCH_LOLA,
|
||||
REMATCH_RICKY,
|
||||
REMATCH_LILA_AND_ROY,
|
||||
REMATCH_CRISTIN,
|
||||
REMATCH_BROOKE,
|
||||
REMATCH_WILTON,
|
||||
REMATCH_VALERIE,
|
||||
REMATCH_CINDY,
|
||||
REMATCH_THALIA,
|
||||
REMATCH_JESSICA,
|
||||
REMATCH_WINSTON,
|
||||
REMATCH_STEVE,
|
||||
REMATCH_TONY,
|
||||
REMATCH_NOB,
|
||||
REMATCH_KOJI,
|
||||
REMATCH_FERNANDO,
|
||||
REMATCH_DALTON,
|
||||
REMATCH_BERNIE,
|
||||
REMATCH_ETHAN,
|
||||
REMATCH_JOHN_AND_JAY,
|
||||
REMATCH_JEFFREY,
|
||||
REMATCH_CAMERON,
|
||||
REMATCH_JACKI,
|
||||
REMATCH_WALTER,
|
||||
REMATCH_KAREN,
|
||||
REMATCH_JERRY,
|
||||
REMATCH_ANNA_AND_MEG,
|
||||
REMATCH_ISABEL,
|
||||
REMATCH_MIGUEL,
|
||||
REMATCH_TIMOTHY,
|
||||
REMATCH_SHELBY,
|
||||
REMATCH_CALVIN,
|
||||
REMATCH_ELLIOT,
|
||||
REMATCH_ISAIAH,
|
||||
REMATCH_MARIA,
|
||||
REMATCH_ABIGAIL,
|
||||
REMATCH_DYLAN,
|
||||
REMATCH_KATELYN,
|
||||
REMATCH_BENJAMIN,
|
||||
REMATCH_PABLO,
|
||||
REMATCH_NICOLAS,
|
||||
REMATCH_ROBERT,
|
||||
REMATCH_LAO,
|
||||
REMATCH_CYNDY,
|
||||
REMATCH_MADELINE,
|
||||
REMATCH_JENNY,
|
||||
REMATCH_DIANA,
|
||||
REMATCH_AMY_AND_LIV,
|
||||
REMATCH_ERNEST,
|
||||
REMATCH_CORY,
|
||||
REMATCH_EDWIN,
|
||||
REMATCH_LYDIA,
|
||||
REMATCH_ISAAC,
|
||||
REMATCH_GABRIELLE,
|
||||
REMATCH_CATHERINE,
|
||||
REMATCH_JACKSON,
|
||||
REMATCH_HALEY,
|
||||
REMATCH_JAMES,
|
||||
REMATCH_TRENT,
|
||||
REMATCH_SAWYER,
|
||||
REMATCH_KIRA_AND_DAN,
|
||||
REMATCH_WALLY_3,
|
||||
REMATCH_ROXANNE,
|
||||
REMATCH_BRAWLY,
|
||||
REMATCH_WATTSON,
|
||||
REMATCH_FLANNERY,
|
||||
REMATCH_NORMAN,
|
||||
REMATCH_WINONA,
|
||||
REMATCH_TATE_AND_LIZA,
|
||||
REMATCH_JUAN,
|
||||
REMATCH_SIDNEY,
|
||||
REMATCH_PHOEBE,
|
||||
REMATCH_GLACIA,
|
||||
REMATCH_DRAKE,
|
||||
REMATCH_WALLACE
|
||||
};
|
||||
|
||||
void UpdateGymLeaderRematch(void);
|
||||
|
||||
#endif //GUARD_TRAINER_REMATCH_H
|
||||
@@ -468,6 +468,7 @@ extern struct Pokemon gEnemyParty[PARTY_SIZE];
|
||||
extern struct SpriteTemplate gUnknown_0202499C;
|
||||
extern struct PokemonStorage* gPokemonStoragePtr;
|
||||
|
||||
extern const struct BattleMove gBattleMoves[];
|
||||
extern const u8 gFacilityClassToPicIndex[];
|
||||
extern const u8 gFacilityClassToTrainerClass[];
|
||||
extern const struct BaseStats gBaseStats[];
|
||||
|
||||
17
include/roulette_util.h
Normal file
17
include/roulette_util.h
Normal file
@@ -0,0 +1,17 @@
|
||||
#ifndef GUARD_ROULETTE_UTIL_H
|
||||
#define GUARD_ROULETTE_UTIL_H
|
||||
|
||||
// structures
|
||||
struct InnerStruct203CF18
|
||||
{
|
||||
u8 filler[0xC4];
|
||||
};
|
||||
|
||||
void sub_8151B68(struct InnerStruct203CF18 *, const u8*);
|
||||
void sub_8151B3C(struct InnerStruct203CF18 *);
|
||||
void sub_8151CA8(struct InnerStruct203CF18 *, u8, u8);
|
||||
void sub_8151C50(struct InnerStruct203CF18 *, u8, u8);
|
||||
void sub_8151D28(struct InnerStruct203CF18 *, u8, u8);
|
||||
void sub_8151E50(struct InnerStruct203CF18 *);
|
||||
|
||||
#endif // GUARD_ROULETTE_UTIL_H
|
||||
43
include/tv.h
43
include/tv.h
@@ -4,17 +4,46 @@
|
||||
extern u8 *const gTVStringVarPtrs[3];
|
||||
|
||||
void ClearTVShowData(void);
|
||||
void PutPokemonTodayCaughtOnAir(void);
|
||||
void sub_80EE184(void);
|
||||
void sub_80EE35C(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u16 betterMove);
|
||||
void sub_80EE8C8(u16 winStreak, u8 facility);
|
||||
void DoTVShow(void);
|
||||
void DoTVShowInSearchOfTrainers(void);
|
||||
void sub_80EDCE8(void);
|
||||
void sub_80EE2CC(void);
|
||||
void sub_80EE72C(void);
|
||||
void sub_80EED10(void);
|
||||
void sub_80EED34(void);
|
||||
void sub_80EED60(u16 delta);
|
||||
void sub_80F01B8(void);
|
||||
void sub_80F01E8(void *src, u32 size, u8 masterIdx);
|
||||
void sub_80EE4DC(struct Pokemon *pokemon, u8 ribbonMonDataIdx);
|
||||
u32 GetPlayerIDAsU32(void);
|
||||
bool8 GetPriceReduction(u8 newsKind);
|
||||
u8 GetRibbonCount(struct Pokemon *pokemon);
|
||||
void TV_PutSecretBaseVisitOnTheAir(void);
|
||||
void sub_80EE184(void);
|
||||
void sub_80EEA70(void);
|
||||
void sub_80F14F8(TVShow *shows);
|
||||
size_t sub_80EF370(int value);
|
||||
bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language);
|
||||
size_t CountDigits(int value);
|
||||
u8 GetRibbonCount(struct Pokemon *pokemon);
|
||||
void sub_80EDE70(u16 nCoinsSpent);
|
||||
void sub_80EDE84(u16 nCoinsSpent);
|
||||
void sub_80EDD78(u16 nCoinsPaidOut);
|
||||
void sub_80EEA70(void);
|
||||
void sub_80EDB44(void);
|
||||
void sub_80EDC60(const u16 *words);
|
||||
void sub_80EDA80(void);
|
||||
void sub_80F0C7C(void *src, u32 size, u8 masterIdx);
|
||||
void sub_80F0BB8(void);
|
||||
void sub_80ED950(bool8 flag);
|
||||
void sub_80EEC80(void);
|
||||
void sub_80EECA4(void);
|
||||
void sub_80EECC8(void);
|
||||
void sub_80EECEC(void);
|
||||
void sub_80F1208(TVShow *shows);
|
||||
void sub_80EE44C(u8 nMonsCaught, u8 nPkblkUsed);
|
||||
void SetPokemonAnglerSpecies(u16 species);
|
||||
void UpdateTVShowsPerDay(u16 days);
|
||||
void PutPokemonTodayCaughtOnAir(void);
|
||||
void TV_PutSecretBaseVisitOnTheAir(void);
|
||||
bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language);
|
||||
void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlayer, u16 speciesOpponent);
|
||||
|
||||
#endif //GUARD_TV_H
|
||||
|
||||
Reference in New Issue
Block a user