diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/itemdb.h | 3 | ||||
-rw-r--r-- | src/map/skill.c | 10 |
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: |