diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/map/pc.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 5a43f0af3..b6d15e495 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -2215,7 +2215,7 @@ int pc_bonus2(struct map_session_data *sd,int type,int type2,int val) case SP_SKILL_ATK: if(sd->state.lr_flag == 2) break; - for (i = 0; i < ARRAYLENGTH(sd->skillatk) && sd->skillatk[i].id != 0 && sd->skillatk[i].id != type2; i++); + ARR_FIND(0, ARRAYLENGTH(sd->skillatk), i, sd->skillatk[i].id == 0 && sd->skillatk[i].id == type2); if (i == ARRAYLENGTH(sd->skillatk)) { //Better mention this so the array length can be updated. [Skotlex] ShowDebug("run_script: bonus2 bSkillAtk reached it's limit (%d skills per character), bonus skill %d (+%d%%) lost.\n", ARRAYLENGTH(sd->skillatk), type2, val); @@ -2231,7 +2231,7 @@ int pc_bonus2(struct map_session_data *sd,int type,int type2,int val) case SP_SKILL_HEAL: if(sd->state.lr_flag == 2) break; - for (i = 0; i < ARRAYLENGTH(sd->skillheal) && sd->skillheal[i].id != 0 && sd->skillheal[i].id != type2; i++); + ARR_FIND(0, ARRAYLENGTH(sd->skillheal), i, sd->skillheal[i].id == 0 && sd->skillheal[i].id == type2); if (i == ARRAYLENGTH(sd->skillheal)) { //Better mention this so the array length can be updated. [Skotlex] ShowDebug("run_script: bonus2 bSkillHeal reached it's limit (%d skills per character), bonus skill %d (+%d%%) lost.\n", ARRAYLENGTH(sd->skillheal), type2, val); @@ -2247,7 +2247,7 @@ int pc_bonus2(struct map_session_data *sd,int type,int type2,int val) case SP_ADD_SKILL_BLOW: if(sd->state.lr_flag == 2) break; - for (i = 0; i < ARRAYLENGTH(sd->skillblown) && sd->skillblown[i].id && sd->skillblown[i].id != type2; i++); + ARR_FIND(0, ARRAYLENGTH(sd->skillblown), i, sd->skillblown[i].id == 0 && sd->skillblown[i].id == type2); if (i == ARRAYLENGTH(sd->skillblown)) { //Better mention this so the array length can be updated. [Skotlex] ShowDebug("run_script: bonus2 bSkillBlown reached it's limit (%d skills per character), bonus skill %d (+%d%%) lost.\n", ARRAYLENGTH(sd->skillblown), type2, val); @@ -2264,7 +2264,7 @@ int pc_bonus2(struct map_session_data *sd,int type,int type2,int val) case SP_CASTRATE: if(sd->state.lr_flag == 2) break; - for (i = 0; i < ARRAYLENGTH(sd->skillcast) && sd->skillcast[i].id && sd->skillblown[i].id != type2; i++); + ARR_FIND(0, ARRAYLENGTH(sd->skillcast), i, sd->skillcast[i].id == 0 && sd->skillcast[i].id == type2); if (i == ARRAYLENGTH(sd->skillcast)) { //Better mention this so the array length can be updated. [Skotlex] ShowDebug("run_script: bonus2 bCastRate reached it's limit (%d skills per character), bonus skill %d (+%d%%) lost.\n", ARRAYLENGTH(sd->skillcast), type2, val); |