public static void HandleExchangeRequestOnTaxCollectorMessage(WorldClient client, ExchangeRequestOnTaxCollectorMessage message) { if (client.Character.Guild != null) { TaxCollectorNpc taxCollector = client.Character.Map.TaxCollector; if (taxCollector != null) { if (!taxCollector.IsTaxCollectorOwner(client.Character.GuildMember)) { client.Send(new TaxCollectorErrorMessage(2)); } else { TaxCollectorTrade taxCollectorTrade = new TaxCollectorTrade(taxCollector, client.Character); taxCollectorTrade.Open(); } } } }
public static void HandleExchangeRequestOnTaxCollectorMessage(WorldClient client, ExchangeRequestOnTaxCollectorMessage message) { if (client.Character.Guild == null) { return; } var taxCollectorNpc = client.Character.Map.TaxCollector; if (taxCollectorNpc == null) { return; } var guildMember = client.Character.GuildMember; if (!taxCollectorNpc.IsTaxCollectorOwner(guildMember)) { client.Send(new TaxCollectorErrorMessage((sbyte)TaxCollectorErrorReasonEnum.TAX_COLLECTOR_NOT_OWNED)); return; } if (!((string.Equals(taxCollectorNpc.Record.CallerName, client.Character.Name) && guildMember.HasRight(GuildRightsBitEnum.GUILD_RIGHT_COLLECT_MY_TAX_COLLECTOR)) || guildMember.HasRight(GuildRightsBitEnum.GUILD_RIGHT_COLLECT))) { client.Send(new TaxCollectorErrorMessage((sbyte)TaxCollectorErrorReasonEnum.TAX_COLLECTOR_NO_RIGHTS)); return; } if (taxCollectorNpc.IsBusy()) { return; } var exchange = new TaxCollectorExchange(taxCollectorNpc, client.Character); exchange.Open(); }