From a29aace9c503faf8abdaee25cb14fe6c512dca44 Mon Sep 17 00:00:00 2001 From: Lilith- Date: Mon, 16 Dec 2013 06:46:21 -0800 Subject: [PATCH] Follow up bd2503e,7355677 and fef6307. Merged Hercules e115c30 --- src/map/atcommand.c | 3 ++- src/map/pc.c | 8 ++++---- src/map/status.c | 6 ++++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 4010d236e6..07c518fc88 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -2103,9 +2103,10 @@ ACMD_FUNC(refine) refine = cap_value(refine, -MAX_REFINE, MAX_REFINE); count = 0; - for (j = 0; j < EQI_MAX-1; j++) { + for (j = 0; j < EQI_MAX; j++) { if ((i = sd->equip_index[j]) < 0) continue; + if(j == EQI_AMMO) continue; if(j == EQI_HAND_R && sd->equip_index[EQI_HAND_L] == i) continue; if(j == EQI_HEAD_MID && sd->equip_index[EQI_HEAD_LOW] == i) diff --git a/src/map/pc.c b/src/map/pc.c index c85469b858..e0688cf9a2 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -1979,8 +1979,8 @@ int pc_delautobonus(struct map_session_data* sd, struct s_autobonus *autobonus,c if( autobonus[i].bonus_script ) { int j; - ARR_FIND( 0, EQI_MAX-1, j, sd->equip_index[j] >= 0 && sd->status.inventory[sd->equip_index[j]].equip == autobonus[i].pos ); - if( j < EQI_MAX-1 ) + ARR_FIND( 0, EQI_MAX, j, sd->equip_index[j] >= 0 && sd->status.inventory[sd->equip_index[j]].equip == autobonus[i].pos ); + if( j < EQI_MAX ) script_run_autobonus(autobonus[i].bonus_script,sd->bl.id,sd->equip_index[j]); } continue; @@ -2010,8 +2010,8 @@ int pc_exeautobonus(struct map_session_data *sd,struct s_autobonus *autobonus) if( autobonus->other_script ) { int j; - ARR_FIND( 0, EQI_MAX-1, j, sd->equip_index[j] >= 0 && sd->status.inventory[sd->equip_index[j]].equip == autobonus->pos ); - if( j < EQI_MAX-1 ) + ARR_FIND( 0, EQI_MAX, j, sd->equip_index[j] >= 0 && sd->status.inventory[sd->equip_index[j]].equip == autobonus->pos ); + if( j < EQI_MAX ) script_run_autobonus(autobonus->other_script,sd->bl.id,sd->equip_index[j]); } diff --git a/src/map/status.c b/src/map/status.c index a1215455e4..809cbdf67c 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -2587,10 +2587,11 @@ int status_calc_pc_(struct map_session_data* sd, bool first) pc_delautobonus(sd,sd->autobonus3,ARRAYLENGTH(sd->autobonus3),true); // Parse equipment - for(i=0;iequip_index[i]; // We pass INDEX to current_equip_item_index - for EQUIP_SCRIPT (new cards solution) [Lupus] if(index < 0) continue; + if(i == EQI_AMMO) continue; if(i == EQI_HAND_R && sd->equip_index[EQI_HAND_L] == index) continue; if(i == EQI_HEAD_MID && sd->equip_index[EQI_HEAD_LOW] == index) @@ -2737,10 +2738,11 @@ int status_calc_pc_(struct map_session_data* sd, bool first) status->def += (refinedef+50)/100; // Parse Cards - for(i=0;iequip_index[i]; // We pass INDEX to current_equip_item_index - for EQUIP_SCRIPT (new cards solution) [Lupus] if(index < 0) continue; + if(i == EQI_AMMO) continue; if(i == EQI_HAND_R && sd->equip_index[EQI_HAND_L] == index) continue; if(i == EQI_HEAD_MID && sd->equip_index[EQI_HEAD_LOW] == index)