mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2025-11-17 15:30:06 +00:00
added saving missions
This commit is contained in:
@@ -100,6 +100,13 @@ void MissionManager::taskEnd(CNSocket* sock, CNPacketData* data) {
|
||||
std::cout << "[WARN] Player completed non-active mission!?" << std::endl;
|
||||
}
|
||||
|
||||
// if it's the last task
|
||||
if (task["m_iSUOutgoingTask"] == 0)
|
||||
{
|
||||
//save completed mission on player
|
||||
saveMission(plr, (int)(task["m_iHMissionID"])-1);
|
||||
}
|
||||
|
||||
sock->sendPacket((void*)&response, P_FE2CL_REP_PC_TASK_END_SUCC, sizeof(sP_FE2CL_REP_PC_TASK_END_SUCC));
|
||||
}
|
||||
|
||||
@@ -323,3 +330,10 @@ void MissionManager::mobKilled(CNSocket *sock, int mobid) {
|
||||
sock->sendPacket((void*)&kill, P_FE2CL_REP_PC_KILL_QUEST_NPCs_SUCC, sizeof(sP_FE2CL_REP_PC_KILL_QUEST_NPCs_SUCC));
|
||||
}
|
||||
}
|
||||
|
||||
void MissionManager::saveMission(Player* player, int missionId) {
|
||||
//Missions are stored in int_64t array
|
||||
int row = missionId / 64;
|
||||
int collumn = missionId % 64;
|
||||
player->aQuestFlag[row] |= (1LL << collumn);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user