Cuprite

Previously Golden
Veteran
Joined
Feb 6, 2017
Messages
115
Reaction score
40
First Language
English
Primarily Uses
RMXP
I plan on having a sort of evolution system in my game, and the way I have it planned it that it'll remove the original actor and replace it with a new actor that is the evolved form. The reason I can't just have the second actor have all the skills the original would have once it reaches the appropriate level to evolve is because I also plan on having items that allow you to teach actors skills (That's a whole other system tho so I'm not gonna get too into that rn unless someone asks me to), so I want the evolved form to keep those externally taught skills.
An example of what I mean just so it maybe makes a bit more sense:
A Slime has reached the level it can evolve at and has learned the skill "Shadow", which it cannot learn naturally, via an item at some point. You choose to evolve it into a Slimbow (My pfp). Once the Slime evolves, Slimbow should keep the Slime's naturally learned skills PLUS "Shadow".
Is there a way to do this without plugins (That isn't too tedious)? If not, is there a way to do it with them?

This is what I have atm btw.
1632519995802.png
(I've since added a variable that changes to the Slime's level to change the evo's level to, but that's not exactly relevant here. Lol)
 
Last edited:

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
2,133
Reaction score
1,145
First Language
English
Primarily Uses
RMMV
So there's no need to do it the way you're describing - you could just change the actor image and class, there's no need to change the actor. As it is now, you must be making a new actor and class for each evolution, so you only need to do half of that work.

But if you want to do it this way, put this in a Script box (event commands, third tab, bottom right):
Code:
for (var i=0; i<$gameActors.actor(X).skills().length; i++)
    $gameActors.actor(Y).learnSkill($gameActors.actor(X).skills()[i].id);
Replace X with the ID of the actor who is evolving, Y with the ID of the new actor.
 

Cuprite

Previously Golden
Veteran
Joined
Feb 6, 2017
Messages
115
Reaction score
40
First Language
English
Primarily Uses
RMXP
So there's no need to do it the way you're describing - you could just change the actor image and class, there's no need to change the actor. As it is now, you must be making a new actor and class for each evolution, so you only need to do half of that work.

But if you want to do it this way, put this in a Script box (event commands, third tab, bottom right):
Code:
for (var i=0; i<$gameActors.actor(X).skills().length; i++)
    $gameActors.actor(Y).learnSkill($gameActors.actor(X).skills()[i].id);
Replace X with the ID of the actor who is evolving, Y with the ID of the new actor.
The reason I'm doing it this way is cause I want the player to be able to get the original actor again in their initialized state. Essentially trying to do a monster tamer (Tho you can only have one of each at a time since I'm not using any copy actors plugin (Honestly, that'd make the process MORE complicated. Lol)), and I don't want the player to be able to lock themself out of other monsters.
This works perfectly, thank you so much!
1632531094052.png
(Ignore the skill name, it's debug stuff. Lol)
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
2,133
Reaction score
1,145
First Language
English
Primarily Uses
RMMV
The reason I'm doing it this way is cause I want the player to be able to get the original actor again in their initialized state. Essentially trying to do a monster tamer (Tho you can only have one of each at a time since I'm not using any copy actors plugin
That's cool. Again, with my suggested method, it would become actor-independent. So it doesn't matter whether he's capturing a Slime or a Kipachu or a Dragowhatsis, you add the next available actor ID to your party, set their image and class to Kipachu, and boom.

Then you have no problems with capturing multiple of the same thing if you like.
 

Cuprite

Previously Golden
Veteran
Joined
Feb 6, 2017
Messages
115
Reaction score
40
First Language
English
Primarily Uses
RMXP
That's cool. Again, with my suggested method, it would become actor-independent. So it doesn't matter whether he's capturing a Slime or a Kipachu or a Dragowhatsis, you add the next available actor ID to your party, set their image and class to Kipachu, and boom.

Then you have no problems with capturing multiple of the same thing if you like.
That could work. I didn't think of having just a bunch of blank actors that could be changed. Lol.
Only problem I see with it is that it would be possible to lock yourself out of other monsters if you happen to have too many of one type (Y'know, unless I just made like, 1000 blank actors (Over 10x the number of monsters I plan on there being). Lol).
I will definitely consider this method. Would make things like getting all evo branches of a monster less tedious (I plan on there being a lot of those (I mean, look at the Slime tree. Lol), so it's definitely worth considering. At the very least, it's always good to have multiple ways of going about this kind of thing in case one doesn't end up working out.
Thanks again. :)
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
2,133
Reaction score
1,145
First Language
English
Primarily Uses
RMMV
Only problem I see with it is that it would be possible to lock yourself out of other monsters if you happen to have too many of one type
Why? You only need as many actors as you're going to allow in your party at once. When a monster dies or you free it or whatever happens to open the party slot, that actor ID becomes available for you to capture something else.

Or, sure, you click on your database and type in max actors of 1000, not like you have to do anything to "make" them :wink:
 

Cuprite

Previously Golden
Veteran
Joined
Feb 6, 2017
Messages
115
Reaction score
40
First Language
English
Primarily Uses
RMXP
Why? You only need as many actors as you're going to allow in your party at once. When a monster dies or you free it or whatever happens to open the party slot, that actor ID becomes available for you to capture something else.

Or, sure, you click on your database and type in max actors of 1000, not like you have to do anything to "make" them :wink:
Fair enough I suppose. Lol.
I suppose it just depends on if I do a storage system or not.
I'll try this method, tho I'll keep the other as a backup (Gonna have to figure out how to go about releasing if I don't do a storage system, tho I think it should be relatively easy (Watch me regret saying that. Lmao)).
Edit 1: Also gonna have to figure out how to have the event detect he actor's class. Probably easier than I think it is.
Edit 2: Yep, it's a default option for Conditional Branches. Lol.
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
2,133
Reaction score
1,145
First Language
English
Primarily Uses
RMMV
I suppose it just depends on if I do a storage system or not.
There are ways you could store the data without actually keeping an actor reserved for it, but that's definitely easier. Still, even full-blown Pokémon games have limited storage space in their boxes.
 

Latest Threads

Latest Posts

Latest Profile Posts

Anyone doing anything for NaNoWriMo this year?
Listening to, "Draum" by Eldrim. If you haven't heard it before, do so. Absolutely lovely, and utterly haunting.
Using Live2D is actually pretty fun once you get familiar with where everything is. :rhappy: And no, I'm not learning because of the Vtuber thing going around, but yes looking at those helps a lot to know what can be done :LZSlol:
[Maybe Sensitive] Personal thoughts on being "cringe".
If I were to say, being a creator also means getting cringe ideas on your project. But why would having one makes the work somehow "being bad"?

Forum statistics

Threads
115,827
Messages
1,093,274
Members
151,018
Latest member
karterAKA
Top