diff options
-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; |