skip EXP computation for Level 200 characters

This commit is contained in:
Martin Michelsen
2025-10-11 17:38:13 -07:00
parent 36a1e0dfae
commit 6ba92d3a7a
+4 -4
View File
@@ -4036,7 +4036,9 @@ static asio::awaitable<void> on_enemy_exp_request_bb(shared_ptr<Client> c, Subco
? 0.0f
: l->exp_share_multiplier;
double rate_factor;
if (ene_st->last_hit_by_client_id(client_id)) {
if (lc->character_file()->disp.stats.level >= 199) {
rate_factor = 0.0;
} else if (ene_st->last_hit_by_client_id(client_id)) {
rate_factor = max<double>(1.0, exp_share_multiplier);
} else if (ene_st->ever_hit_by_client_id(client_id)) {
rate_factor = max<double>(0.8, exp_share_multiplier);
@@ -4062,9 +4064,7 @@ static asio::awaitable<void> on_enemy_exp_request_bb(shared_ptr<Client> c, Subco
if (lc->check_flag(Client::Flag::DEBUG_ENABLED)) {
send_text_message_fmt(lc, "$C5+{} E-{:03X} {}", player_exp, ene_st->e_id, phosg::name_for_enum(type));
}
if (lc->character_file()->disp.stats.level < 199) {
add_player_exp(lc, player_exp);
}
add_player_exp(lc, player_exp);
}
}