diff options
author | malufett <malufett.eat.my.binaries@gmail.com> | 2013-02-19 03:03:44 +0800 |
---|---|---|
committer | malufett <malufett.eat.my.binaries@gmail.com> | 2013-02-19 03:03:44 +0800 |
commit | 1093763fb0807943bf4f26a3dcefc6ad7add0686 (patch) | |
tree | 31c760fa3dbc14b18f1cfd5a3dd2db119f9713cd /src | |
parent | 327a46d159973eb1fe224e82388d0dae32c35b28 (diff) | |
download | hercules-1093763fb0807943bf4f26a3dcefc6ad7add0686.tar.gz hercules-1093763fb0807943bf4f26a3dcefc6ad7add0686.tar.bz2 hercules-1093763fb0807943bf4f26a3dcefc6ad7add0686.tar.xz hercules-1093763fb0807943bf4f26a3dcefc6ad7add0686.zip |
Partial Fixed Bug #7061
Fixed official behiavior of WZ_SIGHTBLASTER dealing with HW_MAGICPOWER.
Diffstat (limited to 'src')
-rw-r--r-- | src/map/status.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/map/status.c b/src/map/status.c index b07625322..edac88af0 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1,4 +1,4 @@ -// Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) Hercules Dev Team, licensed under GNU GPL. // See the LICENSE file // Portions Copyright (c) Athena Dev Teams @@ -4689,7 +4689,7 @@ static unsigned short status_calc_matk(struct block_list *bl, struct status_chan if (sc->data[SC_IZAYOI]) matk += 50 * sc->data[SC_IZAYOI]->val1; #endif - if (sc->data[SC_MAGICPOWER]) + if (sc->data[SC_MAGICPOWER] && sc->data[SC_MAGICPOWER]->val4) matk += matk * sc->data[SC_MAGICPOWER]->val3/100; if (sc->data[SC_MINDBREAKER]) matk += matk * sc->data[SC_MINDBREAKER]->val2/100; @@ -6286,7 +6286,7 @@ int status_get_sc_def(struct block_list *bl, enum sc_type type, int rate, int ti tick -= (status->int_ + status->luk) / 20 * 1000; break; case SC_STASIS: - //5 second (fixed) + { Stasis Skill level * 5 - (Target�s VIT + DEX) / 20 } + //5 second (fixed) + { Stasis Skill level * 5 - (Target's VIT + DEX) / 20 } tick -= (status->vit + status->dex) / 20 * 1000; break; case SC_WHITEIMPRISON: @@ -10674,9 +10674,10 @@ int status_change_timer_sub(struct block_list* bl, va_list ap) if (battle_check_target( src, bl, BCT_ENEMY ) > 0 && status_check_skilluse(src, bl, WZ_SIGHTBLASTER, 2)) { - skill_attack(BF_MAGIC,src,src,bl,WZ_SIGHTBLASTER,1,tick,0); - if (sce && !(bl->type&BL_SKILL)) //The hit is not counted if it's against a trap + if (sce && !(bl->type&BL_SKILL) //The hit is not counted if it's against a trap + && skill_attack(BF_MAGIC,src,src,bl,WZ_SIGHTBLASTER,1,tick,0)){ sce->val2 = 0; //This signals it to end. + } } break; case SC_CLOSECONFINE: |