• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
April 25, 2024, 09:40:48 pm

News:

Don't be hasty to start your own mod; all our FFT modding projects are greatly understaffed! Find out how you can help in the Recruitment section or our Discord!


Generic Jobs Editing, Skillset Limitations

Started by R999, March 26, 2010, 09:06:50 pm

Timbo

I just want to say that this has been the most educational thread I've read thus far.  This needs to be stickied.
  • Modding version: PSX
  • Discord username: Timbo

formerdeathcorps

Quote from: "R999"Actually, even setting it as a secondary does not guarantee that all of the skills would be available (as I have reported previously).

I'd like to see a reproduction of that.  I have never encountered that.  I'd like to see what you did.

QuoteNow, I wonder  if there is a way to turn a special job into a Generic one.

SentinelBlade came pretty close but he used ASM and it only worked by manually inserting debug code into a battle.  Once the game returned to WORLD.BIN, it crashed.
The destruction of the will is the rape of the mind.
The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.

R999

March 28, 2010, 03:22:57 am #22 Last Edit: March 28, 2010, 12:57:05 pm by R999
Sigh... I found some more visual bugs even foolproofing with the Squire,


Quoting Wrong Person





Now, the opposite problem in the formation/status screen.

Status Menu of Abilities Learned



Actual Abilities Available






The foolproof was to force all Squire abilities learned at 100% starting, and making sure that the Squire job (and all special jobs) having at least N abilities (where N is the maximum number of skills for any of your generics that uses a different skillset). At least the first visual bug can be fixed by removing the Quote option. Edit: As noted by formerdeathcorps, there is a workaround to that second bug. By not making the abilities learnable by JP, for example.

Now I am not 100% sure if something else could have caused these bugs. I wish someone could tell me if they have had experience with this.

formerdeathcorps

No, it's the same problem.  If you master all 16 skills of squire, the logical corollary is that you will master all 16 skills of any non-generic skillset.  This is why I used spillover JP mastery for all the unit classes with changed skillsets.
The destruction of the will is the rape of the mind.
The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.

R999

^ Are you saying that having spillover JP a solution to these bugs? I don't quite understand.

formerdeathcorps

It's a fairly crude workaround.  The idea is that you have your glitched class have a level X requirement in himself.  As long as X corresponds to something more than 200 JP, you can't unlock this class unless you already have one of this class.  The only way to do that is if a unit who already unlocked this class joins your party.  You then train with that newly recruited unit to unlock the glitched unit class for all your other units via spillover JP.  As long as X is high enough to equal the sum of all the action abilities in the non-generic skillset you are using for the glitched unit class, and the unit class has a level Y requirement in squire, where Y is high enough to mandate mastery of squire, you should be able to rid yourself of this bug.  In short, you require the player to learn the JP equivalent of every attack in the glitched unit class to be able to unlock the unit class (tedious, but actually saves them work by the endgame since they can spend all the learned JP on just R/S/M).
For best results, you probably need to set squire's moveset to learn at 100% (with low JP requirements--so the AI always comes with squire mastered) and require every action ability in your glitched skillset cost 9999 JP, not learned with JP (so the player doesn't waste JP trying to learn thing he already "knows" or get freaked out by seeing himself use skills he hasn't "learned").
The destruction of the will is the rape of the mind.
The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.

SentinalBlade

Mam, i wish i would have made a thread like this over a year ago when i started work on ASMing it.

The problem, is that the action menu has HARDCODED, and VERY specific checks. The action menu is loaded, and checked against itself in at least three other spots (so if you have elemental, and change the action menu in fftpatcher to normal, its still elemental, and it WILL still find it, thats where it conflicts with itself, and jumps to the wrong branches(which is why all attacks have a weapon range, 00% chance to do nothing) If you let it load you skillset first, then change the action menu, after it is loaded, it seems to work genuine. But it checks it consistently, and my asm knowledge for looping is limited. So, granted that, my asm will work in game the first time you select the menu, but if you exit it, or get another turn, your screwed.

The japanese found a workaround, but their code, addresses, and routine jumps are generally more confusing than you guys are going to be after reading this post.

One fix i tried, was having all abilities as normal....(using Agrias as a samurai as an example, here) When agrias got a turn, it would load her samurai skillset into her squire placeset(i.e. Holy Knight). This worked marvels, with no crashing. but did not work for secondaries. And only on special units.

I started working on this in january of 09. IF you guys find a fix not involving ASM, im gonna be surprised, but will apreaciate the lightened workload.

BTW:: I make it sound like i can fix it, if i can work with loops, but thats a very big stretch; i already forsee 2 other problems with constant looping. Slowdown, and conflicting code with the secondary skillset.

Let me know if you guys have any spitballs i can try to fit into the straw that is my ASM Knowledge.

EDIT:: if you want me to explain EXACTLY why its greying out and doing this, i can, but i didnt want to make this a wall of text and people not read most of it.

Vanya

Can you provide the addresses or a disassembly of the relevant code?
If I knew where this stuff was I might be able to do something about it since I do know how to deal with loops.
This can be fixed with ASM even if it is complicated spaghetti code.
  • Modding version: Other/Unknown
¯\(°_0)/¯

SentinalBlade

Unfortunately, that was lost last time my hard drive crashed(along with the old SoR, which is why i had to restart it the first time). If i end up finding time to work on it soon, i will, but as it is, its been almost 5 days since i got to even log onto this site D:

formerdeathcorps

I sent you a PM on my workaround plan a few weeks ago.  If you remember anything, please reply.
The destruction of the will is the rape of the mind.
The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.

philsov

Quote from: "formerdeathcorps"I sent you a PM on my workaround plan a few weeks ago.  If you remember anything, please reply.

check your sentbox?
Just another rebel plotting rebellion.

Timbo

deleted for redundancy.  I should never be allowed to post so late into the evening.
  • Modding version: PSX
  • Discord username: Timbo

Timbo

Okay, so I've been playing around with remapping generic skillsets myself lately.  I didn't want to alter the job ring so rather than change the job I changed the skillset.  I specifically gave the Knight the Math Skillset and gave the Calculator the Battle Skillset and then switched their skills around.  The Calculator (Battle Skill) had a maximum of 8 skills and the Knight (Math Skill) was able to use its entire skillset without needing to even learn any of the abilities.  I know this because the Calculator ended up becoming a composite dancer bard and only 8 of its skills became available.

So I did a little testing by maxing out both sets with white magic spells and achieved the above results.  

So, long story short.  It's better to change sprites instead of skillsets.  Now, I have yet to test this last part but I theorize that If you intend to expand your skillset its important to keep the each skillset with its original job.  It appears that it's better to restat and resprite a job then to switch skillsets.

Can anybody confirm this?
  • Modding version: PSX
  • Discord username: Timbo

RavenOfRazgriz

Quote from: "Jack of All Trades"Okay, so I've been playing around with remapping generic skillsets myself lately.  I didn't want to alter the job ring so rather than change the job I changed the skillset.  I specifically gave the Knight the Math Skillset and gave the Calculator the Battle Skillset and then switched their skills around.  The Calculator (Battle Skill) had a maximum of 8 skills and the Knight (Math Skill) was able to use its entire skillset without needing to even learn any of the abilities.  I know this because the Calculator ended up becoming a composite dancer bard and only 8 of its skills became available.

So I did a little testing by maxing out both sets with white magic spells and achieved the above results.  

So, long story short.  It's better to change sprites instead of skillsets.  Now, I have yet to test this last part but I theorize that If you intend to expand your skillset its important to keep the each skillset with its original job.  It appears that it's better to restat and resprite a job then to switch skillsets.

Can anybody confirm this?

Don't change the skillset each job references.

Change the skills contained in the Battle Skill set and the Math Skill set.

So, instead of having Knight wielding Math Skill, Knight is wielding Battle Skill that contains all the flags and abilities of Math Skill inside it, and Calculator has a Math Skill that is default flagged and contains the abilities from Battle Skill.  That should work properly, from what I know of ability mapping.

Timbo

Yeah, I found that out the hard way.  Now I have to go back and edit everything back.  Well, live and learn.
  • Modding version: PSX
  • Discord username: Timbo