summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/itemdb.h3
-rw-r--r--src/map/skill.c10
2 files changed, 10 insertions, 3 deletions
diff --git a/src/map/itemdb.h b/src/map/itemdb.h
index 66bd27c0d..b595fabf6 100644
--- a/src/map/itemdb.h
+++ b/src/map/itemdb.h
@@ -154,6 +154,9 @@ enum item_itemid {
ITEMID_WOB_LOCAL = 14585,
ITEMID_SIEGE_TELEPORT_SCROLL = 14591,
ITEMID_JOB_MANUAL50 = 14592,
+ ITEMID_PILEBUNCKER_S = 16030,
+ ITEMID_PILEBUNCKER_P = 16031,
+ ITEMID_PILEBUNCKER_T = 16032,
};
enum cards_item_list {
diff --git a/src/map/skill.c b/src/map/skill.c
index 8414ac638..f9a2d0e34 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -13764,9 +13764,13 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
}
break;
case NC_PILEBUNKER:
- if ( sd->equip_index[EQI_HAND_R] < 0 || sd->status.inventory[sd->equip_index[EQI_HAND_R]].nameid != ITEMID_PILEBUNCKER ) {
- clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
- return 0;
+ if ((sd->equip_index[EQI_HAND_R] >= 0 && sd->status.inventory[sd->equip_index[EQI_HAND_R]].nameid == ITEMID_PILEBUNCKER) ||
+ (sd->equip_index[EQI_HAND_R] >= 0 && sd->status.inventory[sd->equip_index[EQI_HAND_R]].nameid == ITEMID_PILEBUNCKER_S) ||
+ (sd->equip_index[EQI_HAND_R] >= 0 && sd->status.inventory[sd->equip_index[EQI_HAND_R]].nameid == ITEMID_PILEBUNCKER_P) ||
+ (sd->equip_index[EQI_HAND_R] >= 0 && sd->status.inventory[sd->equip_index[EQI_HAND_R]].nameid == ITEMID_PILEBUNCKER_T));
+ else {
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_THIS_WEAPON, 0);
+ return 0;
}
break;
case NC_HOVERING: