mirror of
https://github.com/EQEmu/Server.git
synced 2026-09-04 14:36:37 +00:00
[Shared Tasks] Implement Activity Locking (#2339)
* Add shared task element locking This adds the `lock_activity_id` field to the tasks table which will automatically lock a shared task when that element becomes active. A method was added to world analogous to zone's UnlockActivities to determine when an activity is active with respect to task steps. Also adds quest apis to manually lock or unlock a client's shared task * Add comment
This commit is contained in:
@@ -58,6 +58,7 @@ public:
|
||||
void SaveSharedTaskActivityState(int64 shared_task_id, std::vector<SharedTaskActivityStateEntry> activity_state);
|
||||
|
||||
bool IsSharedTaskLeader(SharedTask *s, uint32 character_id);
|
||||
void LockTask(SharedTask* s, bool lock);
|
||||
void SendAcceptNewSharedTaskPacket(uint32 character_id, uint32 task_id, uint32_t npc_context_id, int accept_time);
|
||||
void SendRemovePlayerFromSharedTaskPacket(uint32 character_id, uint32 task_id, bool remove_from_db);
|
||||
void SendSharedTaskMemberList(uint32 character_id, const std::vector<SharedTaskMember> &members);
|
||||
@@ -117,6 +118,8 @@ protected:
|
||||
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);
|
||||
void ChooseNewLeader(SharedTask *s);
|
||||
bool HandleCompletedActivities(SharedTask* s);
|
||||
void HandleCompletedTask(SharedTask* s);
|
||||
void SendSharedTaskMemberListToAllMembers(SharedTask *s);
|
||||
void SendSharedTaskMemberAddedToAllMembers(SharedTask *s, const std::string &player_name);
|
||||
void SendSharedTaskMemberRemovedToAllMembers(SharedTask *s, const std::string &player_name);
|
||||
|
||||
Reference in New Issue
Block a user