diff options
-rw-r--r-- | Changelog.txt | 3 | ||||
-rw-r--r-- | src/map/skill.c | 15 |
2 files changed, 14 insertions, 4 deletions
diff --git a/Changelog.txt b/Changelog.txt index cad8451ac..cca6b003d 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -22,7 +22,8 @@ Date Added technical ones for the other devs ^^; [celest] * Added other new battle_athena options from jA 1082 ... descriptions not translated yet [celest] - * Removed my own additions for skill delays using aspd and added jA's code [celest] + * Removed my own additions for skill delays using aspd and added jA's code + (-removed-) [celest] * Adapted skill_range_leniency to jA's code - should be more stable [celest] * Fixed drop rates only limited to multiples of 100's - thanks to jathena for pointing it out [celest] diff --git a/src/map/skill.c b/src/map/skill.c index 21c5bd954..b5f5d072e 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -7414,9 +7414,8 @@ int skill_delayfix( struct block_list *bl, int time ) nullpo_retr(0, bl); sc_data = battle_get_sc_data(bl); - if(time<=0) - return ( battle_get_adelay(bl) / 2 ); - +/* if(time<=0) + return ( battle_get_adelay(bl) / 2 );*/ if(bl->type == BL_PC) { if( battle_config.delay_dependon_dex ) /* dexの影響を計算する */ @@ -7751,6 +7750,11 @@ int skill_use_id( struct map_session_data *sd, int target_id, if( casttime<=0 ) /* 詠唱の無いものはキャンセルされない */ sd->state.skillcastcancel=0; + // instant cast attack skills depend on aspd as delay [celest] + if (delay <= 0 && skill_db[skill_num].skill_type == BF_WEAPON) { + delay = (battle_get_adelay (&sd->bl)/2) * battle_config.delay_rate / 100; + } + sd->skilltarget = target_id; /* sd->cast_target_bl = bl; */ sd->skillx = 0; @@ -7892,6 +7896,11 @@ int skill_use_pos( struct map_session_data *sd, if( casttime<=0 ) /* 詠唱の無いものはキャンセルされない */ sd->state.skillcastcancel=0; + // instant cast attack skills depend on aspd as delay [celest] + if (delay <= 0 && skill_db[skill_num].skill_type == BF_WEAPON) { + delay = (battle_get_adelay (&sd->bl)/2) * battle_config.delay_rate / 100; + } + sd->skilltarget = 0; /* sd->cast_target_bl = NULL; */ tick=gettick(); |