* Added support for increased max statistics (parameters) for 3rd classes (regular and baby).
* Updated amounts of status points given at Base Level up for levels over 99. git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/renewal@14823 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
44a2936f02
commit
2e3209566f
@ -1,6 +1,8 @@
|
||||
Date Added
|
||||
|
||||
2011/05/15
|
||||
* Added support for increased max statistics (parameters) for 3rd classes (regular and baby). [Gepard]
|
||||
* Updated amounts of status points given at Base Level up for levels over 99. [Gepard]
|
||||
* Fixes to Job Level stat bonuses table. [Gepard]
|
||||
- Added missing bonuses: Warlock's INT, Minstrel's INT & AGI, Genetic's VIT.
|
||||
- Official Royal Guard's bonuses.
|
||||
|
@ -91,6 +91,12 @@ max_parameter: 99
|
||||
// Same as max_parameter, but for baby classes.
|
||||
max_baby_parameter: 80
|
||||
|
||||
// Same as max_parameter, but for third classes.
|
||||
max_third_parameter: 120
|
||||
|
||||
// Same as max_parameter, but for baby third classes.
|
||||
max_baby_third_parameter: 108
|
||||
|
||||
// Max armor def/mdef
|
||||
// NOTE: does not affects skills and status effects like Mental Strength
|
||||
// If weapon_defense_type is non-zero, it won't apply to max def.
|
||||
|
292
db/statpoint.txt
292
db/statpoint.txt
@ -103,153 +103,153 @@
|
||||
1364
|
||||
1387
|
||||
1410
|
||||
1434
|
||||
1458
|
||||
1482
|
||||
1506
|
||||
1530
|
||||
1555
|
||||
1580
|
||||
1605
|
||||
1630
|
||||
1655
|
||||
1681
|
||||
1707
|
||||
1733
|
||||
1759
|
||||
1785
|
||||
1812
|
||||
1839
|
||||
1866
|
||||
1893
|
||||
1920
|
||||
1948
|
||||
1976
|
||||
2004
|
||||
2032
|
||||
2060
|
||||
2089
|
||||
2118
|
||||
2147
|
||||
2176
|
||||
2205
|
||||
2235
|
||||
2265
|
||||
2295
|
||||
2325
|
||||
2355
|
||||
2386
|
||||
2417
|
||||
2448
|
||||
2479
|
||||
2510
|
||||
2542
|
||||
2574
|
||||
2606
|
||||
2638
|
||||
2670
|
||||
2703
|
||||
2736
|
||||
1433
|
||||
1456
|
||||
1479
|
||||
1502
|
||||
1525
|
||||
1549
|
||||
1573
|
||||
1597
|
||||
1621
|
||||
1645
|
||||
1669
|
||||
1693
|
||||
1717
|
||||
1741
|
||||
1765
|
||||
1790
|
||||
1815
|
||||
1840
|
||||
1865
|
||||
1890
|
||||
1915
|
||||
1940
|
||||
1965
|
||||
1990
|
||||
2015
|
||||
2041
|
||||
2067
|
||||
2093
|
||||
2119
|
||||
2145
|
||||
2171
|
||||
2197
|
||||
2223
|
||||
2249
|
||||
2275
|
||||
2302
|
||||
2329
|
||||
2356
|
||||
2383
|
||||
2410
|
||||
2437
|
||||
2464
|
||||
2491
|
||||
2518
|
||||
2545
|
||||
2573
|
||||
2601
|
||||
2629
|
||||
2657
|
||||
2685
|
||||
2713
|
||||
2743
|
||||
2769
|
||||
2802
|
||||
2835
|
||||
2869
|
||||
2903
|
||||
2937
|
||||
2971
|
||||
3005
|
||||
3040
|
||||
3075
|
||||
3110
|
||||
2797
|
||||
2825
|
||||
2854
|
||||
2883
|
||||
2912
|
||||
2941
|
||||
2970
|
||||
2999
|
||||
3028
|
||||
3057
|
||||
3086
|
||||
3115
|
||||
3145
|
||||
3180
|
||||
3216
|
||||
3252
|
||||
3288
|
||||
3324
|
||||
3360
|
||||
3397
|
||||
3434
|
||||
3471
|
||||
3175
|
||||
3205
|
||||
3235
|
||||
3265
|
||||
3295
|
||||
3325
|
||||
3355
|
||||
3385
|
||||
3415
|
||||
3446
|
||||
3477
|
||||
3508
|
||||
3545
|
||||
3583
|
||||
3621
|
||||
3659
|
||||
3697
|
||||
3735
|
||||
3774
|
||||
3813
|
||||
3852
|
||||
3891
|
||||
3930
|
||||
3970
|
||||
4010
|
||||
4050
|
||||
4090
|
||||
4130
|
||||
4171
|
||||
4212
|
||||
4253
|
||||
4294
|
||||
4335
|
||||
4377
|
||||
4419
|
||||
4461
|
||||
4503
|
||||
3539
|
||||
3570
|
||||
3601
|
||||
3632
|
||||
3663
|
||||
3694
|
||||
3725
|
||||
3757
|
||||
3789
|
||||
3821
|
||||
3853
|
||||
3885
|
||||
3917
|
||||
3949
|
||||
3981
|
||||
4013
|
||||
4045
|
||||
4078
|
||||
4111
|
||||
4114
|
||||
4177
|
||||
4210
|
||||
4243
|
||||
4276
|
||||
4309
|
||||
4342
|
||||
4375
|
||||
4409
|
||||
4443
|
||||
4477
|
||||
4511
|
||||
4545
|
||||
4588
|
||||
4631
|
||||
4674
|
||||
4717
|
||||
4760
|
||||
4804
|
||||
4848
|
||||
4892
|
||||
4936
|
||||
4980
|
||||
5025
|
||||
5070
|
||||
5115
|
||||
5160
|
||||
5205
|
||||
5251
|
||||
5297
|
||||
5343
|
||||
5389
|
||||
5435
|
||||
5482
|
||||
5529
|
||||
5576
|
||||
5623
|
||||
5670
|
||||
5718
|
||||
5766
|
||||
5814
|
||||
5862
|
||||
5910
|
||||
5959
|
||||
6008
|
||||
6057
|
||||
6106
|
||||
6155
|
||||
6205
|
||||
6255
|
||||
6305
|
||||
6355
|
||||
6405
|
||||
6456
|
||||
6507
|
||||
6558
|
||||
6609
|
||||
6660
|
||||
6712
|
||||
6764
|
||||
6816
|
||||
6868
|
||||
6920
|
||||
6973
|
||||
7026
|
||||
7079
|
||||
7132
|
||||
7185
|
||||
4579
|
||||
4613
|
||||
4647
|
||||
4681
|
||||
4715
|
||||
4750
|
||||
4785
|
||||
4820
|
||||
4855
|
||||
4890
|
||||
4925
|
||||
4960
|
||||
5030
|
||||
5065
|
||||
5100
|
||||
5136
|
||||
5172
|
||||
5208
|
||||
5244
|
||||
5280
|
||||
5316
|
||||
5352
|
||||
5388
|
||||
5424
|
||||
5460
|
||||
5497
|
||||
5537
|
||||
5571
|
||||
5608
|
||||
5645
|
||||
5682
|
||||
5719
|
||||
5793
|
||||
5830
|
||||
5868
|
||||
5906
|
||||
5944
|
||||
5982
|
||||
6020
|
||||
6058
|
||||
|
@ -3771,6 +3771,8 @@ static const struct _battle_data {
|
||||
{ "max_cart_weight", &battle_config.max_cart_weight, 8000, 100, 1000000, },
|
||||
{ "max_parameter", &battle_config.max_parameter, 99, 10, 10000, },
|
||||
{ "max_baby_parameter", &battle_config.max_baby_parameter, 80, 10, 10000, },
|
||||
{ "max_third_parameter", &battle_config.max_third_parameter, 120, 10, 10000, },
|
||||
{ "max_baby_third_parameter", &battle_config.max_baby_third_parameter, 108, 10, 10000, },
|
||||
{ "max_def", &battle_config.max_def, 99, 0, INT_MAX, },
|
||||
{ "over_def_bonus", &battle_config.over_def_bonus, 0, 0, 1000, },
|
||||
{ "skill_log", &battle_config.skill_log, BL_NUL, BL_NUL, BL_ALL, },
|
||||
|
@ -236,7 +236,7 @@ extern struct Battle_Config
|
||||
int max_hp;
|
||||
int max_sp;
|
||||
int max_lv, aura_lv;
|
||||
int max_parameter, max_baby_parameter;
|
||||
int max_parameter, max_baby_parameter, max_third_parameter, max_baby_third_parameter;
|
||||
int max_cart_weight;
|
||||
int skill_log;
|
||||
int battle_log;
|
||||
|
40
src/map/pc.c
40
src/map/pc.c
@ -5040,11 +5040,16 @@ int pc_checkbaselevelup(struct map_session_data *sd)
|
||||
|
||||
sd->status.base_level ++;
|
||||
|
||||
if (battle_config.use_statpoint_table)
|
||||
//Give status points
|
||||
if (battle_config.use_statpoint_table) //Use values from "db/statpoint.txt"
|
||||
next = statp[sd->status.base_level] - statp[sd->status.base_level-1];
|
||||
else //Estimated way.
|
||||
next = (sd->status.base_level+14) / 5 ;
|
||||
|
||||
else //Default increase
|
||||
{
|
||||
if (sd->status.base_level <= 100)
|
||||
next = (sd->status.base_level+14) / 5;
|
||||
else
|
||||
next = (sd->status.base_level+129) / 10;
|
||||
}
|
||||
sd->status.status_point += next;
|
||||
|
||||
} while ((next=pc_nextbaseexp(sd)) > 0 && sd->status.base_exp >= next);
|
||||
@ -5365,7 +5370,15 @@ static int pc_setstat(struct map_session_data* sd, int type, int val)
|
||||
/// Returns the number of stat points needed to raise the specified stat by 1.
|
||||
int pc_need_status_point(struct map_session_data* sd, int type)
|
||||
{
|
||||
return ( 1 + (pc_getstat(sd,type) + 9) / 10 );
|
||||
int stat = pc_getstat(sd, type);
|
||||
|
||||
if( stat >= pc_maxparameter(sd) )
|
||||
return 0; // Official servers show '0' when max is reached
|
||||
|
||||
if( stat < 100 )
|
||||
return ( 1 + (stat + 9) / 10 );
|
||||
else
|
||||
return ( 16 + 4*((stat - 100) / 5) );
|
||||
}
|
||||
|
||||
/// Raises a stat by 1.
|
||||
@ -6598,6 +6611,14 @@ int pc_jobchange(struct map_session_data *sd,int job, int upper)
|
||||
clif_updatestatus(sd,SP_JOBEXP);
|
||||
clif_updatestatus(sd,SP_NEXTJOBEXP);
|
||||
|
||||
//New job may have new max_parameter, so update stat points needed to raise a stat
|
||||
clif_updatestatus(sd,SP_USTR);
|
||||
clif_updatestatus(sd,SP_UAGI);
|
||||
clif_updatestatus(sd,SP_UVIT);
|
||||
clif_updatestatus(sd,SP_UINT);
|
||||
clif_updatestatus(sd,SP_UDEX);
|
||||
clif_updatestatus(sd,SP_ULUK);
|
||||
|
||||
for(i=0;i<EQI_MAX;i++) {
|
||||
if(sd->equip_index[i] >= 0)
|
||||
if(!pc_isequip(sd,sd->equip_index[i]))
|
||||
@ -8307,9 +8328,12 @@ int pc_readdb(void)
|
||||
}
|
||||
// generate the remaining parts of the db if necessary
|
||||
statp[0] = 45; // seed value
|
||||
for (; i <= MAX_LEVEL; i++)
|
||||
statp[i] = statp[i-1] + (i-1+15)/5;
|
||||
|
||||
for (; i <= MAX_LEVEL; i++) {
|
||||
if(i <= 100)
|
||||
statp[i] = statp[i-1] + (i+14)/5;
|
||||
else
|
||||
statp[i] = statp[i-1] + (i+129)/10;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -540,7 +540,7 @@ enum equip_index {
|
||||
#define pc_isinvisible(sd) ( (sd)->sc.option&OPTION_INVISIBLE )
|
||||
#define pc_is50overweight(sd) ( (sd)->weight*100 >= (sd)->max_weight*battle_config.natural_heal_weight_rate )
|
||||
#define pc_is90overweight(sd) ( (sd)->weight*10 >= (sd)->max_weight*9 )
|
||||
#define pc_maxparameter(sd) ( (sd)->class_&JOBL_BABY ? battle_config.max_baby_parameter : battle_config.max_parameter )
|
||||
#define pc_maxparameter(sd) ( ((sd)->class_&JOBL_3 ? ((sd)->class_&JOBL_BABY ? battle_config.max_baby_third_parameter : battle_config.max_third_parameter) : ((sd)->class_&JOBL_BABY ? battle_config.max_baby_parameter : battle_config.max_parameter)) )
|
||||
|
||||
#define pc_stop_walking(sd, type) unit_stop_walking(&(sd)->bl, type)
|
||||
#define pc_stop_attack(sd) unit_stop_attack(&(sd)->bl)
|
||||
|
Loading…
x
Reference in New Issue
Block a user