diff --git a/db/import-tmpl/job_stats.yml b/db/import-tmpl/job_stats.yml index 93d66319c6..8ae91571bb 100644 --- a/db/import-tmpl/job_stats.yml +++ b/db/import-tmpl/job_stats.yml @@ -25,9 +25,9 @@ # - Jobs: List of jobs associated to group. # Job Job name. # MaxWeight Base maximum weight. (Default: 20000) -# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000) -# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500) -# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100) +# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0) +# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500) +# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100)]. Used when macro HP_SP_TABLES is disabled. (Default: 100) # BaseASPD: Base ASPD for each weapon type. (Default: 2000) # Weapon Weapon type with associated ASPD. # BonusStats: Job level bonus stats/traits. @@ -78,7 +78,7 @@ Header: Type: JOB_STATS - Version: 1 + Version: 2 #Body: ########################################################################### diff --git a/db/job_stats.yml b/db/job_stats.yml index e3a9650c33..0457d2ad4d 100644 --- a/db/job_stats.yml +++ b/db/job_stats.yml @@ -23,11 +23,11 @@ # ########################################################################### # - Jobs: List of jobs associated to group. -# Job Job ID. +# Job Job name. # MaxWeight Base maximum weight. (Default: 20000) -# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000) -# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500) -# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100) +# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0) +# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500) +# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100)]. Used when macro HP_SP_TABLES is disabled. (Default: 100) # BaseASPD: Base ASPD for each weapon type. (Default: 2000) # Weapon Weapon type with associated ASPD. # BonusStats: Job level bonus stats/traits. @@ -78,7 +78,7 @@ Header: Type: JOB_STATS - Version: 1 + Version: 2 Footer: Imports: diff --git a/db/pre-re/job_basepoints.yml b/db/pre-re/job_basepoints.yml index f5b722e747..190e75790b 100644 --- a/db/pre-re/job_basepoints.yml +++ b/db/pre-re/job_basepoints.yml @@ -25,9 +25,9 @@ # - Jobs: List of jobs associated to group. # Job Job name. # MaxWeight Base maximum weight. (Default: 20000) -# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000) -# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500) -# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100) +# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0) +# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500) +# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100)]. Used when macro HP_SP_TABLES is disabled. (Default: 100) # BaseASPD: Base ASPD for each weapon type. (Default: 2000) # Weapon Weapon type with associated ASPD. # BonusStats: Job level bonus stats/traits. @@ -78,7 +78,7 @@ Header: Type: JOB_STATS - Version: 1 + Version: 2 Body: - Jobs: diff --git a/db/pre-re/job_exp.yml b/db/pre-re/job_exp.yml index 4fb890915f..8295470ff8 100644 --- a/db/pre-re/job_exp.yml +++ b/db/pre-re/job_exp.yml @@ -25,9 +25,9 @@ # - Jobs: List of jobs associated to group. # Job Job name. # MaxWeight Base maximum weight. (Default: 20000) -# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000) -# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500) -# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100) +# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0) +# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500) +# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100)]. Used when macro HP_SP_TABLES is disabled. (Default: 100) # BaseASPD: Base ASPD for each weapon type. (Default: 2000) # Weapon Weapon type with associated ASPD. # BonusStats: Job level bonus stats/traits. @@ -78,7 +78,7 @@ Header: Type: JOB_STATS - Version: 1 + Version: 2 Body: - Jobs: diff --git a/db/pre-re/job_stats.yml b/db/pre-re/job_stats.yml index cb252b57ea..f6c2d60fb4 100644 --- a/db/pre-re/job_stats.yml +++ b/db/pre-re/job_stats.yml @@ -25,9 +25,9 @@ # - Jobs: List of jobs associated to group. # Job Job name. # MaxWeight Base maximum weight. (Default: 20000) -# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000) -# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500) -# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100) +# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0) +# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500) +# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100)]. Used when macro HP_SP_TABLES is disabled. (Default: 100) # BaseASPD: Base ASPD for each weapon type. (Default: 2000) # Weapon Weapon type with associated ASPD. # BonusStats: Job level bonus stats/traits. @@ -78,7 +78,7 @@ Header: Type: JOB_STATS - Version: 1 + Version: 2 Body: - Jobs: @@ -109,7 +109,7 @@ Body: Swordman: true MaxWeight: 28000 HpFactor: 70 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 400 Dagger: 500 @@ -162,7 +162,7 @@ Body: Mage: true MaxWeight: 22000 HpFactor: 30 - SpFactor: 600 + SpIncrease: 600 BaseASPD: Fist: 500 Dagger: 600 @@ -209,7 +209,7 @@ Body: Archer: true MaxWeight: 26000 HpFactor: 50 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 400 Dagger: 600 @@ -255,7 +255,7 @@ Body: Acolyte: true MaxWeight: 24000 HpFactor: 40 - SpFactor: 500 + SpIncrease: 500 BaseASPD: Fist: 400 Mace: 600 @@ -303,7 +303,7 @@ Body: Merchant: true MaxWeight: 28000 HpFactor: 40 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 400 Dagger: 600 @@ -353,7 +353,7 @@ Body: Thief: true MaxWeight: 24000 HpFactor: 50 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 400 Dagger: 500 @@ -402,7 +402,7 @@ Body: Knight2: true MaxWeight: 28000 HpFactor: 150 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 400 Dagger: 500 @@ -479,7 +479,7 @@ Body: Priest: true MaxWeight: 26000 HpFactor: 75 - SpFactor: 800 + SpIncrease: 800 BaseASPD: Fist: 400 Mace: 600 @@ -552,7 +552,7 @@ Body: Wizard: true MaxWeight: 24000 HpFactor: 55 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 500 Dagger: 575 @@ -623,7 +623,7 @@ Body: Blacksmith: true MaxWeight: 30000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 400 Dagger: 600 @@ -697,7 +697,7 @@ Body: Hunter: true MaxWeight: 27000 HpFactor: 85 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 400 Dagger: 600 @@ -767,7 +767,7 @@ Body: Assassin: true MaxWeight: 24000 HpFactor: 110 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 400 Dagger: 500 @@ -840,8 +840,8 @@ Body: Crusader2: true MaxWeight: 28000 HpFactor: 110 - HpMultiplicator: 700 - SpFactor: 470 + HpIncrease: 700 + SpIncrease: 470 BaseASPD: Fist: 400 Dagger: 500 @@ -918,8 +918,8 @@ Body: Monk: true MaxWeight: 26000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 470 + HpIncrease: 650 + SpIncrease: 470 BaseASPD: Fist: 400 Mace: 575 @@ -992,7 +992,7 @@ Body: Sage: true MaxWeight: 24000 HpFactor: 75 - SpFactor: 700 + SpIncrease: 700 BaseASPD: Fist: 450 Dagger: 525 @@ -1064,7 +1064,7 @@ Body: Rogue: true MaxWeight: 24000 HpFactor: 85 - SpFactor: 500 + SpIncrease: 500 BaseASPD: Fist: 400 Dagger: 500 @@ -1135,7 +1135,7 @@ Body: Alchemist: true MaxWeight: 30000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 400 Dagger: 550 @@ -1209,8 +1209,8 @@ Body: Bard: true MaxWeight: 27000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 600 + HpIncrease: 300 + SpIncrease: 600 BaseASPD: Fist: 400 Dagger: 550 @@ -1281,8 +1281,8 @@ Body: Dancer: true MaxWeight: 27000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 600 + HpIncrease: 300 + SpIncrease: 600 BaseASPD: Fist: 400 Dagger: 550 @@ -1425,8 +1425,8 @@ Body: Gunslinger: true MaxWeight: 28000 HpFactor: 89 - HpMultiplicator: 0 - SpFactor: 469 + HpIncrease: 0 + SpIncrease: 469 BaseASPD: Fist: 500 Revolver: 700 @@ -1487,8 +1487,8 @@ Body: Ninja: true MaxWeight: 26000 HpFactor: 80 - HpMultiplicator: 0 - SpFactor: 540 + HpIncrease: 0 + SpIncrease: 540 BaseASPD: Fist: 400 Dagger: 500 @@ -1572,7 +1572,7 @@ Body: Swordman_High: true MaxWeight: 28000 HpFactor: 70 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 400 Dagger: 500 @@ -1625,7 +1625,7 @@ Body: Mage_High: true MaxWeight: 22000 HpFactor: 30 - SpFactor: 600 + SpIncrease: 600 BaseASPD: Fist: 500 Dagger: 600 @@ -1672,7 +1672,7 @@ Body: Archer_High: true MaxWeight: 26000 HpFactor: 50 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 400 Dagger: 600 @@ -1718,7 +1718,7 @@ Body: Acolyte_High: true MaxWeight: 24000 HpFactor: 40 - SpFactor: 500 + SpIncrease: 500 BaseASPD: Fist: 400 Mace: 600 @@ -1766,7 +1766,7 @@ Body: Merchant_High: true MaxWeight: 28000 HpFactor: 40 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 400 Dagger: 600 @@ -1816,7 +1816,7 @@ Body: Thief_High: true MaxWeight: 24000 HpFactor: 50 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 400 Dagger: 500 @@ -1865,7 +1865,7 @@ Body: Lord_Knight2: true MaxWeight: 28000 HpFactor: 150 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 400 Dagger: 500 @@ -1972,7 +1972,7 @@ Body: High_Priest: true MaxWeight: 26000 HpFactor: 75 - SpFactor: 800 + SpIncrease: 800 BaseASPD: Fist: 400 Mace: 600 @@ -2075,7 +2075,7 @@ Body: High_Wizard: true MaxWeight: 24000 HpFactor: 55 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 500 Dagger: 575 @@ -2176,7 +2176,7 @@ Body: Whitesmith: true MaxWeight: 30000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 400 Dagger: 600 @@ -2280,7 +2280,7 @@ Body: Sniper: true MaxWeight: 27000 HpFactor: 85 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 400 Dagger: 600 @@ -2380,7 +2380,7 @@ Body: Assassin_Cross: true MaxWeight: 24000 HpFactor: 110 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 400 Dagger: 500 @@ -2483,8 +2483,8 @@ Body: Paladin2: true MaxWeight: 28000 HpFactor: 110 - HpMultiplicator: 700 - SpFactor: 470 + HpIncrease: 700 + SpIncrease: 470 BaseASPD: Fist: 400 Dagger: 500 @@ -2591,8 +2591,8 @@ Body: Champion: true MaxWeight: 26000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 470 + HpIncrease: 650 + SpIncrease: 470 BaseASPD: Fist: 400 Mace: 575 @@ -2695,7 +2695,7 @@ Body: Professor: true MaxWeight: 24000 HpFactor: 75 - SpFactor: 700 + SpIncrease: 700 BaseASPD: Fist: 450 Dagger: 525 @@ -2797,7 +2797,7 @@ Body: Stalker: true MaxWeight: 24000 HpFactor: 85 - SpFactor: 500 + SpIncrease: 500 BaseASPD: Fist: 400 Dagger: 500 @@ -2898,7 +2898,7 @@ Body: Creator: true MaxWeight: 30000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 400 Dagger: 550 @@ -3002,8 +3002,8 @@ Body: Clown: true MaxWeight: 27000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 600 + HpIncrease: 300 + SpIncrease: 600 BaseASPD: Fist: 400 Dagger: 550 @@ -3104,8 +3104,8 @@ Body: Gypsy: true MaxWeight: 27000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 600 + HpIncrease: 300 + SpIncrease: 600 BaseASPD: Fist: 400 Dagger: 550 @@ -3217,7 +3217,7 @@ Body: Baby_Swordman: true MaxWeight: 28000 HpFactor: 70 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 400 Dagger: 500 @@ -3270,7 +3270,7 @@ Body: Baby_Mage: true MaxWeight: 22000 HpFactor: 30 - SpFactor: 600 + SpIncrease: 600 BaseASPD: Fist: 500 Dagger: 600 @@ -3317,7 +3317,7 @@ Body: Baby_Archer: true MaxWeight: 26000 HpFactor: 50 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 400 Dagger: 600 @@ -3363,7 +3363,7 @@ Body: Baby_Acolyte: true MaxWeight: 24000 HpFactor: 40 - SpFactor: 500 + SpIncrease: 500 BaseASPD: Fist: 400 Mace: 600 @@ -3411,7 +3411,7 @@ Body: Baby_Merchant: true MaxWeight: 28000 HpFactor: 40 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 400 Dagger: 600 @@ -3461,7 +3461,7 @@ Body: Baby_Thief: true MaxWeight: 24000 HpFactor: 50 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 400 Dagger: 500 @@ -3510,7 +3510,7 @@ Body: Baby_Knight2: true MaxWeight: 28000 HpFactor: 150 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 400 Dagger: 500 @@ -3587,7 +3587,7 @@ Body: Baby_Priest: true MaxWeight: 26000 HpFactor: 75 - SpFactor: 800 + SpIncrease: 800 BaseASPD: Fist: 400 Mace: 600 @@ -3660,7 +3660,7 @@ Body: Baby_Wizard: true MaxWeight: 24000 HpFactor: 55 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 500 Dagger: 575 @@ -3731,7 +3731,7 @@ Body: Baby_Blacksmith: true MaxWeight: 30000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 400 Dagger: 600 @@ -3805,7 +3805,7 @@ Body: Baby_Hunter: true MaxWeight: 27000 HpFactor: 85 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 400 Dagger: 600 @@ -3875,7 +3875,7 @@ Body: Baby_Assassin: true MaxWeight: 24000 HpFactor: 110 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 400 Dagger: 500 @@ -3948,8 +3948,8 @@ Body: Baby_Crusader2: true MaxWeight: 28000 HpFactor: 110 - HpMultiplicator: 700 - SpFactor: 470 + HpIncrease: 700 + SpIncrease: 470 BaseASPD: Fist: 400 Dagger: 500 @@ -4026,8 +4026,8 @@ Body: Baby_Monk: true MaxWeight: 26000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 470 + HpIncrease: 650 + SpIncrease: 470 BaseASPD: Fist: 400 Mace: 575 @@ -4100,7 +4100,7 @@ Body: Baby_Sage: true MaxWeight: 24000 HpFactor: 75 - SpFactor: 700 + SpIncrease: 700 BaseASPD: Fist: 450 Dagger: 525 @@ -4172,7 +4172,7 @@ Body: Baby_Rogue: true MaxWeight: 24000 HpFactor: 85 - SpFactor: 500 + SpIncrease: 500 BaseASPD: Fist: 400 Dagger: 500 @@ -4243,7 +4243,7 @@ Body: Baby_Alchemist: true MaxWeight: 30000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 400 Dagger: 550 @@ -4317,8 +4317,8 @@ Body: Baby_Bard: true MaxWeight: 27000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 600 + HpIncrease: 300 + SpIncrease: 600 BaseASPD: Fist: 400 Dagger: 550 @@ -4389,8 +4389,8 @@ Body: Baby_Dancer: true MaxWeight: 27000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 600 + HpIncrease: 300 + SpIncrease: 600 BaseASPD: Fist: 400 Dagger: 550 @@ -4533,7 +4533,7 @@ Body: Taekwon: true MaxWeight: 28000 HpFactor: 70 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 400 BonusStats: @@ -4578,8 +4578,8 @@ Body: Star_Gladiator2: true MaxWeight: 28000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 470 + HpIncrease: 650 + SpIncrease: 470 BaseASPD: Fist: 400 Book: 500 @@ -4648,7 +4648,7 @@ Body: Soul_Linker: true MaxWeight: 24000 HpFactor: 75 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 500 Dagger: 575 diff --git a/db/re/job_basepoints.yml b/db/re/job_basepoints.yml index ec4f3e7d11..517622bbf7 100644 --- a/db/re/job_basepoints.yml +++ b/db/re/job_basepoints.yml @@ -25,9 +25,9 @@ # - Jobs: List of jobs associated to group. # Job Job name. # MaxWeight Base maximum weight. (Default: 20000) -# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000) -# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500) -# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100) +# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0) +# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500) +# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100)]. Used when macro HP_SP_TABLES is disabled. (Default: 100) # BaseASPD: Base ASPD for each weapon type. (Default: 2000) # Weapon Weapon type with associated ASPD. # BonusStats: Job level bonus stats/traits. @@ -78,7 +78,7 @@ Header: Type: JOB_STATS - Version: 1 + Version: 2 Body: - Jobs: diff --git a/db/re/job_exp.yml b/db/re/job_exp.yml index db6ff57e25..d196e8f3b9 100644 --- a/db/re/job_exp.yml +++ b/db/re/job_exp.yml @@ -25,9 +25,9 @@ # - Jobs: List of jobs associated to group. # Job Job name. # MaxWeight Base maximum weight. (Default: 20000) -# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000) -# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500) -# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100) +# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0) +# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500) +# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100)]. Used when macro HP_SP_TABLES is disabled. (Default: 100) # BaseASPD: Base ASPD for each weapon type. (Default: 2000) # Weapon Weapon type with associated ASPD. # BonusStats: Job level bonus stats/traits. @@ -78,7 +78,7 @@ Header: Type: JOB_STATS - Version: 1 + Version: 2 Body: - Jobs: diff --git a/db/re/job_stats.yml b/db/re/job_stats.yml index e69432e929..349da35b4a 100644 --- a/db/re/job_stats.yml +++ b/db/re/job_stats.yml @@ -25,9 +25,9 @@ # - Jobs: List of jobs associated to group. # Job Job name. # MaxWeight Base maximum weight. (Default: 20000) -# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000) -# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500) -# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100) +# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0) +# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500) +# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100)]. Used when macro HP_SP_TABLES is disabled. (Default: 100) # BaseASPD: Base ASPD for each weapon type. (Default: 2000) # Weapon Weapon type with associated ASPD. # BonusStats: Job level bonus stats/traits. @@ -78,7 +78,7 @@ Header: Type: JOB_STATS - Version: 1 + Version: 2 Body: - Jobs: @@ -110,7 +110,7 @@ Body: Swordman: true MaxWeight: 28000 HpFactor: 70 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 40 Dagger: 47 @@ -164,7 +164,7 @@ Body: Mage: true MaxWeight: 22000 HpFactor: 30 - SpFactor: 600 + SpIncrease: 600 BaseASPD: Fist: 50 Dagger: 50 @@ -212,7 +212,7 @@ Body: Archer: true MaxWeight: 26000 HpFactor: 50 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 40 Dagger: 55 @@ -259,7 +259,7 @@ Body: Acolyte: true MaxWeight: 24000 HpFactor: 40 - SpFactor: 500 + SpIncrease: 500 BaseASPD: Fist: 40 Mace: 45 @@ -308,7 +308,7 @@ Body: Merchant: true MaxWeight: 28000 HpFactor: 40 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 40 Dagger: 52 @@ -359,7 +359,7 @@ Body: Thief: true MaxWeight: 24000 HpFactor: 50 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 40 Dagger: 48 @@ -409,7 +409,7 @@ Body: Knight2: true MaxWeight: 28000 HpFactor: 150 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 40 Dagger: 49 @@ -487,7 +487,7 @@ Body: Priest: true MaxWeight: 26000 HpFactor: 75 - SpFactor: 800 + SpIncrease: 800 BaseASPD: Fist: 40 Mace: 43 @@ -562,7 +562,7 @@ Body: Wizard: true MaxWeight: 24000 HpFactor: 55 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 50 Dagger: 54 @@ -634,7 +634,7 @@ Body: Blacksmith: true MaxWeight: 30000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 50 @@ -709,7 +709,7 @@ Body: Hunter: true MaxWeight: 27000 HpFactor: 85 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 53 @@ -780,7 +780,7 @@ Body: Assassin: true MaxWeight: 24000 HpFactor: 110 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 42 @@ -855,8 +855,8 @@ Body: Crusader2: true MaxWeight: 28000 HpFactor: 110 - HpMultiplicator: 700 - SpFactor: 470 + HpIncrease: 700 + SpIncrease: 470 BaseASPD: Fist: 40 Dagger: 48 @@ -934,8 +934,8 @@ Body: Monk: true MaxWeight: 26000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 470 + HpIncrease: 650 + SpIncrease: 470 BaseASPD: Fist: 40 Mace: 43 @@ -1009,7 +1009,7 @@ Body: Sage: true MaxWeight: 24000 HpFactor: 75 - SpFactor: 700 + SpIncrease: 700 BaseASPD: Fist: 45 Dagger: 53 @@ -1083,7 +1083,7 @@ Body: Rogue: true MaxWeight: 24000 HpFactor: 85 - SpFactor: 500 + SpIncrease: 500 BaseASPD: Fist: 40 Dagger: 45 @@ -1155,7 +1155,7 @@ Body: Alchemist: true MaxWeight: 30000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 50 @@ -1230,8 +1230,8 @@ Body: Bard: true MaxWeight: 27000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 600 + HpIncrease: 300 + SpIncrease: 600 BaseASPD: Fist: 40 Dagger: 53 @@ -1303,8 +1303,8 @@ Body: Dancer: true MaxWeight: 27000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 600 + HpIncrease: 300 + SpIncrease: 600 BaseASPD: Fist: 40 Dagger: 53 @@ -1449,8 +1449,8 @@ Body: Gunslinger: true MaxWeight: 28000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 469 + HpIncrease: 650 + SpIncrease: 469 BaseASPD: Fist: 54 Revolver: 49 @@ -1512,7 +1512,7 @@ Body: Ninja: true MaxWeight: 26000 HpFactor: 75 - SpFactor: 540 + SpIncrease: 540 BaseASPD: Fist: 40 Dagger: 43 @@ -1598,7 +1598,7 @@ Body: Swordman_High: true MaxWeight: 28000 HpFactor: 70 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 40 Dagger: 47 @@ -1652,7 +1652,7 @@ Body: Mage_High: true MaxWeight: 22000 HpFactor: 30 - SpFactor: 600 + SpIncrease: 600 BaseASPD: Fist: 50 Dagger: 50 @@ -1700,7 +1700,7 @@ Body: Archer_High: true MaxWeight: 26000 HpFactor: 50 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 40 Dagger: 55 @@ -1747,7 +1747,7 @@ Body: Acolyte_High: true MaxWeight: 24000 HpFactor: 40 - SpFactor: 500 + SpIncrease: 500 BaseASPD: Fist: 40 Mace: 45 @@ -1796,7 +1796,7 @@ Body: Merchant_High: true MaxWeight: 28000 HpFactor: 40 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 40 Dagger: 52 @@ -1847,7 +1847,7 @@ Body: Thief_High: true MaxWeight: 24000 HpFactor: 50 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 40 Dagger: 48 @@ -1897,7 +1897,7 @@ Body: Lord_Knight2: true MaxWeight: 28000 HpFactor: 150 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 40 Dagger: 49 @@ -2005,7 +2005,7 @@ Body: High_Priest: true MaxWeight: 26000 HpFactor: 75 - SpFactor: 800 + SpIncrease: 800 BaseASPD: Fist: 40 Mace: 43 @@ -2110,7 +2110,7 @@ Body: High_Wizard: true MaxWeight: 24000 HpFactor: 55 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 50 Dagger: 54 @@ -2212,7 +2212,7 @@ Body: Whitesmith: true MaxWeight: 30000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 50 @@ -2317,7 +2317,7 @@ Body: Sniper: true MaxWeight: 27000 HpFactor: 85 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 53 @@ -2418,7 +2418,7 @@ Body: Assassin_Cross: true MaxWeight: 24000 HpFactor: 110 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 42 @@ -2523,8 +2523,8 @@ Body: Paladin2: true MaxWeight: 28000 HpFactor: 110 - HpMultiplicator: 700 - SpFactor: 470 + HpIncrease: 700 + SpIncrease: 470 BaseASPD: Fist: 40 Dagger: 48 @@ -2632,8 +2632,8 @@ Body: Champion: true MaxWeight: 26000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 470 + HpIncrease: 650 + SpIncrease: 470 BaseASPD: Fist: 40 Mace: 43 @@ -2737,7 +2737,7 @@ Body: Professor: true MaxWeight: 24000 HpFactor: 75 - SpFactor: 700 + SpIncrease: 700 BaseASPD: Fist: 45 Dagger: 53 @@ -2841,7 +2841,7 @@ Body: Stalker: true MaxWeight: 24000 HpFactor: 85 - SpFactor: 500 + SpIncrease: 500 BaseASPD: Fist: 40 Dagger: 45 @@ -2943,7 +2943,7 @@ Body: Creator: true MaxWeight: 30000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 50 @@ -3048,8 +3048,8 @@ Body: Clown: true MaxWeight: 27000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 600 + HpIncrease: 300 + SpIncrease: 600 BaseASPD: Fist: 40 Dagger: 53 @@ -3151,8 +3151,8 @@ Body: Gypsy: true MaxWeight: 27000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 600 + HpIncrease: 300 + SpIncrease: 600 BaseASPD: Fist: 40 Dagger: 53 @@ -3266,7 +3266,7 @@ Body: Baby_Swordman: true MaxWeight: 28000 HpFactor: 70 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 40 Dagger: 47 @@ -3320,7 +3320,7 @@ Body: Baby_Mage: true MaxWeight: 22000 HpFactor: 30 - SpFactor: 600 + SpIncrease: 600 BaseASPD: Fist: 50 Dagger: 50 @@ -3368,7 +3368,7 @@ Body: Baby_Archer: true MaxWeight: 26000 HpFactor: 50 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 40 Dagger: 55 @@ -3415,7 +3415,7 @@ Body: Baby_Acolyte: true MaxWeight: 24000 HpFactor: 40 - SpFactor: 500 + SpIncrease: 500 BaseASPD: Fist: 40 Mace: 45 @@ -3464,7 +3464,7 @@ Body: Baby_Merchant: true MaxWeight: 28000 HpFactor: 40 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 40 Dagger: 52 @@ -3515,7 +3515,7 @@ Body: Baby_Thief: true MaxWeight: 24000 HpFactor: 50 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 40 Dagger: 48 @@ -3565,7 +3565,7 @@ Body: Baby_Knight2: true MaxWeight: 28000 HpFactor: 150 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 40 Dagger: 49 @@ -3643,7 +3643,7 @@ Body: Baby_Priest: true MaxWeight: 26000 HpFactor: 75 - SpFactor: 800 + SpIncrease: 800 BaseASPD: Fist: 40 Mace: 43 @@ -3718,7 +3718,7 @@ Body: Baby_Wizard: true MaxWeight: 24000 HpFactor: 55 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 50 Dagger: 54 @@ -3790,7 +3790,7 @@ Body: Baby_Blacksmith: true MaxWeight: 30000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 50 @@ -3865,7 +3865,7 @@ Body: Baby_Hunter: true MaxWeight: 27000 HpFactor: 85 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 53 @@ -3936,7 +3936,7 @@ Body: Baby_Assassin: true MaxWeight: 24000 HpFactor: 110 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 42 @@ -4011,8 +4011,8 @@ Body: Baby_Crusader2: true MaxWeight: 28000 HpFactor: 110 - HpMultiplicator: 700 - SpFactor: 470 + HpIncrease: 700 + SpIncrease: 470 BaseASPD: Fist: 40 Dagger: 48 @@ -4090,8 +4090,8 @@ Body: Baby_Monk: true MaxWeight: 26000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 470 + HpIncrease: 650 + SpIncrease: 470 BaseASPD: Fist: 40 Mace: 43 @@ -4165,7 +4165,7 @@ Body: Baby_Sage: true MaxWeight: 24000 HpFactor: 75 - SpFactor: 700 + SpIncrease: 700 BaseASPD: Fist: 45 Dagger: 53 @@ -4239,7 +4239,7 @@ Body: Baby_Rogue: true MaxWeight: 24000 HpFactor: 85 - SpFactor: 500 + SpIncrease: 500 BaseASPD: Fist: 40 Dagger: 45 @@ -4311,7 +4311,7 @@ Body: Baby_Alchemist: true MaxWeight: 30000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 50 @@ -4386,8 +4386,8 @@ Body: Baby_Bard: true MaxWeight: 27000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 600 + HpIncrease: 300 + SpIncrease: 600 BaseASPD: Fist: 40 Dagger: 53 @@ -4459,8 +4459,8 @@ Body: Baby_Dancer: true MaxWeight: 27000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 600 + HpIncrease: 300 + SpIncrease: 600 BaseASPD: Fist: 40 Dagger: 53 @@ -4605,7 +4605,7 @@ Body: Taekwon: true MaxWeight: 28000 HpFactor: 70 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 40 Dagger: 50 @@ -4674,8 +4674,8 @@ Body: Star_Gladiator2: true MaxWeight: 28000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 470 + HpIncrease: 650 + SpIncrease: 470 BaseASPD: Fist: 40 Dagger: 50 @@ -4767,7 +4767,7 @@ Body: Soul_Linker: true MaxWeight: 24000 HpFactor: 75 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 50 Dagger: 50 @@ -4840,7 +4840,7 @@ Body: Rune_Knight2: true MaxWeight: 35000 HpFactor: 150 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 40 Dagger: 50 @@ -4932,7 +4932,7 @@ Body: Warlock: true MaxWeight: 30000 HpFactor: 55 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 45 Dagger: 52 @@ -5020,7 +5020,7 @@ Body: Ranger2: true MaxWeight: 32000 HpFactor: 85 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 50 @@ -5105,7 +5105,7 @@ Body: Arch_Bishop: true MaxWeight: 30000 HpFactor: 75 - SpFactor: 800 + SpIncrease: 800 BaseASPD: Fist: 45 Mace: 45 @@ -5195,7 +5195,7 @@ Body: Mechanic2: true MaxWeight: 38000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 60 @@ -5284,7 +5284,7 @@ Body: Guillotine_Cross: true MaxWeight: 32000 HpFactor: 110 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 42 @@ -5377,7 +5377,7 @@ Body: Rune_Knight_T2: true MaxWeight: 35000 HpFactor: 150 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 40 Dagger: 50 @@ -5469,7 +5469,7 @@ Body: Warlock_T: true MaxWeight: 30000 HpFactor: 55 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 45 Dagger: 52 @@ -5557,7 +5557,7 @@ Body: Ranger_T2: true MaxWeight: 32000 HpFactor: 85 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 50 @@ -5642,7 +5642,7 @@ Body: Arch_Bishop_T: true MaxWeight: 30000 HpFactor: 75 - SpFactor: 800 + SpIncrease: 800 BaseASPD: Fist: 45 Mace: 45 @@ -5732,7 +5732,7 @@ Body: Mechanic_T2: true MaxWeight: 38000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 60 @@ -5821,7 +5821,7 @@ Body: Guillotine_Cross_T: true MaxWeight: 32000 HpFactor: 110 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 42 @@ -5914,8 +5914,8 @@ Body: Royal_Guard2: true MaxWeight: 35000 HpFactor: 110 - HpMultiplicator: 700 - SpFactor: 400 + HpIncrease: 700 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 47 @@ -6007,7 +6007,7 @@ Body: Sorcerer: true MaxWeight: 30000 HpFactor: 75 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 40 Dagger: 50 @@ -6095,8 +6095,8 @@ Body: Minstrel: true MaxWeight: 32000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 400 + HpIncrease: 300 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 52 @@ -6182,8 +6182,8 @@ Body: Wanderer: true MaxWeight: 32000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 400 + HpIncrease: 300 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 52 @@ -6269,8 +6269,8 @@ Body: Sura: true MaxWeight: 30000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 400 + HpIncrease: 650 + SpIncrease: 400 BaseASPD: Fist: 38 Mace: 43 @@ -6358,7 +6358,7 @@ Body: Genetic: true MaxWeight: 32000 HpFactor: 90 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 40 Dagger: 50 @@ -6447,7 +6447,7 @@ Body: Shadow_Chaser: true MaxWeight: 28000 HpFactor: 85 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 43 @@ -6534,8 +6534,8 @@ Body: Royal_Guard_T2: true MaxWeight: 35000 HpFactor: 110 - HpMultiplicator: 700 - SpFactor: 400 + HpIncrease: 700 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 47 @@ -6627,7 +6627,7 @@ Body: Sorcerer_T: true MaxWeight: 30000 HpFactor: 75 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 40 Dagger: 50 @@ -6715,8 +6715,8 @@ Body: Minstrel_T: true MaxWeight: 32000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 400 + HpIncrease: 300 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 52 @@ -6802,8 +6802,8 @@ Body: Wanderer_T: true MaxWeight: 32000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 400 + HpIncrease: 300 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 52 @@ -6889,8 +6889,8 @@ Body: Sura_T: true MaxWeight: 30000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 400 + HpIncrease: 650 + SpIncrease: 400 BaseASPD: Fist: 38 Mace: 43 @@ -6978,7 +6978,7 @@ Body: Genetic_T: true MaxWeight: 32000 HpFactor: 90 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 40 Dagger: 50 @@ -7067,7 +7067,7 @@ Body: Shadow_Chaser_T: true MaxWeight: 28000 HpFactor: 85 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 43 @@ -7154,7 +7154,7 @@ Body: Baby_Rune_Knight2: true MaxWeight: 28000 HpFactor: 150 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 40 Dagger: 50 @@ -7246,7 +7246,7 @@ Body: Baby_Warlock: true MaxWeight: 24000 HpFactor: 55 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 45 Dagger: 52 @@ -7334,7 +7334,7 @@ Body: Baby_Ranger2: true MaxWeight: 27000 HpFactor: 85 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 50 @@ -7419,7 +7419,7 @@ Body: Baby_Arch_Bishop: true MaxWeight: 26000 HpFactor: 75 - SpFactor: 800 + SpIncrease: 800 BaseASPD: Fist: 45 Mace: 45 @@ -7509,7 +7509,7 @@ Body: Baby_Mechanic2: true MaxWeight: 30000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 60 @@ -7598,7 +7598,7 @@ Body: Baby_Guillotine_Cross: true MaxWeight: 24000 HpFactor: 110 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 42 @@ -7691,8 +7691,8 @@ Body: Baby_Royal_Guard2: true MaxWeight: 28000 HpFactor: 110 - HpMultiplicator: 700 - SpFactor: 400 + HpIncrease: 700 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 47 @@ -7784,7 +7784,7 @@ Body: Baby_Sorcerer: true MaxWeight: 24000 HpFactor: 75 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 40 Dagger: 50 @@ -7872,8 +7872,8 @@ Body: Baby_Minstrel: true MaxWeight: 27000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 400 + HpIncrease: 300 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 52 @@ -7959,8 +7959,8 @@ Body: Baby_Wanderer: true MaxWeight: 27000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 400 + HpIncrease: 300 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 52 @@ -8046,8 +8046,8 @@ Body: Baby_Sura: true MaxWeight: 26000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 400 + HpIncrease: 650 + SpIncrease: 400 BaseASPD: Fist: 38 Mace: 43 @@ -8135,7 +8135,7 @@ Body: Baby_Genetic: true MaxWeight: 30000 HpFactor: 90 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 40 Dagger: 50 @@ -8224,7 +8224,7 @@ Body: Baby_Shadow_Chaser: true MaxWeight: 24000 HpFactor: 85 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 43 @@ -8308,8 +8308,8 @@ Body: Agi: 1 - Jobs: Super_Novice_E: true - HpMultiplicator: 5000 - SpFactor: 500 + HpIncrease: 5000 + SpIncrease: 500 BaseASPD: Fist: 40 Dagger: 55 @@ -8458,7 +8458,7 @@ Body: Kagerou: true MaxWeight: 26000 HpFactor: 75 - SpFactor: 540 + SpIncrease: 540 BaseASPD: Fist: 40 Dagger: 45 @@ -8539,7 +8539,7 @@ Body: Oboro: true MaxWeight: 26000 HpFactor: 75 - SpFactor: 540 + SpIncrease: 540 BaseASPD: Fist: 40 Dagger: 45 @@ -8620,8 +8620,8 @@ Body: Rebellion: true MaxWeight: 28000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 469 + HpIncrease: 650 + SpIncrease: 469 BaseASPD: Fist: 54 Revolver: 49 @@ -8706,7 +8706,7 @@ Body: - Jobs: Summoner: true HpFactor: 70 - SpFactor: 500 + SpIncrease: 500 BaseASPD: Fist: 40 Staff: 60 @@ -8783,8 +8783,8 @@ Body: - Jobs: Baby_Summoner: true HpFactor: 100 - HpMultiplicator: 700 - SpFactor: 200 + HpIncrease: 700 + SpIncrease: 200 BaseASPD: Fist: 40 Staff: 60 @@ -8862,7 +8862,7 @@ Body: Baby_Ninja: true MaxWeight: 26000 HpFactor: 75 - SpFactor: 540 + SpIncrease: 540 BaseASPD: Fist: 40 Dagger: 43 @@ -8923,7 +8923,7 @@ Body: Baby_Kagerou: true MaxWeight: 26000 HpFactor: 75 - SpFactor: 540 + SpIncrease: 540 BaseASPD: Fist: 40 Dagger: 45 @@ -9004,7 +9004,7 @@ Body: Baby_Oboro: true MaxWeight: 26000 HpFactor: 75 - SpFactor: 540 + SpIncrease: 540 BaseASPD: Fist: 40 Dagger: 45 @@ -9085,7 +9085,7 @@ Body: Baby_Taekwon: true MaxWeight: 28000 HpFactor: 70 - SpFactor: 200 + SpIncrease: 200 BaseASPD: Fist: 40 Dagger: 50 @@ -9154,8 +9154,8 @@ Body: Baby_Star_Gladiator2: true MaxWeight: 28000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 470 + HpIncrease: 650 + SpIncrease: 470 BaseASPD: Fist: 40 Dagger: 50 @@ -9247,7 +9247,7 @@ Body: Baby_Soul_Linker: true MaxWeight: 24000 HpFactor: 75 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 50 Dagger: 50 @@ -9319,8 +9319,8 @@ Body: Baby_Gunslinger: true MaxWeight: 28000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 469 + HpIncrease: 650 + SpIncrease: 469 BaseASPD: Fist: 54 Revolver: 49 @@ -9382,8 +9382,8 @@ Body: Baby_Rebellion: true MaxWeight: 28000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 469 + HpIncrease: 650 + SpIncrease: 469 BaseASPD: Fist: 54 Revolver: 49 @@ -9470,8 +9470,8 @@ Body: Star_Emperor2: true MaxWeight: 28000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 470 + HpIncrease: 650 + SpIncrease: 470 BaseASPD: Fist: 40 Dagger: 50 @@ -9577,7 +9577,7 @@ Body: Soul_Reaper: true MaxWeight: 24000 HpFactor: 75 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 50 Dagger: 50 @@ -9664,8 +9664,8 @@ Body: Baby_Star_Emperor2: true MaxWeight: 28000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 470 + HpIncrease: 650 + SpIncrease: 470 BaseASPD: Fist: 40 Dagger: 50 @@ -9771,7 +9771,7 @@ Body: Baby_Soul_Reaper: true MaxWeight: 24000 HpFactor: 75 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 50 Dagger: 50 @@ -9858,7 +9858,7 @@ Body: Dragon_Knight2: true MaxWeight: 35000 HpFactor: 150 - SpFactor: 300 + SpIncrease: 300 BaseASPD: Fist: 40 Dagger: 50 @@ -9998,7 +9998,7 @@ Body: Meister2: true MaxWeight: 38000 HpFactor: 90 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 60 @@ -10139,7 +10139,7 @@ Body: Shadow_Cross: true MaxWeight: 32000 HpFactor: 110 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 42 @@ -10283,7 +10283,7 @@ Body: Arch_Mage: true MaxWeight: 30000 HpFactor: 55 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 45 Dagger: 52 @@ -10422,7 +10422,7 @@ Body: Cardinal: true MaxWeight: 30000 HpFactor: 75 - SpFactor: 800 + SpIncrease: 800 BaseASPD: Fist: 45 Mace: 45 @@ -10564,7 +10564,7 @@ Body: Windhawk2: true MaxWeight: 32000 HpFactor: 85 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 50 @@ -10702,8 +10702,8 @@ Body: Imperial_Guard2: true MaxWeight: 35000 HpFactor: 110 - HpMultiplicator: 700 - SpFactor: 400 + HpIncrease: 700 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 47 @@ -10847,7 +10847,7 @@ Body: Biolo: true MaxWeight: 32000 HpFactor: 90 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 40 Dagger: 50 @@ -10988,7 +10988,7 @@ Body: Abyss_Chaser: true MaxWeight: 28000 HpFactor: 85 - SpFactor: 400 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 43 @@ -11126,7 +11126,7 @@ Body: Elemental_Master: true MaxWeight: 30000 HpFactor: 75 - SpFactor: 900 + SpIncrease: 900 BaseASPD: Fist: 40 Dagger: 50 @@ -11266,8 +11266,8 @@ Body: Inquisitor: true MaxWeight: 30000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 400 + HpIncrease: 650 + SpIncrease: 400 BaseASPD: Fist: 38 Mace: 43 @@ -11406,8 +11406,8 @@ Body: Troubadour: true MaxWeight: 32000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 400 + HpIncrease: 300 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 52 @@ -11544,8 +11544,8 @@ Body: Trouvere: true MaxWeight: 32000 HpFactor: 75 - HpMultiplicator: 300 - SpFactor: 400 + HpIncrease: 300 + SpIncrease: 400 BaseASPD: Fist: 40 Dagger: 52 @@ -11683,8 +11683,8 @@ Body: Sky_Emperor: true MaxWeight: 42000 HpFactor: 90 - HpMultiplicator: 650 - SpFactor: 635 + HpIncrease: 650 + SpIncrease: 635 BaseASPD: Fist: 40 Dagger: 50 @@ -11843,8 +11843,8 @@ Body: Soul_Ascetic: true MaxWeight: 42000 HpFactor: 75 - HpMultiplicator: 850 - SpFactor: 860 + HpIncrease: 850 + SpIncrease: 860 BaseASPD: Fist: 50 Dagger: 50 @@ -11972,7 +11972,7 @@ Body: Shinkiro: true MaxWeight: 45000 HpFactor: 98 - SpFactor: 540 + SpIncrease: 540 BaseASPD: Fist: 40 Dagger: 45 @@ -12110,7 +12110,7 @@ Body: Shiranui: true MaxWeight: 45000 HpFactor: 98 - SpFactor: 540 + SpIncrease: 540 BaseASPD: Fist: 40 Dagger: 45 @@ -12237,8 +12237,8 @@ Body: Night_Watch: true MaxWeight: 48000 HpFactor: 75 - HpMultiplicator: 1800 - SpFactor: 800 + HpIncrease: 1800 + SpIncrease: 800 BaseASPD: Fist: 54 Revolver: 49 @@ -12372,8 +12372,8 @@ Body: Hyper_Novice: true MaxWeight: 40000 HpFactor: 55 - HpMultiplicator: 900 - SpFactor: 600 + HpIncrease: 900 + SpIncrease: 600 BaseASPD: Fist: 40 Dagger: 55 @@ -12518,8 +12518,8 @@ Body: Spirit_Handler: true MaxWeight: 42000 HpFactor: 80 - HpMultiplicator: 1150 - SpFactor: 730 + HpIncrease: 1150 + SpIncrease: 730 BaseASPD: Fist: 40 Staff: 60 diff --git a/doc/yaml/db/job_basepoints.yml b/doc/yaml/db/job_basepoints.yml index df3ea7703a..41d62eec86 100644 --- a/doc/yaml/db/job_basepoints.yml +++ b/doc/yaml/db/job_basepoints.yml @@ -8,9 +8,9 @@ # - Jobs: List of jobs associated to group. # Job Job name. # MaxWeight Base maximum weight. (Default: 20000) -# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000) -# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500) -# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100) +# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0) +# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500) +# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100)]. Used when macro HP_SP_TABLES is disabled. (Default: 100) # BaseASPD: Base ASPD for each weapon type. (Default: 2000) # Weapon Weapon type with associated ASPD. # BonusStats: Job level bonus stats/traits. diff --git a/doc/yaml/db/job_exp.yml b/doc/yaml/db/job_exp.yml index df3ea7703a..41d62eec86 100644 --- a/doc/yaml/db/job_exp.yml +++ b/doc/yaml/db/job_exp.yml @@ -8,9 +8,9 @@ # - Jobs: List of jobs associated to group. # Job Job name. # MaxWeight Base maximum weight. (Default: 20000) -# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000) -# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500) -# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100) +# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0) +# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500) +# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100)]. Used when macro HP_SP_TABLES is disabled. (Default: 100) # BaseASPD: Base ASPD for each weapon type. (Default: 2000) # Weapon Weapon type with associated ASPD. # BonusStats: Job level bonus stats/traits. diff --git a/doc/yaml/db/job_stats.yml b/doc/yaml/db/job_stats.yml index df3ea7703a..41d62eec86 100644 --- a/doc/yaml/db/job_stats.yml +++ b/doc/yaml/db/job_stats.yml @@ -8,9 +8,9 @@ # - Jobs: List of jobs associated to group. # Job Job name. # MaxWeight Base maximum weight. (Default: 20000) -# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000) -# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500) -# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100) +# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0) +# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500) +# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100)]. Used when macro HP_SP_TABLES is disabled. (Default: 100) # BaseASPD: Base ASPD for each weapon type. (Default: 2000) # Weapon Weapon type with associated ASPD. # BonusStats: Job level bonus stats/traits. diff --git a/src/map/pc.cpp b/src/map/pc.cpp index 452ecd173e..b0c9afb369 100755 --- a/src/map/pc.cpp +++ b/src/map/pc.cpp @@ -12999,7 +12999,7 @@ void SkillTreeDatabase::loadingFinished() { */ static unsigned int pc_calc_basehp(uint16 level, uint16 job_id) { std::shared_ptr job = job_db.find(job_id); - double base_hp = 35 + level * (job->hp_multiplicator / 100.); + double base_hp = 35 + level * (job->hp_increase / 100.); #ifndef RENEWAL if (level >= 10 && (job_id == JOB_NINJA || job_id == JOB_GUNSLINGER)) @@ -13021,7 +13021,7 @@ static unsigned int pc_calc_basehp(uint16 level, uint16 job_id) { */ static unsigned int pc_calc_basesp(uint16 level, uint16 job_id) { std::shared_ptr job = job_db.find(job_id); - double base_sp = 10 + floor(level * (job->sp_factor / 100.)); + double base_sp = 10 + floor(level * (job->sp_increase / 100.)); switch (job_id) { case JOB_NINJA: @@ -13100,40 +13100,40 @@ uint64 JobDatabase::parseBodyNode(const ryml::NodeRef& node) { job->max_weight_base = 20000; } - if (this->nodeExists(node, "HPFactor")) { + if (this->nodeExists(node, "HpFactor")) { uint32 hp; - if (!this->asUInt32(node, "HPFactor", hp)) + if (!this->asUInt32(node, "HpFactor", hp)) return 0; job->hp_factor = hp; } else { if (!exists) - job->hp_factor = 20000; + job->hp_factor = 0; } - if (this->nodeExists(node, "HPMultiplicator")) { + if (this->nodeExists(node, "HpIncrease")) { uint32 hp; - if (!this->asUInt32(node, "HPMultiplicator", hp)) + if (!this->asUInt32(node, "HpIncrease", hp)) return 0; - job->hp_multiplicator = hp; + job->hp_increase = hp; } else { if (!exists) - job->hp_multiplicator = 500; + job->hp_increase = 500; } - if (this->nodeExists(node, "SPFactor")) { + if (this->nodeExists(node, "SpIncrease")) { uint32 sp; - if (!this->asUInt32(node, "SPFactor", sp)) + if (!this->asUInt32(node, "SpIncrease", sp)) return 0; - job->sp_factor = sp; + job->sp_increase = sp; } else { if (!exists) - job->sp_factor = 100; + job->sp_increase = 100; } if (this->nodeExists(node, "BaseASPD")) { diff --git a/src/map/pc.hpp b/src/map/pc.hpp index 2022ab2644..e534c197d7 100644 --- a/src/map/pc.hpp +++ b/src/map/pc.hpp @@ -1002,7 +1002,7 @@ public: struct s_job_info { std::vector base_hp, base_sp, base_ap; //Storage for the first calculation with hp/sp/ap factor and multiplicator - uint32 hp_factor, hp_multiplicator, sp_factor, max_weight_base; + uint32 hp_factor, hp_increase, sp_increase, max_weight_base; std::vector> job_bonus; std::vector aspd_base; t_exp base_exp[MAX_LEVEL], job_exp[MAX_LEVEL]; @@ -1016,7 +1016,7 @@ struct s_job_info { class JobDatabase : public TypesafeCachedYamlDatabase { public: - JobDatabase() : TypesafeCachedYamlDatabase("JOB_STATS", 1) { + JobDatabase() : TypesafeCachedYamlDatabase("JOB_STATS", 2) { } diff --git a/src/tool/csv2yaml.cpp b/src/tool/csv2yaml.cpp index 73f95fbed4..c25d3d4301 100644 --- a/src/tool/csv2yaml.cpp +++ b/src/tool/csv2yaml.cpp @@ -464,20 +464,20 @@ int do_init( int argc, char** argv ){ return 0; } - if (!process("JOB_STATS", 1, root_paths, "job_exp", [](const std::string& path, const std::string& name_ext) -> bool { + if (!process("JOB_STATS", 2, root_paths, "job_exp", [](const std::string& path, const std::string& name_ext) -> bool { return sv_readdb(path.c_str(), name_ext.c_str(), ',', 4, 1000 + 3, CLASS_COUNT * 2, &pc_readdb_job_exp, false); }, "job_exp")) { return 0; } - if (!process("JOB_STATS", 1, root_paths, "job_basehpsp_db", [](const std::string& path, const std::string& name_ext) -> bool { + if (!process("JOB_STATS", 2, root_paths, "job_basehpsp_db", [](const std::string& path, const std::string& name_ext) -> bool { return sv_readdb(path.c_str(), name_ext.c_str(), ',', 4, 4 + 500, CLASS_COUNT * 2, &pc_readdb_job_basehpsp, false); }, "job_basepoints")) { return 0; } job_txt_data(path_db_mode, path_db); - if (!process("JOB_STATS", 1, { path_db_mode }, "job_db1", [](const std::string& path, const std::string& name_ext) -> bool { + if (!process("JOB_STATS", 2, { path_db_mode }, "job_db1", [](const std::string& path, const std::string& name_ext) -> bool { #ifdef RENEWAL_ASPD return sv_readdb(path.c_str(), name_ext.c_str(), ',', 6 + MAX_WEAPON_TYPE, 6 + MAX_WEAPON_TYPE, CLASS_COUNT, &pc_readdb_job1, false); #else @@ -488,7 +488,7 @@ int do_init( int argc, char** argv ){ } job_txt_data(path_db_import, path_db_import); - if (!process("JOB_STATS", 1, { path_db_import }, "job_db1", [](const std::string& path, const std::string& name_ext) -> bool { + if (!process("JOB_STATS", 2, { path_db_import }, "job_db1", [](const std::string& path, const std::string& name_ext) -> bool { #ifdef RENEWAL_ASPD return sv_readdb(path.c_str(), name_ext.c_str(), ',', 6 + MAX_WEAPON_TYPE, 6 + MAX_WEAPON_TYPE, CLASS_COUNT, &pc_readdb_job1, false); #else @@ -4390,9 +4390,9 @@ static bool pc_readdb_job1(char* fields[], int columns, int current) { if (atoi(fields[2]) != 0) body << YAML::Key << "HpFactor" << YAML::Value << atoi(fields[2]); if (atoi(fields[3]) != 500) - body << YAML::Key << "HpMultiplicator" << YAML::Value << atoi(fields[3]); + body << YAML::Key << "HpIncrease" << YAML::Value << atoi(fields[3]); if (atoi(fields[4]) != 100) - body << YAML::Key << "SpFactor" << YAML::Value << atoi(fields[4]); + body << YAML::Key << "SpIncrease" << YAML::Value << atoi(fields[4]); body << YAML::Key << "BaseASPD"; body << YAML::BeginMap; diff --git a/src/tool/yamlupgrade.cpp b/src/tool/yamlupgrade.cpp index b28bc2f1e3..76a71ddf7b 100644 --- a/src/tool/yamlupgrade.cpp +++ b/src/tool/yamlupgrade.cpp @@ -5,6 +5,7 @@ static bool upgrade_achievement_db(std::string file, const uint32 source_version); static bool upgrade_item_db(std::string file, const uint32 source_version); +static bool upgrade_job_stats(std::string file, const uint32 source_version); template bool process(const std::string &type, uint32 version, const std::vector &paths, const std::string &name, Func lambda) { @@ -115,6 +116,12 @@ int do_init(int argc, char** argv) { return 0; } + if (!process("JOB_STATS", 2, root_paths, "job_stats", [](const std::string& path, const std::string& name_ext, uint32 source_version) -> bool { + return upgrade_job_stats(path + name_ext, source_version); + })) { + return 0; + } + return 0; } @@ -248,3 +255,41 @@ static bool upgrade_item_db(std::string file, const uint32 source_version) { return true; } + +static bool upgrade_job_stats(std::string file, const uint32 source_version) { + size_t entries = 0; + + for (auto input : inNode["Body"]) { + // If under version 2 + if (source_version < 2) { + // Field name changes + if (input["HPFactor"].IsDefined()) { + input["HpFactor"] = input["HPFactor"].as(); + input.remove("HPFactor"); + } + if (input["HpMultiplicator"].IsDefined()) { + input["HpIncrease"] = input["HpMultiplicator"].as(); + input.remove("HpMultiplicator"); + } + if (input["HPMultiplicator"].IsDefined()) { + input["HpIncrease"] = input["HPMultiplicator"].as(); + input.remove("HPMultiplicator"); + } + if (input["SpFactor"].IsDefined()) { + input["SpIncrease"] = input["SpFactor"].as(); + input.remove("SpFactor"); + } + if (input["SPFactor"].IsDefined()) { + input["SpIncrease"] = input["SPFactor"].as(); + input.remove("SPFactor"); + } + } + + body << input; + entries++; + } + + ShowStatus("Done converting/upgrading '" CL_WHITE "%zu" CL_RESET "' job stats in '" CL_WHITE "%s" CL_RESET "'.\n", entries, file.c_str()); + + return true; +}