- Likely fixed a mob not returning to their original class view on respawn after they changed class.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5952 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
@@ -4,6 +4,8 @@ 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/04/07
|
||||
* Likely fixed a mob not returning to their original class view on respawn
|
||||
after they changed class in their previous life. [Skotlex]
|
||||
* The map-server can now read the equip_job column of the item_db as both
|
||||
decimal and hexadecimal values. [Skotlex]
|
||||
* Updated item_db.sql current item_db.txt [Skotlex]
|
||||
|
||||
@@ -652,8 +652,8 @@ int mob_spawn (struct mob_data *md)
|
||||
md->last_spawntime = tick;
|
||||
if (md->bl.prev != NULL)
|
||||
unit_remove_map(&md->bl,2);
|
||||
else if (md->spawn && md->class_ != md->spawn->class_) {
|
||||
md->class_ = md->spawn->class_;
|
||||
else if (md->vd->class_ != md->class_) {
|
||||
status_set_viewdata(&md->bl, md->class_);
|
||||
md->db = mob_db(md->class_);
|
||||
md->speed=md->db->speed;
|
||||
if (md->spawn)
|
||||
@@ -2364,8 +2364,6 @@ int mob_class_change (struct mob_data *md, int class_)
|
||||
return 0;
|
||||
|
||||
hp_rate = md->hp*100/status_get_max_hp(&md->bl);
|
||||
clif_mob_class_change(md,class_);
|
||||
md->class_ = class_;
|
||||
md->db = mob_db(class_);
|
||||
md->max_hp = md->db->max_hp; //Update the mob's max HP
|
||||
if (battle_config.monster_class_change_full_recover) {
|
||||
@@ -2385,6 +2383,7 @@ int mob_class_change (struct mob_data *md, int class_)
|
||||
mob_stop_walking(md, 0);
|
||||
unit_skillcastcancel(&md->bl, 0);
|
||||
status_set_viewdata(&md->bl, class_);
|
||||
clif_mob_class_change(md,class_);
|
||||
|
||||
for(i=0,c=tick-1000*3600*10;i<MAX_MOBSKILL;i++)
|
||||
md->skilldelay[i] = c;
|
||||
|
||||
@@ -2329,8 +2329,8 @@ int status_quick_recalc_speed(struct map_session_data *sd, int skill_num, int sk
|
||||
int status_get_class(struct block_list *bl)
|
||||
{
|
||||
nullpo_retr(0, bl);
|
||||
if(bl->type==BL_MOB)
|
||||
return ((struct mob_data *)bl)->class_;
|
||||
if(bl->type==BL_MOB) //Class used on all code should be the view class of the mob.
|
||||
return ((struct mob_data *)bl)->vd->class_;
|
||||
if(bl->type==BL_PC)
|
||||
return ((struct map_session_data *)bl)->status.class_;
|
||||
if(bl->type==BL_PET)
|
||||
|
||||
Reference in New Issue
Block a user