Sfoglia il codice sorgente

Relocated restricted equip failure check (#2735)

* Fixes #2534.
* Moved the restricted equipment failure check before the Super Novice Soul Link check.
Thanks to @admkakaroto!
Aleos 7 anni fa
parent
commit
5e2dd2afee
1 ha cambiato i file con 7 aggiunte e 7 eliminazioni
  1. 7 7
      src/map/pc.cpp

+ 7 - 7
src/map/pc.cpp

@@ -1098,6 +1098,10 @@ uint8 pc_isequip(struct map_session_data *sd,int n)
 	if(item->sex != 2 && sd->status.sex != item->sex)
 		return ITEM_EQUIP_ACK_FAIL;
 
+	//fail to equip if item is restricted
+	if (!battle_config.allow_equip_restricted_item && itemdb_isNoEquip(item, sd->bl.m))
+		return ITEM_EQUIP_ACK_FAIL;
+
 	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]
 			return ITEM_EQUIP_ACK_FAIL;
@@ -1130,15 +1134,11 @@ uint8 pc_isequip(struct map_session_data *sd,int n)
 		}
 	}
 
-	//fail to equip if item is restricted
-	if (!battle_config.allow_equip_restricted_item && itemdb_isNoEquip(item, sd->bl.m))
-		return ITEM_EQUIP_ACK_FAIL;
-
 	//Not equipable by class. [Skotlex]
-	if (!(1ULL<<(sd->class_&MAPID_BASEMASK)&item->class_base[(sd->class_&JOBL_2_1)?1:((sd->class_&JOBL_2_2)?2:0)]))
+	if (!(1ULL << (sd->class_&MAPID_BASEMASK)&item->class_base[(sd->class_&JOBL_2_1) ? 1 : ((sd->class_&JOBL_2_2) ? 2 : 0)]))
 		return ITEM_EQUIP_ACK_FAIL;
-	
-	if (!pc_isItemClass(sd,item))
+
+	if (!pc_isItemClass(sd, item))
 		return ITEM_EQUIP_ACK_FAIL;
 
 	return ITEM_EQUIP_ACK_OK;