diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index dcc6b914..b3de384b 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -831,7 +831,7 @@ void Sapphire::Entity::Player::gainExp( uint32_t amount ) else { setExp( currentExp + amount ); - Service< World::Manager::PlayerMgr >::ref().onGainExp( *this, currentExp + amount ); + Service< World::Manager::PlayerMgr >::ref().onGainExp( *this, amount ); } } diff --git a/src/world/Actor/PlayerQuest.cpp b/src/world/Actor/PlayerQuest.cpp index 386e0954..2936bf41 100644 --- a/src/world/Actor/PlayerQuest.cpp +++ b/src/world/Actor/PlayerQuest.cpp @@ -179,9 +179,8 @@ bool Sapphire::Entity::Player::giveQuestRewards( uint32_t questId, uint32_t opti auto paramGrowth = exdData.getRow< Component::Excel::ParamGrow >( questInfo->data().ClassLevel ); - // TODO: use the correct formula, this one is wrong uint32_t exp = - ( questInfo->data().Reward.ExpBonus * paramGrowth->data().EventExpRate * ( 45 + 5 * questInfo->data().ClassLevel ) ) / 100; + ( questInfo->data().Reward.ExpBonus * paramGrowth->data().BaseExp * paramGrowth->data().EventExpRate ) / 100; //exp = questInfo->data().Reward.ExpBonus;