diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/npc.c | 5 | ||||
-rw-r--r-- | src/map/status.c | 7 |
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; |