Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Okay, actually I'm just an executive hired programmer. I was hired to work with your job. She's amazing in many places.
I was able to figure out how to do so to sort out all the monsters and much more .However, how could I do a batch-wide evolution check? I tried two ways, but it didn't work.

(1 edit)

To evolve monsters, you need to take the following steps:

1) Store the player's current position (not necessary, but if you want them to be exactly where they were when you come back after the evolution, you should do this)

with(obj_player){
        global.load_x            = x
        global.load_y            = y
        global.load_room        = room
        global.load_direction    = drawdir
}

2) Put the monster in the evolution queue:

ds_queue_enqueue(global.pending_evolutions_queue,[monamp,species]);

monamp = AMP index of monster to evolve - when you do a batch operation, you should loop over the AMP indexes you want to affect (e.g. entire player's party is from 0 to PARTYSIZE_ACTIVE; party + boxes is from 0 to PARTYSIZE_ACTIVE + PARTYSIZE_BOXED)

species = monster species to evolve into (the global array global.monster_evolution_mon has all the defined evolutions, but you can force a monster to evolve into any other species if you want)


3) Finally, go to the evolution room:

room_goto_fade_dontdestroy(rm_evolution,60);

Thanks, it works.