summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorMichieru <Michieru@users.noreply.github.com>2014-10-04 12:30:03 +0200
committerMichieru <Michieru@users.noreply.github.com>2014-10-04 12:30:03 +0200
commitf51106c9312e9f1b434fc4460416d80db56ac547 (patch)
tree9c0bd3647c287e89d1371d60ededc6e1c79431da /src/map
parentfc011576a21251bd1e78c5f5e1104673f8712020 (diff)
downloadhercules-f51106c9312e9f1b434fc4460416d80db56ac547.tar.gz
hercules-f51106c9312e9f1b434fc4460416d80db56ac547.tar.bz2
hercules-f51106c9312e9f1b434fc4460416d80db56ac547.tar.xz
hercules-f51106c9312e9f1b434fc4460416d80db56ac547.zip
Fix skill Weapon Crush (bug:6985)
Diffstat (limited to 'src/map')
-rw-r--r--src/map/skill.c4
-rw-r--r--src/map/unit.c11
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;