"Evolve"-mechanism for RMMV

BehemothRPG

Villager
Member
Joined
Sep 3, 2016
Messages
20
Reaction score
3
First Language
German
Primarily Uses
Hi folks,


well after several attempts to solve my issue I couldn't find a proper solution.


The idea was to make a Pokémon fangame since I'm really a fan of the anime and game series. I know there are a lot of 'em but since the RPG Maker 2000 was released I wanted to make a pokémon-like game but I never managed it to really finish one of them :/ I wanted to do this a bit for my own and to get a better knowledge of the RPG Maker MV and moreover, I found the idea of making a "more rpg oriented" pokémon game in the original MV style not that bad :) So I planned to get a bit off the original series and implemented a quest system, battles with more than one pokémon and able to obtain more than just four attacks at a time. I took Yanfly's enemy levels so that random encounters always will be in the same level range as the own party. I decided to continue the story of Ash himself after he lost his dear Pikachu and gave up beeing a Pokémon-trainer. Whatever, I already have the story so far but that's not the point here xD


Some features I wanted to keep because they're essential for the pokémon series as for example the possibility to capture pokémons and let them evolve afterwards.


Now I'll come to my actual situation:


I'm using DreamX' Capture Enemies script to, wait for it, capture enemies :) I managed it to reproduce the original capture-rate-algorithm to determine the chance if an enemy will be caught or not. This works fine so far and the script allows to have multiple instances of the same actor as a duplicate. (With an id range from 3000 upwards)


I use Yanfly's Party System to emulate the "storage pc" of the pokémon games which works fine essentially but I noticed that even when removing actors from the current party they still are visible in the main menu which is a bit confusing but that's just an aesthetic issue.


Finally I had the problem how I could set up the evolving-mechanism which is a lot trickier than I tought. I only found HimeWorks Level Event Script which allows it to trigger a common event every time a specific actor gains a level. Unfortunately that event will be triggered every levelup so I have to check the current actor's level with a condition. For initial database actors which start at level 1 this is not a problem. (Set variables to 1 before game starts and run a "count"-variable event for every level)


But how could I do this when a captured enemy starts at a different level which I don't know before? But it will get even worse because I have to deal with several actor instances which id I neither know :/


Let's say this would work fine and every actor, no matter if initially in the database or duplicated, would trigger their proper evolve event. How could I manage to exchange the whole actor and make sure that the "new" actor will got the same level as the old one without knowing the actor id? I already tried it with some "Remove actor" / "Add actor" but I'm not able to grab the current level of an instanced actor into a variable :/


Is there anyone how could give me some advice on how setting up an evolving mechanism?


Regards


BehemothRPG
 
Last edited by a moderator:

GoodSelf

Zhu Li! Do the thing!
Veteran
Joined
Jul 23, 2016
Messages
593
Reaction score
1,115
First Language
English
Primarily Uses
RMMV
Hey there Behemoth, I'm also working on a Pokemon like game using essentially the same mechanics and plugins that you are. The way I've made my evolutions happen is by creating an Item that can be only be held by a specific Pokemon when they have reached a particular level. The item gives them a new skill called "Evolve", that when used from the menu, starts a small evolution cutscene and changes all the necessary information. I'd be more than happy to share my common event with you, but it shouldn't be too hard to create your own Evolving mechanic. As far as how to make it happen when they level up, I'm not too sure - just wanted to put in my 2 cents since we're working on similar games. Best of luck to you, feel free to PM me anytime!
 
Last edited by a moderator:

BehemothRPG

Villager
Member
Joined
Sep 3, 2016
Messages
20
Reaction score
3
First Language
German
Primarily Uses
Hi GoodSelf,


thanks for the fast reply and for sharing your ideas :)  Indeed I never thought about setting up the evolving mechanic in a way that it has to be triggered manually. Even better, I could link that fact with my background story so that Pokémon aren't able anymore to evolve themselves? Well anyway I will give it a try to do it as you suggested above.


By the way I'm just wondering, instead of enabling the Evolve-skill through an item, wouldn't it be easier to simply let the actor learn that skill at the right moment? Or might this be part of your game on purpose? It anyway means that I have to set up a specific evolve skill for every single Pokémon which is able to do so. Nevertheless I'm looking forward to it, thanks man :)


Regards


Behemoth


Edit: Well no I still don't get it :)  Either I choose to change actors via change party member or I could try to simply changes classes but in both cases I only can select the initial actors which are set in the database.


Let's say we want our Bulbasaur to evolve into Ivysaur. When we take the starting Pokémon that we chose at the beginning of the game, there is no particular problem since we simply can say remove id 001 Bulbasaur and add id 002 Ivysaur. We even could create a variable to grab the current level of Bulbasaur to pass it over to Ivysaur.


Now we capture another Bulbasaur in the tall grass which will be duplicated as actor id 3022 and when it reaches level 16 for example, we use the skill to evolve. What happens now? The event mechanic removes id 001 Bulbasaur which isn't part of our party anymore (since it already evolved) and tries to add id 002 Ivysaur which actually is already in our party so practically nothing happened :/


This would mean that, except for getting deep in to the code, I'm just able to capture every Pokémon one single time :S Or did I miss something here?


Further Edit: Ok I've finally found a solution which can be done by Yanfly's Actor transformation tutorial, for everyone with similar problem please don't hesitate to pn me :)
 
Last edited by a moderator:

SyncDemon

Warper
Member
Joined
Jul 28, 2017
Messages
1
Reaction score
1
First Language
English
Primarily Uses
RMMV
Kindof a grave dig here... but to leave no Google search result completely unanswered, heres a starting point for some people to hook into the battle system with code:

Code:
Capture battle events:
$preserved = {};
$preserved.gameSystem = {};

// Captures start of battle....
$preserved.gameSystem.onBattleStart = $gameSystem.onBattleStart;
$preserved.gameSystem.onBattleStart = function(){
    $preserved.onBattleStart();
    alert('I see battling people!');
}

// Captures won battles!
$preserved.gameSystem.onBattleWin = $gameSystem.onBattleWin;
$preserved.gameSystem.onBattleWin = function(){
    $preserved.onBattleStart();
    alert('WINNING!!!!!');
}
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,864
Messages
1,017,056
Members
137,573
Latest member
nikisknight
Top