[Bug Fix] Fix Bot/Character ID Overlap in Groups (#4093)

* [Bug Fix] Fix Bot/Character ID Overlap in Groups

- Attempt to fix bot/character ID overlap in groups keeping bots with the same unique identifier as players from not spawning on zone.
- Adds `bot_id` to `group_id` to differentiate bots from characters and hopefully alleviate this issue.

* Update base_group_id_repository.h

* Final push
This commit is contained in:
Alex King
2024-03-23 18:55:03 -04:00
committed by GitHub
parent abdec39cdd
commit 21cec87ac4
19 changed files with 361 additions and 281 deletions
+9 -1
View File
@@ -53,6 +53,7 @@
#include "../common/repositories/inventory_repository.h"
#include "../common/events/player_event_logs.h"
#include "../common/content/world_content_service.h"
#include "../common/repositories/group_id_repository.h"
#include <iostream>
#include <iomanip>
@@ -881,7 +882,14 @@ bool Client::HandleEnterWorldPacket(const EQApplicationPacket *app) {
}
if(!is_player_zoning) {
database.SetGroupID(char_name, 0, charid);
GroupIdRepository::DeleteWhere(
database,
fmt::format(
"`character_id` = {} AND `name` = '{}'",
charid,
Strings::Escape(char_name)
)
);
database.SetLoginFlags(charid, false, false, 1);
} else {
auto group_id = database.GetGroupID(char_name);