فهرست منبع

- Fixed #baselevelup adding instead of substracting status points when used with negative levels. Also made it reset your stats if there wasn't enough to substract from.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8861 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex 18 سال پیش
والد
کامیت
7025584abe
2فایلهای تغییر یافته به همراه6 افزوده شده و 1 حذف شده
  1. 3 0
      Changelog-Trunk.txt
  2. 3 1
      src/map/charcommand.c

+ 3 - 0
Changelog-Trunk.txt

@@ -4,6 +4,9 @@ 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/09/25
+	* Fixed #baselevelup adding instead of substracting status points when used
+	  with negative levels. Also made it reset your stats if there wasn't enough
+	  to substract from. [Skotlex]
 	* Applied FlavioJS's suggestion of expanding WFIFOPOS to also take the
 	  direction. This had the side effect of fixing the direction missing from
 	  the mob spawn packet, which explains why all npcs face north when you are

+ 3 - 1
src/map/charcommand.c

@@ -1320,7 +1320,9 @@ int charcommand_baselevel(
 					level = pl_sd->status.base_level -1;
 				if (pl_sd->status.status_point > 0) {
 					for (i = 0; i > -level; i--)
-						status_point -= (pl_sd->status.base_level +i + 14) / 5;
+						status_point += (pl_sd->status.base_level +i + 14) / 5;
+					if (pl_sd->status.status_point < status_point)
+						pc_resetstate(sd);
 					if (pl_sd->status.status_point < status_point)
 						pl_sd->status.status_point = 0;
 					else