Charas-Project

  • Home
  • Help
  • Search
  • Calendar
  • Login
  • Register
*
Please login or register.

Login with username, password and session length
 

News:

New forum theme up and running!



  • Charas-Project »
  • Game Creation »
  • Requests »
  • Tutorials »
  • Blue Magic
« previous next »
  • Print
Pages: [1]

Author Topic: Blue Magic  (Read 5289 times)

Offline WarxePB

  • Action Sue
  • Royal
  • *
  • Posts: 3,601
  • What killed the dinosaurs?
    • The Gigaverse
Blue Magic
« on: June 14, 2005, 02:00:18 AM »
Occasionally, I write tutorials, but I rarely submit them. But I'm bored, and I figured I'd write one up.

.:Blue Magic Tutorial:.

Written by: Warxe PhoenixBlade


Goal: This tutorial will show you various ways of how to replicate a "Blue Magic" system in your RM2K/3 game. For reference, I will be using RPG Advocate's translation of RM2K3.

Difficulty: Easy


First of all, what is Blue Magic?
If you don't know the answer to that, then you've probably never played an FF game, and you probably don't deserve to be on these forums :P

Anyways, Blue Magic (also known as Lore, Enemy Skill and Ronso Rage) is a special kind of magic that uses an enemy's unique skills and magic against it. There are many different ways to learn Blue Magic, and I'm going to show you a few.


1. Monkey See, Monkey Do

This is the easiest way of learning Blue Magic (both coding and ingame-wise), and it's also recommended for learning healing/support techs (if used with No Pain, No Gain).

First, open up the Database (hit F8 while on the Map Editor) and click the Skills tab. Create your skill/spell as you would normally (set the attack power, graphic, etc.). Since it's supposed to be different from regular magic, you could give it some special attributes (inflicts a bunch of status effects on an enemy, does random damage, etc.). For my example, I'm going to call the skill Delta Wave (strikes all enemies for medium fire/water/earth/wind damage).

Once that's done, go into the Monsters tab in the Database. Create a new monster (or select a previously-made one), and give it the skill Delta Wave (double-click on the empty space beneath the rest of the monster's skills). Set the priority, and select the skill Delta Wave from the second dropdown box at the bottom. But before closing the Monster Behaviour box, click the "Action turns Switch ON" checkbox, and create a new switch (call it Delta Wave-Learn). Now press OK, and go into the M. Groups tab.

Create a new Monster Party (or select one the has the monster you gave Delta Wave in it). Create a new page in the Battle Events at the bottom-right, and set the Trigger to switch Delta Wave-Learn ON (double-click the "..." box, select the first checkbox, and select Delta Wave-Learn from teh switch list).

Now, go to the Common Events tab, and create a new Common Event called "Learn Blue Magic". Keep the trigger at Call. Now, create a Conditional Branch that checks if your blue mage is in the party. If s/he is, turn a new switch, "Hero In Party", ON.

Go back to the M. Groups tab, and reselect the monster party you had selected before. In the page activated by switch Delta Wave-Learn, create a Call Common Event command, and call "Learn Blue Magic". After this, create a Conditional Branch (in the Battle Event, not the Common Event) that checks if switch "Hero in Party" is ON. If it is, create another branch to check if "Delta Wave-Learn" is ON (this is optional, but it doesn't hurt to check). If both of those are ON, teach the hero the Delta Wave skill. Optionally, you can play an SFX and create a message with "Hero learned the Blue Magic skill Delta Wave!" Then turn the "Hero in Party" switch OFF.
Now, in the Else handler of the first branch (if Hero in Party is OFF), simply turn the "Delta Wave-Learn" and "Hero in Party" switches OFF.

So, your Battle Event code should look something like this:

Trigger: Switch [0182: Delta Wave-Learn] ON
<>Call Common Event: Learn Blue Magic
<>Branch if Switch[0183: Hero in Party] is ON
|<>Branch if Switch[0182: Delta Wave-Learn] is ON
||<>Change Skills: Hero Delta Wave Add
||<>Play Sound: Blue Magic Chime
||<>Message: Hero learned the Blue Magic skill, Delta Wave!
||<>Switch Operation: Switch[0183:Hero in Party] OFF
||<>
|<>End
|<>
<>Else Handler
<>Switch Operation: Switch[0182: Delta Wave-Learn] OFF
<>Switch Operation: Switch[0183:Hero in Party] OFF
<>
<>End
<>

And there you go. Just copy that page into every monster group that particular monster (the one with Delta Wave) is in. And if you want to do more skills, just follow the above steps again (but you don't need to create multiple Common Events; you can use the same one multiple times. However, you do need seperate skill switches).


2. No Pain, No Gain

This method is similar to the above method, but instead of learning it from just watching the skill in action, the hero needs to get hit by it. And since this won't work if the skill is a support or healing skill, it's recommended you use Monkey See, Monkey Do with those types of skills.

The code for this method is similar to the above method, but in order to check if the hero is actually getting struck by the skill, we'll have to check his/her HP constantly.

To easily do this, just open up your Battle Event page from the previous method, and change the trigger to "Turn 1x elapsed" (make sure to uncheck the switch trigger, or else this won't work). This will make the event run every time a hero or monster takes an action.

(Note: Make sure to do the following in the Conditional Branch that checks if "Hero in Party" is ON.)
To check the hero's HP, create two new variables, "Hero HP-This Turn" and "Hero HP-Last Turn". Create a new Variable Operation that stores the blue mage's current HP in the variable "Hero HP-This Turn". Now, create a Conditional Branch that checks if variable "Hero HP-This Turn" is less than or equal to "Hero HP-Last Turn". If it is, put the code from the above method (excluding the Call Common Event and the first Branch) into the new Branch.
In the Else Handler, set variable "Hero HP-Last Turn" to equal variable "Hero HP-This Turn", and turn switch "Hero in Party" OFF.

Again, here's what the code looks like:

<>Call Common Event: Learn Blue Magic
<>Branch if Switch[0183: Hero in Party] is ON
<>Variable Operation: Var[0198:Hero HP-This Turn] Set, Hero HP
<>Branch if Var[0198:Hero HP-This Turn] is Var[0199:Hero HP-Last Turn] or less
||<>Branch if Switch[0182: Delta Wave-Learn] is ON
|||<>Change Skills: Hero Delta Wave Add
|||<>Play Sound: Blue Magic Chime
|||<>Message: Hero learned the Blue Magic skill, Delta Wave!
|||<>Switch Operation: Switch[0183:Hero in Party] OFF
|||<>
||<>End
||<>
|<>Else Handler
|<>Switch Operation: Switch[0182: Delta Wave-Learn] OFF
|<>Switch Operation: Switch[0183:Hero in Party] OFF
|<>
<>Else Handler
|<>Variable Operation: Var[0199:Hero HP-Last Turn] Set, Var[0198:Hero HP-This Turn]
|<>Switch Operation: Switch [0183:Hero in Party] OFF
|<>
<>End
<>

Now, the only bug with that code is that there might be a short delay between when the monster uses the skill and when the hero learns it. But it shouldn't be a big deal.


3. Bloodsucker

This method involves using a command to absorb the Blue Magic skill from an enemy, much like FF9 Quina's Eat or FFX Kimahri's Lancet.

Again, the code is similar to Monkey See, Monkey Do. The only difference is the trigger some modifications to the battle code.

First, go into the Battle Layout tab of the Database, and click your blue mage hero. Click the "Set" button, and create a new command (You can call it anything you like, but I'll call it Absorb for this tutorial). Set the Archetype to Attack. Click OK to close the box, and make sure you give your hero this command before proceeding.

Next, follow steps 2 and 3 from the first method, Monkey See Monkey Do. However, when giving a monster the skill, you don't need to specify a switch.

Now, go into your M.Groups tab. Create a new page in a group, and set the trigger to "Hero uses the [Absorb] command". Create a Conditional Branch to check if the monster with the skill Delta Wave is targetted. If it is, create another Conditional Branch that checks if switch "Delta Wave-Learnt" is ON. If it is, leave the first part of the Branch blank. In the Else Handler, create a Change Skill to add the Delta Wave skill to the blue mage hero, and optionally play an SFX and/or display a message saying "Hero absorbed the Blue Magic skill Delta Wave!". Then turn a switch called "Delta Wave-Learnt" ON.

Your code:

Trigger: Hero uses the [Absorb] command
<>Branch if Monster 1: Fred the Slime targetted
|<>Branch if Switch[0182: Delta Wave-Learnt] is ON
||<>
|<>Else Handler
||<>Change Skills: Hero Delta Wave Add
||<>Play Sound: Blue Magic Chime
||<>Message: Hero learned the Blue Magic skill, Delta Wave!
||<>Switch Operation: Switch[0182: Delta Wave-Learnt] ON
|<>
<>End
<>




And there you go! Three (well, more like two) different ways of learning Blue Magic. I hope this helps someone out there.


*NOTE: All of the code is untested; if someone finds a problem with it, please post the correction, and I will edit this ASAP.*


*insert ending crap here*
Logged
Blog: The Gigaverse
Twitter: Initial Chaos

Offline maxine

  • Average scripter
  • Zealot
  • *
  • Posts: 736
  • ¨Dude i am 16 with 2 balls and hair
(No subject)
« Reply #1 on: June 22, 2005, 05:34:51 PM »
Looks awesome. Unfortanley im a noob so i will save this post in my head for later on thanks !


Peace
Logged
Frontline Fighters Platoon Multigaming Clan

Offline ZeroKirbyX

  • has died of dysentery.
  • Sage
  • *
  • Posts: 6,132
  • Boop a Doop a Doop
(No subject)
« Reply #2 on: June 22, 2005, 05:41:31 PM »
Quote
Originally posted by maxine
Looks awesome. Unfortanley im a noob so i will save this post in my head for later on

You did a really good job of that...

Nice tut anyway Warxe
Logged

Offline Grandy

  • Zombie
  • Royal
  • *
  • Posts: 4,989
  • Not actually dead
(No subject)
« Reply #3 on: June 22, 2005, 06:06:19 PM »
 Topic kick
Logged
Quote from: Alex
I general I'd say I agree 98% with Grandy's post above.

Offline BlackIceAdept

  • Teleporting is fun ^_^
  • Zealot
  • *
  • Posts: 586
  • What you wanted a book?
(No subject)
« Reply #4 on: June 22, 2005, 10:13:55 PM »
who cares this should be stickied
Logged
Image hosting by Photobucket

Offline Moosetroop11

  • Sage
  • *
  • Posts: 7,398
(No subject)
« Reply #5 on: June 23, 2005, 04:24:54 PM »
Quote
Originally posted by Grandy
Topic kick

Awww, don't be so harsh on him, it was only a nine day kick.
Logged
Maaaaaaaaaaaaaaaaaaaaaaaaaaan I missed this place.

Quote from: drenrin2120
Maaaaaaaaaaaaaaaaaaan I missed you.

Quote from: fruckert
Maaaaaaaaaaaaaaan I missed that welcome.

Offline BlackIceAdept

  • Teleporting is fun ^_^
  • Zealot
  • *
  • Posts: 586
  • What you wanted a book?
(No subject)
« Reply #6 on: July 19, 2005, 12:27:42 AM »
moose that wasn't a major kick... this was... null
Logged
Image hosting by Photobucket

Offline Sqoad

  • Artist (abit rusty at that...)
  • Associate
  • *
  • Posts: 216
  • Look at my avatar and imagine it realistic, That's my face.
(No subject)
« Reply #7 on: July 19, 2005, 12:58:00 AM »
Really interesting! I will probably add this to my game ASAP hope it works better than other useless things I tried ^
Logged
I can edit b-/chars for you. I am however usually not avaliable. I prefer chosing the one I help...
-Favorite B-char type: Narikiri (is that the name?)
-Favorite Char type: Medium, with emotes.

Offline AsakuraHao2004


  • RAM-TORTOISE!!
  • Exemplar
  • *
  • Posts: 1,623
  • AIM: dakutenshisdemon YIM: desimodontidae
(No subject)
« Reply #8 on: July 19, 2005, 01:06:23 AM »
Very nice. Stick worthy? Nah, but a very nice tutorial.
Logged
AKA Desimodontidae. If you're seeing this profile, Im probably at school.

If i were a clown, would you hold me when I'm down?/I wish I had someone to make me drown/So many people don't know that it's so damn hard to be a clown/I am the clown with the giant frown/My heart is in a state of being upside down...

Offline 99redbaloons

  • The Shadow
  • Initiate
  • *
  • Posts: 11
  • Not much to know.
Late
« Reply #9 on: December 09, 2007, 02:59:48 PM »
I know this is like 2 almost 3 years to late but, I followed the monkey see monkey do and have tested it a few times and every time the monster hits me with the skill/uses the skill i learn it agen n the message pops up agen...
Logged

Offline Archem

  • One, one too many schizophrenic tendancies
  • Global Moderator
  • Over 9000!
  • *
  • Posts: 15,013
  • I made a fortune in toothpicks, but I lost it all in a fire.
(No subject)
« Reply #10 on: December 09, 2007, 07:01:23 PM »
Normally, I'd be appalled at a kick of this caliber, but given that it asks a serious question, I think you'll be able to get away without being flamed.

SOMEONE ANSWER THIS MAN'S QUESTION, PRONTO!
Logged

Offline Moosetroop11

  • Sage
  • *
  • Posts: 7,398
(No subject)
« Reply #11 on: December 09, 2007, 09:26:19 PM »
Put the event in which the message pops up and you learn the skill inside a conditional branch, and have the conditional branch "if switch: Blue magic 1' is ON" and have the event in the 'else' part. Then add "turn switch 'blue magic 1' ON" to the end of the part of the code where you learn the skill. That means that the event runs until the skill is learned, then the switch is turned on and it doesn't run again.
Logged
Maaaaaaaaaaaaaaaaaaaaaaaaaaan I missed this place.

Quote from: drenrin2120
Maaaaaaaaaaaaaaaaaaan I missed you.

Quote from: fruckert
Maaaaaaaaaaaaaaan I missed that welcome.

Offline Foo-Army

  • Member
  • Initiate
  • *
  • Posts: 5
  • ...
(No subject)
« Reply #12 on: December 12, 2007, 01:25:14 PM »
Thanks the same thing happened with me when I did the MS,MD method
Logged

  • Print
Pages: [1]
« previous next »
  • Charas-Project »
  • Game Creation »
  • Requests »
  • Tutorials »
  • Blue Magic
 

  • SMF 2.0.10 | SMF © 2015, Simple Machines
  • XHTML
  • 2O11
  • RSS
  • WAP2
  • Simple Machines Forum