Explorar o código

Slightly corrected the NPC_REBIRTH code from r13272.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13274 54d463be-8e91-2dee-dedb-b68131a5f0ec
ultramage %!s(int64=16) %!d(string=hai) anos
pai
achega
494f00e4fb
Modificáronse 5 ficheiros con 6 adicións e 9 borrados
  1. 1 1
      Changelog-Trunk.txt
  2. 0 2
      db/skill_cast_db.txt
  3. 1 1
      src/map/mob.c
  4. 1 2
      src/map/skill.c
  5. 3 3
      src/map/status.c

+ 1 - 1
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

+ 0 - 2
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
 //==========================================
 
 

+ 1 - 1
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 )

+ 1 - 2
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:

+ 3 - 3
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;
 	}