diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-15 18:13:37 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-15 18:13:37 +0000 |
commit | a08c2d5709c644507cf034e319e60eeed0ad636a (patch) | |
tree | b922bc1bf52ee40e89e101be2335c6b1408277f5 | |
parent | ebbe046a99ed1928e60506fe1a86edc8a396ee54 (diff) | |
download | hercules-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.txt | 6 | ||||
-rw-r--r-- | conf-tmpl/login_athena.conf | 2 | ||||
-rw-r--r-- | src/common/utils.c | 1 | ||||
-rw-r--r-- | src/map/npc.c | 5 | ||||
-rw-r--r-- | src/map/status.c | 7 |
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; |