RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
[Event Tutorial]Spell Progession

0 Members and 1 Guest are viewing this topic.

**
Rep:
Level 85
Raven War's Spell Progression
For RPG Maker VX and XP



Okies, basically, this allows spells that characters learn to 'level up' and become more powerful. My goal when tinkering around with this system was to find a way to eliminate spell lists for characters that look like this:

Code: [Select]
Fire     Blizzard    Thunder
Fira     Blizzara    Thundara
Firaga   Blizzaga    Thundaga

when you only ever use Firaga, Blizzaga, and Thundaga. Also, I created this system with the idea of more powerful spells costing the same amount of MP in mind, as its supposed to give the impression of one character learning how to use a spell batter, such as a healer learning how to heal deeper wounds using the same amount of Mp. It should make skill lists a lot shorter, as well.

There is also a demo attached for visual references.


Features
  • Leveling spells
  • Make magical characters learn spells faster than fighter characters


Preparation

All you really need to know is how to read and a basic way around the database, since I'll be explaining the rest as best as possible. You'll need each party member to have their own set of spells.(Basically, if two characters learn Fire, you'll need two Fire spells, one for each character.) You'll also need one variable for every spell a character learns(so, for the characters in the previous example, you'll need two Fire variables, one for each spell.) You'll also need one Common Event per spell. This may look huge, but most of it is just copy and paste after setting the system up for one character.


Tutorial

Step 1: Step up variables required. In this tutorial, we will only need one, which is 'Colette-Fire', as we are working with only one character, Colette, and only one spell, Fire. Though, if you were to have more spells and more characters, a good variable set-up may look like this, as this is the way I set it up:

Spoiler for Example:
001:====COLETTE====
002:Fire
002:Blizzard
etc
etc
====LLYOD====
010:Fire
011:Blizzard
etc
etc

Step 2: Created a spell for each level. For instance, Colette's Fire spell grows only once, evolving from level 1 to level 2, so I need only to make two spells. But, if I had a second character, Lloyd, I would need four spells, one of each level for both characters. A spell is only required for a character if that character learns that spell.

Step 3: Create a common event for each spell/character combination. For instance, I only have one character, Colette, and only one spell, Fire. Even though there are two Fire spells, a level 1 and level 2, I need only one event to control them. I fI added Llyod, I would need two events for the Fire spell.

Step 4: In the first line of the event, we will set up the EXP gain per cast for the spell. To do this, make a Control Variables and add any positive number to the variable chosen for the spell, in  this case 'Colette-Fire'. I would recomend 1, since it makes since that you would earn 1 EXP per cast, but you can have any amount. If I made a second event for Lloyd, I would use the variables 'Lloyd-Fire' so that Colette doesn't share EXP with Llyod, and I could also set up the variable so that Llyod earns 2 EXP instead of 1, making him level up with that spell faster.

Step 5: Now, set up a conditional branch with NO else case. Make it check if variable 'Colette-Fire' is equal to, say, 100. This means that when Collette's Fire EXP reaches 100, the spell will level up. For Lloyd, we could set it to 500, making him level up in the spell much slower than Colette, even though he earns more EXP per cast.

Step 6: Finally! The easy part! Just set a message to pop up when Colette levels up with the spell. In this example, we'll make it say 'Colette's Fire spell level increased!', or maybe 'Colette became more powerful using Fire!'.

Step 7: Now, make Colette forget the old Fire spell, then learn the new one using two Change Skills options, one for forgetting and one for learning. Make sure they are her spells, don't want to piss Lloyd off!

Step 8: Rinse and repeat. If you wanted Colette to have a third level to her fire spell, just copy and past the conditional branch below itself, and change the EXP requirement, and change the forgetting/learning part so that she forgets the level 2 spell and learns the level 3 spell.

Step 9: To finish off, make the level 1 Fire spell that COLETTE will learn call the common event we just set up. This will make it so that after the spell is cast, it will add EXP and check for level up. DO NOT add the event to level 2, unless there is a level 3. It won't hurt anything, it would just be pointless to have a spell earn EXP if it can't level up any further.

Step 10: An easy way to set this up for other spell/characters is copy and paste. Then, you only really have to do simple edits, rather than make whole new events.

Check the demo for a visual reference, and please post any bugs here. This event was designed in XP, so it will also work for that. I have tested the demo, so it should work perfectly.


Ending Notes
Credit me if used please(Raven War). Also, send me any projects this is used in; I'd really love to see where my system is being used. If used in a commercial game, my only requirement for usage is credit and a free copy of the full version game.

If this tutorial is already posted(I hope it isnt...), just delete this topic.

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Most Mature Member2010 Favourite Staff Member
Hmm, this might be a useful system. I'll let it get some feedback here before moving it to the database.

**
Rep:
Level 86
Pretty interesting system. Only thing I find it lacking is that for a game like maybe Final Fantasy, where there are 30 different spells and 12 characters, it'll be a pain in the arse to set this all up, even with copy&paste. But for a project that has few spells, this could add a bit of originality to it. Good work, my friend.