Resolved enchants not executing unequip script (#2676)
* Fixes #2668. * Fixes enchant items not properly calling the unequip item script. Thanks to @admkakaroto and @mrjnumber1!
This commit is contained in:
parent
377ca7585c
commit
b3e67d2172
@ -9856,7 +9856,7 @@ bool pc_equipitem(struct map_session_data *sd,short n,int req_pos)
|
||||
if(itemdb_isspecial(sd->inventory.u.items_inventory[n].card[0]))
|
||||
; //No cards
|
||||
else {
|
||||
for( i = 0; i < id->slot; i++ ) {
|
||||
for( i = 0; i < MAX_SLOTS; i++ ) {
|
||||
struct item_data *data;
|
||||
if (!sd->inventory.u.items_inventory[n].card[i])
|
||||
continue;
|
||||
@ -9879,7 +9879,7 @@ bool pc_equipitem(struct map_session_data *sd,short n,int req_pos)
|
||||
if(itemdb_isspecial(sd->inventory.u.items_inventory[n].card[0]))
|
||||
; //No cards
|
||||
else {
|
||||
for( i = 0; i < id->slot; i++ ) {
|
||||
for( i = 0; i < MAX_SLOTS; i++ ) {
|
||||
struct item_data *data;
|
||||
if (!sd->inventory.u.items_inventory[n].card[i])
|
||||
continue;
|
||||
@ -9905,7 +9905,7 @@ bool pc_equipitem(struct map_session_data *sd,short n,int req_pos)
|
||||
*------------------------------------------*/
|
||||
bool pc_unequipitem(struct map_session_data *sd, int n, int flag) {
|
||||
int i, iflag;
|
||||
bool status_cacl = false;
|
||||
bool status_calc = false;
|
||||
|
||||
nullpo_retr(false,sd);
|
||||
|
||||
@ -9993,11 +9993,12 @@ bool pc_unequipitem(struct map_session_data *sd, int n, int flag) {
|
||||
if ( sd->inventory_data[n] ) {
|
||||
if( sd->inventory_data[n]->combos_count ) {
|
||||
if( pc_removecombo(sd,sd->inventory_data[n]) )
|
||||
status_cacl = true;
|
||||
} if(itemdb_isspecial(sd->inventory.u.items_inventory[n].card[0]))
|
||||
status_calc = true;
|
||||
}
|
||||
if(itemdb_isspecial(sd->inventory.u.items_inventory[n].card[0]))
|
||||
; //No cards
|
||||
else {
|
||||
for( i = 0; i < sd->inventory_data[n]->slot; i++ ) {
|
||||
for( i = 0; i < MAX_SLOTS; i++ ) {
|
||||
struct item_data *data;
|
||||
|
||||
if (!sd->inventory.u.items_inventory[n].card[i])
|
||||
@ -10005,14 +10006,14 @@ bool pc_unequipitem(struct map_session_data *sd, int n, int flag) {
|
||||
if ( ( data = itemdb_exists(sd->inventory.u.items_inventory[n].card[i]) ) != NULL ) {
|
||||
if( data->combos_count ) {
|
||||
if( pc_removecombo(sd,data) )
|
||||
status_cacl = true;
|
||||
status_calc = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(flag&1 || status_cacl) {
|
||||
if(flag&1 || status_calc) {
|
||||
pc_checkallowskill(sd);
|
||||
status_calc_pc(sd,SCO_NONE);
|
||||
}
|
||||
@ -10027,7 +10028,7 @@ bool pc_unequipitem(struct map_session_data *sd, int n, int flag) {
|
||||
if(itemdb_isspecial(sd->inventory.u.items_inventory[n].card[0]))
|
||||
; //No cards
|
||||
else {
|
||||
for( i = 0; i < sd->inventory_data[n]->slot; i++ ) {
|
||||
for( i = 0; i < MAX_SLOTS; i++ ) {
|
||||
struct item_data *data;
|
||||
if (!sd->inventory.u.items_inventory[n].card[i])
|
||||
continue;
|
||||
|
Loading…
x
Reference in New Issue
Block a user