30 lines
1.4 KiB
JavaScript
30 lines
1.4 KiB
JavaScript
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);
|
|
}; |