summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authormalufett <malufett.eat.my.binaries@gmail.com>2014-02-11 01:18:22 +0800
committermalufett <malufett.eat.my.binaries@gmail.com>2014-02-11 01:18:22 +0800
commit537e621b81b8fdd8763342703083c1abcfb3cc3a (patch)
tree1eaf33fce9a047766a4f142e8c86894f1f9b4d60 /src/map/skill.c
parentac45ebca3e9537eca665ba042412ddc1e65e9f73 (diff)
downloadhercules-537e621b81b8fdd8763342703083c1abcfb3cc3a.tar.gz
hercules-537e621b81b8fdd8763342703083c1abcfb3cc3a.tar.bz2
hercules-537e621b81b8fdd8763342703083c1abcfb3cc3a.tar.xz
hercules-537e621b81b8fdd8763342703083c1abcfb3cc3a.zip
Fixed Bug#7983 (Thanks to Kiu)
-http://hercules.ws/board/tracker/issue-7983-whisper-display Fixed Bug#8012 -http://hercules.ws/board/tracker/issue-8012-bonus-bvariablecastrate-and-bfixedcastrate-not-working-properly/ Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index a66ead4ae..d336d165e 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -14012,6 +14012,12 @@ int skill_vfcastfix(struct block_list *bl, double time, uint16 skill_id, uint16
if( sd && !(skill->get_castnodex(skill_id, skill_lv)&4) ){
VARCAST_REDUCTION( max(sd->bonus.varcastrate, 0) + max(i, 0) );
fixcast_r = max(fixcast_r, sd->bonus.fixcastrate) + min(sd->bonus.fixcastrate,0);
+ for( i = 0; i < ARRAYLENGTH(sd->skillcast) && sd->skillcast[i].id; i++ )
+ if( sd->skillcast[i].id == skill_id ){ // bonus2 bVariableCastrate
+ if( (i=sd->skillcast[i].val) > 0)
+ VARCAST_REDUCTION(i);
+ break;
+ }
}
if( varcast_r < 0 ) // now compute overall factors