summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
Diffstat (limited to 'src/map')
-rw-r--r--src/map/npc.c5
-rw-r--r--src/map/status.c7
2 files changed, 10 insertions, 2 deletions
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;