diff options
author | protimus <protimus@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-01-08 02:46:19 +0000 |
---|---|---|
committer | protimus <protimus@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-01-08 02:46:19 +0000 |
commit | 6ba747880532b4278fed801896216146ac63a90d (patch) | |
tree | 94660136ac947cf5288cb5a0b4c39f9ef2de8fe5 /src/map/status.c | |
parent | 7db42789c2baba7154d7df1388942752789a2f93 (diff) | |
download | hercules-6ba747880532b4278fed801896216146ac63a90d.tar.gz hercules-6ba747880532b4278fed801896216146ac63a90d.tar.bz2 hercules-6ba747880532b4278fed801896216146ac63a90d.tar.xz hercules-6ba747880532b4278fed801896216146ac63a90d.zip |
Fixed Exceed Break to work properly.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15407 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/map/status.c b/src/map/status.c index 2565d8856..41ef41ea8 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -4288,9 +4288,12 @@ static unsigned short status_calc_speed(struct block_list *bl, struct status_cha if( sc == NULL ) return cap_value(speed,10,USHRT_MAX); - if( sd && sd->ud.skilltimer != INVALID_TIMER && pc_checkskill(sd,SA_FREECAST) > 0 ) + if( sd && sd->ud.skilltimer != INVALID_TIMER && (pc_checkskill(sd,SA_FREECAST) > 0 || sd->ud.skillid == LG_EXEEDBREAK) ) { - speed_rate = 175 - 5 * pc_checkskill(sd,SA_FREECAST); + if( sd->ud.skillid == LG_EXEEDBREAK ) + speed_rate = 100 + 60 - (sd->ud.skilllv * 10); + else + speed_rate = 175 - 5 * pc_checkskill(sd,SA_FREECAST); } else { @@ -7124,16 +7127,13 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val break; case SC_EXEEDBREAK: val1 *= 150; // 150 * skill_lv - if( sd ) - { // Chars. - struct item_data *id = sd->inventory_data[sd->equip_index[EQI_HAND_R]]; - if( id ) val1 += (id->weight/10 * id->wlv * status_get_lv(bl) / 100); // (weapon_weight * weapon_level * base_lvl)/100 - val1 += 15 * sd->status.job_level; // 15 * job_lvl + if( sd && sd->inventory_data[sd->equip_index[EQI_HAND_R]] ) { // Chars. + val1 += (sd->inventory_data[sd->equip_index[EQI_HAND_R]]->weight/10 * sd->inventory_data[sd->equip_index[EQI_HAND_R]]->wlv * status_get_lv(bl) / 100); + val1 += 15 * (sd ? sd->status.job_level:50) + 100; } else // Mobs val1 += (400 * status_get_lv(bl) / 100) + (15 * (status_get_lv(bl) / 2)); // About 1138% at mob_lvl 99. Is an aproximation to a standard weapon. [pakpil] break; - case SC_PRESTIGE: // Bassed on suggested formula in iRO Wiki and some test, still need more test. [pakpil] val2 = ((status->int_ + status->luk) / 6) + 5; // Chance to evade magic damage. val1 *= 15; // Defence added |