mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-10 04:37:45 +00:00
Renamed the Util::Player namespace to Util::Packet. More cleanups and refactorings.
This commit is contained in:
parent
819f2842b0
commit
ca002dadd1
11 changed files with 181 additions and 169 deletions
|
@ -23,7 +23,7 @@
|
|||
#include "Network/PacketWrappers/ActorControlPacket.h"
|
||||
#include "Network/PacketWrappers/ActorControlSelfPacket.h"
|
||||
#include "Network/PacketWrappers/ActorControlTargetPacket.h"
|
||||
#include "Network/Util/PlayerUtil.h"
|
||||
#include "Network/Util/PacketUtil.h"
|
||||
|
||||
#include <Logging/Logger.h>
|
||||
|
||||
|
@ -518,7 +518,7 @@ void Action::Action::buildEffects()
|
|||
return;
|
||||
}
|
||||
|
||||
Network::Util::Player::sendHudParam( *m_pSource->getAsPlayer() );
|
||||
Network::Util::Packet::sendHudParam( *m_pSource->getAsPlayer() );
|
||||
|
||||
if( !hasLutEntry || m_hitActors.empty() )
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#include "Network/PacketWrappers/ActorControlTargetPacket.h"
|
||||
#include "Network/PacketWrappers/NpcSpawnPacket.h"
|
||||
#include "Network/PacketWrappers/MoveActorPacket.h"
|
||||
#include "Network/Util/PlayerUtil.h"
|
||||
#include "Network/Util/PacketUtil.h"
|
||||
|
||||
#include "Navi/NaviProvider.h"
|
||||
|
||||
|
@ -542,7 +542,7 @@ void Sapphire::Entity::BNpc::hateListUpdate( const Sapphire::Entity::CharaPtr& p
|
|||
if( pChara->isPlayer() )
|
||||
{
|
||||
auto pPlayer = pChara->getAsPlayer();
|
||||
Network::Util::Player::sendHateList( *pPlayer );
|
||||
Network::Util::Packet::sendHateList( *pPlayer );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
#include "Network/PacketWrappers/EffectPacket1.h"
|
||||
#include "Network/PacketWrappers/InitZonePacket.h"
|
||||
|
||||
#include "Network/Util/PlayerUtil.h"
|
||||
#include "Network/Util/PacketUtil.h"
|
||||
|
||||
#include "Action/Action.h"
|
||||
|
||||
|
@ -264,7 +264,7 @@ void Player::addOnlineStatus( OnlineStatus status )
|
|||
|
||||
setOnlineStatusMask( newFlags );
|
||||
|
||||
Network::Util::Player::sendOnlineStatus( *this );
|
||||
Network::Util::Packet::sendOnlineStatus( *this );
|
||||
}
|
||||
|
||||
void Player::addOnlineStatus( const std::vector< Common::OnlineStatus >& status )
|
||||
|
@ -278,7 +278,7 @@ void Player::addOnlineStatus( const std::vector< Common::OnlineStatus >& status
|
|||
|
||||
setOnlineStatusMask( newFlags );
|
||||
|
||||
Network::Util::Player::sendOnlineStatus( *this );
|
||||
Network::Util::Packet::sendOnlineStatus( *this );
|
||||
}
|
||||
|
||||
void Player::removeOnlineStatus( OnlineStatus status )
|
||||
|
@ -292,7 +292,7 @@ void Player::removeOnlineStatus( OnlineStatus status )
|
|||
setOnlineStatusMask( newFlags );
|
||||
setOnlineStatusCustomMask( newFlagsCustom );
|
||||
|
||||
Network::Util::Player::sendOnlineStatus( *this );
|
||||
Network::Util::Packet::sendOnlineStatus( *this );
|
||||
}
|
||||
|
||||
void Player::removeOnlineStatus( const std::vector< Common::OnlineStatus >& status )
|
||||
|
@ -309,7 +309,7 @@ void Player::removeOnlineStatus( const std::vector< Common::OnlineStatus >& stat
|
|||
setOnlineStatusMask( newFlags );
|
||||
setOnlineStatusCustomMask( newFlagsCustom );
|
||||
|
||||
Network::Util::Player::sendOnlineStatus( *this );
|
||||
Network::Util::Packet::sendOnlineStatus( *this );
|
||||
}
|
||||
|
||||
void Player::calculateStats()
|
||||
|
@ -457,7 +457,7 @@ void Player::registerAetheryte( uint8_t aetheryteId )
|
|||
Util::valueToFlagByteIndexValue( aetheryteId, value, index );
|
||||
|
||||
m_aetheryte[ index ] |= value;
|
||||
Network::Util::Player::sendActorControlSelf( *this, LearnTeleport, aetheryteId, 1 );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, LearnTeleport, aetheryteId, 1 );
|
||||
}
|
||||
|
||||
bool Player::isAetheryteRegistered( uint8_t aetheryteId ) const
|
||||
|
@ -560,7 +560,7 @@ void Player::setRewardFlag( Common::UnlockEntry unlockId )
|
|||
|
||||
m_unlocks[ index ] |= value;
|
||||
|
||||
Network::Util::Player::sendActorControlSelf( *this, SetRewardFlag, unlock, 1 );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, SetRewardFlag, unlock, 1 );
|
||||
}
|
||||
|
||||
void Player::learnSong( uint8_t songId, uint32_t itemId )
|
||||
|
@ -571,7 +571,7 @@ void Player::learnSong( uint8_t songId, uint32_t itemId )
|
|||
|
||||
m_orchestrion[ index ] |= value;
|
||||
|
||||
Network::Util::Player::sendActorControlSelf( *this, ToggleOrchestrionUnlock, songId, 1, itemId );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, ToggleOrchestrionUnlock, songId, 1, itemId );
|
||||
}
|
||||
|
||||
bool Player::hasReward( Common::UnlockEntry unlockId ) const
|
||||
|
@ -608,7 +608,7 @@ void Player::gainExp( uint32_t amount )
|
|||
{
|
||||
setExp( 0 );
|
||||
if( currentExp != 0 )
|
||||
Network::Util::Player::sendActorControlSelf( *this, UpdateUiExp, currentClass, 0 );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, UpdateUiExp, currentClass, 0 );
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -632,8 +632,8 @@ void Player::gainExp( uint32_t amount )
|
|||
else
|
||||
setExp( currentExp + amount );
|
||||
|
||||
Network::Util::Player::sendActorControlSelf( *this, GainExpMsg, currentClass, amount );
|
||||
Network::Util::Player::sendActorControlSelf( *this, UpdateUiExp, currentClass, getExp() );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, GainExpMsg, currentClass, amount );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, UpdateUiExp, currentClass, getExp() );
|
||||
}
|
||||
|
||||
void Player::levelUp()
|
||||
|
@ -642,7 +642,7 @@ void Player::levelUp()
|
|||
m_mp = getMaxMp();
|
||||
|
||||
setLevel( getLevel() + 1 );
|
||||
Network::Util::Player::sendActorControl( getInRangePlayerIds( true ), *this, LevelUpEffect, static_cast< uint8_t >( getClass() ), getLevel(), getLevel() - 1 );
|
||||
Network::Util::Packet::sendActorControl( getInRangePlayerIds( true ), *this, LevelUpEffect, static_cast< uint8_t >( getClass() ), getLevel(), getLevel() - 1 );
|
||||
|
||||
auto& achvMgr = Common::Service< World::Manager::AchievementMgr >::ref();
|
||||
achvMgr.progressAchievementByType< Common::Achievement::Type::Classjob >( *this, static_cast< uint32_t >( getClass() ) );
|
||||
|
@ -717,9 +717,9 @@ void Player::setClassJob( Common::ClassJob classJob )
|
|||
|
||||
m_tp = 0;
|
||||
|
||||
Network::Util::Player::sendStatusUpdate( *this );
|
||||
Network::Util::Player::sendActorControl( getInRangePlayerIds( true ), *this, ClassJobChange, 4 );
|
||||
Network::Util::Player::sendHudParam( *this );
|
||||
Network::Util::Packet::sendStatusUpdate( *this );
|
||||
Network::Util::Packet::sendActorControl( getInRangePlayerIds( true ), *this, ClassJobChange, 4 );
|
||||
Network::Util::Packet::sendHudParam( *this );
|
||||
Service< World::Manager::MapMgr >::ref().updateQuests( *this );
|
||||
}
|
||||
|
||||
|
@ -730,9 +730,9 @@ void Player::setLevel( uint8_t level )
|
|||
m_classArray[ classJobIndex ] = level;
|
||||
|
||||
calculateStats();
|
||||
Network::Util::Player::sendBaseParams( *this );
|
||||
Network::Util::Player::sendHudParam( *this );
|
||||
Network::Util::Player::sendStatusUpdate( *this );
|
||||
Network::Util::Packet::sendBaseParams( *this );
|
||||
Network::Util::Packet::sendHudParam( *this );
|
||||
Network::Util::Packet::sendStatusUpdate( *this );
|
||||
}
|
||||
|
||||
void Player::setLevelForClass( uint8_t level, Common::ClassJob classjob )
|
||||
|
@ -745,7 +745,7 @@ void Player::setLevelForClass( uint8_t level, Common::ClassJob classjob )
|
|||
|
||||
m_classArray[ classJobIndex ] = level;
|
||||
|
||||
Network::Util::Player::sendActorControlSelf( *this, ClassJobUpdate, static_cast< uint8_t >( classjob ), getLevelForClass( classjob ) );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, ClassJobUpdate, static_cast< uint8_t >( classjob ), getLevelForClass( classjob ) );
|
||||
|
||||
auto& achvMgr = Common::Service< World::Manager::AchievementMgr >::ref();
|
||||
achvMgr.progressAchievementByType< Common::Achievement::Type::Classjob >( *this, static_cast< uint32_t >( classjob ) );
|
||||
|
@ -818,7 +818,7 @@ void Player::despawn( Entity::PlayerPtr pTarget )
|
|||
Logger::debug( "Despawning {0} for {1}", getName(), pTarget->getName() );
|
||||
|
||||
pPlayer->freePlayerSpawnId( getId() );
|
||||
Network::Util::Player::sendActorControlSelf( *this, WarpStart, 4, getId(), 1 );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, WarpStart, 4, getId(), 1 );
|
||||
}
|
||||
|
||||
GameObjectPtr Player::lookupTargetById( uint64_t targetId )
|
||||
|
@ -848,13 +848,13 @@ void Player::setGrandCompany( uint8_t gc )
|
|||
m_gc = gc;
|
||||
if( m_gcRank[ gc ] == 0 )
|
||||
m_gcRank[ gc ] = 1;
|
||||
Network::Util::Player::sendGrandCompany( *this );
|
||||
Network::Util::Packet::sendGrandCompany( *this );
|
||||
}
|
||||
|
||||
void Player::setGrandCompanyRankAt( uint8_t index, uint8_t rank )
|
||||
{
|
||||
m_gcRank[ index ] = rank;
|
||||
Network::Util::Player::sendGrandCompany( *this );
|
||||
Network::Util::Packet::sendGrandCompany( *this );
|
||||
}
|
||||
|
||||
const Player::Condition& Player::getConditions() const
|
||||
|
@ -882,7 +882,7 @@ void Player::setCondition( Common::PlayerCondition flag )
|
|||
Util::valueToFlagByteIndexValue( iFlag, value, index );
|
||||
|
||||
m_condition[ index ] |= value;
|
||||
Network::Util::Player::sendCondition( *this );
|
||||
Network::Util::Packet::sendCondition( *this );
|
||||
}
|
||||
|
||||
void Player::setConditions( const std::vector< Common::PlayerCondition >& flags )
|
||||
|
@ -897,7 +897,7 @@ void Player::setConditions( const std::vector< Common::PlayerCondition >& flags
|
|||
|
||||
m_condition[ index ] |= value;
|
||||
}
|
||||
Network::Util::Player::sendCondition( *this );
|
||||
Network::Util::Packet::sendCondition( *this );
|
||||
}
|
||||
|
||||
void Player::removeCondition( Common::PlayerCondition flag )
|
||||
|
@ -912,7 +912,7 @@ void Player::removeCondition( Common::PlayerCondition flag )
|
|||
Util::valueToFlagByteIndexValue( iFlag, value, index );
|
||||
|
||||
m_condition[ index ] ^= value;
|
||||
Network::Util::Player::sendCondition( *this );
|
||||
Network::Util::Packet::sendCondition( *this );
|
||||
}
|
||||
|
||||
void Player::update( uint64_t tickCount )
|
||||
|
@ -941,7 +941,7 @@ void Player::freePlayerSpawnId( uint32_t actorId )
|
|||
if( spawnId == m_actorSpawnIndexAllocator.getAllocFailId() )
|
||||
return;
|
||||
|
||||
Network::Util::Player::sendDeletePlayer( *this, actorId, spawnId );
|
||||
Network::Util::Packet::sendDeletePlayer( *this, actorId, spawnId );
|
||||
}
|
||||
|
||||
Player::AetheryteList& Player::getAetheryteArray()
|
||||
|
@ -953,7 +953,7 @@ Player::AetheryteList& Player::getAetheryteArray()
|
|||
void Player::setHomepoint( uint8_t aetheryteId )
|
||||
{
|
||||
m_homePoint = aetheryteId;
|
||||
Network::Util::Player::sendActorControlSelf( *this, SetHomepoint, aetheryteId );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, SetHomepoint, aetheryteId );
|
||||
}
|
||||
|
||||
/*! get homepoint */
|
||||
|
@ -1002,7 +1002,7 @@ void Player::unlockMount( uint32_t mountId )
|
|||
|
||||
m_mountGuide[ mount->data().MountOrder / 8 ] |= ( 1 << ( mount->data().MountOrder % 8 ) );
|
||||
|
||||
Network::Util::Player::sendActorControlSelf( *this, SetMountBitmask, mount->data().MountOrder, 1 );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, SetMountBitmask, mount->data().MountOrder, 1 );
|
||||
}
|
||||
|
||||
void Player::unlockCompanion( uint32_t companionId )
|
||||
|
@ -1019,7 +1019,7 @@ void Player::unlockCompanion( uint32_t companionId )
|
|||
|
||||
m_minionGuide[ index ] |= value;
|
||||
|
||||
Network::Util::Player::sendActorControlSelf( *this, LearnCompanion, companionId, 1 );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, LearnCompanion, companionId, 1 );
|
||||
}
|
||||
|
||||
Player::MinionList& Player::getMinionGuideBitmask()
|
||||
|
@ -1109,7 +1109,7 @@ void Player::hateListAdd( const BNpc& bnpc )
|
|||
uint8_t hateId = m_freeHateSlotQueue.front();
|
||||
m_freeHateSlotQueue.pop();
|
||||
m_actorIdTohateSlotMap[ bnpc.getId() ] = hateId;
|
||||
Network::Util::Player::sendHateList( *this );
|
||||
Network::Util::Packet::sendHateList( *this );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1124,7 +1124,7 @@ void Player::hateListRemove( const BNpc& bnpc )
|
|||
uint8_t hateSlot = it->second;
|
||||
m_freeHateSlotQueue.push( hateSlot );
|
||||
m_actorIdTohateSlotMap.erase( it );
|
||||
Network::Util::Player::sendHateList( *this );
|
||||
Network::Util::Packet::sendHateList( *this );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1144,14 +1144,14 @@ const std::map< uint32_t, uint8_t >& Player::getActorIdToHateSlotMap()
|
|||
void Player::onMobAggro( const BNpc& bnpc )
|
||||
{
|
||||
hateListAdd( bnpc );
|
||||
Network::Util::Player::sendActorControl( *this, SetBattle, 1 );
|
||||
Network::Util::Packet::sendActorControl( *this, SetBattle, 1 );
|
||||
}
|
||||
|
||||
void Player::onMobDeaggro( const BNpc& bnpc )
|
||||
{
|
||||
hateListRemove( bnpc );
|
||||
if( m_actorIdTohateSlotMap.empty() )
|
||||
Network::Util::Player::sendActorControl( *this, SetBattle, 0 );
|
||||
Network::Util::Packet::sendActorControl( *this, SetBattle, 0 );
|
||||
}
|
||||
|
||||
bool Player::isLogin() const
|
||||
|
@ -1193,7 +1193,7 @@ void Player::setTitle( uint16_t titleId )
|
|||
return;
|
||||
|
||||
m_activeTitle = titleId;
|
||||
Network::Util::Player::sendActorControl( getInRangePlayerIds( true ), *this, SetTitle, titleId );
|
||||
Network::Util::Packet::sendActorControl( getInRangePlayerIds( true ), *this, SetTitle, titleId );
|
||||
}
|
||||
|
||||
const Player::AchievementData& Player::getAchievementData() const
|
||||
|
@ -1209,7 +1209,7 @@ void Player::setAchievementData( const Player::AchievementData& achievementData
|
|||
void Player::setMaxGearSets( uint8_t amount )
|
||||
{
|
||||
m_equippedMannequin = amount;
|
||||
Network::Util::Player::sendActorControlSelf( *this, SetMaxGearSets, m_equippedMannequin );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, SetMaxGearSets, m_equippedMannequin );
|
||||
}
|
||||
|
||||
void Player::addGearSet()
|
||||
|
@ -1234,7 +1234,7 @@ uint8_t Player::getMaxGearSets() const
|
|||
void Player::setConfigFlags( uint16_t state )
|
||||
{
|
||||
m_configFlags = static_cast< uint8_t >( state );
|
||||
Network::Util::Player::sendConfigFlags( *this );
|
||||
Network::Util::Packet::sendConfigFlags( *this );
|
||||
}
|
||||
|
||||
uint8_t Player::getConfigFlags() const
|
||||
|
@ -1245,7 +1245,7 @@ uint8_t Player::getConfigFlags() const
|
|||
void Player::setMount( uint32_t mountId )
|
||||
{
|
||||
m_mount = mountId;
|
||||
Network::Util::Player::sendMount( *this );
|
||||
Network::Util::Packet::sendMount( *this );
|
||||
}
|
||||
|
||||
void Player::setCompanion( uint8_t id )
|
||||
|
@ -1258,7 +1258,7 @@ void Player::setCompanion( uint8_t id )
|
|||
|
||||
m_companionId = id;
|
||||
|
||||
Network::Util::Player::sendActorControl( getInRangePlayerIds( true ), *this, ToggleCompanion, id );
|
||||
Network::Util::Packet::sendActorControl( getInRangePlayerIds( true ), *this, ToggleCompanion, id );
|
||||
}
|
||||
|
||||
uint8_t Player::getCurrentCompanion() const
|
||||
|
@ -1418,7 +1418,7 @@ void Player::teleportQuery( uint16_t aetheryteId )
|
|||
cost = std::min< uint16_t >( 999, cost );
|
||||
|
||||
bool insufficientGil = getCurrency( Common::CurrencyType::Gil ) < cost;
|
||||
Network::Util::Player::sendActorControlSelf( *this, OnExecuteTelepo, insufficientGil ? 2 : 0, aetheryteId );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, OnExecuteTelepo, insufficientGil ? 2 : 0, aetheryteId );
|
||||
|
||||
if( !insufficientGil )
|
||||
{
|
||||
|
@ -1493,7 +1493,7 @@ void Player::dyeItemFromDyeingInfo()
|
|||
insertInventoryItem( static_cast< Sapphire::Common::InventoryType >( itemToDyeContainer ), static_cast< uint16_t >( itemToDyeSlot ), itemToDye );
|
||||
writeItem( itemToDye );
|
||||
|
||||
Network::Util::Player::sendActorControlSelf( *this, DyeMsg, itemToDye->getId(), shouldDye, invalidateGearSet );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, DyeMsg, itemToDye->getId(), shouldDye, invalidateGearSet );
|
||||
}
|
||||
|
||||
void Player::setGlamouringInfo( uint32_t itemToGlamourContainer, uint32_t itemToGlamourSlot, uint32_t glamourBagContainer, uint32_t glamourBagSlot, bool shouldGlamour )
|
||||
|
@ -1515,7 +1515,7 @@ void Player::glamourItemFromGlamouringInfo()
|
|||
uint32_t glamourBagSlot = m_glamouringInfo.glamourBagSlot;
|
||||
bool shouldGlamour = m_glamouringInfo.shouldGlamour;
|
||||
|
||||
Network::Util::Player::sendCondition( *this );
|
||||
Network::Util::Packet::sendCondition( *this );
|
||||
|
||||
auto itemToGlamour = getItemAt( itemToGlamourContainer, itemToGlamourSlot );
|
||||
auto glamourToUse = getItemAt( glamourBagContainer, glamourBagSlot );
|
||||
|
@ -1547,9 +1547,9 @@ void Player::glamourItemFromGlamouringInfo()
|
|||
writeItem( itemToGlamour );
|
||||
|
||||
if( shouldGlamour )
|
||||
Network::Util::Player::sendActorControlSelf( *this, GlamourCastMsg, itemToGlamour->getId(), glamourToUse->getId(), invalidateGearSet );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, GlamourCastMsg, itemToGlamour->getId(), glamourToUse->getId(), invalidateGearSet );
|
||||
else
|
||||
Network::Util::Player::sendActorControlSelf( *this, GlamourRemoveMsg, itemToGlamour->getId(), invalidateGearSet );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, GlamourRemoveMsg, itemToGlamour->getId(), invalidateGearSet );
|
||||
}
|
||||
|
||||
void Player::resetObjSpawnIndex()
|
||||
|
@ -1565,7 +1565,7 @@ void Player::freeObjSpawnIndexForActorId( uint32_t actorId )
|
|||
if( spawnId == m_objSpawnIndexAllocator.getAllocFailId() )
|
||||
return;
|
||||
|
||||
Network::Util::Player::sendDeleteObject( *this, spawnId );
|
||||
Network::Util::Packet::sendDeleteObject( *this, spawnId );
|
||||
}
|
||||
|
||||
bool Player::isObjSpawnIndexValid( uint8_t index )
|
||||
|
@ -1634,7 +1634,7 @@ void Player::updateHuntingLog( uint16_t id )
|
|||
if( note1->data().Monster == id && logEntry.entries[ i - 1 ][ x ] < note->data().NeededKills[ x ] )
|
||||
{
|
||||
logEntry.entries[ i - 1 ][ x ]++;
|
||||
Network::Util::Player::sendActorControlSelf( *this, HuntingLogEntryUpdate, monsterNoteId, x, logEntry.entries[ i - 1 ][ x ] );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, HuntingLogEntryUpdate, monsterNoteId, x, logEntry.entries[ i - 1 ][ x ] );
|
||||
logChanged = true;
|
||||
sectionChanged = true;
|
||||
}
|
||||
|
@ -1643,7 +1643,7 @@ void Player::updateHuntingLog( uint16_t id )
|
|||
}
|
||||
if( logChanged && sectionComplete && sectionChanged )
|
||||
{
|
||||
Network::Util::Player::sendActorControlSelf( *this, HuntingLogSectionFinish, monsterNoteId, i, 0 );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, HuntingLogSectionFinish, monsterNoteId, i, 0 );
|
||||
gainExp( note->data().RewardExp );
|
||||
}
|
||||
if( !sectionComplete )
|
||||
|
@ -1653,18 +1653,18 @@ void Player::updateHuntingLog( uint16_t id )
|
|||
}
|
||||
if( logChanged && allSectionsComplete )
|
||||
{
|
||||
Network::Util::Player::sendActorControlSelf( *this, HuntingLogRankFinish, 4 );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, HuntingLogRankFinish, 4 );
|
||||
gainExp( rankRewards[ logEntry.rank ] );
|
||||
if( logEntry.rank < 4 )
|
||||
{
|
||||
logEntry.rank++;
|
||||
memset( logEntry.entries, 0, 40 );
|
||||
Network::Util::Player::sendActorControlSelf( *this, HuntingLogRankUnlock, currentClassId, logEntry.rank + 1, 0 );
|
||||
Network::Util::Packet::sendActorControlSelf( *this, HuntingLogRankUnlock, currentClassId, logEntry.rank + 1, 0 );
|
||||
}
|
||||
}
|
||||
|
||||
if( logChanged )
|
||||
Network::Util::Player::sendHuntingLog( *this );
|
||||
Network::Util::Packet::sendHuntingLog( *this );
|
||||
}
|
||||
|
||||
void Player::setActiveLand( uint8_t land, uint8_t ward )
|
||||
|
@ -1727,7 +1727,7 @@ void Player::resetRecastGroups()
|
|||
m_recast[ i ] = 0.0f;
|
||||
m_recastMax[ i ] = 0.0f;
|
||||
}
|
||||
Network::Util::Player::sendRecastGroups( *this );
|
||||
Network::Util::Packet::sendRecastGroups( *this );
|
||||
}
|
||||
|
||||
bool Player::checkAction()
|
||||
|
@ -1826,7 +1826,7 @@ void Player::setFalling( bool state, const Common::FFXIVARR_POSITION3& pos, bool
|
|||
// no mercy on hated players
|
||||
takeDamage( damage );
|
||||
}
|
||||
Network::Util::Player::sendActorControl( getInRangePlayerIds( true ), *this, SetFallDamage, damage );
|
||||
Network::Util::Packet::sendActorControl( getInRangePlayerIds( true ), *this, SetFallDamage, damage );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,9 @@
|
|||
#include "Manager/PlayerMgr.h"
|
||||
#include "Service.h"
|
||||
#include <Network/PacketWrappers/RestingPacket.h>
|
||||
#include <Network/Util/PacketUtil.h>
|
||||
|
||||
using namespace Sapphire;
|
||||
using namespace Sapphire::Common;
|
||||
using namespace Sapphire::Network::Packets;
|
||||
using namespace Sapphire::Network::Packets::WorldPackets::Server;
|
||||
|
@ -71,7 +73,7 @@ void Sapphire::Entity::Player::onTick()
|
|||
bool sendUpdate = performResting();
|
||||
|
||||
if( sendUpdate )
|
||||
server().queueForPlayers( getInRangePlayerIds( true ), std::make_shared< RestingPacket >( *this ) );
|
||||
Network::Util::Packet::sendRestingUpdate( *this );
|
||||
}
|
||||
|
||||
bool Sapphire::Entity::Player::performResting()
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#include "Network/PacketWrappers/ActorControlSelfPacket.h"
|
||||
#include "Network/PacketWrappers/UpdateInventorySlotPacket.h"
|
||||
#include <Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
#include <Network/Util/PlayerUtil.h>
|
||||
#include <Network/Util/PacketUtil.h>
|
||||
|
||||
#include "Manager/InventoryMgr.h"
|
||||
#include "Manager/ItemMgr.h"
|
||||
|
@ -225,10 +225,10 @@ void Sapphire::Entity::Player::equipItem( Common::GearSetSlot equipSlotId, Item&
|
|||
calculateItemLevel();
|
||||
if( sendUpdate )
|
||||
{
|
||||
Network::Util::Player::sendEquip( *this );
|
||||
Network::Util::Player::sendActorControl( *this, SetItemLevel, getItemLevel() );
|
||||
Network::Util::Player::sendBaseParams( *this );
|
||||
Network::Util::Player::sendHudParam( *this );
|
||||
Network::Util::Packet::sendEquip( *this );
|
||||
Network::Util::Packet::sendActorControl( *this, SetItemLevel, getItemLevel() );
|
||||
Network::Util::Packet::sendBaseParams( *this );
|
||||
Network::Util::Packet::sendHudParam( *this );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -247,10 +247,10 @@ void Sapphire::Entity::Player::unequipItem( Common::GearSetSlot equipSlotId, Ite
|
|||
|
||||
if( sendUpdate )
|
||||
{
|
||||
Network::Util::Player::sendEquip( *this );
|
||||
Network::Util::Player::sendActorControl( *this, SetItemLevel, getItemLevel() );
|
||||
Network::Util::Player::sendBaseParams( *this );
|
||||
Network::Util::Player::sendHudParam( *this );
|
||||
Network::Util::Packet::sendEquip( *this );
|
||||
Network::Util::Packet::sendActorControl( *this, SetItemLevel, getItemLevel() );
|
||||
Network::Util::Packet::sendBaseParams( *this );
|
||||
Network::Util::Packet::sendHudParam( *this );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#include <Util/Util.h>
|
||||
|
||||
#include "AchievementMgr.h"
|
||||
#include <Network/Util/PlayerUtil.h>
|
||||
#include <Network/Util/PacketUtil.h>
|
||||
#include <Network/CommonActorControl.h>
|
||||
|
||||
using namespace Sapphire;
|
||||
|
@ -69,9 +69,9 @@ void AchievementMgr::unlockAchievement( Entity::Player& player, uint32_t achieve
|
|||
|
||||
// fire packets
|
||||
player.setAchievementData( achvData );
|
||||
Network::Util::Player::sendAchievementList( player );
|
||||
Network::Util::Player::sendActorControl( player, AchievementComplete, achievementId );
|
||||
Network::Util::Player::sendActorControl( player, AchievementObtainMsg, achievementId );
|
||||
Network::Util::Packet::sendAchievementList( player );
|
||||
Network::Util::Packet::sendActorControl( player, AchievementComplete, achievementId );
|
||||
Network::Util::Packet::sendActorControl( player, AchievementObtainMsg, achievementId );
|
||||
|
||||
// check and add title to player
|
||||
auto achvTitleId = achvExd->data().Title;
|
||||
|
|
|
@ -7,8 +7,6 @@
|
|||
#include <Territory/Land.h>
|
||||
|
||||
#include <Manager/TerritoryMgr.h>
|
||||
#include <Manager/AchievementMgr.h>
|
||||
#include <Manager/PartyMgr.h>
|
||||
#include <Manager/HousingMgr.h>
|
||||
#include <Manager/QuestMgr.h>
|
||||
|
||||
|
@ -18,18 +16,8 @@
|
|||
#include <Database/ZoneDbConnection.h>
|
||||
#include <Database/DbWorkerPool.h>
|
||||
|
||||
#include <Network/GameConnection.h>
|
||||
#include <Network/CommonActorControl.h>
|
||||
#include <Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
#include <Network/PacketWrappers/ActorControlPacket.h>
|
||||
#include <Network/PacketWrappers/ActorControlSelfPacket.h>
|
||||
#include <Network/PacketWrappers/ActorControlTargetPacket.h>
|
||||
#include <Network/PacketWrappers/InitZonePacket.h>
|
||||
#include <Network/PacketWrappers/PlayerSetupPacket.h>
|
||||
#include <Network/PacketWrappers/ServerNoticePacket.h>
|
||||
#include <Network/PacketWrappers/ChatPacket.h>
|
||||
#include <Network/PacketWrappers/HudParamPacket.h>
|
||||
#include <Network/Util/PlayerUtil.h>
|
||||
#include <Network/Util/PacketUtil.h>
|
||||
|
||||
#include <Actor/Player.h>
|
||||
#include <Actor/BNpc.h>
|
||||
|
@ -218,10 +206,8 @@ void PlayerMgr::onMobKill( Entity::Player& player, Entity::BNpc& bnpc )
|
|||
scriptMgr.onBNpcKill( player, bnpc );
|
||||
|
||||
if( player.hasReward( Common::UnlockEntry::HuntingLog ) )
|
||||
{
|
||||
player.updateHuntingLog( bnpc.getBNpcNameId() );
|
||||
}
|
||||
}
|
||||
|
||||
void PlayerMgr::sendLoginMessage( Entity::Player& player )
|
||||
{
|
||||
|
@ -262,48 +248,48 @@ void PlayerMgr::onMoveZone( Sapphire::Entity::Player& player )
|
|||
}
|
||||
auto& teri = *pZone;
|
||||
|
||||
Network::Util::Player::sendLogin( player );
|
||||
Network::Util::Packet::sendLogin( player );
|
||||
|
||||
player.sendInventory();
|
||||
|
||||
if( player.isLogin() )
|
||||
{
|
||||
Network::Util::Player::sendActorControlSelf( player, SetConfigFlags, player.getConfigFlags(), 1 );
|
||||
Network::Util::Player::sendActorControlSelf( player, SetMaxGearSets, player.getMaxGearSets() );
|
||||
Network::Util::Packet::sendActorControlSelf( player, SetConfigFlags, player.getConfigFlags(), 1 );
|
||||
Network::Util::Packet::sendActorControlSelf( player, SetMaxGearSets, player.getMaxGearSets() );
|
||||
}
|
||||
|
||||
// set flags, will be reset automatically by zoning ( only on client side though )
|
||||
//setStateFlag( PlayerStateFlag::BetweenAreas );
|
||||
//setStateFlag( PlayerStateFlag::BetweenAreas1 );
|
||||
|
||||
Network::Util::Player::sendHuntingLog( player );
|
||||
Network::Util::Packet::sendHuntingLog( player );
|
||||
|
||||
if( player.isLogin() )
|
||||
Network::Util::Player::sendPlayerSetup( player );
|
||||
Network::Util::Packet::sendPlayerSetup( player );
|
||||
|
||||
Network::Util::Player::sendRecastGroups( player );
|
||||
Network::Util::Player::sendBaseParams( player );
|
||||
Network::Util::Player::sendActorControl( player, SetItemLevel, player.getItemLevel() );
|
||||
Network::Util::Packet::sendRecastGroups( player );
|
||||
Network::Util::Packet::sendBaseParams( player );
|
||||
Network::Util::Packet::sendActorControl( player, SetItemLevel, player.getItemLevel() );
|
||||
if( player.isLogin() )
|
||||
{
|
||||
Network::Util::Player::sendChangeClass( player );
|
||||
Network::Util::Player::sendActorControl( player, 0x112, 0x24 ); // unknown
|
||||
Network::Util::Player::sendContentAttainFlags( player );
|
||||
Network::Util::Packet::sendChangeClass( player );
|
||||
Network::Util::Packet::sendActorControl( player, 0x112, 0x24 ); // unknown
|
||||
Network::Util::Packet::sendContentAttainFlags( player );
|
||||
player.clearSoldItems();
|
||||
}
|
||||
|
||||
housingMgr.sendLandFlags( player );
|
||||
|
||||
Network::Util::Player::sendInitZone( player );
|
||||
Network::Util::Packet::sendInitZone( player );
|
||||
|
||||
if( player.isLogin() )
|
||||
{
|
||||
Network::Util::Player::sendDailyQuests( player );
|
||||
Network::Util::Player::sendQuestRepeatFlags( player );
|
||||
Network::Util::Packet::sendDailyQuests( player );
|
||||
Network::Util::Packet::sendQuestRepeatFlags( player );
|
||||
|
||||
auto &questMgr = Common::Service< World::Manager::QuestMgr >::ref();
|
||||
questMgr.sendQuestsInfo( player );
|
||||
Network::Util::Player::sendGrandCompany( player );
|
||||
Network::Util::Packet::sendGrandCompany( player );
|
||||
}
|
||||
|
||||
teri.onPlayerZoneIn( player );
|
||||
|
@ -357,22 +343,21 @@ void PlayerMgr::onUpdate( Entity::Player& player, uint64_t tickCount )
|
|||
|
||||
void PlayerMgr::sendServerNotice( Entity::Player& player, const std::string& message ) //Purple Text
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), std::make_shared< ServerNoticePacket >( player.getId(), message ) );
|
||||
Network::Util::Packet::sendServerNotice( player, message );
|
||||
}
|
||||
|
||||
void PlayerMgr::sendUrgent( Entity::Player& player, const std::string& message ) //Red Text
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), std::make_shared< ChatPacket >( player, Common::ChatType::ServerUrgent, message ) );
|
||||
Network::Util::Packet::sendChat( player, Common::ChatType::ServerUrgent, message );
|
||||
}
|
||||
|
||||
void PlayerMgr::sendDebug( Entity::Player& player, const std::string& message ) //Grey Text
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), std::make_shared< ChatPacket >( player, Common::ChatType::SystemMessage, message ) );
|
||||
Network::Util::Packet::sendChat( player, Common::ChatType::SystemMessage, message );
|
||||
}
|
||||
|
||||
void PlayerMgr::sendLogMessage( Entity::Player& player, uint32_t messageId, uint32_t param2, uint32_t param3,
|
||||
uint32_t param4, uint32_t param5, uint32_t param6 )
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), makeActorControlTarget( player.getId(), ActorControlType::LogMsg, messageId,
|
||||
param2, param3, param4, param5, param6 ) );
|
||||
Network::Util::Packet::sendActorControlTarget( player, LogMsg, messageId, param2, param3, param4, param5, param6 );
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#include "Network/PacketWrappers/ActorControlPacket.h"
|
||||
#include "Network/PacketWrappers/ActorControlTargetPacket.h"
|
||||
#include "Network/PacketWrappers/MoveActorPacket.h"
|
||||
#include "Network/Util/PlayerUtil.h"
|
||||
#include "Network/Util/PacketUtil.h"
|
||||
|
||||
#include "Action/Action.h"
|
||||
|
||||
|
@ -388,17 +388,11 @@ void examineHandler( Sapphire::Entity::Player& player, uint32_t targetId )
|
|||
return;
|
||||
|
||||
if( pPlayer->isActingAsGm() || pPlayer->getTerritoryTypeId() != player.getTerritoryTypeId() )
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), makeActorControl( player.getId(), ActorControlType::ExamineError ) );
|
||||
}
|
||||
Network::Util::Packet::sendActorControl( player, ExamineError );
|
||||
else
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), std::make_shared< InspectPacket >( player, pPlayer ) );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
|
||||
{
|
||||
const auto packet = ZoneChannelPacket< FFXIVIpcClientTrigger >( inPacket );
|
||||
|
@ -424,7 +418,7 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_
|
|||
player.setStance( Stance::Passive );
|
||||
player.setAutoattack( false );
|
||||
}
|
||||
server().queueForPlayers( player.getInRangePlayerIds(), makeActorControl( player.getId(), 0, data.Arg0, 1 ) );
|
||||
Network::Util::Packet::sendActorControl( player.getInRangePlayerIds(), player, ToggleWeapon, data.Arg0, 1 );
|
||||
break;
|
||||
}
|
||||
case PacketCommand::AUTO_ATTACK: // Toggle auto-attack
|
||||
|
@ -437,7 +431,7 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_
|
|||
else
|
||||
player.setAutoattack( false );
|
||||
|
||||
server().queueForPlayers( player.getInRangePlayerIds(), makeActorControl( player.getId(), 1, data.Arg0, 1 ) );
|
||||
Network::Util::Packet::sendActorControl( player.getInRangePlayerIds(), player, AutoAttack, data.Arg0, 1 );
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -494,7 +488,7 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_
|
|||
}
|
||||
case PacketCommand::TITLE_LIST: // Get title list
|
||||
{
|
||||
Network::Util::Player::sendTitleList( player );
|
||||
Network::Util::Packet::sendTitleList( player );
|
||||
break;
|
||||
}
|
||||
case PacketCommand::SET_HOWTO: // Update howtos seen
|
||||
|
@ -504,7 +498,7 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_
|
|||
}
|
||||
case PacketCommand::SET_CUTSCENE:
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), makeActorControl( player.getId(), ActorControlType::SetCutsceneFlag, data.Arg0, 1 ) );
|
||||
Network::Util::Packet::sendActorControl( player, SetCutsceneFlag, data.Arg0, 1 );
|
||||
break;
|
||||
}
|
||||
case PacketCommand::EMOTE: // emote
|
||||
|
@ -519,8 +513,7 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_
|
|||
if( !emoteData )
|
||||
return;
|
||||
|
||||
server().queueForPlayers( player.getInRangePlayerIds(),
|
||||
makeActorControlTarget( player.getId(), ActorControlType::Emote, emoteId, 0, isSilent ? 1 : 0, 0, targetId ) );
|
||||
Network::Util::Packet::sendActorControlTarget( player.getInRangePlayerIds(), player, Emote, emoteId, 0, isSilent ? 1 : 0, 0, targetId );
|
||||
|
||||
bool isPersistent = emoteData->data().Mode != 0;
|
||||
|
||||
|
@ -531,9 +524,8 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_
|
|||
player.setPersistentEmote( emoteData->data().Mode );
|
||||
player.setStatus( ActorStatus::EmoteMode );
|
||||
|
||||
server().queueForPlayers( player.getInRangePlayerIds( true ), makeActorControl( player.getId(), ActorControlType::SetStatus,
|
||||
static_cast< uint8_t >( ActorStatus::EmoteMode ),
|
||||
emoteData->data().IsEndEmoteMode ? 1 : 0 ) );
|
||||
Network::Util::Packet::sendActorControl( player.getInRangePlayerIds( true ), player, SetStatus, static_cast< uint8_t >( ActorStatus::EmoteMode ),
|
||||
emoteData->data().IsEndEmoteMode ? 1 : 0 );
|
||||
}
|
||||
|
||||
if( emoteData->data().IsAvailableWhenDrawn )
|
||||
|
@ -545,7 +537,7 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_
|
|||
}
|
||||
case PacketCommand::EMOTE_CANCEL: // emote
|
||||
{
|
||||
server().queueForPlayers( player.getInRangePlayerIds(), makeActorControl( player.getId(), ActorControlType::EmoteInterrupt ) );
|
||||
Network::Util::Packet::sendActorControl( player.getInRangePlayerIds(), player, EmoteModeInterrupt );
|
||||
break;
|
||||
}
|
||||
case PacketCommand::EMOTE_MODE_CANCEL:
|
||||
|
@ -556,8 +548,9 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_
|
|||
player.setStatus( ActorStatus::Idle );
|
||||
|
||||
server().queueForPlayers( player.getInRangePlayerIds(), std::make_shared< MoveActorPacket >( player, player.getRot(), 2, 0, 0, 0x5A / 4 ) );
|
||||
server().queueForPlayers( player.getInRangePlayerIds(), makeActorControl( player.getId(), ActorControlType::EmoteModeInterrupt ) );
|
||||
server().queueForPlayers( player.getInRangePlayerIds(), makeActorControl( player.getId(), SetStatus, static_cast< uint8_t >( ActorStatus::Idle ) ) );
|
||||
|
||||
Network::Util::Packet::sendActorControl( player.getInRangePlayerIds(), player, EmoteModeInterrupt );
|
||||
Network::Util::Packet::sendActorControl( player.getInRangePlayerIds(), player, SetStatus, static_cast< uint8_t >( ActorStatus::Idle ) );
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -565,7 +558,7 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_
|
|||
case PacketCommand::POSE_EMOTE_WORK: // reapply pose
|
||||
{
|
||||
player.setPose( static_cast< uint8_t >( data.Arg1 ) );
|
||||
server().queueForPlayers( player.getInRangePlayerIds( true ), makeActorControl( player.getId(), SetPose, data.Arg0, data.Arg1 ) );
|
||||
Network::Util::Packet::sendActorControl( player.getInRangePlayerIds( true ), player, SetPose, data.Arg0, data.Arg1 );
|
||||
break;
|
||||
}
|
||||
case PacketCommand::POSE_EMOTE_CANCEL: // cancel pose
|
||||
|
@ -604,12 +597,12 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_
|
|||
auto achievementId = data.Arg0;
|
||||
auto& achvMgr = Common::Service< AchievementMgr >::ref();
|
||||
auto achvProgress = achvMgr.getAchievementDataById( player, achievementId );
|
||||
Network::Util::Player::sendActorControl( player, AchievementSetRate, achievementId, achvProgress.first, achvProgress.second );
|
||||
Network::Util::Packet::sendActorControl( player, AchievementSetRate, achievementId, achvProgress.first, achvProgress.second );
|
||||
break;
|
||||
}
|
||||
case PacketCommand::ACHIEVEMENT_REQUEST:
|
||||
{
|
||||
Network::Util::Player::sendAchievementList( player );
|
||||
Network::Util::Packet::sendAchievementList( player );
|
||||
break;
|
||||
}
|
||||
case PacketCommand::TELEPO_INQUIRY: // Teleport
|
||||
|
@ -670,7 +663,7 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_
|
|||
|
||||
player.setActiveLand( static_cast< uint8_t >( data.Arg0 ), hZone->getWardNum() );
|
||||
|
||||
server().queueForPlayer( player.getCharacterId(), makeActorControl( player.getId(), ShowBuildPresetUI, data.Arg0 ) );
|
||||
Network::Util::Packet::sendActorControl( player, ShowBuildPresetUI, data.Arg0 );
|
||||
break;
|
||||
}
|
||||
case PacketCommand::HOUSING_AUCTION_INFO:
|
||||
|
@ -748,8 +741,7 @@ void Sapphire::Network::GameConnection::commandHandler( const Packets::FFXIVARR_
|
|||
|
||||
uint8_t ward = ( data.Arg1 >> 16 ) & 0xFF;
|
||||
uint8_t plot = ( data.Arg1 & 0xFF );
|
||||
server().queueForPlayer( player.getCharacterId(), makeActorControl( player.getId(), ShowHousingItemUI, 0, plot ) );
|
||||
|
||||
Network::Util::Packet::sendActorControl( player, ShowHousingItemUI, 0, plot );
|
||||
//TODO: show item housing container
|
||||
|
||||
break;
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include "Network/PacketWrappers/ActorControlSelfPacket.h"
|
||||
#include "Network/PacketWrappers/ActorControlTargetPacket.h"
|
||||
#include "Network/PacketWrappers/UpdateInventorySlotPacket.h"
|
||||
#include "Network/Util/PacketUtil.h"
|
||||
|
||||
#include "Manager/DebugCommandMgr.h"
|
||||
#include "Manager/MarketMgr.h"
|
||||
|
@ -83,8 +84,7 @@ void Sapphire::Network::GameConnection::setProfileHandler( const Packets::FFXIVA
|
|||
strcpy( searchInfoPacket->data().SearchComment, player.getSearchMessage() );
|
||||
queueOutPacket( searchInfoPacket );
|
||||
|
||||
server().queueForPlayers( player.getInRangePlayerIds( true ), makeActorControl( player.getId(), SetStatusIcon,
|
||||
static_cast< uint8_t >( player.getOnlineStatus() ) ) );
|
||||
Network::Util::Packet::sendActorControl( player.getInRangePlayerIds( true ), player, SetStatusIcon, static_cast< uint8_t >( player.getOnlineStatus() ) );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::getProfileHandler( const Packets::FFXIVARR_PACKET_RAW& inPacket, Entity::Player& player )
|
||||
|
@ -236,7 +236,7 @@ void Sapphire::Network::GameConnection::moveHandler( const Packets::FFXIVARR_PAC
|
|||
unknownRotation = 0x7F;
|
||||
}
|
||||
|
||||
uint64_t currentTime = Util::getTimeMs();
|
||||
uint64_t currentTime = Common::Util::getTimeMs();
|
||||
|
||||
player.m_lastMoveTime = currentTime;
|
||||
player.m_lastMoveflag = animationType;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include "PlayerUtil.h"
|
||||
#include "PacketUtil.h"
|
||||
|
||||
#include <Exd/ExdData.h>
|
||||
|
||||
|
@ -18,23 +18,25 @@
|
|||
#include <Network/PacketWrappers/RestingPacket.h>
|
||||
#include <Network/PacketWrappers/PlayerSetupPacket.h>
|
||||
#include <Network/PacketWrappers/InitZonePacket.h>
|
||||
#include <Network/PacketWrappers/ServerNoticePacket.h>
|
||||
#include <Network/PacketWrappers/ChatPacket.h>
|
||||
|
||||
using namespace Sapphire;
|
||||
using namespace Sapphire::World::Manager;
|
||||
using namespace Sapphire::Network;
|
||||
using namespace Sapphire::Network::Util::Player;
|
||||
using namespace Sapphire::Network::Util::Packet;
|
||||
using namespace Sapphire::Network::Packets;
|
||||
using namespace Sapphire::Network::Packets::WorldPackets::Server;
|
||||
using namespace Sapphire::Network::ActorControl;
|
||||
|
||||
void Util::Player::sendConfigFlags( Entity::Player& player )
|
||||
void Util::Packet::sendConfigFlags( Entity::Player& player )
|
||||
{
|
||||
auto paramPacket = makeZonePacket< FFXIVIpcConfig >( player.getId() );
|
||||
paramPacket->data().flag = player.getConfigFlags();
|
||||
server().queueForPlayers( player.getInRangePlayerIds( true ), paramPacket );
|
||||
}
|
||||
|
||||
void Util::Player::sendOnlineStatus( Entity::Player& player )
|
||||
void Util::Packet::sendOnlineStatus( Entity::Player& player )
|
||||
{
|
||||
auto statusPacket = makeZonePacket< FFXIVIpcSetOnlineStatus >( player.getId() );
|
||||
statusPacket->data().onlineStatusFlags = player.getFullOnlineStatusMask();
|
||||
|
@ -44,7 +46,7 @@ void Util::Player::sendOnlineStatus( Entity::Player& player )
|
|||
makeActorControl( player.getId(), SetStatusIcon, static_cast< uint8_t >( player.getOnlineStatus() ) ) );
|
||||
}
|
||||
|
||||
void Util::Player::sendBaseParams( Entity::Player& player )
|
||||
void Util::Packet::sendBaseParams( Entity::Player& player )
|
||||
{
|
||||
std::array< uint32_t, 50 > statParams{};
|
||||
std::fill( std::begin( statParams ), std::end( statParams ), 0 );
|
||||
|
@ -67,13 +69,13 @@ void Util::Player::sendBaseParams( Entity::Player& player )
|
|||
server().queueForPlayer( player.getCharacterId(), statPacket );
|
||||
}
|
||||
|
||||
void Util::Player::sendHudParam( Entity::Player& player )
|
||||
void Util::Packet::sendHudParam( Entity::Player& player )
|
||||
{
|
||||
auto hudParamPacket = makeHudParam( player );
|
||||
server().queueForPlayer( player.getCharacterId(), hudParamPacket );
|
||||
}
|
||||
|
||||
void Util::Player::sendStatusUpdate( Entity::Player& player )
|
||||
void Util::Packet::sendStatusUpdate( Entity::Player& player )
|
||||
{
|
||||
auto playerStatusUpdate = makeZonePacket< FFXIVIpcPlayerStatusUpdate >( player.getId() );
|
||||
playerStatusUpdate->data().ClassJob = static_cast< uint8_t >( player.getClass() );
|
||||
|
@ -85,7 +87,7 @@ void Util::Player::sendStatusUpdate( Entity::Player& player )
|
|||
server().queueForPlayer( player.getCharacterId(), playerStatusUpdate );
|
||||
}
|
||||
|
||||
void Util::Player::sendHuntingLog( Entity::Player& player )
|
||||
void Util::Packet::sendHuntingLog( Entity::Player& player )
|
||||
{
|
||||
auto& exdData = Common::Service< Data::ExdData >::ref();
|
||||
for( auto entryCount = 0; entryCount < Common::ARRSIZE_MONSTERNOTE; ++entryCount )
|
||||
|
@ -128,37 +130,49 @@ void Util::Player::sendHuntingLog( Entity::Player& player )
|
|||
}
|
||||
}
|
||||
|
||||
void Util::Player::sendActorControlSelf( Entity::Player& player, uint16_t category, uint32_t param1, uint32_t param2, uint32_t param3,
|
||||
void Util::Packet::sendActorControlSelf( Entity::Player& player, uint16_t category, uint32_t param1, uint32_t param2, uint32_t param3,
|
||||
uint32_t param4, uint32_t param5 )
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), makeActorControlSelf( player.getId(), category, param1, param2, param3, param4, param5 ) );
|
||||
}
|
||||
|
||||
void Util::Player::sendActorControlSelf( const std::set< uint64_t >& characterIds, Entity::Player& player, uint16_t category, uint32_t param1,
|
||||
void Util::Packet::sendActorControlSelf( const std::set< uint64_t >& characterIds, Entity::Player& player, uint16_t category, uint32_t param1,
|
||||
uint32_t param2, uint32_t param3, uint32_t param4, uint32_t param5 )
|
||||
{
|
||||
server().queueForPlayers( characterIds, makeActorControlSelf( player.getId(), category, param1, param2, param3, param4, param5 ) );
|
||||
}
|
||||
|
||||
void Util::Player::sendActorControl( Entity::Player& player, uint16_t category, uint32_t param1, uint32_t param2, uint32_t param3, uint32_t param4 )
|
||||
void Util::Packet::sendActorControl( Entity::Player& player, uint16_t category, uint32_t param1, uint32_t param2, uint32_t param3, uint32_t param4 )
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), makeActorControl( player.getId(), category, param1, param2, param3, param4 ) );
|
||||
}
|
||||
|
||||
void Util::Player::sendActorControl( const std::set< uint64_t >& characterIds, Entity::Player& player, uint16_t category, uint32_t param1,
|
||||
void Util::Packet::sendActorControl( const std::set< uint64_t >& characterIds, Entity::Player& player, uint16_t category, uint32_t param1,
|
||||
uint32_t param2, uint32_t param3, uint32_t param4 )
|
||||
{
|
||||
server().queueForPlayers( characterIds, makeActorControl( player.getId(), category, param1, param2, param3, param4 ) );
|
||||
}
|
||||
|
||||
void Util::Player::sendTitleList( Entity::Player& player )
|
||||
void Util::Packet::sendActorControlTarget( Entity::Player& player, uint16_t category, uint32_t param1, uint32_t param2, uint32_t param3,
|
||||
uint32_t param4, uint32_t param5, uint32_t param6 )
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), makeActorControlTarget( player.getId(), category, param1, param2, param3, param4, param5, param6 ) );
|
||||
}
|
||||
|
||||
void Util::Packet::sendActorControlTarget( const std::set< uint64_t >& characterIds, Entity::Player& player, uint16_t category, uint32_t param1,
|
||||
uint32_t param2, uint32_t param3, uint32_t param4, uint32_t param5, uint32_t param6 )
|
||||
{
|
||||
server().queueForPlayers( characterIds, makeActorControlTarget( player.getId(), category, param1, param2, param3, param4, param5, param6 ) );
|
||||
}
|
||||
|
||||
void Util::Packet::sendTitleList( Entity::Player& player )
|
||||
{
|
||||
auto titleListPacket = makeZonePacket< FFXIVIpcTitleList >( player.getId() );
|
||||
memcpy( titleListPacket->data().TitleFlagsArray, player.getTitleList().data(), sizeof( titleListPacket->data().TitleFlagsArray ) );
|
||||
server().queueForPlayer( player.getCharacterId(), titleListPacket );
|
||||
}
|
||||
|
||||
void Util::Player::sendGrandCompany( Entity::Player& player )
|
||||
void Util::Packet::sendGrandCompany( Entity::Player& player )
|
||||
{
|
||||
auto gcAffPacket = makeZonePacket< FFXIVIpcGrandCompany >( player.getId() );
|
||||
gcAffPacket->data().ActiveCompanyId = player.getGc();
|
||||
|
@ -168,7 +182,7 @@ void Util::Player::sendGrandCompany( Entity::Player& player )
|
|||
server().queueForPlayer( player.getCharacterId(), gcAffPacket );
|
||||
}
|
||||
|
||||
void Util::Player::sendDeletePlayer( Entity::Player& player, uint32_t actorId, uint8_t spawnIndex )
|
||||
void Util::Packet::sendDeletePlayer( Entity::Player& player, uint32_t actorId, uint8_t spawnIndex )
|
||||
{
|
||||
auto freeActorSpawnPacket = makeZonePacket< FFXIVIpcActorFreeSpawn >( player.getId() );
|
||||
freeActorSpawnPacket->data().actorId = actorId;
|
||||
|
@ -176,14 +190,14 @@ void Util::Player::sendDeletePlayer( Entity::Player& player, uint32_t actorId, u
|
|||
server().queueForPlayer( player.getCharacterId(), freeActorSpawnPacket );
|
||||
}
|
||||
|
||||
void Util::Player::sendDeleteObject( Entity::Player& player, uint8_t spawnIndex )
|
||||
void Util::Packet::sendDeleteObject( Entity::Player& player, uint8_t spawnIndex )
|
||||
{
|
||||
auto freeObjectSpawnPacket = makeZonePacket< FFXIVIpcDeleteObject >( player.getId() );
|
||||
freeObjectSpawnPacket->data().Index = spawnIndex;
|
||||
server().queueForPlayer( player.getCharacterId(), freeObjectSpawnPacket );
|
||||
}
|
||||
|
||||
void Util::Player::sendHateList( Entity::Player& player )
|
||||
void Util::Packet::sendHateList( Entity::Player& player )
|
||||
{
|
||||
auto& teriMgr = Common::Service< World::Manager::TerritoryMgr >::ref();
|
||||
|
||||
|
@ -211,7 +225,7 @@ void Util::Player::sendHateList( Entity::Player& player )
|
|||
if( hateValue == 0 )
|
||||
continue;
|
||||
|
||||
auto hatePercent = ( hateValue / static_cast< float >( pBNpc->hateListGetHighestValue() ) ) * 100.f;
|
||||
auto hatePercent = ( static_cast< float >( hateValue ) / static_cast< float >( pBNpc->hateListGetHighestValue() ) ) * 100.f;
|
||||
|
||||
hateListPacket->data().List[ i ].Id = player.getId();
|
||||
hateListPacket->data().List[ i ].Value = hateValue;
|
||||
|
@ -223,36 +237,36 @@ void Util::Player::sendHateList( Entity::Player& player )
|
|||
server().queueForPlayer( player.getCharacterId(), { hateListPacket, hateRankPacket } );
|
||||
}
|
||||
|
||||
void Util::Player::sendMount( Entity::Player& player )
|
||||
void Util::Packet::sendMount( Entity::Player& player )
|
||||
{
|
||||
auto mountId = player.getCurrentMount();
|
||||
auto inRangePlayerIds = player.getInRangePlayerIds( true );
|
||||
if( mountId != 0 )
|
||||
{
|
||||
Network::Util::Player::sendActorControl( inRangePlayerIds, player, SetStatus, static_cast< uint8_t >( Common::ActorStatus::Mounted ) );
|
||||
Network::Util::Player::sendActorControlSelf( inRangePlayerIds, player, 0x39e, 12 );
|
||||
Network::Util::Packet::sendActorControl( inRangePlayerIds, player, SetStatus, static_cast< uint8_t >( Common::ActorStatus::Mounted ) );
|
||||
Network::Util::Packet::sendActorControlSelf( inRangePlayerIds, player, 0x39e, 12 );
|
||||
}
|
||||
else
|
||||
{
|
||||
Network::Util::Player::sendActorControl( inRangePlayerIds, player, SetStatus, static_cast< uint8_t >( Common::ActorStatus::Idle ) );
|
||||
Network::Util::Player::sendActorControlSelf( inRangePlayerIds, player, Dismount, 1 );
|
||||
Network::Util::Packet::sendActorControl( inRangePlayerIds, player, SetStatus, static_cast< uint8_t >( Common::ActorStatus::Idle ) );
|
||||
Network::Util::Packet::sendActorControlSelf( inRangePlayerIds, player, Dismount, 1 );
|
||||
}
|
||||
auto mountPacket = makeZonePacket< FFXIVIpcMount >( player.getId() );
|
||||
mountPacket->data().id = mountId;
|
||||
server().queueForPlayers( inRangePlayerIds, mountPacket );
|
||||
}
|
||||
|
||||
void Util::Player::sendEquip( Entity::Player& player )
|
||||
void Util::Packet::sendEquip( Entity::Player& player )
|
||||
{
|
||||
server().queueForPlayers( player.getInRangePlayerIds( true ), std::make_shared< ModelEquipPacket >( player ) );
|
||||
}
|
||||
|
||||
void Util::Player::sendCondition( Entity::Player& player )
|
||||
void Util::Packet::sendCondition( Entity::Player& player )
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), std::make_shared< ConditionPacket >( player ) );
|
||||
}
|
||||
|
||||
void Util::Player::sendRecastGroups( Entity::Player& player )
|
||||
void Util::Packet::sendRecastGroups( Entity::Player& player )
|
||||
{
|
||||
const auto& recastGroups = player.getRecastGroups();
|
||||
const auto& recastGroupsMax = player.getRecastGroupsMax();
|
||||
|
@ -262,7 +276,7 @@ void Util::Player::sendRecastGroups( Entity::Player& player )
|
|||
server().queueForPlayer( player.getCharacterId(), recastGroupPaket );
|
||||
}
|
||||
|
||||
void Util::Player::sendAchievementList( Entity::Player& player )
|
||||
void Util::Packet::sendAchievementList( Entity::Player& player )
|
||||
{
|
||||
auto achvData = player.getAchievementData();
|
||||
auto achvPacket = makeZonePacket< FFXIVIpcAchievement >( player.getId() );
|
||||
|
@ -271,24 +285,24 @@ void Util::Player::sendAchievementList( Entity::Player& player )
|
|||
server().queueForPlayer( player.getCharacterId(), achvPacket );
|
||||
}
|
||||
|
||||
void Util::Player::sendRestingUpdate( Entity::Player& player )
|
||||
void Util::Packet::sendRestingUpdate( Entity::Player& player )
|
||||
{
|
||||
server().queueForPlayers( player.getInRangePlayerIds( true ), std::make_shared< RestingPacket >( player ) );
|
||||
}
|
||||
|
||||
void Util::Player::sendLogin( Entity::Player& player )
|
||||
void Util::Packet::sendLogin( Entity::Player& player )
|
||||
{
|
||||
auto initPacket = makeZonePacket< FFXIVIpcLogin >( player.getId() );
|
||||
initPacket->data().playerActorId = player.getId();
|
||||
server().queueForPlayer( player.getCharacterId(), initPacket );
|
||||
}
|
||||
|
||||
void Util::Player::sendPlayerSetup( Entity::Player& player )
|
||||
void Util::Packet::sendPlayerSetup( Entity::Player& player )
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), makePlayerSetup( player ) );
|
||||
}
|
||||
|
||||
void Util::Player::sendChangeClass( Entity::Player& player )
|
||||
void Util::Packet::sendChangeClass( Entity::Player& player )
|
||||
{
|
||||
auto classInfo = makeZonePacket< FFXIVIpcChangeClass >( player.getId() );
|
||||
classInfo->data().ClassJob = static_cast< uint8_t >( player.getClass() );
|
||||
|
@ -298,7 +312,7 @@ void Util::Player::sendChangeClass( Entity::Player& player )
|
|||
server().queueForPlayer( player.getCharacterId(), classInfo );
|
||||
}
|
||||
|
||||
void Util::Player::sendContentAttainFlags( Entity::Player& player )
|
||||
void Util::Packet::sendContentAttainFlags( Entity::Player& player )
|
||||
{
|
||||
// todo - fill with actual data from player
|
||||
auto contentFinderList = makeZonePacket< FFXIVIpcContentAttainFlags >( player.getId() );
|
||||
|
@ -306,7 +320,7 @@ void Util::Player::sendContentAttainFlags( Entity::Player& player )
|
|||
server().queueForPlayer( player.getCharacterId(), contentFinderList );
|
||||
}
|
||||
|
||||
void Util::Player::sendInitZone( Entity::Player& player )
|
||||
void Util::Packet::sendInitZone( Entity::Player& player )
|
||||
{
|
||||
auto& teriMgr = Common::Service< World::Manager::TerritoryMgr >::ref();
|
||||
auto pZone = teriMgr.getTerritoryByGuId( player.getTerritoryId() );
|
||||
|
@ -319,12 +333,22 @@ void Util::Player::sendInitZone( Entity::Player& player )
|
|||
server().queueForPlayer( player.getCharacterId(), makeInitZone( player, teri ) );
|
||||
}
|
||||
|
||||
void Util::Player::sendDailyQuests( Entity::Player& player )
|
||||
void Util::Packet::sendDailyQuests( Entity::Player& player )
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), makeZonePacket< FFXIVIpcDailyQuests >( player.getId() ) );
|
||||
}
|
||||
|
||||
void Util::Player::sendQuestRepeatFlags( Entity::Player& player )
|
||||
void Util::Packet::sendQuestRepeatFlags( Entity::Player& player )
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), makeZonePacket< FFXIVIpcQuestRepeatFlags >( player.getId() ) );
|
||||
}
|
||||
|
||||
void Util::Packet::sendServerNotice( Entity::Player& player, const std::string& message )
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), std::make_shared< ServerNoticePacket >( player.getId(), message ) );
|
||||
}
|
||||
|
||||
void Util::Packet::sendChat( Entity::Player& player, Common::ChatType chatType, const std::string& message )
|
||||
{
|
||||
server().queueForPlayer( player.getCharacterId(), std::make_shared< ChatPacket >( player, chatType, message ) );
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
#include <Actor/Player.h>
|
||||
#include "Forwards.h"
|
||||
|
||||
namespace Sapphire::Network::Util::Player
|
||||
namespace Sapphire::Network::Util::Packet
|
||||
{
|
||||
void sendConfigFlags( Entity::Player& player );
|
||||
void sendOnlineStatus( Entity::Player& player );
|
||||
|
@ -48,6 +48,10 @@ namespace Sapphire::Network::Util::Player
|
|||
void sendDailyQuests( Entity::Player& player );
|
||||
void sendQuestRepeatFlags( Entity::Player& player );
|
||||
|
||||
void sendServerNotice( Entity::Player& player, const std::string& message );
|
||||
|
||||
void sendChat( Entity::Player& player, Common::ChatType chatType, const std::string& message );
|
||||
|
||||
void sendActorControlSelf( Entity::Player& player, uint16_t category, uint32_t param1 = 0, uint32_t param2 = 0, uint32_t param3 = 0,
|
||||
uint32_t param4 = 0, uint32_t param5 = 0 );
|
||||
|
||||
|
@ -59,4 +63,9 @@ namespace Sapphire::Network::Util::Player
|
|||
void sendActorControl( const std::set< uint64_t >& characterIds, Entity::Player& player, uint16_t category, uint32_t param1 = 0, uint32_t param2 = 0,
|
||||
uint32_t param3 = 0, uint32_t param4 = 0 );
|
||||
|
||||
void sendActorControlTarget( Entity::Player& player, uint16_t category, uint32_t param1 = 0, uint32_t param2 = 0, uint32_t param3 = 0,
|
||||
uint32_t param4 = 0, uint32_t param5 = 0, uint32_t param6 = 0 );
|
||||
|
||||
void sendActorControlTarget( const std::set< uint64_t >& characterIds, Entity::Player& player, uint16_t category, uint32_t param1 = 0,
|
||||
uint32_t param2 = 0, uint32_t param3 = 0, uint32_t param4 = 0, uint32_t param5 = 0, uint32_t param6 = 0 );
|
||||
}
|
Loading…
Add table
Reference in a new issue