summaryrefslogtreecommitdiff
path: root/src/map/pc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/pc.c')
-rw-r--r--src/map/pc.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/map/pc.c b/src/map/pc.c
index 1939b750f..d9cbc7b7b 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -10263,8 +10263,12 @@ static int pc_equipitem(struct map_session_data *sd, int n, int req_pos)
clif->skillinfoblock(sd);
//OnEquip script [Skotlex]
- if (id->equip_script)
- script->run_item_equip_script(sd, id, npc->fake_nd->bl.id);
+ if (id->equip_script != NULL) {
+ ARR_FIND(0, map->list[sd->bl.m].zone->disabled_items_count, i, map->list[sd->bl.m].zone->disabled_items[i] == id->nameid);
+
+ if (i == map->list[sd->bl.m].zone->disabled_items_count)
+ script->run_item_equip_script(sd, id, npc->fake_nd->bl.id);
+ }
if(itemdb_isspecial(sd->status.inventory[n].card[0]))
; //No cards
@@ -10274,8 +10278,14 @@ static int pc_equipitem(struct map_session_data *sd, int n, int req_pos)
if (!sd->status.inventory[n].card[i])
continue;
if ( ( data = itemdb->exists(sd->status.inventory[n].card[i]) ) != NULL ) {
- if (data->equip_script)
- script->run_item_equip_script(sd, data, npc->fake_nd->bl.id);
+ if (data->equip_script != NULL) {
+ int j;
+
+ ARR_FIND(0, map->list[sd->bl.m].zone->disabled_items_count, j, map->list[sd->bl.m].zone->disabled_items[j] == sd->status.inventory[n].card[i]);
+
+ if (j == map->list[sd->bl.m].zone->disabled_items_count)
+ script->run_item_equip_script(sd, data, npc->fake_nd->bl.id);
+ }
}
}
}