BLUE MAGIC
The art of getting the crap knocked outta you and learning from it.
*Advanced users recommended.
*Higher knowledge of variables, switches, and common events.
* 45 minutes to create (basic system with 5 spells)
Right, then. Now to teach you the art of Blue Magic...
Blue Magic: Magic derived from (observing/getting the crap blown outta you by) an enemy technique. In this sequence of events, it will not be necessary for the technique to hit the blue mage directly, however.
You're going to need some basic components.
1. A common event that is always on. (After the blue mage is accepted into party. Have this event turn off if the blue mage ever leaves, and turn back on if he rejoins.)
2. X free switches, where X is the number of Blue Magics you want to have.
3. X free variables, where X is (see above)
4. A hero that will learn the blue magic.
5. An enemy that will cast/use the spell/technique to be observed.
6. A switch for the blue mage him/herself.
In my humble opinion, there is no logical way that even a blue mage could observe a skill once and learn it right away. Therefore, a character must "observe" that skill a set number of times.
We'll use "Bad Breath" as an example.
First, we need a enemy who'll use the Bad Breath spell/tech. (Lawyer, Marlbolo, Grandma, etc.)
Then, we make it so that the monster can cast that ability. (DUH!)
Right click that ability (while in "Monsters" section,), select edit.
Now, see the area called, "Turn Switch ON"? Click the box, so it's marked, and select the switch for that skill. We'll call the switch for Bad Breath "Saw Bad Breath". This will have the following effect:
IF the monster manages to cast the ability, regardless of if the ability does damage, inflicts/cures status, or heals the monster, then that switch turns on, signifying that the Blue Mage saw the skill.
Still awake? Good. Now make sure that the skill and skill switch match. People will severely question your game-making ability if your blue mage sees Bad Breath but learns Flare.
Next, we go into the common events.
We need one (1) common event that is Parallel Process, the switch being, "6. A switch for the blue mage him/herself." This switch should be turned on whenever the blue mage is in the party, and turned off if he/she isn't.
Now for the hardest part. (Don't worry, folks. This could be done by a fifth-grader if you bribed him/her with enough soda and cookies.)
Make a fork condition "asking" the game whether our Blue Mage has learned "Bad Breath". If he/she has, then nothing happens.
Now, the else condition is brought into play if the blue mage didn't learn Bad Breath.
If the blue mage or his friends killed our magic-using monster before it used the technique/spell, boo-hoo, no magic point for you.
However, let's say that during the battle, the Marlbolo/Lawyer/Ex-Cop got pissed/scared and used Bad Breath, thus turning on the switch "Saw Bad Breath" if you've done things right. Regardless whether the skill worked or not, the switch comes on, nonetheless, as long as there is an attempt.
Now, under the "else" condition, make a fork condition (no else case) checking to see if "Saw Bad Breath" is on. If it is, add a point to the variable we assigned to the spell...
What? We didn't assign one? (Scrolls up.) Well, geez, no wonder you look so confused. We'll do that now, then, since this is the only time we really start to worry about it.
We'll call the variable "Bad Breath Pts.", just as an example.
So, in summary of the above three paragraphs, if the blue mage hasn't learn Bad Breath yet, but has "observed" it ("Saw Bad Breath" switch is on, due to enemy skill use, IF you did it right.), then a point is added to "Bad Breath Pts." variable. (This, by the way, unless specified otherwise by an event, is by default zero (0) at the begining of a game. This applies to all variables not modified by common/map/battle events at the begining.)
Now, here's where you make the call- decide how many points the Blue Mage needs to earn by "observing" the technique.
(For techniques/spells like Bad Breath, which either heal/damage a lot, or induce really bad status, make this number 20, or so, but nothing like 100, since the player only earns 1 point per observing using my method, but you can alter that part as you see fit. And no, you don't need a variable for the "20".)
We'll say that the Blue Mage needs to have 20 "Bad Breath Pts.", thus, by the one point increment I used, he/she will need to observe that technique/spell 20 times.
Make another fork option (no else case again), checking if "Bad Breath Pts." is equal to or greater than 20. If so, have the Blue Mage learn "Bad Breath", and maybe give a little congratulatory message to the player, as a way of saying that all the time blown on hunting Marlbolos/Lawyers/Gym Teachers was not in vain, and they now wield a (supposedly) fearsome power as proof of their valiant endeavors.
Now, at the very end of all this schiznit, turn OFF the "Saw Bad Breath" switch.
No point in getting 137 points for one observation.
Now, then, in standard RM2k script format, your system should look like this:
(Numbers off to right in ( ) indicate layman's notes.
=========================================================
If Blue Mage, Bad Breath has learned (1)
:Else Case
<>If switch(XXXX:SawBadBreath) is ON (2)
<>Change Variable: Var[XXXX:BadBreathPts.]+ 1 (2)
<>If Var(XXXX:BadBreathPts.) 20 (>) (3)
Message: Blue Mage memorizes Bad Breath! (3)
Change Skill: (Blue Mage, Bad Breath) Learn (3)
End Case
End Case
<>Change Switch: Var[XXXX:SawBadBreath] Switch OFF (4)
End Case (5)
1: Checks to see if Bad Breath is learned. If not, go to 2. If so, go to 5.
2: Checks to see if Bad Breath has been "observed", and, if it has, awards a "point" to the skill point variable. If the skill has not been observed, go to 4.
3. Checks to see if skill point variable is high enough. If so, displays a message declaring that the Blue Mage memorized the skill, and grants that skill to the Blue Mage. Thus, (1) now notices that the skill in question has been learned, and the event becomes null... unless the blue mage somehow forgets the spell. This prevents the player from having to endure repeated text displays of "Blue Mage memorized (Skill)!".
4. Turns off the switch activated by (monster in question)'s use of (skill). This prevents multiple "observation" points from being awarded for one "observation".
Repeat the process for each additional blue magic, adding 1 additional switch and variable for each new blue magic skill.
By Crazy Rob