• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
April 16, 2024, 06:51:30 am

News:

Please use .png instead of .bmp when uploading unfinished sprites to the forum!


RAD 3: 35 jobs.

Started by pokeytax, April 12, 2011, 08:42:20 pm

pokeytax

April 12, 2011, 08:42:20 pm Last Edit: October 09, 2011, 11:41:03 am by pokeytax
Conga line!



This spreadsheet works a lot like ALMA's: input values, press the button, out comes .xml for FFTorgASM.

If you do some FFTPatcher work, you can give these classes separate slots (e.g. Chemist A1 - A8, RSM1 - RSM3; Astrologist A9 - A16, RSM4 - RSM6) so that all they share is JP and job level. The lazy demo .ppf attached bothers to do this about half of the time.

These jobs should work like normal. They learn abilities; their skillsets become equippable secondaries; they gain JP and grant spillover JP; they have gender and job level requirements. They're only different in that they share JP and job level with their "host" jobs.

To-do:
- more types of requirements
- allow the AI to autolearn these abilities (currently it ignores RAD's existence)
- fix the status screen during battle
- monster job wheels

Known issues:
- If your squadmate can access a job but you can't, it doesn't show up at all, instead of being grayed out. This requires some painful coding and is low priority for now.
- Extra jobs don't show up in the extended status screen during battle yet (the one that resembles the Learn menu).
- Going past 15 added jobs, i.e. 32 available secondaries, causes crashes in the Secondary select menu
  • Modding version: PSX

MagiusRerecros

So... Wait. Is there currently a difference between RAD and RAD 2 right now?
Move Zig. For great Justice.

Also, Algus sucks up to level 5 donkey balls.

pokeytax

April 12, 2011, 09:15:33 pm #2 Last Edit: April 12, 2011, 09:18:59 pm by pokeytax
Quote from: MagiusRerecros on April 12, 2011, 09:12:44 pm
So... Wait. Is there currently a difference between RAD and RAD 2 right now?


Just what's preloaded. RAD has three classes fully functional. RAD 2 has forty classes on the job wheel but ability learning is all wonky. These are demos, more or less; I'm mostly done with a spreadsheet that will let you easily set up your own jobs without manual table editing and automatically make them fully functional.
  • Modding version: PSX

MagiusRerecros

Ah, that makes sense.

Also, I'm glad that this hack makes things like this possible:

Just because it's funny.
Move Zig. For great Justice.

Also, Algus sucks up to level 5 donkey balls.

The Damned

Awesome.

Now if only there was spontaneously more room for more abilities in addition to all the other still non-player classes. Hell, if only there was a spontaneously more room in general....

*depressed sigh*
"Sorrow cannot be abolished. It is meaningless to try." - FFX's Yunalesca

"Good and evil are relative, but being a dick cannot be allowed." - Oglaf's Thaumaturge in "The Abyss"

"Well, see, the real magic isn't believing in yourself. The real magic is manipulating people by telling them to believe in themselves. The more you believe, the less you check facts."  - Oglaf's Vanka in "Conviction"

Tea

QuoteIf you do some FFTPatcher work, you can give these classes separate slots (e.g. Chemist A1 - A8, RSM1 - RSM3; Astrologist A9 - A16, RSM4 - RSM6) so that all they share is JP and job level. I haven't bothered for this demo, since that would require a .ppf.


So if you don't, you can have an extra class that has the same skillset, same JP pool, same job level, but different stats and equipment options? Or, better yet, if you do do some work, have an extra class sharing JP and jLvl, but has 1-2 skills more in their skillset, and different stats?
Effectively creating a higher tier of jobs, that build forth on the lesser tier job.

Cheetah

Pokey you are on a roll, this is incredible stuff! Sounds like this is very very close to have more usable jobs, extremely impressive.
Current Projects:

Xifanie

Not really cheetah. The game has specific slots for learnt abilities in the world map/saves/battles, and increasing it or reconfiguring it would be extremely tedious. It is possible; I just don't know if there is any free space in there.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

pokeytax

April 13, 2011, 06:16:28 pm #8 Last Edit: May 14, 2011, 07:34:30 pm by pokeytax
Here is a spreadsheet, use it to build your own wheel.

Quote from: TeaOr, better yet, if you do do some work, have an extra class sharing JP and jLvl, but has 1-2 skills more in their skillset, and different stats?


Yeah, I haven't thought it through much but there are some interesting ways to let the JP/level sharing work for you, rather than just putting up with it grudgingly:

- Add "Esquire", which requires Level 5 Squire and resembles Ramza's ubersquire class
- Go all-out Disgaea and add Warlock/Conjurer/Black Wizard, requiring Level 3/5/7 Black Mage
- Go all-out Ogre Battle and fork the job tree by gender
- Add "White Monk" and "Black Belt" in place of "Monk"; each has Spin Fist and Chakra, but White Monk has hats and Revive/Stigma/Aurabolt, while Black Belt has higher PA and Punch Rush/Dolphin Blow/Suplex

Quote from: XifanieThe game has specific slots for learnt abilities in the world map/saves/battles, and increasing it or reconfiguring it would be extremely tedious.


Yes, there is no chance I am adding distinct JP totals or learnt ability bytes to these jobs, that would be an epic headache. But sharing the learnt ability bytes works shockingly well - AFAIK there's no indication to the player what's going on beyond the merged JP/job level. As The Damned notes, # of total abilities is the real constraint.
  • Modding version: PSX

MagiusRerecros

Now, you mentioned before that you have it set up so that Princess is female only, doesn't have job requirements, and shares jp and such with Priest. But if I'm reading this spreadsheet right, which I can only assume I'm not, Princess by default would require Priest 2, Dancer 1. I assume that the Dancer 1 is to force the class to be available to females only, since from what I can tell, all female characters technically have dancer 1, even if they haven't technically unlocked it yet.

I'm slightly curious as to why you set the default requirements for jobs 4-20 to Bard 1/Dancer 1, since I imagine that would make the jobs inaccessible to anyone, seeing as no character has both bard and dancer (since that would require being both male and female, and Tactics never really dealt with transgender characters...).

I guess my final question is what the blocks of "01" next to the jobs in the "Shares with Class Lock" table are for; is that something required by the spreadsheet when it goes to generate the code for orgASM?
Move Zig. For great Justice.

Also, Algus sucks up to level 5 donkey balls.

pokeytax

April 13, 2011, 10:46:38 pm #10 Last Edit: April 13, 2011, 10:49:18 pm by pokeytax
Quote from: MagiusRerecros on April 13, 2011, 09:31:34 pmI assume that the Dancer 1 is to force the class to be available to females only, since from what I can tell, all female characters technically have dancer 1, even if they haven't technically unlocked it yet.


Yes. (The Princess just got changed to Priest 2 to demonstrate that gender and job level requirements aren't mutually exclusive - you are reading it correctly.)

Bard 1 Dancer 1 is just how you dummy out a job you aren't using, yeah.

QuoteI imagine that would make the jobs inaccessible to anyone, seeing as no character has both bard and dancer


Yes.

QuoteI guess my final question is what the blocks of "01" next to the jobs in the "Shares with Class Lock" table are for; is that something required by the spreadsheet when it goes to generate the code for orgASM?


Right now it's unused. I put it in because in the future I will want to add a flag or two to control who can access which classes.
  • Modding version: PSX

pokeytax

April 16, 2011, 05:19:10 pm #11 Last Edit: April 17, 2011, 01:43:42 pm by pokeytax


moreworkthanitlookslike.png

(making some progress on generics; lack of space in UNIT.BIN is gonna be a damper, though)

EDIT: okay, got formation portraits working! now for battle sprites and the pre-battle screen... talk about a pain, but it's doable and getting done.

  • Modding version: PSX

MagiusRerecros

April 17, 2011, 08:05:56 pm #12 Last Edit: April 18, 2011, 03:38:16 pm by MagiusRerecros
Out of boredom, I had patched an iso with RAD 2 from earlier, and I've noticed something somewhat odd; it seems that if you give a special job to a generic, you can still send them on propositions, but they don't seem to get the jp reward like they're supposed to. Any ideas why that is?

Edit: Also, it seems that after you unlock a certain amount of jobs, once you try and change your secondary skillset, the game just freezes. For example, I've got a generic who's unlocked: Squire, Chemist, Knight, Archer, Monk, Priest, Wizard, Thief, Mediator, Oracle, Geomancer, Lancer, Samurai, Ninja, Astrologist, Dark Knight, Princess, Holy Swordsman, High Priest, Dragoner, Holy Priest, Bishop, Cleric, Engineer, Dark Knight (again), Cardinal, Heaven Knight, Hell Knight (again), Arc Knight, Delita's Sis, Arc Duke, Holy Knight, and Temple Knight. I can change jobs, items, and R/S/M, but if I try and change my secondary skillset, pSX just crashes, with the console giving the error code translate_address: illegal physical address 062226a8. I can only assume that the problem is something along the lines of the list of secondary skillsets being too long for that particular menu; which actually doesn't make much sense, given that all of the other menus seem to just be able to expand, but I can't think of any other reason why this would be happening. Also, this error doesn't seem to show up when switching the secondary skillsets of other characters who haven't yet that many jobs.
Move Zig. For great Justice.

Also, Algus sucks up to level 5 donkey balls.

pokeytax

It's an unpatched odd end I didn't even think of - thanks for pointing that out, I'll see about it once the bulk of things is done.
  • Modding version: PSX

MagiusRerecros

Quote from: pokeytax on April 17, 2011, 10:29:43 pm
It's an unpatched odd end I didn't even think of - thanks for pointing that out, I'll see about it once the bulk of things is done.


Just trying to be helpful :D
Move Zig. For great Justice.

Also, Algus sucks up to level 5 donkey balls.

pokeytax

April 23, 2011, 11:12:37 am #15 Last Edit: May 14, 2011, 07:34:40 pm by pokeytax
Okay, here is the proof-of-concept hack for generics. While it references the Chemist, Priest, and Thief sprites, the tables are there and these could easily be replaced with any other sprites, including and especially custom sprites. Unlike previously, the table editing is non-trivial, so you probably want to wait until the spreadsheet is finished later this week - there's no real reason to download this yet. Hopefully this holds, 'cause I'm about sick of sprites for a while! (EDIT: wait... if the pre-battle screen is loading UNIT.BIN sprites, then that means... seriously?! there goes another 0x1E0 in BATTLE.BIN. okay still have to fix one thing, none of you will notice though)

I'll get to fixing the rest of the bugs soon, especially that skillset crash.
  • Modding version: PSX

RavenOfRazgriz

So mind my retardation, but this is basically job wheel expansion that piggybacks two smaller Jobs' A/R/S/M/JP together?

If it weren't for the JP thing, that'd be pretty awesome.  As it is, still pretty awesome, but I dunno how useful it is unless you're specifically going for intertied jobs or multiple base class special generics.  I'm assuming these Jobs share their host's prereqs and can't be used as prereqs themselves, though.

As for Bard/Dancer, a male is treated as having MASTERED level Dancer, and a female MASTERED level Bard.  If you set them both to be prereqs for the same job, the job will open as normal during gameplay, meaning the player will never know they were using a bastardized Bard/Dancer.  If set as prereqs for different Jobs, males will have the Dancer-required Jobs open immediately once they meet all other prereqs, vice-verse for females and Bard-required Jobs.  This was an issue Celdia encountered in CCP when making her Cook/Homemaker base class, and this was how it always panned out, if memory serves.

pokeytax

April 23, 2011, 12:30:45 pm #17 Last Edit: April 23, 2011, 12:57:39 pm by pokeytax
Quote from: RavenOfRazgriz on April 23, 2011, 12:08:39 pm
So mind my retardation, but this is basically job wheel expansion that piggybacks two smaller Jobs' A/R/S/M/JP together?


Yes - 16 action ability spaces, 6 R/S/M spaces, and merged JP/job level for two (or three or seven) jobs.

Quote
I'm assuming these Jobs share their host's prereqs and can't be used as prereqs themselves, though.


They have their own prereqs (custom routine). They can't be used explicitly as prereqs for other jobs because they share JP and job level with another job - earning Alchemist JP counts toward Chemist job level and Chemist prerequisite level. Of course, if you had a split job tree where only one of these jobs was accessible, a Chemist Level 2 requirement would effectively be an Alchemist Level 2 requirement.

Quote
As for Bard/Dancer, a male is treated as having MASTERED level Dancer, and a female MASTERED level Bard.  If you set them both to be prereqs for the same job, the job will open as normal during gameplay, meaning the player will never know they were using a bastardized Bard/Dancer.  If set as prereqs for different Jobs, males will have the Dancer-required Jobs open immediately once they meet all other prereqs, vice-verse for females and Bard-required Jobs.  This was an issue Celdia encountered in CCP when making her Cook/Homemaker base class, and this was how it always panned out, if memory serves.


That's very useful to know, thanks! Makes splitting the class tree by sex a bit harder. Maybe I should hack it out sometime.

The RAD prerequisites are a custom routine that read from the job level in unit data. Here is how they work:

- All male units default to level 1 in all classes except Dancer, which is level 0.
- All female units default to level 1 in all classes except Bard, which is level 0.
- So setting a RAD prereq of level 1 Dancer is the same as adding "female only" and setting a RAD prereq of level 1 Dancer/Bard permanently locks the class.
  • Modding version: PSX

RavenOfRazgriz

Quote from: pokeytax on April 23, 2011, 12:30:45 pm
Yes - 16 action ability spaces, 6 R/S/M spaces, and merged job level for two (or three or seven) jobs.

They have their own prereqs (custom routine). They can't be used explicitly as prereqs for other jobs because they share JP and job level with another job - earning Alchemist JP counts toward Chemist job level and Chemist prerequisite level. Of course, if you had a split job tree where only one of these jobs was accessible, a Chemist Level 2 requirement would effectively be an Alchemist Level 2 requirement.


Interesting.  I'm still having trouble filling what Jobs exist in Vanilla, but I'm a picky douchebag.  Still interesting for making split-job trees.  A long time ago I wanted to make an FFT hack that shanghai'd the engine for a giant robot turn-based strategy game, and this would've been perfect for that, like you don't even know.  As is, I may actually end up using this for my Power Rangers Edition now that I think about it more because it helps me give all the Rangers two unique Jobs without compromising the Job Wheel.

At the very least, this is a roundabout way of creating a Mime Fix while actually letting you keep Mime too, so I guess it does have a bit of general utility.  Do you think making a Job "share" with Calculator and giving that Job all the A/R/S/M space would allow me to dodge the slowdown that the Math Skill set gives to AoE skills?  If so, that's at least two immediate and practical uses for RAD for everybody.

Quote from: pokeytax on April 23, 2011, 12:30:45 pmThat's very useful to know, thanks! Makes splitting the class tree by sex a bit harder. Maybe I should hack it out sometime.


Yeah, if that's to your fancy, never been a fan of the sex-based tree but I know a lot of people are.  Also, males/females can technically access the opposing Bard/Dancer classes, since using a "know everything" cheat and telling a male to know all the skills in Dancer (eg) allows you to use Dancer R/S/M.  This means you could likely hack out the gender requirement for them entirely and steal some of whatever bit of RAD helps the sprite issue to give them proper male/female sprite set options, if you'd want to try going in that direction as well.  I have the funny feeling people would be happy to see both.

Then again, you could just do what I said above for Calculator and give all their space to a non-Gender bound, RAD-enabled pair of Jobs and that'd be sort of a workaround... but I don't know how this handles which sprites to assign to which Job, and there's such restrictive Sprite space I'd prefer to waste as little of it as possible.  Then again, I guess I could load enemy Specials into the Bard slot or something and just force spritesets avoid wasting space, since no one will ever be able to tell the difference.

Quote from: pokeytax on April 23, 2011, 12:30:45 pmThe RAD prerequisites are a custom routine that read from the job level in unit data. Here is how they work:

- All male units default to level 1 in all classes except Dancer, which is level 0.
- All female units default to level 1 in all classes except Bard, which is level 0.
- So setting a RAD prereq of level 1 Dancer is the same as adding "female only" and setting a RAD prereq of level 1 Dancer/Bard permanently locks the class.


Does this affect Vanilla classes as well, or is this only for the prereqs for RAD-enabled classes?  If so, you've already hacked out your proper sex tree split here and could just repackage this portion of RAD... if not, just extend this to generic jobs and you're good too.

That's a clever way of going about it, though.


All in all, I need to say this looks pretty good once you get all the kinks worked out for Generics.  Some really important and immediately practical applications for people not looking to do something offbeat with a lot of that wtfwhyok potential the original iteration of ALMA started with for people wanting to make some rather heavily altered patches.  Looks like it'll definitely be very nice.

pokeytax

April 23, 2011, 01:41:54 pm #19 Last Edit: April 23, 2011, 02:12:48 pm by pokeytax
Quote from: RavenOfRazgriz on April 23, 2011, 01:01:35 pm
At the very least, this is a roundabout way of creating a Mime Fix while actually letting you keep Mime too, so I guess it does have a bit of general utility.


I should sorrowfully point out that splitting Bard for females, Dancer for males, and Mime for anybody is not currently recommended because the game hardcodes these like crazy in several other ways (e.g. male JP gain/spillover for Dancer slot is zeroed).

Quote
Do you think making a Job "share" with Calculator and giving that Job all the A/R/S/M space would allow me to dodge the slowdown that the Math Skill set gives to AoE skills?


Probably, but I'm not sure. I'm guessing it's a skillset 15 thing? You might actually be able to fiddle with the tables to just change the default Calculator skill set to "2F" or something and have it learn properly without messing with a new job.

QuoteThis means you could likely hack out the gender requirement for them entirely and steal some of whatever bit of RAD helps the sprite issue to give them proper male/female sprite set options, if you'd want to try going in that direction as well.  I have the funny feeling people would be happy to see both.


Yes, this is a bit complicated. You can certainly create a RAD female-only Bard and RAD male-only Dancer with duplicate Sing and Dance skillsets but the JP/job level slot is troublesome. I'm not sure about the best and most compact way to do this yet.

QuoteI don't know how this handles which sprites to assign to which Job, and there's such restrictive Sprite space I'd prefer to waste as little of it as possible.


This lets you tell the game exactly which:
- UNIT.BIN sprites you want for the Formation and pre-battle screen (up to and including slicing Serpentarius into two usable sprites) (why the heck does Serpentarius have a UNIT.BIN sprite anyway?)
- WLDFACE.BIN portraits you want for the Formation and pre-battle screen (with the constraint that Male and Female portraits are directly adjacent)
- battle sprites you want (again, with the constraint that male and female sprites are directly adjacent)

The real pain is UNIT.BIN, which has AFAIK seven unused human sprites and two double-size unused monster sprites (Serpentarius and Archaic Demon). Enough for five male/female classes.

Quote
Does this affect Vanilla classes as well, or is this only for the prereqs for RAD-enabled classes?


This describes RAD prerequisites only. The in-game prereqs still work as you describe but that should be hackable.

Quote
wtfwhyok potential the original iteration of ALMA started with


Yeah, as with that hack it's a lot of raw capability that needs to be refined into usable form.
  • Modding version: PSX