diff options
-rw-r--r-- | db/re/skill_require_db.txt | 2 | ||||
-rw-r--r-- | src/map/itemdb.h | 3 | ||||
-rw-r--r-- | src/map/skill.c | 10 |
3 files changed, 11 insertions, 4 deletions
diff --git a/db/re/skill_require_db.txt b/db/re/skill_require_db.txt index 11b345e68..1e7cd23d2 100644 --- a/db/re/skill_require_db.txt +++ b/db/re/skill_require_db.txt @@ -616,7 +616,7 @@ //**** // NC Mechanic 2256,0,0,3:6:9:12:15,0,0,0,99,0,0,mado,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_BOOSTKNUCKLE#Boost Knuckle# -2257,0,0,50,0,0,0,99,0,0,mado,0,1549,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_PILEBUNKER#Pile Bunker# +2257,0,0,50,0,0,0,99,0,0,mado,0,1549:16030:16031:16032,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_PILEBUNKER#Pile Bunker# 2258,0,0,2:4:6,0,0,0,99,0,0,mado,0,6145,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_VULCANARM#Vulcan Arm# 2259,0,0,20,0,0,0,99,0,0,mado,0,2139,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_FLAMELAUNCHER#Flame Launcher# 2260,0,0,20,0,0,0,99,0,0,mado,0,6146,1,6147,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_COLDSLOWER#Cold Slower# 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: |