mirror of
				https://github.com/DarkflameUniverse/DarkflameServer.git
				synced 2025-10-30 20:22:04 +00:00 
			
		
		
		
	Add initial response msg and sending
This commit is contained in:
		| @@ -602,6 +602,19 @@ void ChatPacketHandler::HandleTeamInvite(Packet* packet) { | ||||
| 	SendTeamInvite(other, player); | ||||
|  | ||||
| 	LOG("Got team invite: %llu -> %s", playerID, invitedPlayer.GetAsString().c_str()); | ||||
|  | ||||
| 	bool failed = false; | ||||
| 	for (const auto& ignore : other.ignoredPlayers) { | ||||
| 		if (ignore.playerId == player.playerID) { | ||||
| 			failed = true; | ||||
| 			break; | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
| 	ChatPackets::TeamInviteInitialResponse response{}; | ||||
| 	response.inviteFailedToSend = failed; | ||||
| 	response.playerName = invitedPlayer.string; | ||||
| 	ChatPackets::SendRoutedMsg(response, playerID, player.worldServerSysAddr); | ||||
| } | ||||
|  | ||||
| void ChatPacketHandler::HandleTeamInviteResponse(Packet* packet) { | ||||
| @@ -615,7 +628,7 @@ void ChatPacketHandler::HandleTeamInviteResponse(Packet* packet) { | ||||
| 	LWOOBJID leaderID = LWOOBJID_EMPTY; | ||||
| 	inStream.Read(leaderID); | ||||
|  | ||||
| 	LOG("Accepted invite: %llu -> %llu (%d)", playerID, leaderID, declined); | ||||
| 	LOG("Invite reponse received: %llu -> %llu (%d)", playerID, leaderID, declined); | ||||
|  | ||||
| 	if (declined) { | ||||
| 		return; | ||||
|   | ||||
| @@ -132,3 +132,19 @@ bool ChatPackets::AchievementNotify::Deserialize(RakNet::BitStream& bitstream) { | ||||
|  | ||||
| 	return true; | ||||
| } | ||||
|  | ||||
| void ChatPackets::TeamInviteInitialResponse::Serialize(RakNet::BitStream& bitstream) const { | ||||
| 	bitstream.Write<uint8_t>(inviteFailedToSend); | ||||
| 	bitstream.Write(playerName); | ||||
| } | ||||
|  | ||||
| void ChatPackets::SendRoutedMsg(const LUBitStream& msg, const LWOOBJID targetID, const SystemAddress& sysAddr) { | ||||
| 	CBITSTREAM; | ||||
| 	BitStreamUtils::WriteHeader(bitStream, eConnectionType::CHAT, MessageType::Chat::WORLD_ROUTE_PACKET); | ||||
| 	bitStream.Write(targetID); | ||||
|  | ||||
| 	// Now write the actual packet | ||||
| 	msg.WriteHeader(bitStream); | ||||
| 	msg.Serialize(bitStream); | ||||
| 	Game::server->Send(bitStream, sysAddr, sysAddr == UNASSIGNED_SYSTEM_ADDRESS); | ||||
| } | ||||
|   | ||||
| @@ -46,9 +46,19 @@ namespace ChatPackets { | ||||
| 		bool Deserialize(RakNet::BitStream& bitstream) override; | ||||
| 	}; | ||||
|  | ||||
| 	struct TeamInviteInitialResponse : public LUBitStream { | ||||
| 		bool inviteFailedToSend{}; | ||||
| 		LUWString playerName{}; | ||||
| 		TeamInviteInitialResponse() : LUBitStream(eConnectionType::CLIENT, MessageType::Client::TEAM_INVITE_INITIAL_RESPONSE) {} | ||||
|  | ||||
| 		void Serialize(RakNet::BitStream& bitstream) const override; | ||||
| 		// No Deserialize needed on our end | ||||
| 	}; | ||||
|  | ||||
| 	void SendChatMessage(const SystemAddress& sysAddr, char chatChannel, const std::string& senderName, LWOOBJID playerObjectID, bool senderMythran, const std::u16string& message); | ||||
| 	void SendSystemMessage(const SystemAddress& sysAddr, const std::u16string& message, bool broadcast = false); | ||||
| 	void SendMessageFail(const SystemAddress& sysAddr); | ||||
| 	void SendRoutedMsg(const LUBitStream& msg, const LWOOBJID targetID, const SystemAddress& sysAddr); | ||||
| }; | ||||
|  | ||||
| #endif // CHATPACKETS_H | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 David Markowitz
					David Markowitz