If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Final Fantasy Tactics Advance/Jobs
Jump to navigation
Jump to search
Information
- The Job data starts at 0x521A14.
- The Job Requirement data starts at 0x5231A4; directly after the Job data.
- Job names are stored in this list.
- There are 0x73 (115) jobs, including monster class, specials, ect.
Job Data Structure
The Job Data Structure is 0x34 bytes long.
Name | Length | Offset | Type | Max Value | Description |
---|---|---|---|---|---|
Name ID | 2 | 0x00 | uint16 | Unknown | The Name ID of the Job. |
Buffer | 2 | 0x02 | uint16 | Unknown | Always 0x0000 |
Race | 1 | 0x04 | uint8 | 0x17[Verification Needed] | The Race of the Job.
|
Checksum? | 1 | 0x05 | uint8 | Unknown | Appears to be checked. If non-zero it branches off to another routine. |
Unknown | 1 | 0x06 | uint8 | Unknown | Checked when entering a Pub. No clue why. |
Sprite Index | 2 | 0x07 | uint16[Verification Needed] | Unknown | The index of the sprite that is used in battles/menus/etc. |
Unknown | 2 | 0x09 | ???? | ???? | Unknown. |
Sprite Palette Index | 1 | 0x0B | uint8 | 0x22 | The palettes that the sprite uses.
XXXX YYYY (bits); where XXXX is the enemy and YYYY is the player palette. |
Unknown | 1 | 0x0C | ???? | ???? | Unknown. |
Portrait Palette Index | 1 | 0x0D | uint8 | Unknown | Then loaded from a table?? |
Portrait Index | 1 | 0x0E | uint8 | Unknown | Then loaded from a table?? |
Unknown | 1 | 0x0F | ???? | ???? | Unknown. |
Unknown | 1 | 0x10 | uint8[Verification Needed] | Unknown | No idea, but it's a byte. |
Unknown | 1 | 0x11 | uint8[Verification Needed] | Unknown | No idea, but it's a byte. |
Unknown | 1 | 0x12 | uint8[Verification Needed] | Unknown | No idea, but it's a byte. |
Unknown | 1 | 0x13 | uint8[Verification Needed] | Unknown | No idea, but it's a byte. |
Unknown | 1 | 0x14 | uint8[Verification Needed] | Unknown | No idea, but it's a byte. |
Unknown | 1 | 0x15 | uint8[Verification Needed] | Unknown | No idea, but it's a byte. |
Status Defense | 1 | 0x16 | uint8[Verification Needed] | Unknown | Resistance against status effects. Always 50 for playable characters. |
Base HP | 1 | 0x17 | uint8[Verification Needed] | Unknown | The base level of HP. |
Base MP | 1 | 0x18 | uint8[Verification Needed] | Unknown | The base level of MP. |
Base Speed | 1 | 0x19 | uint8[Verification Needed] | Unknown | The base level of the Speed stat. |
Base Melee | 3 | 0x1A | See description. | Unknown | The base level of the Attack and the Defence stat.
0x1A = AAAA BBBB (bits) where ZZZZ AAAA BBBB (bits) = Base Attack |
Base Magic | 3 | 0x1D | See description. | Unknown | The base level of the Power and the Resistance stat.
0x1D = AAAA BBBB (bits) where ZZZZ AAAA BBBB (bits) = Base Power |
HP Growth | 1 | 0x20 | uint8[Verification Needed] | Unknown | How much HP grows at level up, x10.
|
MP Growth | 1 | 0x21 | uint8[Verification Needed] | Unknown | How much MP grows at level up, x10. |
Speed Growth | 1 | 0x22 | uint8[Verification Needed] | Unknown | How much Speed grows at level up, x10. |
Attack Growth | 1 | 0x23 | uint8[Verification Needed] | Unknown | How much Attack grows at level up, x10. |
Defense Growth | 1 | 0x24 | uint8[Verification Needed] | Unknown | How much Defense grows at level up, x10. |
Magic Pow. Growth | 1 | 0x25 | uint8[Verification Needed] | Unknown | How much Power grows at level up, x10. |
Magic Res. Growth | 1 | 0x26 | uint8[Verification Needed] | Unknown | How much Resistance grows at level up, x10. |
Unknown | 1 | 0x27 | uint8[Verification Needed] | Unknown | Always appears to be a copy of Resistance Growth (above).
Never appears to be read from any routine... |
Movement | 1 | 0x28 | uint8[Verification Needed] | Unknown | The 'Move' value of job. |
Jump | 1 | 0x29 | uint8[Verification Needed] | Unknown | The 'Jump' value of job. |
Evade | 1 | 0x2A | uint8[Verification Needed] | Unknown | The 'Evade' value of job. |
Unknown | 1 | 0x2B | uint8[Verification Needed] | Unknown | Unknown. |
Unknown | 1 | 0x2C | uint8[Verification Needed] | Unknown | Unknown. |
Equip-able Items Index | 1 | 0x2D | uint8[Verification Needed] | Unknown. | The word (4 bytes) at 0x51D0F4 + (X * 4), where X is the value of this byte, determines what items are equip-able.
Each bit (0x00 being the least significant and 0x1F being the most significant) in the word determines a different type of item:
|
Unknown | 1 | 0x2E | uint8[Verification Needed] | Unknown | No idea, but it's a byte. |
Unknown | 1 | 0x2F | uint8[Verification Needed] | Unknown | No idea, but it's a byte. |
Job Requirement | 1 | 0x30 | uint8 | Unknown | Index of the Job Requirement data.
See below. |
Unknown | 3 | 0x31 | ???? | ???? | Unknown. |
Job Requirement Data Structure
The Job Requirement Data Structure is 0x4 bytes long.
Name | Length | Offset | Type | Max Value | Description |
---|---|---|---|---|---|
Job ID | 1 | 0x00 | uint8 | unknown | The ID # of the 1st Job. |
Amount | 1 | 0x01 | uint8 | unknown | How many abilities are needed in 1st Job. |
Job ID | 1 | 0x02 | uint8 | unknown | The ID # of the 2nd Job. |
Amount | 1 | 0x03 | uint8 | unknown | How many abilities are needed in 2nd Job. |
Default List of Jobs
Index | Job | Race | Playable? | Requirements |
---|---|---|---|---|
0x00 | - | 0x00 | 0x00 | 0x00 |
0x01 | - | 0x00 | 0x00 | 0x00 |
0x02 | Soldier | 0x01 | 0x01 | 0x00 |
0x03 | Paladin | 0x01 | 0x01 | 0x03 |
0x04 | Fighter | 0x01 | 0x01 | 0x03 |
0x05 | Thief | 0x01 | 0x01 | 0x00 |
0x06 | Ninja | 0x01 | 0x01 | 0x01 |
0x07 | White Mage | 0x01 | 0x01 | 0x00 |
0x08 | Black Mage | 0x01 | 0x01 | 0x00 |
0x09 | Illusionist | 0x01 | 0x01 | 0x0D |
0x0A | Blue Mage | 0x01 | 0x01 | 0x0E |
0x0B | Archer | 0x01 | 0x01 | 0x00 |
0x0C | Hunter | 0x01 | 0x01 | 0x08 |
0x0D | Warrior | 0x02 | 0x01 | 0x00 |
0x0E | Dragoon | 0x02 | 0x01 | 0x04 |
0x0F | Defender | 0x02 | 0x01 | 0x04 |
0x10 | Gladiator | 0x02 | 0x01 | 0x04 |
0x11 | White Monk | 0x02 | 0x01 | 0x00 |
0x12 | Bishop | 0x02 | 0x01 | 0x07 |
0x13 | Templar | 0x02 | 0x01 | 0x07 |
0x14 | White Mage | 0x03 | 0x01 | 0x00 |
0x15 | Black Mage | 0x03 | 0x01 | 0x00 |
0x16 | Time Mage | 0x03 | 0x01 | 0x0F |
0x17 | Illusionist | 0x03 | 0x01 | 0x10 |
0x18 | Alchemist | 0x03 | 0x01 | 0x10 |
0x19 | Beastmaster | 0x03 | 0x01 | 0x00 |
0x1A | Morpher | 0x03 | 0x01 | 0x12 |
0x1B | Sage | 0x03 | 0x01 | 0x13 |
0x1C | Fencer | 0x04 | 0x01 | 0x00 |
0x1D | Elementalist | 0x04 | 0x01 | 0x05 |
0x1E | Red Mage | 0x04 | 0x01 | 0x06 |
0x1F | White Mage | 0x04 | 0x01 | 0x00 |
0x20 | Summoner | 0x04 | 0x01 | 0x11 |
0x21 | Archer | 0x04 | 0x01 | 0x00 |
0x22 | Assassin | 0x04 | 0x01 | 0x09 |
0x23 | Sniper | 0x04 | 0x01 | 0x0A |
0x24 | Animist | 0x05 | 0x01 | 0x00 |
0x25 | Mog Knight | 0x05 | 0x01 | 0x0C |
0x26 | Gunner | 0x05 | 0x01 | 0x0C |
0x27 | Thief | 0x05 | 0x01 | 0x00 |
0x28 | Juggler | 0x05 | 0x01 | 0x02 |
0x29 | Gadgeteer | 0x05 | 0x01 | 0x02 |
0x2A | Black Mage | 0x05 | 0x01 | 0x00 |
0x2B | Time Mage | 0x05 | 0x01 | 0x0B |
0x2C | Goblin | 0x06 | 0x02 | 0x00 |
0x2D | Red Cap | 0x06 | 0x02 | 0x00 |
0x2E | Jelly | 0x07 | 0x02 | 0x00 |
0x2F | Ice Flan | 0x07 | 0x02 | 0x00 |
0x30 | Cream | 0x07 | 0x02 | 0x00 |
0x31 | Bomb | 0x08 | 0x02 | 0x00 |
0x32 | Grenade | 0x08 | 0x02 | 0x00 |
0x33 | Icedrake | 0x09 | 0x02 | 0x00 |
0x34 | Firewyrm | 0x09 | 0x02 | 0x00 |
0x35 | Thundrake | 0x09 | 0x02 | 0x00 |
0x36 | Lamia | 0x0A | 0x02 | 0x00 |
0x37 | Lilith | 0x0A | 0x02 | 0x00 |
0x38 | Antlion | 0x0B | 0x02 | 0x00 |
0x39 | Jawbreaker | 0x0B | 0x02 | 0x00 |
0x3A | Toughskin | 0x0C | 0x02 | 0x00 |
0x3B | Blade Biter | 0x0C | 0x02 | 0x00 |
0x3C | Tonberry | 0x0D | 0x02 | 0x00 |
0x3D | Masterberry | 0x0D | 0x02 | 0x00 |
0x3E | Red Panther | 0x0E | 0x02 | 0x00 |
0x3F | Coeurl | 0x0E | 0x02 | 0x00 |
0x40 | Malboro | 0x0F | 0x02 | 0x00 |
0x41 | Big Malboro | 0x0F | 0x02 | 0x00 |
0x42 | Floateye | 0x10 | 0x02 | 0x00 |
0x43 | Ahriman | 0x10 | 0x02 | 0x00 |
0x44 | Zombie | 0x11 | 0x02 | 0x00 |
0x45 | Vampire | 0x11 | 0x02 | 0x00 |
0x46 | Sprite | 0x12 | 0x02 | 0x00 |
0x47 | Titania | 0x12 | 0x02 | 0x00 |
0x48 | - | 0x00 | 0x00 | 0x00 |
0x49 | - | 0x00 | 0x00 | 0x00 |
0x4A | - | 0x00 | 0x00 | 0x00 |
0x4B | - | 0x00 | 0x00 | 0x00 |
0x4C | - | 0x00 | 0x00 | 0x00 |
0x4D | Official | 0x01 | 0x01 | 0x00 |
0x4E | - | 0x01 | 0x01 | 0x00 |
0x4F | - | 0x01 | 0x02 | 0x00 |
0x50 | - | 0x01 | 0x01 | 0x00 |
0x51 | - | 0x04 | 0x01 | 0x00 |
0x52 | - | 0x05 | 0x01 | 0x00 |
0x53 | Runeseeker | 0x14 | 0x01 | 0x00 |
0x54 | Hermetic | 0x14 | 0x01 | 0x00 |
0x55 | - | 0x04 | 0x01 | 0x00 |
0x56 | Biskmatar | 0x13 | 0x01 | 0x00 |
0x57 | - | 0x13 | 0x01 | 0x00 |
0x58 | Li-grim | 0x16 | 0x02 | 0x00 |
0x59 | - | 0x16 | 0x02 | 0x00 |
0x5A | New Kid | 0x01 | 0x01 | 0x00 |
0x5B | Librarian | 0x01 | 0x01 | 0x00 |
0x5C | Class Head | 0x01 | 0x01 | 0x00 |
0x5D | PE Head | 0x01 | 0x01 | 0x00 |
0x5E | D.J. | 0x01 | 0x01 | 0x00 |
0x5F | Nurse | 0x04 | 0x01 | 0x00 |
0x60 | Custodian | 0x04 | 0x01 | 0x00 |
0x61 | Totema | 0x15 | 0x02 | 0x00 |
0x62 | Totema | 0x15 | 0x02 | 0x00 |
0x63 | Totema | 0x15 | 0x02 | 0x00 |
0x64 | Totema | 0x15 | 0x02 | 0x00 |
0x65 | Totema | 0x15 | 0x02 | 0x00 |
0x66 | - | 0x15 | 0x02 | 0x00 |
0x67 | Judgemaster | 0x01 | 0x02 | 0x00 |
0x68 | Judge | 0x17 | 0x02 | 0x00 |
0x69 | Judge | 0x17 | 0x02 | 0x00 |
0x6A | Judgemaster | 0x17 | 0x02 | 0x00 |
0x6B | Mr. Leslaie | 0x17 | 0x02 | 0x00 |
0x6C | Battle Queen | 0x16 | 0x02 | 0x00 |
0x6D | Box | 0x01 | 0x02 | 0x00 |
0x6E | Statue | 0x01 | 0x02 | 0x00 |
0x6F | Sphere | 0x01 | 0x02 | 0x00 |
0x70 | Judge | 0x17 | 0x01 | 0x00 |
0x71 | Judge | 0x17 | 0x01 | 0x00 |
0x72 | Judge | 0x17 | 0x01 | 0x00 |
0x73 | Judgemaster | 0x17 | 0x01 | 0x00 |
Help, please...
You can edit this... In fact, please do. I am getting very lazy in my old age.