diff options
-rw-r--r-- | sql-files/logs.sql | 2 | ||||
-rw-r--r-- | sql-files/upgrade_svn15818_log.sql | 3 | ||||
-rw-r--r-- | src/map/clif.c | 9 | ||||
-rw-r--r-- | src/map/intif.c | 11 |
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); |