Types
RaceHPMPSTRDEXVITAGIINTMNDCHR
HUMDDDDDDDDD
ELVCEBECFFBD
TARGAFDECAED
MITDDEAEBDEF
GALAGCDAEEDF
JobHPMPSTRDEXVITAGIINTMNDCHR
WARBxACDCFFE
MNKAxCBAFGDE
WHMECDFDEEAC
BLMFBFCFCAED
RDMDDDDEECCD
THFDxDADBCGG
PLDCFBEAGGCC
DRKCFACCDCGG
BSTCxDCDFEEA
BRDDxDDDFDDB
RNGExEDDAEDE
NINDxCBCBDGF
SMNGAGDGDBCC
SAMBxCCCDEED
DRGCxCECEFEC

Scale/Base(/ScaleXXX)
TypeHPMPStatus
A9/19/16/160.5/5
B8/17/15/140.45/4
C7/16/14/120.4/4
D6/14/03/100.35/3
E5/13/02/80.3/3
F4/11/01/60.25/2
G3/10/00.5/40.2/2

MLv = Main job level
SLv = Support job level
MLvX = MLv-10 (least 0)
MLvXXX = MLv-30 (least 0)
SLvX = SLv-10 (least 0)

RaceHP = HPScale * (MLv-1) + HPBase + 2 * MLvX + HPScaleXXX * MLvXXX
JobHP = HPScale * (MLv-1) + HPBase + HPScaleXXX * MLvXXX (+30 if MNK>=15, +60 if MNK>=35)
SJobHP = ( HPScale * (SLv-1) + HPBase + SLvX ) / 2 (+30 if MNK>=15, +60 if MNK>=35)
HP = RaceHP + JobHP + SJobHP

RaceMP = MPScale * (MLv-1) + MPBase
RaceMP = ( MPScale * (SLv-1) + MPBase ) / 2 (if support only)
JobMP = MPScale * (MLv-1) + MPBase (+15 if SMN>=10,+30 if SMN>=30,+40 if SMN>=50,+50 if SMN>=70)
SJobMP = ( MPScale * (SLv-1) + MPBase ) / 2 (+15 if SMN>=10,+30 if SMN>=30)
MP = RaceMP + JobMP + SJobMP

RaceStatus = StatusScale * (MLv-1) + StatusBase
JobStatus = StatusScale * (MLv-1) + StatusBase
SJobStatus = ( StatusScale * (SLv-1) + StatusBase ) / 2
Status = RaceStatus + JobStatus + SJobStatus