* Fixed zeny duplication exploit in mail system, introduced in r15310.
* Added proper mail zeny loss prevention (bugreport:2919, follow-up to r15310). git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15520 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
11c1789b80
commit
ada41eebd1
@ -13687,8 +13687,11 @@ void clif_parse_Mail_getattach(int fd, struct map_session_data *sd)
|
||||
if( sd->mail.inbox.msg[i].zeny < 1 && (sd->mail.inbox.msg[i].item.nameid < 1 || sd->mail.inbox.msg[i].item.amount < 1) )
|
||||
return;
|
||||
|
||||
if( ( sd->mail.inbox.msg[i].zeny + sd->mail.inbox.msg[i].zeny ) > MAX_ZENY )
|
||||
if( sd->mail.inbox.msg[i].zeny + sd->status.zeny > MAX_ZENY )
|
||||
{
|
||||
clif_Mail_getattachment(fd, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
if( sd->mail.inbox.msg[i].item.nameid > 0 )
|
||||
{
|
||||
|
@ -46,8 +46,7 @@ int mail_removeitem(struct map_session_data *sd, short flag)
|
||||
int mail_removezeny(struct map_session_data *sd, short flag)
|
||||
{
|
||||
nullpo_ret(sd);
|
||||
if( ( sd->status.zeny + sd->mail.zeny ) > MAX_ZENY )
|
||||
return 1;
|
||||
|
||||
if (flag && sd->mail.zeny > 0)
|
||||
{ //Zeny send
|
||||
log_zeny(sd, LOG_TYPE_MAIL, sd, -sd->mail.zeny);
|
||||
|
Loading…
x
Reference in New Issue
Block a user