diff options
Diffstat (limited to 'src/map/pc.c')
-rw-r--r-- | src/map/pc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 30bde19df..2de4c28de 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -1608,7 +1608,8 @@ static int pc_bonus_item_drop(struct s_add_drop *drop, const short max, short id for(i = 0; i < max && (drop[i].id || drop[i].group); i++) { if( ((id && drop[i].id == id) || - (group && drop[i].group == group)) && race < (RC_MAX<<1) + (group && drop[i].group == group)) + && race > 0 ) { drop[i].race |= race; if(drop[i].rate > 0 && rate > 0) @@ -2855,7 +2856,7 @@ int pc_bonus3(struct map_session_data *sd,int type,int type2,int type3,int val) break; case SP_ADD_CLASS_DROP_ITEM: if(sd->state.lr_flag != 2) - pc_bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, 0, type3, val); + pc_bonus_item_drop(sd->add_drop, ARRAYLENGTH(sd->add_drop), type2, 0, -type3, val); break; case SP_AUTOSPELL: if(sd->state.lr_flag != 2) |