- Added a fix to prevent missing a mail attachment is map servers disconnect from char server.

- Fixed the sprite of Wing of Victory.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11855 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
zephyrus 2007-12-03 22:25:57 +00:00
parent 5f8753f24b
commit 2b1fac216c
6 changed files with 27 additions and 13 deletions

View File

@ -3,6 +3,9 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2007/12/03
* Fixed a bug on Mail System. Removed the possibility to lost the attachment on
a Map - Char server disconnection. [Zephyrus]
2007/11/29
* pc_setoption no longer does view_data changes while disguised (as this
breaks things) [Skotlex]

View File

@ -2219,7 +2219,7 @@
5351,Sunflower_,Sunflower,5,20,,100,,1,,1,0xFFFFFFFF,7,2,256,,0,0,37,{ bonus2 bSubRace,RC_Insect,10; },{},{}
//5354,Songkok,Songkok,5,,,100,,2,,0,0xFFFFFFFE,7,1,256,,0,1,362,{ bonus bCastrate,-5; },{},{}
//5355,Selendang,Selendang,5,,,100,,2,,0,0xFFFFFFFE,7,0,256,,0,1,363,{ bonus bCastrate,-5; },{},{}
5357,Victory_Wings,Victory Wings,5,,,0,,10,,,0xFFFFFFFF,7,2,256,,,,361,{ bonus bMdef,10;},{},{}
5357,Victory_Wings,Victory Wings,5,,,0,,10,,,0xFFFFFFFF,7,2,256,,,,365,{ bonus bMdef,10;},{},{}
//5358,Pecopeco_Ears,Pecopeco Ears,5,,,100,,1,,0,0xFFFFFFFF,7,2,512,,70,0,366,{ bonus bAgi,1; bonus bMdef,2; },{},{}
//5359,Ship_Captain's_Hat,Ship Captain's Hat,5,,,500,,3,,0,0xFFFFFFFF,7,2,256,,30,1,367,{ bonus bLongAtkRate,3; },{},{}
//5360,Hukke's_Blackcat_Ears,Hukke's Blackcat Ears,5,,,200,,2,,0,0xFFFFFFFF,7,2,256,,45,1,368,{ bonus bDef,-50; bonus bFlee,10; bonus bCritical,3; bonus2 bCriticalAddRace,RC_Boss,10; bonus2 bCriticalAddRace,RC_NonBoss,10; },{},{}

View File

@ -11515,7 +11515,8 @@ void clif_parse_Mail_send(int fd, struct map_session_data *sd)
memset(msg.body, 0x00, MAIL_BODY_LENGTH);
msg.timestamp = (int)mail_calctimes();
intif_Mail_send(sd->status.account_id, &msg);
if( !intif_Mail_send(sd->status.account_id, &msg) )
mail_deliveryfail(sd, &msg);
sd->cansendmail_tick = gettick() + 1000; // 1 Second flood Protection
}

View File

@ -1645,7 +1645,7 @@ int intif_Mail_send(int account_id, struct mail_message *msg)
memcpy(WFIFOP(inter_fd,8), msg, sizeof(struct mail_message));
WFIFOSET(inter_fd,len);
return 0;
return 1;
}
static void intif_parse_Mail_send(int fd)
@ -1666,16 +1666,9 @@ static void intif_parse_Mail_send(int fd)
if( (sd = map_charid2sd(msg.send_id)) )
{
if( fail )
{
pc_additem(sd, &msg.item, msg.item.amount);
if( msg.zeny > 0 )
{
sd->status.zeny += msg.zeny;
clif_updatestatus(sd, SP_ZENY);
}
}
clif_Mail_send(sd->fd, fail);
mail_deliveryfail(sd, &msg);
else
clif_Mail_send(sd->fd, false);
}
if( fail )

View File

@ -154,4 +154,20 @@ int mail_openmail(struct map_session_data *sd)
return 0;
}
void mail_deliveryfail(struct map_session_data *sd, struct mail_message *msg)
{
nullpo_retv(sd);
nullpo_retv(msg);
pc_additem(sd, &msg->item, msg->item.amount);
if( msg->zeny > 0 )
{
sd->status.zeny += msg->zeny;
clif_updatestatus(sd, SP_ZENY);
}
clif_Mail_send(sd->fd, true);
}
#endif

View File

@ -14,5 +14,6 @@ unsigned char mail_setitem(struct map_session_data *sd, int idx, int amount);
bool mail_setattachment(struct map_session_data *sd, struct mail_message *msg);
void mail_getattachment(struct map_session_data* sd, int zeny, struct item* item);
int mail_openmail(struct map_session_data *sd);
void mail_deliveryfail(struct map_session_data *sd, struct mail_message *msg);
#endif /* _MAIL_H_ */