mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-26 22:37:45 +00:00
added equip models for examine (todo: main/sub/accessories)
- added stub for item crafter name request
This commit is contained in:
parent
e487a9ae24
commit
8d6ec91757
4 changed files with 44 additions and 6 deletions
|
@ -250,7 +250,7 @@ enum ClientTriggerType
|
|||
|
||||
ClearWaymarks = 0x13A,
|
||||
CameraMode = 0x13B, // param12, 1 = camera mode enable, 0 = disable
|
||||
|
||||
CharaNameReq = 0x13D, // requests character name by content id
|
||||
HuntingLogDetails = 0x194,
|
||||
|
||||
Timers = 0x1AB,
|
||||
|
|
|
@ -136,7 +136,8 @@ enum ServerZoneIpcType :
|
|||
PlayerStateFlags = 0x0184, // updated 4.3
|
||||
PlayerClassInfo = 0x0185, // updated 4.3
|
||||
ModelEquip = 0x0186, // updated 4.3
|
||||
Examine = 0x0187, // update 4.1
|
||||
Examine = 0x0187, // updated 4.3
|
||||
CharaNameReq = 0x0189, // updated 4.3
|
||||
UpdateClassInfo = 0x018A, // updated 4.3
|
||||
|
||||
ItemInfo = 0x0190, // updated 4.3
|
||||
|
|
|
@ -988,14 +988,17 @@ struct FFXIVIpcExamine :
|
|||
char level;
|
||||
uint16_t padding;
|
||||
uint16_t titleId;
|
||||
//char grandCompany;
|
||||
//char grandCompanyRank;
|
||||
|
||||
char unknown[56];
|
||||
struct ItemData
|
||||
{
|
||||
uint32_t catalogId;
|
||||
uint32_t appearanceCatalogId;
|
||||
uint64_t unknown2;
|
||||
uint32_t unknown3;
|
||||
uint64_t crafterId;
|
||||
uint8_t quality;
|
||||
uint8_t unknown[3];
|
||||
struct Materia
|
||||
{
|
||||
uint16_t materiaId;
|
||||
|
@ -1007,8 +1010,15 @@ struct FFXIVIpcExamine :
|
|||
char unk3[16];
|
||||
char look[26];
|
||||
char padding3[5];
|
||||
//uint32_t models[10];
|
||||
char unknown4[270];
|
||||
uint32_t models[10];
|
||||
char unknown4[200];
|
||||
};
|
||||
|
||||
struct FFXIVIpcCharaNameReq :
|
||||
FFXIVIpcBasePacket< CharaNameReq >
|
||||
{
|
||||
uint64_t contentId;
|
||||
char name[32];
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -60,16 +60,27 @@ void examineHandler( Core::Entity::Player& player, uint32_t targetId )
|
|||
packet->data().unkFlag1 = 4;
|
||||
packet->data().unkFlag2 = 1;
|
||||
packet->data().titleId = pPlayer->getTitle();
|
||||
|
||||
//packet->data().grandCompany = 1;
|
||||
//packet->data().grandCompanyRank = 2;
|
||||
memcpy( packet->data().look, pPlayer->getLookArray(), sizeof( packet->data().look ) );
|
||||
packet->data().models[ 0 ] = pPlayer->getModelForSlot( Common::GearSetSlot::Head );
|
||||
packet->data().models[ 1 ] = pPlayer->getModelForSlot( Common::GearSetSlot::Body );
|
||||
packet->data().models[ 2 ] = pPlayer->getModelForSlot( Common::GearSetSlot::Hands );
|
||||
packet->data().models[ 3 ] = pPlayer->getModelForSlot( Common::GearSetSlot::Legs );
|
||||
packet->data().models[ 4 ] = pPlayer->getModelForSlot( Common::GearSetSlot::Feet );
|
||||
|
||||
// todo: main/sub/other stuff too
|
||||
|
||||
for( auto i = 0; i < Common::GearSetSlot::SoulCrystal + 1; ++i)
|
||||
{
|
||||
auto pItem = pPlayer->getItemAt( Common::InventoryType::GearSet0, i );
|
||||
if( pItem )
|
||||
{
|
||||
auto slot = static_cast< Common::GearSetSlot >( i );
|
||||
auto& entry = packet->data().entries[i];
|
||||
entry.catalogId = pItem->getId();
|
||||
entry.quality = pItem->isHq();
|
||||
//entry.appearanceCatalogId = pItem->getGlamourId()
|
||||
// todo: glamour/materia etc.
|
||||
}
|
||||
|
@ -183,6 +194,22 @@ void Core::Network::GameConnection::clientTriggerHandler( const Packets::FFXIVAR
|
|||
player.updateHowtosSeen( howToId );
|
||||
break;
|
||||
}
|
||||
case ClientTriggerType::CharaNameReq:
|
||||
{
|
||||
uint64_t targetContentId = param1;
|
||||
// todo: look up player by content id
|
||||
/*
|
||||
auto packet = makeZonePacket< FFXIVIpcCharaNameReq >( player.getId() );
|
||||
packet->data().contentId = targetContentId;
|
||||
|
||||
// lookup the name
|
||||
|
||||
strcpy( packet->data().name, name );
|
||||
|
||||
player.queuePacket( packet );
|
||||
*/
|
||||
break;
|
||||
}
|
||||
case ClientTriggerType::EmoteReq: // emote
|
||||
{
|
||||
uint64_t targetId = player.getTargetId();
|
||||
|
|
Loading…
Add table
Reference in a new issue