1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-30 16:17:46 +00:00

Implemented quest flag getters and setters

This commit is contained in:
Mordred 2018-05-20 00:33:26 +02:00
parent fc1521ef24
commit 591b85a0ef
3 changed files with 55 additions and 43 deletions

@ -1 +1 @@
Subproject commit 61712f8f11892d12ad6878a80b9b89b318908558 Subproject commit 67b949dfe3ffbbba7963b0861670ab4bb1819991

View file

@ -178,12 +178,12 @@ public:
uint16_t getQuestUI16C( uint16_t questId ); uint16_t getQuestUI16C( uint16_t questId );
uint32_t getQuestUI32A( uint16_t questId ); uint32_t getQuestUI32A( uint16_t questId );
uint8_t getQuestBitFlag8( uint16_t questId ); bool getQuestBitFlag8( uint16_t questId, uint8_t index );
uint8_t getQuestBitFlag16( uint16_t questId ); bool getQuestBitFlag16( uint16_t questId, uint8_t index );
uint8_t getQuestBitFlag24( uint16_t questId ); bool getQuestBitFlag24( uint16_t questId, uint8_t index );
uint8_t getQuestBitFlag32( uint16_t questId ); bool getQuestBitFlag32( uint16_t questId, uint8_t index );
uint8_t getQuestBitFlag40( uint16_t questId ); bool getQuestBitFlag40( uint16_t questId, uint8_t index );
uint8_t getQuestBitFlag48( uint16_t questId ); bool getQuestBitFlag48( uint16_t questId, uint8_t index );
void setQuestUI8A( uint16_t questId, uint8_t val ); void setQuestUI8A( uint16_t questId, uint8_t val );
@ -209,12 +209,12 @@ public:
void setQuestUI16C( uint16_t questId, uint16_t val ); void setQuestUI16C( uint16_t questId, uint16_t val );
void setQuestUI32A( uint16_t questId, uint32_t val ); void setQuestUI32A( uint16_t questId, uint32_t val );
void setQuestBitFlag8( uint16_t questId, uint8_t val ); void setQuestBitFlag8( uint16_t questId, uint8_t index, bool val );
void setQuestBitFlag16( uint16_t questId, uint8_t val ); void setQuestBitFlag16( uint16_t questId, uint8_t index, bool val );
void setQuestBitFlag24( uint16_t questId, uint8_t val ); void setQuestBitFlag24( uint16_t questId, uint8_t index, bool val );
void setQuestBitFlag32( uint16_t questId, uint8_t val ); void setQuestBitFlag32( uint16_t questId, uint8_t index, bool val );
void setQuestBitFlag40( uint16_t questId, uint8_t val ); void setQuestBitFlag40( uint16_t questId, uint8_t index, bool val );
void setQuestBitFlag48( uint16_t questId, uint8_t val ); void setQuestBitFlag48( uint16_t questId, uint8_t index, bool val );
// Inventory / Item / Currency // Inventory / Item / Currency
////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////

View file

@ -89,82 +89,82 @@ int8_t Core::Entity::Player::getQuestIndex( uint16_t questId )
return -1; return -1;
} }
uint8_t Core::Entity::Player::getQuestBitFlag8( uint16_t questId ) bool Core::Entity::Player::getQuestBitFlag8( uint16_t questId, uint8_t index )
{ {
int8_t idx = getQuestIndex( questId ); int8_t idx = getQuestIndex( questId );
uint8_t value = 0; uint8_t value = 0;
if( idx != -1 ) if( idx != -1 )
{ {
boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx]; boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx];
value = pNewQuest->a.BitFlag8; return pNewQuest->a.BitFlag8 & ( 1 << index );
} }
return value; return false;
} }
uint8_t Core::Entity::Player::getQuestBitFlag16( uint16_t questId ) bool Core::Entity::Player::getQuestBitFlag16( uint16_t questId, uint8_t index )
{ {
int8_t idx = getQuestIndex( questId ); int8_t idx = getQuestIndex( questId );
uint8_t value = 0; uint8_t value = 0;
if( idx != -1 ) if( idx != -1 )
{ {
boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx]; boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx];
value = pNewQuest->a.BitFlag16; return pNewQuest->a.BitFlag16 & ( 1 << index );
} }
return value; return false;
} }
uint8_t Core::Entity::Player::getQuestBitFlag24( uint16_t questId ) bool Core::Entity::Player::getQuestBitFlag24( uint16_t questId, uint8_t index )
{ {
int8_t idx = getQuestIndex( questId ); int8_t idx = getQuestIndex( questId );
uint8_t value = 0; uint8_t value = 0;
if( idx != -1 ) if( idx != -1 )
{ {
boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx]; boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx];
value = pNewQuest->a.BitFlag24; return pNewQuest->a.BitFlag24 & ( 1 << index );
} }
return value; return false;
} }
uint8_t Core::Entity::Player::getQuestBitFlag32( uint16_t questId ) bool Core::Entity::Player::getQuestBitFlag32( uint16_t questId, uint8_t index )
{ {
int8_t idx = getQuestIndex( questId ); int8_t idx = getQuestIndex( questId );
uint8_t value = 0; uint8_t value = 0;
if( idx != -1 ) if( idx != -1 )
{ {
boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx]; boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx];
value = pNewQuest->a.BitFlag32; return pNewQuest->a.BitFlag32 & ( 1 << index );
} }
return value; return false;
} }
uint8_t Core::Entity::Player::getQuestBitFlag40( uint16_t questId ) bool Core::Entity::Player::getQuestBitFlag40( uint16_t questId, uint8_t index )
{ {
int8_t idx = getQuestIndex( questId ); int8_t idx = getQuestIndex( questId );
uint8_t value = 0; uint8_t value = 0;
if( idx != -1 ) if( idx != -1 )
{ {
boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx]; boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx];
value = pNewQuest->a.BitFlag40; return pNewQuest->a.BitFlag40 & ( 1 << index );
} }
return value; return false;
} }
uint8_t Core::Entity::Player::getQuestBitFlag48( uint16_t questId ) bool Core::Entity::Player::getQuestBitFlag48( uint16_t questId, uint8_t index )
{ {
int8_t idx = getQuestIndex( questId ); int8_t idx = getQuestIndex( questId );
uint8_t value = 0; uint8_t value = 0;
if( idx != -1 ) if( idx != -1 )
{ {
boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx]; boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx];
value = pNewQuest->a.BitFlag48; return pNewQuest->a.BitFlag48 & ( 1 << index );
} }
return value; return false;
} }
uint8_t Core::Entity::Player::getQuestUI8A( uint16_t questId ) uint8_t Core::Entity::Player::getQuestUI8A( uint16_t questId )
@ -762,7 +762,7 @@ void Core::Entity::Player::setQuestUI32A( uint16_t questId, uint32_t val )
} }
} }
void Core::Entity::Player::setQuestBitFlag8( uint16_t questId, uint8_t val ) void Core::Entity::Player::setQuestBitFlag8( uint16_t questId, uint8_t index, bool val )
{ {
int8_t idx = getQuestIndex( questId ); int8_t idx = getQuestIndex( questId );
@ -770,13 +770,15 @@ void Core::Entity::Player::setQuestBitFlag8( uint16_t questId, uint8_t val )
{ {
boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx]; boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx];
pNewQuest->a.BitFlag8 = val; uint8_t flag = val ? 1 : 0;
pNewQuest->a.BitFlag8 |= ( val << index );
updateQuest( questId, pNewQuest->c.sequence ); updateQuest( questId, pNewQuest->c.sequence );
} }
} }
void Core::Entity::Player::setQuestBitFlag16( uint16_t questId, uint8_t val ) void Core::Entity::Player::setQuestBitFlag16( uint16_t questId, uint8_t index, bool val )
{ {
int8_t idx = getQuestIndex( questId ); int8_t idx = getQuestIndex( questId );
@ -784,13 +786,15 @@ void Core::Entity::Player::setQuestBitFlag16( uint16_t questId, uint8_t val )
{ {
boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx]; boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx];
pNewQuest->a.BitFlag16 = val; uint8_t flag = val ? 1 : 0;
pNewQuest->a.BitFlag16 |= ( val << index );
updateQuest( questId, pNewQuest->c.sequence ); updateQuest( questId, pNewQuest->c.sequence );
} }
} }
void Core::Entity::Player::setQuestBitFlag24( uint16_t questId, uint8_t val ) void Core::Entity::Player::setQuestBitFlag24( uint16_t questId, uint8_t index, bool val )
{ {
int8_t idx = getQuestIndex( questId ); int8_t idx = getQuestIndex( questId );
@ -798,12 +802,14 @@ void Core::Entity::Player::setQuestBitFlag24( uint16_t questId, uint8_t val )
{ {
boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx]; boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx];
pNewQuest->a.BitFlag24 = val; uint8_t flag = val ? 1 : 0;
pNewQuest->a.BitFlag24 |= ( val << index );
updateQuest( questId, pNewQuest->c.sequence ); updateQuest( questId, pNewQuest->c.sequence );
} }
} }
void Core::Entity::Player::setQuestBitFlag32( uint16_t questId, uint8_t val ) void Core::Entity::Player::setQuestBitFlag32( uint16_t questId, uint8_t index, bool val )
{ {
int8_t idx = getQuestIndex( questId ); int8_t idx = getQuestIndex( questId );
@ -811,13 +817,15 @@ void Core::Entity::Player::setQuestBitFlag32( uint16_t questId, uint8_t val )
{ {
boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx]; boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx];
pNewQuest->a.BitFlag32 = val; uint8_t flag = val ? 1 : 0;
pNewQuest->a.BitFlag32 |= ( val << index );
updateQuest( questId, pNewQuest->c.sequence ); updateQuest( questId, pNewQuest->c.sequence );
} }
} }
void Core::Entity::Player::setQuestBitFlag40( uint16_t questId, uint8_t val ) void Core::Entity::Player::setQuestBitFlag40( uint16_t questId, uint8_t index, bool val )
{ {
int8_t idx = getQuestIndex( questId ); int8_t idx = getQuestIndex( questId );
@ -825,13 +833,15 @@ void Core::Entity::Player::setQuestBitFlag40( uint16_t questId, uint8_t val )
{ {
boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx]; boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx];
pNewQuest->a.BitFlag40 = val; uint8_t flag = val ? 1 : 0;
pNewQuest->a.BitFlag40 |= ( val << index );
updateQuest( questId, pNewQuest->c.sequence ); updateQuest( questId, pNewQuest->c.sequence );
} }
} }
void Core::Entity::Player::setQuestBitFlag48( uint16_t questId, uint8_t val ) void Core::Entity::Player::setQuestBitFlag48( uint16_t questId, uint8_t index, bool val )
{ {
int8_t idx = getQuestIndex( questId ); int8_t idx = getQuestIndex( questId );
@ -839,7 +849,9 @@ void Core::Entity::Player::setQuestBitFlag48( uint16_t questId, uint8_t val )
{ {
boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx]; boost::shared_ptr< QuestActive > pNewQuest = m_activeQuests[idx];
pNewQuest->a.BitFlag48 = val; uint8_t flag = val ? 1 : 0;
pNewQuest->a.BitFlag48 |= ( val << index );
updateQuest( questId, pNewQuest->c.sequence ); updateQuest( questId, pNewQuest->c.sequence );
} }