10-09-2018, 05:43 PM (This post was last modified: 10-09-2018, 05:49 PM by DerVVulfman.)
From DerVVulfman: Here, you will find the collected 'Magic School Lessons' from ShadowText as he posted them at Don Miguel's RPGMaker 2000 board. They are almost two decades old as of this post. As these lessons were meant for RPGMaker 2000, they should work with RPGMaker 2003. But they are still only 'templates' for one to design event-based battle skill systems, not fully hardened source code.
ShadowText's Dark Pantheon of Tutorials Magic School Lessons
My tutorials have been around a long time, initially posted to Don Miguel's Message Board. Almost all of these teach how to make certain kinds of magic for the Default Battle System in RPGMaker 2000, and I refuse to do any that deal with Custom Menus or Custom Battle Systems. But if you have a suggestion, e-mail me by clicking the e-mail button to the left.
Also, remember that these tutorials are meant to be templates, not source. You should try to change the code to make it fit your system. Try to understand why things work this way, rather than taking my word for it.
On a final note, the format for these tutorials might be a little weird. "Master Mage" refers to Magilaureate Ayolis, who is a character I invented who has no idea how to work a computer. His deranged way of explaining things fits in more with the explanations you might use in your games to explain these things. Again, don't take these word-for-word, they're just examples. I hope they help!
Magic School Lesson #1: Conjuration Summoning weapons, armor...
Master Mage: "Conjuration, for you apprentice mages, is the summoning of inanimate objects. These can be either material or ethereal objects, but as you know, creation is nigh-well impossible, so they must exist on some plane of existence. The most famous of conjurers are many. You may have seen things suddenly appear in the hands of your favorite heroes. This is conjuration."
Shadowtext: I'll translate for the readers in the mundane plane of Earth. You must make the item before it can be conjured.
Master Mage: "Let us begin with Conjured Weapons. Both ethereal and material objects are summoned in the same way. But first, you must memorize what your present equipment is. If you forget it, it could be lost for eternity in an extra-dimensional warp. Of course, you create a spell in the usual way."
Shadowtext: This means, make a variable store your present weapon. To create the spell, use a "Switch" type skill that turns on a switch. This switch allows an "Autostart" event in the MonsterParty. Say
Master Mage: "Now for the actual conjuration. You simply contact the weapon itself, and access its power by manifesting it physically. It is automatically equipped. Let us try an ethereal blade of fire. Don't forget to end the spell, or the magic could swell indefinitely."
Shadowtext: Switching Conjure_Flame OFF will end the event so as to stop it from eterna-looping. Now this same event will look like:
Master Mage: "Sometimes these blades might require magic to sustain. You must continually channel energy or they will disappear."
Shadowtext: In the event "Conjure" you should add another switch. This pet can be "MP Reduction" Now there should be one every turn
Master Mage: "When the battle is over, such a weapon should be banished after the defeat of your enemy. Because carrying a weapon from another plane can almost always cause problems if allowed to maintain itself here."
Shadowtext: This event will be featured at the end of battle.
Master Mage: "And that's conjuration in a nutshell. You will of course all adapt this ability to your own individual styles of spellcraft, but the basic framework is now known to you."
Shadowtext: Adapt this to your various games. And if you figure out a better way to tell the end of a battle, post it here.
Lesson 2: Stat Dependency (Last updated - Jan 4, 2001)
Magic School Lesson #2: Class Change Battle algorythms
Today we talk about Physical dependancy spells. These are the spells that require your own physical attributes. For instance, a spell where you would lift yourself in the air and drop yourself on the enemy would require your weight.
The name of the game is "Statistics." The weight thing would of course be defense, though. This will also show you how to make spells that have your own damge algorythms.
First you must form the basic spell. Let's attempt the Drop spell I mentioned before. First you must lift yourself in the air, and drop. You will feel the weight pulling you as you fall.
Form the spell, as usual, with a Switched event. The switch will be "Drop_Spell." We'll code that like this.
Battle Event "Drop"
Event Condition: Switch."Drop_Spell" = ON
ShowBattleAnimation "Drop"
But how can you tell how much you can hurt the enemy? Well, that requires some figuring. Basically, though, there are pretty basic formulae.
Algorythm time. Afterward, access the caster's defense attribute. We'll have to form an Algorythm.
Magic School Lesson #3: Spell Components Items absorbed during casting
Master Mage: "Sometimes spells require certain elements to be present to work. Mostly, this is for people who can't channel, but I'll teach them anyway.
Shadowtext: Umm, yeah. You may remember Raistlin Majere's use of Rose Petals and sand to put people to sleep, or maybe if you played Secret of Evermore you remember Alchemy. This is what we are talking about.
Master Mage: "First, you must have the spell components. Apprentice! Pass out the Potpourri
Shadowtext: Yeah, right. Anyway, first the Items must be made. So make a "Common Item" called "Rose Petal."
Master Mage: "Next form the spell in your mind. Whatever you must do to initiate it, Magic Words, Sigils, whatever your own style of magic requires.
Shadowtext: So now, the event. Clearly, the spell must turn on a switch. We'll call this spell "Sleep." You already know how to do Algorythms for damage, now I'll show you how to do a percentile-condition inducer as well. It's easy to combine them.
Master Mage: "This was really easy to do. It's easy enough to do this without enemies attacking, too.
Shadowtext: Just add a common event.
Master Mage: "As you can see, this was pretty easy to do, now that you already know several other points.
Shadowtext: So now you can do Conditions, Damage, and Healing through algorythms, since Healing is just changing "HP Strict" to "HP Restore," and "ChangeEnemyHP" to "ChangeHP."
Lesson 4: Random Effects (Last updated - Sept 26, 2000)
Magic School Lesson #4: Randomnity Randomly casted spells
Master Mage: "Especially when working with Chaotic Mana, it can be hard ot know exactly what will happen. You should catalog a list of spells in your mind, and then you'll know what will likely be one of them.
Shadowtext: These are great for summon spells. Remember how Odin could do Gungnir or Zantetsuken? Or, for FF8 fans, how Gilgamesh could do Zantetsuken, Excalibur, Excalipur and some other? Well now you too can have a multi-spell summoned monster.
Master Mage: "Okay, now for the cataloguing.
Shadowtext: Yes. Well, you can't enact normal spells, so all of these will have to be Algorythmic. Which means we need to use the skills from Lessons 2 and 3. So, let's just use the actual spells from them. Remember?
Master Mage: "For now, we'll just use two, but it is very easy to add more, and to use different spells
Shadowtext: What he said. Now for the random spells. It's just basically the Random Number variable, and any effects you want to add.
Master Mage: "It's easy enough to perform even more complex spells from that example, is it not?
Shadowtext: He's right. But if there are any questions, don't feel embarassed, its pretty advanced stuff.
Magic School Lesson #5: Artificial Magic All things artifact
Master Mage: "So you've returned again. So you want to know how to draw powers from items, and memorize the magic. Well, it'll take time."
Shadowtext: Well, anyway, it'll take skill.
Master Mage: "Okay. Now I hope you brought your magical artifacts. I have the Cauldron of Rebirth, so I will learn the spell from it.
Shadowtext: There are several different ways of learning. We'll start with the "Equipped Learn." This method will allow you to cast the spell while this item's equipped, and you'll learn the spell through experience.
You'll need two common events per artifact, an Initiation, and a "Learn" event.
Shadowtext: Now for what happens when it's on. Now we must check if it is the first turn it's been equipped. We also need to make the amount of experience (or Tech Points if you're making each monster give some.) This is also the way to level up Items, so I'll explain that, as well.
Master Mage: "So now you can learn from items.
Shadowtext: But what if you want the item above to level up differently? What if you want it to be replaced with a more powerful item at level up? That's simplicity itself. Did you remember the Fork I told you to? Well, change it to do this.
Shadowtext: Just be sure that the "Chalice" is the same Type as the "Cauldron." Now it has upgraded.
Master Mage: "Although, why one needs such a smart artifact, I'll never know.
Shadowtext: Well, you don't fight horrendous enemies, you teach. Remember, "If you can, do. If you can't, teach."
Magic School Lesson #6: Condition Masks Special conditions (regen)
Master Mage: "Oh, well, back to work. It's Monday, so this'll not be a lecture with much flare, but it'll teach you what you need to know."
Shadowtext: My head....urghh.
Master Mage: "Today we will make the Regenerative condition. It's not easy, but most of the techniques aren't."
Shadowtext: Right. We'll make a condition, but make it unhealable, and give it no effects. Call it "Regen" or "Regenerating" or "Photosynthesis" or "Wing of Gerbil" or something.
Master Mage: "Wing of Gerbil?"
Shadowtext: Whatever. Anyway, now to inflict this condition, you must use the Status Infliction algorythm from lesson....3 was it? Anyway, you need to modify it like this.
Master Mage: "And you understand. You're making it to where the world can notice an effect on someone. Now for the upkeep."
Shadowtext: Yes. One Black Mana every turn or discard Jun...
Master Mage: "Not that upkeep."
Master Mage: "So then that's the "Regen" ability. But any cumulative effect can be done like that."
Shadowtext: Yes, and a "Shield" spell would be similar to conjuration plus a false condition. So now you know
Magic School Lesson #7: Item Fragility Items that break
Master Mage: "Okay, sometimes, it is easier to make an item with a low integrity, when you install massive magical power. An example is one-time-revival artifacts.
Shadowtext: The Reverse Doll. The Resistance or Shield Ring. These are incredibly powerful artifacts from Star Ocean 2. Well, how do you make one? It's simple. Give it whatever stats you want, and make it normal equipment of whatever neccesary type.
Master Mage: "The feather of a phoenix can revive someone who has fallen, but loses its power after the first time. While it's hard to understand Phoenix Magic, we can interpret it, if not quite copy it.
Shadowtext: Urmm....yeah. So then, it requires a check event. Again. We'll make this one Item 1.
Shadowtext: Rinse, Lather, Repeat. Follow up the check by making a congruous fork for each other character.
Master Mage: "And of course, the Phoenix Feather only enacts if you've fallen. Others don't neccesarily have a condition like that.
Lesson 8: Combo Magic (Last updated - June 15, 2001)
Master Mage: "Combining magical power with a friend is a good way to increase power. Now clearly, only certain spells can combine. Both of you must be prepared to cast first."
Shadowtext: One idea would be to only add the spells when a character is in your party. That would be easiest as a common event checking which Characters are in the party. Now of course, you can probably work one out by yourself for now. Reply if you need an example. Anyway, what I'm showing today is how to cast the spell!
Master Mage: "In the first method, you must combine your powers. Tactile contact and concentration is important in this method."
Shadowtext: So then, you must find a way to stop the other character from casting, right? Well, and remember this is a battle event called by a "Switch" spell. I also won't bother to show the Battle Damage algorythm, you've seen that in other lessons. What we'll need is a condition by the name of "Charging" or "Casting," something like that. It should have the same effects as the "Mind Shock" condition. Make the proper strings of course to where it'll look nice.
Master Mage: "Never try to cast two spells at once. That has cause Mana Poisoning as well as Nervous Breakdowns."
Shadowtext: Yeah, so how does one stop the others from casting multis? Well, put this fieldset at the beginning of the casting event. It checks everything out.
Magic School Lesson #9: Item Creation Creating items (ala Star Ocean)
Master Mage: "Okay, this is the Item Creation thru magic seminar. Now remember, pure creation is not something much done by humans, so really, 'Modification' would be a better name for this lesson. Well, what'll you need? Since I will show how to cook magically, we'll use an egg."
Shadowtext: Okay, the items need to be predefined. So make an Item "Scrambled Eggs." To tell the truth, implemented correctly, this can be a peice of cake. That's why we're using Dairy! So for now come up with your own way to call it. I'll give you the algorythms.
Master Mage: "And if you're successful?"
Shadowtext: I'm getting to it.
Master Mage: "Simple. What about the actual modification?"
Shadowtext: It's just chance. So you do something similar to the success event.
Magic School Lesson #10: Enemy Skills Learning spells from enemies
Master Mage: "Well then, you war-mages will often notice that monsters sometimes use powers that might use magic. Ever wanted to copy them?"
Shadowtext: This is not going to use any items or anything. The enemy spell will be different from the Hero Spell. Maybe the hero spell will be preceded by a "$p" to add a little character thingy. Of couse, that isn't necessary, they can share the same name.
Master Mage: "You must study the spell in action, which requires watching the enemy. You must understand the spell, and know it completely."
Shadowtext: The watch event is kind of buggy, and it would be hard to implement. For now, I'll just have to show the "Blue Magic" learning style. Make the enemy use a "switch" magic for the "GrandTrain" switch. Remember that its only necesary to put this in the monster party of monsters that use this magic.
Then of course, add the monster's damage algorythm (affecting the heores instead of monsters.) And the spell "GrandTrain" can be a regular spell.
Master Mage: "After noticing the spell, you can memorize it."
Shadowtext: Have a Parralel Process to check if "GrandTrain" is On.
Master Mage: "Copying is easy."
Shadowtext: Slow day....it's the Monday after a holiday. Don't worry, I'll work Labour Day. Tomorrow's Lesson -- Conditional Spells. As in "L5 Death" and things like that.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
Magic School Lesson #11: Conditionals "Math Skills" from Final Fantasy Tactics
Master Mage: "Sometimes, a spell can be cast more easilly if it is specific to one or two factors. For instance, height."
Shadowtext: This is the "Math Skill" from Tactics, basically. But you might remember some Blue Magic like "L5 Doom." Here's how ya' do it. Well, have you noticed that variables do not support decimnals? That's the key! You'll need two variables. Remember though, that monsters don't have levels naturally. So you'll have to use another stat. Here's the code:
Master Mage: "These lectures are getting shorter and shorter. You apprentices need to ask more advanced questions! You see, you already know so much that I have to explain less."
Shadowtext: Yeah, I'm going to be out of a job soon. Anyway, I don't know what to do for the next lesson yet, but look for it.
Magic School Lesson #12: Monster Binding Capturing Monsters (Think the 'P' word)
Master Mage: "Oh dear, Spirits. What a hangover."
Shadowtext: I told you not to try that vodka. And now you've a class to teach.
Master Mage: "What day is it?"
Shadowtext: Friday. Now, introduce the lesson, as requested by Raichu00.
Master Mage: "Hmm. Monster Catching, right? Binding them to your will, yeah?"
Shadowtext: Right. So, there are two methods. We'll start with the "Pokémon Method." This way, the captured ones become party members.
Master Mage: "Well, it'll require the bonding of a monster."
Shadowtext: Duh, Ayolis.
Master Mage: "That's 'Master Mage.'"
Shadowtext: That's not what the barkeep called you last night I think he said "Son of a..."
Master Mage: "Watch it!"
Shadowtext: Yes. Well, to set this up, have a character with the same name as the monster. And give it the same magic. And similar stats. Now, 'tis easy. If you use the "Party Switching" that requires switches, use a switch, otherwise just "Add to party." Now, either an item or use a spell, starting a switch, "Capture."
Master Mage: "And, of course, sometimes the condition of the monster can affect this."
Shadowtext: You can figure out the conditions area, I've shown you Algorythm upon Algorythm. Any way, go on, oh Master Mage.
Master Mage: "Now suppose you merely wish to indenture the Monster temporarily. Well, That may require some work."
Shadowtext: Okay, you'll need to make a "Summon Spell" animation. Now, as for the capturing. Well, replace the "Add" event above with an event that sets a variable. That variable describes which monster it is. This is the "Final Fantasy" style. Now, as for the "Casting,"
Master Mage: "That's a lot of work though. Hey, why don't I just 'Heal' My hangover?"
Shadowtext: Because alcohol inhibits channeling.
Master Mage: "%@#&"
Shadowtext: (giggle). Okay, next lecture, "The Perfect Cure for a Hangover." (Not Really)
Magic School Lesson #13: Avataric Weapons Weapons based on user (like the Atma)
Master Mage: "What? An Atma Weapon. Oh, of course. So an Avataric-Weapon? One which is based on a stat?"
Shadowtext: You've got the idea.
Master Mage: "We should have included this in 'Artificial Magic.' Anyway, you'll need an 'Atma Weapon.' A regular sword for the most part, but with an enchantment."
Shadowtext: Yeah, a regular weapon. Or ten of 'em. Basically, it's like Hyper-Conjuring. And it'll need to be in every single battle. Okay, it'll be like this. Assume that AtmaWeapons are Weapons 10-20.
Shadowtext: Now if you have multiple people who can equip the Atma, repeat that event for each of them.
Master Mage: "Succinctly done."
Shadowtext: I'm getting better at this. The best way to learn is to teach!
Master Mage: "What happend to 'Those who can't do, teach?'"
Magic School Lesson #15: Counterspells Spells to counter damage algorythms
Master Mage: "Well the confused Lilliputian (feels so weird calling someone an adjective! But I guess that it CAN be a noun.) seems to have been excited about the counterspell. I suppose you're ready."
Shadowtext: The problem is, it can only work for a spell that is made using the Damage-Algorythm (Cast by the Enemy). Simply add to the Algorythm the line.
Shadowtext: And put the damage-data in the "Else" condition. Now, as for draining it. Add this to the above Fork.
Master Mage: "But who's to say that counterspells always work?"
Shadowtext: I think they can figure out the probability factor.
Master Mage: "There's also the question of "Reflection" spells."
Shadowtext: Ooh, that's a good idea. Okay to the above event, add the Damage Algorythm, and this time, reverse it by changing it to the "Enemy" data. Ingenious, no? And you could even make "Reflect" an item-attribute! Just make an event to check if that item is equipped, and then the "reflect" switch will always be on.
Master Mage: So, that's it, then?
Shadowtext: Yeah, I think so.
Lesson 16: Familiars (Last updated - Oct 16, 2000)
Magic School Lesson #16: Familiars Summon furry friends!
Master Mage: "Well, today's lesson is more advanced than usual. But I'd still only mark it 'Intermediate.' Today, you're going to learn how to make a familiar, and all the implications thereof."
Shadowtext: Okay, this will be longer than usual. And it will show you basically how to have more than four characters in battle, too. But it requires a lot of Forks. And you have to customize every battle. Okay here goes.
Master Mage: "First, remember, Familiars do not HAVE to battle enemies. They can retrieve things for you, and do other things like guarding you."
Shadowtext: Let's start with the "Pickup" type. They basically enact a store from far away. Let's say that there is a character who is a summoner. For the purpose of FAMILIARity, let's call her Rydia for now.
Rydia's skill is "Summoning." This includes several spells.
Master Mage: "We're going to go into each of these. First, each spell summons a different monster. The 'Shop' will summon a Raven. The 'Scout' summons a Bat. The 'Fighter' summons a Bear. 'Healer' summons a St. Bernard, and 'Catalyst' summons a Cat. As it should be."
Shadowtext: As you use the spells more and more, more powerful monsters come to your call. The more they come, the more powerful they become. Let's start with the "Shop."
Master Mage: "When you call a Raven, it can only go to stores it knows. As you get more powerful, and teach it to be smarter, it can go to others."
Shadowtext: This is an out-of-battle event.
Master Mage: "Now as for a scouting monster. A bat can of course locate enemies through echolocation."
Shadowtext: This is a tad easier. Same thing, a Common Event. Let's assume your general rate is about 25.
Master Mage: "Now for the fighting familiar. This one will help you in battle. Duh."
Shadowtext: This will be a bunch of battle events. You'll have to customize each one, too. I'll put a comment where you need to. With it, you'll need a Common Event that turns off the switch when it's on.
Master Mage: "A healer or magician works in the same way."
Shadowtext: Many more algorythms are required for them.
Master Mage: "As for a Catalyst..."
Shadowtext: It is just a stat affecting spell that is called a "Summon." You can make success work the same way, of course.
Master Mage: (expels breath)
Shadowtext: Longest class yet!
Lesson 17: Event Transform (Last updated - Jan 14, 2001)
Magic School Lesson #17: Transformations: Event Driven Class changes and character changes
Shadowtext: Truly so. We're talking a complete Class change, with different Growth Rates, Learning Levels, even graphics. And of course degrees. But it's not THAT hard....but as with all of my lessons, it can be tedious. Oh, this was requested by Elecman, now Blue Rockman.
Master Mage: "The first key is to know which rank you'll be going for. This will take heavy career planning and..."
Shadowtext: This will take multiple characters of the same name. And optionally, similar (but not necessarily identical) graphics. Here's an example:
Shadowtext: Each character would have different growth rates and spells to learn, but...
Master Mage: "During the switchover to Journeyman, one must move all his belongings to the Journeyman's barracks and prepare for reassignment."
Shadowtext: Okay, the switchover. Anyway, as he said, how to keep your stuff. Well, I won't explain how you initiate the switch, but when you do, use this code (I'll be using [v0101: Character 1(Class)] to represent the character's current class.):
Shadowtext: You need to repeat that for every class. Optionally, you can use another variable to represent what class you start in, and one to say where you're going, but that's all according to how you switch. Don't forget to replace which character is the source, and which is the target with any switchover.
Master Mage: "Looks like you may have competition for who's to be my pet Journeyman, Shadowtext."
Shadowtext: No one else will put up with you, Ayolis!
Master Mage: "Don't make me blast you.
Shadowtext: Instead of classes, one could also Transform entirely. That's just a change of the story though. Remember in Illusion of Gaia, when Gaia would transform Will into Freedan and/or Shadow? Do that.
Shadowtext: Transformational Magic, as suggested by DeathHawk, (who surprisingly, has never been to the board, so patrons, you don't know him.) are all like this. Read the next three tutorials to see "Command Transformations," "Event Transformations," and "Variable Transformations." And, for those who may not realize, Variable-Driven Transformation is what they used to make "Trances" in FF9, and Command-Driven transformation is how they did "Dopplegang" in Chrono Cross, I think. And Event Transformations are how they did Illusion of Gaia transformations for sure.
Lesson 18: Variable Transform (Last updated - Jan 14, 2001)
Magic School Lesson #18: Transformations: Variable Lycanthrope, trances and limit breaks!
Master Mage: "I met an apprentice who could cast double the spells when he was angry enough, once. He was Vivi, and he called it the "Trance."
Shadowtext: And it's not THAT different from a Class Change, it's just in-battle. It's also similar to a Limit Break in that it relies on transformations. In fact, showing transformations this way is little more than an excuse to finally include a Limit Break tutorial in these lessons so I can finally tell people to look here.
Master Mage: Apparently, the trance is mostly put on by a certain amount of beating taking place.
Shadowtext: Here's the battle-event that calculates damage and inputs it into a variable.
Master Mage: "Once the anger is ready, he says it just "Came to him." Apparently, there's no controlling a trance.
Shadowtext: Controlling a trance is easy enough, and is mentioned later in the "Command Transformation" section. For now, here's the event:
Master Mage: "He looked different when Trancing."
Shadowtext: However, as you can't see your character, make him look the same. For reference, make "Trance" an incurable condition that does nothing. Unless you want it to do something. When you make the "Trance" character, you might want to change growth rates so that the trance character is stronger than the other. Now, does everyone remember how to undo a battle-only condition? That's right, a common event.
Shadowtext: The "Trance" character will reciever the experience, but the regular character gets it in the end this way. By the way, don't call the "Trance" character "Vivi(Trance)." I only put that in for your sake. You'll want the name to stay the same.
Master Mage: "Outside of battle, Trances work VERY similarly to the Lycanthropic Curse."
Shadowtext: For those of you who don't know, Lycanthropy is the state of werewolves. Well, were-anythings I guess.
Master Mage: "Instead of anger, Natural Lycanthropes can control their transformations. But cursed-Lycanthropes can't even control their transformations."
Shadowtext: Don't use HP. Use time or maybe a switch, like "Full Moon" or something. And this time, make the character "AI Controlled."
Lesson 19: In Battle Stats (Last updated - June 14, 2001)
Magic School Lesson #19: In Battle Ability Manipulation Immunities, abilities, alterations!
Shadowtext: It's been a while since we've been in a classroom, eh, Ayolis?
Master Mage: "And in all that time, you've yet to attain your mastery."
Shadowtext: Maybe if a certain Magilaureate weren't sabotaging me...
Master Mage: "...who, me?"
Shadowtext: That's beside the point. We've got to get to work. We'll get back slowly....although, as a warning, this IS a Journeyman level class, so for you apprentices, check the transcripts of the old classes.
Master Mage: "Shameless plug for the Pantheon?"
Shadowtext: Quiet you.
Master Mage: "Today we'll be working on ability altering magic. Haste spells, Shield spells, even Magic Nullification spells become a possibility."
Shadowtext: Unfortunately, this WILL require you to give up at least on Equipment slot for the entire game, if you want to do it right. For Exodus, I removed all armor and weapon choices. To disable item changes, you'll probably need a custom menu, but that's not our jurisdiction.
Master Mage: "Right. We teach the magic, you do the implementation! The second ingredient, Journeyman Shadowtext?"
Shadowtext: (grumbling) Next you'll need items for each ability altering spell. For instance, let's try a simple "Haste" spell. Make an Item with these properties (it's Type does not matter, as long as it is not one that is in use by the characters, and can be equipped as a defensive item. Attack items will NOT work in this way.)
Master Mage: "Now for the actual casting. This object you've imagined must now be attached to yourself. To do so requires a conjuration spell. It will be coupled with a conditional mask.
Shadowtext: And while conjuration was a subject discussed in Tutorial 1, I'll go ahead and remind you. And remember, a "Battle Event" is an event in the "Monster Party" screen in the database, so this WILL be a cut&paste job.
Master Mage: "And remember: never try to permanently change your abilities! It is very dangerous."
Shadowtext: This will also work for adding Status or Elemental immunities. It should be noted that you do not HAVE to refrain from using the slot that this item takes up.
Master Mage: "However, there is no way to draw ethereal AND physical defense at the same time. You must choose one of the other."
Shadowtext: In other words, to equip the stat changing spell, you have to unequip a defensive item. If you do it this way, you can learn how to reequip an item that was replaced by a conjured item in the "Conjuration" tutorial....Lesson #1, at the site mentioned above.
Master Mage: "Please don't ask for help on a custom menu for this. Dark Pantheon policy is that we are not allowed to do it. Sorry, but it is not within our jurisdiction."
Shadowtext: Now, it is not possible to equip enemies with items, so this is not the way to cast stat-REDUCING spells. However, enemies CAN cast those spells on you. In fact, RPG Advocate has done this before, and in fact was the source of my inspiration in this area. Thank you, Advocate.
Master Mage: "Without going into any particulars, rename "Haste" to "Slow," make it's speed "-80" and then give the spell to an enemy! Of course, you can easily make it a random target instead of just ONE hero....this is rather easy for enemies.
Shadowtext: And with that, adieu. We'll be back soon, though. Expect #20 before I'll have been a board member for a whole year....and possibly even more.
Lesson 20: Mimicry (Last updated - June 28, 2001)
Magic School Lesson #20: Mimicry Monkey see, monkey do
Shadowtext: Well, I said BY the day before my Board Birthday.
Master Mage: "So you decided to post it TWO days before the date?"
Shadowtext: Just to keep people on their toes.
Master Mage: "Indeed. Well, this is a rather difficult spell to pull off. Final Fantasy veterans will recall this spell.
Shadowtext: The problem is that if you want to use this spell, it will ONLY work with scripted spells--just like those Counter Spells and reflections we taught a while ago.
Master Mage: "Not to mention the fact that EVERY mimicable spell will have to be cast with the Mimic spell in mind."
Shadowtext: Not to mention, target redirection, if it casts the spell on the user. Anyway, let's get started. First off, every scripted spell will need a unique numeric identifier. The best idea would be to make this identifier the same as the skill number. So...
Master Mage: "...would have as its identifier '181.'"
Shadowtext: "Just so. Now, during each script, a new line should be inserted."
Master Mage: "Now that the last scripted spell is identifiable, one can cast it again."
Shadowtext: However, it takes a lot of Forks.
Master Mage: "It is just as easy to Mimic enemy spells.
Shadowtext: Right. Any scripted spell can be mimicked this way.
Master Mage: "The spell could also be used to cast a 'Return Magic' spell, although that's probably easier using the Counterspell method."
Shadowtext: To make a counterspell, make the mimic-script take place AFTER a scripted spell, but in the same event. If the target has a "Return Magic" ability equipped, simply cast the spell again, with the target being the person who cast the spell on the Returner.
Master Mage: "That's it for today."
Shadowtext: Class dismissed.
Lesson 21: Limbic System (Last updated - Apr 19, 2002)
Magic School Lesson #21: Limbic System Emotional empathy, depression, etc
Note: This only works with scripted spells.
Shadowtext: First off, let me explain that "Limbic" means emotional.
Master Mage: "Today is a lesson on making characters act in-battle like they do in the game. The main example is characters who dislike each other."
Shadowtext: This means lowered success rates in battle for Combo Spells, due to poor synchronization(which can also be a seperate variable). It could mean "showing off" in front of a girl that the main fighter wants to impress....leading to more powerful (but less successful) attacks.
Master Mage: "The main problem is that the emotions must FIRST take place OUTSIDE of battle!"
Shadowtext: Right--you need to explain away these features outside of battle. One option is to create an entire "Limbic System" for your party--each action affects the other character's emotions for one another. But that's not what I'm teaching--I'm teaching how to implement the battle effects.
Master Mage: "The 'fastest' way of doing this is to simply add the concept INTO the battle mechanism, but..."
Shadowtext: ...but that loses Dynamacy. One thing that you'll see in this and all future tutorials (and hopefully in the ones before it) is an attention to making things portable. You want your system to be very easy to implement from DIFFERENT places. This generally means subroutines.
Master Mage: "Let's start by changing some of the regular math."
Shadowtext: First, change your old Success Rate Algorythm for the spell in question. Let's say that it used to be...
Shadowtext: You want to change it a bit, by adding a simple operand that will in most cases equal zero. Name it "EmotiveOperand"
Master Mage: "Now, whenever a battler is feeling emotional, all one must do is call it!"
Shadowtext: This would be done by simply adding in a "call" or "Goto" subroutine, for instance,
Master Mage: "As to announcing one's feelings, that, too, is simple."
Shadowtext: This one is even better! All you need is a switch! Add this to the Battle-Damage "Report" message.
Master Mage: "Of course, this technique is malleable..."
Shadowtext: You'll want to change the Message itself, and maybe even make that message and the damage dealt the same message. Well--that's your problem!
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)