* Merged changes up to eAthena 15063.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15478 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
eathenabot 2012-01-17 06:56:42 +00:00
parent 0b4a77d2d2
commit d6c35b853a
3 changed files with 156 additions and 1 deletions

View File

@ -735,7 +735,7 @@ packet_ver: 16
0x022f,5
0x0231,26,changehomunculusname,0
0x023a,4
0x023b,24,storagepassword,0
0x023b,36,storagepassword,2:4:20
0x023c,6
//2005-06-22aSakexe

View File

@ -658,6 +658,24 @@ void clif_authok(struct map_session_data *sd)
WFIFOSET(fd,packet_len(cmd));
}
/// Notifies the client, that it's connection attempt was refused (ZC_REFUSE_ENTER).
/// 0074 <error code>.B
/// error code:
/// 0 = client type mismatch
/// 1 = ID mismatch
/// 2 = mobile - out of available time
/// 3 = mobile - already logged in
/// 4 = mobile - waiting state
void clif_authrefuse(int fd, uint8 error_code)
{
WFIFOHEAD(fd,packet_len(0x74));
WFIFOW(fd,0) = 0x74;
WFIFOB(fd,2) = error_code;
WFIFOSET(fd,packet_len(0x74));
}
/*==========================================
* Authentication failed/disconnect client.
*------------------------------------------
@ -3644,6 +3662,21 @@ void clif_tradecompleted(struct map_session_data* sd, int fail)
WFIFOSET(fd,packet_len(0xf0));
}
/// Resets the trade window on the send side (ZC_EXCHANGEITEM_UNDO).
/// 00f1
/// NOTE: Unknown purpose. Items are not removed until the window is
/// refreshed (ex. by putting another item in there).
void clif_tradeundo(struct map_session_data* sd)
{
int fd = sd->fd;
WFIFOHEAD(fd,packet_len(0xf1));
WFIFOW(fd,0) = 0xf1;
WFIFOSET(fd,packet_len(0xf1));
}
/*==========================================
* Server tells client it's quantity of items in storage changed
*------------------------------------------*/
@ -6588,6 +6621,22 @@ void clif_mvp_exp(struct map_session_data *sd, unsigned int exp)
WFIFOSET(fd,packet_len(0x10b));
}
/// Dropped MVP item reward message (ZC_THROW_MVPITEM).
/// 010d
///
/// "You are the MVP, but cannot obtain the reward because
/// you are overweight."
void clif_mvp_noitem(struct map_session_data* sd)
{
int fd = sd->fd;
WFIFOHEAD(fd,packet_len(0x10d));
WFIFOW(fd,0) = 0x10d;
WFIFOSET(fd,packet_len(0x10d));
}
/*==========================================
* Guild creation result
* R 0167 <flag>.B
@ -7606,6 +7655,32 @@ void clif_specialeffect_single(struct block_list* bl, int type, int fd)
WFIFOSET(fd,10);
}
/// Notifies clients of an special/visual effect that accepts an value (ZC_NOTIFY_EFFECT3).
/// 0284 <id>.L <effect id>.L <num data>.L
/// effect id:
/// @see doc/effect_list.txt
/// num data:
/// effect-dependent value
void clif_specialeffect_value(struct block_list* bl, int effect_id, int num, send_target target)
{
uint8 buf[14];
WBUFW(buf,0) = 0x284;
WBUFL(buf,2) = bl->id;
WBUFL(buf,6) = effect_id;
WBUFL(buf,10) = num;
clif_send(buf, packet_len(0x284), bl, target);
if( disguised(bl) )
{
WBUFL(buf,2) = -bl->id;
clif_send(buf, packet_len(0x284), bl, SELF);
}
}
/******************************************************
* W.<packet> W.<LENGTH> L.<ID> L.<COLOR> S.<TEXT>
* Mob/NPC Color Talk [SnakeDrak]
@ -8190,6 +8265,38 @@ void clif_msg(struct map_session_data* sd, unsigned short id)
WFIFOSET(fd, packet_len(0x291));
}
/// Display msgstringtable.txt string and fill in a valid for %d format (ZC_MSG_VALUE).
/// 0x7e2 <message>.W <value>.L
void clif_msg_value(struct map_session_data* sd, unsigned short id, int value)
{
int fd = sd->fd;
WFIFOHEAD(fd, packet_len(0x7e2));
WFIFOW(fd,0) = 0x7e2;
WFIFOW(fd,2) = id;
WFIFOL(fd,4) = value;
WFIFOSET(fd, packet_len(0x7e2));
}
/// Displays msgstringtable.txt string, prefixed with a skill name. (ZC_MSG_SKILL).
/// 07e6 <skill id>.W <msg id>.L
///
/// NOTE: Message has following format and is printed in color 0xCDCDFF (purple):
/// "[SkillName] Message"
void clif_msg_skill(struct map_session_data* sd, unsigned short skill_id, int msg_id)
{
int fd = sd->fd;
WFIFOHEAD(fd, packet_len(0x7e6));
WFIFOW(fd,0) = 0x7e6;
WFIFOW(fd,2) = skill_id;
WFIFOL(fd,4) = msg_id;
WFIFOSET(fd, packet_len(0x7e6));
}
/// View player equip request denied
void clif_viewequip_fail(struct map_session_data* sd)
{
@ -10586,6 +10693,26 @@ void clif_parse_CloseKafra(int fd, struct map_session_data *sd)
storage_guild_storageclose(sd);
}
/// Displays kafra storage password dialog (ZC_REQ_STORE_PASSWORD).
/// 023a <info>.W
/// info:
/// 0 = password has not been set yet
/// 1 = storage is password-protected
/// 8 = too many wrong passwords
/// ? = ignored
/// NOTE: This packet is only available on certain non-kRO clients.
void clif_storagepassword(struct map_session_data* sd, short info)
{
int fd = sd->fd;
WFIFOHEAD(fd,packet_len(0x23a));
WFIFOW(fd,0) = 0x23a;
WFIFOW(fd,2) = info;
WFIFOSET(fd,packet_len(0x23a));
}
/*==========================================
* Kafra storage protection password system
*------------------------------------------*/
@ -10595,6 +10722,28 @@ void clif_parse_StoragePassword(int fd, struct map_session_data *sd)
}
/// Result of kafra storage password validation (ZC_RESULT_STORE_PASSWORD).
/// 023c <result>.W <error count>.W
/// result:
/// 4 = password change success
/// 5 = password change failure
/// 6 = password check success
/// 7 = password check failure
/// 8 = too many wrong passwords
/// ? = ignored
/// NOTE: This packet is only available on certain non-kRO clients.
void clif_storagepassword_result(struct map_session_data* sd, short result, short error_count)
{
int fd = sd->fd;
WFIFOHEAD(fd,packet_len(0x23c));
WFIFOW(fd,0) = 0x23c;
WFIFOW(fd,2) = result;
WFIFOW(fd,4) = error_count;
WFIFOSET(fd,packet_len(0x23c));
}
/*==========================================
* Party creation request
* S 00f9 <party name>.24S

View File

@ -309,6 +309,7 @@ uint32 clif_refresh_ip(void);
uint16 clif_getport(void);
void clif_authok(struct map_session_data *sd);
void clif_authrefuse(int fd, uint8 error_code);
void clif_authfail_fd(int fd, int type);
void clif_charselectok(int id, uint8 ok);
void clif_dropflooritem(struct flooritem_data* fitem);
@ -394,6 +395,7 @@ void clif_tradeitemok(struct map_session_data* sd, int index, int fail);
void clif_tradedeal_lock(struct map_session_data* sd, int fail);
void clif_tradecancelled(struct map_session_data* sd);
void clif_tradecompleted(struct map_session_data* sd, int fail);
void clif_tradeundo(struct map_session_data* sd);
// storage
void clif_storagelist(struct map_session_data* sd, struct item* items, int items_length);
@ -475,6 +477,7 @@ void clif_item_skill(struct map_session_data *sd,int skillid,int skilllv);
void clif_mvp_effect(struct map_session_data *sd);
void clif_mvp_item(struct map_session_data *sd,int nameid);
void clif_mvp_exp(struct map_session_data *sd, unsigned int exp);
void clif_mvp_noitem(struct map_session_data* sd);
void clif_changed_dir(struct block_list *bl, enum send_target target);
// vending
@ -589,6 +592,7 @@ void clif_specialeffect(struct block_list* bl, int type, enum send_target target
void clif_specialeffect_single(struct block_list* bl, int type, int fd);
void clif_messagecolor(struct block_list* bl, unsigned long color, const char* msg); // Mob/Npc color talk [SnakeDrak]
void clif_message(struct block_list* bl, const char* msg); // messages (from mobs/npcs) [Valaris]
void clif_specialeffect_value(struct block_list* bl, int effect_id, int num, send_target target);
void clif_GM_kickack(struct map_session_data *sd, int id);
void clif_GM_kick(struct map_session_data *sd,struct map_session_data *tsd);
@ -621,6 +625,8 @@ void clif_viewequip_fail(struct map_session_data* sd);
void clif_equipcheckbox(struct map_session_data* sd);
void clif_msg(struct map_session_data* sd, unsigned short id);
void clif_msg_value(struct map_session_data* sd, unsigned short id, int value);
void clif_msg_skill(struct map_session_data* sd, unsigned short skill_id, int msg_id);
//quest system [Kevin] [Inkfish]
void clif_quest_send_list(struct map_session_data * sd);