From 97af12ef15eb26b1891aca39951e115db1e24f1b Mon Sep 17 00:00:00 2001 From: zephyrus Date: Mon, 10 Mar 2008 02:44:07 +0000 Subject: - Fixed a bug allow GM with notrade to send zeny. - Added a fix into auction system allow to direct buy or increase your own bid if you reach the 5 bids limit. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12335 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/char_sql/int_auction.c | 4 ++-- src/map/clif.c | 4 +--- 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; -- cgit v1.2.3-60-g2f50