07-02-2014, 04:03 AM
Some may have seen finalholylight's recent notice in MicKo's Skill Tree script. While a nice system, he found a drastic flaw with the feature that lets one upgrade a skill in their tree:
So the question is... WHAT THE HELL DO I DO? I'M USING THE SUCKER IN MY GAME TOO!!!
And the answer.... diagnostic rewrite.
MicKo's system used a system that altered the original $data_skills that was loaded into the game when you started it. And it is both reloaded and saved in your save games. If you increase your heal skill, it overwrites the heal skill in the entire data file and replaces it with another powerful skill. But again, anyone using that skill would also gain that benefit. Imagine increasing your powerful attack to wipe out an evenly matched opponent, only to find you just worked your self like crazy to upgrade his killer skill too!
So MY trick is: Make an array of skill IDs and Levels for each actor. So if you have the generic 32 skills, you have an array of 32 Skill IDs for each actor that can be upgraded. And it references that list when used within Game_Battler's skill system (and a few other parts). By doing so, only the actor doing his skill upgrade will get that upgrade. :D
Oh, and I'm adding a little 'Skill Book' feature too. Read a book, upgrade (or learn) that skill. It's MOSTLY done.... Some cleanup to take care of now. I'll prolly use a .chm help file to to describe the features.
If you upgrade one skill, anyone else with that skill will have it upgraded too... including your enemy's.
So the question is... WHAT THE HELL DO I DO? I'M USING THE SUCKER IN MY GAME TOO!!!
And the answer.... diagnostic rewrite.
MicKo's system used a system that altered the original $data_skills that was loaded into the game when you started it. And it is both reloaded and saved in your save games. If you increase your heal skill, it overwrites the heal skill in the entire data file and replaces it with another powerful skill. But again, anyone using that skill would also gain that benefit. Imagine increasing your powerful attack to wipe out an evenly matched opponent, only to find you just worked your self like crazy to upgrade his killer skill too!
So MY trick is: Make an array of skill IDs and Levels for each actor. So if you have the generic 32 skills, you have an array of 32 Skill IDs for each actor that can be upgraded. And it references that list when used within Game_Battler's skill system (and a few other parts). By doing so, only the actor doing his skill upgrade will get that upgrade. :D
Oh, and I'm adding a little 'Skill Book' feature too. Read a book, upgrade (or learn) that skill. It's MOSTLY done.... Some cleanup to take care of now. I'll prolly use a .chm help file to to describe the features.