Complete Materia System

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Complete Materia System as PDF for free.

More details

  • Words: 1,458
  • Pages: 4
Complete Materia System Written by madriel222 on 10/27/2006. This is an ongoing project of mine that will bring the Final Fantasy VII Materia System to an rm2k3 game near you. If you seriously need to take a look at the coding, take a look at the demo of The Song of Elegin for now, but I will create a project specifically for this tutorial in the very near future. Method 1: Using Skill Scrolls and Conditions Ok, first, you'll need a few things. 1 status condition (Leave everything blank, save for the name) for each Materia item. 1 Materia item skill scroll for each spell family (Thunder, Thundera, Thundaga.) Make this item infinite. (as in how many times it can be used.) 1 Switch for each Character X Materia Items (We'll use Cloud as an example, I.E: CloudIce, CloudFire, CloudThunder) 1 Variable For Each Character X Materia Items (CloudIceValue, CloudFireValue, etc.) 1 Skill to evoke the status condition stated above for each materia item 1 Variable to show how many Materias the party has. 1 Variable to see how many are equipped. 1 Variable per character to show how much materia they can use. (Your discretion) 1 Variable per character to show how much Materia they're packing. So say I had Cloud, Aeris, and Tifa. I, being extremely tired at the moment, make only four Materia Types, Ice, Fire, Thunder, and Cure. That means I'd need, according to this system STATUSES: ICE FIRE CURE THUNDER Skill Scrolls (Materia) Ice Materia Fire Materia Cure Materia Thunder Materia VARIABLES CloudIceValue CloudFireValue CloudCureValue CloudThunderValue ...(repeat for Aeris and Tifa.) FireMateriaHave IceMateriaHave CureMateriaHave ThunderMateriaHave FireEquipped IceEquipped ThunderEquipped CureEquipped CloudMateriaLimit AerisMateriaLimit TifaMateriaLimit

CloudMateriaHave AerisMateriaHave TifaMateriaHave SWITCHES CloudFireON CloudIceON CloudCureON CloudThunderON ...(Again repeat for Aeris and Tifa.) Less then you thought it would be, huh? Now, at the begining of the game Set all Character Materia values (These will determine the spells they learn) to 1. We'll finish up here later Now, we need to make a common event that is always on. For the sake of pragmaticism, we'll make all the "MateriaLimit" variables a "limit" of 2 for now. COMMON EVENT: MATERIA [CODE]If Cloud Is in Fire Condition :If CloudFIreON is On Then Cloud is already imbued with fire's magic. Remove fire materia from cloud? Show Choices: Yes/No YES CASE SWITCH CloudFireON OFF Cloud gave up fire's magic. Variable Fire Equipped -1 END Else Case: If VarFireEquipped is greater than or equal to FireMateria Have Then There's no Firemateria left to equip! Else IF variable CloudMateriaHave is equal to CloudMateriaLimit THEN Cloud can't equip anymore materia! ELSE SWITCH: CloudFireON Cloud was imbued with Fire's Magic! VARIABLE: FireEquipped + 1 VARIABLE: CloudMateriaHave +1 END[/CODE] Repeat this for each of Cloud Materia's, then Aeris and Tifa. At the end, have it cancel all Materia-related status. (The ones I told you to create.) Now, the next common event... MateriaLearning [CODE]If CloudFireON is ON Then

Memorize Skill Fire IF CloudFireValue is greater than/equal to 2 Memorize Fira IF CloudFireValue is greater than/equal to 3 Memorize Firaga ELSE Forget Fire Forget Fira Forget Firaga[/CODE] (Repeat this for the rest of Cloud Materia and then Aeris, Tifa, and whoever else.) Method 2: Using Common Items and Switches (COMING SOON!) Recent Improvements: ---------------------------I didn't have this in here before, but I'll add it now. Each materia CAN gain its own EXP. You have to have a battle event with a conditional branch that checks if each materia is worn. If it is, EXP is added to a variable that tracks the materia's EXP. Of course, you would then need a common event that tracks the EXP, levels up the materia accordingly, and changes the skills accordingly. An example of how this is done (though not EXACTLY) can be found in my demo of The Song of Elegin, just look at the events labled "Essences." -"All" Materia: This one can be a bit tricky, but is still possible. The trick is to make a copy of every skill in the database that can be applied to "All." The only difference with these skills is that it damages all enemies (or heals all allies) instead of the usual single target. At the beginning of every battle, set a variable called "All Value" equal to the level of the "All" Materia. This step will have to be repeated for each "All" Materia equipped, so make sure to make distincitions between each of them (whether by switch or variable, just track where your "All Materia are). Because they are tracked, you know which of your "All" skills to add. This sounds like a hastle, but only needs to be done once. You'll want to remove those skills that are affected and replace them with the "All" versions (I believe this requires a common event). Now (assuming you are using the DBS, the process is actually simpler in a CBS), make a new page in your battle events with the trigger of the hero (a page for each hero) using the battle command that corresponds to the equipped materia type. The only code you need here is to subtract 1 from the variable "All Value" and then a conditional branch that checks if "All Value" is less than or equal to 0. If it is, replace all of your "All" skills with the regular ones. I realize this is a pain, and I will try my hardest to make an easier way. I know this is bug free, however, and I'd rather be that than short. -Individualized Weapon/Armor Limits on Materia Equipped: This requires just one more page in your menu initialization event (so yes, it will be called). You have a variable that tracks which character the menu is on, correct? If not, you may want to make that up now. The page will look like this, really not hard. [CODE] Variable Operation [0001:HeroA WepMat] Set 0 *Repeat above step for other pieces of equipment and the other *heroes . This variable keeps track of how many materia that *weapon can hold Branch if Hero1 has Longsword equipped Variable Operation [0001:HeroA WepMat] +X *Where X is equal to the number of slots you want that piece of *equipment to have. Repeat this for each weapon. Long, yes, but *not difficult [/CODE] After giving each of the weapons a value, all that's left is to show pictures accordingly and to restrict cursor movement accordingly, each of which are basic CMS principles

-Materia Mastery So what happens when that Fire materia gets to level 5 and is ready to spawn a lesser Fire materia? Pretty easily actually! Just for reference, we'll be using level 5 as the level in which this particular materia is mastered. So, the materia is gathering experience points and is about ready to hit level 5. BUT BEFORE IT DOES, WE HAVE TO MAKE SOME PREPARATIONS! Before advancing the materia to level 5, display a message stating that the materia has been mastered (or any other sort of indication that the mastery has been completed). Then, add the new, blank materia (lvl. 1, so make sure to assign it a variable). Only after this may we advance to level 5. Easy enough right? Here's the modification to the code: [CODE] Branch if Var[Fire1Xp] is equal to X [where X equals the experience to level 5] Message: Fire Materia was mastered! Change Items: Fire Materia 1 Add Variable Oper [Fire2 Lvl] Set 1 Variable Oper [Fire1 Lvl] Set 5 [/CODE] Easy enough, right? Anyway, it is highly advisable that you set a limit to the number of materia of each type that the party can carry. Otherwise you will bury yourself in variable goo. And that should do it. If you're about ready to take my head off for a small error, please know this was done VERY LATE, so bear with me if there were small mistakes. As I said, I will continue to update this thread as I get deeper and deeper into the system. I apologize for its incompleteness at the moment (I altered it for my own game and so abandoned the methodology for the original materia system). If you haven't realized it already, you pretty much are required to make a CMS for this system. Although I can show you how to do that, this is meant to be an advanced tutorial and will assume that you know how to make it already. If you are struggling with it, contact me and we'll get you started. If you have any questions regarding it, either throw up a post here or feel free to get in contact with me via PM or any of the messenger services found in my profile. Until next time, this is madriel222, signing off

Related Documents

Complete Materia System
November 2019 11
Complete System Data Print
November 2019 24
Materia
October 2019 39
Materia
October 2019 28
Materia
June 2020 13