Browse Source

Resolves an issue with RENEWAL_ASPD (#6959)

* Fixes #6900.
* Resolves an issue where if RENEWAL was enabled but RENEWAL_ASPD was disabled, players would receive incorrect ASPD values.
* Split the ASPD values to their own files so these can be overridden based on the macro defines.
Thanks to @jamesonfajardo and @bgamez23!
Co-authored-by: Vincent Stumpf <vincents.995@gmail.com>
Aleos 2 years ago
parent
commit
c1a52490b1
6 changed files with 970 additions and 1016 deletions
  1. 8 1
      db/job_stats.yml
  2. 340 0
      db/pre-re/job_aspd.yml
  3. 0 450
      db/pre-re/job_stats.yml
  4. 616 0
      db/re/job_aspd.yml
  5. 0 565
      db/re/job_stats.yml
  6. 6 0
      src/common/database.cpp

+ 8 - 1
db/job_stats.yml

@@ -82,12 +82,19 @@ Header:
 
 Footer:
   Imports:
-  # Import base information first
+  # Load base information first
   - Path: db/pre-re/job_stats.yml
     Mode: Prerenewal
   - Path: db/re/job_stats.yml
     Mode: Renewal
 
+  # Next, populate with ASPD information
+  # If RENEWAL is defined and RENEWAL_ASPD is not defined then the pre-renewal file is loaded
+  - Path: db/pre-re/job_aspd.yml
+    Mode: Prerenewal
+  - Path: db/re/job_aspd.yml
+    Mode: Renewal
+
   # Next, populate with experience information
   - Path: db/pre-re/job_exp.yml
     Mode: Prerenewal

+ 340 - 0
db/pre-re/job_aspd.yml

@@ -0,0 +1,340 @@
+# This file is a part of rAthena.
+#   Copyright(C) 2021 rAthena Development Team
+#   https://rathena.org - https://github.com/rathena
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+###########################################################################
+# Job Database
+###########################################################################
+#
+# Job Settings
+#
+###########################################################################
+# - Jobs:                    List of jobs associated to group.
+#     Job                    Job name.
+#   MaxWeight                Base maximum weight. (Default: 20000)
+#   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.
+#     - Level                Job level.
+#       Str                  Stength increase amount. (Default: 0)
+#       Agi                  Agility increase amount. (Default: 0)
+#       Vit                  Vitality increase amount. (Default: 0)
+#       Int                  Intelligence increase amount. (Default: 0)
+#       Dex                  Dexterity increase amount. (Default: 0)
+#       Luk                  Luck increase amount. (Default: 0)
+#       Pow                  Power increase amount. (Default: 0)
+#       Sta                  Stamina increase amount. (Default: 0)
+#       Wis                  Wisdom increase amount. (Default: 0)
+#       Spl                  Spell increase amount. (Default: 0)
+#       Con                  Concentration increase amount. (Default: 0)
+#       Crt                  Creative increase amount. (Default: 0)
+#   MaxStats:                Maximum stats/traits applicable. (Default: battle_config::max_*_parameter)
+#     Str                    Strength.
+#     Agi                    Agility.
+#     Vit                    Vitality.
+#     Int                    Intelligence.
+#     Dex                    Dexterity.
+#     Luk                    Luck.
+#     Pow                    Power.
+#     Sta                    Stamina.
+#     Wis                    Wisdom.
+#     Spl                    Spell.
+#     Con                    Concentration.
+#     Crt                    Creative.
+#   MaxBaseLevel             Maximum base level. (Default: MAX_LEVEL)
+#   BaseExp:                 Base experience per level.
+#     - Level                Base level.
+#       Exp                  Base experience.
+#   MaxJobLevel              Maximum job level. (Default: MAX_LEVEL)
+#   JobExp:                  Job experience per level.
+#     - Level                Job level.
+#       Exp                  Job experience.
+#   BaseHp:                  Base HP per base level.
+#     - Level                Base level.
+#       Hp                   Base HP.
+#   BaseSp:                  Base SP per base level.
+#     - Level                Base level.
+#       Sp                   Base SP.
+#   BaseAp:                  Base AP per base level.
+#     - Level                Base level.
+#       Ap                   Base AP.
+###########################################################################
+
+Header:
+  Type: JOB_STATS
+  Version: 2
+
+Body:
+  - Jobs:
+      Novice: true
+      Super_Novice: true
+      Novice_High: true
+      Baby: true
+      Super_Baby: true
+    BaseASPD:
+      Fist: 500
+      Dagger: 650
+      1hSword: 700
+      1hAxe: 800
+      Mace: 700
+      2hMace: 700
+      Staff: 650
+      2hStaff: 650
+  - Jobs:
+      Swordman: true
+      Swordman_High: true
+      Baby_Swordman: true
+    BaseASPD:
+      Fist: 400
+      Dagger: 500
+      1hSword: 550
+      2hSword: 600
+      1hSpear: 650
+      2hSpear: 700
+      1hAxe: 700
+      2hAxe: 750
+      Mace: 650
+      2hMace: 700
+  - Jobs:
+      Mage: true
+      Mage_High: true
+      Baby_Mage: true
+    BaseASPD:
+      Fist: 500
+      Dagger: 600
+      Staff: 700
+      2hStaff: 700
+  - Jobs:
+      Archer: true
+      Archer_High: true
+      Baby_Archer: true
+    BaseASPD:
+      Fist: 400
+      Dagger: 600
+      Bow: 700
+  - Jobs:
+      Acolyte: true
+      Acolyte_High: true
+      Baby_Acolyte: true
+    BaseASPD:
+      Fist: 400
+      Mace: 600
+      2hMace: 600
+      Staff: 600
+      2hStaff: 600
+  - Jobs:
+      Merchant: true
+      Merchant_High: true
+      Baby_Merchant: true
+    BaseASPD:
+      Fist: 400
+      Dagger: 600
+      1hSword: 700
+      1hAxe: 700
+      2hAxe: 750
+      Mace: 700
+      2hMace: 700
+  - Jobs:
+      Thief: true
+      Thief_High: true
+      Baby_Thief: true
+    BaseASPD:
+      Fist: 400
+      Dagger: 500
+      1hSword: 650
+      1hAxe: 800
+      Bow: 800
+  - Jobs:
+      Knight: true
+      Knight2: true
+      Lord_Knight: true
+      Lord_Knight2: true
+      Baby_Knight: true
+      Baby_Knight2: true
+    BaseASPD:
+      Fist: 400
+      Dagger: 500
+      1hSword: 500
+      2hSword: 550
+      1hSpear: 600
+      2hSpear: 600
+      1hAxe: 700
+      2hAxe: 700
+      Mace: 650
+      2hMace: 700
+  - Jobs:
+      Priest: true
+      High_Priest: true
+      Baby_Priest: true
+    BaseASPD:
+      Fist: 400
+      Mace: 600
+      2hMace: 600
+      Staff: 600
+      Book: 600
+      2hStaff: 600
+  - Jobs:
+      Wizard: true
+      High_Wizard: true
+      Baby_Wizard: true
+    BaseASPD:
+      Fist: 500
+      Dagger: 575
+      Staff: 625
+      2hStaff: 625
+  - Jobs:
+      Blacksmith: true
+      Whitesmith: true
+      Baby_Blacksmith: true
+    BaseASPD:
+      Fist: 400
+      Dagger: 600
+      1hSword: 650
+      1hAxe: 650
+      2hAxe: 650
+      Mace: 675
+      2hMace: 675
+  - Jobs:
+      Hunter: true
+      Sniper: true
+      Baby_Hunter: true
+    BaseASPD:
+      Fist: 400
+      Dagger: 600
+      Bow: 600
+  - Jobs:
+      Assassin: true
+      Assassin_Cross: true
+      Baby_Assassin: true
+    BaseASPD:
+      Fist: 400
+      Dagger: 500
+      1hSword: 650
+      1hAxe: 800
+      Katar: 500
+  - Jobs:
+      Crusader: true
+      Crusader2: true
+      Paladin: true
+      Paladin2: true
+      Baby_Crusader: true
+      Baby_Crusader2: true
+    BaseASPD:
+      Fist: 400
+      Dagger: 500
+      1hSword: 500
+      2hSword: 550
+      1hSpear: 600
+      2hSpear: 600
+      1hAxe: 700
+      2hAxe: 700
+      Mace: 650
+      2hMace: 700
+  - Jobs:
+      Monk: true
+      Champion: true
+      Baby_Monk: true
+    BaseASPD:
+      Fist: 400
+      Mace: 575
+      2hMace: 575
+      Staff: 575
+      Knuckle: 475
+      2hStaff: 575
+  - Jobs:
+      Sage: true
+      Professor: true
+      Baby_Sage: true
+    BaseASPD:
+      Fist: 450
+      Dagger: 525
+      Staff: 625
+      Book: 550
+      2hStaff: 625
+  - Jobs:
+      Rogue: true
+      Stalker: true
+      Baby_Rogue: true
+    BaseASPD:
+      Fist: 400
+      Dagger: 500
+      1hSword: 550
+      Bow: 650
+  - Jobs:
+      Alchemist: true
+      Creator: true
+      Baby_Alchemist: true
+    BaseASPD:
+      Fist: 400
+      Dagger: 550
+      1hSword: 575
+      1hAxe: 675
+      2hAxe: 700
+      Mace: 650
+      2hMace: 650
+  - Jobs:
+      Bard: true
+      Clown: true
+      Baby_Bard: true
+    BaseASPD:
+      Fist: 400
+      Dagger: 550
+      Bow: 650
+      Musical: 575
+  - Jobs:
+      Dancer: true
+      Gypsy: true
+      Baby_Dancer: true
+    BaseASPD:
+      Fist: 400
+      Dagger: 550
+      Bow: 650
+      Whip: 575
+  - Jobs:
+      Gunslinger: true
+    BaseASPD:
+      Fist: 500
+      Revolver: 700
+      Rifle: 750
+      Gatling: 700
+      Shotgun: 1500
+      Grenade: 1500
+  - Jobs:
+      Ninja: true
+    BaseASPD:
+      Fist: 400
+      Dagger: 500
+      Huuma: 750
+  - Jobs:
+      Taekwon: true
+    BaseASPD:
+      Fist: 400
+  - Jobs:
+      Star_Gladiator: true
+      Star_Gladiator2: true
+    BaseASPD:
+      Fist: 400
+      Book: 500
+  - Jobs:
+      Soul_Linker: true
+    BaseASPD:
+      Fist: 500
+      Dagger: 575
+      Staff: 625
+      2hStaff: 625

+ 0 - 450
db/pre-re/job_stats.yml

@@ -83,15 +83,6 @@ Header:
 Body:
   - Jobs:
       Novice: true
-    BaseASPD:
-      Fist: 500
-      Dagger: 650
-      1hSword: 700
-      1hAxe: 800
-      Mace: 700
-      2hMace: 700
-      Staff: 650
-      2hStaff: 650
     BonusStats:
       - Level: 2
         Luk: 1
@@ -110,17 +101,6 @@ Body:
     MaxWeight: 28000
     HpFactor: 70
     SpIncrease: 200
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 550
-      2hSword: 600
-      1hSpear: 650
-      2hSpear: 700
-      1hAxe: 700
-      2hAxe: 750
-      Mace: 650
-      2hMace: 700
     BonusStats:
       - Level: 2
         Str: 1
@@ -163,11 +143,6 @@ Body:
     MaxWeight: 22000
     HpFactor: 30
     SpIncrease: 600
-    BaseASPD:
-      Fist: 500
-      Dagger: 600
-      Staff: 700
-      2hStaff: 700
     BonusStats:
       - Level: 2
         Int: 1
@@ -210,10 +185,6 @@ Body:
     MaxWeight: 26000
     HpFactor: 50
     SpIncrease: 200
-    BaseASPD:
-      Fist: 400
-      Dagger: 600
-      Bow: 700
     BonusStats:
       - Level: 2
         Dex: 1
@@ -256,12 +227,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 40
     SpIncrease: 500
-    BaseASPD:
-      Fist: 400
-      Mace: 600
-      2hMace: 600
-      Staff: 600
-      2hStaff: 600
     BonusStats:
       - Level: 2
         Luk: 1
@@ -304,14 +269,6 @@ Body:
     MaxWeight: 28000
     HpFactor: 40
     SpIncrease: 300
-    BaseASPD:
-      Fist: 400
-      Dagger: 600
-      1hSword: 700
-      1hAxe: 700
-      2hAxe: 750
-      Mace: 700
-      2hMace: 700
     BonusStats:
       - Level: 2
         Vit: 1
@@ -354,12 +311,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 50
     SpIncrease: 200
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 650
-      1hAxe: 800
-      Bow: 800
     BonusStats:
       - Level: 2
         Agi: 1
@@ -403,17 +354,6 @@ Body:
     MaxWeight: 28000
     HpFactor: 150
     SpIncrease: 300
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 500
-      2hSword: 550
-      1hSpear: 600
-      2hSpear: 600
-      1hAxe: 700
-      2hAxe: 700
-      Mace: 650
-      2hMace: 700
     BonusStats:
       - Level: 1
         Vit: 1
@@ -480,13 +420,6 @@ Body:
     MaxWeight: 26000
     HpFactor: 75
     SpIncrease: 800
-    BaseASPD:
-      Fist: 400
-      Mace: 600
-      2hMace: 600
-      Staff: 600
-      Book: 600
-      2hStaff: 600
     BonusStats:
       - Level: 1
         Luk: 1
@@ -553,11 +486,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 55
     SpIncrease: 900
-    BaseASPD:
-      Fist: 500
-      Dagger: 575
-      Staff: 625
-      2hStaff: 625
     BonusStats:
       - Level: 1
         Int: 1
@@ -624,14 +552,6 @@ Body:
     MaxWeight: 30000
     HpFactor: 90
     SpIncrease: 400
-    BaseASPD:
-      Fist: 400
-      Dagger: 600
-      1hSword: 650
-      1hAxe: 650
-      2hAxe: 650
-      Mace: 675
-      2hMace: 675
     BonusStats:
       - Level: 1
         Dex: 1
@@ -698,10 +618,6 @@ Body:
     MaxWeight: 27000
     HpFactor: 85
     SpIncrease: 400
-    BaseASPD:
-      Fist: 400
-      Dagger: 600
-      Bow: 600
     BonusStats:
       - Level: 1
         Dex: 1
@@ -768,12 +684,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 110
     SpIncrease: 400
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 650
-      1hAxe: 800
-      Katar: 500
     BonusStats:
       - Level: 1
         Agi: 1
@@ -842,17 +752,6 @@ Body:
     HpFactor: 110
     HpIncrease: 700
     SpIncrease: 470
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 500
-      2hSword: 550
-      1hSpear: 600
-      2hSpear: 600
-      1hAxe: 700
-      2hAxe: 700
-      Mace: 650
-      2hMace: 700
     BonusStats:
       - Level: 1
         Luk: 1
@@ -920,13 +819,6 @@ Body:
     HpFactor: 90
     HpIncrease: 650
     SpIncrease: 470
-    BaseASPD:
-      Fist: 400
-      Mace: 575
-      2hMace: 575
-      Staff: 575
-      Knuckle: 475
-      2hStaff: 575
     BonusStats:
       - Level: 1
         Str: 1
@@ -993,12 +885,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 75
     SpIncrease: 700
-    BaseASPD:
-      Fist: 450
-      Dagger: 525
-      Staff: 625
-      Book: 550
-      2hStaff: 625
     BonusStats:
       - Level: 1
         Int: 1
@@ -1065,11 +951,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 85
     SpIncrease: 500
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 550
-      Bow: 650
     BonusStats:
       - Level: 1
         Agi: 1
@@ -1136,14 +1017,6 @@ Body:
     MaxWeight: 30000
     HpFactor: 90
     SpIncrease: 400
-    BaseASPD:
-      Fist: 400
-      Dagger: 550
-      1hSword: 575
-      1hAxe: 675
-      2hAxe: 700
-      Mace: 650
-      2hMace: 650
     BonusStats:
       - Level: 1
         Int: 1
@@ -1211,11 +1084,6 @@ Body:
     HpFactor: 75
     HpIncrease: 300
     SpIncrease: 600
-    BaseASPD:
-      Fist: 400
-      Dagger: 550
-      Bow: 650
-      Musical: 575
     BonusStats:
       - Level: 1
         Dex: 1
@@ -1283,11 +1151,6 @@ Body:
     HpFactor: 75
     HpIncrease: 300
     SpIncrease: 600
-    BaseASPD:
-      Fist: 400
-      Dagger: 550
-      Bow: 650
-      Whip: 575
     BonusStats:
       - Level: 1
         Luk: 1
@@ -1351,15 +1214,6 @@ Body:
         Luk: 1
   - Jobs:
       Supernovice: true
-    BaseASPD:
-      Fist: 500
-      Dagger: 650
-      1hSword: 700
-      1hAxe: 800
-      Mace: 700
-      2hMace: 700
-      Staff: 650
-      2hStaff: 650
     BonusStats:
       - Level: 1
         Str: 1
@@ -1427,13 +1281,6 @@ Body:
     HpFactor: 89
     HpIncrease: 0
     SpIncrease: 469
-    BaseASPD:
-      Fist: 500
-      Revolver: 700
-      Rifle: 750
-      Gatling: 700
-      Shotgun: 1500
-      Grenade: 1500
     BonusStats:
       - Level: 1
         Dex: 1
@@ -1489,10 +1336,6 @@ Body:
     HpFactor: 80
     HpIncrease: 0
     SpIncrease: 540
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      Huuma: 750
     BonusStats:
       - Level: 1
         Agi: 1
@@ -1546,15 +1389,6 @@ Body:
         Luk: 1
   - Jobs:
       Novice_High: true
-    BaseASPD:
-      Fist: 500
-      Dagger: 650
-      1hSword: 700
-      1hAxe: 800
-      Mace: 700
-      2hMace: 700
-      Staff: 650
-      2hStaff: 650
     BonusStats:
       - Level: 2
         Luk: 1
@@ -1573,17 +1407,6 @@ Body:
     MaxWeight: 28000
     HpFactor: 70
     SpIncrease: 200
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 550
-      2hSword: 600
-      1hSpear: 650
-      2hSpear: 700
-      1hAxe: 700
-      2hAxe: 750
-      Mace: 650
-      2hMace: 700
     BonusStats:
       - Level: 2
         Str: 1
@@ -1626,11 +1449,6 @@ Body:
     MaxWeight: 22000
     HpFactor: 30
     SpIncrease: 600
-    BaseASPD:
-      Fist: 500
-      Dagger: 600
-      Staff: 700
-      2hStaff: 700
     BonusStats:
       - Level: 2
         Int: 1
@@ -1673,10 +1491,6 @@ Body:
     MaxWeight: 26000
     HpFactor: 50
     SpIncrease: 200
-    BaseASPD:
-      Fist: 400
-      Dagger: 600
-      Bow: 700
     BonusStats:
       - Level: 2
         Dex: 1
@@ -1719,12 +1533,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 40
     SpIncrease: 500
-    BaseASPD:
-      Fist: 400
-      Mace: 600
-      2hMace: 600
-      Staff: 600
-      2hStaff: 600
     BonusStats:
       - Level: 2
         Luk: 1
@@ -1767,14 +1575,6 @@ Body:
     MaxWeight: 28000
     HpFactor: 40
     SpIncrease: 300
-    BaseASPD:
-      Fist: 400
-      Dagger: 600
-      1hSword: 700
-      1hAxe: 700
-      2hAxe: 750
-      Mace: 700
-      2hMace: 700
     BonusStats:
       - Level: 2
         Vit: 1
@@ -1817,12 +1617,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 50
     SpIncrease: 200
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 650
-      1hAxe: 800
-      Bow: 800
     BonusStats:
       - Level: 2
         Agi: 1
@@ -1866,17 +1660,6 @@ Body:
     MaxWeight: 28000
     HpFactor: 150
     SpIncrease: 300
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 500
-      2hSword: 550
-      1hSpear: 600
-      2hSpear: 600
-      1hAxe: 700
-      2hAxe: 700
-      Mace: 650
-      2hMace: 700
     BonusStats:
       - Level: 1
         Str: 1
@@ -1973,13 +1756,6 @@ Body:
     MaxWeight: 26000
     HpFactor: 75
     SpIncrease: 800
-    BaseASPD:
-      Fist: 400
-      Mace: 600
-      2hMace: 600
-      Staff: 600
-      Book: 600
-      2hStaff: 600
     BonusStats:
       - Level: 1
         Int: 1
@@ -2076,11 +1852,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 55
     SpIncrease: 900
-    BaseASPD:
-      Fist: 500
-      Dagger: 575
-      Staff: 625
-      2hStaff: 625
     BonusStats:
       - Level: 1
         Int: 1
@@ -2177,14 +1948,6 @@ Body:
     MaxWeight: 30000
     HpFactor: 90
     SpIncrease: 400
-    BaseASPD:
-      Fist: 400
-      Dagger: 600
-      1hSword: 650
-      1hAxe: 650
-      2hAxe: 650
-      Mace: 675
-      2hMace: 675
     BonusStats:
       - Level: 1
         Dex: 1
@@ -2281,10 +2044,6 @@ Body:
     MaxWeight: 27000
     HpFactor: 85
     SpIncrease: 400
-    BaseASPD:
-      Fist: 400
-      Dagger: 600
-      Bow: 600
     BonusStats:
       - Level: 1
         Dex: 1
@@ -2381,12 +2140,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 110
     SpIncrease: 400
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 650
-      1hAxe: 800
-      Katar: 500
     BonusStats:
       - Level: 1
         Agi: 1
@@ -2485,17 +2238,6 @@ Body:
     HpFactor: 110
     HpIncrease: 700
     SpIncrease: 470
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 500
-      2hSword: 550
-      1hSpear: 600
-      2hSpear: 600
-      1hAxe: 700
-      2hAxe: 700
-      Mace: 650
-      2hMace: 700
     BonusStats:
       - Level: 1
         Vit: 1
@@ -2593,13 +2335,6 @@ Body:
     HpFactor: 90
     HpIncrease: 650
     SpIncrease: 470
-    BaseASPD:
-      Fist: 400
-      Mace: 575
-      2hMace: 575
-      Staff: 575
-      Knuckle: 475
-      2hStaff: 575
     BonusStats:
       - Level: 1
         Str: 1
@@ -2696,12 +2431,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 75
     SpIncrease: 700
-    BaseASPD:
-      Fist: 450
-      Dagger: 525
-      Staff: 625
-      Book: 550
-      2hStaff: 625
     BonusStats:
       - Level: 1
         Int: 1
@@ -2798,11 +2527,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 85
     SpIncrease: 500
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 550
-      Bow: 650
     BonusStats:
       - Level: 1
         Str: 1
@@ -2899,14 +2623,6 @@ Body:
     MaxWeight: 30000
     HpFactor: 90
     SpIncrease: 400
-    BaseASPD:
-      Fist: 400
-      Dagger: 550
-      1hSword: 575
-      1hAxe: 675
-      2hAxe: 700
-      Mace: 650
-      2hMace: 650
     BonusStats:
       - Level: 1
         Dex: 1
@@ -3004,11 +2720,6 @@ Body:
     HpFactor: 75
     HpIncrease: 300
     SpIncrease: 600
-    BaseASPD:
-      Fist: 400
-      Dagger: 550
-      Bow: 650
-      Musical: 575
     BonusStats:
       - Level: 1
         Agi: 1
@@ -3106,11 +2817,6 @@ Body:
     HpFactor: 75
     HpIncrease: 300
     SpIncrease: 600
-    BaseASPD:
-      Fist: 400
-      Dagger: 550
-      Bow: 650
-      Whip: 575
     BonusStats:
       - Level: 1
         Dex: 1
@@ -3204,31 +2910,11 @@ Body:
         Agi: 1
   - Jobs:
       Baby: true
-    BaseASPD:
-      Fist: 500
-      Dagger: 650
-      1hSword: 700
-      1hAxe: 800
-      Mace: 700
-      2hMace: 700
-      Staff: 650
-      2hStaff: 650
   - Jobs:
       Baby_Swordman: true
     MaxWeight: 28000
     HpFactor: 70
     SpIncrease: 200
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 550
-      2hSword: 600
-      1hSpear: 650
-      2hSpear: 700
-      1hAxe: 700
-      2hAxe: 750
-      Mace: 650
-      2hMace: 700
     BonusStats:
       - Level: 2
         Str: 1
@@ -3271,11 +2957,6 @@ Body:
     MaxWeight: 22000
     HpFactor: 30
     SpIncrease: 600
-    BaseASPD:
-      Fist: 500
-      Dagger: 600
-      Staff: 700
-      2hStaff: 700
     BonusStats:
       - Level: 2
         Int: 1
@@ -3318,10 +2999,6 @@ Body:
     MaxWeight: 26000
     HpFactor: 50
     SpIncrease: 200
-    BaseASPD:
-      Fist: 400
-      Dagger: 600
-      Bow: 700
     BonusStats:
       - Level: 2
         Dex: 1
@@ -3364,12 +3041,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 40
     SpIncrease: 500
-    BaseASPD:
-      Fist: 400
-      Mace: 600
-      2hMace: 600
-      Staff: 600
-      2hStaff: 600
     BonusStats:
       - Level: 2
         Luk: 1
@@ -3412,14 +3083,6 @@ Body:
     MaxWeight: 28000
     HpFactor: 40
     SpIncrease: 300
-    BaseASPD:
-      Fist: 400
-      Dagger: 600
-      1hSword: 700
-      1hAxe: 700
-      2hAxe: 750
-      Mace: 700
-      2hMace: 700
     BonusStats:
       - Level: 2
         Vit: 1
@@ -3462,12 +3125,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 50
     SpIncrease: 200
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 650
-      1hAxe: 800
-      Bow: 800
     BonusStats:
       - Level: 2
         Agi: 1
@@ -3511,17 +3168,6 @@ Body:
     MaxWeight: 28000
     HpFactor: 150
     SpIncrease: 300
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 500
-      2hSword: 550
-      1hSpear: 600
-      2hSpear: 600
-      1hAxe: 700
-      2hAxe: 700
-      Mace: 650
-      2hMace: 700
     BonusStats:
       - Level: 1
         Vit: 1
@@ -3588,13 +3234,6 @@ Body:
     MaxWeight: 26000
     HpFactor: 75
     SpIncrease: 800
-    BaseASPD:
-      Fist: 400
-      Mace: 600
-      2hMace: 600
-      Staff: 600
-      Book: 600
-      2hStaff: 600
     BonusStats:
       - Level: 1
         Luk: 1
@@ -3661,11 +3300,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 55
     SpIncrease: 900
-    BaseASPD:
-      Fist: 500
-      Dagger: 575
-      Staff: 625
-      2hStaff: 625
     BonusStats:
       - Level: 1
         Int: 1
@@ -3732,14 +3366,6 @@ Body:
     MaxWeight: 30000
     HpFactor: 90
     SpIncrease: 400
-    BaseASPD:
-      Fist: 400
-      Dagger: 600
-      1hSword: 650
-      1hAxe: 650
-      2hAxe: 650
-      Mace: 675
-      2hMace: 675
     BonusStats:
       - Level: 1
         Dex: 1
@@ -3806,10 +3432,6 @@ Body:
     MaxWeight: 27000
     HpFactor: 85
     SpIncrease: 400
-    BaseASPD:
-      Fist: 400
-      Dagger: 600
-      Bow: 600
     BonusStats:
       - Level: 1
         Dex: 1
@@ -3876,12 +3498,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 110
     SpIncrease: 400
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 650
-      1hAxe: 800
-      Katar: 500
     BonusStats:
       - Level: 1
         Agi: 1
@@ -3950,17 +3566,6 @@ Body:
     HpFactor: 110
     HpIncrease: 700
     SpIncrease: 470
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 500
-      2hSword: 550
-      1hSpear: 600
-      2hSpear: 600
-      1hAxe: 700
-      2hAxe: 700
-      Mace: 650
-      2hMace: 700
     BonusStats:
       - Level: 1
         Luk: 1
@@ -4028,13 +3633,6 @@ Body:
     HpFactor: 90
     HpIncrease: 650
     SpIncrease: 470
-    BaseASPD:
-      Fist: 400
-      Mace: 575
-      2hMace: 575
-      Staff: 575
-      Knuckle: 475
-      2hStaff: 575
     BonusStats:
       - Level: 1
         Str: 1
@@ -4101,12 +3699,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 75
     SpIncrease: 700
-    BaseASPD:
-      Fist: 450
-      Dagger: 525
-      Staff: 625
-      Book: 550
-      2hStaff: 625
     BonusStats:
       - Level: 1
         Int: 1
@@ -4173,11 +3765,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 85
     SpIncrease: 500
-    BaseASPD:
-      Fist: 400
-      Dagger: 500
-      1hSword: 550
-      Bow: 650
     BonusStats:
       - Level: 1
         Agi: 1
@@ -4244,14 +3831,6 @@ Body:
     MaxWeight: 30000
     HpFactor: 90
     SpIncrease: 400
-    BaseASPD:
-      Fist: 400
-      Dagger: 550
-      1hSword: 575
-      1hAxe: 675
-      2hAxe: 700
-      Mace: 650
-      2hMace: 650
     BonusStats:
       - Level: 1
         Int: 1
@@ -4319,11 +3898,6 @@ Body:
     HpFactor: 75
     HpIncrease: 300
     SpIncrease: 600
-    BaseASPD:
-      Fist: 400
-      Dagger: 550
-      Bow: 650
-      Musical: 575
     BonusStats:
       - Level: 1
         Dex: 1
@@ -4391,11 +3965,6 @@ Body:
     HpFactor: 75
     HpIncrease: 300
     SpIncrease: 600
-    BaseASPD:
-      Fist: 400
-      Dagger: 550
-      Bow: 650
-      Whip: 575
     BonusStats:
       - Level: 1
         Luk: 1
@@ -4459,15 +4028,6 @@ Body:
         Luk: 1
   - Jobs:
       Super_Baby: true
-    BaseASPD:
-      Fist: 500
-      Dagger: 650
-      1hSword: 700
-      1hAxe: 800
-      Mace: 700
-      2hMace: 700
-      Staff: 650
-      2hStaff: 650
     BonusStats:
       - Level: 1
         Str: 1
@@ -4534,8 +4094,6 @@ Body:
     MaxWeight: 28000
     HpFactor: 70
     SpIncrease: 200
-    BaseASPD:
-      Fist: 400
     BonusStats:
       - Level: 1
         Str: 1
@@ -4580,9 +4138,6 @@ Body:
     HpFactor: 90
     HpIncrease: 650
     SpIncrease: 470
-    BaseASPD:
-      Fist: 400
-      Book: 500
     BonusStats:
       - Level: 1
         Str: 1
@@ -4649,11 +4204,6 @@ Body:
     MaxWeight: 24000
     HpFactor: 75
     SpIncrease: 900
-    BaseASPD:
-      Fist: 500
-      Dagger: 575
-      Staff: 625
-      2hStaff: 625
     BonusStats:
       - Level: 1
         Int: 1

+ 616 - 0
db/re/job_aspd.yml

@@ -0,0 +1,616 @@
+# This file is a part of rAthena.
+#   Copyright(C) 2021 rAthena Development Team
+#   https://rathena.org - https://github.com/rathena
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+###########################################################################
+# Job Database
+###########################################################################
+#
+# Job Settings
+#
+###########################################################################
+# - Jobs:                    List of jobs associated to group.
+#     Job                    Job name.
+#   MaxWeight                Base maximum weight. (Default: 20000)
+#   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.
+#     - Level                Job level.
+#       Str                  Stength increase amount. (Default: 0)
+#       Agi                  Agility increase amount. (Default: 0)
+#       Vit                  Vitality increase amount. (Default: 0)
+#       Int                  Intelligence increase amount. (Default: 0)
+#       Dex                  Dexterity increase amount. (Default: 0)
+#       Luk                  Luck increase amount. (Default: 0)
+#       Pow                  Power increase amount. (Default: 0)
+#       Sta                  Stamina increase amount. (Default: 0)
+#       Wis                  Wisdom increase amount. (Default: 0)
+#       Spl                  Spell increase amount. (Default: 0)
+#       Con                  Concentration increase amount. (Default: 0)
+#       Crt                  Creative increase amount. (Default: 0)
+#   MaxStats:                Maximum stats/traits applicable. (Default: battle_config::max_*_parameter)
+#     Str                    Strength.
+#     Agi                    Agility.
+#     Vit                    Vitality.
+#     Int                    Intelligence.
+#     Dex                    Dexterity.
+#     Luk                    Luck.
+#     Pow                    Power.
+#     Sta                    Stamina.
+#     Wis                    Wisdom.
+#     Spl                    Spell.
+#     Con                    Concentration.
+#     Crt                    Creative.
+#   MaxBaseLevel             Maximum base level. (Default: MAX_LEVEL)
+#   BaseExp:                 Base experience per level.
+#     - Level                Base level.
+#       Exp                  Base experience.
+#   MaxJobLevel              Maximum job level. (Default: MAX_LEVEL)
+#   JobExp:                  Job experience per level.
+#     - Level                Job level.
+#       Exp                  Job experience.
+#   BaseHp:                  Base HP per base level.
+#     - Level                Base level.
+#       Hp                   Base HP.
+#   BaseSp:                  Base SP per base level.
+#     - Level                Base level.
+#       Sp                   Base SP.
+#   BaseAp:                  Base AP per base level.
+#     - Level                Base level.
+#       Ap                   Base AP.
+###########################################################################
+
+Header:
+  Type: JOB_STATS
+  Version: 2
+
+Body:
+  - Jobs:
+      Novice: true
+      Super_Novice: true
+      Novice_High: true
+      Baby: true
+      Super_Baby: true
+      Super_Novice_E: true
+      Super_Baby_E: true
+      Hyper_Novice: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 55
+      1hSword: 57
+      1hAxe: 50
+      Mace: 50
+      2hMace: 55
+      Staff: 65
+      2hStaff: 65
+      Shield: 10
+  - Jobs:
+      Swordman: true
+      Swordman_High: true
+      Baby_Swordman: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 47
+      1hSword: 47
+      2hSword: 54
+      1hSpear: 57
+      2hSpear: 65
+      1hAxe: 55
+      2hAxe: 60
+      Mace: 50
+      2hMace: 55
+      Shield: 5
+  - Jobs:
+      Mage: true
+      Mage_High: true
+      Baby_Mage: true
+    BaseASPD:
+      Fist: 50
+      Dagger: 50
+      Staff: 55
+      2hStaff: 55
+      Shield: 10
+  - Jobs:
+      Archer: true
+      Archer_High: true
+      Baby_Archer: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 55
+      Bow: 50
+      Shield: 9
+  - Jobs:
+      Acolyte: true
+      Acolyte_High: true
+      Baby_Acolyte: true
+    BaseASPD:
+      Fist: 40
+      Mace: 45
+      2hMace: 50
+      Staff: 60
+      2hStaff: 60
+      Shield: 7
+  - Jobs:
+      Merchant: true
+      Merchant_High: true
+      Baby_Merchant: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 52
+      1hSword: 52
+      1hAxe: 48
+      2hAxe: 55
+      Mace: 50
+      2hMace: 55
+      Shield: 5
+  - Jobs:
+      Thief: true
+      Thief_High: true
+      Baby_Thief: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 48
+      1hSword: 50
+      1hAxe: 60
+      Bow: 53
+      Shield: 6
+  - Jobs:
+      Knight: true
+      Knight2: true
+      Lord_Knight: true
+      Lord_Knight2: true
+      Baby_Knight: true
+      Baby_Knight2: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 49
+      1hSword: 45
+      2hSword: 52
+      1hSpear: 55
+      2hSpear: 60
+      1hAxe: 50
+      2hAxe: 55
+      Mace: 45
+      2hMace: 50
+      Shield: 5
+  - Jobs:
+      Priest: true
+      High_Priest: true
+      Baby_Priest: true
+    BaseASPD:
+      Fist: 40
+      Mace: 43
+      2hMace: 48
+      Staff: 60
+      Knuckle: 60
+      Book: 44
+      2hStaff: 60
+      Shield: 5
+  - Jobs:
+      Wizard: true
+      High_Wizard: true
+      Baby_Wizard: true
+    BaseASPD:
+      Fist: 50
+      Dagger: 54
+      Staff: 53
+      2hStaff: 53
+      Shield: 8
+  - Jobs:
+      Blacksmith: true
+      Whitesmith: true
+      Baby_Blacksmith: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 50
+      1hSword: 50
+      1hAxe: 46
+      2hAxe: 53
+      Mace: 48
+      2hMace: 53
+      Shield: 5
+  - Jobs:
+      Hunter: true
+      Sniper: true
+      Baby_Hunter: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 53
+      Bow: 48
+      Shield: 9
+  - Jobs:
+      Assassin: true
+      Assassin_Cross: true
+      Baby_Assassin: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 42
+      1hSword: 50
+      1hAxe: 51
+      Katar: 42
+      Huuma: 110
+      Shield: 6
+  - Jobs:
+      Crusader: true
+      Crusader2: true
+      Paladin: true
+      Paladin2: true
+      Baby_Crusader: true
+      Baby_Crusader2: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 48
+      1hSword: 43
+      2hSword: 55
+      1hSpear: 53
+      2hSpear: 52
+      1hAxe: 50
+      2hAxe: 55
+      Mace: 45
+      2hMace: 50
+      Shield: 5
+  - Jobs:
+      Monk: true
+      Champion: true
+      Baby_Monk: true
+    BaseASPD:
+      Fist: 40
+      Mace: 43
+      2hMace: 48
+      Staff: 60
+      Knuckle: 40
+      2hStaff: 58
+      Shield: 5
+  - Jobs:
+      Sage: true
+      Professor: true
+      Baby_Sage: true
+    BaseASPD:
+      Fist: 45
+      Dagger: 53
+      1hSword: 60
+      Staff: 55
+      Book: 43
+      2hStaff: 55
+      Shield: 5
+  - Jobs:
+      Rogue: true
+      Stalker: true
+      Baby_Rogue: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 45
+      1hSword: 50
+      Bow: 50
+      Shield: 5
+  - Jobs:
+      Alchemist: true
+      Creator: true
+      Baby_Alchemist: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 50
+      1hSword: 45
+      1hAxe: 45
+      2hAxe: 52
+      Mace: 45
+      2hMace: 50
+      Shield: 4
+  - Jobs:
+      Bard: true
+      Clown: true
+      Baby_Bard: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 53
+      Bow: 48
+      Musical: 45
+      Shield: 7
+  - Jobs:
+      Dancer: true
+      Gypsy: true
+      Baby_Dancer: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 53
+      Bow: 48
+      Whip: 45
+      Shield: 7
+  - Jobs:
+      Gunslinger: true
+      Rebellion: true
+      Baby_Gunslinger: true
+      Baby_Rebellion: true
+      Night_Watch: true
+    BaseASPD:
+      Fist: 54
+      Revolver: 49
+      Rifle: 59
+      Gatling: 54
+      Shotgun: 94
+      Grenade: 104
+      Shield: 6
+  - Jobs:
+      Ninja: true
+      Baby_Ninja: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 43
+      Huuma: 55
+      Shield: 6
+  - Jobs:
+      Taekwon: true
+      Star_Gladiator: true
+      Star_Gladiator2: true
+      Baby_Taekwon: true
+      Baby_Star_Gladiator: true
+      Baby_Star_Gladiator2: true
+      Star_Emperor: true
+      Star_Emperor2: true
+      Baby_Star_Emperor: true
+      Baby_Star_Emperor2: true
+      Sky_Emperor: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 50
+      1hSword: 50
+      2hSword: 50
+      1hSpear: 50
+      2hSpear: 50
+      1hAxe: 50
+      2hAxe: 50
+      Mace: 50
+      2hMace: 50
+      Staff: 50
+      Bow: 50
+      Knuckle: 50
+      Musical: 50
+      Whip: 50
+      Book: 50
+      Katar: 50
+      Revolver: 50
+      Rifle: 50
+      Gatling: 50
+      Shotgun: 50
+      Grenade: 50
+      Huuma: 50
+      2hStaff: 50
+      Shield: 6
+  - Jobs:
+      Soul_Linker: true
+      Baby_Soul_Linker: true
+      Soul_Reaper: true
+      Baby_Soul_Reaper: true
+      Soul_Ascetic: true
+    BaseASPD:
+      Fist: 50
+      Dagger: 50
+      Staff: 53
+      2hStaff: 55
+      Shield: 8
+  - Jobs:
+      Rune_Knight: true
+      Rune_Knight2: true
+      Rune_Knight_T: true
+      Rune_Knight_T2: true
+      Baby_Rune_Knight: true
+      Baby_Rune_Knight2: true
+      Dragon_Knight: true
+      Dragon_Knight2: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 50
+      1hSword: 52
+      2hSword: 55
+      1hSpear: 60
+      2hSpear: 58
+      1hAxe: 48
+      2hAxe: 52
+      Mace: 45
+      2hMace: 52
+      Shield: 5
+  - Jobs:
+      Warlock: true
+      Warlock_T: true
+      Baby_Warlock: true
+      Arch_Mage: true
+    BaseASPD:
+      Fist: 45
+      Dagger: 52
+      1hSword: 60
+      Staff: 50
+      2hStaff: 56
+      Shield: 5
+  - Jobs:
+      Ranger: true
+      Ranger2: true
+      Ranger_T: true
+      Ranger_T2: true
+      Baby_Ranger: true
+      Baby_Ranger2: true
+      Windhawk: true
+      Windhawk2: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 50
+      Bow: 49
+      Shield: 8
+  - Jobs:
+      Arch_Bishop: true
+      Arch_Bishop_T: true
+      Baby_Arch_Bishop: true
+      Cardinal: true
+    BaseASPD:
+      Fist: 45
+      Mace: 45
+      2hMace: 45
+      Staff: 60
+      Knuckle: 50
+      Book: 44
+      2hStaff: 55
+      Shield: 5
+  - Jobs:
+      Mechanic: true
+      Mechanic2: true
+      Mechanic_T: true
+      Mechanic_T2: true
+      Baby_Mechanic: true
+      Baby_Mechanic2: true
+      Meister: true
+      Meister2: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 60
+      1hSword: 65
+      1hAxe: 45
+      2hAxe: 48
+      Mace: 48
+      2hMace: 50
+      Shield: 6
+  - Jobs:
+      Guillotine_Cross: true
+      Guillotine_Cross_T: true
+      Baby_Guillotine_Cross: true
+      Shadow_Cross: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 42
+      1hSword: 65
+      1hAxe: 80
+      Katar: 42
+      Rifle: 95
+      Gatling: 120
+      Shotgun: 90
+      Grenade: 100
+      Huuma: 110
+      Shield: 9
+  - Jobs:
+      Royal_Guard: true
+      Royal_Guard2: true
+      Royal_Guard_T: true
+      Royal_Guard_T2: true
+      Baby_Royal_Guard: true
+      Baby_Royal_Guard2: true
+      Imperial_Guard: true
+      Imperial_Guard2: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 47
+      1hSword: 45
+      2hSword: 53
+      1hSpear: 50
+      2hSpear: 50
+      1hAxe: 48
+      2hAxe: 52
+      Mace: 44
+      2hMace: 50
+      Shield: 5
+  - Jobs:
+      Sorcerer: true
+      Sorcerer_T: true
+      Baby_Sorcerer: true
+      Elemental_Master: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 50
+      1hSword: 50
+      Staff: 45
+      Book: 45
+      2hStaff: 55
+      Shield: 5
+  - Jobs:
+      Minstrel: true
+      Minstrel_T: true
+      Baby_Minstrel: true
+      Troubadour: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 52
+      Bow: 49
+      Musical: 44
+      Shield: 7
+  - Jobs:
+      Wanderer: true
+      Wanderer_T: true
+      Baby_Wanderer: true
+      Trouvere: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 52
+      Bow: 49
+      Whip: 44
+      Shield: 7
+  - Jobs:
+      Sura: true
+      Sura_T: true
+      Baby_Sura: true
+      Inquisitor: true
+    BaseASPD:
+      Fist: 38
+      Mace: 43
+      2hMace: 45
+      Staff: 48
+      Knuckle: 39
+      2hStaff: 50
+      Shield: 5
+  - Jobs:
+      Genetic: true
+      Genetic_T: true
+      Baby_Genetic: true
+      Biolo: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 50
+      1hSword: 44
+      1hAxe: 48
+      2hAxe: 51
+      Mace: 44
+      2hMace: 48
+      Shield: 4
+  - Jobs:
+      Shadow_Chaser: true
+      Shadow_Chaser_T: true
+      Baby_Shadow_Chaser: true
+      Abyss_Chaser: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 43
+      1hSword: 47
+      Bow: 47
+      Shield: 4
+  - Jobs:
+      Kagerou: true
+      Oboro: true
+      Baby_Kagerou: true
+      Baby_Oboro: true
+      Shinkiro: true
+      Shiranui: true
+    BaseASPD:
+      Fist: 40
+      Dagger: 45
+      Huuma: 50
+      Shield: 3
+  - Jobs:
+      Summoner: true
+      Baby_Summoner: true
+      Spirit_Handler: true
+    BaseASPD:
+      Fist: 40
+      Staff: 60
+      Shield: 7

File diff suppressed because it is too large
+ 0 - 565
db/re/job_stats.yml


+ 6 - 0
src/common/database.cpp

@@ -196,6 +196,12 @@ void YamlDatabase::parseImports( const ryml::Tree& rootNode ){
 
 #ifdef RENEWAL
 					std::string compiledMode = "Renewal";
+
+					// RENEWAL mode with RENEWAL_ASPD off, load pre-re ASPD
+#ifndef RENEWAL_ASPD
+					if (importFile.find("job_aspd.yml") != std::string::npos)
+						compiledMode = "Prerenewal";
+#endif
 #else
 					std::string compiledMode = "Prerenewal";
 #endif

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