diff options
Diffstat (limited to 'src/map/pc.c')
-rw-r--r-- | src/map/pc.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 489ff18d9..2a9299658 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -555,12 +555,17 @@ int pc_isequip(struct map_session_data *sd,int n) return 0; if(item->sex != 2 && sd->status.sex != item->sex) return 0; - if(map[sd->bl.m].flag.pvp && item->flag.no_equip&1) + if(map[sd->bl.m].flag.pvp && ((item->flag.no_equip&1) || !pc_isAllowedCardOn(sd,item->slot,n,1))) return 0; - if(map_flag_gvg(sd->bl.m) && item->flag.no_equip&2) + if(map_flag_gvg(sd->bl.m) && ((item->flag.no_equip&2) || !pc_isAllowedCardOn(sd,item->slot,n,2))) return 0; - if(map[sd->bl.m].flag.restricted && item->flag.no_equip&map[sd->bl.m].zone) - return 0; + if(map[sd->bl.m].flag.restricted) + { + int flag =map[sd->bl.m].zone; + if (item->flag.no_equip&flag || !pc_isAllowedCardOn(sd,item->slot,n,flag)) + return 0; + } + if (sd->sc.count) { if(item->equip & EQP_ARMS && item->type == IT_WEAPON && sd->sc.data[SC_STRIPWEAPON]) // Also works with left-hand weapons [DracoRPG] |