diff --git a/include/clock.h b/include/clock.h index aa179bf6f..4cab40671 100644 --- a/include/clock.h +++ b/include/clock.h @@ -4,5 +4,6 @@ // TODO: time of day and seconds in a day defines void DoTimeBasedEvents(void); +void InitTimeBasedEvents(void); #endif // GUARD_CLOCK_H diff --git a/include/rtc.h b/include/rtc.h index 11d101d12..cc76ca76f 100644 --- a/include/rtc.h +++ b/include/rtc.h @@ -125,6 +125,9 @@ void RtcCalcLocalTimeOffset(s32 days, s32 hours, s32 minutes, s32 seconds); void CalcTimeDifference(struct Time *result, struct Time *t1, struct Time *t2); u32 RtcGetMinuteCount(void); u32 RtcGetLocalDayCount(void); +u8 GetCurrentHour(void); +u8 GetCurrentMinute(void); u8 GetSeason(void); +u8 GetSeasonDay(void); #endif // GUARD_RTC_UTIL_H diff --git a/include/strings.h b/include/strings.h index d66941310..185e0ca69 100644 --- a/include/strings.h +++ b/include/strings.h @@ -667,6 +667,12 @@ extern const u8 gSaveStatName_Player[]; extern const u8 gSaveStatName_Badges[]; extern const u8 gSaveStatName_Pokedex[]; extern const u8 gSaveStatName_Time[]; +extern const u8 gText_MenuTime[]; +extern const u8 gText_MenuDay[]; +extern const u8 gText_SeasonSpring[]; +extern const u8 gText_SeasonSummer[]; +extern const u8 gText_SeasonAutumn[]; +extern const u8 gText_SeasonWinter[]; // mail extern const u8 gText_From[]; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index c7fd32cee..49b372c15 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1195,30 +1195,29 @@ static bool32 NoTargetPresent(u8 battler, u32 move) static bool32 TryAegiFormChange(void) { // Only Aegislash with Stance Change can transform, transformed mons cannot. - // if (GetBattlerAbility(gBattlerAttacker) != ABILITY_STANCE_CHANGE - // || gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED) - // return FALSE; + if (GetBattlerAbility(gBattlerAttacker) != ABILITY_STANCE_CHANGE + || gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED) + return FALSE; - // switch (gBattleMons[gBattlerAttacker].species) - // { - // default: - // return FALSE; - // case SPECIES_AEGISLASH_SHIELD: // Shield -> Blade - // if (IS_MOVE_STATUS(gCurrentMove)) - // return FALSE; - // gBattleMons[gBattlerAttacker].species = SPECIES_AEGISLASH_BLADE; - // break; - // case SPECIES_AEGISLASH_BLADE: // Blade -> Shield - // if (gCurrentMove != MOVE_KINGS_SHIELD) - // return FALSE; - // gBattleMons[gBattlerAttacker].species = SPECIES_AEGISLASH_SHIELD; - // break; - // } + switch (gBattleMons[gBattlerAttacker].species) + { + default: + return FALSE; + case SPECIES_AEGISLASH_SHIELD: // Shield -> Blade + if (IS_MOVE_STATUS(gCurrentMove)) + return FALSE; + gBattleMons[gBattlerAttacker].species = SPECIES_AEGISLASH_BLADE; + break; + case SPECIES_AEGISLASH_BLADE: // Blade -> Shield + if (gCurrentMove != MOVE_KINGS_SHIELD) + return FALSE; + gBattleMons[gBattlerAttacker].species = SPECIES_AEGISLASH_SHIELD; + break; + } - // BattleScriptPushCursor(); - // gBattlescriptCurrInstr = BattleScript_AttackerFormChange; - // return TRUE; - return FALSE; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_AttackerFormChange; + return TRUE; } bool32 ProteanTryChangeType(u32 battler, u32 ability, u32 move, u32 moveType) @@ -4463,7 +4462,6 @@ static void Cmd_getexp(void) case 3: // Set stats and give exp if (gBattleControllerExecFlags == 0) { - // gBattleResources->bufferB[gBattleStruct->expGetterBattlerId][0] = 0; TODO: bufferB as part of battle resource gBattleResources->bufferB[gBattleStruct->expGetterBattlerId][0] = 0; if (GetMonData(&gPlayerParty[*expMonId], MON_DATA_HP) && GetMonData(&gPlayerParty[*expMonId], MON_DATA_LEVEL) != MAX_LEVEL) { diff --git a/src/clock.c b/src/clock.c index 14752dc5d..cdf32f0c2 100644 --- a/src/clock.c +++ b/src/clock.c @@ -15,7 +15,7 @@ static void UpdatePerDay(struct Time *localTime); static void UpdatePerMinute(struct Time *localTime); -static void InitTimeBasedEvents(void) +void InitTimeBasedEvents(void) { FlagSet(FLAG_SYS_CLOCK_SET); RtcCalcLocalTime(); diff --git a/src/menu2.c b/src/menu2.c index 165c66dc9..110bbacee 100644 --- a/src/menu2.c +++ b/src/menu2.c @@ -10,426 +10,6 @@ static void Task_SmoothBlendLayers(u8 taskId); -// static const u8 sMonSpriteAnchorCoords[][5] = { -// [SPECIES_BULBASAUR - 1] = {0x16, 0x1b, 0x30, 0x16, 0x29}, -// [SPECIES_IVYSAUR - 1] = {0x14, 0x1b, 0x30, 0x15, 0x2a}, -// [SPECIES_VENUSAUR - 1] = {0x1b, 0x20, 0x20, 0x1b, 0x33}, -// [SPECIES_CHARMANDER - 1] = {0x14, 0x0f, 0x38, 0x13, 0x1e}, -// [SPECIES_CHARMELEON - 1] = {0x0d, 0x11, 0x30, 0x0f, 0x22}, -// [SPECIES_CHARIZARD - 1] = {0x1b, 0x07, 0x28, 0x1a, 0x19}, -// [SPECIES_SQUIRTLE - 1] = {0x19, 0x13, 0x30, 0x1a, 0x22}, -// [SPECIES_WARTORTLE - 1] = {0x16, 0x13, 0x30, 0x17, 0x21}, -// [SPECIES_BLASTOISE - 1] = {0x12, 0x08, 0x28, 0x15, 0x19}, -// [SPECIES_CATERPIE - 1] = {0x15, 0x14, 0x30, 0x13, 0x24}, -// [SPECIES_METAPOD - 1] = {0x13, 0x1d, 0x30, 0x18, 0x2a}, -// [SPECIES_BUTTERFREE - 1] = {0x12, 0x1b, 0x08, 0x12, 0x2a}, -// [SPECIES_WEEDLE - 1] = {0x16, 0x1c, 0x30, 0x15, 0x2b}, -// [SPECIES_KAKUNA - 1] = {0x19, 0x13, 0x30, 0x1a, 0x24}, -// [SPECIES_BEEDRILL - 1] = {0x19, 0x16, 0x08, 0x19, 0x25}, -// [SPECIES_PIDGEY - 1] = {0x15, 0x12, 0x30, 0x12, 0x1e}, -// [SPECIES_PIDGEOTTO - 1] = {0x24, 0x0e, 0x30, 0x1f, 0x1e}, -// [SPECIES_PIDGEOT - 1] = {0x0c, 0x13, 0x08, 0x0a, 0x23}, -// [SPECIES_RATTATA - 1] = {0x17, 0x1e, 0x30, 0x18, 0x2d}, -// [SPECIES_RATICATE - 1] = {0x12, 0x14, 0x30, 0x10, 0x26}, -// [SPECIES_SPEAROW - 1] = {0x15, 0x14, 0x30, 0x15, 0x1f}, -// [SPECIES_FEAROW - 1] = {0x0c, 0x27, 0x00, 0x0b, 0x3f}, -// [SPECIES_EKANS - 1] = {0x11, 0x0f, 0x30, 0x14, 0x1d}, -// [SPECIES_ARBOK - 1] = {0x1b, 0x01, 0x28, 0x1d, 0x10}, -// [SPECIES_PIKACHU - 1] = {0x19, 0x13, 0x30, 0x1a, 0x1f}, -// [SPECIES_RAICHU - 1] = {0x19, 0x14, 0x28, 0x1c, 0x22}, -// [SPECIES_SANDSHREW - 1] = {0x17, 0x16, 0x30, 0x18, 0x25}, -// [SPECIES_SANDSLASH - 1] = {0x11, 0x13, 0x28, 0x13, 0x22}, -// [SPECIES_NIDORAN_F - 1] = {0x16, 0x15, 0x30, 0x18, 0x21}, -// [SPECIES_NIDORINA - 1] = {0x1f, 0x17, 0x30, 0x1e, 0x28}, -// [SPECIES_NIDOQUEEN - 1] = {0x10, 0x0b, 0x28, 0x13, 0x1c}, -// [SPECIES_NIDORAN_M - 1] = {0x15, 0x22, 0x28, 0x15, 0x31}, -// [SPECIES_NIDORINO - 1] = {0x13, 0x1e, 0x28, 0x1b, 0x2d}, -// [SPECIES_NIDOKING - 1] = {0x12, 0x15, 0x28, 0x13, 0x27}, -// [SPECIES_CLEFAIRY - 1] = {0x19, 0x14, 0x30, 0x1b, 0x24}, -// [SPECIES_CLEFABLE - 1] = {0x1c, 0x12, 0x30, 0x1d, 0x21}, -// [SPECIES_VULPIX - 1] = {0x10, 0x16, 0x30, 0x0e, 0x25}, -// [SPECIES_NINETALES - 1] = {0x28, 0x10, 0x28, 0x27, 0x1e}, -// [SPECIES_JIGGLYPUFF - 1] = {0x1d, 0x15, 0x30, 0x1e, 0x25}, -// [SPECIES_WIGGLYTUFF - 1] = {0x1a, 0x12, 0x30, 0x1c, 0x22}, -// [SPECIES_ZUBAT - 1] = {0x14, 0x1d, 0x08, 0x14, 0x29}, -// [SPECIES_GOLBAT - 1] = {0x23, 0x1a, 0x00, 0x21, 0x2e}, -// [SPECIES_ODDISH - 1] = {0x1d, 0x20, 0x28, 0x1d, 0x2b}, -// [SPECIES_GLOOM - 1] = {0x1c, 0x18, 0x28, 0x1c, 0x27}, -// [SPECIES_VILEPLUME - 1] = {0x1c, 0x1e, 0x28, 0x1d, 0x2a}, -// [SPECIES_PARAS - 1] = {0x1d, 0x1a, 0x30, 0x1c, 0x27}, -// [SPECIES_PARASECT - 1] = {0x1e, 0x1c, 0x28, 0x20, 0x2e}, -// [SPECIES_VENONAT - 1] = {0x1b, 0x16, 0x10, 0x1a, 0x29}, -// [SPECIES_VENOMOTH - 1] = {0x12, 0x19, 0x08, 0x16, 0x27}, -// [SPECIES_DIGLETT - 1] = {0x1e, 0x16, 0x30, 0x1c, 0x23}, -// [SPECIES_DUGTRIO - 1] = {0x1a, 0x11, 0x30, 0x1a, 0x1f}, -// [SPECIES_MEOWTH - 1] = {0x1c, 0x16, 0x30, 0x1c, 0x23}, -// [SPECIES_PERSIAN - 1] = {0x13, 0x13, 0x30, 0x13, 0x21}, -// [SPECIES_PSYDUCK - 1] = {0x1c, 0x13, 0x30, 0x17, 0x29}, -// [SPECIES_GOLDUCK - 1] = {0x17, 0x12, 0x28, 0x17, 0x22}, -// [SPECIES_MANKEY - 1] = {0x1c, 0x15, 0x30, 0x1b, 0x23}, -// [SPECIES_PRIMEAPE - 1] = {0x1e, 0x16, 0x30, 0x1a, 0x27}, -// [SPECIES_GROWLITHE - 1] = {0x14, 0x17, 0x30, 0x14, 0x24}, -// [SPECIES_ARCANINE - 1] = {0x0f, 0x09, 0x28, 0x0c, 0x19}, -// [SPECIES_POLIWAG - 1] = {0x15, 0x14, 0x30, 0x13, 0x1f}, -// [SPECIES_POLIWHIRL - 1] = {0x1f, 0x10, 0x30, 0x1e, 0x17}, -// [SPECIES_POLIWRATH - 1] = {0x22, 0x0c, 0x30, 0x21, 0x18}, -// [SPECIES_ABRA - 1] = {0x1f, 0x13, 0x30, 0x1f, 0x21}, -// [SPECIES_KADABRA - 1] = {0x1b, 0x12, 0x30, 0x1c, 0x25}, -// [SPECIES_ALAKAZAM - 1] = {0x1c, 0x11, 0x28, 0x1d, 0x26}, -// [SPECIES_MACHOP - 1] = {0x1b, 0x11, 0x30, 0x1b, 0x1e}, -// [SPECIES_MACHOKE - 1] = {0x1d, 0x11, 0x30, 0x1d, 0x1f}, -// [SPECIES_MACHAMP - 1] = {0x1a, 0x0d, 0x28, 0x1c, 0x1b}, -// [SPECIES_BELLSPROUT - 1] = {0x15, 0x0e, 0x30, 0x0e, 0x1c}, -// [SPECIES_WEEPINBELL - 1] = {0x1a, 0x1c, 0x10, 0x15, 0x32}, -// [SPECIES_VICTREEBEL - 1] = {0x1e, 0x0f, 0x30, 0x1c, 0x1b}, -// [SPECIES_TENTACOOL - 1] = {0x1a, 0x15, 0x30, 0x1e, 0x26}, -// [SPECIES_TENTACRUEL - 1] = {0x1b, 0x10, 0x28, 0x1c, 0x26}, -// [SPECIES_GEODUDE - 1] = {0x1c, 0x20, 0x28, 0x1d, 0x2d}, -// [SPECIES_GRAVELER - 1] = {0x1d, 0x19, 0x28, 0x1e, 0x26}, -// [SPECIES_GOLEM - 1] = {0x19, 0x1b, 0x28, 0x1c, 0x27}, -// [SPECIES_PONYTA - 1] = {0x0f, 0x11, 0x30, 0x0e, 0x23}, -// [SPECIES_RAPIDASH - 1] = {0x2f, 0x0f, 0x28, 0x2b, 0x1e}, -// [SPECIES_SLOWPOKE - 1] = {0x14, 0x1f, 0x28, 0x15, 0x2f}, -// [SPECIES_SLOWBRO - 1] = {0x0e, 0x0d, 0x28, 0x0c, 0x1f}, -// [SPECIES_MAGNEMITE - 1] = {0x20, 0x1b, 0x10, 0x1f, 0x29}, -// [SPECIES_MAGNETON - 1] = {0x1f, 0x14, 0x08, 0x1f, 0x22}, -// [SPECIES_FARFETCHD - 1] = {0x16, 0x14, 0x30, 0x16, 0x29}, -// [SPECIES_DODUO - 1] = {0x11, 0x16, 0x30, 0x0d, 0x2c}, -// [SPECIES_DODRIO - 1] = {0x1d, 0x04, 0x28, 0x0e, 0x07}, -// [SPECIES_SEEL - 1] = {0x1b, 0x24, 0x20, 0x17, 0x35}, -// [SPECIES_DEWGONG - 1] = {0x12, 0x0a, 0x30, 0x0e, 0x1a}, -// [SPECIES_GRIMER - 1] = {0x1f, 0x10, 0x30, 0x1d, 0x25}, -// [SPECIES_MUK - 1] = {0x17, 0x0f, 0x30, 0x19, 0x22}, -// [SPECIES_SHELLDER - 1] = {0x1a, 0x18, 0x30, 0x17, 0x29}, -// [SPECIES_CLOYSTER - 1] = {0x19, 0x1e, 0x28, 0x1d, 0x2c}, -// [SPECIES_GASTLY - 1] = {0x1a, 0x1f, 0x08, 0x19, 0x30}, -// [SPECIES_HAUNTER - 1] = {0x20, 0x14, 0x08, 0x1d, 0x26}, -// [SPECIES_GENGAR - 1] = {0x1a, 0x16, 0x30, 0x19, 0x28}, -// [SPECIES_ONIX - 1] = {0x1f, 0x24, 0x20, 0x28, 0x36}, -// [SPECIES_DROWZEE - 1] = {0x1a, 0x0e, 0x30, 0x1a, 0x1e}, -// [SPECIES_HYPNO - 1] = {0x1c, 0x12, 0x30, 0x19, 0x24}, -// [SPECIES_KRABBY - 1] = {0x1d, 0x1d, 0x30, 0x1a, 0x2b}, -// [SPECIES_KINGLER - 1] = {0x1e, 0x1f, 0x28, 0x1c, 0x30}, -// [SPECIES_VOLTORB - 1] = {0x1c, 0x1b, 0x30, 0x1b, 0x2b}, -// [SPECIES_ELECTRODE - 1] = {0x1c, 0x18, 0x30, 0x1d, 0x2e}, -// [SPECIES_EXEGGCUTE - 1] = {0x21, 0x17, 0x30, 0x20, 0x24}, -// [SPECIES_EXEGGUTOR - 1] = {0x1c, 0x17, 0x28, 0x1b, 0x25}, -// [SPECIES_CUBONE - 1] = {0x1b, 0x12, 0x30, 0x1b, 0x22}, -// [SPECIES_MAROWAK - 1] = {0x14, 0x0f, 0x30, 0x11, 0x23}, -// [SPECIES_HITMONLEE - 1] = {0x2e, 0x11, 0x30, 0x28, 0x22}, -// [SPECIES_HITMONCHAN - 1] = {0x22, 0x0e, 0x30, 0x1e, 0x1d}, -// [SPECIES_LICKITUNG - 1] = {0x14, 0x11, 0x30, 0x14, 0x24}, -// [SPECIES_KOFFING - 1] = {0x1e, 0x14, 0x10, 0x1d, 0x20}, -// [SPECIES_WEEZING - 1] = {0x11, 0x0d, 0x10, 0x0f, 0x1c}, -// [SPECIES_RHYHORN - 1] = {0x0e, 0x23, 0x20, 0x14, 0x33}, -// [SPECIES_RHYDON - 1] = {0x0d, 0x12, 0x28, 0x17, 0x22}, -// [SPECIES_CHANSEY - 1] = {0x1a, 0x0d, 0x30, 0x1a, 0x1a}, -// [SPECIES_TANGELA - 1] = {0x1c, 0x18, 0x30, 0x1d, 0x29}, -// [SPECIES_KANGASKHAN - 1] = {0x1b, 0x06, 0x28, 0x1c, 0x14}, -// [SPECIES_HORSEA - 1] = {0x1c, 0x14, 0x30, 0x16, 0x23}, -// [SPECIES_SEADRA - 1] = {0x10, 0x17, 0x30, 0x09, 0x2a}, -// [SPECIES_GOLDEEN - 1] = {0x16, 0x23, 0x20, 0x15, 0x34}, -// [SPECIES_SEAKING - 1] = {0x16, 0x0f, 0x30, 0x10, 0x18}, -// [SPECIES_STARYU - 1] = {0x1c, 0x18, 0x30, 0x1a, 0x26}, -// [SPECIES_STARMIE - 1] = {0x1d, 0x13, 0x30, 0x1b, 0x20}, -// [SPECIES_MR_MIME - 1] = {0x24, 0x11, 0x30, 0x25, 0x1e}, -// [SPECIES_SCYTHER - 1] = {0x10, 0x19, 0x28, 0x12, 0x27}, -// [SPECIES_JYNX - 1] = {0x1b, 0x0f, 0x30, 0x19, 0x1c}, -// [SPECIES_ELECTABUZZ - 1] = {0x14, 0x11, 0x30, 0x17, 0x20}, -// [SPECIES_MAGMAR - 1] = {0x10, 0x0e, 0x30, 0x0b, 0x19}, -// [SPECIES_PINSIR - 1] = {0x1d, 0x1c, 0x28, 0x20, 0x2b}, -// [SPECIES_TAUROS - 1] = {0x11, 0x1d, 0x28, 0x13, 0x2e}, -// [SPECIES_MAGIKARP - 1] = {0x16, 0x15, 0x30, 0x13, 0x23}, -// [SPECIES_GYARADOS - 1] = {0x0b, 0x18, 0x28, 0x16, 0x29}, -// [SPECIES_LAPRAS - 1] = {0x16, 0x08, 0x28, 0x15, 0x16}, -// [SPECIES_DITTO - 1] = {0x24, 0x12, 0x30, 0x1f, 0x20}, -// [SPECIES_EEVEE - 1] = {0x16, 0x16, 0x30, 0x16, 0x23}, -// [SPECIES_VAPOREON - 1] = {0x18, 0x23, 0x28, 0x18, 0x30}, -// [SPECIES_JOLTEON - 1] = {0x14, 0x1b, 0x30, 0x16, 0x28}, -// [SPECIES_FLAREON - 1] = {0x16, 0x17, 0x30, 0x14, 0x25}, -// [SPECIES_PORYGON - 1] = {0x18, 0x12, 0x30, 0x10, 0x23}, -// [SPECIES_OMANYTE - 1] = {0x1d, 0x1d, 0x30, 0x1c, 0x2b}, -// [SPECIES_OMASTAR - 1] = {0x16, 0x1a, 0x30, 0x19, 0x2d}, -// [SPECIES_KABUTO - 1] = {0x1b, 0x16, 0x30, 0x1a, 0x27}, -// [SPECIES_KABUTOPS - 1] = {0x15, 0x11, 0x30, 0x15, 0x1f}, -// [SPECIES_AERODACTYL - 1] = {0x13, 0x1d, 0x00, 0x14, 0x30}, -// [SPECIES_SNORLAX - 1] = {0x35, 0x09, 0x30, 0x2e, 0x14}, -// [SPECIES_ARTICUNO - 1] = {0x18, 0x0b, 0x18, 0x17, 0x17}, -// [SPECIES_ZAPDOS - 1] = {0x0e, 0x0e, 0x10, 0x04, 0x28}, -// [SPECIES_MOLTRES - 1] = {0x0b, 0x2a, 0x08, 0x0b, 0x38}, -// [SPECIES_DRATINI - 1] = {0x0d, 0x12, 0x30, 0x0b, 0x21}, -// [SPECIES_DRAGONAIR - 1] = {0x18, 0x0e, 0x30, 0x13, 0x1c}, -// [SPECIES_DRAGONITE - 1] = {0x1b, 0x07, 0x18, 0x19, 0x17}, -// [SPECIES_MEWTWO - 1] = {0x2b, 0x09, 0x28, 0x2c, 0x18}, -// [SPECIES_MEW - 1] = {0x19, 0x14, 0x10, 0x1f, 0x21}, -// [SPECIES_CHIKORITA - 1] = {0x1b, 0x17, 0x30, 0x1b, 0x24}, -// [SPECIES_BAYLEEF - 1] = {0x1d, 0x10, 0x30, 0x20, 0x1d}, -// [SPECIES_MEGANIUM - 1] = {0x05, 0x0d, 0x28, 0x0d, 0x1b}, -// [SPECIES_CYNDAQUIL - 1] = {0x11, 0x1b, 0x30, 0x14, 0x27}, -// [SPECIES_QUILAVA - 1] = {0x25, 0x18, 0x30, 0x27, 0x26}, -// [SPECIES_TYPHLOSION - 1] = {0x09, 0x10, 0x28, 0x10, 0x1c}, -// [SPECIES_TOTODILE - 1] = {0x16, 0x10, 0x30, 0x19, 0x20}, -// [SPECIES_CROCONAW - 1] = {0x16, 0x10, 0x30, 0x18, 0x21}, -// [SPECIES_FERALIGATR - 1] = {0x0e, 0x0a, 0x28, 0x08, 0x1a}, -// [SPECIES_SENTRET - 1] = {0x1e, 0x0a, 0x30, 0x1d, 0x15}, -// [SPECIES_FURRET - 1] = {0x21, 0x0e, 0x30, 0x21, 0x19}, -// [SPECIES_HOOTHOOT - 1] = {0x1d, 0x15, 0x30, 0x1c, 0x24}, -// [SPECIES_NOCTOWL - 1] = {0x19, 0x0e, 0x30, 0x18, 0x1c}, -// [SPECIES_LEDYBA - 1] = {0x1b, 0x15, 0x30, 0x1c, 0x24}, -// [SPECIES_LEDIAN - 1] = {0x18, 0x12, 0x10, 0x1c, 0x21}, -// [SPECIES_SPINARAK - 1] = {0x20, 0x20, 0x28, 0x20, 0x2d}, -// [SPECIES_ARIADOS - 1] = {0x17, 0x23, 0x28, 0x15, 0x30}, -// [SPECIES_CROBAT - 1] = {0x22, 0x1e, 0x08, 0x23, 0x2b}, -// [SPECIES_CHINCHOU - 1] = {0x1f, 0x1d, 0x30, 0x1f, 0x29}, -// [SPECIES_LANTURN - 1] = {0x10, 0x23, 0x28, 0x19, 0x33}, -// [SPECIES_PICHU - 1] = {0x1e, 0x17, 0x30, 0x1e, 0x24}, -// [SPECIES_CLEFFA - 1] = {0x1c, 0x18, 0x30, 0x1e, 0x26}, -// [SPECIES_IGGLYBUFF - 1] = {0x1f, 0x19, 0x30, 0x1f, 0x24}, -// [SPECIES_TOGEPI - 1] = {0x21, 0x15, 0x30, 0x1f, 0x20}, -// [SPECIES_TOGETIC - 1] = {0x1b, 0x10, 0x30, 0x1c, 0x1c}, -// [SPECIES_NATU - 1] = {0x1c, 0x17, 0x30, 0x15, 0x21}, -// [SPECIES_XATU - 1] = {0x1b, 0x08, 0x30, 0x19, 0x14}, -// [SPECIES_MAREEP - 1] = {0x16, 0x15, 0x30, 0x15, 0x24}, -// [SPECIES_FLAAFFY - 1] = {0x19, 0x12, 0x30, 0x18, 0x21}, -// [SPECIES_AMPHAROS - 1] = {0x0f, 0x0a, 0x30, 0x10, 0x1b}, -// [SPECIES_BELLOSSOM - 1] = {0x1f, 0x13, 0x30, 0x1f, 0x20}, -// [SPECIES_MARILL - 1] = {0x1d, 0x15, 0x30, 0x1d, 0x22}, -// [SPECIES_AZUMARILL - 1] = {0x1a, 0x12, 0x30, 0x17, 0x1f}, -// [SPECIES_SUDOWOODO - 1] = {0x20, 0x10, 0x30, 0x20, 0x1f}, -// [SPECIES_POLITOED - 1] = {0x1d, 0x0f, 0x30, 0x1e, 0x20}, -// [SPECIES_HOPPIP - 1] = {0x23, 0x25, 0x08, 0x25, 0x33}, -// [SPECIES_SKIPLOOM - 1] = {0x1e, 0x18, 0x08, 0x1c, 0x27}, -// [SPECIES_JUMPLUFF - 1] = {0x1d, 0x21, 0x08, 0x20, 0x2f}, -// [SPECIES_AIPOM - 1] = {0x1e, 0x29, 0x18, 0x1e, 0x35}, -// [SPECIES_SUNKERN - 1] = {0x1f, 0x20, 0x08, 0x24, 0x2e}, -// [SPECIES_SUNFLORA - 1] = {0x1c, 0x0c, 0x30, 0x1b, 0x19}, -// [SPECIES_YANMA - 1] = {0x1b, 0x28, 0x08, 0x16, 0x35}, -// [SPECIES_WOOPER - 1] = {0x1d, 0x13, 0x30, 0x1f, 0x21}, -// [SPECIES_QUAGSIRE - 1] = {0x15, 0x09, 0x30, 0x12, 0x18}, -// [SPECIES_ESPEON - 1] = {0x11, 0x1b, 0x30, 0x11, 0x29}, -// [SPECIES_UMBREON - 1] = {0x23, 0x15, 0x30, 0x23, 0x22}, -// [SPECIES_MURKROW - 1] = {0x24, 0x13, 0x30, 0x20, 0x22}, -// [SPECIES_SLOWKING - 1] = {0x1e, 0x13, 0x28, 0x1d, 0x25}, -// [SPECIES_MISDREAVUS - 1] = {0x28, 0x21, 0x08, 0x26, 0x2e}, -// [SPECIES_UNOWN - 1] = {0x20, 0x17, 0x08, 0x1f, 0x21}, -// [SPECIES_WOBBUFFET - 1] = {0x1d, 0x09, 0x30, 0x1d, 0x1a}, -// [SPECIES_GIRAFARIG - 1] = {0x0b, 0x0d, 0x28, 0x11, 0x1d}, -// [SPECIES_PINECO - 1] = {0x1d, 0x12, 0x10, 0x19, 0x25}, -// [SPECIES_FORRETRESS - 1] = {0x19, 0x17, 0x08, 0x1e, 0x26}, -// [SPECIES_DUNSPARCE - 1] = {0x10, 0x1b, 0x30, 0x0c, 0x2d}, -// [SPECIES_GLIGAR - 1] = {0x1e, 0x13, 0x08, 0x1d, 0x23}, -// [SPECIES_STEELIX - 1] = {0x0c, 0x0d, 0x28, 0x0d, 0x1c}, -// [SPECIES_SNUBBULL - 1] = {0x1b, 0x15, 0x30, 0x1a, 0x23}, -// [SPECIES_GRANBULL - 1] = {0x1c, 0x09, 0x30, 0x19, 0x18}, -// [SPECIES_QWILFISH - 1] = {0x1f, 0x26, 0x20, 0x1d, 0x33}, -// [SPECIES_SCIZOR - 1] = {0x15, 0x0f, 0x10, 0x1a, 0x1a}, -// [SPECIES_SHUCKLE - 1] = {0x25, 0x0a, 0x30, 0x24, 0x18}, -// [SPECIES_HERACROSS - 1] = {0x18, 0x19, 0x28, 0x1a, 0x26}, -// [SPECIES_SNEASEL - 1] = {0x1c, 0x13, 0x30, 0x1d, 0x24}, -// [SPECIES_TEDDIURSA - 1] = {0x1e, 0x12, 0x30, 0x1b, 0x23}, -// [SPECIES_URSARING - 1] = {0x1e, 0x04, 0x28, 0x1d, 0x14}, -// [SPECIES_SLUGMA - 1] = {0x20, 0x18, 0x30, 0x20, 0x28}, -// [SPECIES_MAGCARGO - 1] = {0x16, 0x11, 0x30, 0x17, 0x23}, -// [SPECIES_SWINUB - 1] = {0x1c, 0x18, 0x30, 0x1b, 0x25}, -// [SPECIES_PILOSWINE - 1] = {0x18, 0x23, 0x20, 0x18, 0x36}, -// [SPECIES_CORSOLA - 1] = {0x19, 0x1d, 0x28, 0x19, 0x2b}, -// [SPECIES_REMORAID - 1] = {0x15, 0x1f, 0x28, 0x13, 0x2b}, -// [SPECIES_OCTILLERY - 1] = {0x1c, 0x11, 0x30, 0x1a, 0x20}, -// [SPECIES_DELIBIRD - 1] = {0x1d, 0x11, 0x30, 0x1b, 0x1f}, -// [SPECIES_MANTINE - 1] = {0x16, 0x1e, 0x28, 0x1f, 0x27}, -// [SPECIES_SKARMORY - 1] = {0x1e, 0x00, 0x28, 0x13, 0x07}, -// [SPECIES_HOUNDOUR - 1] = {0x25, 0x11, 0x30, 0x25, 0x1f}, -// [SPECIES_HOUNDOOM - 1] = {0x0d, 0x13, 0x30, 0x0d, 0x24}, -// [SPECIES_KINGDRA - 1] = {0x0e, 0x13, 0x28, 0x0a, 0x2c}, -// [SPECIES_PHANPY - 1] = {0x1b, 0x11, 0x30, 0x19, 0x24}, -// [SPECIES_DONPHAN - 1] = {0x11, 0x15, 0x30, 0x19, 0x2c}, -// [SPECIES_PORYGON2 - 1] = {0x18, 0x11, 0x30, 0x11, 0x20}, -// [SPECIES_STANTLER - 1] = {0x15, 0x15, 0x28, 0x17, 0x28}, -// [SPECIES_SMEARGLE - 1] = {0x18, 0x10, 0x30, 0x1b, 0x25}, -// [SPECIES_TYROGUE - 1] = {0x1e, 0x12, 0x30, 0x1f, 0x1f}, -// [SPECIES_HITMONTOP - 1] = {0x1a, 0x39, 0x10, 0x1a, 0x2b}, -// [SPECIES_SMOOCHUM - 1] = {0x20, 0x18, 0x30, 0x21, 0x26}, -// [SPECIES_ELEKID - 1] = {0x1d, 0x14, 0x30, 0x1d, 0x23}, -// [SPECIES_MAGBY - 1] = {0x1c, 0x15, 0x30, 0x1a, 0x24}, -// [SPECIES_MILTANK - 1] = {0x18, 0x0e, 0x30, 0x18, 0x1e}, -// [SPECIES_BLISSEY - 1] = {0x1d, 0x09, 0x30, 0x1d, 0x19}, -// [SPECIES_RAIKOU - 1] = {0x29, 0x0c, 0x28, 0x27, 0x1e}, -// [SPECIES_ENTEI - 1] = {0x08, 0x09, 0x28, 0x0b, 0x18}, -// [SPECIES_SUICUNE - 1] = {0x23, 0x1d, 0x28, 0x26, 0x2c}, -// [SPECIES_LARVITAR - 1] = {0x1c, 0x18, 0x30, 0x1a, 0x24}, -// [SPECIES_PUPITAR - 1] = {0x1b, 0x19, 0x30, 0x1b, 0x28}, -// [SPECIES_TYRANITAR - 1] = {0x06, 0x0b, 0x28, 0x0d, 0x19}, -// [SPECIES_LUGIA - 1] = {0x08, 0x2a, 0x08, 0x14, 0x34}, -// [SPECIES_HO_OH - 1] = {0x0d, 0x25, 0x08, 0x0e, 0x34}, -// [SPECIES_CELEBI - 1] = {0x15, 0x21, 0x08, 0x1a, 0x2b}, -// [SPECIES_OLD_UNOWN_B - 1] = {0x1f, 0x12, 0x08, 0x1e, 0x1c}, -// [SPECIES_OLD_UNOWN_C - 1] = {0x20, 0x17, 0x08, 0x1f, 0x21}, -// [SPECIES_OLD_UNOWN_D - 1] = {0x1c, 0x19, 0x08, 0x1b, 0x23}, -// [SPECIES_OLD_UNOWN_E - 1] = {0x21, 0x19, 0x08, 0x20, 0x23}, -// [SPECIES_OLD_UNOWN_F - 1] = {0x1b, 0x13, 0x08, 0x1a, 0x1d}, -// [SPECIES_OLD_UNOWN_G - 1] = {0x20, 0x16, 0x08, 0x1f, 0x21}, -// [SPECIES_OLD_UNOWN_H - 1] = {0x20, 0x19, 0x08, 0x1f, 0x23}, -// [SPECIES_OLD_UNOWN_I - 1] = {0x20, 0x19, 0x08, 0x1f, 0x23}, -// [SPECIES_OLD_UNOWN_J - 1] = {0x20, 0x16, 0x08, 0x1f, 0x20}, -// [SPECIES_OLD_UNOWN_K - 1] = {0x1d, 0x1a, 0x08, 0x1c, 0x24}, -// [SPECIES_OLD_UNOWN_L - 1] = {0x20, 0x16, 0x08, 0x1f, 0x1f}, -// [SPECIES_OLD_UNOWN_M - 1] = {0x20, 0x1c, 0x08, 0x1f, 0x26}, -// [SPECIES_OLD_UNOWN_N - 1] = {0x20, 0x1a, 0x08, 0x1f, 0x23}, -// [SPECIES_OLD_UNOWN_O - 1] = {0x20, 0x1a, 0x08, 0x1f, 0x23}, -// [SPECIES_OLD_UNOWN_P - 1] = {0x20, 0x16, 0x08, 0x1f, 0x20}, -// [SPECIES_OLD_UNOWN_Q - 1] = {0x1d, 0x16, 0x08, 0x1c, 0x20}, -// [SPECIES_OLD_UNOWN_R - 1] = {0x20, 0x15, 0x08, 0x1f, 0x1f}, -// [SPECIES_OLD_UNOWN_S - 1] = {0x20, 0x19, 0x08, 0x1f, 0x23}, -// [SPECIES_OLD_UNOWN_T - 1] = {0x20, 0x1e, 0x08, 0x1f, 0x28}, -// [SPECIES_OLD_UNOWN_U - 1] = {0x20, 0x17, 0x08, 0x1f, 0x21}, -// [SPECIES_OLD_UNOWN_V - 1] = {0x1e, 0x1e, 0x08, 0x1d, 0x28}, -// [SPECIES_OLD_UNOWN_W - 1] = {0x20, 0x1d, 0x08, 0x1f, 0x27}, -// [SPECIES_OLD_UNOWN_X - 1] = {0x20, 0x19, 0x08, 0x1f, 0x23}, -// [SPECIES_OLD_UNOWN_Y - 1] = {0x20, 0x15, 0x08, 0x1f, 0x1f}, -// [SPECIES_OLD_UNOWN_Z - 1] = {0x20, 0x19, 0x08, 0x1f, 0x23}, -// [SPECIES_TREECKO - 1] = {0x1a, 0x0f, 0x30, 0x19, 0x20}, -// [SPECIES_GROVYLE - 1] = {0x0d, 0x05, 0x10, 0x05, 0x13}, -// [SPECIES_SCEPTILE - 1] = {0x10, 0x04, 0x28, 0x0c, 0x12}, -// [SPECIES_TORCHIC - 1] = {0x17, 0x18, 0x30, 0x15, 0x25}, -// [SPECIES_COMBUSKEN - 1] = {0x20, 0x12, 0x28, 0x1e, 0x20}, -// [SPECIES_BLAZIKEN - 1] = {0x1a, 0x07, 0x28, 0x1d, 0x13}, -// [SPECIES_MUDKIP - 1] = {0x1b, 0x1d, 0x28, 0x19, 0x2c}, -// [SPECIES_MARSHTOMP - 1] = {0x1d, 0x11, 0x30, 0x1c, 0x20}, -// [SPECIES_SWAMPERT - 1] = {0x1b, 0x11, 0x28, 0x1b, 0x23}, -// [SPECIES_POOCHYENA - 1] = {0x14, 0x12, 0x30, 0x0f, 0x20}, -// [SPECIES_MIGHTYENA - 1] = {0x09, 0x0d, 0x28, 0x09, 0x1c}, -// [SPECIES_ZIGZAGOON - 1] = {0x0b, 0x1a, 0x30, 0x09, 0x2b}, -// [SPECIES_LINOONE - 1] = {0x0d, 0x28, 0x18, 0x0b, 0x37}, -// [SPECIES_WURMPLE - 1] = {0x21, 0x17, 0x30, 0x1f, 0x26}, -// [SPECIES_SILCOON - 1] = {0x13, 0x1c, 0x30, 0x11, 0x2a}, -// [SPECIES_BEAUTIFLY - 1] = {0x0f, 0x1b, 0x08, 0x0e, 0x28}, -// [SPECIES_CASCOON - 1] = {0x14, 0x1d, 0x30, 0x11, 0x2c}, -// [SPECIES_DUSTOX - 1] = {0x14, 0x19, 0x08, 0x16, 0x26}, -// [SPECIES_LOTAD - 1] = {0x19, 0x25, 0x28, 0x17, 0x32}, -// [SPECIES_LOMBRE - 1] = {0x22, 0x10, 0x30, 0x29, 0x1d}, -// [SPECIES_LUDICOLO - 1] = {0x1c, 0x0f, 0x28, 0x1b, 0x24}, -// [SPECIES_SEEDOT - 1] = {0x1b, 0x17, 0x30, 0x18, 0x28}, -// [SPECIES_NUZLEAF - 1] = {0x20, 0x0d, 0x30, 0x1a, 0x1d}, -// [SPECIES_SHIFTRY - 1] = {0x32, 0x11, 0x28, 0x2e, 0x23}, -// [SPECIES_NINCADA - 1] = {0x18, 0x1a, 0x30, 0x17, 0x28}, -// [SPECIES_NINJASK - 1] = {0x17, 0x21, 0x00, 0x17, 0x2f}, -// [SPECIES_SHEDINJA - 1] = {0x16, 0x19, 0x08, 0x18, 0x2a}, -// [SPECIES_TAILLOW - 1] = {0x17, 0x10, 0x30, 0x14, 0x1e}, -// [SPECIES_SWELLOW - 1] = {0x0c, 0x0a, 0x28, 0x05, 0x16}, -// [SPECIES_SHROOMISH - 1] = {0x1f, 0x16, 0x30, 0x1d, 0x23}, -// [SPECIES_BRELOOM - 1] = {0x25, 0x0c, 0x30, 0x23, 0x19}, -// [SPECIES_SPINDA - 1] = {0x21, 0x16, 0x30, 0x1f, 0x27}, -// [SPECIES_WINGULL - 1] = {0x1a, 0x16, 0x10, 0x15, 0x26}, -// [SPECIES_PELIPPER - 1] = {0x1d, 0x0a, 0x10, 0x09, 0x1b}, -// [SPECIES_SURSKIT - 1] = {0x1d, 0x16, 0x30, 0x1c, 0x25}, -// [SPECIES_MASQUERAIN - 1] = {0x1a, 0x21, 0x08, 0x14, 0x30}, -// [SPECIES_WAILMER - 1] = {0x17, 0x17, 0x30, 0x16, 0x28}, -// [SPECIES_WAILORD - 1] = {0x17, 0x03, 0x30, 0x09, 0x13}, -// [SPECIES_SKITTY - 1] = {0x24, 0x1a, 0x30, 0x22, 0x2a}, -// [SPECIES_DELCATTY - 1] = {0x1e, 0x12, 0x30, 0x1c, 0x21}, -// [SPECIES_KECLEON - 1] = {0x19, 0x10, 0x30, 0x13, 0x1e}, -// [SPECIES_BALTOY - 1] = {0x1d, 0x15, 0x30, 0x1b, 0x22}, -// [SPECIES_CLAYDOL - 1] = {0x1e, 0x0d, 0x28, 0x1d, 0x24}, -// [SPECIES_NOSEPASS - 1] = {0x1f, 0x10, 0x30, 0x15, 0x23}, -// [SPECIES_TORKOAL - 1] = {0x0e, 0x19, 0x28, 0x0a, 0x27}, -// [SPECIES_SABLEYE - 1] = {0x1e, 0x16, 0x30, 0x1d, 0x27}, -// [SPECIES_BARBOACH - 1] = {0x17, 0x12, 0x30, 0x15, 0x1e}, -// [SPECIES_WHISCASH - 1] = {0x18, 0x20, 0x28, 0x17, 0x31}, -// [SPECIES_LUVDISC - 1] = {0x19, 0x0f, 0x30, 0x13, 0x1c}, -// [SPECIES_CORPHISH - 1] = {0x1f, 0x14, 0x30, 0x1d, 0x23}, -// [SPECIES_CRAWDAUNT - 1] = {0x14, 0x0c, 0x28, 0x18, 0x23}, -// [SPECIES_FEEBAS - 1] = {0x18, 0x1e, 0x28, 0x16, 0x2f}, -// [SPECIES_MILOTIC - 1] = {0x20, 0x0c, 0x28, 0x1f, 0x1d}, -// [SPECIES_CARVANHA - 1] = {0x16, 0x19, 0x30, 0x13, 0x22}, -// [SPECIES_SHARPEDO - 1] = {0x19, 0x0c, 0x28, 0x17, 0x27}, -// [SPECIES_TRAPINCH - 1] = {0x29, 0x13, 0x30, 0x17, 0x18}, -// [SPECIES_VIBRAVA - 1] = {0x10, 0x27, 0x20, 0x0e, 0x34}, -// [SPECIES_FLYGON - 1] = {0x22, 0x07, 0x10, 0x21, 0x13}, -// [SPECIES_MAKUHITA - 1] = {0x22, 0x13, 0x30, 0x1c, 0x23}, -// [SPECIES_HARIYAMA - 1] = {0x24, 0x0f, 0x28, 0x26, 0x1c}, -// [SPECIES_ELECTRIKE - 1] = {0x11, 0x18, 0x30, 0x14, 0x27}, -// [SPECIES_MANECTRIC - 1] = {0x2f, 0x18, 0x28, 0x2e, 0x29}, -// [SPECIES_NUMEL - 1] = {0x10, 0x1a, 0x30, 0x0d, 0x2a}, -// [SPECIES_CAMERUPT - 1] = {0x0d, 0x22, 0x28, 0x0e, 0x36}, -// [SPECIES_SPHEAL - 1] = {0x1e, 0x0f, 0x30, 0x18, 0x1f}, -// [SPECIES_SEALEO - 1] = {0x1c, 0x09, 0x30, 0x1a, 0x18}, -// [SPECIES_WALREIN - 1] = {0x19, 0x01, 0x28, 0x10, 0x16}, -// [SPECIES_CACNEA - 1] = {0x1f, 0x17, 0x30, 0x1d, 0x29}, -// [SPECIES_CACTURNE - 1] = {0x1d, 0x0e, 0x28, 0x1d, 0x1b}, -// [SPECIES_SNORUNT - 1] = {0x1e, 0x16, 0x30, 0x1e, 0x26}, -// [SPECIES_GLALIE - 1] = {0x1a, 0x1c, 0x08, 0x1a, 0x31}, -// [SPECIES_LUNATONE - 1] = {0x1c, 0x16, 0x08, 0x19, 0x2c}, -// [SPECIES_SOLROCK - 1] = {0x18, 0x18, 0x10, 0x17, 0x31}, -// [SPECIES_AZURILL - 1] = {0x1b, 0x10, 0x30, 0x18, 0x1f}, -// [SPECIES_SPOINK - 1] = {0x21, 0x14, 0x30, 0x1b, 0x28}, -// [SPECIES_GRUMPIG - 1] = {0x14, 0x10, 0x30, 0x15, 0x20}, -// [SPECIES_PLUSLE - 1] = {0x1c, 0x16, 0x08, 0x1d, 0x25}, -// [SPECIES_MINUN - 1] = {0x21, 0x16, 0x08, 0x1f, 0x26}, -// [SPECIES_MAWILE - 1] = {0x2d, 0x14, 0x30, 0x2f, 0x24}, -// [SPECIES_MEDITITE - 1] = {0x1f, 0x17, 0x30, 0x1e, 0x25}, -// [SPECIES_MEDICHAM - 1] = {0x21, 0x0f, 0x28, 0x1e, 0x1d}, -// [SPECIES_SWABLU - 1] = {0x1b, 0x16, 0x10, 0x17, 0x23}, -// [SPECIES_ALTARIA - 1] = {0x1d, 0x0b, 0x10, 0x1a, 0x1a}, -// [SPECIES_WYNAUT - 1] = {0x1a, 0x15, 0x30, 0x1b, 0x26}, -// [SPECIES_DUSKULL - 1] = {0x10, 0x18, 0x08, 0x14, 0x2e}, -// [SPECIES_DUSCLOPS - 1] = {0x1c, 0x0f, 0x30, 0x1a, 0x28}, -// [SPECIES_ROSELIA - 1] = {0x1e, 0x11, 0x30, 0x1d, 0x20}, -// [SPECIES_SLAKOTH - 1] = {0x19, 0x1e, 0x30, 0x18, 0x2f}, -// [SPECIES_VIGOROTH - 1] = {0x10, 0x12, 0x28, 0x14, 0x24}, -// [SPECIES_SLAKING - 1] = {0x37, 0x0f, 0x30, 0x29, 0x21}, -// [SPECIES_GULPIN - 1] = {0x1b, 0x18, 0x30, 0x17, 0x26}, -// [SPECIES_SWALOT - 1] = {0x1f, 0x06, 0x30, 0x15, 0x13}, -// [SPECIES_TROPIUS - 1] = {0x18, 0x0a, 0x28, 0x20, 0x18}, -// [SPECIES_WHISMUR - 1] = {0x1f, 0x19, 0x30, 0x1d, 0x29}, -// [SPECIES_LOUDRED - 1] = {0x1c, 0x12, 0x28, 0x22, 0x27}, -// [SPECIES_EXPLOUD - 1] = {0x10, 0x10, 0x28, 0x1a, 0x2a}, -// [SPECIES_CLAMPERL - 1] = {0x20, 0x1a, 0x30, 0x1e, 0x26}, -// [SPECIES_HUNTAIL - 1] = {0x13, 0x1e, 0x28, 0x15, 0x33}, -// [SPECIES_GOREBYSS - 1] = {0x0d, 0x1f, 0x28, 0x03, 0x32}, -// [SPECIES_ABSOL - 1] = {0x2a, 0x11, 0x28, 0x2a, 0x22}, -// [SPECIES_SHUPPET - 1] = {0x16, 0x19, 0x08, 0x17, 0x27}, -// [SPECIES_BANETTE - 1] = {0x1c, 0x14, 0x08, 0x1b, 0x23}, -// [SPECIES_SEVIPER - 1] = {0x0e, 0x0d, 0x30, 0x0b, 0x1e}, -// [SPECIES_ZANGOOSE - 1] = {0x18, 0x0c, 0x28, 0x15, 0x1a}, -// [SPECIES_RELICANTH - 1] = {0x0c, 0x1f, 0x30, 0x09, 0x2d}, -// [SPECIES_ARON - 1] = {0x18, 0x1c, 0x30, 0x1a, 0x2c}, -// [SPECIES_LAIRON - 1] = {0x0b, 0x21, 0x30, 0x12, 0x2f}, -// [SPECIES_AGGRON - 1] = {0x10, 0x0b, 0x28, 0x16, 0x1b}, -// [SPECIES_CASTFORM - 1] = {0x1d, 0x18, 0x08, 0x1b, 0x26}, -// [SPECIES_VOLBEAT - 1] = {0x25, 0x15, 0x08, 0x21, 0x25}, -// [SPECIES_ILLUMISE - 1] = {0x20, 0x12, 0x08, 0x1f, 0x20}, -// [SPECIES_LILEEP - 1] = {0x1e, 0x11, 0x30, 0x1f, 0x1e}, -// [SPECIES_CRADILY - 1] = {0x12, 0x16, 0x28, 0x15, 0x28}, -// [SPECIES_ANORITH - 1] = {0x1c, 0x1e, 0x30, 0x1b, 0x2b}, -// [SPECIES_ARMALDO - 1] = {0x15, 0x05, 0x28, 0x14, 0x13}, -// [SPECIES_RALTS - 1] = {0x1f, 0x17, 0x30, 0x20, 0x23}, -// [SPECIES_KIRLIA - 1] = {0x1c, 0x12, 0x30, 0x1f, 0x1e}, -// [SPECIES_GARDEVOIR - 1] = {0x35, 0x07, 0x28, 0x32, 0x14}, -// [SPECIES_BAGON - 1] = {0x17, 0x13, 0x30, 0x16, 0x26}, -// [SPECIES_SHELGON - 1] = {0x19, 0x1b, 0x30, 0x19, 0x2c}, -// [SPECIES_SALAMENCE - 1] = {0x09, 0x11, 0x30, 0x0a, 0x21}, -// [SPECIES_BELDUM - 1] = {0x16, 0x19, 0x08, 0x18, 0x23}, -// [SPECIES_METANG - 1] = {0x22, 0x0f, 0x10, 0x1f, 0x21}, -// [SPECIES_METAGROSS - 1] = {0x24, 0x1b, 0x28, 0x22, 0x2b}, -// [SPECIES_REGIROCK - 1] = {0x16, 0x07, 0x28, 0x14, 0x12}, -// [SPECIES_REGICE - 1] = {0x19, 0x0c, 0x28, 0x17, 0x19}, -// [SPECIES_REGISTEEL - 1] = {0x19, 0x0d, 0x28, 0x19, 0x19}, -// [SPECIES_KYOGRE - 1] = {0x0e, 0x19, 0x28, 0x0b, 0x26}, -// [SPECIES_GROUDON - 1] = {0x04, 0x0b, 0x28, 0x0a, 0x19}, -// [SPECIES_RAYQUAZA - 1] = {0x0c, 0x0e, 0x10, 0x0e, 0x1f}, -// [SPECIES_LATIAS - 1] = {0x1e, 0x0c, 0x10, 0x23, 0x19}, -// [SPECIES_LATIOS - 1] = {0x05, 0x0e, 0x10, 0x05, 0x1d}, -// [SPECIES_JIRACHI - 1] = {0x1c, 0x15, 0x08, 0x1e, 0x22}, -// #if defined(FIRERED) -// [SPECIES_DEOXYS - 1] = {0x1b, 0x08, 0x28, 0x1c, 0x16}, -// #elif defined(LEAFGREEN) -// [SPECIES_DEOXYS - 1] = {0x1a, 0x09, 0x28, 0x1a, 0x17}, -// #endif -// [SPECIES_CHIMECHO - 1] = {0x1d, 0x0c, 0x08, 0x1c, 0x1a}, -// [SPECIES_OLD_UNOWN_EMARK - 1] = {0x20, 0x21, 0x08, 0x20, 0x2b}, -// [SPECIES_OLD_UNOWN_QMARK - 1] = {0x20, 0x23, 0x08, 0x20, 0x2d} -// }; - void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 x, u8 y, const u8 * color, s8 speed, const u8 * str) { struct TextPrinterTemplate printer; diff --git a/src/new_game.c b/src/new_game.c index c3ea1e703..92a1d2225 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -7,6 +7,7 @@ #include "item_menu.h" #include "tm_case.h" #include "berry_pouch.h" +#include "clock.h" #include "quest_log.h" #include "wild_encounter.h" #include "event_data.h" @@ -129,6 +130,7 @@ void NewGameInitData(void) PlayTimeCounter_Reset(); ClearPokedexFlags(); InitEventData(); + InitTimeBasedEvents(); ResetFameChecker(); SetMoney(&gSaveBlock1Ptr->money, 900000); // change back to 3000 ResetGameStats(); diff --git a/src/rtc.c b/src/rtc.c index 5a2d8062b..7a87ba8d9 100644 --- a/src/rtc.c +++ b/src/rtc.c @@ -307,6 +307,18 @@ u8 GetTimeOfDay(void) return TIME_DAY; } +u8 GetCurrentHour(void) +{ + RtcCalcLocalTime(); + return gLocalTime.hours; +} + +u8 GetCurrentMinute(void) +{ + RtcCalcLocalTime(); + return gLocalTime.minutes; +} + u8 GetSeason(void) { u8 seasonIndex; @@ -326,6 +338,13 @@ u8 GetSeason(void) } } +u8 GetSeasonDay(void) +{ + RtcCalcLocalTime(); + + return (gLocalTime.days % DAYS_PER_SEASON) + 1; +} + void RtcCalcLocalTime(void) { RtcGetInfo(&sRtc); diff --git a/src/start_menu.c b/src/start_menu.c index f39176ccc..d71359329 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -32,6 +32,7 @@ #include "pokedex_screen.h" #include "trainer_card.h" #include "option_menu.h" +#include "rtc.h" #include "save_menu_util.h" #include "help_system.h" #include "constants/songs.h" @@ -65,6 +66,7 @@ static EWRAM_DATA u8 sNumStartMenuItems = 0; static EWRAM_DATA u8 sStartMenuOrder[MAX_STARTMENU_ITEMS] = {}; static EWRAM_DATA s8 sDrawStartMenuState[2] = {}; static EWRAM_DATA u8 sSafariZoneStatsWindowId = 0; +static EWRAM_DATA u8 sTimeWindowId = 0; static ALIGNED(4) EWRAM_DATA u8 sSaveStatsWindowId = 0; static u8 (*sSaveDialogCB)(void); @@ -124,6 +126,26 @@ static const struct MenuAction sStartMenuActionTable[] = { { gText_MenuPlayer, {.u8_void = StartMenuLinkPlayerCallback} } }; +static const struct WindowTemplate sTimeWindowTemplate = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 10, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x198 +}; + +static const struct WindowTemplate sTimeSafariWindowTemplate = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 7, + .width = 10, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x198 +}; + static const struct WindowTemplate sSafariZoneStatsWindowTemplate = { .bg = 0, .tilemapLeft = 1, @@ -184,13 +206,6 @@ static ALIGNED(2) const u8 sTextColor_StatName[] = { 1, 2, 3 }; static ALIGNED(2) const u8 sTextColor_StatValue[] = { 1, 4, 5 }; static ALIGNED(2) const u8 sTextColor_LocationHeader[] = { 1, 6, 7 }; -// Unused -static void SetHasPokedexAndPokemon(void) -{ - FlagSet(FLAG_SYS_POKEDEX_GET); - FlagSet(FLAG_SYS_POKEMON_GET); -} - static void SetUpStartMenu(void) { sNumStartMenuItems = 0; @@ -274,6 +289,53 @@ static void DestroySafariZoneStatsWindow(void) } } +static void DrawTimeWindow(void) +{ + if (GetSafariZoneFlag()) + { + sTimeWindowId = AddWindow(&sTimeSafariWindowTemplate); + } + else + { + sTimeWindowId = AddWindow(&sTimeWindowTemplate); + } + + PutWindowTilemap(sTimeWindowId); + DrawStdWindowFrame(sTimeWindowId, FALSE); + ConvertIntToDecimalStringN(gStringVar1, GetCurrentHour(), STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar2, GetCurrentMinute(), STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_MenuTime); + AddTextPrinterParameterized(sTimeWindowId, FONT_NORMAL, gStringVar4, 4, 1, 0xFF, NULL); + + switch (GetSeason()) + { + case SEASON_SPRING: + StringCopy(gStringVar1, gText_SeasonSpring); + break; + case SEASON_SUMMER: + StringCopy(gStringVar1, gText_SeasonSummer); + break; + case SEASON_AUTUMN: + StringCopy(gStringVar1, gText_SeasonAutumn); + break; + case SEASON_WINTER: + StringCopy(gStringVar1, gText_SeasonWinter); + break; + } + ConvertIntToDecimalStringN(gStringVar2, GetSeasonDay(), STR_CONV_MODE_RIGHT_ALIGN, 1); + StringExpandPlaceholders(gStringVar4, gText_MenuDay); + AddTextPrinterParameterized(sTimeWindowId, FONT_NORMAL, gStringVar4, 4, 18, 0xFF, NULL); + + CopyWindowToVram(sTimeWindowId, COPYWIN_GFX); +} + +static void DestroyTimeWindow(void) +{ + ClearStdWindowAndFrameToTransparent(sTimeWindowId, FALSE); + CopyWindowToVram(sTimeWindowId, COPYWIN_GFX); + RemoveWindow(sTimeWindowId); +} + static s8 PrintStartMenuItems(s8 *cursor_p, u8 nitems) { s16 i = *cursor_p; @@ -321,10 +383,14 @@ static s8 DoDrawStartMenu(void) sDrawStartMenuState[0]++; break; case 4: + DrawTimeWindow(); + sDrawStartMenuState[0]++; + break; + case 5: if (PrintStartMenuItems(&sDrawStartMenuState[1], 2) == TRUE) sDrawStartMenuState[0]++; break; - case 5: + case 6: sStartMenuCursorPos = Menu_InitCursor(GetStartMenuWindowId(), FONT_NORMAL, 0, 0, 15, sNumStartMenuItems, sStartMenuCursorPos); if (!MenuHelpers_IsLinkActive() && InUnionRoom() != TRUE && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_HELP) { @@ -1003,6 +1069,7 @@ static void CloseStartMenu(void) RemoveStartMenuWindow(); ClearPlayerHeldMovementAndUnfreezeObjectEvents(); UnlockPlayerFieldControls(); + DestroyTimeWindow(); } void AppendToList(u8 *list, u8 *cursor, u8 newEntry) diff --git a/src/strings.c b/src/strings.c index 5c6164c2e..58be4fede 100644 --- a/src/strings.c +++ b/src/strings.c @@ -175,6 +175,12 @@ const u8 gText_MenuOption[] = _("OPTION"); const u8 gText_MenuExit[] = _("EXIT"); const u8 gText_MenuRetire[] = _("RETIRE"); const u8 gText_MenuSafariStats[] = _("{STR_VAR_1}/{STR_VAR_2}\nBALLS {STR_VAR_3}"); +const u8 gText_MenuTime[] = _("Time: {STR_VAR_1}:{STR_VAR_2}"); +const u8 gText_MenuDay[] = _("{STR_VAR_1} Day {STR_VAR_2}"); +const u8 gText_SeasonSpring[] = _("Spring"); +const u8 gText_SeasonSummer[] = _("Summer"); +const u8 gText_SeasonAutumn[] = _("Autumn"); +const u8 gText_SeasonWinter[] = _("Winter"); const u8 gText_TimesStrVar1[] = _("×{STR_VAR_1}"); const u8 gText_Berry[] = _(" BERRY"); const u8 gText_Coins[] = _("{STR_VAR_1} COINS");