1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-27 14:57:44 +00:00

Merge pull request #204 from GokuWeedLord/fix/set-classjob

fix !set classjob not setting up classes properly
This commit is contained in:
Mordred 2017-12-27 09:34:35 +01:00 committed by GitHub
commit 75c2dfffd2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 2 deletions

View file

@ -802,6 +802,10 @@ void Core::Entity::Player::setLevel( uint8_t level )
void Core::Entity::Player::setLevelForClass( uint8_t level, Common::ClassJob classjob )
{
uint8_t classJobIndex = g_exdData.m_classJobInfoMap[static_cast< uint8_t >( classjob )].exp_idx;
if( m_classArray[classJobIndex] == 0 )
insertDbClass( classJobIndex );
m_classArray[classJobIndex] = level;
}

View file

@ -534,6 +534,7 @@ public:
void insertQuest( uint16_t questId, uint8_t index, uint8_t seq ) const;
void updateDbSearchInfo() const;
void updateDbClass() const;
void insertDbClass( const uint8_t classJobIndex ) const;
void setMarkedForRemoval();
bool isMarkedForRemoval() const;

View file

@ -437,6 +437,16 @@ void Core::Entity::Player::updateDbClass() const
g_charaDb.execute( stmtS );
}
void Core::Entity::Player::insertDbClass( const uint8_t classJobIndex ) const
{
auto stmtClass = g_charaDb.getPreparedStatement( Db::CHARA_CLASS_INS );
stmtClass->setInt( 1, getId() );
stmtClass->setInt( 2, classJobIndex );
stmtClass->setInt( 3, 0 );
stmtClass->setInt( 4, 1 );
g_charaDb.directExecute( stmtClass );
}
void Core::Entity::Player::updateDbSearchInfo() const
{
auto stmtS = g_charaDb.getPreparedStatement( Db::CHARA_SEARCHINFO_UP_SELECTCLASS );