summaryrefslogtreecommitdiff
path: root/arm9/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-08-18 08:19:12 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-08-18 08:19:12 -0400
commitffc909a19c8640993b247f067f8ab678dbb5f32f (patch)
treef455cf620228391960e1bb55a9483930b073e9eb /arm9/src
parent985f98f8f7a54acf3664bbf0eb9f62270f58eb96 (diff)
parentb51fd5e65388a585986b5cbd7cf8be90c36040e8 (diff)
Merge branch 'pikalax_work' of github.com:PikalaxALT/pokediamond into pikalax_work
Diffstat (limited to 'arm9/src')
-rw-r--r--arm9/src/pokemon.c482
-rw-r--r--arm9/src/unk_0207FC5C.c533
2 files changed, 774 insertions, 241 deletions
diff --git a/arm9/src/pokemon.c b/arm9/src/pokemon.c
index dbf86d8a..20784ff6 100644
--- a/arm9/src/pokemon.c
+++ b/arm9/src/pokemon.c
@@ -701,33 +701,33 @@ u32 GetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * dest)
ret = blockA->sheen;
break;
case MON_DATA_SINNOH_CHAMP_RIBBON:
- case MON_DATA_SINNOH_RIBBON_26:
- case MON_DATA_SINNOH_RIBBON_27:
- case MON_DATA_SINNOH_RIBBON_28:
- case MON_DATA_SINNOH_RIBBON_29:
- case MON_DATA_SINNOH_RIBBON_30:
- case MON_DATA_SINNOH_RIBBON_31:
- case MON_DATA_SINNOH_RIBBON_32:
- case MON_DATA_SINNOH_RIBBON_33:
- case MON_DATA_SINNOH_RIBBON_34:
- case MON_DATA_SINNOH_RIBBON_35:
- case MON_DATA_SINNOH_RIBBON_36:
- case MON_DATA_SINNOH_RIBBON_37:
- case MON_DATA_SINNOH_RIBBON_38:
- case MON_DATA_SINNOH_RIBBON_39:
- case MON_DATA_SINNOH_RIBBON_40:
- case MON_DATA_SINNOH_RIBBON_41:
- case MON_DATA_SINNOH_RIBBON_42:
- case MON_DATA_SINNOH_RIBBON_43:
- case MON_DATA_SINNOH_RIBBON_44:
- case MON_DATA_SINNOH_RIBBON_45:
- case MON_DATA_SINNOH_RIBBON_46:
- case MON_DATA_SINNOH_RIBBON_47:
- case MON_DATA_SINNOH_RIBBON_48:
- case MON_DATA_SINNOH_RIBBON_49:
- case MON_DATA_SINNOH_RIBBON_50:
- case MON_DATA_SINNOH_RIBBON_51:
- case MON_DATA_SINNOH_RIBBON_52:
+ case MON_DATA_ABILITY_RIBBON:
+ case MON_DATA_GREAT_ABILITY_RIBBON:
+ case MON_DATA_DOUBLE_ABILITY_RIBBON:
+ case MON_DATA_MULTI_ABILITY_RIBBON:
+ case MON_DATA_PAIR_ABILITY_RIBBON:
+ case MON_DATA_WORLD_ABILITY_RIBBON:
+ case MON_DATA_ALERT_RIBBON:
+ case MON_DATA_SHOCK_RIBBON:
+ case MON_DATA_DOWNCAST_RIBBON:
+ case MON_DATA_CARELESS_RIBBON:
+ case MON_DATA_RELAX_RIBBON:
+ case MON_DATA_SNOOZE_RIBBON:
+ case MON_DATA_SMILE_RIBBON:
+ case MON_DATA_GORGEOUS_RIBBON:
+ case MON_DATA_ROYAL_RIBBON:
+ case MON_DATA_GORGEOUS_ROYAL_RIBBON:
+ case MON_DATA_FOOTPRINT_RIBBON:
+ case MON_DATA_RECORD_RIBBON:
+ case MON_DATA_HISTORY_RIBBON:
+ case MON_DATA_LEGEND_RIBBON:
+ case MON_DATA_RED_RIBBON:
+ case MON_DATA_GREEN_RIBBON:
+ case MON_DATA_BLUE_RIBBON:
+ case MON_DATA_FESTIVAL_RIBBON:
+ case MON_DATA_CARNIVAL_RIBBON:
+ case MON_DATA_CLASSIC_RIBBON:
+ case MON_DATA_PREMIER_RIBBON:
case MON_DATA_SINNOH_RIBBON_53:
{
if (blockA->sinnohRibbons & (1ll << (attr - MON_DATA_SINNOH_CHAMP_RIBBON)))
@@ -790,39 +790,39 @@ u32 GetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * dest)
case MON_DATA_HAS_NICKNAME:
ret = blockB->isNicknamed;
break;
- case MON_DATA_COOL_RIBBON:
- case MON_DATA_HOENN_RIBBON_79:
- case MON_DATA_HOENN_RIBBON_80:
- case MON_DATA_HOENN_RIBBON_81:
- case MON_DATA_HOENN_RIBBON_82:
- case MON_DATA_HOENN_RIBBON_83:
- case MON_DATA_HOENN_RIBBON_84:
- case MON_DATA_HOENN_RIBBON_85:
- case MON_DATA_HOENN_RIBBON_86:
- case MON_DATA_HOENN_RIBBON_87:
- case MON_DATA_HOENN_RIBBON_88:
- case MON_DATA_HOENN_RIBBON_89:
- case MON_DATA_HOENN_RIBBON_90:
- case MON_DATA_HOENN_RIBBON_91:
- case MON_DATA_HOENN_RIBBON_92:
- case MON_DATA_HOENN_RIBBON_93:
- case MON_DATA_HOENN_RIBBON_94:
- case MON_DATA_HOENN_RIBBON_95:
- case MON_DATA_HOENN_RIBBON_96:
- case MON_DATA_HOENN_RIBBON_97:
- case MON_DATA_HOENN_RIBBON_98:
- case MON_DATA_HOENN_RIBBON_99:
- case MON_DATA_HOENN_RIBBON_100:
- case MON_DATA_HOENN_RIBBON_101:
- case MON_DATA_HOENN_RIBBON_102:
- case MON_DATA_HOENN_RIBBON_103:
- case MON_DATA_HOENN_RIBBON_104:
- case MON_DATA_HOENN_RIBBON_105:
- case MON_DATA_HOENN_RIBBON_106:
- case MON_DATA_HOENN_RIBBON_107:
- case MON_DATA_HOENN_RIBBON_108:
- case MON_DATA_HOENN_RIBBON_109:
- if (blockB->ribbonFlags & (1ll << (attr - MON_DATA_COOL_RIBBON)))
+ case MON_DATA_HOENN_COOL_RIBBON:
+ case MON_DATA_HOENN_COOL_RIBBON_SUPER:
+ case MON_DATA_HOENN_COOL_RIBBON_HYPER:
+ case MON_DATA_HOENN_COOL_RIBBON_MASTER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_SUPER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_HYPER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_MASTER:
+ case MON_DATA_HOENN_CUTE_RIBBON:
+ case MON_DATA_HOENN_CUTE_RIBBON_SUPER:
+ case MON_DATA_HOENN_CUTE_RIBBON_HYPER:
+ case MON_DATA_HOENN_CUTE_RIBBON_MASTER:
+ case MON_DATA_HOENN_SMART_RIBBON:
+ case MON_DATA_HOENN_SMART_RIBBON_SUPER:
+ case MON_DATA_HOENN_SMART_RIBBON_HYPER:
+ case MON_DATA_HOENN_SMART_RIBBON_MASTER:
+ case MON_DATA_HOENN_TOUGH_RIBBON:
+ case MON_DATA_HOENN_TOUGH_RIBBON_SUPER:
+ case MON_DATA_HOENN_TOUGH_RIBBON_HYPER:
+ case MON_DATA_HOENN_TOUGH_RIBBON_MASTER:
+ case MON_DATA_HOENN_CHAMPION_RIBBON:
+ case MON_DATA_HOENN_WINNING_RIBBON:
+ case MON_DATA_HOENN_VICTORY_RIBBON:
+ case MON_DATA_HOENN_ARTIST_RIBBON:
+ case MON_DATA_HOENN_EFFORT_RIBBON:
+ case MON_DATA_HOENN_MARINE_RIBBON:
+ case MON_DATA_HOENN_LAND_RIBBON:
+ case MON_DATA_HOENN_SKY_RIBBON:
+ case MON_DATA_HOENN_COUNTRY_RIBBON:
+ case MON_DATA_HOENN_NATIONAL_RIBBON:
+ case MON_DATA_HOENN_EARTH_RIBBON:
+ case MON_DATA_HOENN_WORLD_RIBBON:
+ if (blockB->ribbonFlags & (1ll << (attr - MON_DATA_HOENN_COOL_RIBBON)))
ret = TRUE;
else
ret = FALSE;
@@ -876,28 +876,28 @@ u32 GetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * dest)
case MON_DATA_GAME_VERSION:
ret = blockC->originGame;
break;
- case MON_DATA_SINNOH_RIBBON_122:
- case MON_DATA_SINNOH_RIBBON_123:
- case MON_DATA_SINNOH_RIBBON_124:
- case MON_DATA_SINNOH_RIBBON_125:
- case MON_DATA_SINNOH_RIBBON_126:
- case MON_DATA_SINNOH_RIBBON_127:
- case MON_DATA_SINNOH_RIBBON_128:
- case MON_DATA_SINNOH_RIBBON_129:
- case MON_DATA_SINNOH_RIBBON_130:
- case MON_DATA_SINNOH_RIBBON_131:
- case MON_DATA_SINNOH_RIBBON_132:
- case MON_DATA_SINNOH_RIBBON_133:
- case MON_DATA_SINNOH_RIBBON_134:
- case MON_DATA_SINNOH_RIBBON_135:
- case MON_DATA_SINNOH_RIBBON_136:
- case MON_DATA_SINNOH_RIBBON_137:
- case MON_DATA_SINNOH_RIBBON_138:
- case MON_DATA_SINNOH_RIBBON_139:
- case MON_DATA_SINNOH_RIBBON_140:
- case MON_DATA_SINNOH_RIBBON_141:
+ case MON_DATA_COOL_RIBBON:
+ case MON_DATA_COOL_RIBBON_GREAT:
+ case MON_DATA_COOL_RIBBON_ULTRA:
+ case MON_DATA_COOL_RIBBON_MASTER:
+ case MON_DATA_BEAUTY_RIBBON:
+ case MON_DATA_BEAUTY_RIBBON_GREAT:
+ case MON_DATA_BEAUTY_RIBBON_ULTRA:
+ case MON_DATA_BEAUTY_RIBBON_MASTER:
+ case MON_DATA_CUTE_RIBBON:
+ case MON_DATA_CUTE_RIBBON_GREAT:
+ case MON_DATA_CUTE_RIBBON_ULTRA:
+ case MON_DATA_CUTE_RIBBON_MASTER:
+ case MON_DATA_SMART_RIBBON:
+ case MON_DATA_SMART_RIBBON_GREAT:
+ case MON_DATA_SMART_RIBBON_ULTRA:
+ case MON_DATA_SMART_RIBBON_MASTER:
+ case MON_DATA_TOUGH_RIBBON:
+ case MON_DATA_TOUGH_RIBBON_GREAT:
+ case MON_DATA_TOUGH_RIBBON_ULTRA:
+ case MON_DATA_TOUGH_RIBBON_MASTER:
case MON_DATA_SINNOH_RIBBON_142:
- if (blockC->sinnohRibbons2 & (1ll << (attr - MON_DATA_SINNOH_RIBBON_122)))
+ if (blockC->sinnohRibbons2 & (1ll << (attr - MON_DATA_COOL_RIBBON)))
ret = TRUE;
else
ret = FALSE;
@@ -1178,33 +1178,33 @@ void SetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * value)
blockA->sheen = VALUE(u8);
break;
case MON_DATA_SINNOH_CHAMP_RIBBON:
- case MON_DATA_SINNOH_RIBBON_26:
- case MON_DATA_SINNOH_RIBBON_27:
- case MON_DATA_SINNOH_RIBBON_28:
- case MON_DATA_SINNOH_RIBBON_29:
- case MON_DATA_SINNOH_RIBBON_30:
- case MON_DATA_SINNOH_RIBBON_31:
- case MON_DATA_SINNOH_RIBBON_32:
- case MON_DATA_SINNOH_RIBBON_33:
- case MON_DATA_SINNOH_RIBBON_34:
- case MON_DATA_SINNOH_RIBBON_35:
- case MON_DATA_SINNOH_RIBBON_36:
- case MON_DATA_SINNOH_RIBBON_37:
- case MON_DATA_SINNOH_RIBBON_38:
- case MON_DATA_SINNOH_RIBBON_39:
- case MON_DATA_SINNOH_RIBBON_40:
- case MON_DATA_SINNOH_RIBBON_41:
- case MON_DATA_SINNOH_RIBBON_42:
- case MON_DATA_SINNOH_RIBBON_43:
- case MON_DATA_SINNOH_RIBBON_44:
- case MON_DATA_SINNOH_RIBBON_45:
- case MON_DATA_SINNOH_RIBBON_46:
- case MON_DATA_SINNOH_RIBBON_47:
- case MON_DATA_SINNOH_RIBBON_48:
- case MON_DATA_SINNOH_RIBBON_49:
- case MON_DATA_SINNOH_RIBBON_50:
- case MON_DATA_SINNOH_RIBBON_51:
- case MON_DATA_SINNOH_RIBBON_52:
+ case MON_DATA_ABILITY_RIBBON:
+ case MON_DATA_GREAT_ABILITY_RIBBON:
+ case MON_DATA_DOUBLE_ABILITY_RIBBON:
+ case MON_DATA_MULTI_ABILITY_RIBBON:
+ case MON_DATA_PAIR_ABILITY_RIBBON:
+ case MON_DATA_WORLD_ABILITY_RIBBON:
+ case MON_DATA_ALERT_RIBBON:
+ case MON_DATA_SHOCK_RIBBON:
+ case MON_DATA_DOWNCAST_RIBBON:
+ case MON_DATA_CARELESS_RIBBON:
+ case MON_DATA_RELAX_RIBBON:
+ case MON_DATA_SNOOZE_RIBBON:
+ case MON_DATA_SMILE_RIBBON:
+ case MON_DATA_GORGEOUS_RIBBON:
+ case MON_DATA_ROYAL_RIBBON:
+ case MON_DATA_GORGEOUS_ROYAL_RIBBON:
+ case MON_DATA_FOOTPRINT_RIBBON:
+ case MON_DATA_RECORD_RIBBON:
+ case MON_DATA_HISTORY_RIBBON:
+ case MON_DATA_LEGEND_RIBBON:
+ case MON_DATA_RED_RIBBON:
+ case MON_DATA_GREEN_RIBBON:
+ case MON_DATA_BLUE_RIBBON:
+ case MON_DATA_FESTIVAL_RIBBON:
+ case MON_DATA_CARNIVAL_RIBBON:
+ case MON_DATA_CLASSIC_RIBBON:
+ case MON_DATA_PREMIER_RIBBON:
case MON_DATA_SINNOH_RIBBON_53:
flag = VALUE(u8);
mask = (u64)flag << (attr - MON_DATA_SINNOH_CHAMP_RIBBON);
@@ -1255,40 +1255,40 @@ void SetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * value)
case MON_DATA_HAS_NICKNAME:
blockB->isNicknamed = VALUE(u8);
break;
- case MON_DATA_COOL_RIBBON:
- case MON_DATA_HOENN_RIBBON_79:
- case MON_DATA_HOENN_RIBBON_80:
- case MON_DATA_HOENN_RIBBON_81:
- case MON_DATA_HOENN_RIBBON_82:
- case MON_DATA_HOENN_RIBBON_83:
- case MON_DATA_HOENN_RIBBON_84:
- case MON_DATA_HOENN_RIBBON_85:
- case MON_DATA_HOENN_RIBBON_86:
- case MON_DATA_HOENN_RIBBON_87:
- case MON_DATA_HOENN_RIBBON_88:
- case MON_DATA_HOENN_RIBBON_89:
- case MON_DATA_HOENN_RIBBON_90:
- case MON_DATA_HOENN_RIBBON_91:
- case MON_DATA_HOENN_RIBBON_92:
- case MON_DATA_HOENN_RIBBON_93:
- case MON_DATA_HOENN_RIBBON_94:
- case MON_DATA_HOENN_RIBBON_95:
- case MON_DATA_HOENN_RIBBON_96:
- case MON_DATA_HOENN_RIBBON_97:
- case MON_DATA_HOENN_RIBBON_98:
- case MON_DATA_HOENN_RIBBON_99:
- case MON_DATA_HOENN_RIBBON_100:
- case MON_DATA_HOENN_RIBBON_101:
- case MON_DATA_HOENN_RIBBON_102:
- case MON_DATA_HOENN_RIBBON_103:
- case MON_DATA_HOENN_RIBBON_104:
- case MON_DATA_HOENN_RIBBON_105:
- case MON_DATA_HOENN_RIBBON_106:
- case MON_DATA_HOENN_RIBBON_107:
- case MON_DATA_HOENN_RIBBON_108:
- case MON_DATA_HOENN_RIBBON_109:
+ case MON_DATA_HOENN_COOL_RIBBON:
+ case MON_DATA_HOENN_COOL_RIBBON_SUPER:
+ case MON_DATA_HOENN_COOL_RIBBON_HYPER:
+ case MON_DATA_HOENN_COOL_RIBBON_MASTER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_SUPER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_HYPER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_MASTER:
+ case MON_DATA_HOENN_CUTE_RIBBON:
+ case MON_DATA_HOENN_CUTE_RIBBON_SUPER:
+ case MON_DATA_HOENN_CUTE_RIBBON_HYPER:
+ case MON_DATA_HOENN_CUTE_RIBBON_MASTER:
+ case MON_DATA_HOENN_SMART_RIBBON:
+ case MON_DATA_HOENN_SMART_RIBBON_SUPER:
+ case MON_DATA_HOENN_SMART_RIBBON_HYPER:
+ case MON_DATA_HOENN_SMART_RIBBON_MASTER:
+ case MON_DATA_HOENN_TOUGH_RIBBON:
+ case MON_DATA_HOENN_TOUGH_RIBBON_SUPER:
+ case MON_DATA_HOENN_TOUGH_RIBBON_HYPER:
+ case MON_DATA_HOENN_TOUGH_RIBBON_MASTER:
+ case MON_DATA_HOENN_CHAMPION_RIBBON:
+ case MON_DATA_HOENN_WINNING_RIBBON:
+ case MON_DATA_HOENN_VICTORY_RIBBON:
+ case MON_DATA_HOENN_ARTIST_RIBBON:
+ case MON_DATA_HOENN_EFFORT_RIBBON:
+ case MON_DATA_HOENN_MARINE_RIBBON:
+ case MON_DATA_HOENN_LAND_RIBBON:
+ case MON_DATA_HOENN_SKY_RIBBON:
+ case MON_DATA_HOENN_COUNTRY_RIBBON:
+ case MON_DATA_HOENN_NATIONAL_RIBBON:
+ case MON_DATA_HOENN_EARTH_RIBBON:
+ case MON_DATA_HOENN_WORLD_RIBBON:
flag = VALUE(u8);
- mask = (u64)flag << (attr - MON_DATA_COOL_RIBBON);
+ mask = (u64)flag << (attr - MON_DATA_HOENN_COOL_RIBBON);
if (flag)
blockB->ribbonFlags |= mask;
else
@@ -1333,29 +1333,29 @@ void SetBoxMonDataInternal(struct BoxPokemon * boxmon, int attr, void * value)
case MON_DATA_GAME_VERSION:
blockC->originGame = VALUE(u8);
break;
- case MON_DATA_SINNOH_RIBBON_122:
- case MON_DATA_SINNOH_RIBBON_123:
- case MON_DATA_SINNOH_RIBBON_124:
- case MON_DATA_SINNOH_RIBBON_125:
- case MON_DATA_SINNOH_RIBBON_126:
- case MON_DATA_SINNOH_RIBBON_127:
- case MON_DATA_SINNOH_RIBBON_128:
- case MON_DATA_SINNOH_RIBBON_129:
- case MON_DATA_SINNOH_RIBBON_130:
- case MON_DATA_SINNOH_RIBBON_131:
- case MON_DATA_SINNOH_RIBBON_132:
- case MON_DATA_SINNOH_RIBBON_133:
- case MON_DATA_SINNOH_RIBBON_134:
- case MON_DATA_SINNOH_RIBBON_135:
- case MON_DATA_SINNOH_RIBBON_136:
- case MON_DATA_SINNOH_RIBBON_137:
- case MON_DATA_SINNOH_RIBBON_138:
- case MON_DATA_SINNOH_RIBBON_139:
- case MON_DATA_SINNOH_RIBBON_140:
- case MON_DATA_SINNOH_RIBBON_141:
+ case MON_DATA_COOL_RIBBON:
+ case MON_DATA_COOL_RIBBON_GREAT:
+ case MON_DATA_COOL_RIBBON_ULTRA:
+ case MON_DATA_COOL_RIBBON_MASTER:
+ case MON_DATA_BEAUTY_RIBBON:
+ case MON_DATA_BEAUTY_RIBBON_GREAT:
+ case MON_DATA_BEAUTY_RIBBON_ULTRA:
+ case MON_DATA_BEAUTY_RIBBON_MASTER:
+ case MON_DATA_CUTE_RIBBON:
+ case MON_DATA_CUTE_RIBBON_GREAT:
+ case MON_DATA_CUTE_RIBBON_ULTRA:
+ case MON_DATA_CUTE_RIBBON_MASTER:
+ case MON_DATA_SMART_RIBBON:
+ case MON_DATA_SMART_RIBBON_GREAT:
+ case MON_DATA_SMART_RIBBON_ULTRA:
+ case MON_DATA_SMART_RIBBON_MASTER:
+ case MON_DATA_TOUGH_RIBBON:
+ case MON_DATA_TOUGH_RIBBON_GREAT:
+ case MON_DATA_TOUGH_RIBBON_ULTRA:
+ case MON_DATA_TOUGH_RIBBON_MASTER:
case MON_DATA_SINNOH_RIBBON_142:
flag = VALUE(u8);
- mask = (u64)flag << (attr - MON_DATA_SINNOH_RIBBON_122);
+ mask = (u64)flag << (attr - MON_DATA_COOL_RIBBON);
if (flag)
blockC->sinnohRibbons2 |= mask;
else
@@ -1630,33 +1630,33 @@ void AddBoxMonData(struct BoxPokemon * boxmon, int attr, int value)
case MON_DATA_MARKINGS:
case MON_DATA_GAME_LANGUAGE:
case MON_DATA_SINNOH_CHAMP_RIBBON:
- case MON_DATA_SINNOH_RIBBON_26:
- case MON_DATA_SINNOH_RIBBON_27:
- case MON_DATA_SINNOH_RIBBON_28:
- case MON_DATA_SINNOH_RIBBON_29:
- case MON_DATA_SINNOH_RIBBON_30:
- case MON_DATA_SINNOH_RIBBON_31:
- case MON_DATA_SINNOH_RIBBON_32:
- case MON_DATA_SINNOH_RIBBON_33:
- case MON_DATA_SINNOH_RIBBON_34:
- case MON_DATA_SINNOH_RIBBON_35:
- case MON_DATA_SINNOH_RIBBON_36:
- case MON_DATA_SINNOH_RIBBON_37:
- case MON_DATA_SINNOH_RIBBON_38:
- case MON_DATA_SINNOH_RIBBON_39:
- case MON_DATA_SINNOH_RIBBON_40:
- case MON_DATA_SINNOH_RIBBON_41:
- case MON_DATA_SINNOH_RIBBON_42:
- case MON_DATA_SINNOH_RIBBON_43:
- case MON_DATA_SINNOH_RIBBON_44:
- case MON_DATA_SINNOH_RIBBON_45:
- case MON_DATA_SINNOH_RIBBON_46:
- case MON_DATA_SINNOH_RIBBON_47:
- case MON_DATA_SINNOH_RIBBON_48:
- case MON_DATA_SINNOH_RIBBON_49:
- case MON_DATA_SINNOH_RIBBON_50:
- case MON_DATA_SINNOH_RIBBON_51:
- case MON_DATA_SINNOH_RIBBON_52:
+ case MON_DATA_ABILITY_RIBBON:
+ case MON_DATA_GREAT_ABILITY_RIBBON:
+ case MON_DATA_DOUBLE_ABILITY_RIBBON:
+ case MON_DATA_MULTI_ABILITY_RIBBON:
+ case MON_DATA_PAIR_ABILITY_RIBBON:
+ case MON_DATA_WORLD_ABILITY_RIBBON:
+ case MON_DATA_ALERT_RIBBON:
+ case MON_DATA_SHOCK_RIBBON:
+ case MON_DATA_DOWNCAST_RIBBON:
+ case MON_DATA_CARELESS_RIBBON:
+ case MON_DATA_RELAX_RIBBON:
+ case MON_DATA_SNOOZE_RIBBON:
+ case MON_DATA_SMILE_RIBBON:
+ case MON_DATA_GORGEOUS_RIBBON:
+ case MON_DATA_ROYAL_RIBBON:
+ case MON_DATA_GORGEOUS_ROYAL_RIBBON:
+ case MON_DATA_FOOTPRINT_RIBBON:
+ case MON_DATA_RECORD_RIBBON:
+ case MON_DATA_HISTORY_RIBBON:
+ case MON_DATA_LEGEND_RIBBON:
+ case MON_DATA_RED_RIBBON:
+ case MON_DATA_GREEN_RIBBON:
+ case MON_DATA_BLUE_RIBBON:
+ case MON_DATA_FESTIVAL_RIBBON:
+ case MON_DATA_CARNIVAL_RIBBON:
+ case MON_DATA_CLASSIC_RIBBON:
+ case MON_DATA_PREMIER_RIBBON:
case MON_DATA_SINNOH_RIBBON_53:
case MON_DATA_MOVE1:
case MON_DATA_MOVE2:
@@ -1664,38 +1664,38 @@ void AddBoxMonData(struct BoxPokemon * boxmon, int attr, int value)
case MON_DATA_MOVE4:
case MON_DATA_IS_EGG:
case MON_DATA_HAS_NICKNAME:
- case MON_DATA_COOL_RIBBON:
- case MON_DATA_HOENN_RIBBON_79:
- case MON_DATA_HOENN_RIBBON_80:
- case MON_DATA_HOENN_RIBBON_81:
- case MON_DATA_HOENN_RIBBON_82:
- case MON_DATA_HOENN_RIBBON_83:
- case MON_DATA_HOENN_RIBBON_84:
- case MON_DATA_HOENN_RIBBON_85:
- case MON_DATA_HOENN_RIBBON_86:
- case MON_DATA_HOENN_RIBBON_87:
- case MON_DATA_HOENN_RIBBON_88:
- case MON_DATA_HOENN_RIBBON_89:
- case MON_DATA_HOENN_RIBBON_90:
- case MON_DATA_HOENN_RIBBON_91:
- case MON_DATA_HOENN_RIBBON_92:
- case MON_DATA_HOENN_RIBBON_93:
- case MON_DATA_HOENN_RIBBON_94:
- case MON_DATA_HOENN_RIBBON_95:
- case MON_DATA_HOENN_RIBBON_96:
- case MON_DATA_HOENN_RIBBON_97:
- case MON_DATA_HOENN_RIBBON_98:
- case MON_DATA_HOENN_RIBBON_99:
- case MON_DATA_HOENN_RIBBON_100:
- case MON_DATA_HOENN_RIBBON_101:
- case MON_DATA_HOENN_RIBBON_102:
- case MON_DATA_HOENN_RIBBON_103:
- case MON_DATA_HOENN_RIBBON_104:
- case MON_DATA_HOENN_RIBBON_105:
- case MON_DATA_HOENN_RIBBON_106:
- case MON_DATA_HOENN_RIBBON_107:
- case MON_DATA_HOENN_RIBBON_108:
- case MON_DATA_HOENN_RIBBON_109:
+ case MON_DATA_HOENN_COOL_RIBBON:
+ case MON_DATA_HOENN_COOL_RIBBON_SUPER:
+ case MON_DATA_HOENN_COOL_RIBBON_HYPER:
+ case MON_DATA_HOENN_COOL_RIBBON_MASTER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_SUPER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_HYPER:
+ case MON_DATA_HOENN_BEAUTY_RIBBON_MASTER:
+ case MON_DATA_HOENN_CUTE_RIBBON:
+ case MON_DATA_HOENN_CUTE_RIBBON_SUPER:
+ case MON_DATA_HOENN_CUTE_RIBBON_HYPER:
+ case MON_DATA_HOENN_CUTE_RIBBON_MASTER:
+ case MON_DATA_HOENN_SMART_RIBBON:
+ case MON_DATA_HOENN_SMART_RIBBON_SUPER:
+ case MON_DATA_HOENN_SMART_RIBBON_HYPER:
+ case MON_DATA_HOENN_SMART_RIBBON_MASTER:
+ case MON_DATA_HOENN_TOUGH_RIBBON:
+ case MON_DATA_HOENN_TOUGH_RIBBON_SUPER:
+ case MON_DATA_HOENN_TOUGH_RIBBON_HYPER:
+ case MON_DATA_HOENN_TOUGH_RIBBON_MASTER:
+ case MON_DATA_HOENN_CHAMPION_RIBBON:
+ case MON_DATA_HOENN_WINNING_RIBBON:
+ case MON_DATA_HOENN_VICTORY_RIBBON:
+ case MON_DATA_HOENN_ARTIST_RIBBON:
+ case MON_DATA_HOENN_EFFORT_RIBBON:
+ case MON_DATA_HOENN_MARINE_RIBBON:
+ case MON_DATA_HOENN_LAND_RIBBON:
+ case MON_DATA_HOENN_SKY_RIBBON:
+ case MON_DATA_HOENN_COUNTRY_RIBBON:
+ case MON_DATA_HOENN_NATIONAL_RIBBON:
+ case MON_DATA_HOENN_EARTH_RIBBON:
+ case MON_DATA_HOENN_WORLD_RIBBON:
case MON_DATA_FATEFUL_ENCOUNTER:
case MON_DATA_GENDER:
case MON_DATA_FORME:
@@ -1708,26 +1708,26 @@ void AddBoxMonData(struct BoxPokemon * boxmon, int attr, int value)
case MON_DATA_NICKNAME_4:
case MON_DATA_UNK_120:
case MON_DATA_GAME_VERSION:
- case MON_DATA_SINNOH_RIBBON_122:
- case MON_DATA_SINNOH_RIBBON_123:
- case MON_DATA_SINNOH_RIBBON_124:
- case MON_DATA_SINNOH_RIBBON_125:
- case MON_DATA_SINNOH_RIBBON_126:
- case MON_DATA_SINNOH_RIBBON_127:
- case MON_DATA_SINNOH_RIBBON_128:
- case MON_DATA_SINNOH_RIBBON_129:
- case MON_DATA_SINNOH_RIBBON_130:
- case MON_DATA_SINNOH_RIBBON_131:
- case MON_DATA_SINNOH_RIBBON_132:
- case MON_DATA_SINNOH_RIBBON_133:
- case MON_DATA_SINNOH_RIBBON_134:
- case MON_DATA_SINNOH_RIBBON_135:
- case MON_DATA_SINNOH_RIBBON_136:
- case MON_DATA_SINNOH_RIBBON_137:
- case MON_DATA_SINNOH_RIBBON_138:
- case MON_DATA_SINNOH_RIBBON_139:
- case MON_DATA_SINNOH_RIBBON_140:
- case MON_DATA_SINNOH_RIBBON_141:
+ case MON_DATA_COOL_RIBBON:
+ case MON_DATA_COOL_RIBBON_GREAT:
+ case MON_DATA_COOL_RIBBON_ULTRA:
+ case MON_DATA_COOL_RIBBON_MASTER:
+ case MON_DATA_BEAUTY_RIBBON:
+ case MON_DATA_BEAUTY_RIBBON_GREAT:
+ case MON_DATA_BEAUTY_RIBBON_ULTRA:
+ case MON_DATA_BEAUTY_RIBBON_MASTER:
+ case MON_DATA_CUTE_RIBBON:
+ case MON_DATA_CUTE_RIBBON_GREAT:
+ case MON_DATA_CUTE_RIBBON_ULTRA:
+ case MON_DATA_CUTE_RIBBON_MASTER:
+ case MON_DATA_SMART_RIBBON:
+ case MON_DATA_SMART_RIBBON_GREAT:
+ case MON_DATA_SMART_RIBBON_ULTRA:
+ case MON_DATA_SMART_RIBBON_MASTER:
+ case MON_DATA_TOUGH_RIBBON:
+ case MON_DATA_TOUGH_RIBBON_GREAT:
+ case MON_DATA_TOUGH_RIBBON_ULTRA:
+ case MON_DATA_TOUGH_RIBBON_MASTER:
case MON_DATA_SINNOH_RIBBON_142:
case MON_DATA_OT_NAME:
case MON_DATA_OT_NAME_2:
diff --git a/arm9/src/unk_0207FC5C.c b/arm9/src/unk_0207FC5C.c
new file mode 100644
index 00000000..1f001de1
--- /dev/null
+++ b/arm9/src/unk_0207FC5C.c
@@ -0,0 +1,533 @@
+#include "global.h"
+#include "unk_0207FC5C.h"
+#include "constants/pokemon.h"
+
+#pragma thumb on
+
+struct UnkStruct_020FB788
+{
+ u32 monDataId;
+ u16 gfxId;
+ u16 palId;
+ u16 nameIdx;
+ u16 descIdx;
+};
+
+const struct UnkStruct_020FB788 UNK_020FB788[] = {
+ {
+ MON_DATA_HOENN_CHAMPION_RIBBON,
+ 72,
+ 0,
+ RIBBON_HOENN_CHAMPION,
+ 80
+ }, {
+ MON_DATA_HOENN_COOL_RIBBON,
+ 73,
+ 0,
+ RIBBON_HOENN_COOL,
+ 81
+ }, {
+ MON_DATA_HOENN_COOL_RIBBON_SUPER,
+ 74,
+ 0,
+ RIBBON_HOENN_COOL_SUPER,
+ 82
+ }, {
+ MON_DATA_HOENN_COOL_RIBBON_HYPER,
+ 75,
+ 0,
+ RIBBON_HOENN_COOL_HYPER,
+ 83
+ }, {
+ MON_DATA_HOENN_COOL_RIBBON_MASTER,
+ 76,
+ 0,
+ RIBBON_HOENN_COOL_MASTER,
+ 84
+ }, {
+ MON_DATA_HOENN_BEAUTY_RIBBON,
+ 73,
+ 1,
+ RIBBON_HOENN_BEAUTY,
+ 85
+ }, {
+ MON_DATA_HOENN_BEAUTY_RIBBON_SUPER,
+ 74,
+ 1,
+ RIBBON_HOENN_BEAUTY_SUPER,
+ 86
+ }, {
+ MON_DATA_HOENN_BEAUTY_RIBBON_HYPER,
+ 75,
+ 1,
+ RIBBON_HOENN_BEAUTY_HYPER,
+ 87
+ }, {
+ MON_DATA_HOENN_BEAUTY_RIBBON_MASTER,
+ 76,
+ 1,
+ RIBBON_HOENN_BEAUTY_MASTER,
+ 88
+ }, {
+ MON_DATA_HOENN_CUTE_RIBBON,
+ 73,
+ 2,
+ RIBBON_HOENN_CUTE,
+ 89
+ }, {
+ MON_DATA_HOENN_CUTE_RIBBON_SUPER,
+ 74,
+ 2,
+ RIBBON_HOENN_CUTE_SUPER,
+ 90
+ }, {
+ MON_DATA_HOENN_CUTE_RIBBON_HYPER,
+ 75,
+ 2,
+ RIBBON_HOENN_CUTE_HYPER,
+ 91
+ }, {
+ MON_DATA_HOENN_CUTE_RIBBON_MASTER,
+ 76,
+ 2,
+ RIBBON_HOENN_CUTE_MASTER,
+ 92
+ }, {
+ MON_DATA_HOENN_SMART_RIBBON,
+ 73,
+ 3,
+ RIBBON_HOENN_SMART,
+ 93
+ }, {
+ MON_DATA_HOENN_SMART_RIBBON_SUPER,
+ 74,
+ 3,
+ RIBBON_HOENN_SMART_SUPER,
+ 94
+ }, {
+ MON_DATA_HOENN_SMART_RIBBON_HYPER,
+ 75,
+ 3,
+ RIBBON_HOENN_SMART_HYPER,
+ 95
+ }, {
+ MON_DATA_HOENN_SMART_RIBBON_MASTER,
+ 76,
+ 3,
+ RIBBON_HOENN_SMART_MASTER,
+ 96
+ }, {
+ MON_DATA_HOENN_TOUGH_RIBBON,
+ 73,
+ 4,
+ RIBBON_HOENN_TOUGH,
+ 97
+ }, {
+ MON_DATA_HOENN_TOUGH_RIBBON_SUPER,
+ 74,
+ 4,
+ RIBBON_HOENN_TOUGH_SUPER,
+ 98
+ }, {
+ MON_DATA_HOENN_TOUGH_RIBBON_HYPER,
+ 75,
+ 4,
+ RIBBON_HOENN_TOUGH_HYPER,
+ 99
+ }, {
+ MON_DATA_HOENN_TOUGH_RIBBON_MASTER,
+ 76,
+ 4,
+ RIBBON_HOENN_TOUGH_MASTER,
+ 100
+ }, {
+ MON_DATA_HOENN_WINNING_RIBBON,
+ 78,
+ 0,
+ RIBBON_HOENN_WINNING,
+ 101
+ }, {
+ MON_DATA_HOENN_VICTORY_RIBBON,
+ 77,
+ 0,
+ RIBBON_HOENN_VICTORY,
+ 102
+ }, {
+ MON_DATA_HOENN_ARTIST_RIBBON,
+ 79,
+ 1,
+ RIBBON_HOENN_ARTIST,
+ 103
+ }, {
+ MON_DATA_HOENN_EFFORT_RIBBON,
+ 80,
+ 2,
+ RIBBON_HOENN_EFFORT,
+ 104
+ }, {
+ MON_DATA_HOENN_MARINE_RIBBON,
+ 81,
+ 1,
+ RIBBON_HOENN_MARINE,
+ 0 | 0x8000
+ }, {
+ MON_DATA_HOENN_LAND_RIBBON,
+ 81,
+ 3,
+ RIBBON_HOENN_LAND,
+ 1 | 0x8000
+ }, {
+ MON_DATA_HOENN_SKY_RIBBON,
+ 81,
+ 4,
+ RIBBON_HOENN_SKY,
+ 2 | 0x8000
+ }, {
+ MON_DATA_HOENN_COUNTRY_RIBBON,
+ 82,
+ 3,
+ RIBBON_HOENN_COUNTRY,
+ 178
+ }, {
+ MON_DATA_HOENN_NATIONAL_RIBBON,
+ 82,
+ 4,
+ RIBBON_HOENN_NATIONAL,
+ 190
+ }, {
+ MON_DATA_HOENN_EARTH_RIBBON,
+ 83,
+ 0,
+ RIBBON_HOENN_EARTH,
+ 191
+ }, {
+ MON_DATA_HOENN_WORLD_RIBBON,
+ 83,
+ 1,
+ RIBBON_HOENN_WORLD,
+ 178
+ }, {
+ MON_DATA_SINNOH_CHAMP_RIBBON,
+ 88,
+ 0,
+ RIBBON_SINNOH_CHAMP,
+ 105
+ }, {
+ MON_DATA_COOL_RIBBON,
+ 89,
+ 0,
+ RIBBON_COOL,
+ 106
+ }, {
+ MON_DATA_COOL_RIBBON_GREAT,
+ 90,
+ 0,
+ RIBBON_COOL_GREAT,
+ 107
+ }, {
+ MON_DATA_COOL_RIBBON_ULTRA,
+ 91,
+ 0,
+ RIBBON_COOL_ULTRA,
+ 108
+ }, {
+ MON_DATA_COOL_RIBBON_MASTER,
+ 92,
+ 0,
+ RIBBON_COOL_MASTER,
+ 109
+ }, {
+ MON_DATA_BEAUTY_RIBBON,
+ 89,
+ 1,
+ RIBBON_BEAUTY,
+ 110
+ }, {
+ MON_DATA_BEAUTY_RIBBON_GREAT,
+ 90,
+ 1,
+ RIBBON_BEAUTY_GREAT,
+ 111
+ }, {
+ MON_DATA_BEAUTY_RIBBON_ULTRA,
+ 91,
+ 1,
+ RIBBON_BEAUTY_ULTRA,
+ 112
+ }, {
+ MON_DATA_BEAUTY_RIBBON_MASTER,
+ 92,
+ 1,
+ RIBBON_BEAUTY_MASTER,
+ 113
+ }, {
+ MON_DATA_CUTE_RIBBON,
+ 89,
+ 2,
+ RIBBON_CUTE,
+ 114
+ }, {
+ MON_DATA_CUTE_RIBBON_GREAT,
+ 90,
+ 2,
+ RIBBON_CUTE_GREAT,
+ 115
+ }, {
+ MON_DATA_CUTE_RIBBON_ULTRA,
+ 91,
+ 2,
+ RIBBON_CUTE_ULTRA,
+ 116
+ }, {
+ MON_DATA_CUTE_RIBBON_MASTER,
+ 92,
+ 2,
+ RIBBON_CUTE_MASTER,
+ 117
+ }, {
+ MON_DATA_SMART_RIBBON,
+ 89,
+ 3,
+ RIBBON_SMART,
+ 118
+ }, {
+ MON_DATA_SMART_RIBBON_GREAT,
+ 90,
+ 3,
+ RIBBON_SMART_GREAT,
+ 119
+ }, {
+ MON_DATA_SMART_RIBBON_ULTRA,
+ 91,
+ 3,
+ RIBBON_SMART_ULTRA,
+ 120
+ }, {
+ MON_DATA_SMART_RIBBON_MASTER,
+ 92,
+ 3,
+ RIBBON_SMART_MASTER,
+ 121
+ }, {
+ MON_DATA_TOUGH_RIBBON,
+ 89,
+ 4,
+ RIBBON_TOUGH,
+ 122
+ }, {
+ MON_DATA_TOUGH_RIBBON_GREAT,
+ 90,
+ 4,
+ RIBBON_TOUGH_GREAT,
+ 123
+ }, {
+ MON_DATA_TOUGH_RIBBON_ULTRA,
+ 91,
+ 4,
+ RIBBON_TOUGH_ULTRA,
+ 124
+ }, {
+ MON_DATA_TOUGH_RIBBON_MASTER,
+ 92,
+ 4,
+ RIBBON_TOUGH_MASTER,
+ 125
+ }, {
+ MON_DATA_ABILITY_RIBBON,
+ 93,
+ 0,
+ RIBBON_ABILITY,
+ 126
+ }, {
+ MON_DATA_GREAT_ABILITY_RIBBON,
+ 94,
+ 0,
+ RIBBON_GREAT_ABILITY,
+ 127
+ }, {
+ MON_DATA_DOUBLE_ABILITY_RIBBON,
+ 95,
+ 0,
+ RIBBON_DOUBLE_ABILITY,
+ 128
+ }, {
+ MON_DATA_MULTI_ABILITY_RIBBON,
+ 96,
+ 0,
+ RIBBON_MULTI_ABILITY,
+ 129
+ }, {
+ MON_DATA_PAIR_ABILITY_RIBBON,
+ 97,
+ 0,
+ RIBBON_PAIR_ABILITY,
+ 130
+ }, {
+ MON_DATA_WORLD_ABILITY_RIBBON,
+ 98,
+ 0,
+ RIBBON_WORLD_ABILITY,
+ 131
+ }, {
+ MON_DATA_ALERT_RIBBON,
+ 99,
+ 2,
+ RIBBON_ALERT,
+ 132
+ }, {
+ MON_DATA_SHOCK_RIBBON,
+ 100,
+ 0,
+ RIBBON_SHOCK,
+ 133
+ }, {
+ MON_DATA_DOWNCAST_RIBBON,
+ 101,
+ 1,
+ RIBBON_DOWNCAST,
+ 134
+ }, {
+ MON_DATA_CARELESS_RIBBON,
+ 102,
+ 2,
+ RIBBON_CARELESS,
+ 135
+ }, {
+ MON_DATA_RELAX_RIBBON,
+ 103,
+ 3,
+ RIBBON_RELAX,
+ 136
+ }, {
+ MON_DATA_SNOOZE_RIBBON,
+ 104,
+ 0,
+ RIBBON_SNOOZE,
+ 137
+ }, {
+ MON_DATA_SMILE_RIBBON,
+ 105,
+ 2,
+ RIBBON_SMILE,
+ 138
+ }, {
+ MON_DATA_GORGEOUS_RIBBON,
+ 106,
+ 1,
+ RIBBON_GORGEOUS,
+ 139
+ }, {
+ MON_DATA_ROYAL_RIBBON,
+ 107,
+ 3,
+ RIBBON_ROYAL,
+ 140
+ }, {
+ MON_DATA_GORGEOUS_ROYAL_RIBBON,
+ 108,
+ 0,
+ RIBBON_GORGEOUS_ROYAL,
+ 141
+ }, {
+ MON_DATA_FOOTPRINT_RIBBON,
+ 109,
+ 0,
+ RIBBON_FOOTPRINT,
+ 142
+ }, {
+ MON_DATA_RECORD_RIBBON,
+ 110,
+ 1,
+ RIBBON_RECORD,
+ 143
+ }, {
+ MON_DATA_HISTORY_RIBBON,
+ 111,
+ 3,
+ RIBBON_HISTORY,
+ 144
+ }, {
+ MON_DATA_LEGEND_RIBBON,
+ 112,
+ 0,
+ RIBBON_LEGEND,
+ 145
+ }, {
+ MON_DATA_RED_RIBBON,
+ 113,
+ 0,
+ RIBBON_RED,
+ 7 | 0x8000
+ }, {
+ MON_DATA_GREEN_RIBBON,
+ 114,
+ 3,
+ RIBBON_GREEN,
+ 8 | 0x8000
+ }, {
+ MON_DATA_BLUE_RIBBON,
+ 115,
+ 1,
+ RIBBON_BLUE,
+ 9 | 0x8000
+ }, {
+ MON_DATA_FESTIVAL_RIBBON,
+ 116,
+ 1,
+ RIBBON_FESTIVAL,
+ 10 | 0x8000
+ }, {
+ MON_DATA_CARNIVAL_RIBBON,
+ 117,
+ 0,
+ RIBBON_CARNIVAL,
+ 11 | 0x8000
+ }, {
+ MON_DATA_CLASSIC_RIBBON,
+ 118,
+ 1,
+ RIBBON_CLASSIC,
+ 12 | 0x8000
+ }, {
+ MON_DATA_PREMIER_RIBBON,
+ 119,
+ 0,
+ RIBBON_PREMIER,
+ 13 | 0x8000
+ }
+};
+
+u32 FUN_0207FC5C(u8 a0, u32 a1)
+{
+ switch (a1)
+ {
+ case 0:
+ return UNK_020FB788[a0].monDataId;
+ case 1:
+ return UNK_020FB788[a0].gfxId;
+ case 2:
+ return UNK_020FB788[a0].palId;
+ case 3:
+ return UNK_020FB788[a0].nameIdx;
+ case 4:
+ return UNK_020FB788[a0].descIdx;
+ default:
+ return 0;
+ }
+}
+
+int FUN_0207FCC0(u8 * a0, u32 a1)
+{
+ int ret = (int)UNK_020FB788[a1].descIdx;
+ if (ret & 0x8000)
+ ret = a0[(u8)ret] + 0x92;
+ return ret;
+}
+
+u8 FUN_0207FCE0(u32 a0)
+{
+ int ret = (int)UNK_020FB788[a0].descIdx;
+ if (ret & 0x8000)
+ return (u8)ret;
+ return 0xFF;
+}