Add PLA evo items

This commit is contained in:
aaghaht 2023-04-10 10:47:31 +05:30
parent 5c1efe9419
commit bd54c70020
16 changed files with 167 additions and 14 deletions

View file

@ -0,0 +1,19 @@
JASC-PAL
0100
16
120 192 168
0 0 0
111 108 124
58 48 49
206 206 214
151 149 160
142 93 117
89 62 76
255 255 255
111 109 124
194 192 202
88 62 76
80 74 88
0 0 0
0 0 0
0 0 0

View file

@ -0,0 +1,19 @@
JASC-PAL
0100
16
128 192 168
87 87 88
155 158 156
117 114 116
0 0 0
36 37 42
62 66 68
56 57 61
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0

View file

@ -0,0 +1,19 @@
JASC-PAL
0100
16
128 198 168
32 32 32
230 217 213
199 189 184
156 135 143
102 83 83
143 118 130
65 56 56
179 162 151
117 100 100
210 183 192
180 158 167
0 0 0
0 0 0
0 0 0
0 0 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

View file

@ -969,7 +969,11 @@
#define ITEM_GRISEOUS_CORE 793
#define ITEM_LUSTROUS_GLOBE 794
#define ITEMS_COUNT 795
#define ITEM_BLACK_AUGURITE 795
#define ITEM_LINKING_CORD 796
#define ITEM_PEAT_BLOCK 797
#define ITEMS_COUNT 798
#define ITEM_FIELD_ARROW ITEMS_COUNT
// A special item id associated with "Cancel"/"Exit" etc. in a list of items or decorations

View file

@ -310,6 +310,7 @@
#define EVO_SCRIPT_TRIGGER_DMG 36 // Pokémon has specified HP below max, then player interacts trigger
#define EVO_DARK_SCROLL 37 // interacts with Scroll of Darkness
#define EVO_WATER_SCROLL 38 // interacts with Scroll of Waters
#define EVO_ITEM_NIGHT 39 // specified item is used on Pokémon at night
#define EVOS_PER_MON 10

View file

@ -7997,6 +7997,12 @@ extern const u32 gItemIcon_RibbonSweet[];
extern const u32 gItemIconPalette_RibbonSweet[];
extern const u32 gItemIcon_Everstone[];
extern const u32 gItemIconPalette_Everstone[];
extern const u32 gItemIcon_BlackAugurite[];
extern const u32 gItemIconPalette_BlackAugurite[];
extern const u32 gItemIcon_LinkingCord[];
extern const u32 gItemIconPalette_LinkingCord[];
extern const u32 gItemIcon_PeatBlock[];
extern const u32 gItemIconPalette_PeatBlock[];
// Nectars
extern const u32 gItemIcon_RedNectar[];
extern const u32 gItemIconPalette_RedNectar[];

View file

@ -645,6 +645,15 @@ const u32 gItemIconPalette_RibbonSweet[] = INCBIN_U32("graphics/items/icon_palet
const u32 gItemIcon_Everstone[] = INCBIN_U32("graphics/items/icons/everstone.4bpp.lz");
const u32 gItemIconPalette_Everstone[] = INCBIN_U32("graphics/items/icon_palettes/everstone.gbapal.lz");
const u32 gItemIcon_BlackAugurite[] = INCBIN_U32("graphics/items/icons/black_augurite.4bpp.lz");
const u32 gItemIconPalette_BlackAugurite[] = INCBIN_U32("graphics/items/icon_palettes/black_augurite.gbapal.lz");
const u32 gItemIcon_LinkingCord[] = INCBIN_U32("graphics/items/icons/linking_cord.4bpp.lz");
const u32 gItemIconPalette_LinkingCord[] = INCBIN_U32("graphics/items/icon_palettes/linking_cord.gbapal.lz");
const u32 gItemIcon_PeatBlock[] = INCBIN_U32("graphics/items/icons/peat_block.4bpp.lz");
const u32 gItemIconPalette_PeatBlock[] = INCBIN_U32("graphics/items/icon_palettes/peat_block.gbapal.lz");
// Nectars
const u32 gItemIcon_RedNectar[] = INCBIN_U32("graphics/items/icons/red_nectar.4bpp.lz");

View file

@ -840,6 +840,9 @@ const u32 *const gItemIconTable[ITEMS_COUNT + 1][2] =
[ITEM_ADAMANT_CRYSTAL] = {gItemIcon_AdamantCrystal, gItemIconPalette_AdamantCrystal},
[ITEM_GRISEOUS_CORE] = {gItemIcon_GriseousCore, gItemIconPalette_GriseousCore},
[ITEM_LUSTROUS_GLOBE] = {gItemIcon_LustrousGlobe, gItemIconPalette_LustrousGlobe},
[ITEM_BLACK_AUGURITE] = {gItemIcon_BlackAugurite, gItemIconPalette_BlackAugurite},
[ITEM_LINKING_CORD] = {gItemIcon_LinkingCord, gItemIconPalette_LinkingCord},
[ITEM_PEAT_BLOCK] = {gItemIcon_PeatBlock, gItemIconPalette_PeatBlock},
// Return to field arrow
[ITEMS_COUNT] = {gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow},
};

View file

@ -10283,4 +10283,40 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
.flingPower = 60,
},
[ITEM_BLACK_AUGURITE] =
{
.name = _("BlackAugurite"),
.itemId = ITEM_BLACK_AUGURITE,
.price = 8000,
.description = sBlackAuguriteDesc,
.pocket = POCKET_ITEMS,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_EvolutionStone,
.flingPower = 30,
},
[ITEM_LINKING_CORD] =
{
.name = _("Linking Cord"),
.itemId = ITEM_LINKING_CORD,
.price = 8000,
.description = sLinkingCordDesc,
.pocket = POCKET_ITEMS,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_EvolutionStone,
.flingPower = 30,
},
[ITEM_PEAT_BLOCK] =
{
.name = _("Peat Block"),
.itemId = ITEM_PEAT_BLOCK,
.price = 10000,
.description = sPeatBlockDesc,
.pocket = POCKET_ITEMS,
.type = ITEM_USE_PARTY_MENU,
.fieldUseFunc = ItemUseOutOfBattle_EvolutionStone,
.flingPower = 30,
},
};

View file

@ -47,15 +47,18 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
[SPECIES_POLIWHIRL] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_POLIWRATH},
{EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_POLITOED}},
[SPECIES_ABRA] = {{EVO_LEVEL, 16, SPECIES_KADABRA}},
[SPECIES_KADABRA] = {{EVO_TRADE, 0, SPECIES_ALAKAZAM}},
[SPECIES_KADABRA] = {{EVO_TRADE, 0, SPECIES_ALAKAZAM},
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_ALAKAZAM}},
[SPECIES_ALAKAZAM] = {{EVO_MEGA_EVOLUTION, ITEM_ALAKAZITE, SPECIES_ALAKAZAM_MEGA}},
[SPECIES_MACHOP] = {{EVO_LEVEL, 28, SPECIES_MACHOKE}},
[SPECIES_MACHOKE] = {{EVO_TRADE, 0, SPECIES_MACHAMP}},
[SPECIES_MACHOKE] = {{EVO_TRADE, 0, SPECIES_MACHAMP},
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_MACHAMP}},
[SPECIES_BELLSPROUT] = {{EVO_LEVEL, 21, SPECIES_WEEPINBELL}},
[SPECIES_WEEPINBELL] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VICTREEBEL}},
[SPECIES_TENTACOOL] = {{EVO_LEVEL, 30, SPECIES_TENTACRUEL}},
[SPECIES_GEODUDE] = {{EVO_LEVEL, 25, SPECIES_GRAVELER}},
[SPECIES_GRAVELER] = {{EVO_TRADE, 0, SPECIES_GOLEM}},
[SPECIES_GRAVELER] = {{EVO_TRADE, 0, SPECIES_GOLEM},
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GOLEM}},
[SPECIES_PONYTA] = {{EVO_LEVEL, 40, SPECIES_RAPIDASH}},
[SPECIES_SLOWPOKE] = {{EVO_LEVEL, 37, SPECIES_SLOWBRO},
{EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}},
@ -70,7 +73,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
[SPECIES_GRIMER] = {{EVO_LEVEL, 38, SPECIES_MUK}},
[SPECIES_SHELLDER] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_CLOYSTER}},
[SPECIES_GASTLY] = {{EVO_LEVEL, 25, SPECIES_HAUNTER}},
[SPECIES_HAUNTER] = {{EVO_TRADE, 0, SPECIES_GENGAR}},
[SPECIES_HAUNTER] = {{EVO_TRADE, 0, SPECIES_GENGAR},
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GENGAR}},
[SPECIES_GENGAR] = {{EVO_MEGA_EVOLUTION, ITEM_GENGARITE, SPECIES_GENGAR_MEGA}},
[SPECIES_ONIX] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX}},
[SPECIES_DROWZEE] = {{EVO_LEVEL, 26, SPECIES_HYPNO}},
@ -97,7 +101,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
[SPECIES_SEADRA] = {{EVO_TRADE_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA}},
[SPECIES_GOLDEEN] = {{EVO_LEVEL, 33, SPECIES_SEAKING}},
[SPECIES_STARYU] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE}},
[SPECIES_SCYTHER] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}},
[SPECIES_SCYTHER] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR},
{EVO_ITEM, ITEM_BLACK_AUGURITE, SPECIES_KLEAVOR}},
#if P_GEN_4_POKEMON == TRUE
[SPECIES_ELECTABUZZ] = {{EVO_TRADE_ITEM, ITEM_ELECTIRIZER, SPECIES_ELECTIVIRE}},
[SPECIES_MAGMAR] = {{EVO_TRADE_ITEM, ITEM_MAGMARIZER, SPECIES_MAGMORTAR}},
@ -364,12 +369,14 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
[SPECIES_TRANQUILL] = {{EVO_LEVEL, 32, SPECIES_UNFEZANT}},
[SPECIES_BLITZLE] = {{EVO_LEVEL, 27, SPECIES_ZEBSTRIKA}},
[SPECIES_ROGGENROLA] = {{EVO_LEVEL, 25, SPECIES_BOLDORE}},
[SPECIES_BOLDORE] = {{EVO_TRADE, 0, SPECIES_GIGALITH}},
[SPECIES_BOLDORE] = {{EVO_TRADE, 0, SPECIES_GIGALITH},
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GIGALITH}},
[SPECIES_WOOBAT] = {{EVO_FRIENDSHIP, 0, SPECIES_SWOOBAT}},
[SPECIES_DRILBUR] = {{EVO_LEVEL, 31, SPECIES_EXCADRILL}},
[SPECIES_AUDINO] = {{EVO_MEGA_EVOLUTION, ITEM_AUDINITE, SPECIES_AUDINO_MEGA}},
[SPECIES_TIMBURR] = {{EVO_LEVEL, 25, SPECIES_GURDURR}},
[SPECIES_GURDURR] = {{EVO_TRADE, 0, SPECIES_CONKELDURR}},
[SPECIES_GURDURR] = {{EVO_TRADE, 0, SPECIES_CONKELDURR},
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_CONKELDURR}},
[SPECIES_TYMPOLE] = {{EVO_LEVEL, 25, SPECIES_PALPITOAD}},
[SPECIES_PALPITOAD] = {{EVO_LEVEL, 36, SPECIES_SEISMITOAD}},
[SPECIES_SEWADDLE] = {{EVO_LEVEL, 20, SPECIES_SWADLOON}},
@ -454,8 +461,10 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
[SPECIES_AMAURA] = {{EVO_LEVEL_NIGHT, 39, SPECIES_AURORUS}},
[SPECIES_GOOMY] = {{EVO_LEVEL, 40, SPECIES_SLIGGOO}},
[SPECIES_SLIGGOO] = {{EVO_LEVEL_RAIN, 50, SPECIES_GOODRA}},
[SPECIES_PHANTUMP] = {{EVO_TRADE, 0, SPECIES_TREVENANT}},
[SPECIES_PUMPKABOO] = {{EVO_TRADE, 0, SPECIES_GOURGEIST}},
[SPECIES_PHANTUMP] = {{EVO_TRADE, 0, SPECIES_TREVENANT},
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_TREVENANT}},
[SPECIES_PUMPKABOO] = {{EVO_TRADE, 0, SPECIES_GOURGEIST},
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GOURGEIST}},
[SPECIES_BERGMITE] = {{EVO_LEVEL, 37, SPECIES_AVALUGG}},
[SPECIES_NOIBAT] = {{EVO_LEVEL, 48, SPECIES_NOIVERN}},
[SPECIES_DIANCIE] = {{EVO_MEGA_EVOLUTION, ITEM_DIANCITE, SPECIES_DIANCIE_MEGA}},
@ -552,7 +561,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
[SPECIES_DIGLETT_ALOLAN] = {{EVO_LEVEL, 26, SPECIES_DUGTRIO_ALOLAN}},
[SPECIES_MEOWTH_ALOLAN] = {{EVO_FRIENDSHIP, 28, SPECIES_PERSIAN_ALOLAN}},
[SPECIES_GEODUDE_ALOLAN] = {{EVO_LEVEL, 25, SPECIES_GRAVELER_ALOLAN}},
[SPECIES_GRAVELER_ALOLAN] = {{EVO_TRADE, 0, SPECIES_GOLEM_ALOLAN}},
[SPECIES_GRAVELER_ALOLAN] = {{EVO_TRADE, 0, SPECIES_GOLEM_ALOLAN},
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GOLEM_ALOLAN}},
[SPECIES_GRIMER_ALOLAN] = {{EVO_LEVEL, 38, SPECIES_MUK_ALOLAN}},
#if P_GEN_8_POKEMON == TRUE
[SPECIES_MEOWTH_GALARIAN] = {{EVO_LEVEL, 28, SPECIES_PERRSERKER}},
@ -593,14 +603,18 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
[SPECIES_FLOETTE_ORANGE_FLOWER] = {{EVO_ITEM, ITEM_SHINY_STONE, SPECIES_FLORGES_ORANGE_FLOWER}},
[SPECIES_FLOETTE_BLUE_FLOWER] = {{EVO_ITEM, ITEM_SHINY_STONE, SPECIES_FLORGES_BLUE_FLOWER}},
[SPECIES_FLOETTE_WHITE_FLOWER] = {{EVO_ITEM, ITEM_SHINY_STONE, SPECIES_FLORGES_WHITE_FLOWER}},
[SPECIES_PUMPKABOO_SMALL] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_SMALL}},
[SPECIES_PUMPKABOO_LARGE] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_LARGE}},
[SPECIES_PUMPKABOO_SUPER] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_SUPER}},
[SPECIES_PUMPKABOO_SMALL] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_SMALL},
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GOURGEIST_SMALL}},
[SPECIES_PUMPKABOO_LARGE] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_LARGE},
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GOURGEIST_LARGE}},
[SPECIES_PUMPKABOO_SUPER] = {{EVO_TRADE, 0, SPECIES_GOURGEIST_SUPER},
{EVO_ITEM, ITEM_LINKING_CORD, SPECIES_GOURGEIST_SUPER}},
#endif
#if P_GEN_7_POKEMON == TRUE
[SPECIES_ROCKRUFF_OWN_TEMPO] = {{EVO_LEVEL_DUSK, 25, SPECIES_LYCANROC_DUSK}},
#endif
#if P_GEN_8_POKEMON == TRUE
[SPECIES_SINISTEA_ANTIQUE] = {{EVO_ITEM, ITEM_CHIPPED_POT, SPECIES_POLTEAGEIST_ANTIQUE}},
[SPECIES_URSARING] = {{EVO_ITEM_NIGHT, ITEM_PEAT_BLOCK, SPECIES_URSALUNA}},
#endif
};

View file

@ -556,6 +556,9 @@ const u8 *const gItemEffectTable[ITEMS_COUNT] =
[ITEM_MALICIOUS_ARMOR] = gItemEffect_EvoItem,
[ITEM_SCROLL_OF_DARKNESS] = gItemEffect_EvoItem,
[ITEM_SCROLL_OF_WATERS] = gItemEffect_EvoItem,
[ITEM_BLACK_AUGURITE] = gItemEffect_EvoItem,
[ITEM_LINKING_CORD] = gItemEffect_EvoItem,
[ITEM_PEAT_BLOCK] = gItemEffect_EvoItem,
// Berries
[ITEM_CHERI_BERRY] = gItemEffect_CheriBerry,

View file

@ -1300,6 +1300,21 @@ static const u8 sEverstoneDesc[] = _(
"item that prevents\n"
"evolution.");
static const u8 sBlackAuguriteDesc[] = _(
"A black stone that\n"
"makes some Pokémon\n"
"evolve.");;
static const u8 sLinkingCordDesc[] = _(
"A mysterious string\n"
"that makes some\n"
"Pokémon evolve.");
static const u8 sPeatBlockDesc[] = _(
"A block of material\n"
"that makes some\n"
"Pokémon evolve.");
// Nectars
static const u8 sRedNectarDesc[] = _(
"Flower nectar that\n"

View file

@ -6812,6 +6812,11 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, s
if (GetMonGender(mon) == MON_MALE && gEvolutionTable[species][i].param == evolutionItem)
targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
case EVO_ITEM_NIGHT:
RtcCalcLocalTime();
if (gLocalTime.hours >= 0 && gLocalTime.hours < 12 && gEvolutionTable[species][i].param == evolutionItem)
targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
}
}
break;