Fixes HPFactor being way too high (#6909)
- Fixes #6908 - HpFactor default changed from 20000 to 0 - Renamed HPMultiplicator to HpIncrease and SPFactor to SpIncrease so the naming is more consistent - Fixed an issue with case-sensitivity (HP/SP -> Hp/Sp) - YAML version of JOB_STATS is now 2 - "csv2yaml" and "yamlupgrade" converters updated accordingly - Improved documentation Special thanks to @Lemongrass3110
This commit is contained in:
parent
78bf9f72c8
commit
64f10ed10b
@ -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:
|
||||
###########################################################################
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -12999,7 +12999,7 @@ void SkillTreeDatabase::loadingFinished() {
|
||||
*/
|
||||
static unsigned int pc_calc_basehp(uint16 level, uint16 job_id) {
|
||||
std::shared_ptr<s_job_info> 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<s_job_info> 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")) {
|
||||
|
@ -1002,7 +1002,7 @@ public:
|
||||
|
||||
struct s_job_info {
|
||||
std::vector<uint32> 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<std::array<uint16,PARAM_MAX>> job_bonus;
|
||||
std::vector<int16> aspd_base;
|
||||
t_exp base_exp[MAX_LEVEL], job_exp[MAX_LEVEL];
|
||||
@ -1016,7 +1016,7 @@ struct s_job_info {
|
||||
|
||||
class JobDatabase : public TypesafeCachedYamlDatabase<uint16, s_job_info> {
|
||||
public:
|
||||
JobDatabase() : TypesafeCachedYamlDatabase("JOB_STATS", 1) {
|
||||
JobDatabase() : TypesafeCachedYamlDatabase("JOB_STATS", 2) {
|
||||
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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<typename Func>
|
||||
bool process(const std::string &type, uint32 version, const std::vector<std::string> &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<uint32>();
|
||||
input.remove("HPFactor");
|
||||
}
|
||||
if (input["HpMultiplicator"].IsDefined()) {
|
||||
input["HpIncrease"] = input["HpMultiplicator"].as<uint32>();
|
||||
input.remove("HpMultiplicator");
|
||||
}
|
||||
if (input["HPMultiplicator"].IsDefined()) {
|
||||
input["HpIncrease"] = input["HPMultiplicator"].as<uint32>();
|
||||
input.remove("HPMultiplicator");
|
||||
}
|
||||
if (input["SpFactor"].IsDefined()) {
|
||||
input["SpIncrease"] = input["SpFactor"].as<uint32>();
|
||||
input.remove("SpFactor");
|
||||
}
|
||||
if (input["SPFactor"].IsDefined()) {
|
||||
input["SpIncrease"] = input["SPFactor"].as<uint32>();
|
||||
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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user