Pārlūkot izejas kodu

- 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 gadi atpakaļ
vecāks
revīzija
7025584abe
2 mainītis faili ar 6 papildinājumiem un 1 dzēšanām
  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