summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql-files/logs.sql2
-rw-r--r--sql-files/upgrade_svn15818_log.sql3
-rw-r--r--src/map/clif.c9
-rw-r--r--src/map/intif.c11
4 files changed, 21 insertions, 4 deletions
diff --git a/sql-files/logs.sql b/sql-files/logs.sql
index 1d5eaa413..bd33fbd1f 100644
--- a/sql-files/logs.sql
+++ b/sql-files/logs.sql
@@ -31,7 +31,7 @@ CREATE TABLE `zenylog` (
`time` datetime NOT NULL default '0000-00-00 00:00:00',
`char_id` int(11) NOT NULL default '0',
`src_id` int(11) NOT NULL default '0',
- `type` enum('M','T','V','S','N','A','E','B') NOT NULL default 'S',
+ `type` enum('M','T','V','S','N','A','E','B','I') NOT NULL default 'S',
`amount` int(11) NOT NULL default '0',
`map` varchar(11) NOT NULL default '',
PRIMARY KEY (`id`),
diff --git a/sql-files/upgrade_svn15818_log.sql b/sql-files/upgrade_svn15818_log.sql
new file mode 100644
index 000000000..2402ef6ca
--- /dev/null
+++ b/sql-files/upgrade_svn15818_log.sql
@@ -0,0 +1,3 @@
+-- Adds 'I' to `type` in `picklog` and `zenylog`
+
+ALTER TABLE `zenylog` MODIFY `type` ENUM('M','T','V','S','N','A','E','B','I') NOT NULL DEFAULT 'S';
diff --git a/src/map/clif.c b/src/map/clif.c
index bd5f4721d..bf32ceac8 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -13805,7 +13805,7 @@ void clif_parse_Auction_setitem(int fd, struct map_session_data *sd)
}
if( (item = itemdb_exists(sd->status.inventory[idx].nameid)) != NULL && !(item->type == IT_ARMOR || item->type == IT_PETARMOR || item->type == IT_WEAPON || item->type == IT_CARD || item->type == IT_ETC) )
- { // Consumible or pets are not allowed
+ { // Consumable or pets are not allowed
clif_Auction_setitem(sd->fd, idx, true);
return;
}
@@ -13931,9 +13931,13 @@ void clif_parse_Auction_register(int fd, struct map_session_data *sd)
clif_Auction_message(fd, 4); // No Char Server? lets say something to the client
else
{
+ int zeny = auction.hours*battle_config.auction_feeperhour;
+
pc_delitem(sd, sd->auction.index, sd->auction.amount, 1, 6, LOG_TYPE_AUCTION);
sd->auction.amount = 0;
- pc_payzeny(sd, auction.hours * battle_config.auction_feeperhour);
+
+ log_zeny(sd, LOG_TYPE_AUCTION, sd, -zeny);
+ pc_payzeny(sd, zeny);
}
}
@@ -13977,6 +13981,7 @@ void clif_parse_Auction_bid(int fd, struct map_session_data *sd)
else if ( CheckForCharServer() ) // char server is down (bugreport:1138)
clif_Auction_message(fd, 0); // You have failed to bid into the auction
else {
+ log_zeny(sd, LOG_TYPE_AUCTION, sd, -bid);
pc_payzeny(sd, bid);
intif_Auction_bid(sd->status.char_id, sd->status.name, auction_id, bid);
}
diff --git a/src/map/intif.c b/src/map/intif.c
index 61a60c91e..78f3d585c 100644
--- a/src/map/intif.c
+++ b/src/map/intif.c
@@ -13,6 +13,7 @@
#include "clif.h"
#include "pc.h"
#include "intif.h"
+#include "log.h"
#include "storage.h"
#include "party.h"
#include "guild.h"
@@ -1774,9 +1775,13 @@ static void intif_parse_Auction_register(int fd)
}
else
{
+ int zeny = auction.hours*battle_config.auction_feeperhour;
+
clif_Auction_message(sd->fd, 4);
pc_additem(sd, &auction.item, auction.item.amount, LOG_TYPE_AUCTION);
- pc_getzeny(sd, auction.hours * battle_config.auction_feeperhour);
+
+ log_zeny(sd, LOG_TYPE_AUCTION, sd, zeny);
+ pc_getzeny(sd, zeny);
}
}
@@ -1836,6 +1841,7 @@ static void intif_parse_Auction_close(int fd)
clif_Auction_close(sd->fd, result);
if( result == 0 )
{
+ // FIXME: Leeching off a parse function
clif_parse_Auction_cancelreg(fd, sd);
intif_Auction_requestlist(sd->status.char_id, 6, 0, "", 1);
}
@@ -1871,7 +1877,10 @@ static void intif_parse_Auction_bid(int fd)
clif_Auction_message(sd->fd, result);
if( bid > 0 )
+ {
+ log_zeny(sd, LOG_TYPE_AUCTION, sd, bid);
pc_getzeny(sd, bid);
+ }
if( result == 1 )
{ // To update the list, display your buy list
clif_parse_Auction_cancelreg(fd, sd);