Registrarse

[Dis - Código] Pokemons no corresponden a entrenador

Estado
Cerrado para nuevas respuestas.

Mihawk

Usuario de platino
Buenas, llevo poco tiempo con decomp, (pokefirered en mi caso) y estoy teniendo un problemilla que no se muy bien por donde agarrarlo.
Estoy editando los pokemon que tienen cada entrenador del juego base ya que estoy trasteando un poco con la rom en si para ver como es trabajar con ella, el caso es que no he tenido problema hasta ahora que modifiqué el equipo del rival en la pelea del SSAnne ya que le puse una serie de pokemons pero luego in game testeandolo no tiene los pokemons que yo le puse, me pone pokemons random, a veces sale el missigno, krabby, houndoum, etc..

Es como si tuviese una referencia a una direccion de memoria equivocada o algo así, pero no encuentro muy bien la forma de como lidiar con ello.. el codigo del entrenador es este:

trainer_parties.h
Código:
static const struct TrainerMonNoItemCustomMoves sParty_RivalSsAnneSquirtle[] = {
    {
        .iv = 250,
        .lvl = 26,
        .species = SPECIES_PIDGEOTTO,
        .moves = {MOVE_SKY_ATTACK, MOVE_STEEL_WING, MOVE_PURSUIT, MOVE_QUICK_ATTACK},
    },
    {
        .iv = 250,
        .lvl = 27,
        .species = SPECIES_KADABRA,
        .moves = {MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_SHADOW_BALL},
    },
    {
        .iv = 250,
        .lvl = 28,
        .species = SPECIES_UMBREON,
        .moves = {MOVE_TOXIC, MOVE_WISH, MOVE_PURSUIT, MOVE_TAUNT},
    },
    {
        .iv = 250,
        .lvl = 28,
        .species = SPECIES_ARCANINE,
        .moves = {MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_HIDDEN_POWER, MOVE_MORNING_SUN},
    },
    {
        .iv = 250,
        .lvl = 30,
        .species = SPECIES_SKARMORY,
        .moves = {MOVE_TOXIC, MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_TAUNT},
    },
    {
        .iv = 250,
        .lvl = 30,
        .species = SPECIES_WARTORTLE,
        .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_REST, MOVE_SLEEP_TALK},
    },
};
trainers.h
Código:
[TRAINER_RIVAL_SS_ANNE_SQUIRTLE] = {
        .partyFlags = 0,
        .trainerClass = TRAINER_CLASS_RIVAL_LATE,
        .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
        .trainerPic = TRAINER_PIC_RIVAL_LATE,
        .trainerName = _("TERRY"),
        .items = {},
        .doubleBattle = FALSE,
        .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
        .partySize = NELEMS(sParty_RivalSsAnneSquirtle),
        .party = {.NoItemCustomMoves = sParty_RivalSsAnneSquirtle}
    },
Si alguien sabe que podría ser o si le ha pasado algo parecido me vendría genial saber como poder tratar con este error.

Gracias!
 

Lunos

Enfrentando a La Organización
Miembro insignia
Buenas, llevo poco tiempo con decomp, (pokefirered en mi caso) y estoy teniendo un problemilla que no se muy bien por donde agarrarlo.
Estoy editando los pokemon que tienen cada entrenador del juego base ya que estoy trasteando un poco con la rom en si para ver como es trabajar con ella, el caso es que no he tenido problema hasta ahora que modifiqué el equipo del rival en la pelea del SSAnne ya que le puse una serie de pokemons pero luego in game testeandolo no tiene los pokemons que yo le puse, me pone pokemons random, a veces sale el missigno, krabby, houndoum, etc..

Es como si tuviese una referencia a una direccion de memoria equivocada o algo así, pero no encuentro muy bien la forma de como lidiar con ello.. el codigo del entrenador es este:

trainer_parties.h
Código:
static const struct TrainerMonNoItemCustomMoves sParty_RivalSsAnneSquirtle[] = {
    {
        .iv = 250,
        .lvl = 26,
        .species = SPECIES_PIDGEOTTO,
        .moves = {MOVE_SKY_ATTACK, MOVE_STEEL_WING, MOVE_PURSUIT, MOVE_QUICK_ATTACK},
    },
    {
        .iv = 250,
        .lvl = 27,
        .species = SPECIES_KADABRA,
        .moves = {MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_SHADOW_BALL},
    },
    {
        .iv = 250,
        .lvl = 28,
        .species = SPECIES_UMBREON,
        .moves = {MOVE_TOXIC, MOVE_WISH, MOVE_PURSUIT, MOVE_TAUNT},
    },
    {
        .iv = 250,
        .lvl = 28,
        .species = SPECIES_ARCANINE,
        .moves = {MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_HIDDEN_POWER, MOVE_MORNING_SUN},
    },
    {
        .iv = 250,
        .lvl = 30,
        .species = SPECIES_SKARMORY,
        .moves = {MOVE_TOXIC, MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_TAUNT},
    },
    {
        .iv = 250,
        .lvl = 30,
        .species = SPECIES_WARTORTLE,
        .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_REST, MOVE_SLEEP_TALK},
    },
};
trainers.h
Código:
[TRAINER_RIVAL_SS_ANNE_SQUIRTLE] = {
        .partyFlags = 0,
        .trainerClass = TRAINER_CLASS_RIVAL_LATE,
        .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
        .trainerPic = TRAINER_PIC_RIVAL_LATE,
        .trainerName = _("TERRY"),
        .items = {},
        .doubleBattle = FALSE,
        .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
        .partySize = NELEMS(sParty_RivalSsAnneSquirtle),
        .party = {.NoItemCustomMoves = sParty_RivalSsAnneSquirtle}
    },
Si alguien sabe que podría ser o si le ha pasado algo parecido me vendría genial saber como poder tratar con este error.

Gracias!
Olvidaste ajustar el campo .partyFlags.
Usar el tipo de .party "NoItemCustomMoves" requiere usar la flag F_TRAINER_PARTY_CUSTOM_MOVESET.
 
Estado
Cerrado para nuevas respuestas.
Arriba