|
@@ -2925,10 +2925,8 @@ int pc_steal_item(struct map_session_data *sd,struct block_list *bl)
|
|
|
|
|
|
if(!sd || !bl || bl->type != BL_MOB)
|
|
|
return 0;
|
|
|
-
|
|
|
- md=(struct mob_data *)bl;
|
|
|
-//temp steal disable [Lupus]
|
|
|
- if(1 || md->state.steal_flag>battle_config.skill_steal_max_tries || status_get_mode(bl)&MD_BOSS || md->master_id ||
|
|
|
+
|
|
|
+ if(md->state.steal_flag>battle_config.skill_steal_max_tries || status_get_mode(bl)&MD_BOSS || md->master_id ||
|
|
|
(md->class_>=1324 && md->class_<1364) || // prevent stealing from treasure boxes [Valaris]
|
|
|
map[md->bl.m].flag.nomobloot || // check noloot map flag [Lorky]
|
|
|
md->sc.data[SC_STONE].timer != -1 || md->sc.data[SC_FREEZE].timer != -1 //status change check
|
|
@@ -2950,12 +2948,12 @@ int pc_steal_item(struct map_session_data *sd,struct block_list *bl)
|
|
|
itemid = md->db->dropitem[i].nameid;
|
|
|
if(itemid <= 0 || (itemid>4000 && itemid<5000 && pc_checkskill(sd,TF_STEAL) <= 5))
|
|
|
continue;
|
|
|
- if(rand() % 10000 > ((md->db->dropitem[i].p * skill) / 100 + sd->add_steal_rate))
|
|
|
+ if(rand() % 10000 <= ((md->db->dropitem[i].p * skill) / 100 + sd->add_steal_rate))
|
|
|
break;
|
|
|
}
|
|
|
if (i == MAX_MOB_DROP)
|
|
|
return 0;
|
|
|
-
|
|
|
+
|
|
|
md->state.steal_flag = 255; //you can't steal from this mob any more
|
|
|
|
|
|
memset(&tmp_item,0,sizeof(tmp_item));
|