void CKnightsManager::ReqUpdateKnights(CUser *pUser, Packet & pkt, uint8 opcode) { if (pUser == nullptr) return; Packet result(WIZ_KNIGHTS_PROCESS); uint16 sClanID = pkt.read<uint16>(); string strCharID = pUser->GetName(); int8 bResult = int8(g_DBAgent.UpdateKnights(opcode, strCharID, sClanID, 0)); if (bResult < 0) { result << opcode << uint8(0); pUser->Send(&result); return; } result << sClanID; // Hate doing this, but it's reusable. RecvUpdateKnights(pUser, result, opcode); }
void CKnightsManager::ReqModifyKnightsMember(CUser *pUser, Packet & pkt, uint8 command) { if (pUser == nullptr) return; Packet result(WIZ_KNIGHTS_PROCESS); string strCharID; uint16 sClanID; int8 bRemoveFlag, bResult; pkt >> sClanID >> strCharID >> bRemoveFlag; bResult = int8(g_DBAgent.UpdateKnights(command, strCharID, sClanID, bRemoveFlag)); if (bResult < 0) { result << command << uint8(0); pUser->Send(&result); return; } result << sClanID << strCharID; // I really hate doing this, but OK... RecvModifyFame(pUser, result, command); }