summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--db/skill_cast_db.txt2
-rw-r--r--src/map/mob.c2
-rw-r--r--src/map/skill.c3
-rw-r--r--src/map/status.c6
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;
}