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
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!
Lesson 1: Conjuration (Last updated - Sept 26, 2000)
Magic School Lesson #1: Conjuration
Summoning weapons, armor...
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
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.
(((2 * Defense) + (Mind - 5)) * 10) / (Enemy.Defense + Enemy.MDefense).
Will work fine. Add this to the above event:
vDamage = Hero.Mage.Defense Power
vDamage = vDamage * 2
vMind = Hero.Mage.Mind Force
vMind = vMind - 5
vDamage = vDamage + vMind
vDamage = vDamage * 10
vEnemy = Enemy.Enemy1.Defense
vEnemy = vEnemy - Enemy.Enemy1.MindForce
vDamage = vDamage / vEnemy
ChangeEnemyHP.HP_Strict.Variable 00002: vDamage
Overall, the spell is very complex, but understandable.
The totalized event:
Battle Event "Drop"
Event Condition: Switch."Drop_Spell" = ON
vEnemyNumber = Random Number up to
ShowBattleAnimation "Drop"
vDamage = Hero.Mage.Defense Power
vDamage = vDamage * 2
vMind = Hero.Mage.Mind Force
vMind = vMind - 5
vDamage = vDamage + vMind
vDamage = vDamage * 10
vEnemy = Enemy.Enemy1.Defense
vEnemy = vEnemy - Enemy.Enemy1.MindForce
vDamage = vDamage / vEnemy
ChangeEnemyHP.HP_Strict.Variable 00002: vDamage
Switch."Drop Switch" = OFF
Lesson 3: Spell Components (Last updated - Sept 26, 2000)
Magic School Lesson #3: Spell Components
Items absorbed during casting
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
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.
Lesson 5: Artificial Magic (Last updated - Sept 26, 2000)
Magic School Lesson #5: Artificial Magic
All things artifact
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."
Master Mage: "Shaddup."
Lesson 6: Condition Masks (Last updated - Sept 26, 2000)
Magic School Lesson #6: Condition Masks
Special conditions (regen)
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
Lesson 7: Item Fragility (Last updated - Sept 26, 2000)
Magic School Lesson #7: Item Fragility
Items that break
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)
Magic School Lesson #8: Combo Magic
Combining talent (ala Chrono Trigger)
Combining talent (ala Chrono Trigger)
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.
Lesson 9: Item Creation (Last updated - Sept 26, 2000)
Magic School Lesson #9: Item Creation
Creating items (ala Star Ocean)
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.
Lesson 10: Enemy Skills (Last updated - Sept 26, 2000)
Magic School Lesson #10: Enemy Skills
Learning spells from enemies
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...)
Above are clickable links