[Shared Tasks] Implement task timer groups (#2340)

This adds task replay and request timer groups (an arbitrary id) which
allows for different tasks to share lockouts
This commit is contained in:
hg
2022-07-30 21:18:19 -04:00
committed by GitHub
parent f64d072af7
commit 8a962e09f6
10 changed files with 116 additions and 35 deletions
+4
View File
@@ -3,6 +3,7 @@
#include "../common/database.h"
#include "../common/shared_tasks.h"
#include "../common/repositories/character_task_timers_repository.h"
class DynamicZone;
@@ -114,6 +115,9 @@ protected:
// store a reference of active invitations that have been sent to players
std::vector<SharedTaskActiveInvitation> m_active_invitations{};
std::vector<CharacterTaskTimersRepository::CharacterTaskTimers> GetCharacterTimers(
const std::vector<uint32_t>& character_ids, const TasksRepository::Tasks& task);
void AddReplayTimers(SharedTask *s);
bool CanAddPlayer(SharedTask *s, uint32_t character_id, std::string player_name, bool accepted);
bool CanRequestSharedTask(uint32_t task_id, uint32_t character_id, const SharedTaskRequestCharacters &request);