mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-02 16:57:47 +00:00
revert worldchannelpacket changes
This commit is contained in:
parent
c9c481d63a
commit
a973cfadd7
49 changed files with 199 additions and 199 deletions
|
@ -23,7 +23,7 @@ namespace Sapphire::Network::Packets
|
|||
class FFXIVIpcPacket;
|
||||
|
||||
template< class T >
|
||||
using WorldChannelPacket = FFXIVIpcPacket< T, ServerZoneIpcType >;
|
||||
using ZoneChannelPacket = FFXIVIpcPacket< T, ServerZoneIpcType >;
|
||||
|
||||
template< class T >
|
||||
using ChatChannelPacket = FFXIVIpcPacket< T, ServerChatIpcType >;
|
||||
|
@ -33,9 +33,9 @@ namespace Sapphire::Network::Packets
|
|||
|
||||
|
||||
template< class T, typename... Args >
|
||||
std::shared_ptr< WorldChannelPacket< T > > makeWorldPacket( Args... args )
|
||||
std::shared_ptr< ZoneChannelPacket< T > > makeZonePacket( Args... args )
|
||||
{
|
||||
return std::make_shared< WorldChannelPacket< T > >( args... );
|
||||
return std::make_shared< ZoneChannelPacket< T > >( args... );
|
||||
}
|
||||
|
||||
template< class T, typename... Args >
|
||||
|
|
|
@ -225,7 +225,7 @@ void Action::Action::start()
|
|||
|
||||
if( hasCastTime() )
|
||||
{
|
||||
auto castPacket = makeWorldPacket< Server::FFXIVIpcActorCast >( getId() );
|
||||
auto castPacket = makeZonePacket< Server::FFXIVIpcActorCast >( getId() );
|
||||
auto& data = castPacket->data();
|
||||
|
||||
data.action_id = static_cast< uint16_t >( m_id );
|
||||
|
|
|
@ -66,7 +66,7 @@ void Sapphire::Entity::Actor::setPos( float x, float y, float z, bool broadcastU
|
|||
m_pos.z = z;
|
||||
|
||||
if( broadcastUpdate )
|
||||
m_pCurrentZone->updateActorPosition( *this );
|
||||
m_pCurrentTerritory->updateActorPosition( *this );
|
||||
}
|
||||
|
||||
void Sapphire::Entity::Actor::setPos( const Sapphire::Common::FFXIVARR_POSITION3& pos, bool broadcastUpdate )
|
||||
|
@ -74,7 +74,7 @@ void Sapphire::Entity::Actor::setPos( const Sapphire::Common::FFXIVARR_POSITION3
|
|||
m_pos = pos;
|
||||
|
||||
if( broadcastUpdate )
|
||||
m_pCurrentZone->updateActorPosition( *this );
|
||||
m_pCurrentTerritory->updateActorPosition( *this );
|
||||
}
|
||||
|
||||
float Sapphire::Entity::Actor::getRot() const
|
||||
|
@ -333,20 +333,20 @@ std::set< Sapphire::Entity::ActorPtr > Sapphire::Entity::Actor::getInRangeActors
|
|||
/*! \return TerritoryPtr to the current zone, nullptr if not set */
|
||||
Sapphire::TerritoryPtr Sapphire::Entity::Actor::getCurrentTerritory() const
|
||||
{
|
||||
return m_pCurrentZone;
|
||||
return m_pCurrentTerritory;
|
||||
}
|
||||
|
||||
/*! \param TerritoryPtr to the zone to be set as current */
|
||||
void Sapphire::Entity::Actor::setCurrentTerritory( TerritoryPtr currZone )
|
||||
void Sapphire::Entity::Actor::setCurrentZone( TerritoryPtr currZone )
|
||||
{
|
||||
m_pCurrentZone = currZone;
|
||||
m_pCurrentTerritory = currZone;
|
||||
}
|
||||
|
||||
/*! \return InstanceContentPtr to the current instance, nullptr if not an instance or not set */
|
||||
Sapphire::InstanceContentPtr Sapphire::Entity::Actor::getCurrentInstance() const
|
||||
{
|
||||
if( m_pCurrentZone )
|
||||
return m_pCurrentZone->getAsInstanceContent();
|
||||
if( m_pCurrentTerritory )
|
||||
return m_pCurrentTerritory->getAsInstanceContent();
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -354,8 +354,8 @@ Sapphire::InstanceContentPtr Sapphire::Entity::Actor::getCurrentInstance() const
|
|||
/*! \return QuestBattlePtr to the current instance, nullptr if not an instance or not set */
|
||||
Sapphire::QuestBattlePtr Sapphire::Entity::Actor::getCurrentQuestBattle() const
|
||||
{
|
||||
if( m_pCurrentZone )
|
||||
return m_pCurrentZone->getAsQuestBattle();
|
||||
if( m_pCurrentTerritory )
|
||||
return m_pCurrentTerritory->getAsQuestBattle();
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace Sapphire::Entity
|
|||
/*! Id of the zone the actor currently is in */
|
||||
uint32_t m_territoryTypeId;
|
||||
/*! Ptr to the ZoneObj the actor belongs to */
|
||||
TerritoryPtr m_pCurrentZone;
|
||||
TerritoryPtr m_pCurrentTerritory;
|
||||
|
||||
/*! list of various actors in range */
|
||||
std::set< ActorPtr > m_inRangeActor;
|
||||
|
@ -124,7 +124,7 @@ namespace Sapphire::Entity
|
|||
|
||||
TerritoryPtr getCurrentTerritory() const;
|
||||
|
||||
void setCurrentTerritory( TerritoryPtr currZone );
|
||||
void setCurrentZone( TerritoryPtr currZone );
|
||||
|
||||
InstanceContentPtr getCurrentInstance() const;
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ Sapphire::Entity::BNpc::BNpc( uint32_t id, BNpcTemplatePtr pTemplate, float posX
|
|||
|
||||
m_class = ClassJob::Adventurer;
|
||||
|
||||
m_pCurrentZone = std::move( pZone );
|
||||
m_pCurrentTerritory = std::move( pZone );
|
||||
|
||||
m_spawnPos = m_pos;
|
||||
|
||||
|
@ -194,13 +194,13 @@ void Sapphire::Entity::BNpc::setState( BNpcState state )
|
|||
bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos )
|
||||
{
|
||||
|
||||
auto pNaviProvider = m_pCurrentZone->getNaviProvider();
|
||||
auto pNaviProvider = m_pCurrentTerritory->getNaviProvider();
|
||||
|
||||
if( !pNaviProvider )
|
||||
{
|
||||
Logger::error( "No NaviProvider for zone#{0} - {1}",
|
||||
m_pCurrentZone->getGuId(),
|
||||
m_pCurrentZone->getInternalName() );
|
||||
m_pCurrentTerritory->getGuId(),
|
||||
m_pCurrentTerritory->getInternalName() );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -216,7 +216,7 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos )
|
|||
return true;
|
||||
}
|
||||
|
||||
m_pCurrentZone->updateActorPosition( *this );
|
||||
m_pCurrentTerritory->updateActorPosition( *this );
|
||||
face( pos );
|
||||
setPos( pos1 );
|
||||
sendPositionUpdate();
|
||||
|
@ -226,13 +226,13 @@ bool Sapphire::Entity::BNpc::moveTo( const FFXIVARR_POSITION3& pos )
|
|||
bool Sapphire::Entity::BNpc::moveTo( const Entity::Chara& targetChara )
|
||||
{
|
||||
|
||||
auto pNaviProvider = m_pCurrentZone->getNaviProvider();
|
||||
auto pNaviProvider = m_pCurrentTerritory->getNaviProvider();
|
||||
|
||||
if( !pNaviProvider )
|
||||
{
|
||||
Logger::error( "No NaviProvider for zone#{0} - {1}",
|
||||
m_pCurrentZone->getGuId(),
|
||||
m_pCurrentZone->getInternalName() );
|
||||
m_pCurrentTerritory->getGuId(),
|
||||
m_pCurrentTerritory->getInternalName() );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -248,7 +248,7 @@ bool Sapphire::Entity::BNpc::moveTo( const Entity::Chara& targetChara )
|
|||
return true;
|
||||
}
|
||||
|
||||
m_pCurrentZone->updateActorPosition( *this );
|
||||
m_pCurrentTerritory->updateActorPosition( *this );
|
||||
face( targetChara.getPos() );
|
||||
setPos( pos1 );
|
||||
sendPositionUpdate();
|
||||
|
@ -407,7 +407,7 @@ void Sapphire::Entity::BNpc::update( uint64_t tickCount )
|
|||
const uint8_t maxDistanceToOrigin = 40;
|
||||
const uint32_t roamTick = 20;
|
||||
|
||||
auto pNaviProvider = m_pCurrentZone->getNaviProvider();
|
||||
auto pNaviProvider = m_pCurrentTerritory->getNaviProvider();
|
||||
|
||||
if( !pNaviProvider )
|
||||
return;
|
||||
|
@ -645,14 +645,14 @@ void Sapphire::Entity::BNpc::setOwner( Sapphire::Entity::CharaPtr m_pChara )
|
|||
m_pOwner = m_pChara;
|
||||
if( m_pChara != nullptr )
|
||||
{
|
||||
auto setOwnerPacket = makeWorldPacket< FFXIVIpcActorOwner >( m_pChara->getId() );
|
||||
auto setOwnerPacket = makeZonePacket< FFXIVIpcActorOwner >( m_pChara->getId() );
|
||||
setOwnerPacket->data().type = 0x01;
|
||||
setOwnerPacket->data().actorId = m_pChara->getId();
|
||||
sendToInRangeSet( setOwnerPacket );
|
||||
}
|
||||
else
|
||||
{
|
||||
auto setOwnerPacket = makeWorldPacket< FFXIVIpcActorOwner >( getId() );
|
||||
auto setOwnerPacket = makeZonePacket< FFXIVIpcActorOwner >( getId() );
|
||||
setOwnerPacket->data().type = 0x01;
|
||||
setOwnerPacket->data().actorId = INVALID_GAME_OBJECT_ID;
|
||||
sendToInRangeSet( setOwnerPacket );
|
||||
|
|
|
@ -518,7 +518,7 @@ void Sapphire::Entity::Chara::addStatusEffect( StatusEffect::StatusEffectPtr pEf
|
|||
pEffect->applyStatus();
|
||||
m_statusEffectMap[ nextSlot ] = pEffect;
|
||||
|
||||
auto statusEffectAdd = makeWorldPacket< FFXIVIpcEffectResult >( getId() );
|
||||
auto statusEffectAdd = makeZonePacket< FFXIVIpcEffectResult >( getId() );
|
||||
|
||||
statusEffectAdd->data().actor_id = pEffect->getTargetActorId();
|
||||
statusEffectAdd->data().current_hp = getHp();
|
||||
|
@ -639,7 +639,7 @@ void Sapphire::Entity::Chara::sendStatusEffectUpdate()
|
|||
uint64_t currentTimeMs = Util::getTimeMs();
|
||||
|
||||
|
||||
auto statusEffectList = makeWorldPacket< FFXIVIpcStatusEffectList >( getId() );
|
||||
auto statusEffectList = makeZonePacket< FFXIVIpcStatusEffectList >( getId() );
|
||||
statusEffectList->data().classId = static_cast< uint8_t >( getClass() );
|
||||
statusEffectList->data().level = getLevel();
|
||||
statusEffectList->data().level1 = getLevel();
|
||||
|
|
|
@ -120,7 +120,7 @@ void Sapphire::Entity::EventObject::spawn( Sapphire::Entity::PlayerPtr pTarget )
|
|||
|
||||
Logger::debug( "Spawning EObj: id#{0} name={1}", getId(), getName() );
|
||||
|
||||
auto eobjStatePacket = makeWorldPacket< FFXIVIpcObjectSpawn >( getId(), pTarget->getId() );
|
||||
auto eobjStatePacket = makeZonePacket< FFXIVIpcObjectSpawn >( getId(), pTarget->getId() );
|
||||
eobjStatePacket->data().spawnIndex = spawnIndex;
|
||||
eobjStatePacket->data().objKind = getObjKind();
|
||||
eobjStatePacket->data().state = getState();
|
||||
|
|
|
@ -236,7 +236,7 @@ uint64_t Sapphire::Entity::Player::getOnlineStatusMask() const
|
|||
|
||||
void Sapphire::Entity::Player::prepareZoning( uint16_t targetZone, bool fadeOut, uint8_t fadeOutTime, uint16_t animation )
|
||||
{
|
||||
auto preparePacket = makeWorldPacket< FFXIVIpcPrepareZoning >( getId() );
|
||||
auto preparePacket = makeZonePacket< FFXIVIpcPrepareZoning >( getId() );
|
||||
preparePacket->data().targetZone = targetZone;
|
||||
preparePacket->data().fadeOutTime = fadeOutTime;
|
||||
preparePacket->data().animation = animation;
|
||||
|
@ -311,7 +311,7 @@ bool Sapphire::Entity::Player::isAutoattackOn() const
|
|||
|
||||
void Sapphire::Entity::Player::sendStats()
|
||||
{
|
||||
auto statPacket = makeWorldPacket< FFXIVIpcPlayerStats >( getId() );
|
||||
auto statPacket = makeZonePacket< FFXIVIpcPlayerStats >( getId() );
|
||||
|
||||
statPacket->data().strength = getStatValue( Common::BaseParam::Strength );
|
||||
statPacket->data().dexterity = getStatValue( Common::BaseParam::Dexterity );
|
||||
|
@ -731,7 +731,7 @@ void Sapphire::Entity::Player::gainLevel()
|
|||
m_hp = getMaxHp();
|
||||
m_mp = getMaxMp();
|
||||
|
||||
auto effectListPacket = makeWorldPacket< FFXIVIpcStatusEffectList >( getId() );
|
||||
auto effectListPacket = makeZonePacket< FFXIVIpcStatusEffectList >( getId() );
|
||||
effectListPacket->data().classId = static_cast< uint8_t > ( getClass() );
|
||||
effectListPacket->data().level1 = getLevel();
|
||||
effectListPacket->data().level = getLevel();
|
||||
|
@ -745,7 +745,7 @@ void Sapphire::Entity::Player::gainLevel()
|
|||
sendToInRangeSet( makeActorControl142( getId(), LevelUpEffect, static_cast< uint8_t >( getClass() ),
|
||||
getLevel(), getLevel() - 1 ), true );
|
||||
|
||||
auto classInfoPacket = makeWorldPacket< FFXIVIpcUpdateClassInfo >( getId() );
|
||||
auto classInfoPacket = makeZonePacket< FFXIVIpcUpdateClassInfo >( getId() );
|
||||
classInfoPacket->data().classId = static_cast< uint8_t > ( getClass() );
|
||||
classInfoPacket->data().level1 = getLevel();
|
||||
classInfoPacket->data().level = getLevel();
|
||||
|
@ -818,7 +818,7 @@ void Sapphire::Entity::Player::setClassJob( Common::ClassJob classJob )
|
|||
|
||||
m_tp = 0;
|
||||
|
||||
auto classInfoPacket = makeWorldPacket< FFXIVIpcPlayerClassInfo >( getId() );
|
||||
auto classInfoPacket = makeZonePacket< FFXIVIpcPlayerClassInfo >( getId() );
|
||||
classInfoPacket->data().classId = static_cast< uint8_t >( getClass() );
|
||||
classInfoPacket->data().classLevel = getLevel();
|
||||
classInfoPacket->data().syncedLevel = getLevel();
|
||||
|
@ -954,7 +954,7 @@ void Sapphire::Entity::Player::setGc( uint8_t gc )
|
|||
{
|
||||
m_gc = gc;
|
||||
|
||||
auto gcAffPacket = makeWorldPacket< FFXIVGCAffiliation >( getId() );
|
||||
auto gcAffPacket = makeZonePacket< FFXIVGCAffiliation >( getId() );
|
||||
gcAffPacket->data().gcId = m_gc;
|
||||
gcAffPacket->data().gcRank[ 0 ] = m_gcRank[ 0 ];
|
||||
gcAffPacket->data().gcRank[ 1 ] = m_gcRank[ 1 ];
|
||||
|
@ -966,7 +966,7 @@ void Sapphire::Entity::Player::setGcRankAt( uint8_t index, uint8_t rank )
|
|||
{
|
||||
m_gcRank[ index ] = rank;
|
||||
|
||||
auto gcAffPacket = makeWorldPacket< FFXIVGCAffiliation >( getId() );
|
||||
auto gcAffPacket = makeZonePacket< FFXIVGCAffiliation >( getId() );
|
||||
gcAffPacket->data().gcId = m_gc;
|
||||
gcAffPacket->data().gcRank[ 0 ] = m_gcRank[ 0 ];
|
||||
gcAffPacket->data().gcRank[ 1 ] = m_gcRank[ 1 ];
|
||||
|
@ -1069,7 +1069,7 @@ void Sapphire::Entity::Player::update( uint64_t tickCount )
|
|||
}
|
||||
else
|
||||
{
|
||||
auto setActorPosPacket = makeWorldPacket< FFXIVIpcActorSetPos >( getId() );
|
||||
auto setActorPosPacket = makeZonePacket< FFXIVIpcActorSetPos >( getId() );
|
||||
setActorPosPacket->data().r16 = Util::floatToUInt16Rot( m_queuedZoneing->m_targetRotation );
|
||||
setActorPosPacket->data().waitForLoad = 0x04;
|
||||
setActorPosPacket->data().x = targetPos.x;
|
||||
|
@ -1153,7 +1153,7 @@ void Sapphire::Entity::Player::freePlayerSpawnId( uint32_t actorId )
|
|||
if( spawnId == m_actorSpawnIndexAllocator.getAllocFailId() )
|
||||
return;
|
||||
|
||||
auto freeActorSpawnPacket = makeWorldPacket< FFXIVIpcActorFreeSpawn >( getId() );
|
||||
auto freeActorSpawnPacket = makeZonePacket< FFXIVIpcActorFreeSpawn >( getId() );
|
||||
freeActorSpawnPacket->data().actorId = actorId;
|
||||
freeActorSpawnPacket->data().spawnId = spawnId;
|
||||
queuePacket( freeActorSpawnPacket );
|
||||
|
@ -1408,9 +1408,9 @@ bool Sapphire::Entity::Player::hateListHasEntry( BNpcPtr pBNpc )
|
|||
|
||||
void Sapphire::Entity::Player::sendHateList()
|
||||
{
|
||||
auto hateListPacket = makeWorldPacket< FFXIVIpcHateList >( getId() );
|
||||
auto hateListPacket = makeZonePacket< FFXIVIpcHateList >( getId() );
|
||||
hateListPacket->data().numEntries = m_actorIdTohateSlotMap.size();
|
||||
auto hateRankPacket = makeWorldPacket< FFXIVIpcHateRank >( getId() );
|
||||
auto hateRankPacket = makeZonePacket< FFXIVIpcHateRank >( getId() );
|
||||
hateRankPacket->data().numEntries = m_actorIdTohateSlotMap.size();
|
||||
auto it = m_actorIdTohateSlotMap.begin();
|
||||
for( int32_t i = 0; it != m_actorIdTohateSlotMap.end(); ++it, i++ )
|
||||
|
@ -1490,7 +1490,7 @@ void Sapphire::Entity::Player::setTitle( uint16_t titleId )
|
|||
void Sapphire::Entity::Player::setEquipDisplayFlags( uint8_t state )
|
||||
{
|
||||
m_equipDisplayFlags = state;
|
||||
auto paramPacket = makeWorldPacket< FFXIVIpcEquipDisplayFlags >( getId() );
|
||||
auto paramPacket = makeZonePacket< FFXIVIpcEquipDisplayFlags >( getId() );
|
||||
paramPacket->data().bitmask = m_equipDisplayFlags;
|
||||
sendToInRangeSet( paramPacket, true );
|
||||
}
|
||||
|
@ -1507,7 +1507,7 @@ void Sapphire::Entity::Player::mount( uint32_t id )
|
|||
static_cast< uint8_t >( Common::ActorStatus::Mounted ) ), true );
|
||||
sendToInRangeSet( makeActorControl143( getId(), 0x39e, 12 ), true ); //?
|
||||
|
||||
auto mountPacket = makeWorldPacket< FFXIVIpcMount >( getId() );
|
||||
auto mountPacket = makeZonePacket< FFXIVIpcMount >( getId() );
|
||||
mountPacket->data().id = id;
|
||||
sendToInRangeSet( mountPacket, true );
|
||||
}
|
||||
|
@ -1655,7 +1655,7 @@ uint16_t Sapphire::Entity::Player::getItemLevel() const
|
|||
void Sapphire::Entity::Player::setEorzeaTimeOffset( uint64_t timestamp )
|
||||
{
|
||||
// TODO: maybe change to persistent?
|
||||
auto packet = makeWorldPacket< FFXIVIpcEorzeaTimeOffset >( getId() );
|
||||
auto packet = makeZonePacket< FFXIVIpcEorzeaTimeOffset >( getId() );
|
||||
packet->data().timestamp = timestamp;
|
||||
|
||||
// Send to single player
|
||||
|
@ -1683,7 +1683,7 @@ void Sapphire::Entity::Player::sendZonePackets()
|
|||
|
||||
getCurrentTerritory()->onBeforePlayerZoneIn( *this );
|
||||
|
||||
auto initPacket = makeWorldPacket< FFXIVIpcInit >( getId() );
|
||||
auto initPacket = makeZonePacket< FFXIVIpcInit >( getId() );
|
||||
initPacket->data().charId = getId();
|
||||
queuePacket( initPacket );
|
||||
|
||||
|
@ -1706,7 +1706,7 @@ void Sapphire::Entity::Player::sendZonePackets()
|
|||
// only initialize the UI if the player in fact just logged in.
|
||||
if( isLogin() )
|
||||
{
|
||||
auto contentFinderList = makeWorldPacket< FFXIVIpcCFAvailableContents >( getId() );
|
||||
auto contentFinderList = makeZonePacket< FFXIVIpcCFAvailableContents >( getId() );
|
||||
|
||||
for( auto i = 0; i < sizeof( contentFinderList->data().contents ); i++ )
|
||||
{
|
||||
|
@ -1717,7 +1717,7 @@ void Sapphire::Entity::Player::sendZonePackets()
|
|||
|
||||
queuePacket( std::make_shared< PlayerSetupPacket >( *this ) );
|
||||
|
||||
auto classInfoPacket = makeWorldPacket< FFXIVIpcPlayerClassInfo >( getId() );
|
||||
auto classInfoPacket = makeZonePacket< FFXIVIpcPlayerClassInfo >( getId() );
|
||||
classInfoPacket->data().classId = static_cast< uint8_t >( getClass() );
|
||||
classInfoPacket->data().unknown = 1;
|
||||
classInfoPacket->data().syncedLevel = getLevel();
|
||||
|
@ -1746,7 +1746,7 @@ void Sapphire::Entity::Player::sendZonePackets()
|
|||
|
||||
sendLandFlags();
|
||||
|
||||
auto initZonePacket = makeWorldPacket< FFXIVIpcInitZone >( getId() );
|
||||
auto initZonePacket = makeZonePacket< FFXIVIpcInitZone >( getId() );
|
||||
initZonePacket->data().zoneId = getCurrentTerritory()->getTerritoryTypeId();
|
||||
initZonePacket->data().weatherId = static_cast< uint8_t >( getCurrentTerritory()->getCurrentWeather() );
|
||||
initZonePacket->data().bitmask = 0x1;
|
||||
|
@ -1761,10 +1761,10 @@ void Sapphire::Entity::Player::sendZonePackets()
|
|||
|
||||
if( isLogin() )
|
||||
{
|
||||
auto unk322 = makeWorldPacket< FFXIVARR_IPC_UNK322 >( getId() );
|
||||
auto unk322 = makeZonePacket< FFXIVARR_IPC_UNK322 >( getId() );
|
||||
queuePacket( unk322 );
|
||||
|
||||
auto unk320 = makeWorldPacket< FFXIVARR_IPC_UNK320 >( getId() );
|
||||
auto unk320 = makeZonePacket< FFXIVARR_IPC_UNK320 >( getId() );
|
||||
queuePacket( unk320 );
|
||||
}
|
||||
|
||||
|
@ -1786,7 +1786,7 @@ bool Sapphire::Entity::Player::isDirectorInitialized() const
|
|||
|
||||
void Sapphire::Entity::Player::sendTitleList()
|
||||
{
|
||||
auto titleListPacket = makeWorldPacket< FFXIVIpcPlayerTitleList >( getId() );
|
||||
auto titleListPacket = makeZonePacket< FFXIVIpcPlayerTitleList >( getId() );
|
||||
memcpy( titleListPacket->data().titleList, getTitleList(), sizeof( titleListPacket->data().titleList ) );
|
||||
|
||||
queuePacket( titleListPacket );
|
||||
|
@ -1930,7 +1930,7 @@ void Sapphire::Entity::Player::freeObjSpawnIndexForActorId( uint32_t actorId )
|
|||
if( spawnId == m_objSpawnIndexAllocator.getAllocFailId() )
|
||||
return;
|
||||
|
||||
auto freeObjectSpawnPacket = makeWorldPacket< FFXIVIpcObjectDespawn >( getId() );
|
||||
auto freeObjectSpawnPacket = makeZonePacket< FFXIVIpcObjectDespawn >( getId() );
|
||||
freeObjectSpawnPacket->data().spawnIndex = spawnId;
|
||||
queuePacket( freeObjectSpawnPacket );
|
||||
}
|
||||
|
@ -1961,7 +1961,7 @@ void Sapphire::Entity::Player::setLandFlags( uint8_t flagSlot, uint32_t landFlag
|
|||
|
||||
void Sapphire::Entity::Player::sendLandFlags()
|
||||
{
|
||||
auto landFlags = makeWorldPacket< FFXIVIpcHousingLandFlags >( getId() );
|
||||
auto landFlags = makeZonePacket< FFXIVIpcHousingLandFlags >( getId() );
|
||||
|
||||
landFlags->data().freeCompanyHouse = m_landFlags[ Common::LandFlagsSlot::FreeCompany ];
|
||||
landFlags->data().privateHouse = m_landFlags[ Common::LandFlagsSlot::Private ];
|
||||
|
@ -1974,7 +1974,7 @@ void Sapphire::Entity::Player::sendLandFlags()
|
|||
|
||||
void Sapphire::Entity::Player::sendLandFlagsSlot( Common::LandFlagsSlot slot )
|
||||
{
|
||||
auto landFlags = makeWorldPacket< FFXIVIpcHousingUpdateLandFlagsSlot >( getId() );
|
||||
auto landFlags = makeZonePacket< FFXIVIpcHousingUpdateLandFlagsSlot >( getId() );
|
||||
|
||||
uint32_t type = 0;
|
||||
|
||||
|
@ -2012,7 +2012,7 @@ void Sapphire::Entity::Player::sendHuntingLog()
|
|||
for( const auto& entry : m_huntingLogEntries )
|
||||
{
|
||||
uint64_t completionFlag = 0;
|
||||
auto huntPacket = makeWorldPacket< FFXIVIpcHuntingLogEntry >( getId() );
|
||||
auto huntPacket = makeZonePacket< FFXIVIpcHuntingLogEntry >( getId() );
|
||||
|
||||
huntPacket->data().u0 = -1;
|
||||
huntPacket->data().rank = entry.rank;
|
||||
|
|
|
@ -141,7 +141,7 @@ void Sapphire::Entity::Player::playGilShop( uint32_t eventId, uint32_t flags,
|
|||
pEvent->setEventReturnCallback( eventCallback );
|
||||
pEvent->setSceneChainCallback( nullptr );
|
||||
|
||||
auto openGilShopPacket = makeWorldPacket< Server::FFXIVIpcEventOpenGilShop >( getId() );
|
||||
auto openGilShopPacket = makeZonePacket< Server::FFXIVIpcEventOpenGilShop >( getId() );
|
||||
openGilShopPacket->data().eventId = eventId;
|
||||
openGilShopPacket->data().sceneFlags = flags;
|
||||
openGilShopPacket->data().actorId = getId();
|
||||
|
|
|
@ -815,7 +815,7 @@ void Sapphire::Entity::Player::discardItem( uint16_t fromInventoryId, uint8_t fr
|
|||
m_storageMap[ fromInventoryId ]->removeItem( fromSlotId );
|
||||
updateContainer( fromInventoryId, fromSlotId, nullptr );
|
||||
|
||||
auto invTransPacket = makeWorldPacket< FFXIVIpcInventoryTransaction >( getId() );
|
||||
auto invTransPacket = makeZonePacket< FFXIVIpcInventoryTransaction >( getId() );
|
||||
invTransPacket->data().sequence = sequence;
|
||||
invTransPacket->data().ownerId = getId();
|
||||
invTransPacket->data().storageId = fromInventoryId;
|
||||
|
@ -825,7 +825,7 @@ void Sapphire::Entity::Player::discardItem( uint16_t fromInventoryId, uint8_t fr
|
|||
invTransPacket->data().type = 7;
|
||||
queuePacket( invTransPacket );
|
||||
|
||||
auto invTransFinPacket = makeWorldPacket< FFXIVIpcInventoryTransactionFinish >( getId() );
|
||||
auto invTransFinPacket = makeZonePacket< FFXIVIpcInventoryTransactionFinish >( getId() );
|
||||
invTransFinPacket->data().sequenceId = sequence;
|
||||
invTransFinPacket->data().sequenceId1 = sequence;
|
||||
queuePacket( invTransFinPacket );
|
||||
|
@ -930,7 +930,7 @@ Sapphire::ItemPtr Sapphire::Entity::Player::dropInventoryItem( Sapphire::Common:
|
|||
auto seq = getNextInventorySequence();
|
||||
|
||||
// send inv update
|
||||
auto invTransPacket = makeWorldPacket< FFXIVIpcInventoryTransaction >( getId() );
|
||||
auto invTransPacket = makeZonePacket< FFXIVIpcInventoryTransaction >( getId() );
|
||||
invTransPacket->data().sequence = seq;
|
||||
invTransPacket->data().ownerId = getId();
|
||||
invTransPacket->data().storageId = type;
|
||||
|
@ -940,7 +940,7 @@ Sapphire::ItemPtr Sapphire::Entity::Player::dropInventoryItem( Sapphire::Common:
|
|||
invTransPacket->data().type = 7;
|
||||
queuePacket( invTransPacket );
|
||||
|
||||
auto invTransFinPacket = makeWorldPacket< FFXIVIpcInventoryTransactionFinish >( getId() );
|
||||
auto invTransFinPacket = makeZonePacket< FFXIVIpcInventoryTransactionFinish >( getId() );
|
||||
invTransFinPacket->data().sequenceId = seq;
|
||||
invTransFinPacket->data().sequenceId1 = seq;
|
||||
queuePacket( invTransFinPacket );
|
||||
|
|
|
@ -39,13 +39,13 @@ void Sapphire::Entity::Player::removeQuest( uint16_t questId )
|
|||
if( ( idx != -1 ) && ( m_activeQuests[ idx ] != nullptr ) )
|
||||
{
|
||||
|
||||
auto questUpdatePacket = makeWorldPacket< FFXIVIpcQuestUpdate >( getId() );
|
||||
auto questUpdatePacket = makeZonePacket< FFXIVIpcQuestUpdate >( getId() );
|
||||
questUpdatePacket->data().slot = static_cast< uint8_t >( idx );
|
||||
questUpdatePacket->data().questInfo.c.questId = 0;
|
||||
questUpdatePacket->data().questInfo.c.sequence = 0xFF;
|
||||
queuePacket( questUpdatePacket );
|
||||
|
||||
auto questFinishPacket = makeWorldPacket< FFXIVIpcQuestFinish >( getId() );
|
||||
auto questFinishPacket = makeZonePacket< FFXIVIpcQuestFinish >( getId() );
|
||||
questFinishPacket->data().questId = questId;
|
||||
questFinishPacket->data().flag1 = 1;
|
||||
questFinishPacket->data().flag2 = 1;
|
||||
|
@ -890,7 +890,7 @@ void Sapphire::Entity::Player::updateQuest( uint16_t questId, uint8_t sequence )
|
|||
uint8_t index = getQuestIndex( questId );
|
||||
auto pNewQuest = m_activeQuests[ index ];
|
||||
|
||||
auto questUpdatePacket = makeWorldPacket< FFXIVIpcQuestUpdate >( getId() );
|
||||
auto questUpdatePacket = makeZonePacket< FFXIVIpcQuestUpdate >( getId() );
|
||||
pNewQuest->c.sequence = sequence;
|
||||
questUpdatePacket->data().slot = index;
|
||||
questUpdatePacket->data().questInfo = *pNewQuest;
|
||||
|
@ -920,7 +920,7 @@ void Sapphire::Entity::Player::updateQuest( uint16_t questId, uint8_t sequence )
|
|||
m_questIdToQuestIdx[ questId ] = idx;
|
||||
m_questIdxToQuestId[ idx ] = questId;
|
||||
|
||||
auto questUpdatePacket = makeWorldPacket< FFXIVIpcQuestUpdate >( getId() );
|
||||
auto questUpdatePacket = makeZonePacket< FFXIVIpcQuestUpdate >( getId() );
|
||||
questUpdatePacket->data().slot = idx;
|
||||
questUpdatePacket->data().questInfo = *pNewQuest;
|
||||
queuePacket( questUpdatePacket );
|
||||
|
@ -942,7 +942,7 @@ void Sapphire::Entity::Player::updateQuest( uint16_t questId, uint8_t sequence )
|
|||
|
||||
void Sapphire::Entity::Player::sendQuestTracker()
|
||||
{
|
||||
auto trackerPacket = makeWorldPacket< FFXIVIpcQuestTracker >( getId() );
|
||||
auto trackerPacket = makeZonePacket< FFXIVIpcQuestTracker >( getId() );
|
||||
|
||||
for( int32_t ii = 0; ii < 5; ii++ )
|
||||
{
|
||||
|
@ -987,7 +987,7 @@ void Sapphire::Entity::Player::setQuestTracker( uint16_t index, int16_t flag )
|
|||
|
||||
void Sapphire::Entity::Player::sendQuestInfo()
|
||||
{
|
||||
auto activeQuestListPacket = makeWorldPacket< FFXIVIpcQuestActiveList >( getId() );
|
||||
auto activeQuestListPacket = makeZonePacket< FFXIVIpcQuestActiveList >( getId() );
|
||||
|
||||
for( int32_t i = 0; i < 30; i++ )
|
||||
{
|
||||
|
@ -1003,7 +1003,7 @@ void Sapphire::Entity::Player::sendQuestInfo()
|
|||
|
||||
queuePacket( activeQuestListPacket );
|
||||
|
||||
auto completeQuestListPacket = makeWorldPacket< FFXIVIpcQuestCompleteList >( getId() );
|
||||
auto completeQuestListPacket = makeZonePacket< FFXIVIpcQuestCompleteList >( getId() );
|
||||
memcpy( completeQuestListPacket->data().questCompleteMask, m_questCompleteFlags, sizeof( m_questCompleteFlags ) );
|
||||
queuePacket( completeQuestListPacket );
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ void Sapphire::Event::Director::sendDirectorClear( Sapphire::Entity::Player& pla
|
|||
|
||||
void Sapphire::Event::Director::sendDirectorVars( Sapphire::Entity::Player& player ) const
|
||||
{
|
||||
auto varPacket = makeWorldPacket< FFXIVIpcDirectorVars >( player.getId() );
|
||||
auto varPacket = makeZonePacket< FFXIVIpcDirectorVars >( player.getId() );
|
||||
varPacket->data().m_directorId = getDirectorId();
|
||||
varPacket->data().m_sequence = getSequence();
|
||||
varPacket->data().m_branch = 0;
|
||||
|
|
|
@ -188,7 +188,7 @@ void Sapphire::World::Manager::DebugCommandMgr::set( char* data, Entity::Player&
|
|||
player.getPos().y + static_cast< float >( posY ),
|
||||
player.getPos().z + static_cast< float >( posZ ) );
|
||||
|
||||
auto setActorPosPacket = makeWorldPacket< FFXIVIpcActorSetPos >( player.getId() );
|
||||
auto setActorPosPacket = makeZonePacket< FFXIVIpcActorSetPos >( player.getId() );
|
||||
setActorPosPacket->data().x = player.getPos().x;
|
||||
setActorPosPacket->data().y = player.getPos().y;
|
||||
setActorPosPacket->data().z = player.getPos().z;
|
||||
|
@ -208,7 +208,7 @@ void Sapphire::World::Manager::DebugCommandMgr::set( char* data, Entity::Player&
|
|||
int32_t discover_id;
|
||||
sscanf( params.c_str(), "%i %i", &map_id, &discover_id );
|
||||
|
||||
auto discoveryPacket = makeWorldPacket< FFXIVIpcDiscovery >( player.getId() );
|
||||
auto discoveryPacket = makeZonePacket< FFXIVIpcDiscovery >( player.getId() );
|
||||
discoveryPacket->data().map_id = map_id;
|
||||
discoveryPacket->data().map_part_id = discover_id;
|
||||
player.queuePacket( discoveryPacket );
|
||||
|
@ -281,7 +281,7 @@ void Sapphire::World::Manager::DebugCommandMgr::set( char* data, Entity::Player&
|
|||
int32_t id;
|
||||
sscanf( params.c_str(), "%d", &id );
|
||||
|
||||
auto msqPacket = makeWorldPacket< FFXIVIpcMSQTrackerProgress >( player.getId() );
|
||||
auto msqPacket = makeZonePacket< FFXIVIpcMSQTrackerProgress >( player.getId() );
|
||||
msqPacket->data().id = id;
|
||||
player.queuePacket( msqPacket );
|
||||
|
||||
|
@ -292,7 +292,7 @@ void Sapphire::World::Manager::DebugCommandMgr::set( char* data, Entity::Player&
|
|||
int32_t id;
|
||||
sscanf( params.c_str(), "%d", &id );
|
||||
|
||||
auto msqPacket = makeWorldPacket< FFXIVIpcMSQTrackerComplete >( player.getId() );
|
||||
auto msqPacket = makeZonePacket< FFXIVIpcMSQTrackerComplete >( player.getId() );
|
||||
msqPacket->data().id = id;
|
||||
player.queuePacket( msqPacket );
|
||||
|
||||
|
@ -459,7 +459,7 @@ void Sapphire::World::Manager::DebugCommandMgr::add( char* data, Entity::Player&
|
|||
|
||||
|
||||
|
||||
//pBNpc->setCurrentTerritory( playerZone );
|
||||
//pBNpc->setCurrentZone( playerZone );
|
||||
//pBNpc->setPos( player.getPos().x, player.getPos().y, player.getPos().z );
|
||||
|
||||
playerZone->pushActor( pBNpc );
|
||||
|
@ -494,7 +494,7 @@ void Sapphire::World::Manager::DebugCommandMgr::add( char* data, Entity::Player&
|
|||
|
||||
player.sendNotice( "Injecting ACTOR_CONTROL {0}", opcode );
|
||||
|
||||
auto actorControl = makeWorldPacket< FFXIVIpcActorControl143 >( playerId, player.getId() );
|
||||
auto actorControl = makeZonePacket< FFXIVIpcActorControl143 >( playerId, player.getId() );
|
||||
actorControl->data().category = opcode;
|
||||
actorControl->data().param1 = param1;
|
||||
actorControl->data().param2 = param2;
|
||||
|
@ -703,7 +703,7 @@ void Sapphire::World::Manager::DebugCommandMgr::nudge( char* data, Entity::Playe
|
|||
}
|
||||
if( offset != 0 )
|
||||
{
|
||||
auto setActorPosPacket = makeWorldPacket< FFXIVIpcActorSetPos >( player.getId() );
|
||||
auto setActorPosPacket = makeZonePacket< FFXIVIpcActorSetPos >( player.getId() );
|
||||
setActorPosPacket->data().x = player.getPos().x;
|
||||
setActorPosPacket->data().y = player.getPos().y;
|
||||
setActorPosPacket->data().z = player.getPos().z;
|
||||
|
|
|
@ -322,7 +322,7 @@ void Sapphire::World::Manager::HousingMgr::sendLandSignOwned( Entity::Player& pl
|
|||
if( !land )
|
||||
return;
|
||||
|
||||
auto landInfoSignPacket = makeWorldPacket< Server::FFXIVIpcLandInfoSign >( player.getId() );
|
||||
auto landInfoSignPacket = makeZonePacket< Server::FFXIVIpcLandInfoSign >( player.getId() );
|
||||
landInfoSignPacket->data().houseSize = land->getSize();
|
||||
landInfoSignPacket->data().houseType = static_cast< uint8_t >( land->getLandType() );
|
||||
landInfoSignPacket->data().landIdent = ident;
|
||||
|
@ -354,7 +354,7 @@ void Sapphire::World::Manager::HousingMgr::sendLandSignFree( Entity::Player& pla
|
|||
return;
|
||||
|
||||
auto land = hZone->getLand( ident.landId );
|
||||
auto plotPricePacket = makeWorldPacket< Server::FFXIVIpcLandPriceUpdate >( player.getId() );
|
||||
auto plotPricePacket = makeZonePacket< Server::FFXIVIpcLandPriceUpdate >( player.getId() );
|
||||
plotPricePacket->data().price = land->getCurrentPrice();
|
||||
plotPricePacket->data().timeLeft = land->getDevaluationTime();
|
||||
player.queuePacket( plotPricePacket );
|
||||
|
@ -469,7 +469,7 @@ void Sapphire::World::Manager::HousingMgr::sendWardLandInfo( Entity::Player& pla
|
|||
if( !hZone )
|
||||
return;
|
||||
|
||||
auto wardInfoPacket = makeWorldPacket< Server::FFXIVIpcHousingWardInfo >( player.getId() );
|
||||
auto wardInfoPacket = makeZonePacket< Server::FFXIVIpcHousingWardInfo >( player.getId() );
|
||||
wardInfoPacket->data().landIdent.wardNum = wardId;
|
||||
wardInfoPacket->data().landIdent.territoryTypeId = territoryTypeId;
|
||||
|
||||
|
@ -538,7 +538,7 @@ void Sapphire::World::Manager::HousingMgr::sendEstateGreeting( Entity::Player& p
|
|||
if( !house )
|
||||
return;
|
||||
|
||||
auto greetingPacket = makeWorldPacket< FFXIVIpcHousingEstateGreeting >( player.getId() );
|
||||
auto greetingPacket = makeZonePacket< FFXIVIpcHousingEstateGreeting >( player.getId() );
|
||||
|
||||
greetingPacket->data().landIdent = ident;
|
||||
|
||||
|
@ -723,7 +723,7 @@ void Sapphire::World::Manager::HousingMgr::requestEstateRename( Entity::Player&
|
|||
if( !house )
|
||||
return;
|
||||
|
||||
auto landRenamePacket = makeWorldPacket< Server::FFXIVIpcLandRename >( player.getId() );
|
||||
auto landRenamePacket = makeZonePacket< Server::FFXIVIpcLandRename >( player.getId() );
|
||||
|
||||
landRenamePacket->data().landIdent = ident;
|
||||
memcpy( &landRenamePacket->data().houseName, house->getHouseName().c_str(), 20 );
|
||||
|
@ -747,7 +747,7 @@ void Sapphire::World::Manager::HousingMgr::requestEstateEditGreeting( Entity::Pl
|
|||
if( !house )
|
||||
return;
|
||||
|
||||
auto estateGreetingPacket = makeWorldPacket< Server::FFXIVIpcHousingEstateGreeting >( player.getId() );
|
||||
auto estateGreetingPacket = makeZonePacket< Server::FFXIVIpcHousingEstateGreeting >( player.getId() );
|
||||
|
||||
estateGreetingPacket->data().landIdent = ident;
|
||||
memcpy( &estateGreetingPacket->data().message, house->getHouseGreeting().c_str(), sizeof( estateGreetingPacket->data().message ) );
|
||||
|
@ -795,7 +795,7 @@ void Sapphire::World::Manager::HousingMgr::requestEstateEditGuestAccess( Entity:
|
|||
if( !hasPermission( player, *land, 0 ) )
|
||||
return;
|
||||
|
||||
auto packet = makeWorldPacket< Server::FFXIVIpcHousingShowEstateGuestAccess >( player.getId() );
|
||||
auto packet = makeZonePacket< Server::FFXIVIpcHousingShowEstateGuestAccess >( player.getId() );
|
||||
packet->data().ident = ident;
|
||||
|
||||
player.queuePacket( packet );
|
||||
|
|
|
@ -32,7 +32,7 @@ void Sapphire::World::Manager::InventoryMgr::sendInventoryContainer( Sapphire::E
|
|||
|
||||
if( container->getId() == Common::InventoryType::Currency || container->getId() == Common::InventoryType::Crystal )
|
||||
{
|
||||
auto currencyInfoPacket = makeWorldPacket< Server::FFXIVIpcCurrencyCrystalInfo >( player.getId() );
|
||||
auto currencyInfoPacket = makeZonePacket< Server::FFXIVIpcCurrencyCrystalInfo >( player.getId() );
|
||||
currencyInfoPacket->data().containerSequence = sequence;
|
||||
currencyInfoPacket->data().catalogId = itM->second->getId();
|
||||
currencyInfoPacket->data().unknown = 1;
|
||||
|
@ -44,7 +44,7 @@ void Sapphire::World::Manager::InventoryMgr::sendInventoryContainer( Sapphire::E
|
|||
}
|
||||
else
|
||||
{
|
||||
auto itemInfoPacket = makeWorldPacket< Server::FFXIVIpcItemInfo >( player.getId() );
|
||||
auto itemInfoPacket = makeZonePacket< Server::FFXIVIpcItemInfo >( player.getId() );
|
||||
itemInfoPacket->data().containerSequence = sequence;
|
||||
itemInfoPacket->data().containerId = container->getId();
|
||||
itemInfoPacket->data().slot = itM->first;
|
||||
|
@ -60,7 +60,7 @@ void Sapphire::World::Manager::InventoryMgr::sendInventoryContainer( Sapphire::E
|
|||
}
|
||||
}
|
||||
|
||||
auto containerInfoPacket = makeWorldPacket< Server::FFXIVIpcContainerInfo >( player.getId() );
|
||||
auto containerInfoPacket = makeZonePacket< Server::FFXIVIpcContainerInfo >( player.getId() );
|
||||
containerInfoPacket->data().containerSequence = sequence;
|
||||
containerInfoPacket->data().numItems = container->getEntryCount();
|
||||
containerInfoPacket->data().containerId = container->getId();
|
||||
|
|
|
@ -64,14 +64,14 @@ bool Sapphire::World::Manager::MarketMgr::init()
|
|||
void Sapphire::World::Manager::MarketMgr::requestItemListingInfo( Sapphire::Entity::Player& player, uint32_t catalogId,
|
||||
uint32_t requestId )
|
||||
{
|
||||
auto countPkt = makeWorldPacket< Server::FFFXIVIpcMarketBoardItemListingCount >( player.getId() );
|
||||
auto countPkt = makeZonePacket< Server::FFFXIVIpcMarketBoardItemListingCount >( player.getId() );
|
||||
countPkt->data().quantity = 1 << 8;
|
||||
countPkt->data().itemCatalogId = catalogId;
|
||||
countPkt->data().requestId = requestId;
|
||||
|
||||
player.queuePacket( countPkt );
|
||||
|
||||
auto historyPkt = makeWorldPacket< Server::FFXIVIpcMarketBoardItemListingHistory >( player.getId() );
|
||||
auto historyPkt = makeZonePacket< Server::FFXIVIpcMarketBoardItemListingHistory >( player.getId() );
|
||||
historyPkt->data().itemCatalogId = catalogId;
|
||||
historyPkt->data().itemCatalogId2 = catalogId;
|
||||
|
||||
|
@ -111,7 +111,7 @@ void Sapphire::World::Manager::MarketMgr::searchMarketboard( Entity::Player& pla
|
|||
auto endIdx = std::min< size_t >( startIdx + 20, numResults );
|
||||
auto size = endIdx - startIdx;
|
||||
|
||||
auto resultPkt = makeWorldPacket< Server::FFXIVIpcMarketBoardSearchResult >( player.getId() );
|
||||
auto resultPkt = makeZonePacket< Server::FFXIVIpcMarketBoardSearchResult >( player.getId() );
|
||||
resultPkt->data().itemIndexStart = startIdx;
|
||||
resultPkt->data().requestId = requestId;
|
||||
|
||||
|
|
|
@ -631,7 +631,7 @@ bool Sapphire::World::Manager::TerritoryMgr::movePlayer( TerritoryPtr pZone, Sap
|
|||
if( pPlayer->getLastPing() != 0 && pPlayer->getCurrentTerritory() )
|
||||
pPlayer->getCurrentTerritory()->removeActor( pPlayer );
|
||||
|
||||
pPlayer->setCurrentTerritory( pZone );
|
||||
pPlayer->setCurrentZone( pZone );
|
||||
pZone->pushActor( pPlayer );
|
||||
|
||||
// map player to instanceId so it can be tracked.
|
||||
|
|
|
@ -18,7 +18,7 @@ void Sapphire::Network::GameConnection::actionHandler( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcSkillHandler >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcSkillHandler >( inPacket );
|
||||
|
||||
const auto type = packet.data().type;
|
||||
const auto actionId = packet.data().actionId;
|
||||
|
@ -85,7 +85,7 @@ void Sapphire::Network::GameConnection::placedActionHandler( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcAoESkillHandler >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcAoESkillHandler >( inPacket );
|
||||
|
||||
const auto type = packet.data().type;
|
||||
const auto actionId = packet.data().actionId;
|
||||
|
|
|
@ -25,7 +25,7 @@ void Sapphire::Network::GameConnection::cfDutyInfoRequest( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto dutyInfoPacket = makeWorldPacket< FFXIVIpcCFDutyInfo >( player.getId() );
|
||||
auto dutyInfoPacket = makeZonePacket< FFXIVIpcCFDutyInfo >( player.getId() );
|
||||
auto penaltyMinutes = player.getCFPenaltyMinutes();
|
||||
if( penaltyMinutes > 255 )
|
||||
{
|
||||
|
@ -35,7 +35,7 @@ void Sapphire::Network::GameConnection::cfDutyInfoRequest( FrameworkPtr pFw,
|
|||
dutyInfoPacket->data().penaltyTime = penaltyMinutes;
|
||||
queueOutPacket( dutyInfoPacket );
|
||||
|
||||
auto inNeedsPacket = makeWorldPacket< FFXIVIpcCFPlayerInNeed >( player.getId() );
|
||||
auto inNeedsPacket = makeZonePacket< FFXIVIpcCFPlayerInNeed >( player.getId() );
|
||||
queueOutPacket( inNeedsPacket );
|
||||
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ void Sapphire::Network::GameConnection::cfRegisterDuty( FrameworkPtr pFw,
|
|||
player.sendDebug( "Duty register request for contentid#{0}", contentId );
|
||||
|
||||
// let's cancel it because otherwise you can't register it again
|
||||
auto cfCancelPacket = makeWorldPacket< FFXIVIpcCFNotify >( player.getId() );
|
||||
auto cfCancelPacket = makeZonePacket< FFXIVIpcCFNotify >( player.getId() );
|
||||
cfCancelPacket->data().state1 = 3;
|
||||
cfCancelPacket->data().state2 = 1; // Your registration is withdrawn.
|
||||
queueOutPacket( cfCancelPacket );
|
||||
|
@ -93,7 +93,7 @@ void Sapphire::Network::GameConnection::cfRegisterRoulette( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto cfCancelPacket = makeWorldPacket< FFXIVIpcCFNotify >( player.getId() );
|
||||
auto cfCancelPacket = makeZonePacket< FFXIVIpcCFNotify >( player.getId() );
|
||||
cfCancelPacket->data().state1 = 3;
|
||||
cfCancelPacket->data().state2 = 1; // Your registration is withdrawn.
|
||||
queueOutPacket( cfCancelPacket );
|
||||
|
|
|
@ -67,7 +67,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( FrameworkPtr pFw,
|
|||
Entity::Player& player )
|
||||
{
|
||||
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcClientTrigger >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcClientTrigger >( inPacket );
|
||||
|
||||
const auto commandId = packet.data().commandId;
|
||||
const auto param1 = *reinterpret_cast< const uint64_t* >( &packet.data().param11 );
|
||||
|
@ -173,7 +173,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( FrameworkPtr pFw,
|
|||
uint64_t targetContentId = param1;
|
||||
// todo: look up player by content id
|
||||
/*
|
||||
auto packet = makeWorldPacket< FFXIVIpcCharaNameReq >( player.getId() );
|
||||
auto packet = makeZonePacket< FFXIVIpcCharaNameReq >( player.getId() );
|
||||
packet->data().contentId = targetContentId;
|
||||
|
||||
// lookup the name
|
||||
|
|
|
@ -39,7 +39,7 @@ void Sapphire::Network::GameConnection::eventHandlerTalk( FrameworkPtr pFw,
|
|||
auto pExdData = pFw->get< Data::ExdDataGenerated >();
|
||||
auto pEventMgr = pFw->get< World::Manager::EventMgr >();
|
||||
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcEventHandlerTalk >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcEventHandlerTalk >( inPacket );
|
||||
|
||||
const auto actorId = packet.data().actorId;
|
||||
const auto eventId = packet.data().eventId;
|
||||
|
@ -81,7 +81,7 @@ void Sapphire::Network::GameConnection::eventHandlerEmote( FrameworkPtr pFw,
|
|||
auto pExdData = pFw->get< Data::ExdDataGenerated >();
|
||||
auto pEventMgr = pFw->get< World::Manager::EventMgr >();
|
||||
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcEventHandlerEmote >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcEventHandlerEmote >( inPacket );
|
||||
|
||||
const auto actorId = packet.data().actorId;
|
||||
const auto eventId = packet.data().eventId;
|
||||
|
@ -117,7 +117,7 @@ void Sapphire::Network::GameConnection::eventHandlerWithinRange( FrameworkPtr pF
|
|||
auto pScriptMgr = pFw->get< Scripting::ScriptMgr >();
|
||||
auto pEventMgr = pFw->get< World::Manager::EventMgr >();
|
||||
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcEventHandlerWithinRange >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcEventHandlerWithinRange >( inPacket );
|
||||
|
||||
const auto eventId = packet.data().eventId;
|
||||
const auto param1 = packet.data().param1;
|
||||
|
@ -141,7 +141,7 @@ void Sapphire::Network::GameConnection::eventHandlerOutsideRange( FrameworkPtr p
|
|||
auto pScriptMgr = pFw->get< Scripting::ScriptMgr >();
|
||||
auto pEventMgr = pFw->get< World::Manager::EventMgr >();
|
||||
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcEventHandlerOutsideRange >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcEventHandlerOutsideRange >( inPacket );
|
||||
const auto eventId = packet.data().eventId;
|
||||
const auto param1 = packet.data().param1;
|
||||
const auto& pos = packet.data().position;
|
||||
|
@ -164,7 +164,7 @@ void Sapphire::Network::GameConnection::eventHandlerEnterTerritory( FrameworkPtr
|
|||
auto pScriptMgr = pFw->get< Scripting::ScriptMgr >();
|
||||
auto pEventMgr = pFw->get< World::Manager::EventMgr >();
|
||||
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcEnterTerritoryHandler >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcEnterTerritoryHandler >( inPacket );
|
||||
|
||||
const auto eventId = packet.data().eventId;
|
||||
const auto param1 = packet.data().param1;
|
||||
|
@ -201,7 +201,7 @@ void Sapphire::Network::GameConnection::eventHandlerReturn( FrameworkPtr pFw,
|
|||
{
|
||||
auto pEventMgr = pFw->get< World::Manager::EventMgr >();
|
||||
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcEventHandlerReturn >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcEventHandlerReturn >( inPacket );
|
||||
const auto eventId = packet.data().eventId;
|
||||
const auto scene = packet.data().scene;
|
||||
const auto param1 = packet.data().param1;
|
||||
|
@ -246,9 +246,9 @@ void Sapphire::Network::GameConnection::eventHandlerLinkshell( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcLinkshellEventHandler >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcLinkshellEventHandler >( inPacket );
|
||||
|
||||
auto linkshellEvent = makeWorldPacket< Server::FFXIVIpcEventLinkshell >( player.getId() );
|
||||
auto linkshellEvent = makeZonePacket< Server::FFXIVIpcEventLinkshell >( player.getId() );
|
||||
linkshellEvent->data().eventId = packet.data().eventId;
|
||||
linkshellEvent->data().scene = static_cast< uint8_t >( packet.data().scene );
|
||||
linkshellEvent->data().param3 = 1;
|
||||
|
@ -263,7 +263,7 @@ void Sapphire::Network::GameConnection::eventHandlerShop( FrameworkPtr pFw,
|
|||
{
|
||||
auto pEventMgr = pFw->get< World::Manager::EventMgr >();
|
||||
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcShopEventHandler >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcShopEventHandler >( inPacket );
|
||||
|
||||
auto pScriptMgr = pFw->get< Scripting::ScriptMgr >();
|
||||
auto pExdData = pFw->get< Data::ExdDataGenerated >();
|
||||
|
|
|
@ -93,7 +93,7 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
|
|||
if( player.getGmRank() <= 0 )
|
||||
return;
|
||||
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcGmCommand1 >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcGmCommand1 >( inPacket );
|
||||
const auto commandId = packet.data().commandId;
|
||||
const auto param1 = packet.data().param1;
|
||||
const auto param2 = packet.data().param2;
|
||||
|
@ -257,11 +257,11 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
|
|||
{
|
||||
targetPlayer->setOnlineStatusMask( param1 );
|
||||
|
||||
auto statusPacket = makeWorldPacket< FFXIVIpcSetOnlineStatus >( player.getId() );
|
||||
auto statusPacket = makeZonePacket< FFXIVIpcSetOnlineStatus >( player.getId() );
|
||||
statusPacket->data().onlineStatusFlags = param1;
|
||||
queueOutPacket( statusPacket );
|
||||
|
||||
auto searchInfoPacket = makeWorldPacket< FFXIVIpcSetSearchInfo >( player.getId() );
|
||||
auto searchInfoPacket = makeZonePacket< FFXIVIpcSetSearchInfo >( player.getId() );
|
||||
searchInfoPacket->data().onlineStatusFlags = param1;
|
||||
searchInfoPacket->data().selectRegion = targetPlayer->getSearchSelectRegion();
|
||||
strcpy( searchInfoPacket->data().searchMessage, targetPlayer->getSearchMessage() );
|
||||
|
@ -596,7 +596,7 @@ void Sapphire::Network::GameConnection::gm2Handler( FrameworkPtr pFw,
|
|||
|
||||
auto pServerZone = pFw->get< World::ServerMgr >();
|
||||
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcGmCommand2 >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcGmCommand2 >( inPacket );
|
||||
|
||||
const auto commandId = packet.data().commandId;
|
||||
const auto param1 = packet.data().param1;
|
||||
|
|
|
@ -27,7 +27,7 @@ void Sapphire::Network::GameConnection::inventoryModifyHandler( FrameworkPtr pFw
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcInventoryModifyHandler >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcInventoryModifyHandler >( inPacket );
|
||||
|
||||
const auto action = packet.data().action;
|
||||
const auto splitCount = packet.data().splitCount;
|
||||
|
@ -37,7 +37,7 @@ void Sapphire::Network::GameConnection::inventoryModifyHandler( FrameworkPtr pFw
|
|||
const auto toSlot = packet.data().toSlot;
|
||||
const auto toContainer = packet.data().toContainer;
|
||||
|
||||
auto ackPacket = makeWorldPacket< Server::FFXIVIpcInventoryActionAck >( player.getId() );
|
||||
auto ackPacket = makeZonePacket< Server::FFXIVIpcInventoryActionAck >( player.getId() );
|
||||
ackPacket->data().sequence = packet.data().seq;
|
||||
ackPacket->data().type = 7;
|
||||
player.queuePacket( ackPacket );
|
||||
|
|
|
@ -67,7 +67,7 @@ void Sapphire::Network::GameConnection::setSearchInfoHandler( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcSetSearchInfo >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcSetSearchInfo >( inPacket );
|
||||
|
||||
const auto inval = packet.data().status1;
|
||||
const auto inval1 = packet.data().status2;
|
||||
|
@ -85,11 +85,11 @@ void Sapphire::Network::GameConnection::setSearchInfoHandler( FrameworkPtr pFw,
|
|||
// mark player as new adventurer
|
||||
player.setNewAdventurer( true );
|
||||
|
||||
auto statusPacket = makeWorldPacket< FFXIVIpcSetOnlineStatus >( player.getId() );
|
||||
auto statusPacket = makeZonePacket< FFXIVIpcSetOnlineStatus >( player.getId() );
|
||||
statusPacket->data().onlineStatusFlags = status;
|
||||
queueOutPacket( statusPacket );
|
||||
|
||||
auto searchInfoPacket = makeWorldPacket< FFXIVIpcSetSearchInfo >( player.getId() );
|
||||
auto searchInfoPacket = makeZonePacket< FFXIVIpcSetSearchInfo >( player.getId() );
|
||||
searchInfoPacket->data().onlineStatusFlags = status;
|
||||
searchInfoPacket->data().selectRegion = player.getSearchSelectRegion();
|
||||
strcpy( searchInfoPacket->data().searchMessage, player.getSearchMessage() );
|
||||
|
@ -103,7 +103,7 @@ void Sapphire::Network::GameConnection::reqSearchInfoHandler( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto searchInfoPacket = makeWorldPacket< FFXIVIpcInitSearchInfo >( player.getId() );
|
||||
auto searchInfoPacket = makeZonePacket< FFXIVIpcInitSearchInfo >( player.getId() );
|
||||
searchInfoPacket->data().onlineStatusFlags = player.getOnlineStatusMask();
|
||||
searchInfoPacket->data().selectRegion = player.getSearchSelectRegion();
|
||||
strcpy( searchInfoPacket->data().searchMessage, player.getSearchMessage() );
|
||||
|
@ -130,7 +130,7 @@ void Sapphire::Network::GameConnection::reqExamineSearchCommentHandler( Framewor
|
|||
return;
|
||||
|
||||
// retail sends the requester's id as both (isForSelf)
|
||||
auto searchInfoPacket = makeWorldPacket< FFXIVIpcExamineSearchComment >( player.getId() );
|
||||
auto searchInfoPacket = makeZonePacket< FFXIVIpcExamineSearchComment >( player.getId() );
|
||||
searchInfoPacket->data().charId = targetId;
|
||||
strcpy( searchInfoPacket->data().searchComment, pPlayer->getSearchMessage() );
|
||||
player.queuePacket( searchInfoPacket );
|
||||
|
@ -158,7 +158,7 @@ void Sapphire::Network::GameConnection::reqExamineFcInfo( FrameworkPtr pFw,
|
|||
return;
|
||||
|
||||
// retail sends the requester's id as both (isForSelf)
|
||||
auto examineFcInfoPacket = makeWorldPacket< FFXIVIpcExamineFreeCompanyInfo >( player.getId() );
|
||||
auto examineFcInfoPacket = makeZonePacket< FFXIVIpcExamineFreeCompanyInfo >( player.getId() );
|
||||
examineFcInfoPacket->data().charId = targetId;
|
||||
// todo: populate with fc info
|
||||
|
||||
|
@ -171,7 +171,7 @@ void Sapphire::Network::GameConnection::linkshellListHandler( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto linkshellListPacket = makeWorldPacket< FFXIVIpcLinkshellList >( player.getId() );
|
||||
auto linkshellListPacket = makeZonePacket< FFXIVIpcLinkshellList >( player.getId() );
|
||||
queueOutPacket( linkshellListPacket );
|
||||
}
|
||||
|
||||
|
@ -183,7 +183,7 @@ void Sapphire::Network::GameConnection::updatePositionHandler( FrameworkPtr pFw,
|
|||
if( player.isMarkedForZoning() )
|
||||
return;
|
||||
|
||||
const auto updatePositionPacket = WorldChannelPacket< Client::FFXIVIpcUpdatePosition >( inPacket );
|
||||
const auto updatePositionPacket = ZoneChannelPacket< Client::FFXIVIpcUpdatePosition >( inPacket );
|
||||
|
||||
bool bPosChanged = true;
|
||||
if( updatePositionPacket.data().position == player.getPos() )
|
||||
|
@ -276,7 +276,7 @@ void Sapphire::Network::GameConnection::zoneLineHandler( FrameworkPtr pFw,
|
|||
{
|
||||
auto pTeriMgr = pFw->get< TerritoryMgr >();
|
||||
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcZoneLineHandler >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcZoneLineHandler >( inPacket );
|
||||
const auto zoneLineId = packet.data().zoneLineId;
|
||||
|
||||
player.sendDebug( "Walking ZoneLine#{0}", zoneLineId );
|
||||
|
@ -296,7 +296,7 @@ void Sapphire::Network::GameConnection::zoneLineHandler( FrameworkPtr pFw,
|
|||
targetZone = pLine->getTargetZoneId();
|
||||
rotation = pLine->getTargetRotation();
|
||||
|
||||
auto preparePacket = makeWorldPacket< FFXIVIpcPrepareZoning >( player.getId() );
|
||||
auto preparePacket = makeZonePacket< FFXIVIpcPrepareZoning >( player.getId() );
|
||||
preparePacket->data().targetZone = targetZone;
|
||||
|
||||
//ActorControlPacket143 controlPacket( pPlayer, ActorControlType::DespawnZoneScreenMsg,
|
||||
|
@ -321,7 +321,7 @@ void Sapphire::Network::GameConnection::discoveryHandler( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcDiscoveryHandler >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcDiscoveryHandler >( inPacket );
|
||||
const auto positionRef = packet.data().positionRef;
|
||||
|
||||
auto pDb = pFw->get< Db::DbWorkerPool< Db::ZoneDbConnection > >();
|
||||
|
@ -336,7 +336,7 @@ void Sapphire::Network::GameConnection::discoveryHandler( FrameworkPtr pFw,
|
|||
return;
|
||||
}
|
||||
|
||||
auto discoveryPacket = makeWorldPacket< FFXIVIpcDiscovery >( player.getId() );
|
||||
auto discoveryPacket = makeZonePacket< FFXIVIpcDiscovery >( player.getId() );
|
||||
discoveryPacket->data().map_id = pQR->getUInt( 2 );
|
||||
discoveryPacket->data().map_part_id = pQR->getUInt( 3 );
|
||||
|
||||
|
@ -352,7 +352,7 @@ void Sapphire::Network::GameConnection::playTimeHandler( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto playTimePacket = makeWorldPacket< FFXIVIpcPlayTime >( player.getId() );
|
||||
auto playTimePacket = makeZonePacket< FFXIVIpcPlayTime >( player.getId() );
|
||||
playTimePacket->data().playTimeInMinutes = player.getPlayTime() / 60;
|
||||
player.queuePacket( playTimePacket );
|
||||
}
|
||||
|
@ -375,7 +375,7 @@ void Sapphire::Network::GameConnection::blackListHandler( FrameworkPtr pFw,
|
|||
{
|
||||
uint8_t count = inPacket.data[ 0x11 ];
|
||||
|
||||
auto blackListPacket = makeWorldPacket< FFXIVIpcBlackList >( player.getId() );
|
||||
auto blackListPacket = makeZonePacket< FFXIVIpcBlackList >( player.getId() );
|
||||
blackListPacket->data().sequence = count;
|
||||
// TODO: Fill with actual blacklist data
|
||||
//blackListPacket.data().entry[0].contentId = 1;
|
||||
|
@ -389,7 +389,7 @@ void Sapphire::Network::GameConnection::pingHandler( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcPingHandler >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcPingHandler >( inPacket );
|
||||
|
||||
queueOutPacket( std::make_shared< Server::PingPacket >( player, packet.data().timestamp ) );
|
||||
|
||||
|
@ -404,7 +404,7 @@ void Sapphire::Network::GameConnection::finishLoadingHandler( FrameworkPtr pFw,
|
|||
player.sendQuestInfo();
|
||||
|
||||
// TODO: load and save this data instead of hardcoding
|
||||
auto gcPacket = makeWorldPacket< FFXIVGCAffiliation >( player.getId() );
|
||||
auto gcPacket = makeZonePacket< FFXIVGCAffiliation >( player.getId() );
|
||||
gcPacket->data().gcId = player.getGc();
|
||||
gcPacket->data().gcRank[ 0 ] = player.getGcRankArray()[ 0 ];
|
||||
gcPacket->data().gcRank[ 1 ] = player.getGcRankArray()[ 1 ];
|
||||
|
@ -442,7 +442,7 @@ void Sapphire::Network::GameConnection::socialListHandler( FrameworkPtr pFw,
|
|||
if( type == 0x02 )
|
||||
{ // party list
|
||||
|
||||
auto listPacket = makeWorldPacket< FFXIVIpcSocialList >( player.getId() );
|
||||
auto listPacket = makeZonePacket< FFXIVIpcSocialList >( player.getId() );
|
||||
|
||||
listPacket->data().type = 2;
|
||||
listPacket->data().sequence = count;
|
||||
|
@ -476,7 +476,7 @@ void Sapphire::Network::GameConnection::socialListHandler( FrameworkPtr pFw,
|
|||
}
|
||||
else if( type == 0x0b )
|
||||
{ // friend list
|
||||
auto listPacket = makeWorldPacket< FFXIVIpcSocialList >( player.getId() );
|
||||
auto listPacket = makeZonePacket< FFXIVIpcSocialList >( player.getId() );
|
||||
listPacket->data().type = 0x0B;
|
||||
listPacket->data().sequence = count;
|
||||
memset( listPacket->data().entries, 0, sizeof( listPacket->data().entries ) );
|
||||
|
@ -495,7 +495,7 @@ void Sapphire::Network::GameConnection::chatHandler( FrameworkPtr pFw,
|
|||
{
|
||||
auto pDebugCom = pFw->get< DebugCommandMgr >();
|
||||
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcChatHandler >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcChatHandler >( inPacket );
|
||||
|
||||
if( packet.data().message[ 0 ] == '!' )
|
||||
{
|
||||
|
@ -552,7 +552,7 @@ void Sapphire::Network::GameConnection::logoutHandler( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto logoutPacket = makeWorldPacket< FFXIVIpcLogout >( player.getId() );
|
||||
auto logoutPacket = makeZonePacket< FFXIVIpcLogout >( player.getId() );
|
||||
logoutPacket->data().flags1 = 0x02;
|
||||
logoutPacket->data().flags2 = 0x2000;
|
||||
queueOutPacket( logoutPacket );
|
||||
|
@ -565,7 +565,7 @@ void Sapphire::Network::GameConnection::tellHandler( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcTellHandler >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcTellHandler >( inPacket );
|
||||
|
||||
auto pZoneServer = pFw->get< World::ServerMgr >();
|
||||
|
||||
|
@ -573,7 +573,7 @@ void Sapphire::Network::GameConnection::tellHandler( FrameworkPtr pFw,
|
|||
|
||||
if( !pSession )
|
||||
{
|
||||
auto tellErrPacket = makeWorldPacket< FFXIVIpcTellErrNotFound >( player.getId() );
|
||||
auto tellErrPacket = makeZonePacket< FFXIVIpcTellErrNotFound >( player.getId() );
|
||||
strcpy( tellErrPacket->data().receipientName, packet.data().targetPCName );
|
||||
sendSinglePacket( tellErrPacket );
|
||||
return;
|
||||
|
@ -621,7 +621,7 @@ void Sapphire::Network::GameConnection::performNoteHandler( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto performPacket = makeWorldPacket< FFXIVIpcPerformNote >( player.getId() );
|
||||
auto performPacket = makeZonePacket< FFXIVIpcPerformNote >( player.getId() );
|
||||
memcpy( &performPacket->data().data[ 0 ], &inPacket.data[ 0x10 ], 32 );
|
||||
player.sendToInRangeSet( performPacket );
|
||||
}
|
||||
|
@ -630,7 +630,7 @@ void Sapphire::Network::GameConnection::landRenameHandler( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcRenameLandHandler >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcRenameLandHandler >( inPacket );
|
||||
|
||||
auto pHousingMgr = pFw->get< HousingMgr >();
|
||||
|
||||
|
@ -653,7 +653,7 @@ void Sapphire::Network::GameConnection::landRenameHandler( FrameworkPtr pFw,
|
|||
pHouse->setHouseName( packet.data().houseName );
|
||||
|
||||
// todo: this packet is weird, retail sends it with some unknown shit at the start but it doesn't seem to do anything
|
||||
auto nameUpdatePacket = makeWorldPacket< Server::FFXIVIpcLandUpdateHouseName >( player.getId() );
|
||||
auto nameUpdatePacket = makeZonePacket< Server::FFXIVIpcLandUpdateHouseName >( player.getId() );
|
||||
memcpy( &nameUpdatePacket->data().houseName, &packet.data().houseName, sizeof( packet.data().houseName ) );
|
||||
|
||||
// todo: who does this get sent to? just the person who renamed it?
|
||||
|
@ -664,7 +664,7 @@ void Sapphire::Network::GameConnection::buildPresetHandler( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcBuildPresetHandler >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcBuildPresetHandler >( inPacket );
|
||||
|
||||
auto pHousingMgr = pFw->get< HousingMgr >();
|
||||
pHousingMgr->buildPresetEstate( player, packet.data().plotNum, packet.data().itemId );
|
||||
|
@ -674,7 +674,7 @@ void Sapphire::Network::GameConnection::housingUpdateGreetingHandler( FrameworkP
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcHousingUpdateHouseGreeting >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcHousingUpdateHouseGreeting >( inPacket );
|
||||
|
||||
auto pHousingMgr = pFw->get< HousingMgr >();
|
||||
|
||||
|
@ -686,7 +686,7 @@ void Sapphire::Network::GameConnection::reqPlaceHousingItem( FrameworkPtr pFw,
|
|||
Entity::Player& player )
|
||||
{
|
||||
auto housingMgr = pFw->get< HousingMgr >();
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcReqPlaceHousingItem >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcReqPlaceHousingItem >( inPacket );
|
||||
const auto& data = packet.data();
|
||||
|
||||
if( data.shouldPlaceItem == 1 )
|
||||
|
@ -705,7 +705,7 @@ void Sapphire::Network::GameConnection::reqMoveHousingItem( FrameworkPtr pFw,
|
|||
{
|
||||
auto housingMgr = pFw->get< HousingMgr >();
|
||||
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcHousingUpdateObjectPosition >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcHousingUpdateObjectPosition >( inPacket );
|
||||
const auto& data = packet.data();
|
||||
|
||||
housingMgr->reqMoveHousingItem( player, data.ident, data.slot, data.pos, data.rotation );
|
||||
|
@ -718,7 +718,7 @@ void Sapphire::Network::GameConnection::marketBoardSearch( FrameworkPtr pFw,
|
|||
{
|
||||
auto marketMgr = pFw->get< MarketMgr >();
|
||||
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcMarketBoardSearch >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcMarketBoardSearch >( inPacket );
|
||||
const auto& data = packet.data();
|
||||
|
||||
std::string_view searchStr( data.searchStr );
|
||||
|
@ -731,7 +731,7 @@ void Sapphire::Network::GameConnection::marketBoardRequestItemInfo( FrameworkPtr
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcMarketBoardRequestItemListingInfo >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcMarketBoardRequestItemListingInfo >( inPacket );
|
||||
|
||||
auto marketMgr = pFw->get< MarketMgr >();
|
||||
|
||||
|
@ -742,7 +742,7 @@ void Sapphire::Network::GameConnection::marketBoardRequestItemListings( Framewor
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcMarketBoardRequestItemListings >( inPacket );
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcMarketBoardRequestItemListings >( inPacket );
|
||||
|
||||
auto marketMgr = pFw->get< MarketMgr >();
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The Ping response packet.
|
||||
*/
|
||||
class ActorControlPacket142 : public WorldChannelPacket< FFXIVIpcActorControl142 >
|
||||
class ActorControlPacket142 : public ZoneChannelPacket< FFXIVIpcActorControl142 >
|
||||
{
|
||||
public:
|
||||
ActorControlPacket142( uint32_t actorId,
|
||||
|
@ -21,7 +21,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
uint32_t param3 = 0,
|
||||
uint32_t param4 = 0,
|
||||
uint32_t padding1 = 0 ) :
|
||||
WorldChannelPacket< FFXIVIpcActorControl142 >( actorId, actorId )
|
||||
ZoneChannelPacket< FFXIVIpcActorControl142 >( actorId, actorId )
|
||||
{
|
||||
initialize( category, param1, param2, param3, param4 );
|
||||
};
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The Ping response packet.
|
||||
*/
|
||||
class ActorControlPacket143 : public WorldChannelPacket< FFXIVIpcActorControl143 >
|
||||
class ActorControlPacket143 : public ZoneChannelPacket< FFXIVIpcActorControl143 >
|
||||
{
|
||||
public:
|
||||
ActorControlPacket143( uint32_t actorId,
|
||||
|
@ -23,7 +23,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
uint32_t param4 = 0,
|
||||
uint32_t param5 = 0,
|
||||
uint32_t padding1 = 0 ) :
|
||||
WorldChannelPacket< FFXIVIpcActorControl143 >( actorId, actorId )
|
||||
ZoneChannelPacket< FFXIVIpcActorControl143 >( actorId, actorId )
|
||||
{
|
||||
initialize( category, param1, param2, param3, param4, param5 );
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The Ping response packet.
|
||||
*/
|
||||
class ActorControlPacket144 : public WorldChannelPacket< FFXIVIpcActorControl144 >
|
||||
class ActorControlPacket144 : public ZoneChannelPacket< FFXIVIpcActorControl144 >
|
||||
{
|
||||
public:
|
||||
ActorControlPacket144( uint32_t actorId,
|
||||
|
@ -21,7 +21,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
uint32_t param4 = 0,
|
||||
uint64_t targetId = 0,
|
||||
uint32_t padding1 = 0 ) :
|
||||
WorldChannelPacket< FFXIVIpcActorControl144 >( actorId, actorId )
|
||||
ZoneChannelPacket< FFXIVIpcActorControl144 >( actorId, actorId )
|
||||
{
|
||||
initialize( category, param1, param2, param3, param4, targetId );
|
||||
};
|
||||
|
|
|
@ -12,11 +12,11 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The Chat packet.
|
||||
*/
|
||||
class ChatPacket : public WorldChannelPacket< FFXIVIpcChat >
|
||||
class ChatPacket : public ZoneChannelPacket< FFXIVIpcChat >
|
||||
{
|
||||
public:
|
||||
ChatPacket( Entity::Player& player, Common::ChatType chatType, const std::string& msg ) :
|
||||
WorldChannelPacket< FFXIVIpcChat >( player.getId(), player.getId() )
|
||||
ZoneChannelPacket< FFXIVIpcChat >( player.getId(), player.getId() )
|
||||
{
|
||||
initialize( player, chatType, msg );
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The packet sent to play an event.
|
||||
*/
|
||||
class DirectorPlayScenePacket : public WorldChannelPacket< FFXIVIpcDirectorPlayScene >
|
||||
class DirectorPlayScenePacket : public ZoneChannelPacket< FFXIVIpcDirectorPlayScene >
|
||||
{
|
||||
public:
|
||||
DirectorPlayScenePacket( uint32_t playerId,
|
||||
|
@ -21,7 +21,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
uint8_t param3,
|
||||
uint32_t param4 = 0,
|
||||
uint32_t param5 = 0 ) :
|
||||
WorldChannelPacket< FFXIVIpcDirectorPlayScene >( playerId, playerId )
|
||||
ZoneChannelPacket< FFXIVIpcDirectorPlayScene >( playerId, playerId )
|
||||
{
|
||||
initialize( actorId, eventId, scene, flags, param3, param4, param5 );
|
||||
};
|
||||
|
|
|
@ -11,11 +11,11 @@
|
|||
namespace Sapphire::Network::Packets::Server
|
||||
{
|
||||
|
||||
class EffectPacket : public WorldChannelPacket< FFXIVIpcEffect >
|
||||
class EffectPacket : public ZoneChannelPacket< FFXIVIpcEffect >
|
||||
{
|
||||
public:
|
||||
EffectPacket( uint64_t sourceId, uint32_t targetId, uint32_t actionId ) :
|
||||
WorldChannelPacket< FFXIVIpcEffect >( static_cast< uint32_t >( sourceId ), targetId )
|
||||
ZoneChannelPacket< FFXIVIpcEffect >( static_cast< uint32_t >( sourceId ), targetId )
|
||||
{
|
||||
m_data.effectCount = 0;
|
||||
m_data.actionId = actionId;
|
||||
|
|
|
@ -9,14 +9,14 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The packet sent to finish an event.
|
||||
*/
|
||||
class EventFinishPacket : public WorldChannelPacket< FFXIVIpcEventFinish >
|
||||
class EventFinishPacket : public ZoneChannelPacket< FFXIVIpcEventFinish >
|
||||
{
|
||||
public:
|
||||
EventFinishPacket( uint32_t playerId,
|
||||
uint32_t eventId,
|
||||
uint8_t param1,
|
||||
uint32_t param3 ) :
|
||||
WorldChannelPacket< FFXIVIpcEventFinish >( playerId, playerId )
|
||||
ZoneChannelPacket< FFXIVIpcEventFinish >( playerId, playerId )
|
||||
{
|
||||
initialize( eventId, param1, param3 );
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The packet sent to play an event.
|
||||
*/
|
||||
class EventPlayPacket : public WorldChannelPacket< FFXIVIpcEventPlay >
|
||||
class EventPlayPacket : public ZoneChannelPacket< FFXIVIpcEventPlay >
|
||||
{
|
||||
public:
|
||||
EventPlayPacket( uint32_t playerId,
|
||||
|
@ -21,7 +21,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
uint8_t param3,
|
||||
uint32_t param4 = 0,
|
||||
uint32_t param5 = 0 ) :
|
||||
WorldChannelPacket< FFXIVIpcEventPlay >( playerId, playerId )
|
||||
ZoneChannelPacket< FFXIVIpcEventPlay >( playerId, playerId )
|
||||
{
|
||||
initialize( actorId, eventId, scene, flags, param3, param4, param5 );
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The packet sent to start an event.
|
||||
*/
|
||||
class EventStartPacket : public WorldChannelPacket< FFXIVIpcEventStart >
|
||||
class EventStartPacket : public ZoneChannelPacket< FFXIVIpcEventStart >
|
||||
{
|
||||
public:
|
||||
EventStartPacket( uint32_t playerId,
|
||||
|
@ -19,7 +19,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
uint8_t param1 = 0,
|
||||
uint8_t param2 = 0,
|
||||
uint32_t param3 = 0 ) :
|
||||
WorldChannelPacket< FFXIVIpcEventStart >( playerId, playerId )
|
||||
ZoneChannelPacket< FFXIVIpcEventStart >( playerId, playerId )
|
||||
{
|
||||
initialize( actorId, eventId, param1, param2, param3 );
|
||||
};
|
||||
|
|
|
@ -16,11 +16,11 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The Examine response packet.
|
||||
*/
|
||||
class ExaminePacket : public WorldChannelPacket< FFXIVIpcExamine >
|
||||
class ExaminePacket : public ZoneChannelPacket< FFXIVIpcExamine >
|
||||
{
|
||||
public:
|
||||
ExaminePacket( Entity::Player& player, Entity::PlayerPtr pTarget ) :
|
||||
WorldChannelPacket< FFXIVIpcExamine >( pTarget->getId(), player.getId() )
|
||||
ZoneChannelPacket< FFXIVIpcExamine >( pTarget->getId(), player.getId() )
|
||||
{
|
||||
initialize( player, pTarget );
|
||||
};
|
||||
|
|
|
@ -11,11 +11,11 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The update model packet.
|
||||
*/
|
||||
class ModelEquipPacket : public WorldChannelPacket< FFXIVIpcModelEquip >
|
||||
class ModelEquipPacket : public ZoneChannelPacket< FFXIVIpcModelEquip >
|
||||
{
|
||||
public:
|
||||
ModelEquipPacket( Entity::Player& player ) :
|
||||
WorldChannelPacket< FFXIVIpcModelEquip >( player.getId(), player.getId() )
|
||||
ZoneChannelPacket< FFXIVIpcModelEquip >( player.getId(), player.getId() )
|
||||
{
|
||||
initialize( player );
|
||||
};
|
||||
|
|
|
@ -15,11 +15,11 @@ namespace Sapphire::Network::Packets::Server
|
|||
* @brief The Client UI Initialization packet. This must be sent to the client
|
||||
* once upon connection to configure the UI.
|
||||
*/
|
||||
class MoveActorPacket : public WorldChannelPacket< FFXIVIpcActorMove >
|
||||
class MoveActorPacket : public ZoneChannelPacket< FFXIVIpcActorMove >
|
||||
{
|
||||
public:
|
||||
MoveActorPacket( Entity::Chara& actor, uint8_t headRotation, uint8_t animationType, uint8_t state, uint16_t animationSpeed, uint8_t unknownRotation = 0 ) :
|
||||
WorldChannelPacket< FFXIVIpcActorMove >( actor.getId(), actor.getId() )
|
||||
ZoneChannelPacket< FFXIVIpcActorMove >( actor.getId(), actor.getId() )
|
||||
{
|
||||
initialize( actor, headRotation, animationType, state, animationSpeed, unknownRotation );
|
||||
};
|
||||
|
|
|
@ -17,11 +17,11 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The packet sent to spawn a player.
|
||||
*/
|
||||
class NpcSpawnPacket : public WorldChannelPacket< FFXIVIpcNpcSpawn >
|
||||
class NpcSpawnPacket : public ZoneChannelPacket< FFXIVIpcNpcSpawn >
|
||||
{
|
||||
public:
|
||||
NpcSpawnPacket( Entity::BNpc& bnpc, Entity::Player& target ) :
|
||||
WorldChannelPacket< FFXIVIpcNpcSpawn >( bnpc.getId(), target.getId() )
|
||||
ZoneChannelPacket< FFXIVIpcNpcSpawn >( bnpc.getId(), target.getId() )
|
||||
{
|
||||
initialize( bnpc, target );
|
||||
};
|
||||
|
|
|
@ -11,11 +11,11 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The Ping response packet.
|
||||
*/
|
||||
class PingPacket : public WorldChannelPacket< FFXIVIpcPing >
|
||||
class PingPacket : public ZoneChannelPacket< FFXIVIpcPing >
|
||||
{
|
||||
public:
|
||||
PingPacket( Entity::Player& player, int32_t inVal ) :
|
||||
WorldChannelPacket< FFXIVIpcPing >( player.getId(), player.getId() )
|
||||
ZoneChannelPacket< FFXIVIpcPing >( player.getId(), player.getId() )
|
||||
{
|
||||
initialize( player, inVal );
|
||||
};
|
||||
|
|
|
@ -13,11 +13,11 @@ namespace Sapphire::Network::Packets::Server
|
|||
* @brief The Client Player Initialization packet. This must be sent to the client
|
||||
* once upon connection to configure the UI.
|
||||
*/
|
||||
class PlayerSetupPacket : public WorldChannelPacket< FFXIVIpcPlayerSetup >
|
||||
class PlayerSetupPacket : public ZoneChannelPacket< FFXIVIpcPlayerSetup >
|
||||
{
|
||||
public:
|
||||
PlayerSetupPacket( Entity::Player& player ) :
|
||||
WorldChannelPacket< FFXIVIpcPlayerSetup >( player.getId(), player.getId() )
|
||||
ZoneChannelPacket< FFXIVIpcPlayerSetup >( player.getId(), player.getId() )
|
||||
{
|
||||
initialize( player );
|
||||
};
|
||||
|
|
|
@ -15,11 +15,11 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The packet sent to spawn a player.
|
||||
*/
|
||||
class PlayerSpawnPacket : public WorldChannelPacket< FFXIVIpcPlayerSpawn >
|
||||
class PlayerSpawnPacket : public ZoneChannelPacket< FFXIVIpcPlayerSpawn >
|
||||
{
|
||||
public:
|
||||
PlayerSpawnPacket( Entity::Player& player, Entity::Player& target ) :
|
||||
WorldChannelPacket< FFXIVIpcPlayerSpawn >( player.getId(), target.getId() )
|
||||
ZoneChannelPacket< FFXIVIpcPlayerSpawn >( player.getId(), target.getId() )
|
||||
{
|
||||
initialize( player, target );
|
||||
};
|
||||
|
|
|
@ -11,17 +11,17 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief Packet sent to set a players state, this impacts which actions he can perform.
|
||||
*/
|
||||
class PlayerStateFlagsPacket : public WorldChannelPacket< FFXIVIpcPlayerStateFlags >
|
||||
class PlayerStateFlagsPacket : public ZoneChannelPacket< FFXIVIpcPlayerStateFlags >
|
||||
{
|
||||
public:
|
||||
PlayerStateFlagsPacket( Entity::Player& player ) :
|
||||
WorldChannelPacket< FFXIVIpcPlayerStateFlags >( player.getId(), player.getId() )
|
||||
ZoneChannelPacket< FFXIVIpcPlayerStateFlags >( player.getId(), player.getId() )
|
||||
{
|
||||
initialize( player.getStateFlags() );
|
||||
}
|
||||
|
||||
PlayerStateFlagsPacket( Entity::Player& player, std::vector< Common::PlayerStateFlag > flags ) :
|
||||
WorldChannelPacket< FFXIVIpcPlayerStateFlags >( player.getId(), player.getId() )
|
||||
ZoneChannelPacket< FFXIVIpcPlayerStateFlags >( player.getId(), player.getId() )
|
||||
{
|
||||
uint8_t newFlags[12];
|
||||
memset( newFlags, 0, 12 );
|
||||
|
|
|
@ -11,12 +11,12 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief Packet to display a quest specific info message.
|
||||
*/
|
||||
class QuestMessagePacket : public WorldChannelPacket< FFXIVIpcQuestMessage >
|
||||
class QuestMessagePacket : public ZoneChannelPacket< FFXIVIpcQuestMessage >
|
||||
{
|
||||
public:
|
||||
QuestMessagePacket( Entity::ActorPtr pActor, uint32_t questId, int8_t msgId,
|
||||
uint8_t type = 0, uint32_t var1 = 0, uint32_t var2 = 0 ) :
|
||||
WorldChannelPacket< FFXIVIpcQuestMessage >( pActor->getId(), pActor->getId() )
|
||||
ZoneChannelPacket< FFXIVIpcQuestMessage >( pActor->getId(), pActor->getId() )
|
||||
{
|
||||
initialize( questId, msgId, type, var1, var2 );
|
||||
};
|
||||
|
|
|
@ -11,11 +11,11 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The Ping response packet.
|
||||
*/
|
||||
class ServerNoticePacket : public WorldChannelPacket< FFXIVIpcServerNotice >
|
||||
class ServerNoticePacket : public ZoneChannelPacket< FFXIVIpcServerNotice >
|
||||
{
|
||||
public:
|
||||
ServerNoticePacket( uint32_t playerId, const std::string& message ) :
|
||||
WorldChannelPacket< FFXIVIpcServerNotice >( playerId, playerId )
|
||||
ZoneChannelPacket< FFXIVIpcServerNotice >( playerId, playerId )
|
||||
{
|
||||
initialize( message );
|
||||
};
|
||||
|
|
|
@ -11,11 +11,11 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The Ping response packet.
|
||||
*/
|
||||
class UpdateHpMpTpPacket : public WorldChannelPacket< FFXIVIpcUpdateHpMpTp >
|
||||
class UpdateHpMpTpPacket : public ZoneChannelPacket< FFXIVIpcUpdateHpMpTp >
|
||||
{
|
||||
public:
|
||||
UpdateHpMpTpPacket( Entity::Chara& actor ) :
|
||||
WorldChannelPacket< FFXIVIpcUpdateHpMpTp >( actor.getId(), actor.getId() )
|
||||
ZoneChannelPacket< FFXIVIpcUpdateHpMpTp >( actor.getId(), actor.getId() )
|
||||
{
|
||||
initialize( actor );
|
||||
};
|
||||
|
|
|
@ -12,11 +12,11 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The update inventory-slot packet.
|
||||
*/
|
||||
class UpdateInventorySlotPacket : public WorldChannelPacket< FFXIVIpcUpdateInventorySlot >
|
||||
class UpdateInventorySlotPacket : public ZoneChannelPacket< FFXIVIpcUpdateInventorySlot >
|
||||
{
|
||||
public:
|
||||
UpdateInventorySlotPacket( uint32_t playerId, uint8_t slot, uint16_t storageId, const Item& item ) :
|
||||
WorldChannelPacket< FFXIVIpcUpdateInventorySlot >( playerId, playerId )
|
||||
ZoneChannelPacket< FFXIVIpcUpdateInventorySlot >( playerId, playerId )
|
||||
{
|
||||
initialize( slot, storageId, item );
|
||||
};
|
||||
|
|
|
@ -76,7 +76,7 @@ void Sapphire::World::Session::close()
|
|||
// do one last update to db
|
||||
m_pPlayer->updateSql();
|
||||
// reset the zone, so the zone handler knows to remove the actor
|
||||
m_pPlayer->setCurrentTerritory( nullptr );
|
||||
m_pPlayer->setCurrentZone( nullptr );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ void Sapphire::World::Territory::Housing::HousingInteriorTerritory::onPlayerZone
|
|||
Logger::debug( "HousingInteriorTerritory::onPlayerZoneIn: Territory#{0}|{1}, Entity#{2}",
|
||||
getGuId(), getTerritoryTypeId(), player.getId() );
|
||||
|
||||
auto indoorInitPacket = makeWorldPacket< Server::FFXIVIpcHousingIndoorInitialize >( player.getId() );
|
||||
auto indoorInitPacket = makeZonePacket< Server::FFXIVIpcHousingIndoorInitialize >( player.getId() );
|
||||
indoorInitPacket->data().u1 = 0;
|
||||
indoorInitPacket->data().u2 = 0;
|
||||
indoorInitPacket->data().u3 = 0;
|
||||
|
@ -80,7 +80,7 @@ void Sapphire::World::Territory::Housing::HousingInteriorTerritory::onPlayerZone
|
|||
auto yardPacketTotal = static_cast< uint8_t >( 2 + pLand->getSize() );
|
||||
for( uint8_t yardPacketNum = 0; yardPacketNum < yardPacketTotal; yardPacketNum++ )
|
||||
{
|
||||
auto objectInitPacket = makeWorldPacket< Server::FFXIVIpcHousingObjectInitialize >( player.getId() );
|
||||
auto objectInitPacket = makeZonePacket< Server::FFXIVIpcHousingObjectInitialize >( player.getId() );
|
||||
memcpy( &objectInitPacket->data().landIdent, &m_landIdent, sizeof( Common::LandIdent ) );
|
||||
|
||||
if( isFcHouse )
|
||||
|
@ -174,7 +174,7 @@ void Sapphire::World::Territory::Housing::HousingInteriorTerritory::spawnHousing
|
|||
|
||||
for( const auto& player : m_playerMap )
|
||||
{
|
||||
auto objectSpawnPkt = makeWorldPacket< Server::FFXIVIpcHousingInternalObjectSpawn >( player.second->getId() );
|
||||
auto objectSpawnPkt = makeZonePacket< Server::FFXIVIpcHousingInternalObjectSpawn >( player.second->getId() );
|
||||
|
||||
objectSpawnPkt->data().containerId = containerType;
|
||||
objectSpawnPkt->data().containerOffset = slot;
|
||||
|
@ -204,7 +204,7 @@ void Sapphire::World::Territory::Housing::HousingInteriorTerritory::updateHousin
|
|||
if( player.second->getId() == sourcePlayer.getId() )
|
||||
continue;
|
||||
|
||||
auto moveObjPkt = makeWorldPacket< Server::FFXIVIpcHousingObjectMove >( player.second->getId() );
|
||||
auto moveObjPkt = makeZonePacket< Server::FFXIVIpcHousingObjectMove >( player.second->getId() );
|
||||
|
||||
moveObjPkt->data().itemRotation = obj.rotation;
|
||||
moveObjPkt->data().pos = obj.pos;
|
||||
|
|
|
@ -167,7 +167,7 @@ void Sapphire::HousingZone::onPlayerZoneIn( Entity::Player& player )
|
|||
|
||||
for( yardPacketNum = 0; yardPacketNum < yardPacketTotal; yardPacketNum++ )
|
||||
{
|
||||
auto housingObjectInit = makeWorldPacket< FFXIVIpcHousingObjectInitialize >( player.getId() );
|
||||
auto housingObjectInit = makeZonePacket< FFXIVIpcHousingObjectInitialize >( player.getId() );
|
||||
memset( &housingObjectInit->data().landIdent, 0xFF, sizeof( Common::LandIdent ) );
|
||||
housingObjectInit->data().u1 = 0xFF;
|
||||
housingObjectInit->data().packetNum = yardPacketNum;
|
||||
|
@ -182,7 +182,7 @@ void Sapphire::HousingZone::onPlayerZoneIn( Entity::Player& player )
|
|||
player.queuePacket( housingObjectInit );
|
||||
}
|
||||
|
||||
auto landSetMap = makeWorldPacket< FFXIVIpcLandSetMap >( player.getId() );
|
||||
auto landSetMap = makeZonePacket< FFXIVIpcLandSetMap >( player.getId() );
|
||||
landSetMap->data().subdivision = isInSubdivision ? 1 : 2;
|
||||
|
||||
uint8_t startIndex = isInSubdivision ? 30 : 0;
|
||||
|
@ -198,7 +198,7 @@ void Sapphire::HousingZone::onPlayerZoneIn( Entity::Player& player )
|
|||
|
||||
void Sapphire::HousingZone::sendLandSet( Entity::Player& player )
|
||||
{
|
||||
auto landsetInitializePacket = makeWorldPacket< FFXIVIpcLandSetInitialize >( player.getId() );
|
||||
auto landsetInitializePacket = makeZonePacket< FFXIVIpcLandSetInitialize >( player.getId() );
|
||||
|
||||
landsetInitializePacket->data().landIdent.wardNum = m_wardNum;
|
||||
//landsetInitializePacket->data().landIdent.landSetId = m_landSetId;
|
||||
|
@ -247,7 +247,7 @@ void Sapphire::HousingZone::sendLandUpdate( uint8_t landId )
|
|||
{
|
||||
auto pPlayer = playerIt.second;
|
||||
|
||||
auto landUpdatePacket = makeWorldPacket< FFXIVIpcLandUpdate >( pPlayer->getId() );
|
||||
auto landUpdatePacket = makeZonePacket< FFXIVIpcLandUpdate >( pPlayer->getId() );
|
||||
landUpdatePacket->data().landIdent.landId = landId;
|
||||
|
||||
auto& landData = landUpdatePacket->data().land;
|
||||
|
@ -362,7 +362,7 @@ void Sapphire::HousingZone::spawnYardObject( uint8_t landId, uint16_t slotId, In
|
|||
// spawn obj in zone
|
||||
for( const auto& player : m_playerMap )
|
||||
{
|
||||
auto packet = makeWorldPacket< Server::FFXIVIpcYardObjectSpawn >( player.second->getId() );
|
||||
auto packet = makeZonePacket< Server::FFXIVIpcYardObjectSpawn >( player.second->getId() );
|
||||
|
||||
packet->data().landId = landId;
|
||||
packet->data().objectArray = static_cast< uint8_t >( slotId );
|
||||
|
@ -390,7 +390,7 @@ void Sapphire::HousingZone::updateYardObjectPos( Entity::Player& sourcePlayer, u
|
|||
if( player.second->getId() == sourcePlayer.getId() )
|
||||
continue;
|
||||
|
||||
auto packet = makeWorldPacket< Server::FFXIVIpcHousingObjectMove >( player.second->getId() );
|
||||
auto packet = makeZonePacket< Server::FFXIVIpcHousingObjectMove >( player.second->getId() );
|
||||
|
||||
packet->data().itemRotation = item.getRot();
|
||||
packet->data().pos = item.getPos();
|
||||
|
|
|
@ -519,7 +519,7 @@ void Sapphire::Territory::updateSessions( uint64_t tickCount, bool changedWeathe
|
|||
|
||||
if( changedWeather )
|
||||
{
|
||||
auto weatherChangePacket = makeWorldPacket< FFXIVIpcWeatherChange >( pPlayer->getId() );
|
||||
auto weatherChangePacket = makeZonePacket< FFXIVIpcWeatherChange >( pPlayer->getId() );
|
||||
weatherChangePacket->data().weatherId = static_cast< uint8_t >( m_currentWeather );
|
||||
weatherChangePacket->data().delay = 5.0f;
|
||||
pPlayer->queuePacket( weatherChangePacket );
|
||||
|
|
Loading…
Add table
Reference in a new issue