diff options
author | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-10-10 10:06:05 +0000 |
---|---|---|
committer | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-10-10 10:06:05 +0000 |
commit | e551e39b0911880c0f89f1c37666792bde7c49b3 (patch) | |
tree | d5fb588d55bb72643c15357366b09f9e270fa65d /src | |
parent | b17ad90eaf719b1165a681a5b4c4760b8d292f42 (diff) | |
download | hercules-e551e39b0911880c0f89f1c37666792bde7c49b3.tar.gz hercules-e551e39b0911880c0f89f1c37666792bde7c49b3.tar.bz2 hercules-e551e39b0911880c0f89f1c37666792bde7c49b3.tar.xz hercules-e551e39b0911880c0f89f1c37666792bde7c49b3.zip |
Slightly corrected the NPC_REBIRTH code from r13272.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13274 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r-- | src/map/mob.c | 2 | ||||
-rw-r--r-- | src/map/skill.c | 3 | ||||
-rw-r--r-- | src/map/status.c | 6 |
3 files changed, 5 insertions, 6 deletions
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; } |