Forráskód Böngészése

- NPC_TRANSFORMATION/NPC_METAMORPHOSIS will now preserve the original mob without removing it when the skill level is greater than one.
- Added SC_DANCING declaration in the Status Change tables to signal it modifies Walk speed.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6918 54d463be-8e91-2dee-dedb-b68131a5f0ec

skotlex 19 éve
szülő
commit
da2ca423f9
3 módosított fájl, 9 hozzáadás és 10 törlés
  1. 4 0
      Changelog-Trunk.txt
  2. 4 10
      src/map/skill.c
  3. 1 0
      src/map/status.c

+ 4 - 0
Changelog-Trunk.txt

@@ -4,6 +4,10 @@ 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/06/01
+	* NPC_TRANSFORMATION/NPC_METAMORPHOSIS will now preserve the original mob
+	  without removing it when the skill level is greater than one. [Skotlex]
+	* Added SC_DANCING declaration in the Status Change tables to signal it
+	  modifies Walk speed. [Skotlex]
 	* Fixed pc_damage setting your canlog_tick even if the damage has no source
 	  (eg: poison, berserk) [Skotlex]
 	* Berserk's aspd bonus now stacks with other aspd bonuses, but is still

+ 4 - 10
src/map/skill.c

@@ -4875,16 +4875,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
 	case NPC_TRANSFORMATION:
 	case NPC_METAMORPHOSIS:
 		if(md && md->skillidx >= 0) {
-			if (skilllv > 1)
-			{	//Multiply skilllv times, the original instance must be silently killed. [Skotlex] 
-				mob_summonslave(md,md->db->skill[md->skillidx].val,skilllv,skillid);
-				unit_remove_map(src,1);
-			}
-			else
-			{	//Transform into another class.
-				int class_ = mob_random_class (md->db->skill[md->skillidx].val,0);
-				if (class_) mob_class_change(md, class_);
-			}
+			int class_ = mob_random_class (md->db->skill[md->skillidx].val,0);
+			if (skilllv > 1) //Multiply the rest of mobs. [Skotlex]
+				mob_summonslave(md,md->db->skill[md->skillidx].val,skilllv-1,skillid);
+			if (class_) mob_class_change(md, class_);
 		}
 		break;
 

+ 1 - 0
src/map/status.c

@@ -235,6 +235,7 @@ void initChangeTables(void) {
 	add_sc(SA_LANDPROTECTOR, SC_LANDPROTECTOR);
 	add_sc(SA_REVERSEORCISH, SC_ORCISH);
 	add_sc(SA_COMA, SC_COMA);
+	set_sc(BD_ENCORE, SC_DANCING, SI_BLANK, SCB_SPEED);
 	add_sc(BD_RICHMANKIM, SC_RICHMANKIM);
 	set_sc(BD_ETERNALCHAOS, SC_ETERNALCHAOS, SI_BLANK, SCB_DEF2);
 	set_sc(BD_DRUMBATTLEFIELD, SC_DRUMBATTLE, SI_BLANK, SCB_WATK|SCB_DEF);