diff options
-rw-r--r-- | Changelog-Trunk.txt | 2 | ||||
-rw-r--r-- | db/skill_cast_db.txt | 2 | ||||
-rw-r--r-- | src/map/mob.c | 2 | ||||
-rw-r--r-- | src/map/skill.c | 3 | ||||
-rw-r--r-- | src/map/status.c | 6 |
5 files changed, 6 insertions, 9 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 8319a1ab4..1c2c3be04 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -218,7 +218,7 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. * Moved the mob killmonster flag to a more appropriate area. (bugreport:1795) [SketchyPhoenix] 2008/07/04 * Fixed AM_PHARMACY produce chances based on info gathered by flaviojs, aegis zone ep 11.2, of 20070629 [Brain/FlavioJS] - * Rev. 12911 Homunculus will no longer auto-vaporize on master death. [L0ne_W0lf] + * Rev. 12912 Homunculus will no longer auto-vaporize on master death. [L0ne_W0lf] - Added config option to allow for this to be turned on or off. * Added missing 'E' logs to mail system [Lupus] 2008/07/03 diff --git a/db/skill_cast_db.txt b/db/skill_cast_db.txt index 0273cdcad..9a246ae9c 100644 --- a/db/skill_cast_db.txt +++ b/db/skill_cast_db.txt @@ -336,8 +336,6 @@ 206,0,0,0,0,3000 //-- NPC_HALLUCINATION 207,0,0,0,30000:40000:50000:60000:70000:80000:90000:100000:110000:120000,0 -//-- NPC_REBIRTH -208,4500:4000:3500:3000:2500:2000:1500,0,0,1800000,2000 //========================================== diff --git a/src/map/mob.c b/src/map/mob.c index 0c6ada573..22777a70a 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -2313,7 +2313,7 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type) //Emperium destroyed by script. Discard mvp character. [Skotlex] mvp_sd = NULL; - if( !md->sc.data[SC_REBIRTH] ) + if( !md->sc.data[SC_KAIZEL] && !md->sc.data[SC_REBIRTH] ) { // Only trigger event on final kill md->status.hp = 0; //So that npc_event invoked functions KNOW that mob is dead if( src ) diff --git a/src/map/skill.c b/src/map/skill.c index 9dcdae732..25988faee 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -4610,8 +4610,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in break; case NPC_REBIRTH: - //Rebirth system now uses SC_REBIRTH instead of SC_KAIZEL. [L0ne_W0lf] - sc_start(bl,type,100,skilllv,skill_get_time(NPC_REBIRTH,skilllv)); + sc_start(bl,type,100,skilllv,-1); break; case NPC_DARKBLESSING: diff --git a/src/map/status.c b/src/map/status.c index 1134c83da..9cdd35ac7 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -793,12 +793,12 @@ int status_damage(struct block_list *src,struct block_list *target,int hp, int s return hp+sp; } - if( !((TBL_MOB*)target)->state.rebirth && sc && sc->data[SC_REBIRTH] && target->type == BL_MOB ) - { // Ensure the monster has not already rebirthed before doing so. - int time = skill_get_time2(NPC_REBIRTH,sc->data[SC_REBIRTH]->val1); + if( target->type == BL_MOB && sc && sc->data[SC_REBIRTH] && !((TBL_MOB*)target)->state.rebirth ) + {// Ensure the monster has not already rebirthed before doing so. status_revive(target, sc->data[SC_REBIRTH]->val2, 0); status_change_clear(target,0); ((TBL_MOB*)target)->state.rebirth = 1; + return hp+sp; } |