Implemented 'Broadcast Obtain Special Item'
* Added flag &16 to add manually special item that will be broadcasted if: Dropped by monster -> player pick it up. Added items with this flag: * Gold_Key77 (7782) * Silver_Key77 (7783) * Be used also to broadcast item in package/group with flag 'isAnnounced', replaced intif_broadcast(). * The message is using msgstringtable.txt on client side, make sure your translation is not messy. * Credits: *fcba8a2161*2761bb0af9* Misc updates: Fixed job and class for items: * Sealed_Gloom_Under_Night_Gachapon (14696) * Sealed_General_Egnigem_Cenia_Scroll (14739) * Sealed_Vesper_Scroll (14740) * Midgard_Celebration_Lucky_Egg (14741) * Hero_Midgard_Egg (14753) * Safe_To_Smelting_Scroll (14758) * Limited_Edition_JOB_Battle_Manual (14765) * Rise_Midgard_Lucky_Egg (17494) * Lucky_Silvervine_Fruit_Box_III10 (17495) * Lucky_Silvervine_Fruit_Box_III110 (17496) * Epic_Heroes_Scroll (17519) * Majestic_Lucky_Egg (17526) Signed-off-by: Cydh Ramdh <cydh@pservero.com>
This commit is contained in:
@@ -45,7 +45,7 @@ unsigned int party_share_level = 10;
|
||||
|
||||
// recv. packet list
|
||||
int inter_recv_packet_length[] = {
|
||||
-1,-1, 7,-1, -1,13,36, (2+4+4+4+1+NAME_LENGTH), 0, 0, 0, 0, 0, 0, 0, 0, // 3000-
|
||||
-1,-1, 7,-1, -1,13,36, (2+4+4+4+1+NAME_LENGTH), 0,-1, 0, 0, 0, 0, 0, 0, // 3000-
|
||||
6,-1, 0, 0, 0, 0, 0, 0, 10,-1, 0, 0, 0, 0, 0, 0, // 3010-
|
||||
-1,10,-1,14, 14,19, 6,-1, 14,14, 6, 0, 0, 0, 0, 0, // 3020- Party
|
||||
-1, 6,-1,-1, 55,19, 6,-1, 14,-1,-1,-1, 18,19,186,-1, // 3030-
|
||||
@@ -908,6 +908,23 @@ int mapif_parse_broadcast(int fd)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse received item broadcast and sends it to all connected map-serves
|
||||
* ZI 3009 <cmd>.W <len>.W <nameid>.W <source>.W <type>.B <name>.24B <srcname>.24B
|
||||
* IZ 3809 <cmd>.W <len>.W <nameid>.W <source>.W <type>.B <name>.24B <srcname>.24B
|
||||
* @param fd
|
||||
* @return
|
||||
**/
|
||||
int mapif_parse_broadcast_item(int fd) {
|
||||
unsigned char buf[9 + NAME_LENGTH*2];
|
||||
|
||||
memcpy(WBUFP(buf, 0), RFIFOP(fd, 0), RFIFOW(fd,2));
|
||||
WBUFW(buf, 0) = 0x3809;
|
||||
chmapif_sendallwos(fd, buf, RFIFOW(fd,2));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// Wisp/page request to send
|
||||
int mapif_parse_WisRequest(int fd)
|
||||
@@ -1154,6 +1171,7 @@ int inter_parse_frommap(int fd)
|
||||
case 0x3006: mapif_parse_NameChangeRequest(fd); break;
|
||||
case 0x3007: mapif_parse_accinfo(fd); break;
|
||||
/* 0x3008 is used by the report stuff */
|
||||
case 0x3009: mapif_parse_broadcast_item(fd); break;
|
||||
default:
|
||||
if( inter_party_parse_frommap(fd)
|
||||
|| inter_guild_parse_frommap(fd)
|
||||
|
||||
Reference in New Issue
Block a user