summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-12-15 18:13:37 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-12-15 18:13:37 +0000
commita08c2d5709c644507cf034e319e60eeed0ad636a (patch)
treeb922bc1bf52ee40e89e101be2335c6b1408277f5
parentebbe046a99ed1928e60506fe1a86edc8a396ee54 (diff)
downloadhercules-a08c2d5709c644507cf034e319e60eeed0ad636a.tar.gz
hercules-a08c2d5709c644507cf034e319e60eeed0ad636a.tar.bz2
hercules-a08c2d5709c644507cf034e319e60eeed0ad636a.tar.xz
hercules-a08c2d5709c644507cf034e319e60eeed0ad636a.zip
- There will be now warnings printed when a shop sells an item which's buy price is 20z, since those usually are "rare" items with no buyying price set. Note that this reports one fake, and that is the selling of a certain shuriken that indeed costs 20z.
- Most likely fixed client crash when xmas/wedding status runs out. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9505 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt6
-rw-r--r--conf-tmpl/login_athena.conf2
-rw-r--r--src/common/utils.c1
-rw-r--r--src/map/npc.c5
-rw-r--r--src/map/status.c7
5 files changed, 18 insertions, 3 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 7741dd557..a1335aea9 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -3,6 +3,12 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
+2006/12/15
+ * There will be now warnings printed when a shop sells an item which's buy
+ price is 20z, since those usually are "rare" items with no buyying price
+ set. Note that this reports one fake, and that is the selling of a certain
+ shuriken that indeed costs 20z.
+ * Most likely fixed client crash when xmas/wedding status runs out.
2006/12/14
* Removed "mobs being enemies of each other all the time" because, even
though mobs can hit each other as they should, they will refuse to use
diff --git a/conf-tmpl/login_athena.conf b/conf-tmpl/login_athena.conf
index 970bdd347..7a30fd9bf 100644
--- a/conf-tmpl/login_athena.conf
+++ b/conf-tmpl/login_athena.conf
@@ -27,7 +27,7 @@ login_port: 6900
//a file, the ansi sequences are printed out.
//If set to no the console is colorless and, if redirected, will skip the ansi
//sequences.
-//NOTE: this setting applyes for both stdout and stderr
+//NOTE: this setting applies for both stdout and stderr
stdout_with_ansisequence: yes
//Makes server output more silent by ommitting certain types of messages:
diff --git a/src/common/utils.c b/src/common/utils.c
index 6d4abb26d..25ada1ce5 100644
--- a/src/common/utils.c
+++ b/src/common/utils.c
@@ -18,6 +18,7 @@
#include "../common/mmo.h"
#include "../common/malloc.h"
#include "../common/showmsg.h"
+#include "../common/cbasetypes.h"
void dump(unsigned char *buffer, int num)
{
diff --git a/src/map/npc.c b/src/map/npc.c
index 629d9e94f..7f7e7e669 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -1657,7 +1657,12 @@ static int npc_parse_shop (char *w1, char *w2, char *w3, char *w4)
nd->u.shop_item[pos].nameid = nameid;
id = itemdb_search(nameid);
if (value < 0)
+ {
+ if (id->value_buy == 20)
+ ShowWarning ("Selling item %s [%d] with no buying price (defaults to %d) at %s\n",
+ id->name, id->nameid, id->value_buy, current_file);
value = id->value_buy;
+ }
nd->u.shop_item[pos].value = value;
// check for bad prices that can possibly cause exploits
if (value/124. < id->value_sell/75.) { //Clened up formula to prevent overflows.
diff --git a/src/map/status.c b/src/map/status.c
index ea78c57bf..ccb017c08 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -6039,9 +6039,12 @@ int status_change_end( struct block_list* bl , int type,int tid )
case SC_WEDDING:
case SC_XMAS:
if (!vd) return 0;
- if (sd) //Load data from sd->status.* as the stored values could have changed.
+ if (sd)
+ { //Load data from sd->status.* as the stored values could have changed.
+ //Must remove OPTION to prevent class being rechanged.
+ sc->option &= type==SC_WEDDING?~OPTION_WEDDING:~OPTION_XMAS;
status_set_viewdata(bl, sd->status.class_);
- else {
+ } else {
vd->class_ = sc->data[type].val1;
vd->weapon = sc->data[type].val2;
vd->shield = sc->data[type].val3;