mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-27 14:57:44 +00:00
cleanup and document storeroom status actrl
This commit is contained in:
parent
6219455591
commit
c13a0b14ed
2 changed files with 30 additions and 15 deletions
|
@ -207,23 +207,38 @@ enum ActorControlType : uint16_t
|
||||||
Dismount = 0x3A0,
|
Dismount = 0x3A0,
|
||||||
|
|
||||||
// Duty Recorder
|
// Duty Recorder
|
||||||
BeginReplayAck = 0x3A1,
|
BeginReplayAck = 0x3A1,
|
||||||
EndReplayAck = 0x3A2,
|
EndReplayAck = 0x3A2,
|
||||||
|
|
||||||
// Housing
|
// Housing
|
||||||
ShowHousingItemUI = 0x3F7,
|
ShowHousingItemUI = 0x3F7,
|
||||||
ShowBuildPresetUI = 0x3E9,
|
ShowBuildPresetUI = 0x3E9,
|
||||||
BuildPresetResponse = 0x3ED,
|
BuildPresetResponse = 0x3ED,
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* param1 = outdoor furnishings
|
||||||
|
* u8 0 - relocation available, 1 = available
|
||||||
|
* u8 1 - outoor furnishings placed
|
||||||
|
* u8 2 - outdoor furnishings in storeroom
|
||||||
|
* u8 3 - outdoor funishings limit
|
||||||
|
* param2 = indoor furnishings
|
||||||
|
* u16 0 - relocation available, 1 = available
|
||||||
|
* u16 1 - furnishings placed
|
||||||
|
* param3 = indoor furnishings
|
||||||
|
* u16 0 - in storeroom
|
||||||
|
* u16 1 - indoor furnishings limit
|
||||||
|
*/
|
||||||
|
HousingStoreroomStatus = 0x419,
|
||||||
|
|
||||||
// PvP Duel
|
// PvP Duel
|
||||||
SetPvPState = 0x5E0, // param3 must be 6 to engage a duel (hardcoded in the client)
|
SetPvPState = 0x5E0, // param3 must be 6 to engage a duel (hardcoded in the client)
|
||||||
EndDuelSession = 0x5E1, // because someone went oob?
|
EndDuelSession = 0x5E1, // because someone went oob?
|
||||||
StartDuelCountdown = 0x5E2, // begins a countdown; also does some duel bgm thing.
|
StartDuelCountdown = 0x5E2, // begins a countdown; also does some duel bgm thing.
|
||||||
StartDuel = 0x5E3, // actually all it does is set the challenger actor id;
|
StartDuel = 0x5E3, // actually all it does is set the challenger actor id;
|
||||||
DuelResultScreen = 0x5E4, // win/lose thing, also reset a target id just like what EndDuelSession does.
|
DuelResultScreen = 0x5E4, // win/lose thing, also reset a target id just like what EndDuelSession does.
|
||||||
|
|
||||||
// Duty Action
|
// Duty Action
|
||||||
SetDutyActionId = 0x5E8, // ContentExAction
|
SetDutyActionId = 0x5E8, // ContentExAction
|
||||||
SetDutyActionHud = 0x5E9, // disable/enable
|
SetDutyActionHud = 0x5E9, // disable/enable
|
||||||
SetDutyActionActive = 0x5EA,
|
SetDutyActionActive = 0x5EA,
|
||||||
SetDutyActionRemaining = 0x5EB,
|
SetDutyActionRemaining = 0x5EB,
|
||||||
|
|
|
@ -56,26 +56,26 @@ void Housing::HousingInteriorTerritory::onPlayerZoneIn( Entity::Player& player )
|
||||||
"HousingInteriorTerritory::onPlayerZoneIn: Zone#" + std::to_string( getGuId() ) + "|" + std::to_string( getTerritoryTypeId() ) +
|
"HousingInteriorTerritory::onPlayerZoneIn: Zone#" + std::to_string( getGuId() ) + "|" + std::to_string( getTerritoryTypeId() ) +
|
||||||
", Entity#" + std::to_string( player.getId() ) );
|
", Entity#" + std::to_string( player.getId() ) );
|
||||||
|
|
||||||
auto housingIndoorInitializPacket = makeZonePacket< FFXIVIpcHousingIndoorInitialize >( player.getId() );
|
auto indoorInitPacket = makeZonePacket< FFXIVIpcHousingIndoorInitialize >( player.getId() );
|
||||||
housingIndoorInitializPacket->data().u1 = 2578;
|
indoorInitPacket->data().u1 = 0;
|
||||||
housingIndoorInitializPacket->data().u2 = 10;
|
indoorInitPacket->data().u2 = 0;
|
||||||
housingIndoorInitializPacket->data().u3 = 530;
|
indoorInitPacket->data().u3 = 0;
|
||||||
housingIndoorInitializPacket->data().u4 = 266;
|
indoorInitPacket->data().u4 = 0;
|
||||||
|
|
||||||
auto landSetId = pHousingMgr->toLandSetId( m_landIdent.territoryTypeId, m_landIdent.wardNum );
|
auto landSetId = pHousingMgr->toLandSetId( m_landIdent.territoryTypeId, m_landIdent.wardNum );
|
||||||
auto pLand = pHousingMgr->getHousingZoneByLandSetId( landSetId )->getLand( m_landIdent.landId );
|
auto pLand = pHousingMgr->getHousingZoneByLandSetId( landSetId )->getLand( m_landIdent.landId );
|
||||||
auto pHouse = pLand->getHouse();
|
auto pHouse = pLand->getHouse();
|
||||||
|
|
||||||
|
for( auto i = 0; i < 10; i++ )
|
||||||
|
{
|
||||||
|
indoorInitPacket->data().indoorItems[ i ] = pHouse->getHouseInteriorPart( (Common::HousingInteriorSlot)i );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uint32_t yardPacketNum;
|
uint32_t yardPacketNum;
|
||||||
uint32_t yardPacketTotal = 2 + pLand->getSize();
|
uint32_t yardPacketTotal = 2 + pLand->getSize();
|
||||||
|
|
||||||
for( auto i = 0; i < 10; i++ )
|
player.queuePacket( indoorInitPacket );
|
||||||
{
|
|
||||||
housingIndoorInitializPacket->data().indoorItems[ i ] = pHouse->getHouseInteriorPart( (Common::HousingInteriorSlot)i );
|
|
||||||
}
|
|
||||||
|
|
||||||
player.queuePacket( housingIndoorInitializPacket );
|
|
||||||
|
|
||||||
for( yardPacketNum = 0; yardPacketNum < yardPacketTotal; yardPacketNum++ )
|
for( yardPacketNum = 0; yardPacketNum < yardPacketTotal; yardPacketNum++ )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue