mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-03 02:52:26 +00:00
Add char_id to SharedTaskMember
This commit is contained in:
parent
8141f831b1
commit
3cbd0fe0f6
@ -82,7 +82,7 @@ void SharedTaskManager::HandleTaskRequest(ServerPacket *pack)
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto &task = ret.first->second;
|
auto &task = ret.first->second;
|
||||||
task.AddMember(leader_name, cle_leader, true);
|
task.AddMember(leader_name, cle_leader, cle_leader->CharID(), true);
|
||||||
|
|
||||||
if (players.empty()) {
|
if (players.empty()) {
|
||||||
// send instant success to leader
|
// send instant success to leader
|
||||||
@ -146,7 +146,7 @@ void SharedTaskManager::HandleTaskRequest(ServerPacket *pack)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// we're good, add to task
|
// we're good, add to task
|
||||||
task.AddMember(name, cle);
|
task.AddMember(name, cle, cle->CharID());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -396,7 +396,7 @@ bool SharedTaskManager::LoadSharedTaskState()
|
|||||||
int task_id = atoi(row[0]);
|
int task_id = atoi(row[0]);
|
||||||
// hmm not sure best way to do this, fine for now
|
// hmm not sure best way to do this, fine for now
|
||||||
if (tasks.count(task_id) == 1)
|
if (tasks.count(task_id) == 1)
|
||||||
tasks[task_id].AddMember(row[2], nullptr, atoi(row[3]) != 0);
|
tasks[task_id].AddMember(row[2], nullptr, atoi(row[1]), atoi(row[3]) != 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -13,10 +13,14 @@ class ClientListEntry;
|
|||||||
struct SharedTaskMember {
|
struct SharedTaskMember {
|
||||||
std::string name;
|
std::string name;
|
||||||
ClientListEntry *cle;
|
ClientListEntry *cle;
|
||||||
|
int char_id;
|
||||||
bool leader;
|
bool leader;
|
||||||
// TODO: monster mission stuff
|
// TODO: monster mission stuff
|
||||||
SharedTaskMember() : cle(nullptr), leader(false) {}
|
SharedTaskMember() : cle(nullptr), char_id(0), leader(false) {}
|
||||||
SharedTaskMember(std::string name, ClientListEntry *cle, bool leader) : name(name), cle(cle), leader(leader) {}
|
SharedTaskMember(std::string name, ClientListEntry *cle, int char_id, bool leader)
|
||||||
|
: name(name), cle(cle), char_id(char_id), leader(leader)
|
||||||
|
{
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SharedTask {
|
class SharedTask {
|
||||||
@ -25,14 +29,16 @@ public:
|
|||||||
SharedTask(int id, int task_id) : id(id), task_id(task_id), locked(false) {}
|
SharedTask(int id, int task_id) : id(id), task_id(task_id), locked(false) {}
|
||||||
~SharedTask() {}
|
~SharedTask() {}
|
||||||
|
|
||||||
void AddMember(std::string name, ClientListEntry *cle = nullptr, bool leader = false)
|
void AddMember(std::string name, ClientListEntry *cle = nullptr, int char_id = 0, bool leader = false)
|
||||||
{
|
{
|
||||||
members.push_back({name, cle, leader});
|
members.push_back({name, cle, char_id, leader});
|
||||||
if (leader)
|
if (leader)
|
||||||
leader_name = name;
|
leader_name = name;
|
||||||
auto it = std::find(char_ids.begin(), char_ids.end(), cle->CharID());
|
if (char_id == 0)
|
||||||
|
return;
|
||||||
|
auto it = std::find(char_ids.begin(), char_ids.end(), char_id);
|
||||||
if (it == char_ids.end())
|
if (it == char_ids.end())
|
||||||
char_ids.push_back(cle->CharID());
|
char_ids.push_back(char_id);
|
||||||
}
|
}
|
||||||
void MemberLeftGame(ClientListEntry *cle);
|
void MemberLeftGame(ClientListEntry *cle);
|
||||||
inline const std::string &GetLeaderName() const { return leader_name; }
|
inline const std::string &GetLeaderName() const { return leader_name; }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user