diff options
author | malufett <malufett.eat.my.binaries@gmail.com> | 2013-06-17 01:59:05 -0700 |
---|---|---|
committer | malufett <malufett.eat.my.binaries@gmail.com> | 2013-06-17 01:59:05 -0700 |
commit | bfa7971e86fd7dc42b5668fb5ba1469e8a62c22f (patch) | |
tree | 1b0f0a7224097463aef3bb35fb368ca1f832ea94 | |
parent | 962d203f95fd8b81d504f60aa28bb17cc268395d (diff) | |
download | hercules-bfa7971e86fd7dc42b5668fb5ba1469e8a62c22f.tar.gz hercules-bfa7971e86fd7dc42b5668fb5ba1469e8a62c22f.tar.bz2 hercules-bfa7971e86fd7dc42b5668fb5ba1469e8a62c22f.tar.xz hercules-bfa7971e86fd7dc42b5668fb5ba1469e8a62c22f.zip |
Fixed Bug#7385
-Fixed TK_DODGE + TK_JUMPKICK, SR_FALLENEMPIRE + SR_GATEOFHELL combo.
-rw-r--r-- | src/map/skill.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 664203f1a..685fec353 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -2395,6 +2395,10 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds //Can't attack nor use items until skill's delay expires. [Skotlex] sd->ud.attackabletime = sd->canuseitem_tick = sd->ud.canact_tick; break; + case TK_DODGE: + if( pc->checkskill(sd, TK_JUMPKICK) > 0 ) + flag = 1; + break; case SR_DRAGONCOMBO: if( pc->checkskill(sd, SR_FALLENEMPIRE) > 0 ) flag = 1; @@ -3761,7 +3765,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint int sflag = skill_area_temp[0] & 0xFFF, heal; if( flag&SD_LEVEL ) sflag |= SD_LEVEL; // -1 will be used in packets instead of the skill level - if( skill_area_temp[1] != bl->id && !(skill->get_inf2(skill_id)&INF2_NPC_SKILL) ) + if( (skill_area_temp[1] != bl->id && !(skill->get_inf2(skill_id)&INF2_NPC_SKILL)) || flag&SD_ANIMATION ) sflag |= SD_ANIMATION; // original target gets no animation (as well as all NPC skills) heal = skill->attack(skill->get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, sflag); @@ -3776,6 +3780,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint case GN_CARTCANNON: clif->skill_nodamage(src,bl,skill_id,skill_lv,1); break; + case SR_TIGERCANNON: + flag |= SD_ANIMATION; case LG_MOONSLASHER: clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6); break; @@ -8550,7 +8556,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case SR_FLASHCOMBO: clif->skill_nodamage(src,bl,skill_id,skill_lv,1); for(i = SR_FLASHCOMBO_ATK_STEP1; i <= SR_FLASHCOMBO_ATK_STEP4; i++) - skill->addtimerskill(src, tick + 600 * (i - SR_FLASHCOMBO_ATK_STEP1), bl->id, 0, 0, i, skill_lv, BF_WEAPON, flag|SD_LEVEL); + skill->addtimerskill(src, tick + 500 * (i - SR_FLASHCOMBO_ATK_STEP1), bl->id, 0, 0, i, skill_lv, BF_WEAPON, flag|SD_LEVEL); break; case WA_SWING_DANCE: case WA_MOONLIT_SERENADE: @@ -13100,12 +13106,14 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id case TK_STORMKICK: case TK_DOWNKICK: case TK_COUNTER: + case TK_JUMPKICK: case HT_POWER: case GC_COUNTERSLASH: case GC_WEAPONCRUSH: case SR_FALLENEMPIRE: case SR_DRAGONCOMBO: case SR_TIGERCANNON: + case SR_GATEOFHELL: break; default: return 0; } |