mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-30 08:07:46 +00:00
cleanup tellhandler and allow GMs to send messages to busy players
This commit is contained in:
parent
73ceb36d7d
commit
8e945a5698
3 changed files with 11 additions and 9 deletions
|
@ -57,6 +57,11 @@ namespace Sapphire::Common
|
|||
French = 8
|
||||
};
|
||||
|
||||
enum TellFlags : uint8_t
|
||||
{
|
||||
GmTellMsg = 0x4,
|
||||
};
|
||||
|
||||
enum ObjKind : uint8_t
|
||||
{
|
||||
None = 0x00,
|
||||
|
|
|
@ -17,7 +17,7 @@ struct FFXIVIpcTell : FFXIVIpcBasePacket< Tell >
|
|||
{
|
||||
uint64_t contentId;
|
||||
uint16_t worldId;
|
||||
uint8_t preName;
|
||||
uint8_t flags;
|
||||
char receipientName[32];
|
||||
char msg[1029];
|
||||
};
|
||||
|
|
|
@ -636,14 +636,14 @@ void Sapphire::Network::GameConnection::tellHandler( FrameworkPtr pFw,
|
|||
return;
|
||||
}
|
||||
|
||||
if( pTargetPlayer->hasStateFlag( PlayerStateFlag::BoundByDuty ) )
|
||||
if( pTargetPlayer->hasStateFlag( PlayerStateFlag::BoundByDuty ) && !player.isActingAsGm() )
|
||||
{
|
||||
// send error for player bound by duty
|
||||
// TODO: implement me
|
||||
return;
|
||||
}
|
||||
|
||||
if( pTargetPlayer->getOnlineStatus() == OnlineStatus::Busy )
|
||||
if( pTargetPlayer->getOnlineStatus() == OnlineStatus::Busy && !player.isActingAsGm() )
|
||||
{
|
||||
// send error for player being busy
|
||||
// TODO: implement me ( i've seen this done with packet type 67 i think )
|
||||
|
@ -656,16 +656,13 @@ void Sapphire::Network::GameConnection::tellHandler( FrameworkPtr pFw,
|
|||
// TODO: world id from server
|
||||
tellPacket->data().contentId = player.getContentId();
|
||||
tellPacket->data().worldId = 67;
|
||||
// TODO: do these have a meaning?
|
||||
//tellPacket.data().u1 = 0x92CD7337;
|
||||
//tellPacket.data().u2a = 0x2E;
|
||||
//tellPacket.data().u2b = 0x40;
|
||||
|
||||
if( player.isActingAsGm() )
|
||||
{
|
||||
tellPacket->data().preName = 0x04;
|
||||
tellPacket->data().flags |= TellFlags::GmTellMsg;
|
||||
}
|
||||
pTargetPlayer->queueChatPacket( tellPacket );
|
||||
|
||||
pTargetPlayer->queueChatPacket( tellPacket );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::performNoteHandler( FrameworkPtr pFw,
|
||||
|
|
Loading…
Add table
Reference in a new issue