diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-09-12 18:44:07 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-09-12 18:44:07 +0000 |
commit | e44eb201eb39b0d9986273c97715060ac668a7d3 (patch) | |
tree | 39ca2386cdfd42337c0af8f06f65a1f819aefd2d | |
parent | 59e595f4fb20c48b44f1e254a3f665d21ebcc945 (diff) | |
download | hercules-e44eb201eb39b0d9986273c97715060ac668a7d3.tar.gz hercules-e44eb201eb39b0d9986273c97715060ac668a7d3.tar.bz2 hercules-e44eb201eb39b0d9986273c97715060ac668a7d3.tar.xz hercules-e44eb201eb39b0d9986273c97715060ac668a7d3.zip |
- Moved the morph restrictions from skill_additional_effect to mob_class_change, so that SA_MONOCELL will not convert clones, emperium, or treasure boxes.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8724 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | Changelog-Trunk.txt | 3 | ||||
-rw-r--r-- | src/map/mob.c | 10 | ||||
-rw-r--r-- | src/map/skill.c | 6 |
3 files changed, 15 insertions, 4 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index dc2fa78bf..c16b0ffa5 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/09/12
+ * Moved the morph restrictions from skill_additional_effect to
+ mob_class_change, so that SA_MONOCELL will not convert clones, emperium, or
+ treasure boxes. [Skotlex]
* Fixed 'range' might be used uninitialized warning [Toms]
* Added Jaguar's sql script to convert all tables to MyISAM. It's located
in sql-files/convert_engine.sql WARNING: Using MyISAM is much faster than
diff --git a/src/map/mob.c b/src/map/mob.c index 67c44574d..ca12ba0eb 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -2275,6 +2275,16 @@ int mob_class_change (struct mob_data *md, int class_) 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) + return 0; //Treasure Boxes + + if (mob_is_clone(md->class_)) + return 0; //Clones + hp_rate = md->status.hp*100/md->status.max_hp; md->db = mob_db(class_); if (battle_config.override_mob_names==1) diff --git a/src/map/skill.c b/src/map/skill.c index 52167dcfc..83954c9a2 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -1438,10 +1438,8 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int //Polymorph if(sd && sd->classchange && attack_type&BF_WEAPON && - dstmd && !(tstatus->mode&MD_BOSS) && !dstmd->guardian_data && - (dstmd->class_ < 1324 || dstmd->class_ > 1363) && //Treasure boxes - !mob_is_clone(dstmd->class_) && - (rand()%10000 < sd->classchange)) + dstmd && !(tstatus->mode&MD_BOSS) && + (rand()%10000 < sd->classchange)) { struct mob_db *mob; int class_; |