Browse Source

Official HP/SP values (fixes #358)
- Updated the HP/SP tables to be 100% official for level 1 to 150
* The only differences between pre-renewal and renewal are for HP of Novice, Ninja and Gunslinger
* Level 151 to 500 is now an auto-calculated continuation of the progress from level 99 to 150 (not normal for all classes)
- HP/SP tables will now be used by default
- The code variation does not perfectly work for all classes, but I tried to get it to work as far as possible
* This includes an even better estimation for Ninja/Gunslinger HP/SP which now also works for renewal
* This also includes fixing the SP values of the 3-2 classes in renewal
* But I really recommend to just use the HP/SP tables for exact values

Special thanks to MrAntares.

Playtester 10 years ago
parent
commit
b7431efa03
7 changed files with 50 additions and 44 deletions
  1. 1 1
      db/pre-re/job_basehpsp_db.txt
  2. 5 5
      db/pre-re/job_db1.txt
  3. 0 0
      db/re/job_basehpsp_db.txt
  4. 32 32
      db/re/job_db1.txt
  5. 1 1
      src/config/core.h
  6. 9 5
      src/map/pc.c
  7. 2 0
      src/map/status.c

File diff suppressed because it is too large
+ 1 - 1
db/pre-re/job_basehpsp_db.txt


+ 5 - 5
db/pre-re/job_db1.txt

@@ -52,9 +52,9 @@
 // Super Novice
 // Super Novice
 23,	20000,0    ,500  ,100  ,500  ,650  ,700  ,2000 ,2000 ,2000 ,800  ,2000 ,700  ,700  ,650  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 650
 23,	20000,0    ,500  ,100  ,500  ,650  ,700  ,2000 ,2000 ,2000 ,800  ,2000 ,700  ,700  ,650  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 650
 // Gunslinger
 // Gunslinger
-24,	28000,89   ,  0  ,462  ,500  ,2000, 2000, 2000, 2000, 2000, 2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 700 , 750 , 700 ,1500 ,1500 ,2000 ,2000
+24,	28000,89   ,  0  ,469  ,500  ,2000, 2000, 2000, 2000, 2000, 2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 700 , 750 , 700 ,1500 ,1500 ,2000 ,2000
 // Ninja
 // Ninja
-25,	26000,80   ,  0  ,530  ,400  ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000
+25,	26000,80   ,  0  ,540  ,400  ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000
 // Novice High
 // Novice High
 4001,	20000,0    ,500  ,100  ,500  ,650  ,700  ,2000 ,2000 ,2000 ,800  ,2000 ,700  ,700  ,650  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 650
 4001,	20000,0    ,500  ,100  ,500  ,650  ,700  ,2000 ,2000 ,2000 ,800  ,2000 ,700  ,700  ,650  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 650
 // Swordman High
 // Swordman High
@@ -276,8 +276,8 @@
 // Super Baby (Expanded)
 // Super Baby (Expanded)
 4191,	20000,0    ,500  ,100  ,500  ,650  ,700  ,2000 ,2000 ,2000 ,800  ,2000 ,700  ,700  ,650  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 650
 4191,	20000,0    ,500  ,100  ,500  ,650  ,700  ,2000 ,2000 ,2000 ,800  ,2000 ,700  ,700  ,650  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 650
 // Kagerou
 // Kagerou
-4211,	26000,80   ,  0  ,300  ,400  ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000
+4211,	26000,80   ,  0  ,540  ,400  ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000
 // Oboro
 // Oboro
-4212,	26000,80   ,  0  ,300  ,400  ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000
+4212,	26000,80   ,  0  ,540  ,400  ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000
 // Rebellion
 // Rebellion
-4215,	28000,75   ,  0  ,400  ,500  ,2000, 2000, 2000, 2000, 2000, 2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 700 , 750 , 700 ,1500 ,1500 ,2000 ,2000
+4215,	28000,89   ,  0  ,469  ,500  ,2000, 2000, 2000, 2000, 2000, 2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 700 , 750 , 700 ,1500 ,1500 ,2000 ,2000

File diff suppressed because it is too large
+ 0 - 0
db/re/job_basehpsp_db.txt


+ 32 - 32
db/re/job_db1.txt

@@ -52,9 +52,9 @@
 // Super Novice
 // Super Novice
 23,	20000,0    ,500  ,100  ,440  ,590  ,610  ,2000 ,2000 ,2000 ,540  ,2000 ,540  ,540  ,690  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,690  ,540
 23,	20000,0    ,500  ,100  ,440  ,590  ,610  ,2000 ,2000 ,2000 ,540  ,2000 ,540  ,540  ,690  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,690  ,540
 // Gunslinger
 // Gunslinger
-24,	28000,75   ,0    ,400  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490  ,590  ,540  ,940  ,1040 ,2000 ,2000 ,600
+24,	28000,90   ,650  ,469  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490  ,590  ,540  ,940  ,1040 ,2000 ,2000 ,600
 // Ninja
 // Ninja
-25,	26000,80   ,0    ,300  ,440  ,470  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,590  ,2000 ,500
+25,	26000,75   ,500  ,540  ,440  ,470  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,590  ,2000 ,500
 // Novice High
 // Novice High
 4001,	20000,0    ,500  ,100  ,440  ,590  ,610  ,2000 ,2000 ,2000 ,540  ,2000 ,540  ,540  ,690  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,690  ,540
 4001,	20000,0    ,500  ,100  ,440  ,590  ,610  ,2000 ,2000 ,2000 ,540  ,2000 ,540  ,540  ,690  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,690  ,540
 // Swordman High
 // Swordman High
@@ -148,13 +148,13 @@
 // Taekwon
 // Taekwon
 4046,	28000,70   ,500  ,200  ,440  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500
 4046,	28000,70   ,500  ,200  ,440  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500
 // Star Gladiator
 // Star Gladiator
-4047,	28000,90   ,650  ,400  ,440  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500
+4047,	28000,90   ,650  ,470  ,440  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500
 // Star Gladiator (flying)
 // Star Gladiator (flying)
-4048,	28000,90   ,650  ,400  ,440  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500
+4048,	28000,90   ,650  ,470  ,440  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500
 // Soul Linker
 // Soul Linker
 4049,	24000,75   ,500  ,900  ,540  ,440  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,570  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,570  ,620
 4049,	24000,75   ,500  ,900  ,540  ,440  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,570  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,570  ,620
 // Gangsi (Bongun/Munak)
 // Gangsi (Bongun/Munak)
-4050,	24000,65   ,500  ,500  ,400  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600  ,600  ,600  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600  ,500
+4050,	24000,65   ,500  ,300  ,400  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600  ,600  ,600  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,600  ,500
 // Death Knight
 // Death Knight
 4051,	28000,150  ,500  ,300  ,400  ,500  ,500  ,550  ,600  ,600  ,700  ,700  ,650  ,700  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500
 4051,	28000,150  ,500  ,300  ,400  ,500  ,500  ,550  ,600  ,600  ,700  ,700  ,650  ,700  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,500
 // Dark Collector
 // Dark Collector
@@ -184,41 +184,41 @@
 // Guillotine Cross (Trans)
 // Guillotine Cross (Trans)
 4065,	32000,110  ,500  ,400  ,440  ,460  ,690  ,2000 ,2000 ,2000 ,840  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,460  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,530
 4065,	32000,110  ,500  ,400  ,440  ,460  ,690  ,2000 ,2000 ,2000 ,840  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,460  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,530
 // Royal Guard (Regular)
 // Royal Guard (Regular)
-4066,	35000,110  ,700  ,470  ,440  ,510  ,490  ,530  ,540  ,540  ,520  ,560  ,480  ,480  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
+4066,	35000,110  ,700  ,400  ,440  ,510  ,490  ,530  ,540  ,540  ,520  ,560  ,480  ,480  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 // Sorcerer (Regular)
 // Sorcerer (Regular)
-4067,	30000,75   ,500  ,700  ,440  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490  ,490
+4067,	30000,75   ,500  ,900  ,440  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490  ,490
 // Minstrel (Regular)
 // Minstrel (Regular)
-4068,	32000,75   ,300  ,600  ,440  ,560  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,510
+4068,	32000,75   ,300  ,400  ,440  ,560  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,510
 // Wanderer (Regular)
 // Wanderer (Regular)
-4069,	32000,75   ,300  ,600  ,440  ,560  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,510
+4069,	32000,75   ,300  ,400  ,440  ,560  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,510
 // Sura (Regular)
 // Sura (Regular)
-4070,	30000,90   ,650  ,470  ,420  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,470  ,470  ,520  ,2000 ,430  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,470
+4070,	30000,90   ,650  ,400  ,420  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,470  ,470  ,520  ,2000 ,430  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,470
 // Genetic (Regular)
 // Genetic (Regular)
-4071,	32000,90   ,500  ,400  ,440  ,540  ,480  ,2000 ,2000 ,2000 ,550  ,550  ,490  ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,480
+4071,	32000,90   ,500  ,900  ,440  ,540  ,480  ,2000 ,2000 ,2000 ,550  ,550  ,490  ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,480
 // Shadow Chaser (Regular)
 // Shadow Chaser (Regular)
-4072,	28000,85   ,500  ,500  ,440  ,470  ,510  ,2000 ,2000 ,2000 ,2030 ,2000 ,2000 ,2000 ,2000 ,510  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
+4072,	28000,85   ,500  ,400  ,440  ,470  ,510  ,2000 ,2000 ,2000 ,2030 ,2000 ,2000 ,2000 ,2000 ,510  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 // Royal Guard (Trans)
 // Royal Guard (Trans)
-4073,	35000,110  ,700  ,470  ,440  ,510  ,490  ,530  ,540  ,540  ,520  ,560  ,480  ,480  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
+4073,	35000,110  ,700  ,400  ,440  ,510  ,490  ,530  ,540  ,540  ,520  ,560  ,480  ,480  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 // Sorcerer (Trans)
 // Sorcerer (Trans)
-4074,	30000,75   ,500  ,700  ,440  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490  ,490
+4074,	30000,75   ,500  ,900  ,440  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490  ,490
 // Minstrel (Trans)
 // Minstrel (Trans)
-4075,	32000,75   ,300  ,600  ,440  ,560  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,510
+4075,	32000,75   ,300  ,400  ,440  ,560  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,510
 // Wanderer (Trans)
 // Wanderer (Trans)
-4076,	32000,75   ,300  ,600  ,440  ,560  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,510
+4076,	32000,75   ,300  ,400  ,440  ,560  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,510
 // Sura (Trans)
 // Sura (Trans)
-4077,	30000,90   ,650  ,470  ,420  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,470  ,470  ,520  ,2000 ,430  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,470
+4077,	30000,90   ,650  ,400  ,420  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,470  ,470  ,520  ,2000 ,430  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,470
 // Genetic (Trans)
 // Genetic (Trans)
-4078,	32000,90   ,500  ,400  ,440  ,540  ,480  ,2000 ,2000 ,2000 ,550  ,550  ,490  ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,480
+4078,	32000,90   ,500  ,900  ,440  ,540  ,480  ,2000 ,2000 ,2000 ,550  ,550  ,490  ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,480
 // Shadow Chaser (Trans)
 // Shadow Chaser (Trans)
-4079,	28000,85   ,500  ,500  ,440  ,470  ,510  ,2000 ,2000 ,2000 ,2030 ,2000 ,2000 ,2000 ,2000 ,510  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
+4079,	28000,85   ,500  ,400  ,440  ,470  ,510  ,2000 ,2000 ,2000 ,2030 ,2000 ,2000 ,2000 ,2000 ,510  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 // Rune Knight (Dragon) (Regular)
 // Rune Knight (Dragon) (Regular)
 4080,	35000,150  ,500  ,300  ,440  ,540  ,560  ,590  ,620  ,560  ,620  ,640  ,490  ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 4080,	35000,150  ,500  ,300  ,440  ,540  ,560  ,590  ,620  ,560  ,620  ,640  ,490  ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 // Rune Knight (Dragon) (Trans)
 // Rune Knight (Dragon) (Trans)
 4081,	35000,150  ,500  ,300  ,440  ,540  ,560  ,590  ,620  ,560  ,620  ,640  ,490  ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 4081,	35000,150  ,500  ,300  ,440  ,540  ,560  ,590  ,620  ,560  ,620  ,640  ,490  ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 // Royal Guard (Gryphon) (Regular)
 // Royal Guard (Gryphon) (Regular)
-4082,	35000,110  ,700  ,470  ,440  ,510  ,490  ,530  ,540  ,540  ,520  ,560  ,480  ,480  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
+4082,	35000,110  ,700  ,400  ,440  ,510  ,490  ,530  ,540  ,540  ,520  ,560  ,480  ,480  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 // Royal Guard (Gryphon) (Trans)
 // Royal Guard (Gryphon) (Trans)
-4083,	35000,110  ,700  ,470  ,440  ,510  ,490  ,530  ,540  ,540  ,520  ,560  ,480  ,480  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
+4083,	35000,110  ,700  ,400  ,440  ,510  ,490  ,530  ,540  ,540  ,520  ,560  ,480  ,480  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 // Ranger (Warg) (Regular)
 // Ranger (Warg) (Regular)
 4084,	32000,85   ,500  ,400  ,440  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,530  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,520
 4084,	32000,85   ,500  ,400  ,440  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,530  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,520
 // Ranger (Warg) (Trans)
 // Ranger (Warg) (Trans)
@@ -240,23 +240,23 @@
 // Baby Guillotine Cross
 // Baby Guillotine Cross
 4101,	24000,110  ,500  ,400  ,440  ,460  ,690  ,2000 ,2000 ,2000 ,840  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,460  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,530
 4101,	24000,110  ,500  ,400  ,440  ,460  ,690  ,2000 ,2000 ,2000 ,840  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,460  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,530
 // Baby Royal Guard
 // Baby Royal Guard
-4102,	28000,110  ,700  ,470  ,440  ,510  ,490  ,530  ,540  ,540  ,520  ,560  ,480  ,480  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
+4102,	28000,110  ,700  ,400  ,440  ,510  ,490  ,530  ,540  ,540  ,520  ,560  ,480  ,480  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 // Baby Sorcerer
 // Baby Sorcerer
-4103,	24000,75   ,500  ,700  ,440  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490  ,490
+4103,	24000,75   ,500  ,900  ,440  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490  ,490
 // Baby Minstrel
 // Baby Minstrel
-4104,	27000,75   ,300  ,600  ,440  ,560  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,510
+4104,	27000,75   ,300  ,400  ,440  ,560  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,510
 // Baby Wanderer
 // Baby Wanderer
-4105,	27000,75   ,300  ,600  ,440  ,560  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,510
+4105,	27000,75   ,300  ,400  ,440  ,560  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,2000 ,2000 ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,510
 // Baby Sura
 // Baby Sura
-4106,	26000,90   ,650  ,470  ,420  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,470  ,470  ,520  ,2000 ,430  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,470
+4106,	26000,90   ,650  ,400  ,420  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,470  ,470  ,520  ,2000 ,430  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,540  ,470
 // Baby Genetic
 // Baby Genetic
-4107,	30000,90   ,500  ,400  ,440  ,540  ,480  ,2000 ,2000 ,2000 ,550  ,550  ,490  ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,480
+4107,	30000,90   ,500  ,900  ,440  ,540  ,480  ,2000 ,2000 ,2000 ,550  ,550  ,490  ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,480
 // Baby Shadow Chaser
 // Baby Shadow Chaser
-4108,	24000,85   ,500  ,500  ,440  ,470  ,510  ,2000 ,2000 ,2000 ,2030 ,2000 ,2000 ,2000 ,2000 ,510  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
+4108,	24000,85   ,500  ,400  ,440  ,470  ,510  ,2000 ,2000 ,2000 ,2030 ,2000 ,2000 ,2000 ,2000 ,510  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 // Baby Rune Knight (Dragon)
 // Baby Rune Knight (Dragon)
 4109,	28000,150  ,500  ,300  ,440  ,540  ,560  ,590  ,620  ,560  ,620  ,640  ,490  ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 4109,	28000,150  ,500  ,300  ,440  ,540  ,560  ,590  ,620  ,560  ,620  ,640  ,490  ,490  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 // Baby Royal Guard (Gryphon)
 // Baby Royal Guard (Gryphon)
-4110,	28000,110  ,700  ,470  ,440  ,510  ,490  ,530  ,540  ,540  ,520  ,560  ,480  ,480  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
+4110,	28000,110  ,700  ,400  ,440  ,510  ,490  ,530  ,540  ,540  ,520  ,560  ,480  ,480  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490
 // Baby Ranger (Warg)
 // Baby Ranger (Warg)
 4111,	27000,85   ,500  ,400  ,440  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,530  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,520
 4111,	27000,85   ,500  ,400  ,440  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,530  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,520
 // Baby Mechanic (Mado)
 // Baby Mechanic (Mado)
@@ -266,8 +266,8 @@
 // Super Baby (Expanded)
 // Super Baby (Expanded)
 4191,	20000,0    ,500  ,100  ,500  ,650  ,700  ,2000 ,2000 ,2000 ,800  ,2000 ,700  ,700  ,650  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 650 ,540
 4191,	20000,0    ,500  ,100  ,500  ,650  ,700  ,2000 ,2000 ,2000 ,800  ,2000 ,700  ,700  ,650  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 650 ,540
 // Kagerou
 // Kagerou
-4211,	26000,80   ,  0  ,300  ,400  ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000 ,500
+4211,	26000,75   ,500  ,540  ,400  ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000 ,500
 // Oboro
 // Oboro
-4212,	26000,80   ,  0  ,300  ,400  ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000 ,500
+4212,	26000,75   ,500  ,540  ,400  ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000 ,500
 // Rebellion
 // Rebellion
-4215,   28000,75   ,  0  ,400  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,520  ,620  ,570  ,970  ,1070 ,2000 ,2000 ,600
+4215,   28000,90   ,650  ,469  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,520  ,620  ,570  ,970  ,1070 ,2000 ,2000 ,600

+ 1 - 1
src/config/core.h

@@ -62,7 +62,7 @@
 //#define ADJUST_SKILL_DAMAGE
 //#define ADJUST_SKILL_DAMAGE
 
 
 /// Uncomment to enable the job base HP/SP table (job_basehpsp_db.txt)
 /// Uncomment to enable the job base HP/SP table (job_basehpsp_db.txt)
-//#define HP_SP_TABLES
+#define HP_SP_TABLES
 
 
 /// Enable separated item by `guid`. [Cydh]
 /// Enable separated item by `guid`. [Cydh]
 /// See db/[pre-]re/item_flag.txt and doc/item_group.txt for the `guid` explanation.
 /// See db/[pre-]re/item_flag.txt and doc/item_group.txt for the `guid` explanation.

+ 9 - 5
src/map/pc.c

@@ -10496,18 +10496,22 @@ static unsigned int pc_calc_basesp(uint16 level, uint16 class_) {
 	uint16 idx = pc_class2idx(class_);
 	uint16 idx = pc_class2idx(class_);
 
 
 	base_sp = 10 + floor(level * (job_info[idx].sp_factor / 100.));
 	base_sp = 10 + floor(level * (job_info[idx].sp_factor / 100.));
-#ifndef RENEWAL
+
 	switch (class_) {
 	switch (class_) {
 		case JOB_NINJA:
 		case JOB_NINJA:
 			if (level >= 10)
 			if (level >= 10)
-				base_sp -= 20;
+				base_sp -= 22;
+			else
+				base_sp = 11 + 3*level;
 			break;
 			break;
 		case JOB_GUNSLINGER:
 		case JOB_GUNSLINGER:
-			if (level >= 10)
-				base_sp -= 17;
+			if (level > 10)
+				base_sp -= 18;
+			else
+				base_sp = 9 + 3*level;
 			break;
 			break;
 	}
 	}
-#endif
+
 	return (unsigned int)base_sp;
 	return (unsigned int)base_sp;
 }
 }
 
 

+ 2 - 0
src/map/status.c

@@ -2698,8 +2698,10 @@ static int status_get_hpbonus(struct block_list *bl, enum e_status_bonus type) {
 			bonus += sd->bonus.hp;
 			bonus += sd->bonus.hp;
 			if ((i = pc_checkskill(sd,CR_TRUST)) > 0)
 			if ((i = pc_checkskill(sd,CR_TRUST)) > 0)
 				bonus += i * 200;
 				bonus += i * 200;
+#ifndef HP_SP_TABLES
 			if ((sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && sd->status.base_level >= 99)
 			if ((sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && sd->status.base_level >= 99)
 				bonus += 2000; // Supernovice lvl99 hp bonus.
 				bonus += 2000; // Supernovice lvl99 hp bonus.
+#endif
 		}
 		}
 
 
 		//Bonus by SC
 		//Bonus by SC

Some files were not shown because too many files changed in this diff