|
@@ -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++) {
|
|
for(i = 0; i < max && (drop[i].id || drop[i].group); i++) {
|
|
if(
|
|
if(
|
|
((id && drop[i].id == id) ||
|
|
((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;
|
|
drop[i].race |= race;
|
|
if(drop[i].rate > 0 && rate > 0)
|
|
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;
|
|
break;
|
|
case SP_ADD_CLASS_DROP_ITEM:
|
|
case SP_ADD_CLASS_DROP_ITEM:
|
|
if(sd->state.lr_flag != 2)
|
|
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;
|
|
break;
|
|
case SP_AUTOSPELL:
|
|
case SP_AUTOSPELL:
|
|
if(sd->state.lr_flag != 2)
|
|
if(sd->state.lr_flag != 2)
|