10-09-2018, 05:46 PM
(This post was last modified: 10-09-2018, 05:50 PM by DerVVulfman.)
ShadowText's Dark Pantheon of Tutorials
Magic School Lessons
Continued
Magic School Lessons
Continued
Lesson 11: Conditionals (Last updated - Sept 26, 2000)
Magic School Lesson #11: Conditionals
"Math Skills" from Final Fantasy Tactics
"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.
Lesson 12: Monster Binding (Last updated - Sept 26, 2000)
Magic School Lesson #12: Monster Binding
Capturing Monsters (Think the 'P' word)
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)
Lesson 13: Avataric Weapons(Last updated - Sept 26, 2000)
Magic School Lesson #13: Avataric Weapons
Weapons based on user (like the Atma)
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?'"
Shadowtext: Yeah, well...
Lesson 14: Coin Toss (Last updated - Sept 26, 2000)
Magic School Lesson #14: Coin Toss
Magic Monies
Magic Monies
Master Mage: "Money is powerful, they say. Wanna test that?"
Shadowtext: This isn't really your area.
Master Mage: "I realize that. But you need me."
Shadowtext: Whatever. Okay, I think percentages are the best way to do this. [/font]
Master Mage: "Losing the money, though?"
Shadowtext: Glad you reminded me. This is out-of-battle.
Master Mage: "See? You needed me to remind you."
Shadowtext: Fine, you keep your job.
Master Mage: "Hey, remember, you are but a Journeyman! I outrank you."
Shadowtext: Fine. So I am still your underling. It hardly matters.
Lesson 15: Counterspells (Last updated - Sept 26, 2000)
Magic School Lesson #15: Counterspells
Spells to counter damage algorythms
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!
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
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!
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!
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
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
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...)
Above are clickable links