From dfb0ef2e58603b44441223ff43657893e1f2e207 Mon Sep 17 00:00:00 2001 From: gor_down Date: Sun, 2 Mar 2025 07:24:25 -0300 Subject: [PATCH] update chars taken on area accordingly --- src/aoclient.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/aoclient.cpp b/src/aoclient.cpp index 39b6f95..39f938d 100644 --- a/src/aoclient.cpp +++ b/src/aoclient.cpp @@ -227,8 +227,7 @@ void AOClient::changeArea(int new_area) if (character() != "") { server->getAreaById(areaId()) - ->changeCharacter(server->getCharID(character()), -1); - server->updateCharsTaken(server->getAreaById(areaId())); + ->changeCharacter(server->getCharID(character()), -1); } server->getAreaById(areaId())->removeClient(m_char_id, clientId()); bool l_character_taken = false; @@ -238,8 +237,11 @@ void AOClient::changeArea(int new_area) m_char_id = -1; l_character_taken = true; } + int old_area_id = areaId(); server->getAreaById(new_area)->addClient(m_char_id, clientId()); setAreaId(new_area); + server->updateCharsTaken(server->getAreaById(old_area_id)); + server->updateCharsTaken(server->getAreaById(new_area)); arup(ARUPType::PLAYER_COUNT, true); sendEvidenceList(server->getAreaById(new_area)); sendPacket("HP", {"1", QString::number(server->getAreaById(new_area)->defHP())});