don't disconnect on duplicate EXP requests
This commit is contained in:
@@ -2001,8 +2001,11 @@ static void on_enemy_exp_request_bb(shared_ptr<Client> c, uint8_t, uint8_t, cons
|
|||||||
|
|
||||||
uint8_t state_flag = Map::Enemy::Flag::EXP_REQUESTED_BY_PLAYER0 << c->lobby_client_id;
|
uint8_t state_flag = Map::Enemy::Flag::EXP_REQUESTED_BY_PLAYER0 << c->lobby_client_id;
|
||||||
if (e.state_flags & state_flag) {
|
if (e.state_flags & state_flag) {
|
||||||
throw runtime_error("duplicate EXP request");
|
if (c->config.check_flag(Client::Flag::DEBUG_ENABLED)) {
|
||||||
|
send_text_message_printf(c, "$C5E-%hX __CHECKED__", cmd.enemy_index.load());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
e.state_flags |= state_flag;
|
e.state_flags |= state_flag;
|
||||||
|
|
||||||
double experience = 0.0;
|
double experience = 0.0;
|
||||||
@@ -2060,6 +2063,7 @@ static void on_enemy_exp_request_bb(shared_ptr<Client> c, uint8_t, uint8_t, cons
|
|||||||
item.data.set_sealed_item_kill_count(item.data.get_sealed_item_kill_count() + 1);
|
item.data.set_sealed_item_kill_count(item.data.get_sealed_item_kill_count() + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_meseta_reward_request_bb(shared_ptr<Client> c, uint8_t, uint8_t, const void* data, size_t size) {
|
void on_meseta_reward_request_bb(shared_ptr<Client> c, uint8_t, uint8_t, const void* data, size_t size) {
|
||||||
|
|||||||
Reference in New Issue
Block a user