mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-11 15:22:26 +00:00
Some work on world's task activity states
This commit is contained in:
parent
c093b3e2ab
commit
b0dff0c006
@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
extern ClientList client_list;
|
extern ClientList client_list;
|
||||||
extern ZSList zoneserver_list;
|
extern ZSList zoneserver_list;
|
||||||
|
extern SharedTaskManager shared_tasks;
|
||||||
|
|
||||||
void SharedTaskManager::HandleTaskRequest(ServerPacket *pack)
|
void SharedTaskManager::HandleTaskRequest(ServerPacket *pack)
|
||||||
{
|
{
|
||||||
@ -152,6 +153,7 @@ void SharedTaskManager::HandleTaskRequest(ServerPacket *pack)
|
|||||||
|
|
||||||
// this will also prevent any of these clients from requesting or being added to another, lets do it now before we tell zone
|
// this will also prevent any of these clients from requesting or being added to another, lets do it now before we tell zone
|
||||||
task.SetCLESharedTasks();
|
task.SetCLESharedTasks();
|
||||||
|
task.InitActivities();
|
||||||
// fire off to zone we're done!
|
// fire off to zone we're done!
|
||||||
SerializeBuffer buf(10 + 10 * players.size());
|
SerializeBuffer buf(10 + 10 * players.size());
|
||||||
buf.WriteInt32(id); // shared task's ID
|
buf.WriteInt32(id); // shared task's ID
|
||||||
@ -528,3 +530,21 @@ void SharedTask::Save() const
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* sets up activity stuff
|
||||||
|
*/
|
||||||
|
void SharedTask::InitActivities()
|
||||||
|
{
|
||||||
|
task_state.TaskID = task_id;
|
||||||
|
task_state.AcceptedTime = time(nullptr);
|
||||||
|
task_state.Updated = true;
|
||||||
|
task_state.CurrentStep = -1;
|
||||||
|
|
||||||
|
for (int i = 0; i < shared_tasks.GetTaskActivityCount(task_id); i++) {
|
||||||
|
task_state.Activity[i].ActivityID = i;
|
||||||
|
task_state.Activity[i].DoneCount = 0;
|
||||||
|
task_state.Activity[i].State = ActivityHidden;
|
||||||
|
task_state.Activity[i].Updated = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@ -42,6 +42,7 @@ public:
|
|||||||
|
|
||||||
void SerializeMembers(SerializeBuffer &buf, bool include_leader = true) const;
|
void SerializeMembers(SerializeBuffer &buf, bool include_leader = true) const;
|
||||||
void SetCLESharedTasks();
|
void SetCLESharedTasks();
|
||||||
|
void InitActivities();
|
||||||
|
|
||||||
void Save() const; // save to database
|
void Save() const; // save to database
|
||||||
|
|
||||||
@ -79,6 +80,14 @@ public:
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline int GetTaskActivityCount(int task_id) const {
|
||||||
|
auto it = task_information.find(task_id);
|
||||||
|
if (it != task_information.end())
|
||||||
|
return it->second.ActivityCount;
|
||||||
|
else
|
||||||
|
return 0; // hmm
|
||||||
|
}
|
||||||
|
|
||||||
// IPC packet processing
|
// IPC packet processing
|
||||||
void HandleTaskRequest(ServerPacket *pack);
|
void HandleTaskRequest(ServerPacket *pack);
|
||||||
void HandleTaskZoneCreated(ServerPacket *pack);
|
void HandleTaskZoneCreated(ServerPacket *pack);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user