diff options
author | zephyrus <zephyrus@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-08-31 11:00:32 +0000 |
---|---|---|
committer | zephyrus <zephyrus@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-08-31 11:00:32 +0000 |
commit | f1f46c5b4ba04d590ff2ffbf28d84c3888ff3399 (patch) | |
tree | cf810be091ac06dbbc9dc2320d051051fec5a7f0 | |
parent | b880ddcc752e3ceb0d79b80c24304ceef7339732 (diff) | |
download | hercules-f1f46c5b4ba04d590ff2ffbf28d84c3888ff3399.tar.gz hercules-f1f46c5b4ba04d590ff2ffbf28d84c3888ff3399.tar.bz2 hercules-f1f46c5b4ba04d590ff2ffbf28d84c3888ff3399.tar.xz hercules-f1f46c5b4ba04d590ff2ffbf28d84c3888ff3399.zip |
- Limitations to WoE SE Treasures (no steal, drop rates, no class change).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13156 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | src/map/mob.c | 12 | ||||
-rw-r--r-- | src/map/pc.c | 9 |
2 files changed, 11 insertions, 10 deletions
diff --git a/src/map/mob.c b/src/map/mob.c index 755063da8..141fc697b 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -2449,23 +2449,23 @@ int mob_class_change (struct mob_data *md, int class_) nullpo_retr(0, md); - if (md->bl.prev == NULL) + if( md->bl.prev == NULL ) return 0; //Disable class changing for some targets... if (md->guardian_data) return 0; //Guardians/Emperium - if (md->class_ >= 1324 && md->class_ <= 1363) + if( (md->class_ >= 1324 && md->class_ <= 1363) || (md->class_ >= 1938 && md->class_ <= 1946) ) return 0; //Treasure Boxes - if (md->special_state.ai > 1) + if( md->special_state.ai > 1 ) return 0; //Marine Spheres and Floras. - if (mob_is_clone(md->class_)) + if( mob_is_clone(md->class_) ) return 0; //Clones - if (md->class_ == class_) + if( md->class_ == class_ ) return 0; //Nothing to change. hp_rate = get_percentage(md->status.hp, md->status.max_hp); @@ -3445,7 +3445,7 @@ static bool mob_parse_dbrow(char** str) } type = itemdb_type(db->dropitem[i].nameid); rate = atoi(str[k+1]); - if (class_ >= 1324 && class_ <= 1363) + if( (class_ >= 1324 && class_ <= 1363) || (class_ >= 1938 && class_ <= 1946) ) { //Treasure box drop rates [Skotlex] rate_adjust = battle_config.item_rate_treasure; ratemin = battle_config.item_drop_treasure_min; diff --git a/src/map/pc.c b/src/map/pc.c index fe49e1473..0c8af18d3 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -3388,8 +3388,9 @@ int pc_steal_item(struct map_session_data *sd,struct block_list *bl, int lv) sd_status= status_get_status_data(&sd->bl); md_status= status_get_status_data(bl); - if(md->master_id || md_status->mode&MD_BOSS || - (md->class_>=1324 && md->class_<1364) || // prevent stealing from treasure boxes [Valaris] + if( md->master_id || md_status->mode&MD_BOSS || + (md->class_ >= 1324 && md->class_ < 1364) || // Treasure Boxes WoE + (md->class_ >= 1938 && md->class_ < 1946) || // Treasure Boxes WoE SE map[bl->m].flag.nomobloot || // check noloot map flag [Lorky] (battle_config.skill_steal_max_tries && //Reached limit of steal attempts. [Lupus] md->state.steal_flag++ >= battle_config.skill_steal_max_tries) @@ -3460,10 +3461,10 @@ int pc_steal_coin(struct map_session_data *sd,struct block_list *target) return 0; md = (TBL_MOB*)target; - if(md->state.steal_coin_flag || md->sc.data[SC_STONE] || md->sc.data[SC_FREEZE]) + if( md->state.steal_coin_flag || md->sc.data[SC_STONE] || md->sc.data[SC_FREEZE] ) return 0; - if (md->class_>=1324 && md->class_<1364) + if( (md->class_ >= 1324 && md->class_ < 1364) || (md->class_ >= 1938 && md->class_ < 1946) ) return 0; skill = pc_checkskill(sd,RG_STEALCOIN)*10; |