summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/char_sql/int_auction.c4
-rw-r--r--src/map/clif.c4
-rw-r--r--src/map/mail.c7
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;