feat(Core): Another way to get talent points (#3773)

This commit is contained in:
zxdhe121
2020-12-21 09:26:00 +08:00
committed by GitHub
parent b6ec66eebd
commit ab8967c638
2 changed files with 22 additions and 1 deletions

View File

@@ -732,6 +732,7 @@ Player::Player(WorldSession* session): Unit(true), m_mover(this)
m_usedTalentCount = 0;
m_questRewardTalentCount = 0;
m_extraBonusTalentCount = 0;
m_regenTimer = 0;
m_regenTimerCount = 0;
@@ -7286,6 +7287,14 @@ void Player::RewardReputation(Quest const* quest)
}
}
void Player::RewardExtraBonusTalentPoints(uint32 bonusTalentPoints)
{
if (bonusTalentPoints)
{
m_extraBonusTalentCount += bonusTalentPoints;
}
}
void Player::UpdateHonorFields()
{
/// called when rewarding honor and at each save
@@ -20046,7 +20055,7 @@ void Player::_SaveMail(SQLTransaction& trans)
if (!GetMailCacheSize() || !m_mailsUpdated)
{
return;
}
}
PreparedStatement* stmt = nullptr;
@@ -25426,6 +25435,7 @@ uint32 Player::CalculateTalentsPoints() const
if (talentPointsForLevel > base_talent)
talentPointsForLevel = base_talent;
talentPointsForLevel += m_extraBonusTalentCount;
return uint32(talentPointsForLevel * sWorld->getRate(RATE_TALENT));
}