diff options
-rw-r--r-- | src/char_sql/int_auction.c | 4 | ||||
-rw-r--r-- | src/map/clif.c | 4 | ||||
-rw-r--r-- | src/map/mail.c | 7 |
3 files changed, 8 insertions, 7 deletions
diff --git a/src/char_sql/int_auction.c b/src/char_sql/int_auction.c index ddc9e567f..f1021b983 100644 --- a/src/char_sql/int_auction.c +++ b/src/char_sql/int_auction.c @@ -415,7 +415,7 @@ static void mapif_parse_Auction_bid(int fd) return; } - if( auction_count(char_id, true) > 4 ) + if( auction_count(char_id, true) > 4 && bid < auction->buynow && auction->buyer_id != char_id ) { mapif_Auction_bid(fd, char_id, bid, 9); // You cannot place more than 5 bids at a time return; @@ -434,6 +434,7 @@ static void mapif_parse_Auction_bid(int fd) auction->buyer_id = char_id; safestrncpy(auction->buyer_name, (char*)RFIFOP(fd,16), NAME_LENGTH); + auction->price = bid; if( bid >= auction->buynow ) { // Automatic won the auction @@ -447,7 +448,6 @@ static void mapif_parse_Auction_bid(int fd) return; } - auction->price = bid; auction_save(auction); mapif_Auction_bid(fd, char_id, 0, 1); // You have successfully bid in the auction diff --git a/src/map/clif.c b/src/map/clif.c index 03a2b10b9..753916478 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -11642,9 +11642,7 @@ void clif_parse_Mail_setattach(int fd, struct map_session_data *sd) return; flag = mail_setitem(sd, idx, amount); - - if (idx > 0) - clif_Mail_setattachment(fd,idx,flag); + clif_Mail_setattachment(fd,idx,flag); } /*------------------------------------------ diff --git a/src/map/mail.c b/src/map/mail.c index 1b9ebb11a..d6fc875a3 100644 --- a/src/map/mail.c +++ b/src/map/mail.c @@ -73,11 +73,14 @@ unsigned char mail_setitem(struct map_session_data *sd, int idx, int amount) { if (idx == 0) { // Zeny Transfer - if (amount < 0) + if( amount < 0 ) return 0; - if (amount > sd->status.zeny) + if( amount > sd->status.zeny ) amount = sd->status.zeny; + if( !pc_can_give_items(pc_isGM(sd)) ) + amount = 0; + sd->mail.zeny = amount; clif_updatestatus(sd, SP_ZENY); return 0; |