[Fix] Clear GuildOnlineStatus on world boot (#4306)

Ensure that the guild member online status is set to offline (0) when world boots.
This commit is contained in:
Mitch Freeman
2024-05-12 16:02:06 -03:00
committed by GitHub
parent d302b9c02e
commit b49b564940
5 changed files with 20 additions and 1 deletions
+5
View File
@@ -2089,3 +2089,8 @@ void Database::PurgeCharacterParcels()
RuleI(Parcel, ParcelPruneDelay)
);
}
void Database::ClearGuildOnlineStatus()
{
GuildMembersRepository::ClearOnlineStatus(*this);
}
+1
View File
@@ -243,6 +243,7 @@ public:
void SetRaidGroupLeaderInfo(uint32 group_id, uint32 raid_id);
void PurgeAllDeletedDataBuckets();
void ClearGuildOnlineStatus();
/* Database Variables */
@@ -190,6 +190,17 @@ public:
return UpdateOne(db, m);
}
static void ClearOnlineStatus(Database &db)
{
auto results = db.QueryDatabase(
fmt::format(
"UPDATE {} SET `online` = 0 "
"WHERE `online` = 1;",
TableName()
)
);
}
};
#endif //EQEMU_GUILD_MEMBERS_REPOSITORY_H