diff options
author | rud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-06-29 15:52:29 +0000 |
---|---|---|
committer | rud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-06-29 15:52:29 +0000 |
commit | 86aafca6da0a843db09a33e74faf8d9bb77e2508 (patch) | |
tree | ae44006b9f05054ccdf479780b2d0a03743252e4 /src/map/status.c | |
parent | 05972632af5de3ddce35ea54797bf3a0598368b2 (diff) | |
download | hercules-86aafca6da0a843db09a33e74faf8d9bb77e2508.tar.gz hercules-86aafca6da0a843db09a33e74faf8d9bb77e2508.tar.bz2 hercules-86aafca6da0a843db09a33e74faf8d9bb77e2508.tar.xz hercules-86aafca6da0a843db09a33e74faf8d9bb77e2508.zip |
Implemented new item script bonuses:
- bSkillCooldown,n,x;
- bSkillFixedCast,n,x;
- *bSkillVariableCast,n,x;
- bFixedCastrate,x;
- *bVariableCastrate,x;
*Pending until RE Casting system is fully implemented.
ATM bCastrate is used to manipulate variable cast time where it should not.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16355 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/map/status.c b/src/map/status.c index f46b12f7f..701d2db9b 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -2274,6 +2274,8 @@ int status_calc_pc_(struct map_session_data* sd, bool first) sd->critical_rate = sd->hit_rate = sd->flee_rate = sd->flee2_rate = 100; sd->def_rate = sd->def2_rate = sd->mdef_rate = sd->mdef2_rate = 100; sd->regen.state.block = 0; + sd->fixcastrate=100; + sd->varcastrate=100; // zeroed arrays, order follows the order in pc.h. // add new arrays to the end of zeroed area in pc.h (see comments) and size here. [zzo] @@ -2354,6 +2356,9 @@ int status_calc_pc_(struct map_session_data* sd, bool first) + sizeof(sd->add_drop) + sizeof(sd->itemhealrate) + sizeof(sd->subele2) + + sizeof(sd->skillcooldown) + + sizeof(sd->skillfixcast) + + sizeof(sd->skillvarcast) ); memset (&sd->bonus, 0,sizeof(sd->bonus)); @@ -2908,6 +2913,10 @@ int status_calc_pc_(struct map_session_data* sd, bool first) sd->hprecov_rate = 0; if(sd->sprecov_rate < 0) sd->sprecov_rate = 0; + if(sd->fixcastrate < 0) + sd->fixcastrate = 0; + if(sd->varcastrate < 0) + sd->varcastrate = 0; // Anti-element and anti-race if((skill=pc_checkskill(sd,CR_TRUST))>0) |