From 4cda59dd53012e13193bc8875b231ddaf4df61ba Mon Sep 17 00:00:00 2001 From: Lupus Date: Sun, 30 Apr 2006 14:11:27 +0000 Subject: fixed STEAL. 8) and tested at lhz_dun03 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6399 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/pc.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src/map') diff --git a/src/map/pc.c b/src/map/pc.c index a4db9bcfa..075ca173a 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -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)); -- cgit v1.2.3-70-g09d2