Converted exp_homun database to yaml (#6002)
* Converts the Homunculus Experience Database into YAML. * Includes CSV2YAML converter. Thanks to @Lemongrass3110 !
This commit is contained in:
parent
4ca4e71a17
commit
e8385d812b
39
db/exp_homun.yml
Normal file
39
db/exp_homun.yml
Normal file
@ -0,0 +1,39 @@
|
||||
# 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/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Homunculus Experience Database
|
||||
###########################################################################
|
||||
#
|
||||
# Homunculus Experience Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Level Level required.
|
||||
# Exp Experience required for the next level.
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: HOMUN_EXP_DB
|
||||
Version: 1
|
||||
|
||||
Footer:
|
||||
Imports:
|
||||
- Path: db/pre-re/exp_homun.yml
|
||||
Mode: Prerenewal
|
||||
- Path: db/re/exp_homun.yml
|
||||
Mode: Renewal
|
||||
- Path: db/import/exp_homun.yml
|
@ -1 +0,0 @@
|
||||
// Homunculus Experience Tables
|
31
db/import-tmpl/exp_homun.yml
Normal file
31
db/import-tmpl/exp_homun.yml
Normal file
@ -0,0 +1,31 @@
|
||||
# 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/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Homunculus Experience Database
|
||||
###########################################################################
|
||||
#
|
||||
# Homunculus Experience Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Level Level required.
|
||||
# Exp Experience required for the next level.
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: HOMUN_EXP_DB
|
||||
Version: 1
|
@ -1,100 +0,0 @@
|
||||
// Homunculus Experience Tables
|
||||
50
|
||||
110
|
||||
180
|
||||
260
|
||||
350
|
||||
630
|
||||
950
|
||||
1310
|
||||
1710
|
||||
2150
|
||||
3180
|
||||
4300
|
||||
5510
|
||||
6810
|
||||
8200
|
||||
10800
|
||||
13560
|
||||
16480
|
||||
19560
|
||||
22800
|
||||
28090
|
||||
33630
|
||||
39420
|
||||
45460
|
||||
51750
|
||||
61500
|
||||
70910
|
||||
81030
|
||||
91510
|
||||
102350
|
||||
117580
|
||||
133300
|
||||
149510
|
||||
166210
|
||||
183400
|
||||
206480
|
||||
230200
|
||||
254560
|
||||
279560
|
||||
305200
|
||||
338450
|
||||
372510
|
||||
407380
|
||||
443060
|
||||
479550
|
||||
525590
|
||||
572630
|
||||
620670
|
||||
669710
|
||||
719750
|
||||
781500
|
||||
844460
|
||||
908630
|
||||
974010
|
||||
1040600
|
||||
1121280
|
||||
1203400
|
||||
1286960
|
||||
1371960
|
||||
1458400
|
||||
1561530
|
||||
1666350
|
||||
1772860
|
||||
1881060
|
||||
1990950
|
||||
2120350
|
||||
2251710
|
||||
2385030
|
||||
2520310
|
||||
2657550
|
||||
2817340
|
||||
2979380
|
||||
3143670
|
||||
3310210
|
||||
3479000
|
||||
3673600
|
||||
3870760
|
||||
4070480
|
||||
4272760
|
||||
4477600
|
||||
4711730
|
||||
4948750
|
||||
5188660
|
||||
5431460
|
||||
5677150
|
||||
5955830
|
||||
6237750
|
||||
6522910
|
||||
6811310
|
||||
7102950
|
||||
7431500
|
||||
7763660
|
||||
8099430
|
||||
8438810
|
||||
8781800
|
||||
9165840
|
||||
9553880
|
||||
9945920
|
||||
0
|
229
db/pre-re/exp_homun.yml
Normal file
229
db/pre-re/exp_homun.yml
Normal file
@ -0,0 +1,229 @@
|
||||
# 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/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Homunculus Experience Database
|
||||
###########################################################################
|
||||
#
|
||||
# Homunculus Experience Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Level Level required.
|
||||
# Exp Experience required for the next level.
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: HOMUN_EXP_DB
|
||||
Version: 1
|
||||
|
||||
Body:
|
||||
- Level: 1
|
||||
Exp: 50
|
||||
- Level: 2
|
||||
Exp: 110
|
||||
- Level: 3
|
||||
Exp: 180
|
||||
- Level: 4
|
||||
Exp: 260
|
||||
- Level: 5
|
||||
Exp: 350
|
||||
- Level: 6
|
||||
Exp: 630
|
||||
- Level: 7
|
||||
Exp: 950
|
||||
- Level: 8
|
||||
Exp: 1310
|
||||
- Level: 9
|
||||
Exp: 1710
|
||||
- Level: 10
|
||||
Exp: 2150
|
||||
- Level: 11
|
||||
Exp: 3180
|
||||
- Level: 12
|
||||
Exp: 4300
|
||||
- Level: 13
|
||||
Exp: 5510
|
||||
- Level: 14
|
||||
Exp: 6810
|
||||
- Level: 15
|
||||
Exp: 8200
|
||||
- Level: 16
|
||||
Exp: 10800
|
||||
- Level: 17
|
||||
Exp: 13560
|
||||
- Level: 18
|
||||
Exp: 16480
|
||||
- Level: 19
|
||||
Exp: 19560
|
||||
- Level: 20
|
||||
Exp: 22800
|
||||
- Level: 21
|
||||
Exp: 28090
|
||||
- Level: 22
|
||||
Exp: 33630
|
||||
- Level: 23
|
||||
Exp: 39420
|
||||
- Level: 24
|
||||
Exp: 45460
|
||||
- Level: 25
|
||||
Exp: 51750
|
||||
- Level: 26
|
||||
Exp: 61500
|
||||
- Level: 27
|
||||
Exp: 70910
|
||||
- Level: 28
|
||||
Exp: 81030
|
||||
- Level: 29
|
||||
Exp: 91510
|
||||
- Level: 30
|
||||
Exp: 102350
|
||||
- Level: 31
|
||||
Exp: 117580
|
||||
- Level: 32
|
||||
Exp: 133300
|
||||
- Level: 33
|
||||
Exp: 149510
|
||||
- Level: 34
|
||||
Exp: 166210
|
||||
- Level: 35
|
||||
Exp: 183400
|
||||
- Level: 36
|
||||
Exp: 206480
|
||||
- Level: 37
|
||||
Exp: 230200
|
||||
- Level: 38
|
||||
Exp: 254560
|
||||
- Level: 39
|
||||
Exp: 279560
|
||||
- Level: 40
|
||||
Exp: 305200
|
||||
- Level: 41
|
||||
Exp: 338450
|
||||
- Level: 42
|
||||
Exp: 372510
|
||||
- Level: 43
|
||||
Exp: 407380
|
||||
- Level: 44
|
||||
Exp: 443060
|
||||
- Level: 45
|
||||
Exp: 479550
|
||||
- Level: 46
|
||||
Exp: 525590
|
||||
- Level: 47
|
||||
Exp: 572630
|
||||
- Level: 48
|
||||
Exp: 620670
|
||||
- Level: 49
|
||||
Exp: 669710
|
||||
- Level: 50
|
||||
Exp: 719750
|
||||
- Level: 51
|
||||
Exp: 781500
|
||||
- Level: 52
|
||||
Exp: 844460
|
||||
- Level: 53
|
||||
Exp: 908630
|
||||
- Level: 54
|
||||
Exp: 974010
|
||||
- Level: 55
|
||||
Exp: 1040600
|
||||
- Level: 56
|
||||
Exp: 1121280
|
||||
- Level: 57
|
||||
Exp: 1203400
|
||||
- Level: 58
|
||||
Exp: 1286960
|
||||
- Level: 59
|
||||
Exp: 1371960
|
||||
- Level: 60
|
||||
Exp: 1458400
|
||||
- Level: 61
|
||||
Exp: 1561530
|
||||
- Level: 62
|
||||
Exp: 1666350
|
||||
- Level: 63
|
||||
Exp: 1772860
|
||||
- Level: 64
|
||||
Exp: 1881060
|
||||
- Level: 65
|
||||
Exp: 1990950
|
||||
- Level: 66
|
||||
Exp: 2120350
|
||||
- Level: 67
|
||||
Exp: 2251710
|
||||
- Level: 68
|
||||
Exp: 2385030
|
||||
- Level: 69
|
||||
Exp: 2520310
|
||||
- Level: 70
|
||||
Exp: 2657550
|
||||
- Level: 71
|
||||
Exp: 2817340
|
||||
- Level: 72
|
||||
Exp: 2979380
|
||||
- Level: 73
|
||||
Exp: 3143670
|
||||
- Level: 74
|
||||
Exp: 3310210
|
||||
- Level: 75
|
||||
Exp: 3479000
|
||||
- Level: 76
|
||||
Exp: 3673600
|
||||
- Level: 77
|
||||
Exp: 3870760
|
||||
- Level: 78
|
||||
Exp: 4070480
|
||||
- Level: 79
|
||||
Exp: 4272760
|
||||
- Level: 80
|
||||
Exp: 4477600
|
||||
- Level: 81
|
||||
Exp: 4711730
|
||||
- Level: 82
|
||||
Exp: 4948750
|
||||
- Level: 83
|
||||
Exp: 5188660
|
||||
- Level: 84
|
||||
Exp: 5431460
|
||||
- Level: 85
|
||||
Exp: 5677150
|
||||
- Level: 86
|
||||
Exp: 5955830
|
||||
- Level: 87
|
||||
Exp: 6237750
|
||||
- Level: 88
|
||||
Exp: 6522910
|
||||
- Level: 89
|
||||
Exp: 6811310
|
||||
- Level: 90
|
||||
Exp: 7102950
|
||||
- Level: 91
|
||||
Exp: 7431500
|
||||
- Level: 92
|
||||
Exp: 7763660
|
||||
- Level: 93
|
||||
Exp: 8099430
|
||||
- Level: 94
|
||||
Exp: 8438810
|
||||
- Level: 95
|
||||
Exp: 8781800
|
||||
- Level: 96
|
||||
Exp: 9165840
|
||||
- Level: 97
|
||||
Exp: 9553880
|
||||
- Level: 98
|
||||
Exp: 9945920
|
@ -1,176 +0,0 @@
|
||||
// Homunculus Experience Tables
|
||||
50
|
||||
110
|
||||
180
|
||||
260
|
||||
350
|
||||
630
|
||||
950
|
||||
1310
|
||||
1710
|
||||
2150
|
||||
3180
|
||||
4300
|
||||
5510
|
||||
6810
|
||||
8200
|
||||
10800
|
||||
13560
|
||||
16480
|
||||
19560
|
||||
22800
|
||||
28090
|
||||
33630
|
||||
39420
|
||||
45460
|
||||
51750
|
||||
61150
|
||||
70910
|
||||
81030
|
||||
91510
|
||||
102350
|
||||
117580
|
||||
133300
|
||||
149510
|
||||
166210
|
||||
183400
|
||||
206480
|
||||
230200
|
||||
254560
|
||||
279560
|
||||
305200
|
||||
338450
|
||||
372510
|
||||
407380
|
||||
443060
|
||||
479550
|
||||
525590
|
||||
572630
|
||||
620670
|
||||
669710
|
||||
719750
|
||||
781500
|
||||
844460
|
||||
908630
|
||||
974010
|
||||
1040600
|
||||
1121280
|
||||
1203400
|
||||
1286960
|
||||
1371960
|
||||
1458400
|
||||
1561530
|
||||
1666350
|
||||
1772860
|
||||
1881060
|
||||
1990950
|
||||
2120350
|
||||
2251710
|
||||
2385030
|
||||
2520310
|
||||
2657550
|
||||
2817340
|
||||
2979380
|
||||
3143670
|
||||
3310210
|
||||
3479000
|
||||
3673600
|
||||
3870760
|
||||
4070480
|
||||
4272760
|
||||
4477600
|
||||
4711730
|
||||
4948750
|
||||
5188660
|
||||
5431460
|
||||
5677150
|
||||
5955830
|
||||
6237750
|
||||
6522910
|
||||
6811310
|
||||
7102950
|
||||
7431500
|
||||
7763660
|
||||
8099430
|
||||
8438810
|
||||
8781800
|
||||
9165840
|
||||
9553880
|
||||
9945920
|
||||
10350000
|
||||
10462000
|
||||
10580000
|
||||
10700000
|
||||
10826000
|
||||
10980000
|
||||
11150000
|
||||
11334000
|
||||
11520000
|
||||
11712000
|
||||
11906000
|
||||
12108000
|
||||
12317000
|
||||
12530000
|
||||
12745000
|
||||
12968000
|
||||
13193000
|
||||
13420000
|
||||
13653000
|
||||
13890000
|
||||
14130000
|
||||
14374200
|
||||
14620000
|
||||
14870000
|
||||
15123200
|
||||
15378000
|
||||
15638000
|
||||
15900000
|
||||
16164000
|
||||
16430000
|
||||
16698000
|
||||
16970000
|
||||
17245000
|
||||
17523000
|
||||
17804000
|
||||
18090000
|
||||
18380000
|
||||
18675000
|
||||
18974000
|
||||
19280000
|
||||
19588000
|
||||
19900000
|
||||
20215000
|
||||
20534000
|
||||
20854200
|
||||
21180000
|
||||
21509500
|
||||
21847000
|
||||
22197000
|
||||
22558000
|
||||
22930000
|
||||
23320000
|
||||
24500000
|
||||
25750000
|
||||
26750000
|
||||
28000000
|
||||
29000000
|
||||
30250000
|
||||
31250000
|
||||
32500000
|
||||
33500000
|
||||
34750000
|
||||
36250000
|
||||
38050000
|
||||
40210000
|
||||
42800000
|
||||
47982500
|
||||
50572500
|
||||
53680000
|
||||
57410000
|
||||
61887500
|
||||
70842500
|
||||
75320000
|
||||
80692500
|
||||
87140000
|
||||
94875000
|
||||
0
|
381
db/re/exp_homun.yml
Normal file
381
db/re/exp_homun.yml
Normal file
@ -0,0 +1,381 @@
|
||||
# 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/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Homunculus Experience Database
|
||||
###########################################################################
|
||||
#
|
||||
# Homunculus Experience Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Level Level required.
|
||||
# Exp Experience required for the next level.
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: HOMUN_EXP_DB
|
||||
Version: 1
|
||||
|
||||
Body:
|
||||
- Level: 1
|
||||
Exp: 50
|
||||
- Level: 2
|
||||
Exp: 110
|
||||
- Level: 3
|
||||
Exp: 180
|
||||
- Level: 4
|
||||
Exp: 260
|
||||
- Level: 5
|
||||
Exp: 350
|
||||
- Level: 6
|
||||
Exp: 630
|
||||
- Level: 7
|
||||
Exp: 950
|
||||
- Level: 8
|
||||
Exp: 1310
|
||||
- Level: 9
|
||||
Exp: 1710
|
||||
- Level: 10
|
||||
Exp: 2150
|
||||
- Level: 11
|
||||
Exp: 3180
|
||||
- Level: 12
|
||||
Exp: 4300
|
||||
- Level: 13
|
||||
Exp: 5510
|
||||
- Level: 14
|
||||
Exp: 6810
|
||||
- Level: 15
|
||||
Exp: 8200
|
||||
- Level: 16
|
||||
Exp: 10800
|
||||
- Level: 17
|
||||
Exp: 13560
|
||||
- Level: 18
|
||||
Exp: 16480
|
||||
- Level: 19
|
||||
Exp: 19560
|
||||
- Level: 20
|
||||
Exp: 22800
|
||||
- Level: 21
|
||||
Exp: 28090
|
||||
- Level: 22
|
||||
Exp: 33630
|
||||
- Level: 23
|
||||
Exp: 39420
|
||||
- Level: 24
|
||||
Exp: 45460
|
||||
- Level: 25
|
||||
Exp: 51750
|
||||
- Level: 26
|
||||
Exp: 61150
|
||||
- Level: 27
|
||||
Exp: 70910
|
||||
- Level: 28
|
||||
Exp: 81030
|
||||
- Level: 29
|
||||
Exp: 91510
|
||||
- Level: 30
|
||||
Exp: 102350
|
||||
- Level: 31
|
||||
Exp: 117580
|
||||
- Level: 32
|
||||
Exp: 133300
|
||||
- Level: 33
|
||||
Exp: 149510
|
||||
- Level: 34
|
||||
Exp: 166210
|
||||
- Level: 35
|
||||
Exp: 183400
|
||||
- Level: 36
|
||||
Exp: 206480
|
||||
- Level: 37
|
||||
Exp: 230200
|
||||
- Level: 38
|
||||
Exp: 254560
|
||||
- Level: 39
|
||||
Exp: 279560
|
||||
- Level: 40
|
||||
Exp: 305200
|
||||
- Level: 41
|
||||
Exp: 338450
|
||||
- Level: 42
|
||||
Exp: 372510
|
||||
- Level: 43
|
||||
Exp: 407380
|
||||
- Level: 44
|
||||
Exp: 443060
|
||||
- Level: 45
|
||||
Exp: 479550
|
||||
- Level: 46
|
||||
Exp: 525590
|
||||
- Level: 47
|
||||
Exp: 572630
|
||||
- Level: 48
|
||||
Exp: 620670
|
||||
- Level: 49
|
||||
Exp: 669710
|
||||
- Level: 50
|
||||
Exp: 719750
|
||||
- Level: 51
|
||||
Exp: 781500
|
||||
- Level: 52
|
||||
Exp: 844460
|
||||
- Level: 53
|
||||
Exp: 908630
|
||||
- Level: 54
|
||||
Exp: 974010
|
||||
- Level: 55
|
||||
Exp: 1040600
|
||||
- Level: 56
|
||||
Exp: 1121280
|
||||
- Level: 57
|
||||
Exp: 1203400
|
||||
- Level: 58
|
||||
Exp: 1286960
|
||||
- Level: 59
|
||||
Exp: 1371960
|
||||
- Level: 60
|
||||
Exp: 1458400
|
||||
- Level: 61
|
||||
Exp: 1561530
|
||||
- Level: 62
|
||||
Exp: 1666350
|
||||
- Level: 63
|
||||
Exp: 1772860
|
||||
- Level: 64
|
||||
Exp: 1881060
|
||||
- Level: 65
|
||||
Exp: 1990950
|
||||
- Level: 66
|
||||
Exp: 2120350
|
||||
- Level: 67
|
||||
Exp: 2251710
|
||||
- Level: 68
|
||||
Exp: 2385030
|
||||
- Level: 69
|
||||
Exp: 2520310
|
||||
- Level: 70
|
||||
Exp: 2657550
|
||||
- Level: 71
|
||||
Exp: 2817340
|
||||
- Level: 72
|
||||
Exp: 2979380
|
||||
- Level: 73
|
||||
Exp: 3143670
|
||||
- Level: 74
|
||||
Exp: 3310210
|
||||
- Level: 75
|
||||
Exp: 3479000
|
||||
- Level: 76
|
||||
Exp: 3673600
|
||||
- Level: 77
|
||||
Exp: 3870760
|
||||
- Level: 78
|
||||
Exp: 4070480
|
||||
- Level: 79
|
||||
Exp: 4272760
|
||||
- Level: 80
|
||||
Exp: 4477600
|
||||
- Level: 81
|
||||
Exp: 4711730
|
||||
- Level: 82
|
||||
Exp: 4948750
|
||||
- Level: 83
|
||||
Exp: 5188660
|
||||
- Level: 84
|
||||
Exp: 5431460
|
||||
- Level: 85
|
||||
Exp: 5677150
|
||||
- Level: 86
|
||||
Exp: 5955830
|
||||
- Level: 87
|
||||
Exp: 6237750
|
||||
- Level: 88
|
||||
Exp: 6522910
|
||||
- Level: 89
|
||||
Exp: 6811310
|
||||
- Level: 90
|
||||
Exp: 7102950
|
||||
- Level: 91
|
||||
Exp: 7431500
|
||||
- Level: 92
|
||||
Exp: 7763660
|
||||
- Level: 93
|
||||
Exp: 8099430
|
||||
- Level: 94
|
||||
Exp: 8438810
|
||||
- Level: 95
|
||||
Exp: 8781800
|
||||
- Level: 96
|
||||
Exp: 9165840
|
||||
- Level: 97
|
||||
Exp: 9553880
|
||||
- Level: 98
|
||||
Exp: 9945920
|
||||
- Level: 99
|
||||
Exp: 10350000
|
||||
- Level: 100
|
||||
Exp: 10462000
|
||||
- Level: 101
|
||||
Exp: 10580000
|
||||
- Level: 102
|
||||
Exp: 10700000
|
||||
- Level: 103
|
||||
Exp: 10826000
|
||||
- Level: 104
|
||||
Exp: 10980000
|
||||
- Level: 105
|
||||
Exp: 11150000
|
||||
- Level: 106
|
||||
Exp: 11334000
|
||||
- Level: 107
|
||||
Exp: 11520000
|
||||
- Level: 108
|
||||
Exp: 11712000
|
||||
- Level: 109
|
||||
Exp: 11906000
|
||||
- Level: 110
|
||||
Exp: 12108000
|
||||
- Level: 111
|
||||
Exp: 12317000
|
||||
- Level: 112
|
||||
Exp: 12530000
|
||||
- Level: 113
|
||||
Exp: 12745000
|
||||
- Level: 114
|
||||
Exp: 12968000
|
||||
- Level: 115
|
||||
Exp: 13193000
|
||||
- Level: 116
|
||||
Exp: 13420000
|
||||
- Level: 117
|
||||
Exp: 13653000
|
||||
- Level: 118
|
||||
Exp: 13890000
|
||||
- Level: 119
|
||||
Exp: 14130000
|
||||
- Level: 120
|
||||
Exp: 14374200
|
||||
- Level: 121
|
||||
Exp: 14620000
|
||||
- Level: 122
|
||||
Exp: 14870000
|
||||
- Level: 123
|
||||
Exp: 15123200
|
||||
- Level: 124
|
||||
Exp: 15378000
|
||||
- Level: 125
|
||||
Exp: 15638000
|
||||
- Level: 126
|
||||
Exp: 15900000
|
||||
- Level: 127
|
||||
Exp: 16164000
|
||||
- Level: 128
|
||||
Exp: 16430000
|
||||
- Level: 129
|
||||
Exp: 16698000
|
||||
- Level: 130
|
||||
Exp: 16970000
|
||||
- Level: 131
|
||||
Exp: 17245000
|
||||
- Level: 132
|
||||
Exp: 17523000
|
||||
- Level: 133
|
||||
Exp: 17804000
|
||||
- Level: 134
|
||||
Exp: 18090000
|
||||
- Level: 135
|
||||
Exp: 18380000
|
||||
- Level: 136
|
||||
Exp: 18675000
|
||||
- Level: 137
|
||||
Exp: 18974000
|
||||
- Level: 138
|
||||
Exp: 19280000
|
||||
- Level: 139
|
||||
Exp: 19588000
|
||||
- Level: 140
|
||||
Exp: 19900000
|
||||
- Level: 141
|
||||
Exp: 20215000
|
||||
- Level: 142
|
||||
Exp: 20534000
|
||||
- Level: 143
|
||||
Exp: 20854200
|
||||
- Level: 144
|
||||
Exp: 21180000
|
||||
- Level: 145
|
||||
Exp: 21509500
|
||||
- Level: 146
|
||||
Exp: 21847000
|
||||
- Level: 147
|
||||
Exp: 22197000
|
||||
- Level: 148
|
||||
Exp: 22558000
|
||||
- Level: 149
|
||||
Exp: 22930000
|
||||
- Level: 150
|
||||
Exp: 23320000
|
||||
- Level: 151
|
||||
Exp: 24500000
|
||||
- Level: 152
|
||||
Exp: 25750000
|
||||
- Level: 153
|
||||
Exp: 26750000
|
||||
- Level: 154
|
||||
Exp: 28000000
|
||||
- Level: 155
|
||||
Exp: 29000000
|
||||
- Level: 156
|
||||
Exp: 30250000
|
||||
- Level: 157
|
||||
Exp: 31250000
|
||||
- Level: 158
|
||||
Exp: 32500000
|
||||
- Level: 159
|
||||
Exp: 33500000
|
||||
- Level: 160
|
||||
Exp: 34750000
|
||||
- Level: 161
|
||||
Exp: 36250000
|
||||
- Level: 162
|
||||
Exp: 38050000
|
||||
- Level: 163
|
||||
Exp: 40210000
|
||||
- Level: 164
|
||||
Exp: 42800000
|
||||
- Level: 165
|
||||
Exp: 47982500
|
||||
- Level: 166
|
||||
Exp: 50572500
|
||||
- Level: 167
|
||||
Exp: 53680000
|
||||
- Level: 168
|
||||
Exp: 57410000
|
||||
- Level: 169
|
||||
Exp: 61887500
|
||||
- Level: 170
|
||||
Exp: 70842500
|
||||
- Level: 171
|
||||
Exp: 75320000
|
||||
- Level: 172
|
||||
Exp: 80692500
|
||||
- Level: 173
|
||||
Exp: 87140000
|
||||
- Level: 174
|
||||
Exp: 94875000
|
10
doc/yaml/db/exp_homun.yml
Normal file
10
doc/yaml/db/exp_homun.yml
Normal file
@ -0,0 +1,10 @@
|
||||
###########################################################################
|
||||
# Homunculus Experience Database
|
||||
###########################################################################
|
||||
#
|
||||
# Homunculus Experience Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Level Level required.
|
||||
# Exp Experience required for the next level.
|
||||
###########################################################################
|
@ -30,7 +30,6 @@ struct homun_skill_tree_entry hskill_tree[MAX_HOMUNCULUS_CLASS][MAX_HOM_SKILL_TR
|
||||
|
||||
static TIMER_FUNC(hom_hungry);
|
||||
static uint16 homunculus_count;
|
||||
static t_exp hexptbl[MAX_LEVEL];
|
||||
|
||||
//For holding the view data of npc classes. [Skotlex]
|
||||
static struct view_data hom_viewdb[MAX_HOMUNCULUS_CLASS];
|
||||
@ -51,6 +50,65 @@ static struct s_homun_intimacy_grade intimacy_grades[] = {
|
||||
{ /*"Loyal", */ 91100 },
|
||||
};
|
||||
|
||||
const std::string HomExpDatabase::getDefaultLocation() {
|
||||
return std::string(db_path) + "/exp_homun.yml";
|
||||
}
|
||||
|
||||
uint64 HomExpDatabase::parseBodyNode(const YAML::Node &node) {
|
||||
if (!this->nodesExist(node, { "Level", "Exp" })) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint16 level;
|
||||
|
||||
if (!this->asUInt16(node, "Level", level))
|
||||
return 0;
|
||||
|
||||
uint64 exp;
|
||||
|
||||
if (!this->asUInt64(node, "Exp", exp))
|
||||
return 0;
|
||||
|
||||
if (level == 0) {
|
||||
this->invalidWarning(node["Level"], "The minimum level is 1.\n");
|
||||
return 0;
|
||||
}
|
||||
if (level >= MAX_LEVEL) {
|
||||
this->invalidWarning(node["Level"], "Homunculus level %d exceeds maximum level %d, skipping.\n", level, MAX_LEVEL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
std::shared_ptr<s_homun_exp_db> homun_exp = this->find(level);
|
||||
bool exists = homun_exp != nullptr;
|
||||
|
||||
if (!exists) {
|
||||
homun_exp = std::make_shared<s_homun_exp_db>();
|
||||
homun_exp->level = level;
|
||||
}
|
||||
|
||||
homun_exp->exp = static_cast<t_exp>(exp);
|
||||
|
||||
if (!exists)
|
||||
this->put(level, homun_exp);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
HomExpDatabase homun_exp_db;
|
||||
|
||||
/**
|
||||
* Returns the experience required to level up according to the table.
|
||||
* @param level: Homunculus level
|
||||
* @return Experience
|
||||
*/
|
||||
t_exp HomExpDatabase::get_nextexp(uint16 level) {
|
||||
auto next_exp = this->find(level);
|
||||
if (next_exp)
|
||||
return next_exp->exp;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the skill is a valid homunculus skill based skill range or availablity in skill db
|
||||
* @param skill_id
|
||||
@ -493,7 +551,7 @@ int hom_levelup(struct homun_data *hd)
|
||||
hom->skillpts++ ; //1 skillpoint each 3 base level
|
||||
|
||||
hom->exp -= hd->exp_next ;
|
||||
hd->exp_next = hexptbl[hom->level - 1] ;
|
||||
hd->exp_next = homun_exp_db.get_nextexp(hom->level);
|
||||
|
||||
if (!max) {
|
||||
max = &hd->homunculusDB->gmax;
|
||||
@ -1042,7 +1100,7 @@ void hom_alloc(struct map_session_data *sd, struct s_homunculus *hom)
|
||||
hd->master = sd;
|
||||
hd->homunculusDB = &homunculus_db[i];
|
||||
memcpy(&hd->homunculus, hom, sizeof(struct s_homunculus));
|
||||
hd->exp_next = hexptbl[hd->homunculus.level - 1];
|
||||
hd->exp_next = homun_exp_db.get_nextexp(hd->homunculus.level);
|
||||
|
||||
status_set_viewdata(&hd->bl, hd->homunculus.class_);
|
||||
status_change_init(&hd->bl);
|
||||
@ -1323,7 +1381,7 @@ void hom_reset_stats(struct homun_data *hd)
|
||||
hom->dex = base->dex *10;
|
||||
hom->luk = base->luk *10;
|
||||
hom->exp = 0;
|
||||
hd->exp_next = hexptbl[0];
|
||||
hd->exp_next = homun_exp_db.get_nextexp(hom->level);
|
||||
memset(&hd->homunculus.hskill, 0, sizeof hd->homunculus.hskill);
|
||||
hd->homunculus.skillpts = 0;
|
||||
}
|
||||
@ -1613,52 +1671,9 @@ static void read_homunculus_skilldb(void) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Read homunculus exp db
|
||||
*/
|
||||
void read_homunculus_expdb(void)
|
||||
{
|
||||
int i;
|
||||
const char *filename[]={
|
||||
DBPATH"exp_homun.txt",
|
||||
DBIMPORT"/exp_homun.txt"
|
||||
};
|
||||
|
||||
memset(hexptbl,0,sizeof(hexptbl));
|
||||
for (i = 0; i < ARRAYLENGTH(filename); i++) {
|
||||
FILE *fp;
|
||||
char path[1024];
|
||||
char line[1024];
|
||||
int j=0;
|
||||
|
||||
sprintf(path, "%s/%s", db_path, filename[i]);
|
||||
fp = fopen(path,"r");
|
||||
if (fp == NULL) {
|
||||
if (i != 0)
|
||||
continue;
|
||||
ShowError("read_homunculus_expdb: Can't read %s\n",line);
|
||||
return;
|
||||
}
|
||||
while (fgets(line, sizeof(line), fp) && j < MAX_LEVEL) {
|
||||
if (line[0] == '/' && line[1] == '/')
|
||||
continue;
|
||||
|
||||
hexptbl[j] = strtoull(line, NULL, 10);
|
||||
if (!hexptbl[j++])
|
||||
break;
|
||||
}
|
||||
if (hexptbl[MAX_LEVEL - 1]) { // Last permitted level have to be 0!
|
||||
ShowWarning("read_homunculus_expdb: Reached max level in %s [%d]. Remaining lines were not read.\n ",path,MAX_LEVEL);
|
||||
hexptbl[MAX_LEVEL - 1] = 0;
|
||||
}
|
||||
fclose(fp);
|
||||
ShowStatus("Done reading '" CL_WHITE "%d" CL_RESET "' levels in '" CL_WHITE "%s" CL_RESET "'.\n", j, path);
|
||||
}
|
||||
}
|
||||
|
||||
void hom_reload(void){
|
||||
read_homunculusdb();
|
||||
read_homunculus_expdb();
|
||||
homun_exp_db.reload();
|
||||
}
|
||||
|
||||
void hom_reload_skill(void){
|
||||
@ -1669,7 +1684,7 @@ void do_init_homunculus(void){
|
||||
int class_;
|
||||
|
||||
read_homunculusdb();
|
||||
read_homunculus_expdb();
|
||||
homun_exp_db.load();
|
||||
read_homunculus_skilldb();
|
||||
|
||||
// Add homunc timer function to timer func list [Toms]
|
||||
|
@ -4,7 +4,9 @@
|
||||
#ifndef HOMUNCULUS_HPP
|
||||
#define HOMUNCULUS_HPP
|
||||
|
||||
#include <string>
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include "../common/database.hpp"
|
||||
|
||||
#include "status.hpp" // struct status_data, struct status_change
|
||||
#include "unit.hpp" // struct unit_data
|
||||
@ -20,6 +22,22 @@
|
||||
#define APPLY_HOMUN_LEVEL_STATWEIGHT()
|
||||
#endif
|
||||
|
||||
struct s_homun_exp_db {
|
||||
uint16 level;
|
||||
t_exp exp;
|
||||
};
|
||||
|
||||
class HomExpDatabase : public TypesafeYamlDatabase<uint16, s_homun_exp_db> {
|
||||
public:
|
||||
HomExpDatabase() : TypesafeYamlDatabase("HOMUN_EXP_DB", 1) {
|
||||
|
||||
}
|
||||
|
||||
const std::string getDefaultLocation();
|
||||
uint64 parseBodyNode(const YAML::Node& node);
|
||||
t_exp get_nextexp(uint16 level);
|
||||
};
|
||||
|
||||
struct h_stats {
|
||||
unsigned int HP, SP;
|
||||
unsigned short str, agi, vit, int_, dex, luk;
|
||||
|
@ -306,7 +306,7 @@
|
||||
<Copy SourceFiles="$(SolutionDir)db\import-tmpl\elemental_db.txt" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\elemental_db.txt')" />
|
||||
<Copy SourceFiles="$(SolutionDir)db\import-tmpl\elemental_skill_db.txt" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\elemental_skill_db.txt')" />
|
||||
<Copy SourceFiles="$(SolutionDir)db\import-tmpl\exp_guild.txt" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\exp_guild.txt')" />
|
||||
<Copy SourceFiles="$(SolutionDir)db\import-tmpl\exp_homun.txt" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\exp_homun.txt')" />
|
||||
<Copy SourceFiles="$(SolutionDir)db\import-tmpl\exp_homun.yml" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\exp_homun.yml')" />
|
||||
<Copy SourceFiles="$(SolutionDir)db\import-tmpl\guild_skill_tree.yml" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\guild_skill_tree.yml')" />
|
||||
<Copy SourceFiles="$(SolutionDir)db\import-tmpl\homun_skill_tree.txt" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\homun_skill_tree.txt')" />
|
||||
<Copy SourceFiles="$(SolutionDir)db\import-tmpl\homunculus_db.txt" DestinationFolder="$(SolutionDir)db\import\" ContinueOnError="true" Condition="!Exists('$(SolutionDir)db\import\homunculus_db.txt')" />
|
||||
|
@ -291,6 +291,18 @@ int do_init( int argc, char** argv ){
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!process("HOMUN_EXP_DB", 1, { path_db_mode }, "exp_homun", [](const std::string &path, const std::string &name_ext) -> bool {
|
||||
return read_homunculus_expdb((path + name_ext).c_str());
|
||||
})) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!process("HOMUN_EXP_DB", 1, { path_db_import }, "exp_homun", [](const std::string &path, const std::string &name_ext) -> bool {
|
||||
return read_homunculus_expdb((path + name_ext).c_str());
|
||||
})) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// TODO: add implementations ;-)
|
||||
|
||||
return 0;
|
||||
@ -3451,3 +3463,37 @@ static bool mob_parse_row_chatdb(char* fields[], int columns, int current) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Copied and adjusted from homunculus.cpp
|
||||
static bool read_homunculus_expdb(const char* file) {
|
||||
FILE* fp = fopen( file, "r" );
|
||||
|
||||
if( fp == nullptr ){
|
||||
ShowError( "Can't read %s\n", file );
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32 lines = 0, count = 0;
|
||||
char line[1024];
|
||||
|
||||
while (fgets(line, sizeof(line), fp)) {
|
||||
lines++;
|
||||
|
||||
if (line[0] == '/' && line[1] == '/') // Ignore comments
|
||||
continue;
|
||||
|
||||
t_exp exp = strtoull(line, nullptr, 10);
|
||||
|
||||
if( exp > 0 ){
|
||||
body << YAML::BeginMap;
|
||||
body << YAML::Key << "Level" << YAML::Value << (count+1);
|
||||
body << YAML::Key << "Exp" << YAML::Value << exp;
|
||||
body << YAML::EndMap;
|
||||
}
|
||||
|
||||
count++;
|
||||
}
|
||||
|
||||
fclose(fp);
|
||||
ShowStatus("Done reading '" CL_WHITE "%d" CL_RESET "' entries in '" CL_WHITE "%s" CL_RESET "'.\n", count, file);
|
||||
return true;
|
||||
}
|
||||
|
@ -381,5 +381,6 @@ static bool itemdb_randomopt_group_yaml(void);
|
||||
static bool pc_readdb_levelpenalty(char* fields[], int columns, int current);
|
||||
static bool pc_levelpenalty_yaml();
|
||||
static bool mob_parse_row_chatdb(char* fields[], int columns, int current);
|
||||
static bool read_homunculus_expdb(const char* file);
|
||||
|
||||
#endif /* CSV2YAML_HPP */
|
||||
|
Loading…
x
Reference in New Issue
Block a user