diff options
author | Michieru <Michieru@users.noreply.github.com> | 2014-10-04 12:30:03 +0200 |
---|---|---|
committer | Michieru <Michieru@users.noreply.github.com> | 2014-10-04 12:30:03 +0200 |
commit | f51106c9312e9f1b434fc4460416d80db56ac547 (patch) | |
tree | 9c0bd3647c287e89d1371d60ededc6e1c79431da /src | |
parent | fc011576a21251bd1e78c5f5e1104673f8712020 (diff) | |
download | hercules-f51106c9312e9f1b434fc4460416d80db56ac547.tar.gz hercules-f51106c9312e9f1b434fc4460416d80db56ac547.tar.bz2 hercules-f51106c9312e9f1b434fc4460416d80db56ac547.tar.xz hercules-f51106c9312e9f1b434fc4460416d80db56ac547.zip |
Fix skill Weapon Crush (bug:6985)
Diffstat (limited to 'src')
-rw-r--r-- | src/map/skill.c | 4 | ||||
-rw-r--r-- | src/map/unit.c | 11 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 748ca8bce..ff4e2f791 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -6617,9 +6617,9 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin if( skill_id == GC_WEAPONCRUSH){ d = skill->get_time(skill_id,skill_lv); if(bl->type == BL_PC) - d += skill_lv * 15 + (sstatus->dex - tstatus->dex); + d += 1000 * ( skill_lv * 15 + ( sstatus->dex - tstatus->dex ) ); else - d += skill_lv * 30 + (sstatus->dex - tstatus->dex) / 2; + d += 1000 * ( skill_lv * 30 + ( sstatus->dex - tstatus->dex ) / 2 ); }else d = skill->get_time(skill_id,skill_lv) + (sstatus->dex - tstatus->dex)*500; diff --git a/src/map/unit.c b/src/map/unit.c index 36eed87fe..13465e166 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1103,6 +1103,17 @@ int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill_id, ui return 0; } break; + case GC_WEAPONCRUSH: + if( sc && sc->data[SC_COMBOATTACK] && sc->data[SC_COMBOATTACK]->val1 == GC_WEAPONBLOCKING ) { + if( (target=map->id2bl(sc->data[SC_COMBOATTACK]->val2)) == NULL ) { + clif->skill_fail(sd,skill_id,USESKILL_FAIL_GC_WEAPONBLOCKING,0); + return 0; + } + } else { + clif->skill_fail(sd,skill_id,USESKILL_FAIL_GC_WEAPONBLOCKING,0); + return 0; + } + break; } if (target) target_id = target->id; |