mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-03 09:17:47 +00:00
Merge pull request #293 from goaaats/develop
zone: add SQL for EquipDisplayFlags, fix legacy mark
This commit is contained in:
commit
b272622e0a
7 changed files with 20 additions and 6 deletions
|
@ -47,3 +47,4 @@ ALTER TABLE `charainfo` CHANGE `Mounts` `Mounts` BINARY(15) NULL DEFAULT NULL;
|
||||||
ALTER TABLE `charainfo` CHANGE `Orchestrion` `Orchestrion` BINARY(40) NULL DEFAULT NULL;
|
ALTER TABLE `charainfo` CHANGE `Orchestrion` `Orchestrion` BINARY(40) NULL DEFAULT NULL;
|
||||||
ALTER TABLE `charainfo` CHANGE `Minions` `Minions` BINARY(37) NULL DEFAULT NULL;
|
ALTER TABLE `charainfo` CHANGE `Minions` `Minions` BINARY(37) NULL DEFAULT NULL;
|
||||||
ALTER TABLE `charainfo` CHANGE `QuestCompleteFlags` `QuestCompleteFlags` VARBINARY(396) NULL DEFAULT NULL;
|
ALTER TABLE `charainfo` CHANGE `QuestCompleteFlags` `QuestCompleteFlags` VARBINARY(396) NULL DEFAULT NULL;
|
||||||
|
ALTER TABLE `charainfo` ADD COLUMN `EquipDisplayFlags` INT(3) NULL DEFAULT '0' AFTER `GMRank`;
|
|
@ -715,7 +715,7 @@ namespace Common {
|
||||||
HideNothing = 0x0,
|
HideNothing = 0x0,
|
||||||
HideHead = 0x1,
|
HideHead = 0x1,
|
||||||
HideWeapon = 0x2,
|
HideWeapon = 0x2,
|
||||||
LegacyMark = 0x4,
|
HideLegacyMark = 0x4,
|
||||||
|
|
||||||
Visor = 0x40,
|
Visor = 0x40,
|
||||||
};
|
};
|
||||||
|
|
|
@ -29,7 +29,7 @@ void Core::Db::CharaDbConnection::doPrepareStatements()
|
||||||
"FavoritePoint, RestPoint, StartTown, ActiveTitle, TitleList, Achievement, "
|
"FavoritePoint, RestPoint, StartTown, ActiveTitle, TitleList, Achievement, "
|
||||||
"Aetheryte, HowTo, Minions, Mounts, Orchestrion, EquippedMannequin, ConfigFlags, "
|
"Aetheryte, HowTo, Minions, Mounts, Orchestrion, EquippedMannequin, ConfigFlags, "
|
||||||
"QuestCompleteFlags, OpeningSequence, QuestTracking, GrandCompany, "
|
"QuestCompleteFlags, OpeningSequence, QuestTracking, GrandCompany, "
|
||||||
"GrandCompanyRank, Discovery, GMRank, Unlocks, CFPenaltyUntil "
|
"GrandCompanyRank, Discovery, GMRank, EquipDisplayFlags, Unlocks, CFPenaltyUntil "
|
||||||
"FROM charainfo WHERE CharacterId = ?;", CONNECTION_SYNC );
|
"FROM charainfo WHERE CharacterId = ?;", CONNECTION_SYNC );
|
||||||
|
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ void Core::Db::CharaDbConnection::doPrepareStatements()
|
||||||
"Class = ?, Status = ?, TotalPlayTime = ?, HomePoint = ?, FavoritePoint = ?, RestPoint = ?, "
|
"Class = ?, Status = ?, TotalPlayTime = ?, HomePoint = ?, FavoritePoint = ?, RestPoint = ?, "
|
||||||
"ActiveTitle = ?, TitleList = ?, Achievement = ?, Aetheryte = ?, HowTo = ?, Minions = ?, Mounts = ?, Orchestrion = ?, "
|
"ActiveTitle = ?, TitleList = ?, Achievement = ?, Aetheryte = ?, HowTo = ?, Minions = ?, Mounts = ?, Orchestrion = ?, "
|
||||||
"EquippedMannequin = ?, ConfigFlags = ?, QuestCompleteFlags = ?, OpeningSequence = ?, "
|
"EquippedMannequin = ?, ConfigFlags = ?, QuestCompleteFlags = ?, OpeningSequence = ?, "
|
||||||
"QuestTracking = ?, GrandCompany = ?, GrandCompanyRank = ?, Discovery = ?, GMRank = ?, Unlocks = ?, "
|
"QuestTracking = ?, GrandCompany = ?, GrandCompanyRank = ?, Discovery = ?, GMRank = ?, EquipDisplayFlags = ?, Unlocks = ?, "
|
||||||
"CFPenaltyUntil = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
|
"CFPenaltyUntil = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
|
||||||
|
|
||||||
|
|
||||||
|
@ -97,6 +97,7 @@ void Core::Db::CharaDbConnection::doPrepareStatements()
|
||||||
prepareStatement( CHARA_UP_GRANDCOMPANYRANKS, "UPDATE charainfo SET GrandCompanyRank = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
|
prepareStatement( CHARA_UP_GRANDCOMPANYRANKS, "UPDATE charainfo SET GrandCompanyRank = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
|
||||||
prepareStatement( CHARA_UP_DISCOVERY, "UPDATE charainfo SET Discovery = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
|
prepareStatement( CHARA_UP_DISCOVERY, "UPDATE charainfo SET Discovery = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
|
||||||
prepareStatement( CHARA_UP_GMRANK, "UPDATE charainfo SET GMRank = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
|
prepareStatement( CHARA_UP_GMRANK, "UPDATE charainfo SET GMRank = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
|
||||||
|
prepareStatement( CHARA_UP_EQUIPDISPLAYFLAGS, "UPDATE charainfo SET EquipDisplayFlags = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
|
||||||
prepareStatement( CHARA_UP_UNLOCKS, "UPDATE charainfo SET Unlocks = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
|
prepareStatement( CHARA_UP_UNLOCKS, "UPDATE charainfo SET Unlocks = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
|
||||||
prepareStatement( CHARA_UP_CFPENATLY, "UPDATE charainfo SET CFPenaltyUntil = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
|
prepareStatement( CHARA_UP_CFPENATLY, "UPDATE charainfo SET CFPenaltyUntil = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
|
||||||
|
|
||||||
|
|
|
@ -55,6 +55,7 @@ enum CharaDbStatements : uint32_t
|
||||||
CHARA_UP_GRANDCOMPANYRANKS,
|
CHARA_UP_GRANDCOMPANYRANKS,
|
||||||
CHARA_UP_DISCOVERY,
|
CHARA_UP_DISCOVERY,
|
||||||
CHARA_UP_GMRANK,
|
CHARA_UP_GMRANK,
|
||||||
|
CHARA_UP_EQUIPDISPLAYFLAGS,
|
||||||
CHARA_UP_UNLOCKS,
|
CHARA_UP_UNLOCKS,
|
||||||
CHARA_UP_CFPENATLY,
|
CHARA_UP_CFPENATLY,
|
||||||
CHARA_SEARCHINFO_INS,
|
CHARA_SEARCHINFO_INS,
|
||||||
|
|
|
@ -153,6 +153,8 @@ bool Core::Entity::Player::load( uint32_t charId, SessionPtr pSession )
|
||||||
|
|
||||||
m_gmRank = res->getUInt8( "GMRank" );
|
m_gmRank = res->getUInt8( "GMRank" );
|
||||||
|
|
||||||
|
m_equipDisplayFlags = res->getUInt8( "EquipDisplayFlags" );
|
||||||
|
|
||||||
// Blobs
|
// Blobs
|
||||||
|
|
||||||
auto howTo = res->getBlobVector( "HowTo" );
|
auto howTo = res->getBlobVector( "HowTo" );
|
||||||
|
@ -432,13 +434,15 @@ void Core::Entity::Player::updateSql()
|
||||||
|
|
||||||
stmt->setInt( 52, m_gmRank );
|
stmt->setInt( 52, m_gmRank );
|
||||||
|
|
||||||
|
stmt->setInt( 53, m_equipDisplayFlags );
|
||||||
|
|
||||||
std::vector< uint8_t > unlockVec( sizeof( m_unlocks ) );
|
std::vector< uint8_t > unlockVec( sizeof( m_unlocks ) );
|
||||||
memcpy( unlockVec.data(), m_unlocks, sizeof( m_unlocks ) );
|
memcpy( unlockVec.data(), m_unlocks, sizeof( m_unlocks ) );
|
||||||
stmt->setBinary( 53, unlockVec );
|
stmt->setBinary( 54, unlockVec );
|
||||||
|
|
||||||
stmt->setInt( 54, m_cfPenaltyUntil );
|
stmt->setInt( 55, m_cfPenaltyUntil );
|
||||||
|
|
||||||
stmt->setInt( 55, m_id );
|
stmt->setInt( 56, m_id );
|
||||||
|
|
||||||
pDb->execute( stmt );
|
pDb->execute( stmt );
|
||||||
|
|
||||||
|
|
|
@ -289,6 +289,8 @@ void Core::Network::GameConnection::reqEquipDisplayFlagsHandler( const Packets::
|
||||||
Entity::Player& player )
|
Entity::Player& player )
|
||||||
{
|
{
|
||||||
player.setEquipDisplayFlags( inPacket.getValAt< uint8_t >( 0x20 ) );
|
player.setEquipDisplayFlags( inPacket.getValAt< uint8_t >( 0x20 ) );
|
||||||
|
|
||||||
|
player.sendDebug( "EquipDisplayFlag CHANGE: " + std::to_string( player.getEquipDisplayFlags() ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Core::Network::GameConnection::zoneLineHandler( const Packets::GamePacket& inPacket,
|
void Core::Network::GameConnection::zoneLineHandler( const Packets::GamePacket& inPacket,
|
||||||
|
|
|
@ -111,6 +111,11 @@ namespace Server {
|
||||||
m_data.displayFlags |= Entity::Chara::DisplayFlags::Visor;
|
m_data.displayFlags |= Entity::Chara::DisplayFlags::Visor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( !( player.getEquipDisplayFlags() & Core::Common::EquipDisplayFlags::HideLegacyMark ) )
|
||||||
|
{
|
||||||
|
m_data.look[0xC] = m_data.look[0xC] | 1 << 7;
|
||||||
|
}
|
||||||
|
|
||||||
m_data.currentMount = player.getCurrentMount();
|
m_data.currentMount = player.getCurrentMount();
|
||||||
|
|
||||||
m_data.targetId = player.getTargetId();
|
m_data.targetId = player.getTargetId();
|
||||||
|
|
Loading…
Add table
Reference in a new issue