'job_db1.txt' Redesign

malufett

Retired Staff
Messages
657
Points
0
Location
Philippines
Github
malufett
Emulator
'job_db1.txt' Redesign
 
What is it?

  • The file has been upgrade to achieve 2 goals: make it easier for us to update the file and for our users to customize it better.
  • The old hp/sp computation has been drop and replace by hp/sp tables.
job_db.conf Format:

Job_Name: { // Job names as in src/map/pc.c (they are hardcoded at the moment so if you want to add a new job you should add it there)
    Inherit: ( "Other_Job_Name" );
    // Base job from which this job will inherit its max weight, base ASPD set and HP/SP table.
    InheritHP: ( "Other_Job_Name" );// Base job from which this job will inherit its HP table.
    InheritSP: ( "Other_Job_Name" );// Base job from which this job will inherit its SP table.
    Weight: Max Weight            (int, defaults to 20000, units in Weight/10)
    BaseASPD: {                 // Base ASPD for specific weapon type
        Fist: 0~200                (int, defaults to 200)
        Dagger: 0~200            (int, defaults to 200)
        Sword: 0~200            (int, defaults to 200)
        TwoHandSword: 0~200        (int, defaults to 200)
        Spear: 0~200            (int, defaults to 200)
        TwoHandSpear: 0~200        (int, defaults to 200)
        Axe: 0~200                (int, defaults to 200)
        TwoHandAxe: 0~200        (int, defaults to 200)
        Mace: 0~200                (int, defaults to 200)
        TwoHandMace: 0~200        (int, defaults to 200)
        Rod: 0~200                (int, defaults to 200)
        Bow: 0~200                (int, defaults to 200)
        Knuckle: 0~200            (int, defaults to 200)
        Instrumen: 0~200        (int, defaults to 200)
        Whip: 0~200                (int, defaults to 200)
        Book: 0~200                (int, defaults to 200)
        Katar: 0~200            (int, defaults to 200)
        Revolver: 0~200            (int, defaults to 200)
        Rifle: 0~200            (int, defaults to 200)
        GatlingGun: 0~200        (int, defaults to 200)
        Shotgun: 0~200            (int, defaults to 200)
        GrenadeLauncher: 0~200    (int, defaults to 200)
        FuumaShuriken: 0~200    (int, defaults to 200)
        TwoHandRod: 0~200        (int, defaults to 200)
        Shield: 0~200            (int, defaults to 0)
    }
    HPTable:[ 1, .... 150 ]        (int[]) Reference table for base HP per level 
    SPTable:[ 1, .... 150 ]        (int[]) Reference table for base SP per level
    // Note: If table index size is smaller than the max level the server will automatically generate the missing index based on the average increase per level.}
Benefit?

  • You can now easily specify a class base weight, base aspd for specific weapon types and HP/SP per level.
  • Lessen redundant entries and good for the eyes..
    default_biggrin.png
  • RE ASPD formula is improved to compatibly(less/no more conversion) accept aegis database.
Tools?

Special Thanks to:

Links

default_ani_meow.gif


 
Last edited by a moderator:
great!! but what about job_db2.txt?

 
great!! but what about job_db2.txt?
I don't have any better idea for its redesign...

default_ani_meow.gif
lets just move it to something like the Lua files structures  
default_biggrin.png


pseudo code/example:

Code:
[JobID.Novice] = {	Str = { 0, 6, 5, 0, 2, 3, 0, 1, 4, 0 },	Agi = { 0, 6, 5, 0, 2, 3, 0, 1, 4, 0 },	Vit = { 0, 6, 5, 0, 2, 3, 0, 1, 4, 0 },	Int = { 0, 6, 5, 0, 2, 3, 0, 1, 4, 0 },	Dex = { 0, 6, 5, 0, 2, 3, 0, 1, 4, 0 },	Luk = { 0, 6, 5, 0, 2, 3, 0, 1, 4, 0 }}
 
Last edited by a moderator:
// Note: If table index size is smaller than the max level the server will automatically generate the missing index based on the average increase per level.
my test server have high level set, BaseLevel = 255 and the sp amount is insanely high and what is average number per level can you help enlighten me

screenAtelier000.jpg
and i try to create my own sp table for wizard class, coz warlock(trans) iherited it and it got me near the previous job_db result (sp amount)

Wizard: { Weight: 24000 BaseASPD: { Fist: 500 Dagger: 575 Rod: 625 TwoHandRod: 625 } HPTable:[ 40, 46, 53, 60, 68, 76, 85, 94, 104, 115, // 1 - 10 126, 138, 150, 163, 176, 190, 204, 219, 234, 250, // 11 - 20 267, 284, 302, 320, 339, 358, 378, 398, 419, 441, // 21 - 30 463, 486, 509, 533, 557, 582, 607, 633, 659, 686, // 31 - 40 714, 742, 771, 800, 830, 860, 891, 922, 954, 987, // 41 - 50 1020, 1054, 1088, 1123, 1158, 1194, 1230, 1267, 1304, 1342, // 51 - 60 1381, 1420, 1460, 1500, 1541, 1582, 1624, 1666, 1709, 1753, // 61 - 70 1797, 1842, 1887, 1933, 1979, 2026, 2073, 2121, 2169, 2218, // 71 - 80 2268, 2318, 2369, 2420, 2472, 2524, 2577, 2630, 2684, 2739, // 81 - 90 2794, 2850, 2906, 2963, 3020, 3078, 3136, 3195, 3254, 3313, // 91 - 100 3372, 3431, 3490, 3549, 3608, 3667, 3726, 3785, 3844, 3903, // 101 - 110 3962, 4021, 4080, 4139, 4198, 4257, 4316, 4375, 4434, 4493, // 111 - 120 4552, 4611, 4670, 4729, 4788, 4847, 4906, 4965, 5024, 5083, // 121 - 130 5142, 5201, 5260, 5319, 5378, 5437, 5496, 5555, 5614, 5673, // 131 - 140 5732, 5791, 5850, 5909, 5968, 6027, 6086, 6145, 6204, 6263] // 141 - 150 SPTable:[ 19, 28, 37, 46, 55, 64, 73, 82, 91, 100, // 1 - 10 109, 118, 127, 136, 145, 154, 163, 172, 181, 190, // 11 - 20 199, 208, 217, 226, 235, 244, 253, 262, 271, 280, // 21 - 30 289, 298, 307, 316, 325, 334, 343, 352, 361, 370, // 31 - 40 379, 388, 397, 406, 415, 424, 433, 442, 451, 460, // 41 - 50 469, 478, 487, 496, 505, 514, 523, 532, 541, 550, // 51 - 60 559, 568, 577, 586, 595, 604, 613, 622, 631, 640, // 61 - 70 649, 658, 667, 676, 685, 694, 703, 712, 721, 730, // 71 - 80 739, 748, 757, 766, 775, 784, 793, 802, 811, 820, // 81 - 90 829, 838, 847, 856, 865, 874, 883, 892, 901, 910, // 91 - 100 919, 928, 937, 946, 955, 964, 973, 982, 991, 1000, // 101 - 110 1009, 1018, 1027, 1036, 1045, 1054, 1063, 1072, 1081, 1090, // 111 - 120 1099, 1108, 1117, 1126, 1135, 1144, 1153, 1162, 1171, 1180, // 121 - 130 1189, 1198, 1207, 1216, 1225, 1234, 1243, 1252, 1261, 1270, // 131 - 140 1279, 1288, 1297, 1306, 1315, 1324, 1333, 1342, 1351, 1360, // 141 - 150 1369, 1378, 1387, 1396, 1405, 1414, 1423, 1432, 1441, 1450, // 151 - 160 1459, 1468, 1477, 1486, 1495, 1504, 1513, 1522, 1531, 1540, // 161 - 170 1549, 1558, 1567, 1576, 1585, 1594, 1603, 1612, 1621, 1630, // 171 - 180 1639, 1648, 1657, 1666, 1675, 1684, 1693, 1702, 1711, 1720, // 181 - 190 1729, 1738, 1747, 1756, 1765, 1774, 1783, 1792, 1801, 1810, // 191 - 200 1819, 1828, 1837, 1846, 1855, 1864, 1873, 1882, 1891, 1900, // 201 - 210 1909, 1918, 1927, 1936, 1945, 1954, 1963, 1972, 1981, 1990, // 211 - 220 1999, 2008, 2017, 2026, 2035, 2044, 2053, 2062, 2071, 2080, // 221 - 230 2089, 2098, 2107, 2116, 2125, 2134, 2143, 2152, 2161, 2170, // 231 - 240 2179, 2188, 2197, 2206, 2215, 2224, 2233, 2242, 2251, 2260, // 241 - 250 2269, 2278, 2287, 2296, 2305] // 251 - 255}
using revision before job_db redesign

screenAccelWordl2000.jpg
using revision after job_db redesign and adding sp table

screenAtelier001.jpg

and hp table seems lowered from previous

 
Last edited by a moderator:
my test server have high level set, BaseLevel = 255 and the sp amount is insanely high and what is average number per level can you help enlighten me
example:

Defined Table

Level 1 = 10

Level 2 = 20

Level 3 = 30

Stops at 3 but your max level for a specific job is 10

then let's compute for the average increase

0-10 = abs(-10)

10-20 = abs(-10)

20-30 = abs(-10)

total = 30

average = 30/10 = 10

it means in every level the hp increases 10 per level

now let's compute for the succeeding level

Level 4 = 4 * 10 = 40

.

.

Level 10 = 10 * 10 = 1000

Hope you understand...
default_biggrin.png


default_ani_meow.gif


 
thanks @@malufett, but it still weird have you seen my screenshot it have sp 784707 and Warlock SP Table inherited from Wizard and wizard all level on sp table increased by 9 per level (if i calculate it corectly so the average is 9), basically the automatically generated missing index will have same result with sp table that i manualy generated and the question is why and how the automaticaly generated give me 784707 SP and the manualy generated give me 10294 SP?

Original Wizard SPTable 1-150

SPTable:[ 19, 28, 37, 46, 55, 64, 73, 82, 91, 100, // 1 - 10 109, 118, 127, 136, 145, 154, 163, 172, 181, 190, // 11 - 20 199, 208, 217, 226, 235, 244, 253, 262, 271, 280, // 21 - 30 289, 298, 307, 316, 325, 334, 343, 352, 361, 370, // 31 - 40 379, 388, 397, 406, 415, 424, 433, 442, 451, 460, // 41 - 50 469, 478, 487, 496, 505, 514, 523, 532, 541, 550, // 51 - 60 559, 568, 577, 586, 595, 604, 613, 622, 631, 640, // 61 - 70 649, 658, 667, 676, 685, 694, 703, 712, 721, 730, // 71 - 80 739, 748, 757, 766, 775, 784, 793, 802, 811, 820, // 81 - 90 829, 838, 847, 856, 865, 874, 883, 892, 901, 910, // 91 - 100 919, 928, 937, 946, 955, 964, 973, 982, 991, 1000, // 101 - 110 1009, 1018, 1027, 1036, 1045, 1054, 1063, 1072, 1081, 1090, // 111 - 120 1099, 1108, 1117, 1126, 1135, 1144, 1153, 1162, 1171, 1180, // 121 - 130 1189, 1198, 1207, 1216, 1225, 1234, 1243, 1252, 1261, 1270, // 131 - 140 1279, 1288, 1297, 1306, 1315, 1324, 1333, 1342, 1351, 1360] // 141 - 150

manualy generated Wizard SPTable - Level 151 - 255

      1369, 1378, 1387, 1396, 1405, 1414, 1423, 1432, 1441, 1450,  // 151 - 160       1459, 1468, 1477, 1486, 1495, 1504, 1513, 1522, 1531, 1540,  // 161 - 170       1549, 1558, 1567, 1576, 1585, 1594, 1603, 1612, 1621, 1630,  // 171 - 180       1639, 1648, 1657, 1666, 1675, 1684, 1693, 1702, 1711, 1720,  // 181 - 190       1729, 1738, 1747, 1756, 1765, 1774, 1783, 1792, 1801, 1810,  // 191 - 200       1819, 1828, 1837, 1846, 1855, 1864, 1873, 1882, 1891, 1900,  // 201 - 210       1909, 1918, 1927, 1936, 1945, 1954, 1963, 1972, 1981, 1990,  // 211 - 220       1999, 2008, 2017, 2026, 2035, 2044, 2053, 2062, 2071, 2080,  // 221 - 230       2089, 2098, 2107, 2116, 2125, 2134, 2143, 2152, 2161, 2170,  // 231 - 240       2179, 2188, 2197, 2206, 2215, 2224, 2233, 2242, 2251, 2260,  // 241 - 250       2269, 2278, 2287, 2296, 2305,  // 251 - 255
automatically generated Wizard SPTable ??

 
thanks @@malufett, but it still weird have you seen my screenshot it have sp 784707 and Warlock SP Table inherited from Wizard and wizard all level on sp table increased by 9 per level (if i calculate it corectly so the average is 9), basically the automatically generated missing index will have same result with sp table that i manualy generated and the question is why and how the automaticaly generated give me 784707 SP and the manualy generated give me 10294 SP?

Original Wizard SPTable 1-150

SPTable:[ 19, 28, 37, 46, 55, 64, 73, 82, 91, 100, // 1 - 10 109, 118, 127, 136, 145, 154, 163, 172, 181, 190, // 11 - 20 199, 208, 217, 226, 235, 244, 253, 262, 271, 280, // 21 - 30 289, 298, 307, 316, 325, 334, 343, 352, 361, 370, // 31 - 40 379, 388, 397, 406, 415, 424, 433, 442, 451, 460, // 41 - 50 469, 478, 487, 496, 505, 514, 523, 532, 541, 550, // 51 - 60 559, 568, 577, 586, 595, 604, 613, 622, 631, 640, // 61 - 70 649, 658, 667, 676, 685, 694, 703, 712, 721, 730, // 71 - 80 739, 748, 757, 766, 775, 784, 793, 802, 811, 820, // 81 - 90 829, 838, 847, 856, 865, 874, 883, 892, 901, 910, // 91 - 100 919, 928, 937, 946, 955, 964, 973, 982, 991, 1000, // 101 - 110 1009, 1018, 1027, 1036, 1045, 1054, 1063, 1072, 1081, 1090, // 111 - 120 1099, 1108, 1117, 1126, 1135, 1144, 1153, 1162, 1171, 1180, // 121 - 130 1189, 1198, 1207, 1216, 1225, 1234, 1243, 1252, 1261, 1270, // 131 - 140 1279, 1288, 1297, 1306, 1315, 1324, 1333, 1342, 1351, 1360] // 141 - 150

manualy generated Wizard SPTable - Level 151 - 255

      1369, 1378, 1387, 1396, 1405, 1414, 1423, 1432, 1441, 1450,  // 151 - 160       1459, 1468, 1477, 1486, 1495, 1504, 1513, 1522, 1531, 1540,  // 161 - 170       1549, 1558, 1567, 1576, 1585, 1594, 1603, 1612, 1621, 1630,  // 171 - 180       1639, 1648, 1657, 1666, 1675, 1684, 1693, 1702, 1711, 1720,  // 181 - 190       1729, 1738, 1747, 1756, 1765, 1774, 1783, 1792, 1801, 1810,  // 191 - 200       1819, 1828, 1837, 1846, 1855, 1864, 1873, 1882, 1891, 1900,  // 201 - 210       1909, 1918, 1927, 1936, 1945, 1954, 1963, 1972, 1981, 1990,  // 211 - 220       1999, 2008, 2017, 2026, 2035, 2044, 2053, 2062, 2071, 2080,  // 221 - 230       2089, 2098, 2107, 2116, 2125, 2134, 2143, 2152, 2161, 2170,  // 231 - 240       2179, 2188, 2197, 2206, 2215, 2224, 2233, 2242, 2251, 2260,  // 241 - 250       2269, 2278, 2287, 2296, 2305,  // 251 - 255
automatically generated Wizard SPTable ??
Where did you calculate it ? my server got 1/1 sp/hp im using 255/120

 
@@malufett

any chance to make a config in order to we choose the old calculation instead? I guess that everyone that uses a higher level than the official one is having issues right now, or at least provide us a tool to generate new tables, or at least provide generated tables to 1000 lvl since our exp_db goes up to this...

look what I'm talking about:

LUE0cLS.jpg
vs 
nc5Gkdv.jpg


 
Last edited by a moderator:
@evilpunker

sorry I've been busy this past days..if I have a chance next week I'll create a tool that will have many options for computing the table like:

1st option use ea coefficient increase algorithm

2nd option average increase algorithm

3rd your own algorithm

default_ani_meow.gif


 
after @@Haru change it really didn't changed anything beside SP lol :'(

P2flmGS.jpg


 
@@malufett

I did not forgot this setting, but it is so much unbalanced since it still make us have low hp at lower level and make us reach the hp limit very easily, and I messed up with this for like 1 hour straight

 
after @@Haru change it really didn't changed anything beside SP lol :'(

P2flmGS.jpg
he just fixed possible server crash and derive the formula,,,

just wondering why people ignoring this?

> 


// Players' maximum HP rate? (Default is 100)

hp_rate: 100

// Players' maximum SP rate? (Default is 100)

sp_rate: 100
default_ani_meow.gif
I have the same issues with them the reason why I didn't update up to this revision yet. The new HP calculation is different and there's no way you can convert the old hp multiplier to the current one and get the same result. In my opinion, the old HP configuration is easier to adjust and you can way more balance it per job class.

// Players' maximum HP rate? (Default is 100)

hp_rate: 100

// Players' maximum SP rate? (Default is 100)

sp_rate: 100
To be honest, I never used this to increase player hp/sp rate specially in Renewal. It simply makes other job go way higher in HP/SP than the others specially if you are playing in High Rates (255+). And the job_db gives you more freedom on adjusting these rates per job classes.

 
Will you check Knight HP Table? i think this is not right.. HP increment from lvl 99-150 is only 75. At this rate, Assassin Cross will have more HP than knight at lvl 255.

Knight
207kjyu.jpg


Assassin
2qd4mmr.jpg


 
Last edited by a moderator:
Back
Top