Added support for nemo's cashshop preview (#5896)
Fixes #5744 Credits to @4144 Thanks to @RagnaWay
This commit is contained in:
parent
2c0283d0e0
commit
e5f4e4058a
@ -81,6 +81,9 @@
|
||||
// Do NOT create any issues or ask for help with these compilers.
|
||||
//#define DEPRECATED_COMPILER_SUPPORT
|
||||
|
||||
/// Uncomment for use with Nemo patch ExtendCashShopPreview
|
||||
//#define ENABLE_CASHSHOP_PREVIEW_PATCH
|
||||
|
||||
/**
|
||||
* No settings past this point
|
||||
**/
|
||||
|
@ -16807,6 +16807,17 @@ void clif_cashshop_list( struct map_session_data* sd ){
|
||||
for( int i = 0; i < cash_shop_items[tab].count; i++ ){
|
||||
p->items[i].itemId = client_nameid( cash_shop_items[tab].item[i]->nameid );
|
||||
p->items[i].price = cash_shop_items[tab].item[i]->price;
|
||||
#ifdef ENABLE_CASHSHOP_PREVIEW_PATCH
|
||||
struct item_data* id = itemdb_search( cash_shop_items[tab].item[i]->nameid );
|
||||
|
||||
if( id == nullptr ){
|
||||
p->items[i].location = 0;
|
||||
p->items[i].viewSprite = 0;
|
||||
}else{
|
||||
p->items[i].location = pc_equippoint_sub( sd, id );
|
||||
p->items[i].viewSprite = id->look;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
WFIFOSET( fd, len );
|
||||
|
@ -2527,6 +2527,10 @@ struct PACKET_ZC_ACK_SCHEDULER_CASHITEM_sub {
|
||||
uint16 itemId;
|
||||
#endif
|
||||
uint32 price;
|
||||
#ifdef ENABLE_CASHSHOP_PREVIEW_PATCH
|
||||
uint16 viewSprite;
|
||||
uint32 location;
|
||||
#endif // ENABLE_CASHSHOP_PREVIEW_PATCH
|
||||
} __attribute__((packed));
|
||||
|
||||
struct PACKET_ZC_ACK_SCHEDULER_CASHITEM {
|
||||
@ -4028,6 +4032,104 @@ struct PACKET_ZC_PERSONAL_INFOMATION {
|
||||
DEFINE_PACKET_HEADER(ZC_PERSONAL_INFOMATION, 0x097b);
|
||||
#endif // PACKETVER_MAIN_NUM >= 20120503 || PACKETVER_RE_NUM >= 20120502 || defined(PACKETVER_ZERO)
|
||||
|
||||
struct PACKET_CZ_REQUEST_ACTNPC {
|
||||
int16 packetType;
|
||||
uint32 GID;
|
||||
uint32 targetGID;
|
||||
int8 action;
|
||||
} __attribute__((packed));
|
||||
|
||||
#if PACKETVER < 3
|
||||
struct PACKET_ZC_NOTIFY_SKILL {
|
||||
int16 PacketType;
|
||||
uint16 SKID;
|
||||
uint32 AID;
|
||||
uint32 targetID;
|
||||
uint32 startTime;
|
||||
int32 attackMT;
|
||||
int32 attackedMT;
|
||||
int16 damage;
|
||||
int16 level;
|
||||
int16 count;
|
||||
int8 action;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_NOTIFY_SKILL, 0x0114);
|
||||
#else
|
||||
struct PACKET_ZC_NOTIFY_SKILL {
|
||||
int16 PacketType;
|
||||
uint16 SKID;
|
||||
uint32 AID;
|
||||
uint32 targetID;
|
||||
uint32 startTime;
|
||||
int32 attackMT;
|
||||
int32 attackedMT;
|
||||
int32 damage;
|
||||
int16 level;
|
||||
int16 count;
|
||||
int8 action;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_NOTIFY_SKILL, 0x01de);
|
||||
#endif
|
||||
|
||||
#if PACKETVER_MAIN_NUM >= 20130731 || PACKETVER_RE_NUM >= 20130724 || defined(PACKETVER_ZERO)
|
||||
struct PACKET_ZC_USE_SKILL {
|
||||
int16 PacketType;
|
||||
uint16 SKID;
|
||||
int32 level;
|
||||
uint32 targetAID;
|
||||
uint32 srcAID;
|
||||
int8 result;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_USE_SKILL, 0x09cb);
|
||||
#else
|
||||
struct PACKET_ZC_USE_SKILL {
|
||||
int16 PacketType;
|
||||
uint16 SKID;
|
||||
int16 level;
|
||||
uint32 targetAID;
|
||||
uint32 srcAID;
|
||||
int8 result;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_USE_SKILL, 0x011a);
|
||||
#endif
|
||||
|
||||
struct PACKET_ZC_NOTIFY_GROUNDSKILL {
|
||||
int16 PacketType;
|
||||
uint16 SKID;
|
||||
uint32 AID;
|
||||
int16 level;
|
||||
int16 xPos;
|
||||
int16 yPos;
|
||||
uint32 startTime;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_NOTIFY_GROUNDSKILL, 0x0117);
|
||||
|
||||
#if PACKETVER_MAIN_NUM >= 20081112 || PACKETVER_RE_NUM >= 20081111 || defined(PACKETVER_ZERO)
|
||||
struct PACKET_ZC_SKILL_POSTDELAY {
|
||||
int16 PacketType;
|
||||
uint16 SKID;
|
||||
uint32 DelayTM;
|
||||
} __attribute__((packed));
|
||||
DEFINE_PACKET_HEADER(ZC_SKILL_POSTDELAY, 0x043d);
|
||||
#endif
|
||||
|
||||
struct PACKET_ZC_NOTIFY_SKILL_POSITION {
|
||||
int16 PacketType;
|
||||
uint16 SKID;
|
||||
uint32 AID;
|
||||
uint32 targetID;
|
||||
uint32 startTime;
|
||||
int32 attackMT;
|
||||
int32 attackedMT;
|
||||
int16 xPos;
|
||||
int16 yPos;
|
||||
int16 damage;
|
||||
int16 level;
|
||||
int16 count;
|
||||
int8 action;
|
||||
};
|
||||
DEFINE_PACKET_HEADER(ZC_NOTIFY_SKILL_POSITION, 0x0115);
|
||||
|
||||
#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
|
||||
#pragma pack(pop)
|
||||
#endif // not NetBSD < 6 / Solaris
|
||||
|
Loading…
x
Reference in New Issue
Block a user