Hola de nuevo! Estoy intentando implementar en mi proyecto la posibilidad de usar las HMs sin necesidad de conocerlas. Por el momento lo he conseguido, pero tengo dificultades con lo siguiente: la mayoría de HMs tienen un EventScript particular que busca el movimiento que se quiera, incluido el movimiento Surf. El problema que tengo es que este no solo viene definido por su EventScript, sino por una función que es PartyHasMonWithSurf, que a su vez depende de MonKnowsMove. Se me ha ocurrido una nueva función para sustituir a MonKnowsMove, que ha quedado así (perdonad por los más que posibles errores, mis habilidades son nulas):
El problema que tengo ahora es que cualquier Pokémon puede hacer Surf. Agradezco de antemano cualquier ayuda.
bool8 MonCanLearnMove(struct Pokemon *mon, u16 move)
{
u8 i;
u16 species = GetMonData(mon, MON_DATA_SPECIES);
for (i = 0; i < MAX_LEVEL_UP_MOVES; i++)
{
if (gLevelUpLearnsets[species].move == LEVEL_UP_END)
break;
if (move == gLevelUpLearnsets[species].move)
return TRUE;
}
for (i = 0; i < (NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES); i++)
{
if (move == ItemIdToBattleMoveId(ITEM_TM01 + i))
return TRUE;
}
return FALSE;
}
{
u8 i;
u16 species = GetMonData(mon, MON_DATA_SPECIES);
for (i = 0; i < MAX_LEVEL_UP_MOVES; i++)
{
if (gLevelUpLearnsets[species].move == LEVEL_UP_END)
break;
if (move == gLevelUpLearnsets[species].move)
return TRUE;
}
for (i = 0; i < (NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES); i++)
{
if (move == ItemIdToBattleMoveId(ITEM_TM01 + i))
return TRUE;
}
return FALSE;
}
El problema que tengo ahora es que cualquier Pokémon puede hacer Surf. Agradezco de antemano cualquier ayuda.