const GuildDataTaxRatesModifiedPacket = require("../Packets/GuildDataTaxRatesModified"); const constants = require("../Data/constants"); const { MAXIMUM } = constants; const { MAX_GUILD_TAX_RATE_GOLD, MAX_GUILD_TAX_RATE_EMERALD } = MAXIMUM; const queries = require("../Data/queries"); const { QUERY_UPDATE_GUILD_TAX_RATES } = queries; const Game = require("../Game/Game"); module.exports = async function (ws, message, player) { if (!player.guild.id) return; const taxRateGold = message.getUint8(1); if (taxRateGold > MAX_GUILD_TAX_RATE_GOLD) return; const taxRateEmerald = message.getUint8(2); if (taxRateEmerald > MAX_GUILD_TAX_RATE_EMERALD) return; const guildDataTaxRatesModified = [taxRateGold, taxRateEmerald]; const taxRatesUpdateQuery = await execute(QUERY_UPDATE_GUILD_TAX_RATES, [taxRateGold, taxRateEmerald, player.guild.id]); if (!taxRatesUpdateQuery.data || taxRatesUpdateQuery.data.affectedRows !== 1) [guildDataTaxRatesModified[0], guildDataTaxRatesModified[1]] = [255, 255]; else player.guild.taxRates = guildDataTaxRatesModified.map(t => t / 100); const topic = Game.getTopic(player.guild.topic); const guildDataTaxRatesModifiedPacket = GuildDataTaxRatesModifiedPacket(guildDataTaxRatesModified); topic.push(guildDataTaxRatesModifiedPacket); };