start working on battle setup

This commit is contained in:
DizzyEggg
2017-11-28 23:02:09 +01:00
parent 18c6b8efc2
commit 10470ef536
42 changed files with 763 additions and 1308 deletions
+9 -9
View File
@@ -53,7 +53,7 @@
#define BATTLE_TYPE_PALACE 0x20000
#define BATTLE_TYPE_ARENA 0x40000
#define BATTLE_TYPE_FACTORY 0x80000
#define BATTLE_TYPE_x100000 0x100000
#define BATTLE_TYPE_PIKE 0x100000
#define BATTLE_TYPE_PYRAMID 0x200000
#define BATTLE_TYPE_INGAME_PARTNER 0x400000
#define BATTLE_TYPE_x800000 0x800000
@@ -72,8 +72,8 @@
#define STEVEN_PARTNER_ID 0xC03
#define SECRET_BASE_OPPONENT 0x400
#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000 | BATTLE_TYPE_PYRAMID)
#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000)
#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID)
#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE)
#define BATTLE_WON 0x1
#define BATTLE_LOST 0x2
@@ -228,9 +228,9 @@
#define BATTLE_TERRAIN_UNDERWATER 3
#define BATTLE_TERRAIN_WATER 4
#define BATTLE_TERRAIN_POND 5
#define BATTLE_TERRAIN_ROCK 6
#define BATTLE_TERRAIN_MOUNTAIN 6
#define BATTLE_TERRAIN_CAVE 7
#define BATTLE_TERRAIN_INSIDE 8
#define BATTLE_TERRAIN_BUILDING 8
#define BATTLE_TERRAIN_PLAIN 9
// array entries for battle communication
@@ -327,10 +327,10 @@ struct TrainerMonItemCustomMoves
union TrainerMonPtr
{
struct TrainerMonNoItemDefaultMoves* NoItemDefaultMoves;
struct TrainerMonNoItemCustomMoves* NoItemCustomMoves;
struct TrainerMonItemDefaultMoves* ItemDefaultMoves;
struct TrainerMonItemCustomMoves* ItemCustomMoves;
struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves;
struct TrainerMonNoItemCustomMoves *NoItemCustomMoves;
struct TrainerMonItemDefaultMoves *ItemDefaultMoves;
struct TrainerMonItemCustomMoves *ItemCustomMoves;
};
struct Trainer
+46
View File
@@ -2,5 +2,51 @@
#define GUARD_BATTLE_TRANSITION_H
void sub_8149DFC(u8 a1);
void BattleTransition_StartOnField(u8 transitionID);
void BattleTransition_Start(u8 transitionID);
bool8 IsBattleTransitionDone(void);
#define TRANSITIONS_NO 25
enum // TRANSITION_MUGSHOT
{
MUGSHOT_SYDNEY,
MUGSHOT_PHOEBE,
MUGSHOT_GLACIA,
MUGSHOT_DRAKE,
MUGSHOT_STEVEN,
};
#define MUGSHOTS_NO 5
// credits for the names go to Dyskinesia and Tetrable
// names are naturally subject to change
#define B_TRANSITION_BLUR 0
#define B_TRANSITION_SWIRL 1
#define B_TRANSITION_SHUFFLE 2
#define B_TRANSITION_BIG_POKEBALL 3
#define B_TRANSITION_POKEBALLS_TRAIL 4
#define B_TRANSITION_CLOCKWISE_BLACKFADE 5
#define B_TRANSITION_RIPPLE 6
#define B_TRANSITION_WAVE 7
#define B_TRANSITION_SLICE 8
#define B_TRANSITION_WHITEFADE 9
#define B_TRANSITION_GRID_SQUARES 10
#define B_TRANSITION_SHARDS 11
#define B_TRANSITION_SYDNEY 12
#define B_TRANSITION_PHOEBE 13
#define B_TRANSITION_GLACIA 14
#define B_TRANSITION_DRAKE 15
#define B_TRANSITION_STEVEN 16
// added in Emerald
#define B_TRANSITION_AQUA 17
#define B_TRANSITION_MAGMA 18
#define B_TRANSITION_REGICE 19
#define B_TRANSITION_REGISTEEL 20
#define B_TRANSITION_REGIROCK 21
#define B_TRANSITION_KYORGE 22
#define B_TRANSITION_GROUDON 23
#define B_TRANSITION_RAYQUAZA 24
#endif // GUARD_BATTLE_TRANSITION_H
+1
View File
@@ -3,5 +3,6 @@
const u8* GetTrainerClassNameFromId(u16 trainerId);
const u8* GetTrainerNameFromId(u16 trainerId);
void PlayMapChosenOrBattleBGM(u16 song);
#endif // GUARD_POKEMON_3_H
+2
View File
@@ -13,6 +13,8 @@ void ExitSafariMode(void);
bool8 SafariZoneTakeStep(void);
void SafariZoneRetirePrompt(void);
void CB2_EndSafariBattle(void);
struct Pokeblock *SafariZoneGetActivePokeblock(void);
void SafariZoneActivatePokeblockFeeder(u8 pokeblock_index);
+21 -21
View File
@@ -372,20 +372,20 @@ enum
BGM_BATTLE_DOME_TOURNAMENT,
BGM_BATTLE_PIKE,
BGM_BATTLE_FACTORY,
BGM_BATTLE_LEGENDARY,
BGM_BATTLE_FRONTIER_BRAIN,
BGM_BATTLE_MEW,
BGM_BATTLE_DOME, // end of the human-readable names
/*0x1D6*/ BGM_BATTLE_LEGENDARY,
/*0x1D7*/ BGM_BATTLE_FRONTIER_BRAIN,
/*0x1D8*/ BGM_BATTLE_MEW,
/*0x1D9*/ BGM_BATTLE_DOME, // end of the human-readable names
/*0x1DA*/ BGM_BATTLE27, // wild
BGM_BATTLE31, // aqua/magma grunt
BGM_BATTLE20, // trainer
BGM_BATTLE32, // gym leader
BGM_BATTLE33, // champion
BGM_BATTLE36, // regi
BGM_BATTLE34, // weather trio
BGM_BATTLE35, // rival
BGM_BATTLE38, // elite four
BGM_BATTLE30, // aqua/magma leader
/*0x1DB*/ BGM_BATTLE31, // aqua/magma grunt
/*0x1DC*/ BGM_BATTLE20, // trainer
/*0x1DD*/ BGM_BATTLE32, // gym leader
/*0x1DE*/ BGM_BATTLE33, // champion
/*0x1DF*/ BGM_BATTLE36, // regi
/*0x1E0*/ BGM_BATTLE34, // weather trio
/*0x1E1*/ BGM_BATTLE35, // rival
/*0x1E2*/ BGM_BATTLE38, // elite four
/*0x1E3*/ BGM_BATTLE30, // aqua/magma leader
/*0x1E4*/ BGM_FRLG_FOLLOW_ME, // FR/LG names not known, human-readable again!
BGM_FRLG_GAMECORNER,
BGM_FRLG_ROCKET_HIDEOUT,
@@ -453,14 +453,14 @@ enum
BGM_FRLG_ISLAND_FOUR,
BGM_FRLG_ISLAND_SIX,
BGM_FRLG_FLUTE,
BGM_FRLG_BATTLE_DEOXYS,
BGM_FRLG_BATTLE_MEWTWO,
BGM_FRLG_BATTLE_LEGENDARY,
BGM_FRLG_LEADER_EYE,
BGM_FRLG_DEOXYS_EYE,
BGM_FRLG_TRAINER_TOWER,
BGM_FRLG_HALL_OF_FAME_PALLET_TOWN,
/*0x22E*/BGM_FRLG_TEACHY_TV,
/*0x227*/ BGM_FRLG_BATTLE_DEOXYS,
/*0x228*/ BGM_FRLG_BATTLE_MEWTWO,
/*0x229*/ BGM_FRLG_BATTLE_LEGENDARY,
/*0x22A*/ BGM_FRLG_LEADER_EYE,
/*0x22B*/ BGM_FRLG_DEOXYS_EYE,
/*0x22C*/ BGM_FRLG_TRAINER_TOWER,
/*0x22D*/ BGM_FRLG_HALL_OF_FAME_PALLET_TOWN,
/*0x22E*/ BGM_FRLG_TEACHY_TV,
};
#endif // GUARD_SONGS_H
+5
View File
@@ -2,6 +2,11 @@
#define GUARD_TRAINER_IDS_H
#define NO_OF_TRAINERS 854
#define TRAINER_ID_SIDNEY 261
#define TRAINER_ID_PHOEBE 262
#define TRAINER_ID_GLACIA 263
#define TRAINER_ID_DRAKE 264
#define TRAINER_ID_STEVEN 804
#endif // GUARD_TRAINER_IDS_H
+1
View File
@@ -14,6 +14,7 @@
#define VAR_0x4008 0x4008
#define VAR_0x4009 0x4009
#define VAR_0x400A 0x400A
#define VAR_0x400E 0x400E
#define VAR_0x4010 0x4010
#define VAR_0x4011 0x4011
#define VAR_0x401F 0x401F