summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--src/map/mob.c4
-rw-r--r--src/map/status.c2
3 files changed, 6 insertions, 3 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index d1f58a270..909e2be21 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/06/06
+ * The monsters can level up setting will not take effect when the mob's
+ level is LESS than their db counter-part (should prevent under-leveling
+ causing underflows and semi-immortal mobs) [Skotlex]
* Fixed mvp-exp calculations being messed up with more than one attacker.
[Skotlex]
* Changed the mob exp race bonus so that each player gets their own bonus,
diff --git a/src/map/mob.c b/src/map/mob.c
index 85e50fdf0..1fc5fdd2c 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -2240,7 +2240,6 @@ int mob_class_change (struct mob_data *md, int class_)
hp_rate = md->status.hp*100/md->status.max_hp;
md->db = mob_db(class_);
- md->level = md->db->lv; //Also reset their level.
if (battle_config.override_mob_names==1)
memcpy(md->name,md->db->name,NAME_LENGTH-1);
@@ -2377,7 +2376,8 @@ int mob_summonslave(struct mob_data *md2,int *value,int amount,int skill_id)
amount+=k; //Increase final value by same amount to preserve total number to summon.
}
- if (!battle_config.monster_class_change_full_recover && (skill_id == NPC_TRANSFORMATION || skill_id == NPC_METAMORPHOSIS))
+ if (!battle_config.monster_class_change_full_recover &&
+ (skill_id == NPC_TRANSFORMATION || skill_id == NPC_METAMORPHOSIS))
hp_rate = 100*md2->status.hp/md2->status.max_hp;
for(;k<amount;k++) {
diff --git a/src/map/status.c b/src/map/status.c
index cdf0d5b9a..7975f0a58 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -1036,7 +1036,7 @@ int status_calc_mob(struct mob_data* md, int first)
}
//Check if we need custom base-status
- if (battle_config.mobs_level_up && md->level != md->db->lv)
+ if (battle_config.mobs_level_up && md->level > md->db->lv)
flag|=1;
if (md->special_state.size)