# frozen_string_literal: true
module ESM
module Command
module Territory
class Upgrade < ApplicationCommand
#################################
#
# Arguments (required first, then order matters)
#
# See Argument::TEMPLATES[:territory_id]
argument :territory_id, display_name: :territory
# See Argument::TEMPLATES[:server_id]
argument :server_id, display_name: :on
#
# Configuration
#
command_type :player
#################################
def on_execute
response = call_sqf_function!(
"ESMs_command_upgrade",
territory_id: arguments.territory_id
)
embed = embed_from_message!(response)
reply(embed)
end
module V1
def on_execute
deliver!(
function_name: "upgradeTerritory",
territory_id: arguments.territory_id,
uid: current_user.steam_uid
)
end
def on_response
return if @response.blank?
message = I18n.t(
"commands.upgrade.success_message",
user: current_user.mention,
territory_id: arguments.territory_id,
cost: @response.cost.to_poptab,
level: @response.level,
range: @response.range,
locker: @response.locker.to_poptab
)
reply(ESM::Embed.build(:success, description: message))
end
end
end
end
end
end