=> p.Encode1((byte)nType); // DONE /// <summary> /// Helper function for generating guild packets that only contain a guild op byte. /// </summary> /// <param name="nType"></param> /// <returns></returns> private static COutPacket EmptyGuildPacket(GuildOps nType) { var p = new COutPacket(SendOps.LP_GuildResult); EncodeHeader(p, nType); return(p); } // DONE
=> LeaveGuildPacket(GuildOps.GuildRes_KickGuild_Done, nGuildID, dwCharID, sCharacterName); // DONE /// <summary> /// Helper function for the kick/withdraw packets /// </summary> /// <param name="nType"></param> /// <param name="nGuildID"></param> /// <param name="dwCharID"></param> /// <param name="sCharacterName"></param> /// <returns></returns> private static COutPacket LeaveGuildPacket(GuildOps nType, int nGuildID, int dwCharID, string sCharacterName) { if (nType != GuildOps.GuildRes_WithdrawGuild_Done && nType != GuildOps.GuildRes_KickGuild_Done) { throw new InvalidOperationException($"Attempting to encode leaveguild info with operation { Enum.GetName(typeof(GuildOps), nType) }"); } var p = new COutPacket(SendOps.LP_GuildResult); p.Encode1((byte)nType); p.Encode4(nGuildID); p.Encode4(dwCharID); p.EncodeString(sCharacterName); return(p); } // DONE
} // DONE /// <summary> /// Generic error packet /// </summary> /// <returns></returns> public static COutPacket GuildRes_Error(GuildOps nType) => EmptyGuildPacket(nType); // DONE
/// <summary> /// Helper function for encoding guild op header /// </summary> /// <param name="p"></param> /// <param name="nType"></param> private static void EncodeHeader(COutPacket p, GuildOps nType) => p.Encode1((byte)nType); // DONE