Преглед на файлове

- Cleaned up a bit the npc undercharging item warning to specify when it is displaying overcharge/discount prices instead of the actual values. It should also prevent overflows.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5737 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex преди 19 години
родител
ревизия
e324977ed8
променени са 1 файла, в които са добавени 7 реда и са изтрити 3 реда
  1. 7 3
      src/map/npc.c

+ 7 - 3
src/map/npc.c

@@ -1530,10 +1530,14 @@ static int npc_parse_shop (char *w1, char *w2, char *w3, char *w4)
 			value = id->value_buy;
 		nd->u.shop_item[pos].value = value;
 		// check for bad prices that can possibly cause exploits
-		if (value/100*75 < id->value_sell/100*124) { // Modified to prevent loopbacks, divide before multiplying [Lance]
+		if (value/124. < id->value_sell/75.) {  //Clened up formula to prevent overflows.
 			printf("\r"); //Carriage return to clear the 'loading..' line. [Skotlex]
-			ShowWarning ("Item %s [%d] buying price (%d) is less than selling price (%d)\n",
-				id->name, id->nameid, value*75/100, id->value_sell*124/100);
+			if (value < id->value_sell)
+				ShowWarning ("Item %s [%d] buying price (%d) is less than selling price (%d)\n",
+					id->name, id->nameid, value, id->value_sell);
+			else
+				ShowWarning ("Item %s [%d] discounted buying price (%d) is less than overcharged selling price (%d)\n",
+					id->name, id->nameid, value/100*75, id->value_sell/100*124);
 		}
 		//for logs filters, atcommands and iteminfo script command
 		if (id->maxchance<=0)