diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-05-19 14:51:11 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-05-19 14:51:11 -0400 |
commit | d1851f99bcd24e1dd51920e9f4a44cebe04d5bb4 (patch) | |
tree | 9337daa45cd7068dff6290c3d2be329c1512350e /src | |
parent | 00d1e98f5a4f7830b08b37e647092daa19f0a18d (diff) |
DoTVShowPokemonTodaySuccessfulCapture
Diffstat (limited to 'src')
-rw-r--r-- | src/item.c | 19 | ||||
-rw-r--r-- | src/tv.c | 89 |
2 files changed, 80 insertions, 28 deletions
diff --git a/src/item.c b/src/item.c index 656563ad4..7257c3649 100644 --- a/src/item.c +++ b/src/item.c @@ -6,25 +6,6 @@ extern struct Berry *GetBerryInfo(u8 berry); extern u8 gOtherText_Berry2[]; extern u8 gUnknown_02038560; - -struct Item -{ - u8 name[14]; - u16 itemId; - u16 price; - u8 holdEffect; - u8 holdEffectParam; - u8 *description; - u8 importance; - u8 unk19; - u8 pocket; - u8 type; - ItemUseFunc fieldUseFunc; - u8 battleUsage; - ItemUseFunc battleUseFunc; - u8 secondaryId; -}; - extern struct Item gItems[]; struct BagPocket @@ -16,6 +16,7 @@ #include "link.h" #include "easy_chat.h" #include "item.h" +#include "items.h" #include "contest_painting.h" #include "rtc.h" @@ -1626,10 +1627,10 @@ void TVShowConvertInternationalString(u8 *, u8 *, u8); void TakeTVShowInSearchOfTrainersOffTheAir(void); -void DoTVShowPokemonTodayFailedCapture(void) { +void DoTVShowPokemonTodaySuccessfulCapture(void) { TVShow *tvShow; u8 switchval; - u16 rval; +// u16 rval; tvShow = &gSaveBlock1.tvShows.shows[gSpecialVar_0x8004]; gScriptResult = 0; switchval = gUnknown_020387E8; @@ -1637,13 +1638,83 @@ void DoTVShowPokemonTodayFailedCapture(void) { case 0: TVShowConvertInternationalString(gStringVar1, tvShow->pokemonToday.playerName, tvShow->pokemonToday.language); StringCopy(gStringVar2, gSpeciesNames[tvShow->pokemonToday.species]); - gUnknown_020387E8 = 1; + TVShowConvertInternationalString(gStringVar3, tvShow->pokemonToday.nickname, tvShow->pokemonToday.language2); + if (tvShow->pokemonToday.ball == ITEM_MASTER_BALL) { + gUnknown_020387E8 = 5; + } else { + gUnknown_020387E8 = 1; + } break; case 1: + gUnknown_020387E8 = 2; + break; + case 2: + StringCopy(gStringVar2, ItemId_GetItem(tvShow->pokemonToday.ball)->name); + sub_80BF088(2, tvShow->pokemonToday.var12); + if (tvShow->pokemonToday.var12 < 4) { + gUnknown_020387E8 = 3; + } else { + gUnknown_020387E8 = 4; + } + break; + case 3: + TVShowConvertInternationalString(gStringVar1, tvShow->pokemonToday.playerName, tvShow->pokemonToday.language); + StringCopy(gStringVar2, gSpeciesNames[tvShow->pokemonToday.species]); + TVShowConvertInternationalString(gStringVar3, tvShow->pokemonToday.nickname, tvShow->pokemonToday.language2); + gUnknown_020387E8 = 6; + break; + case 4: + gUnknown_020387E8 = 6; + break; + case 5: + TVShowConvertInternationalString(gStringVar1, tvShow->pokemonToday.playerName, tvShow->pokemonToday.language); + StringCopy(gStringVar2, gSpeciesNames[tvShow->pokemonToday.species]); + gUnknown_020387E8 = 6; + break; + case 6: TVShowConvertInternationalString(gStringVar1, tvShow->pokemonToday.playerName, tvShow->pokemonToday.language); - sub_80FBFB4(gStringVar2, tvShow->pokemonToday.var12, 0); - StringCopy(gStringVar3, gSpeciesNames[tvShow->pokemonToday.species2]); - if (tvShow->pokemonToday.var11 == 1) { + StringCopy(gStringVar2, gSpeciesNames[tvShow->pokemonToday.species]); + TVShowConvertInternationalString(gStringVar3, tvShow->pokemonToday.nickname, tvShow->pokemonToday.language2); + gUnknown_020387E8 += (Random() % 4) + 1; + break; + case 7: + case 8: + StringCopy(gStringVar1, gSpeciesNames[tvShow->pokemonToday.species]); + TVShowConvertInternationalString(gStringVar2, tvShow->pokemonToday.nickname, tvShow->pokemonToday.language2); + sub_80BF638(2, tvShow->pokemonToday.species); + gUnknown_020387E8 = 11; + break; + case 9: + case 10: + StringCopy(gStringVar1, gSpeciesNames[tvShow->pokemonToday.species]); + TVShowConvertInternationalString(gStringVar2, tvShow->pokemonToday.nickname, tvShow->pokemonToday.language2); + gUnknown_020387E8 = 11; + break; + case 11: + TVShowDone(); + break; + } + ShowFieldMessage(gTVPokemonTodayTextGroup[switchval]); +} + +void DoTVShowPokemonTodayFailedCapture(void) { + TVShow *tvShow; + u8 switchval; + u16 rval; + tvShow = &gSaveBlock1.tvShows.shows[gSpecialVar_0x8004]; + gScriptResult = 0; + switchval = gUnknown_020387E8; + switch (switchval) { + case 0: + TVShowConvertInternationalString(gStringVar1, tvShow->pokemonTodayFailed.playerName, tvShow->pokemonTodayFailed.language); + StringCopy(gStringVar2, gSpeciesNames[tvShow->pokemonTodayFailed.species]); + gUnknown_020387E8 = 1; + break; + case 1: + TVShowConvertInternationalString(gStringVar1, tvShow->pokemonTodayFailed.playerName, tvShow->pokemonTodayFailed.language); + sub_80FBFB4(gStringVar2, tvShow->pokemonTodayFailed.var12, 0); + StringCopy(gStringVar3, gSpeciesNames[tvShow->pokemonTodayFailed.species2]); + if (tvShow->pokemonTodayFailed.var11 == 1) { gUnknown_020387E8 = 3; } else { gUnknown_020387E8 = 2; @@ -1651,8 +1722,8 @@ void DoTVShowPokemonTodayFailedCapture(void) { break; case 2: case 3: - TVShowConvertInternationalString(gStringVar1, tvShow->pokemonToday.playerName, tvShow->pokemonToday.language); - sub_80BF088(1, tvShow->pokemonToday.var10); + TVShowConvertInternationalString(gStringVar1, tvShow->pokemonTodayFailed.playerName, tvShow->pokemonTodayFailed.language); + sub_80BF088(1, tvShow->pokemonTodayFailed.var10); rval = (Random() % 3); if (rval == 0) { gUnknown_020387E8 = 5; @@ -1662,7 +1733,7 @@ void DoTVShowPokemonTodayFailedCapture(void) { break; case 4: case 5: - TVShowConvertInternationalString(gStringVar1, tvShow->pokemonToday.playerName, tvShow->pokemonToday.language); + TVShowConvertInternationalString(gStringVar1, tvShow->pokemonTodayFailed.playerName, tvShow->pokemonTodayFailed.language); gUnknown_020387E8 = 6; break; case 6: |