1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-03 01:07:47 +00:00

Merge pull request #435 from NotAdam/housing

Misc fixes/improvements & new packet
This commit is contained in:
Mordred 2018-11-22 08:10:20 +01:00 committed by GitHub
commit 8456be8e7e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 16 additions and 5 deletions

View file

@ -295,7 +295,7 @@ enum ActorControlType : uint16_t
RequestWardLandInfo = 0x453, RequestWardLandInfo = 0x453,
RequestLandRelinquish = 0x454, RequestLandRelinquish = 0x454,
RequestEstateRename = 0x45A, RequestEstateRename = 0x45A,
RequestEstateGreeting = 0x45C, RequestEstateGreeting = 0x45C, // sends FFXIVIpcHousingEstateGreeting in return
RequestHousingItemUI = 0x463, RequestHousingItemUI = 0x463,
RequestSharedEstateSettings = 0x46F, RequestSharedEstateSettings = 0x46F,

View file

@ -191,6 +191,8 @@ namespace Core::Network::Packets
LandInfoSign = 0x0225, // updated 4.4 LandInfoSign = 0x0225, // updated 4.4
LandRename = 0x0226, // updated 4.4 LandRename = 0x0226, // updated 4.4
HousingEstateGreeting = 0x0227, // updated 4.4
LandPermissionSlot = 0x0228, // updated 4.4 LandPermissionSlot = 0x0228, // updated 4.4
LandPermission = 0x0229, // updated 4.4 LandPermission = 0x0229, // updated 4.4

View file

@ -1738,6 +1738,15 @@ struct FFXIVIpcHousingWardInfo : FFXIVIpcBasePacket< HousingWardInfo >
} houseInfoEntry[60]; } houseInfoEntry[60];
}; };
struct FFXIVIpcHousingEstateGreeting : FFXIVIpcBasePacket< HousingEstateGreeting >
{
uint8_t plotId;
uint8_t pad[3]; // unsure
uint16_t territoryTypeId;
uint16_t unk;
char message[200];
};
/** /**
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to show the current shared estate settings * to show the current shared estate settings

View file

@ -25,7 +25,7 @@ void Sapphire::World::Manager::PlayerMgr::movePlayerToLandDestination( Core::Ent
if( terriPos ) if( terriPos )
{ {
// check if its a housing zone, zoning is different here // check if its a housing zone, zoning is different here
if( terriMgr->isHousingTerritory( terriPos->getTargetZoneId() ) && param != 0 ) if( terriMgr->isHousingTerritory( terriPos->getTargetZoneId() ) )
{ {
auto housingMgr = g_fw.get< Core::HousingMgr >(); auto housingMgr = g_fw.get< Core::HousingMgr >();
auto landSetId = housingMgr->toLandSetId( terriPos->getTargetZoneId(), param ); auto landSetId = housingMgr->toLandSetId( terriPos->getTargetZoneId(), param );

View file

@ -168,7 +168,7 @@ void Core::Scripting::ScriptMgr::onPlayerFirstEnterWorld( Entity::Player& player
bool Core::Scripting::ScriptMgr::onTalk( Entity::Player& player, uint64_t actorId, uint32_t eventId ) bool Core::Scripting::ScriptMgr::onTalk( Entity::Player& player, uint64_t actorId, uint32_t eventId )
{ {
auto script = m_nativeScriptMgr->getScript< Sapphire::ScriptAPI::EventScript >( eventId & 0xFFFF0000 ); auto script = m_nativeScriptMgr->getScript< Sapphire::ScriptAPI::EventScript >( eventId );
if( script ) if( script )
{ {
script->onTalk( eventId, player, actorId ); script->onTalk( eventId, player, actorId );
@ -176,7 +176,7 @@ bool Core::Scripting::ScriptMgr::onTalk( Entity::Player& player, uint64_t actorI
} }
else else
{ {
auto script = m_nativeScriptMgr->getScript< Sapphire::ScriptAPI::EventScript >( eventId ); auto script = m_nativeScriptMgr->getScript< Sapphire::ScriptAPI::EventScript >( eventId & 0xFFFF0000 );
if( !script ) if( !script )
return false; return false;
@ -184,7 +184,7 @@ bool Core::Scripting::ScriptMgr::onTalk( Entity::Player& player, uint64_t actorI
return true; return true;
} }
return true; return false;
} }
bool Core::Scripting::ScriptMgr::onEnterTerritory( Entity::Player& player, uint32_t eventId, bool Core::Scripting::ScriptMgr::onEnterTerritory( Entity::Player& player, uint32_t eventId,