summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/re/skill_require_db.txt2
-rw-r--r--src/map/itemdb.h3
-rw-r--r--src/map/skill.c10
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: