소스 검색

- 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