mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-26 14:37:44 +00:00
rename some getters and zonechannelpacket -> worldchannelpacket
This commit is contained in:
parent
891a73720d
commit
7f686ffee5
54 changed files with 272 additions and 267 deletions
|
@ -23,7 +23,7 @@ namespace Sapphire::Network::Packets
|
|||
class FFXIVIpcPacket;
|
||||
|
||||
template< class T >
|
||||
using ZoneChannelPacket = FFXIVIpcPacket< T, ServerZoneIpcType >;
|
||||
using WorldChannelPacket = 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< ZoneChannelPacket< T > > makeZonePacket( Args... args )
|
||||
std::shared_ptr< WorldChannelPacket< T > > makeWorldPacket( Args... args )
|
||||
{
|
||||
return std::make_shared< ZoneChannelPacket< T > >( args... );
|
||||
return std::make_shared< WorldChannelPacket< T > >( args... );
|
||||
}
|
||||
|
||||
template< class T, typename... Args >
|
||||
|
|
|
@ -25,7 +25,7 @@ public:
|
|||
if( !pExdData )
|
||||
return;
|
||||
|
||||
auto housingZone = std::dynamic_pointer_cast< HousingZone >( player.getCurrentZone() );
|
||||
auto housingZone = std::dynamic_pointer_cast< HousingZone >( player.getCurrentTerritory() );
|
||||
if( !housingZone )
|
||||
return;
|
||||
|
||||
|
@ -35,7 +35,7 @@ public:
|
|||
return;
|
||||
|
||||
// check we're teleporting to the same territorytype
|
||||
if( player.getCurrentZone()->getTerritoryTypeId() != pHousingAethernet->territoryType )
|
||||
if( player.getCurrentTerritory()->getTerritoryTypeId() != pHousingAethernet->territoryType )
|
||||
return;
|
||||
|
||||
// todo: this needs to be done properly and used queued zoning + aethernet animation
|
||||
|
|
|
@ -30,7 +30,7 @@ public:
|
|||
if( !terriMgr )
|
||||
return;
|
||||
|
||||
auto zone = std::dynamic_pointer_cast< HousingZone >( player.getCurrentZone() );
|
||||
auto zone = std::dynamic_pointer_cast< HousingZone >( player.getCurrentTerritory() );
|
||||
if( !zone )
|
||||
return;
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ public:
|
|||
auto activeLand = player.getActiveLand();
|
||||
auto territoryId = player.getTerritoryId();
|
||||
|
||||
auto pTerritory = player.getCurrentZone();
|
||||
auto pTerritory = player.getCurrentTerritory();
|
||||
auto pHousing = std::dynamic_pointer_cast< HousingZone >( pTerritory );
|
||||
auto pHouMgr = pFw->get< HousingMgr >();
|
||||
|
||||
|
|
|
@ -216,7 +216,7 @@ void Action::Action::start()
|
|||
|
||||
if( hasCastTime() )
|
||||
{
|
||||
auto castPacket = makeZonePacket< Server::FFXIVIpcActorCast >( getId() );
|
||||
auto castPacket = makeWorldPacket< Server::FFXIVIpcActorCast >( getId() );
|
||||
|
||||
castPacket->data().action_id = static_cast< uint16_t >( m_id );
|
||||
castPacket->data().skillType = Common::SkillType::Normal;
|
||||
|
|
|
@ -331,13 +331,13 @@ std::set< Sapphire::Entity::ActorPtr > Sapphire::Entity::Actor::getInRangeActors
|
|||
}
|
||||
|
||||
/*! \return TerritoryPtr to the current zone, nullptr if not set */
|
||||
Sapphire::TerritoryPtr Sapphire::Entity::Actor::getCurrentZone() const
|
||||
Sapphire::TerritoryPtr Sapphire::Entity::Actor::getCurrentTerritory() const
|
||||
{
|
||||
return m_pCurrentZone;
|
||||
}
|
||||
|
||||
/*! \param TerritoryPtr to the zone to be set as current */
|
||||
void Sapphire::Entity::Actor::setCurrentZone( TerritoryPtr currZone )
|
||||
void Sapphire::Entity::Actor::setCurrentTerritory( TerritoryPtr currZone )
|
||||
{
|
||||
m_pCurrentZone = currZone;
|
||||
}
|
||||
|
|
|
@ -122,9 +122,9 @@ namespace Sapphire::Entity
|
|||
|
||||
BNpcPtr getAsBNpc();
|
||||
|
||||
TerritoryPtr getCurrentZone() const;
|
||||
TerritoryPtr getCurrentTerritory() const;
|
||||
|
||||
void setCurrentZone( TerritoryPtr currZone );
|
||||
void setCurrentTerritory( TerritoryPtr currZone );
|
||||
|
||||
InstanceContentPtr getCurrentInstance() const;
|
||||
|
||||
|
|
|
@ -645,14 +645,14 @@ void Sapphire::Entity::BNpc::setOwner( Sapphire::Entity::CharaPtr m_pChara )
|
|||
m_pOwner = m_pChara;
|
||||
if( m_pChara != nullptr )
|
||||
{
|
||||
auto setOwnerPacket = makeZonePacket< FFXIVIpcActorOwner >( m_pChara->getId() );
|
||||
auto setOwnerPacket = makeWorldPacket< FFXIVIpcActorOwner >( m_pChara->getId() );
|
||||
setOwnerPacket->data().type = 0x01;
|
||||
setOwnerPacket->data().actorId = m_pChara->getId();
|
||||
sendToInRangeSet( setOwnerPacket );
|
||||
}
|
||||
else
|
||||
{
|
||||
auto setOwnerPacket = makeZonePacket< FFXIVIpcActorOwner >( getId() );
|
||||
auto setOwnerPacket = makeWorldPacket< FFXIVIpcActorOwner >( getId() );
|
||||
setOwnerPacket->data().type = 0x01;
|
||||
setOwnerPacket->data().actorId = INVALID_GAME_OBJECT_ID;
|
||||
sendToInRangeSet( setOwnerPacket );
|
||||
|
|
|
@ -457,7 +457,7 @@ void Sapphire::Entity::Chara::addStatusEffect( StatusEffect::StatusEffectPtr pEf
|
|||
pEffect->applyStatus();
|
||||
m_statusEffectMap[ nextSlot ] = pEffect;
|
||||
|
||||
auto statusEffectAdd = makeZonePacket< FFXIVIpcEffectResult >( getId() );
|
||||
auto statusEffectAdd = makeWorldPacket< FFXIVIpcEffectResult >( getId() );
|
||||
|
||||
statusEffectAdd->data().actor_id = pEffect->getTargetActorId();
|
||||
statusEffectAdd->data().current_hp = getHp();
|
||||
|
@ -578,7 +578,7 @@ void Sapphire::Entity::Chara::sendStatusEffectUpdate()
|
|||
uint64_t currentTimeMs = Util::getTimeMs();
|
||||
|
||||
|
||||
auto statusEffectList = makeZonePacket< FFXIVIpcStatusEffectList >( getId() );
|
||||
auto statusEffectList = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcObjectSpawn >( getId(), pTarget->getId() );
|
||||
auto eobjStatePacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcPrepareZoning >( getId() );
|
||||
auto preparePacket = makeWorldPacket< FFXIVIpcPrepareZoning >( getId() );
|
||||
preparePacket->data().targetZone = targetZone;
|
||||
preparePacket->data().fadeOutTime = fadeOutTime;
|
||||
preparePacket->data().animation = animation;
|
||||
|
@ -312,7 +312,7 @@ bool Sapphire::Entity::Player::isAutoattackOn() const
|
|||
void Sapphire::Entity::Player::sendStats()
|
||||
{
|
||||
|
||||
auto statPacket = makeZonePacket< FFXIVIpcPlayerStats >( getId() );
|
||||
auto statPacket = makeWorldPacket< FFXIVIpcPlayerStats >( getId() );
|
||||
statPacket->data().strength = getStatValue( Common::BaseParam::Strength );
|
||||
statPacket->data().dexterity = getStatValue( Common::BaseParam::Dexterity );
|
||||
statPacket->data().vitality = getStatValue( Common::BaseParam::Vitality );
|
||||
|
@ -444,7 +444,7 @@ bool Sapphire::Entity::Player::setInstance( TerritoryPtr instance )
|
|||
return false;
|
||||
|
||||
auto pTeriMgr = m_pFw->get< TerritoryMgr >();
|
||||
auto currentZone = getCurrentZone();
|
||||
auto currentZone = getCurrentTerritory();
|
||||
|
||||
// zoning within the same zone won't cause the prev data to be overwritten
|
||||
if( instance->getTerritoryTypeId() != m_territoryTypeId )
|
||||
|
@ -465,7 +465,7 @@ bool Sapphire::Entity::Player::setInstance( TerritoryPtr instance, Common::FFXIV
|
|||
return false;
|
||||
|
||||
auto pTeriMgr = m_pFw->get< TerritoryMgr >();
|
||||
auto currentZone = getCurrentZone();
|
||||
auto currentZone = getCurrentTerritory();
|
||||
|
||||
// zoning within the same zone won't cause the prev data to be overwritten
|
||||
if( instance->getTerritoryTypeId() != m_territoryTypeId )
|
||||
|
@ -489,7 +489,7 @@ bool Sapphire::Entity::Player::exitInstance()
|
|||
{
|
||||
auto pTeriMgr = m_pFw->get< TerritoryMgr >();
|
||||
|
||||
auto pZone = getCurrentZone();
|
||||
auto pZone = getCurrentTerritory();
|
||||
auto pInstance = pZone->getAsInstanceContent();
|
||||
|
||||
resetHp();
|
||||
|
@ -596,7 +596,7 @@ void Sapphire::Entity::Player::discover( int16_t map_id, int16_t sub_id )
|
|||
int32_t offset = 4;
|
||||
|
||||
auto info = pExdData->get< Sapphire::Data::Map >(
|
||||
pExdData->get< Sapphire::Data::TerritoryType >( getCurrentZone()->getTerritoryTypeId() )->map );
|
||||
pExdData->get< Sapphire::Data::TerritoryType >( getCurrentTerritory()->getTerritoryTypeId() )->map );
|
||||
if( info->discoveryArrayByte )
|
||||
offset = 5 + 2 * info->discoveryIndex;
|
||||
else
|
||||
|
@ -733,7 +733,7 @@ void Sapphire::Entity::Player::gainLevel()
|
|||
m_hp = getMaxHp();
|
||||
m_mp = getMaxMp();
|
||||
|
||||
auto effectListPacket = makeZonePacket< FFXIVIpcStatusEffectList >( getId() );
|
||||
auto effectListPacket = makeWorldPacket< FFXIVIpcStatusEffectList >( getId() );
|
||||
effectListPacket->data().classId = static_cast< uint8_t > ( getClass() );
|
||||
effectListPacket->data().level1 = getLevel();
|
||||
effectListPacket->data().level = getLevel();
|
||||
|
@ -747,7 +747,7 @@ void Sapphire::Entity::Player::gainLevel()
|
|||
sendToInRangeSet( makeActorControl142( getId(), LevelUpEffect, static_cast< uint8_t >( getClass() ),
|
||||
getLevel(), getLevel() - 1 ), true );
|
||||
|
||||
auto classInfoPacket = makeZonePacket< FFXIVIpcUpdateClassInfo >( getId() );
|
||||
auto classInfoPacket = makeWorldPacket< FFXIVIpcUpdateClassInfo >( getId() );
|
||||
classInfoPacket->data().classId = static_cast< uint8_t > ( getClass() );
|
||||
classInfoPacket->data().level1 = getLevel();
|
||||
classInfoPacket->data().level = getLevel();
|
||||
|
@ -820,7 +820,7 @@ void Sapphire::Entity::Player::setClassJob( Common::ClassJob classJob )
|
|||
|
||||
m_tp = 0;
|
||||
|
||||
auto classInfoPacket = makeZonePacket< FFXIVIpcPlayerClassInfo >( getId() );
|
||||
auto classInfoPacket = makeWorldPacket< FFXIVIpcPlayerClassInfo >( getId() );
|
||||
classInfoPacket->data().classId = static_cast< uint8_t >( getClass() );
|
||||
classInfoPacket->data().classLevel = getLevel();
|
||||
classInfoPacket->data().syncedLevel = getLevel();
|
||||
|
@ -956,7 +956,7 @@ void Sapphire::Entity::Player::setGc( uint8_t gc )
|
|||
{
|
||||
m_gc = gc;
|
||||
|
||||
auto gcAffPacket = makeZonePacket< FFXIVGCAffiliation >( getId() );
|
||||
auto gcAffPacket = makeWorldPacket< FFXIVGCAffiliation >( getId() );
|
||||
gcAffPacket->data().gcId = m_gc;
|
||||
gcAffPacket->data().gcRank[ 0 ] = m_gcRank[ 0 ];
|
||||
gcAffPacket->data().gcRank[ 1 ] = m_gcRank[ 1 ];
|
||||
|
@ -968,7 +968,7 @@ void Sapphire::Entity::Player::setGcRankAt( uint8_t index, uint8_t rank )
|
|||
{
|
||||
m_gcRank[ index ] = rank;
|
||||
|
||||
auto gcAffPacket = makeZonePacket< FFXIVGCAffiliation >( getId() );
|
||||
auto gcAffPacket = makeWorldPacket< FFXIVGCAffiliation >( getId() );
|
||||
gcAffPacket->data().gcId = m_gc;
|
||||
gcAffPacket->data().gcRank[ 0 ] = m_gcRank[ 0 ];
|
||||
gcAffPacket->data().gcRank[ 1 ] = m_gcRank[ 1 ];
|
||||
|
@ -1065,13 +1065,13 @@ void Sapphire::Entity::Player::update( uint64_t tickCount )
|
|||
if( m_queuedZoneing && ( tickCount - m_queuedZoneing->m_queueTime ) > 800 )
|
||||
{
|
||||
Common::FFXIVARR_POSITION3 targetPos = m_queuedZoneing->m_targetPosition;
|
||||
if( getCurrentZone()->getTerritoryTypeId() != m_queuedZoneing->m_targetZone )
|
||||
if( getCurrentTerritory()->getTerritoryTypeId() != m_queuedZoneing->m_targetZone )
|
||||
{
|
||||
performZoning( m_queuedZoneing->m_targetZone, targetPos, m_queuedZoneing->m_targetRotation );
|
||||
}
|
||||
else
|
||||
{
|
||||
auto setActorPosPacket = makeZonePacket< FFXIVIpcActorSetPos >( getId() );
|
||||
auto setActorPosPacket = makeWorldPacket< FFXIVIpcActorSetPos >( getId() );
|
||||
setActorPosPacket->data().r16 = Util::floatToUInt16Rot( m_queuedZoneing->m_targetRotation );
|
||||
setActorPosPacket->data().waitForLoad = 0x04;
|
||||
setActorPosPacket->data().x = targetPos.x;
|
||||
|
@ -1155,7 +1155,7 @@ void Sapphire::Entity::Player::freePlayerSpawnId( uint32_t actorId )
|
|||
if( spawnId == m_actorSpawnIndexAllocator.getAllocFailId() )
|
||||
return;
|
||||
|
||||
auto freeActorSpawnPacket = makeZonePacket< FFXIVIpcActorFreeSpawn >( getId() );
|
||||
auto freeActorSpawnPacket = makeWorldPacket< FFXIVIpcActorFreeSpawn >( getId() );
|
||||
freeActorSpawnPacket->data().actorId = actorId;
|
||||
freeActorSpawnPacket->data().spawnId = spawnId;
|
||||
queuePacket( freeActorSpawnPacket );
|
||||
|
@ -1410,9 +1410,9 @@ bool Sapphire::Entity::Player::hateListHasEntry( BNpcPtr pBNpc )
|
|||
|
||||
void Sapphire::Entity::Player::sendHateList()
|
||||
{
|
||||
auto hateListPacket = makeZonePacket< FFXIVIpcHateList >( getId() );
|
||||
auto hateListPacket = makeWorldPacket< FFXIVIpcHateList >( getId() );
|
||||
hateListPacket->data().numEntries = m_actorIdTohateSlotMap.size();
|
||||
auto hateRankPacket = makeZonePacket< FFXIVIpcHateRank >( getId() );
|
||||
auto hateRankPacket = makeWorldPacket< FFXIVIpcHateRank >( getId() );
|
||||
hateRankPacket->data().numEntries = m_actorIdTohateSlotMap.size();
|
||||
auto it = m_actorIdTohateSlotMap.begin();
|
||||
for( int32_t i = 0; it != m_actorIdTohateSlotMap.end(); ++it, i++ )
|
||||
|
@ -1492,7 +1492,7 @@ void Sapphire::Entity::Player::setTitle( uint16_t titleId )
|
|||
void Sapphire::Entity::Player::setEquipDisplayFlags( uint8_t state )
|
||||
{
|
||||
m_equipDisplayFlags = state;
|
||||
auto paramPacket = makeZonePacket< FFXIVIpcEquipDisplayFlags >( getId() );
|
||||
auto paramPacket = makeWorldPacket< FFXIVIpcEquipDisplayFlags >( getId() );
|
||||
paramPacket->data().bitmask = m_equipDisplayFlags;
|
||||
sendToInRangeSet( paramPacket, true );
|
||||
}
|
||||
|
@ -1509,7 +1509,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 = makeZonePacket< FFXIVIpcMount >( getId() );
|
||||
auto mountPacket = makeWorldPacket< FFXIVIpcMount >( getId() );
|
||||
mountPacket->data().id = id;
|
||||
sendToInRangeSet( mountPacket, true );
|
||||
}
|
||||
|
@ -1657,7 +1657,7 @@ uint16_t Sapphire::Entity::Player::getItemLevel() const
|
|||
void Sapphire::Entity::Player::setEorzeaTimeOffset( uint64_t timestamp )
|
||||
{
|
||||
// TODO: maybe change to persistent?
|
||||
auto packet = makeZonePacket< FFXIVIpcEorzeaTimeOffset >( getId() );
|
||||
auto packet = makeWorldPacket< FFXIVIpcEorzeaTimeOffset >( getId() );
|
||||
packet->data().timestamp = timestamp;
|
||||
|
||||
// Send to single player
|
||||
|
@ -1683,9 +1683,9 @@ void Sapphire::Entity::Player::sendZonePackets()
|
|||
pServerMgr->updatePlayerName( getId(), getName() );
|
||||
}
|
||||
|
||||
getCurrentZone()->onBeforePlayerZoneIn( *this );
|
||||
getCurrentTerritory()->onBeforePlayerZoneIn( *this );
|
||||
|
||||
auto initPacket = makeZonePacket< FFXIVIpcInit >( getId() );
|
||||
auto initPacket = makeWorldPacket< FFXIVIpcInit >( getId() );
|
||||
initPacket->data().charId = getId();
|
||||
queuePacket( initPacket );
|
||||
|
||||
|
@ -1708,7 +1708,7 @@ void Sapphire::Entity::Player::sendZonePackets()
|
|||
// only initialize the UI if the player in fact just logged in.
|
||||
if( isLogin() )
|
||||
{
|
||||
auto contentFinderList = makeZonePacket< FFXIVIpcCFAvailableContents >( getId() );
|
||||
auto contentFinderList = makeWorldPacket< FFXIVIpcCFAvailableContents >( getId() );
|
||||
|
||||
for( auto i = 0; i < sizeof( contentFinderList->data().contents ); i++ )
|
||||
{
|
||||
|
@ -1719,7 +1719,7 @@ void Sapphire::Entity::Player::sendZonePackets()
|
|||
|
||||
queuePacket( std::make_shared< PlayerSetupPacket >( *this ) );
|
||||
|
||||
auto classInfoPacket = makeZonePacket< FFXIVIpcPlayerClassInfo >( getId() );
|
||||
auto classInfoPacket = makeWorldPacket< FFXIVIpcPlayerClassInfo >( getId() );
|
||||
classInfoPacket->data().classId = static_cast< uint8_t >( getClass() );
|
||||
classInfoPacket->data().unknown = 1;
|
||||
classInfoPacket->data().syncedLevel = getLevel();
|
||||
|
@ -1748,25 +1748,25 @@ void Sapphire::Entity::Player::sendZonePackets()
|
|||
|
||||
sendLandFlags();
|
||||
|
||||
auto initZonePacket = makeZonePacket< FFXIVIpcInitZone >( getId() );
|
||||
initZonePacket->data().zoneId = getCurrentZone()->getTerritoryTypeId();
|
||||
initZonePacket->data().weatherId = static_cast< uint8_t >( getCurrentZone()->getCurrentWeather() );
|
||||
auto initZonePacket = makeWorldPacket< FFXIVIpcInitZone >( getId() );
|
||||
initZonePacket->data().zoneId = getCurrentTerritory()->getTerritoryTypeId();
|
||||
initZonePacket->data().weatherId = static_cast< uint8_t >( getCurrentTerritory()->getCurrentWeather() );
|
||||
initZonePacket->data().bitmask = 0x1;
|
||||
initZonePacket->data().festivalId = getCurrentZone()->getCurrentFestival().first;
|
||||
initZonePacket->data().additionalFestivalId = getCurrentZone()->getCurrentFestival().second;
|
||||
initZonePacket->data().festivalId = getCurrentTerritory()->getCurrentFestival().first;
|
||||
initZonePacket->data().additionalFestivalId = getCurrentTerritory()->getCurrentFestival().second;
|
||||
initZonePacket->data().pos.x = getPos().x;
|
||||
initZonePacket->data().pos.y = getPos().y;
|
||||
initZonePacket->data().pos.z = getPos().z;
|
||||
queuePacket( initZonePacket );
|
||||
|
||||
getCurrentZone()->onPlayerZoneIn( *this );
|
||||
getCurrentTerritory()->onPlayerZoneIn( *this );
|
||||
|
||||
if( isLogin() )
|
||||
{
|
||||
auto unk322 = makeZonePacket< FFXIVARR_IPC_UNK322 >( getId() );
|
||||
auto unk322 = makeWorldPacket< FFXIVARR_IPC_UNK322 >( getId() );
|
||||
queuePacket( unk322 );
|
||||
|
||||
auto unk320 = makeZonePacket< FFXIVARR_IPC_UNK320 >( getId() );
|
||||
auto unk320 = makeWorldPacket< FFXIVARR_IPC_UNK320 >( getId() );
|
||||
queuePacket( unk320 );
|
||||
}
|
||||
|
||||
|
@ -1788,7 +1788,7 @@ bool Sapphire::Entity::Player::isDirectorInitialized() const
|
|||
|
||||
void Sapphire::Entity::Player::sendTitleList()
|
||||
{
|
||||
auto titleListPacket = makeZonePacket< FFXIVIpcPlayerTitleList >( getId() );
|
||||
auto titleListPacket = makeWorldPacket< FFXIVIpcPlayerTitleList >( getId() );
|
||||
memcpy( titleListPacket->data().titleList, getTitleList(), sizeof( titleListPacket->data().titleList ) );
|
||||
|
||||
queuePacket( titleListPacket );
|
||||
|
@ -1932,7 +1932,7 @@ void Sapphire::Entity::Player::freeObjSpawnIndexForActorId( uint32_t actorId )
|
|||
if( spawnId == m_objSpawnIndexAllocator.getAllocFailId() )
|
||||
return;
|
||||
|
||||
auto freeObjectSpawnPacket = makeZonePacket< FFXIVIpcObjectDespawn >( getId() );
|
||||
auto freeObjectSpawnPacket = makeWorldPacket< FFXIVIpcObjectDespawn >( getId() );
|
||||
freeObjectSpawnPacket->data().spawnIndex = spawnId;
|
||||
queuePacket( freeObjectSpawnPacket );
|
||||
}
|
||||
|
@ -1963,7 +1963,7 @@ void Sapphire::Entity::Player::setLandFlags( uint8_t flagSlot, uint32_t landFlag
|
|||
|
||||
void Sapphire::Entity::Player::sendLandFlags()
|
||||
{
|
||||
auto landFlags = makeZonePacket< FFXIVIpcHousingLandFlags >( getId() );
|
||||
auto landFlags = makeWorldPacket< FFXIVIpcHousingLandFlags >( getId() );
|
||||
|
||||
landFlags->data().freeCompanyHouse = m_landFlags[ Common::LandFlagsSlot::FreeCompany ];
|
||||
landFlags->data().privateHouse = m_landFlags[ Common::LandFlagsSlot::Private ];
|
||||
|
@ -1976,7 +1976,7 @@ void Sapphire::Entity::Player::sendLandFlags()
|
|||
|
||||
void Sapphire::Entity::Player::sendLandFlagsSlot( Common::LandFlagsSlot slot )
|
||||
{
|
||||
auto landFlags = makeZonePacket< FFXIVIpcHousingUpdateLandFlagsSlot >( getId() );
|
||||
auto landFlags = makeWorldPacket< FFXIVIpcHousingUpdateLandFlagsSlot >( getId() );
|
||||
|
||||
uint32_t type = 0;
|
||||
|
||||
|
@ -2014,7 +2014,7 @@ void Sapphire::Entity::Player::sendHuntingLog()
|
|||
for( const auto& entry : m_huntingLogEntries )
|
||||
{
|
||||
uint64_t completionFlag = 0;
|
||||
auto huntPacket = makeZonePacket< FFXIVIpcHuntingLogEntry >( getId() );
|
||||
auto huntPacket = makeWorldPacket< 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 = makeZonePacket< Server::FFXIVIpcEventOpenGilShop >( getId() );
|
||||
auto openGilShopPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcInventoryTransaction >( getId() );
|
||||
auto invTransPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcInventoryTransactionFinish >( getId() );
|
||||
auto invTransFinPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcInventoryTransaction >( getId() );
|
||||
auto invTransPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcInventoryTransactionFinish >( getId() );
|
||||
auto invTransFinPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcQuestUpdate >( getId() );
|
||||
auto questUpdatePacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcQuestFinish >( getId() );
|
||||
auto questFinishPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcQuestUpdate >( getId() );
|
||||
auto questUpdatePacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcQuestUpdate >( getId() );
|
||||
auto questUpdatePacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcQuestTracker >( getId() );
|
||||
auto trackerPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcQuestActiveList >( getId() );
|
||||
auto activeQuestListPacket = makeWorldPacket< FFXIVIpcQuestActiveList >( getId() );
|
||||
|
||||
for( int32_t i = 0; i < 30; i++ )
|
||||
{
|
||||
|
@ -1003,7 +1003,7 @@ void Sapphire::Entity::Player::sendQuestInfo()
|
|||
|
||||
queuePacket( activeQuestListPacket );
|
||||
|
||||
auto completeQuestListPacket = makeZonePacket< FFXIVIpcQuestCompleteList >( getId() );
|
||||
auto completeQuestListPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcDirectorVars >( player.getId() );
|
||||
auto varPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcActorSetPos >( player.getId() );
|
||||
auto setActorPosPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcDiscovery >( player.getId() );
|
||||
auto discoveryPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcMSQTrackerProgress >( player.getId() );
|
||||
auto msqPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcMSQTrackerComplete >( player.getId() );
|
||||
auto msqPacket = makeWorldPacket< FFXIVIpcMSQTrackerComplete >( player.getId() );
|
||||
msqPacket->data().id = id;
|
||||
player.queuePacket( msqPacket );
|
||||
|
||||
|
@ -304,7 +304,7 @@ void Sapphire::World::Manager::DebugCommandMgr::set( char* data, Entity::Player&
|
|||
|
||||
sscanf( params.c_str(), "%d", &weatherId );
|
||||
|
||||
player.getCurrentZone()->setWeatherOverride( static_cast< Common::Weather >( weatherId ) );
|
||||
player.getCurrentTerritory()->setWeatherOverride( static_cast< Common::Weather >( weatherId ) );
|
||||
}
|
||||
else if( subCommand == "festival" )
|
||||
{
|
||||
|
@ -448,7 +448,7 @@ void Sapphire::World::Manager::DebugCommandMgr::add( char* data, Entity::Player&
|
|||
player.sendNotice( "Template {0} not found in cache!", params );
|
||||
return;
|
||||
}
|
||||
auto playerZone = player.getCurrentZone();
|
||||
auto playerZone = player.getCurrentTerritory();
|
||||
auto pBNpc = std::make_shared< Entity::BNpc >( playerZone->getNextActorId(),
|
||||
bNpcTemplate,
|
||||
player.getPos().x,
|
||||
|
@ -459,7 +459,7 @@ void Sapphire::World::Manager::DebugCommandMgr::add( char* data, Entity::Player&
|
|||
|
||||
|
||||
|
||||
//pBNpc->setCurrentZone( playerZone );
|
||||
//pBNpc->setCurrentTerritory( 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 = makeZonePacket< FFXIVIpcActorControl143 >( playerId, player.getId() );
|
||||
auto actorControl = makeWorldPacket< FFXIVIpcActorControl143 >( playerId, player.getId() );
|
||||
actorControl->data().category = opcode;
|
||||
actorControl->data().param1 = param1;
|
||||
actorControl->data().param2 = param2;
|
||||
|
@ -538,7 +538,7 @@ void Sapphire::World::Manager::DebugCommandMgr::add( char* data, Entity::Player&
|
|||
|
||||
effectPacket->addEffect( entry );
|
||||
|
||||
auto sequence = player.getCurrentZone()->getNextEffectSequence();
|
||||
auto sequence = player.getCurrentTerritory()->getNextEffectSequence();
|
||||
effectPacket->setSequence( sequence );
|
||||
|
||||
// effectPacket->setAnimationId( param1 );
|
||||
|
@ -581,11 +581,11 @@ void Sapphire::World::Manager::DebugCommandMgr::get( char* data, Entity::Player&
|
|||
if( ( subCommand == "pos" ) )
|
||||
{
|
||||
|
||||
int16_t map_id = pExdData->get< Sapphire::Data::TerritoryType >( player.getCurrentZone()->getTerritoryTypeId() )->map;
|
||||
int16_t map_id = pExdData->get< Sapphire::Data::TerritoryType >( player.getCurrentTerritory()->getTerritoryTypeId() )->map;
|
||||
|
||||
player.sendNotice( "Pos:\n {0}\n {1}\n {2}\n {3}\n MapId: {4}\n ZoneId:{5}",
|
||||
player.getPos().x, player.getPos().y, player.getPos().z,
|
||||
player.getRot(), map_id, player.getCurrentZone()->getTerritoryTypeId() );
|
||||
player.getRot(), map_id, player.getCurrentTerritory()->getTerritoryTypeId() );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -703,7 +703,7 @@ void Sapphire::World::Manager::DebugCommandMgr::nudge( char* data, Entity::Playe
|
|||
}
|
||||
if( offset != 0 )
|
||||
{
|
||||
auto setActorPosPacket = makeZonePacket< FFXIVIpcActorSetPos >( player.getId() );
|
||||
auto setActorPosPacket = makeWorldPacket< FFXIVIpcActorSetPos >( player.getId() );
|
||||
setActorPosPacket->data().x = player.getPos().x;
|
||||
setActorPosPacket->data().y = player.getPos().y;
|
||||
setActorPosPacket->data().z = player.getPos().z;
|
||||
|
@ -919,7 +919,7 @@ void Sapphire::World::Manager::DebugCommandMgr::instance( char* data, Entity::Pl
|
|||
sscanf( params.c_str(), "%d %d", &index, &value );
|
||||
|
||||
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -932,7 +932,7 @@ void Sapphire::World::Manager::DebugCommandMgr::instance( char* data, Entity::Pl
|
|||
|
||||
sscanf( params.c_str(), "%s %hhu", objName, &state );
|
||||
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -950,7 +950,7 @@ void Sapphire::World::Manager::DebugCommandMgr::instance( char* data, Entity::Pl
|
|||
|
||||
sscanf( params.c_str(), "%s %i %i", objName, &state1, &state2 );
|
||||
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -969,7 +969,7 @@ void Sapphire::World::Manager::DebugCommandMgr::instance( char* data, Entity::Pl
|
|||
|
||||
sscanf( params.c_str(), "%hhu", &seq );
|
||||
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -981,7 +981,7 @@ void Sapphire::World::Manager::DebugCommandMgr::instance( char* data, Entity::Pl
|
|||
|
||||
sscanf( params.c_str(), "%hhu", &branch );
|
||||
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -989,7 +989,7 @@ void Sapphire::World::Manager::DebugCommandMgr::instance( char* data, Entity::Pl
|
|||
}
|
||||
else if( subCommand == "qte_start" )
|
||||
{
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -998,7 +998,7 @@ void Sapphire::World::Manager::DebugCommandMgr::instance( char* data, Entity::Pl
|
|||
}
|
||||
else if( subCommand == "event_start" )
|
||||
{
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -1007,7 +1007,7 @@ void Sapphire::World::Manager::DebugCommandMgr::instance( char* data, Entity::Pl
|
|||
}
|
||||
else if( subCommand == "event_end" )
|
||||
{
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< InstanceContent >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -1064,7 +1064,7 @@ void Sapphire::World::Manager::DebugCommandMgr::questBattle( char* data, Entity:
|
|||
else if( subCommand == "complete" )
|
||||
{
|
||||
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -1074,7 +1074,7 @@ void Sapphire::World::Manager::DebugCommandMgr::questBattle( char* data, Entity:
|
|||
else if( subCommand == "fail" )
|
||||
{
|
||||
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -1114,7 +1114,7 @@ void Sapphire::World::Manager::DebugCommandMgr::questBattle( char* data, Entity:
|
|||
sscanf( params.c_str(), "%d %d", &index, &value );
|
||||
|
||||
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -1127,7 +1127,7 @@ void Sapphire::World::Manager::DebugCommandMgr::questBattle( char* data, Entity:
|
|||
|
||||
sscanf( params.c_str(), "%s %hhu", objName, &state );
|
||||
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -1145,7 +1145,7 @@ void Sapphire::World::Manager::DebugCommandMgr::questBattle( char* data, Entity:
|
|||
|
||||
sscanf( params.c_str(), "%s %i %i", objName, &state1, &state2 );
|
||||
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -1164,7 +1164,7 @@ void Sapphire::World::Manager::DebugCommandMgr::questBattle( char* data, Entity:
|
|||
|
||||
sscanf( params.c_str(), "%hhu", &seq );
|
||||
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -1176,7 +1176,7 @@ void Sapphire::World::Manager::DebugCommandMgr::questBattle( char* data, Entity:
|
|||
|
||||
sscanf( params.c_str(), "%hhu", &branch );
|
||||
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -1184,7 +1184,7 @@ void Sapphire::World::Manager::DebugCommandMgr::questBattle( char* data, Entity:
|
|||
}
|
||||
else if( subCommand == "qte_start" )
|
||||
{
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -1193,7 +1193,7 @@ void Sapphire::World::Manager::DebugCommandMgr::questBattle( char* data, Entity:
|
|||
}
|
||||
else if( subCommand == "event_start" )
|
||||
{
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -1202,7 +1202,7 @@ void Sapphire::World::Manager::DebugCommandMgr::questBattle( char* data, Entity:
|
|||
}
|
||||
else if( subCommand == "event_end" )
|
||||
{
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentZone() );
|
||||
auto instance = std::dynamic_pointer_cast< QuestBattle >( player.getCurrentTerritory() );
|
||||
if( !instance )
|
||||
return;
|
||||
|
||||
|
@ -1252,7 +1252,7 @@ void Sapphire::World::Manager::DebugCommandMgr::housing( char* data, Entity::Pla
|
|||
//
|
||||
// if ( permissionSet < 5 )
|
||||
// {
|
||||
// auto pZone = player.getCurrentZone();
|
||||
// auto pZone = player.getCurrentTerritory();
|
||||
// if( pTeriMgr->isHousingTerritory( pZone->getTerritoryTypeId() ) )
|
||||
// {
|
||||
// auto pHousing = std::dynamic_pointer_cast< HousingZone >( pZone );
|
||||
|
|
|
@ -322,7 +322,7 @@ void Sapphire::World::Manager::HousingMgr::sendLandSignOwned( Entity::Player& pl
|
|||
if( !land )
|
||||
return;
|
||||
|
||||
auto landInfoSignPacket = makeZonePacket< Server::FFXIVIpcLandInfoSign >( player.getId() );
|
||||
auto landInfoSignPacket = makeWorldPacket< 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 = makeZonePacket< Server::FFXIVIpcLandPriceUpdate >( player.getId() );
|
||||
auto plotPricePacket = makeWorldPacket< Server::FFXIVIpcLandPriceUpdate >( player.getId() );
|
||||
plotPricePacket->data().price = land->getCurrentPrice();
|
||||
plotPricePacket->data().timeLeft = land->getDevaluationTime();
|
||||
player.queuePacket( plotPricePacket );
|
||||
|
@ -362,7 +362,7 @@ void Sapphire::World::Manager::HousingMgr::sendLandSignFree( Entity::Player& pla
|
|||
|
||||
Sapphire::LandPurchaseResult Sapphire::World::Manager::HousingMgr::purchaseLand( Entity::Player& player, uint8_t plot, uint8_t state )
|
||||
{
|
||||
auto pHousing = std::dynamic_pointer_cast< HousingZone >( player.getCurrentZone() );
|
||||
auto pHousing = std::dynamic_pointer_cast< HousingZone >( player.getCurrentTerritory() );
|
||||
|
||||
auto plotPrice = pHousing->getLand( plot )->getCurrentPrice();
|
||||
auto gilAvailable = player.getCurrency( CurrencyType::Gil );
|
||||
|
@ -418,7 +418,7 @@ bool Sapphire::World::Manager::HousingMgr::relinquishLand( Entity::Player& playe
|
|||
{
|
||||
// TODO: Fix "permissions" being sent incorrectly
|
||||
// TODO: Add checks for land state before relinquishing
|
||||
auto pHousing = std::dynamic_pointer_cast< HousingZone >( player.getCurrentZone() );
|
||||
auto pHousing = std::dynamic_pointer_cast< HousingZone >( player.getCurrentTerritory() );
|
||||
|
||||
auto pLand = pHousing->getLand( plot );
|
||||
auto plotMaxPrice = pLand->getCurrentPrice();
|
||||
|
@ -469,7 +469,7 @@ void Sapphire::World::Manager::HousingMgr::sendWardLandInfo( Entity::Player& pla
|
|||
if( !hZone )
|
||||
return;
|
||||
|
||||
auto wardInfoPacket = makeZonePacket< Server::FFXIVIpcHousingWardInfo >( player.getId() );
|
||||
auto wardInfoPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcHousingEstateGreeting >( player.getId() );
|
||||
auto greetingPacket = makeWorldPacket< FFXIVIpcHousingEstateGreeting >( player.getId() );
|
||||
|
||||
greetingPacket->data().landIdent = ident;
|
||||
|
||||
|
@ -660,7 +660,7 @@ void Sapphire::World::Manager::HousingMgr::createHouse( Sapphire::HousePtr house
|
|||
|
||||
void Sapphire::World::Manager::HousingMgr::buildPresetEstate( Entity::Player& player, uint8_t plotNum, uint32_t presetCatalogId )
|
||||
{
|
||||
auto hZone = std::dynamic_pointer_cast< HousingZone >( player.getCurrentZone() );
|
||||
auto hZone = std::dynamic_pointer_cast< HousingZone >( player.getCurrentTerritory() );
|
||||
|
||||
if( !hZone )
|
||||
return;
|
||||
|
@ -723,7 +723,7 @@ void Sapphire::World::Manager::HousingMgr::requestEstateRename( Entity::Player&
|
|||
if( !house )
|
||||
return;
|
||||
|
||||
auto landRenamePacket = makeZonePacket< Server::FFXIVIpcLandRename >( player.getId() );
|
||||
auto landRenamePacket = makeWorldPacket< 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 = makeZonePacket< Server::FFXIVIpcHousingEstateGreeting >( player.getId() );
|
||||
auto estateGreetingPacket = makeWorldPacket< 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 = makeZonePacket< Server::FFXIVIpcHousingShowEstateGuestAccess >( player.getId() );
|
||||
auto packet = makeWorldPacket< Server::FFXIVIpcHousingShowEstateGuestAccess >( player.getId() );
|
||||
packet->data().ident = ident;
|
||||
|
||||
player.queuePacket( packet );
|
||||
|
@ -830,7 +830,8 @@ void Sapphire::World::Manager::HousingMgr::sendEstateInventory( Entity::Player&
|
|||
// and we have to switch up our way of getting the LandPtr
|
||||
if( plotNum == 255 )
|
||||
{
|
||||
auto internalZone = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >( player.getCurrentZone() );
|
||||
auto internalZone = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >(
|
||||
player.getCurrentTerritory() );
|
||||
if( !internalZone )
|
||||
return;
|
||||
|
||||
|
@ -846,7 +847,7 @@ void Sapphire::World::Manager::HousingMgr::sendEstateInventory( Entity::Player&
|
|||
}
|
||||
else
|
||||
{
|
||||
auto zone = std::dynamic_pointer_cast< HousingZone >( player.getCurrentZone() );
|
||||
auto zone = std::dynamic_pointer_cast< HousingZone >( player.getCurrentTerritory() );
|
||||
if( !zone )
|
||||
return;
|
||||
|
||||
|
@ -971,14 +972,15 @@ void Sapphire::World::Manager::HousingMgr::reqPlaceHousingItem( Sapphire::Entity
|
|||
bool isOutside = false;
|
||||
|
||||
// inside housing territory
|
||||
if( auto zone = std::dynamic_pointer_cast< HousingZone >( player.getCurrentZone() ) )
|
||||
if( auto zone = std::dynamic_pointer_cast< HousingZone >( player.getCurrentTerritory() ) )
|
||||
{
|
||||
land = zone->getLand( landId );
|
||||
|
||||
isOutside = true;
|
||||
}
|
||||
// otherwise, inside a house. landId is 0 when inside a plot
|
||||
else if( auto zone = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >( player.getCurrentZone() ) )
|
||||
else if( auto zone = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >(
|
||||
player.getCurrentTerritory() ) )
|
||||
{
|
||||
// todo: this whole process is retarded and needs to be fixed
|
||||
// perhaps maintain a list of estates by ident inside housingmgr?
|
||||
|
@ -1043,12 +1045,13 @@ void Sapphire::World::Manager::HousingMgr::reqPlaceItemInStore( Sapphire::Entity
|
|||
LandPtr land;
|
||||
bool isOutside = false;
|
||||
|
||||
if( auto zone = std::dynamic_pointer_cast< HousingZone >( player.getCurrentZone() ) )
|
||||
if( auto zone = std::dynamic_pointer_cast< HousingZone >( player.getCurrentTerritory() ) )
|
||||
{
|
||||
land = zone->getLand( landId );
|
||||
isOutside = true;
|
||||
}
|
||||
else if( auto zone = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >( player.getCurrentZone() ) )
|
||||
else if( auto zone = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >(
|
||||
player.getCurrentTerritory() ) )
|
||||
{
|
||||
// todo: this whole process is retarded and needs to be fixed
|
||||
// perhaps maintain a list of estates by ident inside housingmgr?
|
||||
|
@ -1133,7 +1136,7 @@ bool Sapphire::World::Manager::HousingMgr::placeExternalItem( Entity::Player& pl
|
|||
invMgr->updateHousingItemPosition( item );
|
||||
|
||||
// add to zone and spawn
|
||||
auto zone = std::dynamic_pointer_cast< HousingZone >( player.getCurrentZone() );
|
||||
auto zone = std::dynamic_pointer_cast< HousingZone >( player.getCurrentTerritory() );
|
||||
assert( zone );
|
||||
|
||||
zone->spawnYardObject( ident.landId, freeSlot, *item );
|
||||
|
@ -1146,7 +1149,7 @@ bool Sapphire::World::Manager::HousingMgr::placeInteriorItem( Entity::Player& pl
|
|||
{
|
||||
auto invMgr = framework()->get< InventoryMgr >();
|
||||
|
||||
auto zone = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >( player.getCurrentZone() );
|
||||
auto zone = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >( player.getCurrentTerritory() );
|
||||
assert( zone );
|
||||
|
||||
auto ident = zone->getLandIdent();
|
||||
|
@ -1177,7 +1180,7 @@ bool Sapphire::World::Manager::HousingMgr::placeInteriorItem( Entity::Player& pl
|
|||
invMgr->saveHousingContainer( ident, container );
|
||||
invMgr->updateHousingItemPosition( item );
|
||||
|
||||
auto zone = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >( player.getCurrentZone() );
|
||||
auto zone = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >( player.getCurrentTerritory() );
|
||||
assert( zone );
|
||||
|
||||
zone->spawnHousingObject( containerIdx, freeSlot, containerId, item );
|
||||
|
@ -1202,7 +1205,7 @@ Sapphire::Common::HousingObject Sapphire::World::Manager::HousingMgr::getYardObj
|
|||
void Sapphire::World::Manager::HousingMgr::sendInternalEstateInventoryBatch( Sapphire::Entity::Player& player,
|
||||
bool storeroom )
|
||||
{
|
||||
auto zone = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >( player.getCurrentZone() );
|
||||
auto zone = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >( player.getCurrentTerritory() );
|
||||
if( !zone )
|
||||
return;
|
||||
|
||||
|
@ -1243,11 +1246,12 @@ void Sapphire::World::Manager::HousingMgr::reqMoveHousingItem( Entity::Player& p
|
|||
|
||||
// todo: what happens when either of these fail? how does the server let the client know that the moment failed
|
||||
// as is, if it does fail, the client will be locked and unable to move any item until reentering the territory
|
||||
if( auto terri = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >( player.getCurrentZone() ) )
|
||||
if( auto terri = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >(
|
||||
player.getCurrentTerritory() ) )
|
||||
{
|
||||
moveInternalItem( player, ident, *terri, slot, pos, rot );
|
||||
}
|
||||
else if( auto terri = std::dynamic_pointer_cast< HousingZone >( player.getCurrentZone() ) )
|
||||
else if( auto terri = std::dynamic_pointer_cast< HousingZone >( player.getCurrentTerritory() ) )
|
||||
{
|
||||
moveExternalItem( player, ident, slot, *terri, pos, rot );
|
||||
}
|
||||
|
@ -1339,7 +1343,8 @@ void Sapphire::World::Manager::HousingMgr::reqRemoveHousingItem( Sapphire::Entit
|
|||
uint16_t containerId, uint8_t slot,
|
||||
bool sendToStoreroom )
|
||||
{
|
||||
if( auto terri = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >( player.getCurrentZone() ) )
|
||||
if( auto terri = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >(
|
||||
player.getCurrentTerritory() ) )
|
||||
{
|
||||
auto ident = terri->getLandIdent();
|
||||
auto landSet = toLandSetId( ident.territoryTypeId, ident.wardNum );
|
||||
|
@ -1353,7 +1358,7 @@ void Sapphire::World::Manager::HousingMgr::reqRemoveHousingItem( Sapphire::Entit
|
|||
|
||||
removeInternalItem( player, *terri, containerId, slot, sendToStoreroom );
|
||||
}
|
||||
else if( auto terri = std::dynamic_pointer_cast< HousingZone >( player.getCurrentZone() ) )
|
||||
else if( auto terri = std::dynamic_pointer_cast< HousingZone >( player.getCurrentTerritory() ) )
|
||||
{
|
||||
auto land = terri->getLand( plot );
|
||||
if( !land )
|
||||
|
@ -1542,7 +1547,7 @@ Sapphire::ItemContainerPtr Sapphire::World::Manager::HousingMgr::getFreeEstateIn
|
|||
|
||||
void Sapphire::World::Manager::HousingMgr::reqEstateExteriorRemodel( Sapphire::Entity::Player& player, uint16_t plot )
|
||||
{
|
||||
auto terri = std::dynamic_pointer_cast< HousingZone >( player.getCurrentZone() );
|
||||
auto terri = std::dynamic_pointer_cast< HousingZone >( player.getCurrentTerritory() );
|
||||
if( !terri )
|
||||
return;
|
||||
|
||||
|
@ -1569,7 +1574,7 @@ void Sapphire::World::Manager::HousingMgr::reqEstateExteriorRemodel( Sapphire::E
|
|||
|
||||
void Sapphire::World::Manager::HousingMgr::reqEstateInteriorRemodel( Sapphire::Entity::Player& player )
|
||||
{
|
||||
auto terri = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >( player.getCurrentZone() );
|
||||
auto terri = std::dynamic_pointer_cast< Territory::Housing::HousingInteriorTerritory >( player.getCurrentTerritory() );
|
||||
if( !terri )
|
||||
return;
|
||||
|
||||
|
|
|
@ -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 = makeZonePacket< Server::FFXIVIpcCurrencyCrystalInfo >( player.getId() );
|
||||
auto currencyInfoPacket = makeWorldPacket< 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 = makeZonePacket< Server::FFXIVIpcItemInfo >( player.getId() );
|
||||
auto itemInfoPacket = makeWorldPacket< 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 = makeZonePacket< Server::FFXIVIpcContainerInfo >( player.getId() );
|
||||
auto containerInfoPacket = makeWorldPacket< 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 = makeZonePacket< Server::FFFXIVIpcMarketBoardItemListingCount >( player.getId() );
|
||||
auto countPkt = makeWorldPacket< Server::FFFXIVIpcMarketBoardItemListingCount >( player.getId() );
|
||||
countPkt->data().quantity = 1 << 8;
|
||||
countPkt->data().itemCatalogId = catalogId;
|
||||
countPkt->data().requestId = requestId;
|
||||
|
||||
player.queuePacket( countPkt );
|
||||
|
||||
auto historyPkt = makeZonePacket< Server::FFXIVIpcMarketBoardItemListingHistory >( player.getId() );
|
||||
auto historyPkt = makeWorldPacket< 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 = makeZonePacket< Server::FFXIVIpcMarketBoardSearchResult >( player.getId() );
|
||||
auto resultPkt = makeWorldPacket< Server::FFXIVIpcMarketBoardSearchResult >( player.getId() );
|
||||
resultPkt->data().itemIndexStart = startIdx;
|
||||
resultPkt->data().requestId = requestId;
|
||||
|
||||
|
|
|
@ -628,10 +628,10 @@ bool Sapphire::World::Manager::TerritoryMgr::movePlayer( TerritoryPtr pZone, Sap
|
|||
// mark character as zoning in progress
|
||||
pPlayer->setLoadingComplete( false );
|
||||
|
||||
if( pPlayer->getLastPing() != 0 && pPlayer->getCurrentZone() )
|
||||
pPlayer->getCurrentZone()->removeActor( pPlayer );
|
||||
if( pPlayer->getLastPing() != 0 && pPlayer->getCurrentTerritory() )
|
||||
pPlayer->getCurrentTerritory()->removeActor( pPlayer );
|
||||
|
||||
pPlayer->setCurrentZone( pZone );
|
||||
pPlayer->setCurrentTerritory( 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 = ZoneChannelPacket< Client::FFXIVIpcSkillHandler >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcAoESkillHandler >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = makeZonePacket< FFXIVIpcCFDutyInfo >( player.getId() );
|
||||
auto dutyInfoPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcCFPlayerInNeed >( player.getId() );
|
||||
auto inNeedsPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcCFNotify >( player.getId() );
|
||||
auto cfCancelPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcCFNotify >( player.getId() );
|
||||
auto cfCancelPacket = makeWorldPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcClientTrigger >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = makeZonePacket< FFXIVIpcCharaNameReq >( player.getId() );
|
||||
auto packet = makeWorldPacket< FFXIVIpcCharaNameReq >( player.getId() );
|
||||
packet->data().contentId = targetContentId;
|
||||
|
||||
// lookup the name
|
||||
|
@ -287,12 +287,12 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( FrameworkPtr pFw,
|
|||
}
|
||||
case ClientTriggerType::DirectorInitFinish: // Director init finish
|
||||
{
|
||||
player.getCurrentZone()->onInitDirector( player );
|
||||
player.getCurrentTerritory()->onInitDirector( player );
|
||||
break;
|
||||
}
|
||||
case ClientTriggerType::DirectorSync: // Director init finish
|
||||
{
|
||||
player.getCurrentZone()->onDirectorSync( player );
|
||||
player.getCurrentTerritory()->onDirectorSync( player );
|
||||
break;
|
||||
}
|
||||
case ClientTriggerType::EnterTerritoryEventFinished:// this may still be something else. I think i have seen it elsewhere
|
||||
|
@ -313,7 +313,7 @@ void Sapphire::Network::GameConnection::clientTriggerHandler( FrameworkPtr pFw,
|
|||
}
|
||||
case ClientTriggerType::RequestHousingBuildPreset:
|
||||
{
|
||||
auto zone = player.getCurrentZone();
|
||||
auto zone = player.getCurrentTerritory();
|
||||
auto hZone = std::dynamic_pointer_cast< HousingZone >( zone );
|
||||
if (!hZone)
|
||||
return;
|
||||
|
|
|
@ -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 = ZoneChannelPacket< Client::FFXIVIpcEventHandlerTalk >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcEventHandlerEmote >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcEventHandlerWithinRange >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcEventHandlerOutsideRange >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcEnterTerritoryHandler >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcEventHandlerReturn >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcLinkshellEventHandler >( inPacket );
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcLinkshellEventHandler >( inPacket );
|
||||
|
||||
auto linkshellEvent = makeZonePacket< Server::FFXIVIpcEventLinkshell >( player.getId() );
|
||||
auto linkshellEvent = makeWorldPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcShopEventHandler >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcGmCommand1 >( inPacket );
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcGmCommand1 >( inPacket );
|
||||
const auto commandId = packet.data().commandId;
|
||||
const auto param1 = packet.data().param1;
|
||||
const auto param2 = packet.data().param2;
|
||||
|
@ -190,9 +190,9 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
|
|||
}
|
||||
case GmCommand::Weather:
|
||||
{
|
||||
targetPlayer->getCurrentZone()->setWeatherOverride( static_cast< Common::Weather >( param1 ) );
|
||||
targetPlayer->getCurrentTerritory()->setWeatherOverride( static_cast< Common::Weather >( param1 ) );
|
||||
player.sendNotice( "Weather in Territory \"{0}\" of {1} set in range.",
|
||||
targetPlayer->getCurrentZone()->getName(), targetPlayer->getName() );
|
||||
targetPlayer->getCurrentTerritory()->getName(), targetPlayer->getName() );
|
||||
break;
|
||||
}
|
||||
case GmCommand::Call:
|
||||
|
@ -217,7 +217,7 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
|
|||
"\nPlayTime: {8}",
|
||||
targetPlayer->getName(),
|
||||
targetPlayer->getCurrency( CurrencyType::Gil ),
|
||||
targetPlayer->getCurrentZone()->getName(),
|
||||
targetPlayer->getCurrentTerritory()->getName(),
|
||||
targetPlayer->getZoneId(),
|
||||
static_cast< uint8_t >( targetPlayer->getClass() ),
|
||||
targetPlayer->getLevel(),
|
||||
|
@ -257,11 +257,11 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
|
|||
{
|
||||
targetPlayer->setOnlineStatusMask( param1 );
|
||||
|
||||
auto statusPacket = makeZonePacket< FFXIVIpcSetOnlineStatus >( player.getId() );
|
||||
auto statusPacket = makeWorldPacket< FFXIVIpcSetOnlineStatus >( player.getId() );
|
||||
statusPacket->data().onlineStatusFlags = param1;
|
||||
queueOutPacket( statusPacket );
|
||||
|
||||
auto searchInfoPacket = makeZonePacket< FFXIVIpcSetSearchInfo >( player.getId() );
|
||||
auto searchInfoPacket = makeWorldPacket< FFXIVIpcSetSearchInfo >( player.getId() );
|
||||
searchInfoPacket->data().onlineStatusFlags = param1;
|
||||
searchInfoPacket->data().selectRegion = targetPlayer->getSearchSelectRegion();
|
||||
strcpy( searchInfoPacket->data().searchMessage, targetPlayer->getSearchMessage() );
|
||||
|
@ -551,7 +551,7 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
|
|||
}
|
||||
case GmCommand::TeriInfo:
|
||||
{
|
||||
auto pCurrentZone = player.getCurrentZone();
|
||||
auto pCurrentZone = player.getCurrentTerritory();
|
||||
player.sendNotice( "ZoneId: {0}"
|
||||
"\nName: {1}"
|
||||
"\nInternalName: {2}"
|
||||
|
@ -596,7 +596,7 @@ void Sapphire::Network::GameConnection::gm2Handler( FrameworkPtr pFw,
|
|||
|
||||
auto pServerZone = pFw->get< World::ServerMgr >();
|
||||
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcGmCommand2 >( inPacket );
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcGmCommand2 >( inPacket );
|
||||
|
||||
const auto commandId = packet.data().commandId;
|
||||
const auto param1 = packet.data().param1;
|
||||
|
@ -657,7 +657,7 @@ void Sapphire::Network::GameConnection::gm2Handler( FrameworkPtr pFw,
|
|||
{
|
||||
player.exitInstance();
|
||||
}
|
||||
if( targetPlayer->getCurrentZone()->getGuId() != player.getCurrentZone()->getGuId() )
|
||||
if( targetPlayer->getCurrentTerritory()->getGuId() != player.getCurrentTerritory()->getGuId() )
|
||||
{
|
||||
// Checks if the target player is in an InstanceContent to avoid binding to a Territory or PublicContent
|
||||
if( targetPlayer->getCurrentInstance() )
|
||||
|
@ -666,7 +666,7 @@ void Sapphire::Network::GameConnection::gm2Handler( FrameworkPtr pFw,
|
|||
// Not sure if GMs actually get bound to an instance they jump to on retail. It's mostly here to avoid a crash for now
|
||||
pInstanceContent->bindPlayer( player.getId() );
|
||||
}
|
||||
player.setInstance( targetPlayer->getCurrentZone()->getGuId() );
|
||||
player.setInstance( targetPlayer->getCurrentTerritory()->getGuId() );
|
||||
}
|
||||
player.changePosition( targetActor->getPos().x, targetActor->getPos().y, targetActor->getPos().z,
|
||||
targetActor->getRot() );
|
||||
|
@ -687,9 +687,9 @@ void Sapphire::Network::GameConnection::gm2Handler( FrameworkPtr pFw,
|
|||
{
|
||||
targetPlayer->exitInstance();
|
||||
}
|
||||
if( targetPlayer->getCurrentZone()->getGuId() != player.getCurrentZone()->getGuId() )
|
||||
if( targetPlayer->getCurrentTerritory()->getGuId() != player.getCurrentTerritory()->getGuId() )
|
||||
{
|
||||
targetPlayer->setInstance( player.getCurrentZone()->getGuId() );
|
||||
targetPlayer->setInstance( player.getCurrentTerritory()->getGuId() );
|
||||
}
|
||||
targetPlayer->changePosition( player.getPos().x, player.getPos().y, player.getPos().z, player.getRot() );
|
||||
targetPlayer->sendZoneInPackets( 0x00, 0x00, 0, 0, false );
|
||||
|
|
|
@ -27,7 +27,7 @@ void Sapphire::Network::GameConnection::inventoryModifyHandler( FrameworkPtr pFw
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcInventoryModifyHandler >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = makeZonePacket< Server::FFXIVIpcInventoryActionAck >( player.getId() );
|
||||
auto ackPacket = makeWorldPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcSetSearchInfo >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = makeZonePacket< FFXIVIpcSetOnlineStatus >( player.getId() );
|
||||
auto statusPacket = makeWorldPacket< FFXIVIpcSetOnlineStatus >( player.getId() );
|
||||
statusPacket->data().onlineStatusFlags = status;
|
||||
queueOutPacket( statusPacket );
|
||||
|
||||
auto searchInfoPacket = makeZonePacket< FFXIVIpcSetSearchInfo >( player.getId() );
|
||||
auto searchInfoPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcInitSearchInfo >( player.getId() );
|
||||
auto searchInfoPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcExamineSearchComment >( player.getId() );
|
||||
auto searchInfoPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcExamineFreeCompanyInfo >( player.getId() );
|
||||
auto examineFcInfoPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcLinkshellList >( player.getId() );
|
||||
auto linkshellListPacket = makeWorldPacket< FFXIVIpcLinkshellList >( player.getId() );
|
||||
queueOutPacket( linkshellListPacket );
|
||||
}
|
||||
|
||||
|
@ -183,7 +183,7 @@ void Sapphire::Network::GameConnection::updatePositionHandler( FrameworkPtr pFw,
|
|||
if( player.isMarkedForZoning() )
|
||||
return;
|
||||
|
||||
const auto updatePositionPacket = ZoneChannelPacket< Client::FFXIVIpcUpdatePosition >( inPacket );
|
||||
const auto updatePositionPacket = WorldChannelPacket< Client::FFXIVIpcUpdatePosition >( inPacket );
|
||||
|
||||
bool bPosChanged = true;
|
||||
if( updatePositionPacket.data().position == player.getPos() )
|
||||
|
@ -276,12 +276,12 @@ void Sapphire::Network::GameConnection::zoneLineHandler( FrameworkPtr pFw,
|
|||
{
|
||||
auto pTeriMgr = pFw->get< TerritoryMgr >();
|
||||
|
||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcZoneLineHandler >( inPacket );
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcZoneLineHandler >( inPacket );
|
||||
const auto zoneLineId = packet.data().zoneLineId;
|
||||
|
||||
player.sendDebug( "Walking ZoneLine#{0}", zoneLineId );
|
||||
|
||||
auto pZone = player.getCurrentZone();
|
||||
auto pZone = player.getCurrentTerritory();
|
||||
|
||||
auto pLine = pTeriMgr->getTerritoryPosition( zoneLineId );
|
||||
|
||||
|
@ -296,7 +296,7 @@ void Sapphire::Network::GameConnection::zoneLineHandler( FrameworkPtr pFw,
|
|||
targetZone = pLine->getTargetZoneId();
|
||||
rotation = pLine->getTargetRotation();
|
||||
|
||||
auto preparePacket = makeZonePacket< FFXIVIpcPrepareZoning >( player.getId() );
|
||||
auto preparePacket = makeWorldPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcDiscoveryHandler >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = makeZonePacket< FFXIVIpcDiscovery >( player.getId() );
|
||||
auto discoveryPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcPlayTime >( player.getId() );
|
||||
auto playTimePacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcBlackList >( player.getId() );
|
||||
auto blackListPacket = makeWorldPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcPingHandler >( inPacket );
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcPingHandler >( inPacket );
|
||||
|
||||
queueOutPacket( std::make_shared< Server::PingPacket >( player, packet.data().timestamp ) );
|
||||
|
||||
|
@ -404,14 +404,14 @@ void Sapphire::Network::GameConnection::finishLoadingHandler( FrameworkPtr pFw,
|
|||
player.sendQuestInfo();
|
||||
|
||||
// TODO: load and save this data instead of hardcoding
|
||||
auto gcPacket = makeZonePacket< FFXIVGCAffiliation >( player.getId() );
|
||||
auto gcPacket = makeWorldPacket< FFXIVGCAffiliation >( player.getId() );
|
||||
gcPacket->data().gcId = player.getGc();
|
||||
gcPacket->data().gcRank[ 0 ] = player.getGcRankArray()[ 0 ];
|
||||
gcPacket->data().gcRank[ 1 ] = player.getGcRankArray()[ 1 ];
|
||||
gcPacket->data().gcRank[ 2 ] = player.getGcRankArray()[ 2 ];
|
||||
player.queuePacket( gcPacket );
|
||||
|
||||
player.getCurrentZone()->onFinishLoading( player );
|
||||
player.getCurrentTerritory()->onFinishLoading( player );
|
||||
|
||||
// player is done zoning
|
||||
player.setLoadingComplete( true );
|
||||
|
@ -428,7 +428,7 @@ void Sapphire::Network::GameConnection::finishLoadingHandler( FrameworkPtr pFw,
|
|||
player.spawn( player.getAsPlayer() );
|
||||
|
||||
// notify the zone of a change in position to force an "inRangeActor" update
|
||||
player.getCurrentZone()->updateActorPosition( player );
|
||||
player.getCurrentTerritory()->updateActorPosition( player );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::socialListHandler( FrameworkPtr pFw,
|
||||
|
@ -442,7 +442,7 @@ void Sapphire::Network::GameConnection::socialListHandler( FrameworkPtr pFw,
|
|||
if( type == 0x02 )
|
||||
{ // party list
|
||||
|
||||
auto listPacket = makeZonePacket< FFXIVIpcSocialList >( player.getId() );
|
||||
auto listPacket = makeWorldPacket< FFXIVIpcSocialList >( player.getId() );
|
||||
|
||||
listPacket->data().type = 2;
|
||||
listPacket->data().sequence = count;
|
||||
|
@ -450,7 +450,7 @@ void Sapphire::Network::GameConnection::socialListHandler( FrameworkPtr pFw,
|
|||
int32_t entrysizes = sizeof( listPacket->data().entries );
|
||||
memset( listPacket->data().entries, 0, sizeof( listPacket->data().entries ) );
|
||||
|
||||
listPacket->data().entries[ 0 ].bytes[ 2 ] = player.getCurrentZone()->getTerritoryTypeId();
|
||||
listPacket->data().entries[ 0 ].bytes[ 2 ] = player.getCurrentTerritory()->getTerritoryTypeId();
|
||||
listPacket->data().entries[ 0 ].bytes[ 3 ] = 0x80;
|
||||
listPacket->data().entries[ 0 ].bytes[ 4 ] = 0x02;
|
||||
listPacket->data().entries[ 0 ].bytes[ 6 ] = 0x3B;
|
||||
|
@ -458,7 +458,7 @@ void Sapphire::Network::GameConnection::socialListHandler( FrameworkPtr pFw,
|
|||
listPacket->data().entries[ 0 ].classJob = static_cast< uint8_t >( player.getClass() );
|
||||
listPacket->data().entries[ 0 ].contentId = player.getContentId();
|
||||
listPacket->data().entries[ 0 ].level = player.getLevel();
|
||||
listPacket->data().entries[ 0 ].zoneId = player.getCurrentZone()->getTerritoryTypeId();
|
||||
listPacket->data().entries[ 0 ].zoneId = player.getCurrentTerritory()->getTerritoryTypeId();
|
||||
listPacket->data().entries[ 0 ].zoneId1 = 0x0100;
|
||||
// TODO: no idea what this does
|
||||
//listPacket.data().entries[0].one = 1;
|
||||
|
@ -476,7 +476,7 @@ void Sapphire::Network::GameConnection::socialListHandler( FrameworkPtr pFw,
|
|||
}
|
||||
else if( type == 0x0b )
|
||||
{ // friend list
|
||||
auto listPacket = makeZonePacket< FFXIVIpcSocialList >( player.getId() );
|
||||
auto listPacket = makeWorldPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcChatHandler >( inPacket );
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcChatHandler >( inPacket );
|
||||
|
||||
if( packet.data().message[ 0 ] == '!' )
|
||||
{
|
||||
|
@ -516,7 +516,7 @@ void Sapphire::Network::GameConnection::chatHandler( FrameworkPtr pFw,
|
|||
if( player.isActingAsGm() )
|
||||
chatPacket->data().chatType = ChatType::GMSay;
|
||||
|
||||
player.getCurrentZone()->queuePacketForRange( player, 50, chatPacket );
|
||||
player.getCurrentTerritory()->queuePacketForRange( player, 50, chatPacket );
|
||||
break;
|
||||
}
|
||||
case ChatType::Yell:
|
||||
|
@ -524,7 +524,7 @@ void Sapphire::Network::GameConnection::chatHandler( FrameworkPtr pFw,
|
|||
if( player.isActingAsGm() )
|
||||
chatPacket->data().chatType = ChatType::GMYell;
|
||||
|
||||
player.getCurrentZone()->queuePacketForRange( player, 6000, chatPacket );
|
||||
player.getCurrentTerritory()->queuePacketForRange( player, 6000, chatPacket );
|
||||
break;
|
||||
}
|
||||
case ChatType::Shout:
|
||||
|
@ -532,12 +532,12 @@ void Sapphire::Network::GameConnection::chatHandler( FrameworkPtr pFw,
|
|||
if( player.isActingAsGm() )
|
||||
chatPacket->data().chatType = ChatType::GMShout;
|
||||
|
||||
player.getCurrentZone()->queuePacketForRange( player, 6000, chatPacket );
|
||||
player.getCurrentTerritory()->queuePacketForRange( player, 6000, chatPacket );
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
player.getCurrentZone()->queuePacketForRange( player, 50, chatPacket );
|
||||
player.getCurrentTerritory()->queuePacketForRange( player, 50, chatPacket );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -552,7 +552,7 @@ void Sapphire::Network::GameConnection::logoutHandler( FrameworkPtr pFw,
|
|||
const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto logoutPacket = makeZonePacket< FFXIVIpcLogout >( player.getId() );
|
||||
auto logoutPacket = makeWorldPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcTellHandler >( inPacket );
|
||||
const auto packet = WorldChannelPacket< Client::FFXIVIpcTellHandler >( inPacket );
|
||||
|
||||
auto pZoneServer = pFw->get< World::ServerMgr >();
|
||||
|
||||
|
@ -573,7 +573,7 @@ void Sapphire::Network::GameConnection::tellHandler( FrameworkPtr pFw,
|
|||
|
||||
if( !pSession )
|
||||
{
|
||||
auto tellErrPacket = makeZonePacket< FFXIVIpcTellErrNotFound >( player.getId() );
|
||||
auto tellErrPacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcPerformNote >( player.getId() );
|
||||
auto performPacket = makeWorldPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcRenameLandHandler >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = makeZonePacket< Server::FFXIVIpcLandUpdateHouseName >( player.getId() );
|
||||
auto nameUpdatePacket = makeWorldPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcBuildPresetHandler >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcHousingUpdateHouseGreeting >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcReqPlaceHousingItem >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcHousingUpdateObjectPosition >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcMarketBoardSearch >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcMarketBoardRequestItemListingInfo >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 = ZoneChannelPacket< Client::FFXIVIpcMarketBoardRequestItemListings >( inPacket );
|
||||
const auto packet = WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcActorControl142 >
|
||||
class ActorControlPacket142 : public WorldChannelPacket< 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 ) :
|
||||
ZoneChannelPacket< FFXIVIpcActorControl142 >( actorId, actorId )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcActorControl143 >
|
||||
class ActorControlPacket143 : public WorldChannelPacket< 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 ) :
|
||||
ZoneChannelPacket< FFXIVIpcActorControl143 >( actorId, actorId )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcActorControl144 >
|
||||
class ActorControlPacket144 : public WorldChannelPacket< 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 ) :
|
||||
ZoneChannelPacket< FFXIVIpcActorControl144 >( actorId, actorId )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcChat >
|
||||
class ChatPacket : public WorldChannelPacket< FFXIVIpcChat >
|
||||
{
|
||||
public:
|
||||
ChatPacket( Entity::Player& player, Common::ChatType chatType, const std::string& msg ) :
|
||||
ZoneChannelPacket< FFXIVIpcChat >( player.getId(), player.getId() )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcDirectorPlayScene >
|
||||
class DirectorPlayScenePacket : public WorldChannelPacket< 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 ) :
|
||||
ZoneChannelPacket< FFXIVIpcDirectorPlayScene >( playerId, playerId )
|
||||
WorldChannelPacket< FFXIVIpcDirectorPlayScene >( playerId, playerId )
|
||||
{
|
||||
initialize( actorId, eventId, scene, flags, param3, param4, param5 );
|
||||
};
|
||||
|
|
|
@ -11,11 +11,11 @@
|
|||
namespace Sapphire::Network::Packets::Server
|
||||
{
|
||||
|
||||
class EffectPacket : public ZoneChannelPacket< FFXIVIpcEffect >
|
||||
class EffectPacket : public WorldChannelPacket< FFXIVIpcEffect >
|
||||
{
|
||||
public:
|
||||
EffectPacket( uint64_t sourceId, uint32_t targetId, uint32_t actionId ) :
|
||||
ZoneChannelPacket< FFXIVIpcEffect >( static_cast< uint32_t >( sourceId ), targetId )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcEventFinish >
|
||||
class EventFinishPacket : public WorldChannelPacket< FFXIVIpcEventFinish >
|
||||
{
|
||||
public:
|
||||
EventFinishPacket( uint32_t playerId,
|
||||
uint32_t eventId,
|
||||
uint8_t param1,
|
||||
uint32_t param3 ) :
|
||||
ZoneChannelPacket< FFXIVIpcEventFinish >( playerId, playerId )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcEventPlay >
|
||||
class EventPlayPacket : public WorldChannelPacket< 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 ) :
|
||||
ZoneChannelPacket< FFXIVIpcEventPlay >( playerId, playerId )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcEventStart >
|
||||
class EventStartPacket : public WorldChannelPacket< 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 ) :
|
||||
ZoneChannelPacket< FFXIVIpcEventStart >( playerId, playerId )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcExamine >
|
||||
class ExaminePacket : public WorldChannelPacket< FFXIVIpcExamine >
|
||||
{
|
||||
public:
|
||||
ExaminePacket( Entity::Player& player, Entity::PlayerPtr pTarget ) :
|
||||
ZoneChannelPacket< FFXIVIpcExamine >( pTarget->getId(), player.getId() )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcModelEquip >
|
||||
class ModelEquipPacket : public WorldChannelPacket< FFXIVIpcModelEquip >
|
||||
{
|
||||
public:
|
||||
ModelEquipPacket( Entity::Player& player ) :
|
||||
ZoneChannelPacket< FFXIVIpcModelEquip >( player.getId(), player.getId() )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcActorMove >
|
||||
class MoveActorPacket : public WorldChannelPacket< FFXIVIpcActorMove >
|
||||
{
|
||||
public:
|
||||
MoveActorPacket( Entity::Chara& actor, uint8_t headRotation, uint8_t animationType, uint8_t state, uint16_t animationSpeed, uint8_t unknownRotation = 0 ) :
|
||||
ZoneChannelPacket< FFXIVIpcActorMove >( actor.getId(), actor.getId() )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcNpcSpawn >
|
||||
class NpcSpawnPacket : public WorldChannelPacket< FFXIVIpcNpcSpawn >
|
||||
{
|
||||
public:
|
||||
NpcSpawnPacket( Entity::BNpc& bnpc, Entity::Player& target ) :
|
||||
ZoneChannelPacket< FFXIVIpcNpcSpawn >( bnpc.getId(), target.getId() )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcPing >
|
||||
class PingPacket : public WorldChannelPacket< FFXIVIpcPing >
|
||||
{
|
||||
public:
|
||||
PingPacket( Entity::Player& player, int32_t inVal ) :
|
||||
ZoneChannelPacket< FFXIVIpcPing >( player.getId(), player.getId() )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcPlayerSetup >
|
||||
class PlayerSetupPacket : public WorldChannelPacket< FFXIVIpcPlayerSetup >
|
||||
{
|
||||
public:
|
||||
PlayerSetupPacket( Entity::Player& player ) :
|
||||
ZoneChannelPacket< FFXIVIpcPlayerSetup >( player.getId(), player.getId() )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcPlayerSpawn >
|
||||
class PlayerSpawnPacket : public WorldChannelPacket< FFXIVIpcPlayerSpawn >
|
||||
{
|
||||
public:
|
||||
PlayerSpawnPacket( Entity::Player& player, Entity::Player& target ) :
|
||||
ZoneChannelPacket< FFXIVIpcPlayerSpawn >( player.getId(), target.getId() )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcPlayerStateFlags >
|
||||
class PlayerStateFlagsPacket : public WorldChannelPacket< FFXIVIpcPlayerStateFlags >
|
||||
{
|
||||
public:
|
||||
PlayerStateFlagsPacket( Entity::Player& player ) :
|
||||
ZoneChannelPacket< FFXIVIpcPlayerStateFlags >( player.getId(), player.getId() )
|
||||
WorldChannelPacket< FFXIVIpcPlayerStateFlags >( player.getId(), player.getId() )
|
||||
{
|
||||
initialize( player.getStateFlags() );
|
||||
}
|
||||
|
||||
PlayerStateFlagsPacket( Entity::Player& player, std::vector< Common::PlayerStateFlag > flags ) :
|
||||
ZoneChannelPacket< FFXIVIpcPlayerStateFlags >( player.getId(), player.getId() )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcQuestMessage >
|
||||
class QuestMessagePacket : public WorldChannelPacket< FFXIVIpcQuestMessage >
|
||||
{
|
||||
public:
|
||||
QuestMessagePacket( Entity::ActorPtr pActor, uint32_t questId, int8_t msgId,
|
||||
uint8_t type = 0, uint32_t var1 = 0, uint32_t var2 = 0 ) :
|
||||
ZoneChannelPacket< FFXIVIpcQuestMessage >( pActor->getId(), pActor->getId() )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcServerNotice >
|
||||
class ServerNoticePacket : public WorldChannelPacket< FFXIVIpcServerNotice >
|
||||
{
|
||||
public:
|
||||
ServerNoticePacket( uint32_t playerId, const std::string& message ) :
|
||||
ZoneChannelPacket< FFXIVIpcServerNotice >( playerId, playerId )
|
||||
WorldChannelPacket< FFXIVIpcServerNotice >( playerId, playerId )
|
||||
{
|
||||
initialize( message );
|
||||
};
|
||||
|
|
|
@ -11,11 +11,11 @@ namespace Sapphire::Network::Packets::Server
|
|||
/**
|
||||
* @brief The Ping response packet.
|
||||
*/
|
||||
class UpdateHpMpTpPacket : public ZoneChannelPacket< FFXIVIpcUpdateHpMpTp >
|
||||
class UpdateHpMpTpPacket : public WorldChannelPacket< FFXIVIpcUpdateHpMpTp >
|
||||
{
|
||||
public:
|
||||
UpdateHpMpTpPacket( Entity::Chara& actor ) :
|
||||
ZoneChannelPacket< FFXIVIpcUpdateHpMpTp >( actor.getId(), actor.getId() )
|
||||
WorldChannelPacket< 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 ZoneChannelPacket< FFXIVIpcUpdateInventorySlot >
|
||||
class UpdateInventorySlotPacket : public WorldChannelPacket< FFXIVIpcUpdateInventorySlot >
|
||||
{
|
||||
public:
|
||||
UpdateInventorySlotPacket( uint32_t playerId, uint8_t slot, uint16_t storageId, const Item& item ) :
|
||||
ZoneChannelPacket< FFXIVIpcUpdateInventorySlot >( playerId, playerId )
|
||||
WorldChannelPacket< FFXIVIpcUpdateInventorySlot >( playerId, playerId )
|
||||
{
|
||||
initialize( slot, storageId, item );
|
||||
};
|
||||
|
|
|
@ -163,7 +163,7 @@ void Sapphire::Scripting::ScriptMgr::onPlayerFirstEnterWorld( Entity::Player& pl
|
|||
bool Sapphire::Scripting::ScriptMgr::onTalk( Entity::Player& player, uint64_t actorId, uint32_t eventId )
|
||||
{
|
||||
// check if the actor is an eobj and call its script if we have one
|
||||
auto zone = player.getCurrentZone();
|
||||
auto zone = player.getCurrentTerritory();
|
||||
if( auto eobj = zone->getEObj( actorId ) )
|
||||
{
|
||||
auto script = m_nativeScriptMgr->getScript< Sapphire::ScriptAPI::EventObjectScript >( eobj->getObjectId() );
|
||||
|
|
|
@ -286,7 +286,7 @@ void Sapphire::World::ServerMgr::mainLoop()
|
|||
|
||||
// if the player is in a zone, let the zone handler take care of his updates
|
||||
// else do it here.
|
||||
if( !session->getPlayer()->getCurrentZone() )
|
||||
if( !session->getPlayer()->getCurrentTerritory() )
|
||||
session->update();
|
||||
|
||||
}
|
||||
|
|
|
@ -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->setCurrentZone( nullptr );
|
||||
m_pPlayer->setCurrentTerritory( 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 = makeZonePacket< Server::FFXIVIpcHousingIndoorInitialize >( player.getId() );
|
||||
auto indoorInitPacket = makeWorldPacket< 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 = makeZonePacket< Server::FFXIVIpcHousingObjectInitialize >( player.getId() );
|
||||
auto objectInitPacket = makeWorldPacket< 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 = makeZonePacket< Server::FFXIVIpcHousingInternalObjectSpawn >( player.second->getId() );
|
||||
auto objectSpawnPkt = makeWorldPacket< 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 = makeZonePacket< Server::FFXIVIpcHousingObjectMove >( player.second->getId() );
|
||||
auto moveObjPkt = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcHousingObjectInitialize >( player.getId() );
|
||||
auto housingObjectInit = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcLandSetMap >( player.getId() );
|
||||
auto landSetMap = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcLandSetInitialize >( player.getId() );
|
||||
auto landsetInitializePacket = makeWorldPacket< 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 = makeZonePacket< FFXIVIpcLandUpdate >( pPlayer->getId() );
|
||||
auto landUpdatePacket = makeWorldPacket< 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 = makeZonePacket< Server::FFXIVIpcYardObjectSpawn >( player.second->getId() );
|
||||
auto packet = makeWorldPacket< 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 = makeZonePacket< Server::FFXIVIpcHousingObjectMove >( player.second->getId() );
|
||||
auto packet = makeWorldPacket< Server::FFXIVIpcHousingObjectMove >( player.second->getId() );
|
||||
|
||||
packet->data().itemRotation = item.getRot();
|
||||
packet->data().pos = item.getPos();
|
||||
|
|
|
@ -509,7 +509,7 @@ void Sapphire::Territory::updateSessions( uint64_t tickCount, bool changedWeathe
|
|||
}
|
||||
|
||||
// this session is not linked to this area anymore, remove it from zone session list
|
||||
if( ( !pPlayer->getCurrentZone() ) || ( pPlayer->getCurrentZone() != shared_from_this() ) )
|
||||
if( ( !pPlayer->getCurrentTerritory() ) || ( pPlayer->getCurrentTerritory() != shared_from_this() ) )
|
||||
{
|
||||
removeActor( pPlayer );
|
||||
return;
|
||||
|
@ -517,7 +517,7 @@ void Sapphire::Territory::updateSessions( uint64_t tickCount, bool changedWeathe
|
|||
|
||||
if( changedWeather )
|
||||
{
|
||||
auto weatherChangePacket = makeZonePacket< FFXIVIpcWeatherChange >( pPlayer->getId() );
|
||||
auto weatherChangePacket = makeWorldPacket< FFXIVIpcWeatherChange >( pPlayer->getId() );
|
||||
weatherChangePacket->data().weatherId = static_cast< uint8_t >( m_currentWeather );
|
||||
weatherChangePacket->data().delay = 5.0f;
|
||||
pPlayer->queuePacket( weatherChangePacket );
|
||||
|
@ -527,7 +527,7 @@ void Sapphire::Territory::updateSessions( uint64_t tickCount, bool changedWeathe
|
|||
pPlayer->getSession()->update();
|
||||
|
||||
// this session is not linked to this area anymore, remove it from zone session list
|
||||
if( ( !pPlayer->getCurrentZone() ) || ( pPlayer->getCurrentZone() != shared_from_this() ) )
|
||||
if( ( !pPlayer->getCurrentTerritory() ) || ( pPlayer->getCurrentTerritory() != shared_from_this() ) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -609,7 +609,7 @@ void Sapphire::Territory::updateCellActivity( uint32_t x, uint32_t y, int32_t ra
|
|||
void Sapphire::Territory::updateActorPosition( Entity::Actor& actor )
|
||||
{
|
||||
|
||||
if( actor.getCurrentZone() != shared_from_this() )
|
||||
if( actor.getCurrentTerritory() != shared_from_this() )
|
||||
return;
|
||||
|
||||
//actor.checkInRangeActors();
|
||||
|
|
Loading…
Add table
Reference in a new issue