Преглед изворни кода

- NPC_POWERUP and NPC_AGIUP now cause a increase in hit/flee (respectively) of 40% per level.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6558 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex пре 19 година
родитељ
комит
0b816774d5
4 измењених фајлова са 7 додато и 8 уклоњено
  1. 2 0
      Changelog-Trunk.txt
  2. 1 1
      src/map/mob.c
  3. 2 7
      src/map/skill.c
  4. 2 0
      src/map/status.c

+ 2 - 0
Changelog-Trunk.txt

@@ -4,6 +4,8 @@ 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/05/11
+	* NPC_POWERUP and NPC_AGIUP now cause a increase in hit/flee (respectively)
+	  of 40% per level. [Skotlex]
 	* Changed a bit the MAX_ZENY checks in trade.c to prevent overflows.
 	  [Skotlex]
 	* Rewrote npc_selllist for a more proper-clean implementation. [Skotlex]

+ 1 - 1
src/map/mob.c

@@ -289,7 +289,7 @@ int mob_once_spawn (struct map_session_data *sd, char *mapname,
 	
 	if (x <= 0 || y <= 0) {
 		if (sd)
-			map_search_freecell(&sd->bl, 0, &x, &y, 1, 1, 0);
+			map_search_freecell(&sd->bl, m, &x, &y, 1, 1, 0);
 		else
 		if (!map_search_freecell(NULL, m, &x, &y, -1, -1, 1))
 			return 0;	//Not solved?

+ 2 - 7
src/map/skill.c

@@ -4955,15 +4955,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
 
 	case NPC_POWERUP:
 		sc_start(bl,SC_INCATKRATE,100,40*skilllv,skill_get_time(skillid, skilllv));
-//From experience it appears powerup is more hit, not +all stats.
-		sc_start(bl,SC_INCDEX,100,25*skilllv,skill_get_time(skillid, skilllv));
-//		sc_start(bl,SC_INCALLSTATUS,100,skilllv*5,skill_get_time(skillid, skilllv));
-		clif_skill_nodamage(src,bl,skillid,skilllv,1);
-		break;
-
+		//Power up is atkrate increase + hit% increase.
 	case NPC_AGIUP:
 		clif_skill_nodamage(src,bl,skillid,skilllv,
-			sc_start(bl,SC_INCAGI,100,10*skilllv,skill_get_time(skillid, skilllv)));
+			sc_start(bl,type,100,40*skilllv,skill_get_time(skillid, skilllv)));
 		break;
 
 	case NPC_INVISIBLE:

+ 2 - 0
src/map/status.c

@@ -206,6 +206,8 @@ void initChangeTables(void) {
 	set_sc(NPC_STOP,                SC_STOP,                SI_BLANK);
 	set_sc(NPC_BREAKWEAPON,         SC_BROKENWEAPON,        SI_BROKENWEAPON);
 	set_sc(NPC_BREAKARMOR,          SC_BROKENARMOR,         SI_BROKENARMOR);
+	set_sc(NPC_POWERUP,             SC_INCHITRATE,          SI_BLANK);
+	set_sc(NPC_AGIUP,               SC_INCFLEERATE,         SI_BLANK);
 	set_sc(NPC_INVISIBLE,           SC_CLOAKING,            SI_CLOAKING);
 	set_sc(LK_AURABLADE,            SC_AURABLADE,           SI_AURABLADE);
 	set_sc(LK_PARRYING,             SC_PARRYING,            SI_PARRYING);