mirror of
https://github.com/edubart/otclient.git
synced 2025-11-30 15:26:49 +01:00
Get rid of trailing whitespace.
Commit generated by command:
find -type f ! -path '*.git*' ! -path '*.png' ! -path '*.ico' ! -path \
'*.ogg' | xargs -I '{}' sed -i '{}' -e 's/\t*$//g' -e 's/ *$//g'
This commit is contained in:
@@ -53,7 +53,7 @@ function startup()
|
||||
end
|
||||
|
||||
function init()
|
||||
connect(g_app, { onRun = startup,
|
||||
connect(g_app, { onRun = startup,
|
||||
onExit = exit })
|
||||
|
||||
g_window.setMinimumSize({ width = 600, height = 480 })
|
||||
@@ -94,11 +94,11 @@ function init()
|
||||
if not g_crypt.setMachineUUID(g_configs.get('uuid')) then
|
||||
g_configs.set('uuid', g_crypt.getMachineUUID())
|
||||
g_configs.save()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function terminate()
|
||||
disconnect(g_app, { onRun = startup,
|
||||
disconnect(g_app, { onRun = startup,
|
||||
onExit = exit })
|
||||
-- save window configs
|
||||
g_settings.set('window-size', g_window.getUnmaximizedSize())
|
||||
|
||||
@@ -243,7 +243,7 @@ function CharacterList.create(characters, account, otui)
|
||||
else
|
||||
accountStatusLabel:setText(tr('Free Account'))
|
||||
end
|
||||
|
||||
|
||||
if account.premDays > 0 and account.premDays <= 7 then
|
||||
accountStatusLabel:setOn(true)
|
||||
else
|
||||
|
||||
@@ -81,7 +81,7 @@ MainWindow
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: next.top
|
||||
margin-bottom: 1
|
||||
|
||||
|
||||
Label
|
||||
id: accountStatusLabel
|
||||
!text: tr('Free Account')
|
||||
|
||||
@@ -225,7 +225,7 @@ function EnterGame.doLogin()
|
||||
|
||||
g_settings.set('host', G.host)
|
||||
g_settings.set('port', G.port)
|
||||
g_settings.set('client-version', clientVersion)
|
||||
g_settings.set('client-version', clientVersion)
|
||||
|
||||
protocolLogin = ProtocolLogin.create()
|
||||
protocolLogin.onLoginError = onError
|
||||
|
||||
@@ -39,10 +39,10 @@ Panel
|
||||
id: fullscreen
|
||||
!text: tr('Fullscreen')
|
||||
tooltip: Ctrl+Shift+F
|
||||
|
||||
|
||||
OptionCheckBox
|
||||
id: dontStretchShrink
|
||||
!text: tr('Don\'t stretch/shrink Game Window')
|
||||
!text: tr('Don\'t stretch/shrink Game Window')
|
||||
|
||||
Label
|
||||
id: backgroundFrameRateLabel
|
||||
|
||||
@@ -50,7 +50,7 @@ function ServerList.add(host, port, protocol, load)
|
||||
end
|
||||
local widget = g_ui.createWidget('ServerWidget', serverTextList)
|
||||
widget:setId(host)
|
||||
|
||||
|
||||
if not load then
|
||||
servers[host] = {
|
||||
port = port,
|
||||
|
||||
@@ -131,11 +131,11 @@ function init()
|
||||
commandTextEdit = terminalWindow:getChildById('commandTextEdit')
|
||||
g_keyboard.bindKeyPress('Up', function() navigateCommand(1) end, commandTextEdit)
|
||||
g_keyboard.bindKeyPress('Down', function() navigateCommand(-1) end, commandTextEdit)
|
||||
g_keyboard.bindKeyPress('Ctrl+C',
|
||||
function()
|
||||
g_keyboard.bindKeyPress('Ctrl+C',
|
||||
function()
|
||||
if commandTextEdit:hasSelection() or not terminalSelectText:hasSelection() then return false end
|
||||
g_window.setClipboardText(terminalSelectText:getSelection())
|
||||
return true
|
||||
return true
|
||||
end, commandTextEdit)
|
||||
g_keyboard.bindKeyDown('Tab', completeCommand, commandTextEdit)
|
||||
g_keyboard.bindKeyDown('Enter', doCommand, commandTextEdit)
|
||||
|
||||
@@ -55,7 +55,7 @@ end
|
||||
|
||||
function table.find(t, value, lowercase)
|
||||
for k,v in pairs(t) do
|
||||
if lowercase and type(value) == 'string' and type(v) == 'string' then
|
||||
if lowercase and type(value) == 'string' and type(v) == 'string' then
|
||||
if v:lower() == value:lower() then return k end
|
||||
end
|
||||
if v == value then return k end
|
||||
@@ -64,7 +64,7 @@ end
|
||||
|
||||
function table.findbykey(t, key, lowercase)
|
||||
for k,v in pairs(t) do
|
||||
if lowercase and type(key) == 'string' and type(k) == 'string' then
|
||||
if lowercase and type(key) == 'string' and type(k) == 'string' then
|
||||
if k:lower() == key:lower() then return v end
|
||||
end
|
||||
if k == key then return v end
|
||||
@@ -149,7 +149,7 @@ function table.size(t)
|
||||
for i, n in pairs(t) do
|
||||
size = size + 1
|
||||
end
|
||||
|
||||
|
||||
return size
|
||||
end
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ function UIMiniWindow:setup()
|
||||
self:minimize()
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
self:getChildById('miniwindowTopBar').onDoubleClick =
|
||||
function()
|
||||
if self:isOn() then
|
||||
|
||||
@@ -8,7 +8,7 @@ end
|
||||
|
||||
local function updateMargins(tabBar, ignored)
|
||||
if #tabBar.tabs == 0 then return end
|
||||
|
||||
|
||||
local currentMargin = 0
|
||||
for i = 1, #tabBar.tabs do
|
||||
tabBar.tabs[i]:setMarginLeft(currentMargin)
|
||||
@@ -279,17 +279,17 @@ end
|
||||
function UIMoveableTabBar:moveTab(tab, units)
|
||||
local index = table.find(self.tabs, tab)
|
||||
if index == nil then return end
|
||||
|
||||
|
||||
local focus = false
|
||||
if self.currentTab == tab then
|
||||
self:selectPrevTab()
|
||||
focus = true
|
||||
end
|
||||
|
||||
|
||||
table.remove(self.tabs, index)
|
||||
|
||||
|
||||
local newIndex = math.min(#self.tabs+1, math.max(index + units, 1))
|
||||
table.insert(self.tabs, newIndex, tab)
|
||||
table.insert(self.tabs, newIndex, tab)
|
||||
if focus then self:selectTab(tab) end
|
||||
updateMargins(self)
|
||||
return newIndex
|
||||
|
||||
@@ -47,7 +47,7 @@ end
|
||||
|
||||
function UIRadioGroup:clearSelected()
|
||||
if not self.selectedWidget then return end
|
||||
|
||||
|
||||
local previousSelectedWidget = self.selectedWidget
|
||||
self.selectedWidget:setChecked(false)
|
||||
self.selectedWidget = nil
|
||||
|
||||
@@ -32,11 +32,11 @@ function init()
|
||||
|
||||
filterPanel = battleWindow:recursiveGetChildById('filterPanel')
|
||||
toggleFilterButton = battleWindow:recursiveGetChildById('toggleFilterButton')
|
||||
|
||||
|
||||
if isHidingFilters() then
|
||||
hideFilterPanel()
|
||||
end
|
||||
|
||||
|
||||
sortTypeBox = battleWindow:recursiveGetChildById('sortTypeBox')
|
||||
sortOrderBox = battleWindow:recursiveGetChildById('sortOrderBox')
|
||||
hidePlayersButton = battleWindow:recursiveGetChildById('hidePlayers')
|
||||
@@ -63,7 +63,7 @@ function init()
|
||||
sortOrderBox:addOption('Desc.', 'desc')
|
||||
sortOrderBox:setCurrentOptionByData(getSortOrder())
|
||||
sortOrderBox.onOptionChange = onChangeSortOrder
|
||||
|
||||
|
||||
connect(Creature, {
|
||||
onSkullChange = updateCreatureSkull,
|
||||
onEmblemChange = updateCreatureEmblem,
|
||||
@@ -73,7 +73,7 @@ function init()
|
||||
onAppear = onCreatureAppear,
|
||||
onDisappear = onCreatureDisappear
|
||||
})
|
||||
|
||||
|
||||
connect(LocalPlayer, {
|
||||
onPositionChange = onCreaturePositionChange
|
||||
})
|
||||
@@ -95,7 +95,7 @@ function terminate()
|
||||
battleWindow:destroy()
|
||||
mouseWidget:destroy()
|
||||
|
||||
disconnect(Creature, {
|
||||
disconnect(Creature, {
|
||||
onSkullChange = updateCreatureSkull,
|
||||
onEmblemChange = updateCreatureEmblem,
|
||||
onOutfitChange = onCreatureOutfitChange,
|
||||
@@ -108,7 +108,7 @@ function terminate()
|
||||
disconnect(LocalPlayer, {
|
||||
onPositionChange = onCreaturePositionChange
|
||||
})
|
||||
|
||||
|
||||
disconnect(g_game, {
|
||||
onAttackingCreatureChange = onAttack,
|
||||
onFollowingCreatureChange = onFollow,
|
||||
@@ -296,17 +296,17 @@ function onCreaturePositionChange(creature, newPos, oldPos)
|
||||
for id, creatureButton in pairs(battleButtonsByCreaturesList) do
|
||||
table.insert(distanceList, {distance = getDistanceBetween(newPos, creatureButton.creature:getPosition()), widget = creatureButton})
|
||||
end
|
||||
|
||||
|
||||
if isSortAsc() then
|
||||
table.sort(distanceList, function(a, b) return a.distance < b.distance end)
|
||||
else
|
||||
table.sort(distanceList, function(a, b) return a.distance > b.distance end)
|
||||
table.sort(distanceList, function(a, b) return a.distance > b.distance end)
|
||||
end
|
||||
|
||||
|
||||
for i = 1, #distanceList do
|
||||
battlePanel:moveChildToIndex(distanceList[i].widget, i)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for id, creatureButton in pairs(battleButtonsByCreaturesList) do
|
||||
addCreature(creatureButton.creature)
|
||||
@@ -356,7 +356,7 @@ function addCreature(creature)
|
||||
if not creatureAgeList[creatureId] then
|
||||
creatureAgeList[creatureId] = os.time()
|
||||
end
|
||||
|
||||
|
||||
if not battleButton then
|
||||
battleButton = g_ui.createWidget('BattleButton')
|
||||
battleButton:setup(creature)
|
||||
@@ -373,14 +373,14 @@ function addCreature(creature)
|
||||
if creature == g_game.getFollowingCreature() then
|
||||
onFollow(creature)
|
||||
end
|
||||
|
||||
|
||||
local inserted = false
|
||||
local nameLower = creature:getName():lower()
|
||||
local healthPercent = creature:getHealthPercent()
|
||||
local playerPosition = g_game.getLocalPlayer():getPosition()
|
||||
local distance = getDistanceBetween(playerPosition, creature:getPosition())
|
||||
local age = creatureAgeList[creatureId]
|
||||
|
||||
|
||||
local childCount = battlePanel:getChildCount()
|
||||
for i = 1, childCount do
|
||||
local child = battlePanel:getChildByIndex(i)
|
||||
@@ -412,9 +412,9 @@ function addCreature(creature)
|
||||
break
|
||||
elseif healthPercent == childHealth then
|
||||
equal = true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- If any other sort type is selected and values are equal, sort it by name also
|
||||
if getSortType() == 'name' or equal then
|
||||
local length = math.min(childName:len(), nameLower:len())
|
||||
@@ -425,7 +425,7 @@ function addCreature(creature)
|
||||
break
|
||||
elseif (nameLower:byte(j) > childName:byte(j) and isSortAsc()) or (nameLower:byte(j) < childName:byte(j) and isSortDesc()) then
|
||||
break
|
||||
elseif j == nameLower:len() and isSortAsc() then
|
||||
elseif j == nameLower:len() and isSortAsc() then
|
||||
battlePanel:insertChild(i, battleButton)
|
||||
inserted = true
|
||||
elseif j == childName:len() and isSortDesc() then
|
||||
@@ -439,7 +439,7 @@ function addCreature(creature)
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- Insert at the end if no other place is found
|
||||
if not inserted then
|
||||
battlePanel:insertChild(childCount + 1, battleButton)
|
||||
@@ -478,7 +478,7 @@ function onBattleButtonMouseRelease(self, mousePosition, mouseButton)
|
||||
mouseWidget.cancelNextRelease = false
|
||||
return false
|
||||
end
|
||||
if ((g_mouse.isPressed(MouseLeftButton) and mouseButton == MouseRightButton)
|
||||
if ((g_mouse.isPressed(MouseLeftButton) and mouseButton == MouseRightButton)
|
||||
or (g_mouse.isPressed(MouseRightButton) and mouseButton == MouseLeftButton)) then
|
||||
mouseWidget.cancelNextRelease = true
|
||||
g_game.look(self.creature)
|
||||
|
||||
@@ -92,7 +92,7 @@ MiniWindow
|
||||
height: 20
|
||||
width: 128
|
||||
margin-top: 6
|
||||
|
||||
|
||||
ComboBox
|
||||
id: sortTypeBox
|
||||
width: 74
|
||||
@@ -107,7 +107,7 @@ MiniWindow
|
||||
anchors.top: parent.top
|
||||
anchors.left: prev.right
|
||||
margin-left: 4
|
||||
|
||||
|
||||
Panel
|
||||
height: 18
|
||||
anchors.top: prev.bottom
|
||||
@@ -132,7 +132,7 @@ MiniWindow
|
||||
anchors.right: miniwindowScrollBar.left
|
||||
margin-right: 1
|
||||
margin-top: 11
|
||||
|
||||
|
||||
MiniWindowContents
|
||||
anchors.top: prev.bottom
|
||||
margin-top: 6
|
||||
|
||||
@@ -23,15 +23,15 @@ function init()
|
||||
fightOffensiveBox = combatControlsWindow:recursiveGetChildById('fightOffensiveBox')
|
||||
fightBalancedBox = combatControlsWindow:recursiveGetChildById('fightBalancedBox')
|
||||
fightDefensiveBox = combatControlsWindow:recursiveGetChildById('fightDefensiveBox')
|
||||
|
||||
|
||||
chaseModeButton = combatControlsWindow:recursiveGetChildById('chaseModeBox')
|
||||
safeFightButton = combatControlsWindow:recursiveGetChildById('safeFightBox')
|
||||
|
||||
|
||||
mountButton = combatControlsWindow:recursiveGetChildById('mountButton')
|
||||
mountButton.onClick = onMountButtonClick
|
||||
|
||||
|
||||
pvpModesPanel = combatControlsWindow:recursiveGetChildById('pvpModesPanel')
|
||||
|
||||
|
||||
whiteDoveBox = combatControlsWindow:recursiveGetChildById('whiteDoveBox')
|
||||
whiteHandBox = combatControlsWindow:recursiveGetChildById('whiteHandBox')
|
||||
yellowHandBox = combatControlsWindow:recursiveGetChildById('yellowHandBox')
|
||||
@@ -41,7 +41,7 @@ function init()
|
||||
fightModeRadioGroup:addWidget(fightOffensiveBox)
|
||||
fightModeRadioGroup:addWidget(fightBalancedBox)
|
||||
fightModeRadioGroup:addWidget(fightDefensiveBox)
|
||||
|
||||
|
||||
pvpModeRadioGroup = UIRadioGroup.create()
|
||||
pvpModeRadioGroup:addWidget(whiteDoveBox)
|
||||
pvpModeRadioGroup:addWidget(whiteHandBox)
|
||||
@@ -62,7 +62,7 @@ function init()
|
||||
onWalk = check,
|
||||
onAutoWalk = check
|
||||
})
|
||||
|
||||
|
||||
connect(LocalPlayer, { onOutfitChange = onOutfitChange })
|
||||
|
||||
if g_game.isOnline() then
|
||||
@@ -92,7 +92,7 @@ function terminate()
|
||||
onWalk = check,
|
||||
onAutoWalk = check
|
||||
})
|
||||
|
||||
|
||||
disconnect(LocalPlayer, { onOutfitChange = onOutfitChange })
|
||||
end
|
||||
|
||||
@@ -111,7 +111,7 @@ function update()
|
||||
|
||||
local safeFight = g_game.isSafeFight()
|
||||
safeFightButton:setChecked(not safeFight)
|
||||
|
||||
|
||||
if g_game.getFeature(GamePVPMode) then
|
||||
local pvpMode = g_game.getPVPMode()
|
||||
local pvpWidget = getPVPBoxByMode(pvpMode)
|
||||
@@ -153,7 +153,7 @@ function online()
|
||||
else
|
||||
mountButton:setVisible(false)
|
||||
end
|
||||
|
||||
|
||||
if g_game.getFeature(GamePVPMode) then
|
||||
pvpModesPanel:setVisible(true)
|
||||
combatControlsWindow:setHeight(combatControlsWindow.extendedControlsHeight)
|
||||
@@ -232,7 +232,7 @@ function onSetPVPMode(self, selectedPVPButton)
|
||||
if selectedPVPButton == nil then
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
local buttonId = selectedPVPButton:getId()
|
||||
local pvpMode = PVPWhiteDove
|
||||
if buttonId == 'whiteDoveBox' then
|
||||
@@ -263,7 +263,7 @@ function onOutfitChange(localPlayer, outfit, oldOutfit)
|
||||
if outfit.mount == oldOutfit.mount then
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
mountButton:setChecked(outfit.mount ~= nil and outfit.mount > 0)
|
||||
end
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ ChaseModeBox < CombatBox
|
||||
image-source: /images/game/combatmodes/chasemode
|
||||
SafeFightBox < CombatBox
|
||||
image-source: /images/game/combatmodes/safefight
|
||||
|
||||
|
||||
MountButton < CombatBox
|
||||
image-source: /images/game/combatmodes/mount
|
||||
|
||||
@@ -73,7 +73,7 @@ MiniWindow
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
height: 20
|
||||
|
||||
|
||||
WhiteDoveBox
|
||||
id: whiteDoveBox
|
||||
anchors.left: parent.left
|
||||
|
||||
@@ -33,13 +33,13 @@ MainWindow
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
width: 180
|
||||
|
||||
|
||||
Label
|
||||
!text: tr('Ignored Players:')
|
||||
anchors.left: parent.left
|
||||
anchors.top: prev.bottom
|
||||
margin-top: 10
|
||||
|
||||
|
||||
TextList
|
||||
id: ignoreList
|
||||
vertical-scrollbar: ignoreListScrollBar
|
||||
@@ -51,14 +51,14 @@ MainWindow
|
||||
margin-top: 3
|
||||
padding: 1
|
||||
focusable: false
|
||||
|
||||
|
||||
TextEdit
|
||||
id: ignoreNameEdit
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: parent.left
|
||||
width: 110
|
||||
margin-top: 5
|
||||
|
||||
|
||||
Button
|
||||
id: buttonIgnoreAdd
|
||||
!text: tr('Add')
|
||||
@@ -67,7 +67,7 @@ MainWindow
|
||||
margin-left: 5
|
||||
anchors.top: prev.top
|
||||
anchors.left: prev.right
|
||||
|
||||
|
||||
Button
|
||||
id: buttonIgnoreRemove
|
||||
!text: tr('Remove')
|
||||
@@ -90,7 +90,7 @@ MainWindow
|
||||
anchors.top: prev.bottom
|
||||
width: 180
|
||||
margin-top: 5
|
||||
|
||||
|
||||
CheckBox
|
||||
id: checkboxIgnoreYelling
|
||||
!text: tr('Ignore Yelling')
|
||||
@@ -98,7 +98,7 @@ MainWindow
|
||||
anchors.top: prev.bottom
|
||||
width: 180
|
||||
margin-top: 5
|
||||
|
||||
|
||||
CheckBox
|
||||
id: checkboxUseWhiteList
|
||||
!text: tr('Activate whitelist')
|
||||
@@ -106,13 +106,13 @@ MainWindow
|
||||
anchors.left: ignoreList.right
|
||||
margin-left: 20
|
||||
width: 180
|
||||
|
||||
|
||||
Label
|
||||
!text: tr('Allowed Players:')
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: prev.left
|
||||
margin-top: 10
|
||||
|
||||
|
||||
TextList
|
||||
id: whiteList
|
||||
vertical-scrollbar: whiteListScrollBar
|
||||
@@ -124,14 +124,14 @@ MainWindow
|
||||
margin-top: 3
|
||||
padding: 1
|
||||
focusable: false
|
||||
|
||||
|
||||
TextEdit
|
||||
id: whitelistNameEdit
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: prev.left
|
||||
width: 110
|
||||
margin-top: 5
|
||||
|
||||
|
||||
Button
|
||||
id: buttonWhitelistAdd
|
||||
!text: tr('Add')
|
||||
@@ -140,7 +140,7 @@ MainWindow
|
||||
margin-left: 5
|
||||
anchors.top: prev.top
|
||||
anchors.left: prev.right
|
||||
|
||||
|
||||
Button
|
||||
id: buttonWhitelistRemove
|
||||
!text: tr('Remove')
|
||||
@@ -149,7 +149,7 @@ MainWindow
|
||||
margin-left: 5
|
||||
anchors.top: prev.top
|
||||
anchors.left: prev.right
|
||||
|
||||
|
||||
Label
|
||||
!text: tr('Global whitelist settings')
|
||||
anchors.left: whiteList.left
|
||||
@@ -163,17 +163,17 @@ MainWindow
|
||||
anchors.top: prev.bottom
|
||||
width: 180
|
||||
margin-top: 5
|
||||
|
||||
|
||||
Panel
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
height: 30
|
||||
|
||||
|
||||
Panel
|
||||
size: 160 30
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
|
||||
|
||||
Button
|
||||
id: buttonSave
|
||||
!text: tr('Save')
|
||||
@@ -196,7 +196,7 @@ MainWindow
|
||||
anchors.right: ignoreList.right
|
||||
step: 14
|
||||
pixels-scroll: true
|
||||
|
||||
|
||||
VerticalScrollBar
|
||||
id: whiteListScrollBar
|
||||
anchors.top: whiteList.top
|
||||
|
||||
@@ -175,7 +175,7 @@ end
|
||||
|
||||
function disableChat()
|
||||
local gameInterface = modules.game_interface
|
||||
|
||||
|
||||
consoleTextEdit:setVisible(false)
|
||||
consoleTextEdit:setText("")
|
||||
|
||||
@@ -220,11 +220,11 @@ function terminate()
|
||||
g_keyboard.unbindKeyDown('Ctrl+H')
|
||||
|
||||
saveCommunicationSettings()
|
||||
|
||||
|
||||
if channelsWindow then
|
||||
channelsWindow:destroy()
|
||||
end
|
||||
|
||||
|
||||
if communicationWindow then
|
||||
communicationWindow:destroy()
|
||||
end
|
||||
@@ -232,7 +232,7 @@ function terminate()
|
||||
if violationWindow then
|
||||
violationWindow:destroy()
|
||||
end
|
||||
|
||||
|
||||
consolePanel:destroy()
|
||||
ownPrivateName = nil
|
||||
|
||||
@@ -363,7 +363,7 @@ function addTab(name, focus)
|
||||
end
|
||||
|
||||
function removeTab(tab)
|
||||
if type(tab) == 'string' then
|
||||
if type(tab) == 'string' then
|
||||
tab = consoleTabBar:getTab(tab)
|
||||
end
|
||||
|
||||
@@ -824,7 +824,7 @@ function onTalk(name, level, mode, message, channelId, creaturePos)
|
||||
end
|
||||
|
||||
if ignoreNpcMessages and mode == MessageModes.NpcFrom then return end
|
||||
|
||||
|
||||
speaktype = SpeakTypes[mode]
|
||||
|
||||
if not speaktype then
|
||||
@@ -833,10 +833,10 @@ function onTalk(name, level, mode, message, channelId, creaturePos)
|
||||
end
|
||||
|
||||
local localPlayer = g_game.getLocalPlayer()
|
||||
if name ~= g_game.getCharacterName()
|
||||
and isUsingIgnoreList()
|
||||
if name ~= g_game.getCharacterName()
|
||||
and isUsingIgnoreList()
|
||||
and not(isUsingWhiteList()) or (isUsingWhiteList() and not(isWhitelisted(name)) and not(isAllowingVIPs() and localPlayer:hasVip(name))) then
|
||||
|
||||
|
||||
if mode == MessageModes.Yell and isIgnoringYelling() then
|
||||
return
|
||||
elseif speaktype.private and isIgnoringPrivate() and mode ~= MessageModes.NpcFrom then
|
||||
@@ -1042,16 +1042,16 @@ end
|
||||
function saveCommunicationSettings()
|
||||
local tmpIgnoreList = {}
|
||||
local ignoredPlayers = getIgnoredPlayers()
|
||||
for i = 1, #ignoredPlayers do
|
||||
for i = 1, #ignoredPlayers do
|
||||
table.insert(tmpIgnoreList, ignoredPlayers[i])
|
||||
end
|
||||
|
||||
local tmpWhiteList = {}
|
||||
local whitelistedPlayers = getWhitelistedPlayers()
|
||||
for i = 1, #whitelistedPlayers do
|
||||
for i = 1, #whitelistedPlayers do
|
||||
table.insert(tmpWhiteList, whitelistedPlayers[i])
|
||||
end
|
||||
|
||||
|
||||
g_settings.set('UseIgnoreList', communicationSettings.useIgnoreList)
|
||||
g_settings.set('UseWhiteList', communicationSettings.useWhiteList)
|
||||
g_settings.set('IgnorePrivateMessages', communicationSettings.privateMessages)
|
||||
@@ -1119,7 +1119,7 @@ function onClickIgnoreButton()
|
||||
local ignoreListPanel = communicationWindow:getChildById('ignoreList')
|
||||
local whiteListPanel = communicationWindow:getChildById('whiteList')
|
||||
communicationWindow.onDestroy = function() communicationWindow = nil end
|
||||
|
||||
|
||||
local useIgnoreListBox = communicationWindow:getChildById('checkboxUseIgnoreList')
|
||||
useIgnoreListBox:setChecked(communicationSettings.useIgnoreList)
|
||||
local useWhiteListBox = communicationWindow:getChildById('checkboxUseWhiteList')
|
||||
@@ -1128,8 +1128,8 @@ function onClickIgnoreButton()
|
||||
local removeIgnoreButton = communicationWindow:getChildById('buttonIgnoreRemove')
|
||||
removeIgnoreButton:disable()
|
||||
ignoreListPanel.onChildFocusChange = function() removeIgnoreButton:enable() end
|
||||
removeIgnoreButton.onClick = function()
|
||||
local selection = ignoreListPanel:getFocusedChild()
|
||||
removeIgnoreButton.onClick = function()
|
||||
local selection = ignoreListPanel:getFocusedChild()
|
||||
if selection then
|
||||
ignoreListPanel:removeChild(selection)
|
||||
selection:destroy()
|
||||
@@ -1140,19 +1140,19 @@ function onClickIgnoreButton()
|
||||
local removeWhitelistButton = communicationWindow:getChildById('buttonWhitelistRemove')
|
||||
removeWhitelistButton:disable()
|
||||
whiteListPanel.onChildFocusChange = function() removeWhitelistButton:enable() end
|
||||
removeWhitelistButton.onClick = function()
|
||||
local selection = whiteListPanel:getFocusedChild()
|
||||
removeWhitelistButton.onClick = function()
|
||||
local selection = whiteListPanel:getFocusedChild()
|
||||
if selection then
|
||||
whiteListPanel:removeChild(selection)
|
||||
selection:destroy()
|
||||
end
|
||||
removeWhitelistButton:disable()
|
||||
end
|
||||
|
||||
|
||||
local newlyIgnoredPlayers = {}
|
||||
local addIgnoreName = communicationWindow:getChildById('ignoreNameEdit')
|
||||
local addIgnoreButton = communicationWindow:getChildById('buttonIgnoreAdd')
|
||||
local addIgnoreFunction = function()
|
||||
local addIgnoreFunction = function()
|
||||
local newEntry = addIgnoreName:getText()
|
||||
if newEntry == '' then return end
|
||||
if table.find(getIgnoredPlayers(), newEntry) then return end
|
||||
@@ -1186,14 +1186,14 @@ function onClickIgnoreButton()
|
||||
addIgnoreFunction()
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local ignorePrivateMessageBox = communicationWindow:getChildById('checkboxIgnorePrivateMessages')
|
||||
ignorePrivateMessageBox:setChecked(communicationSettings.privateMessages)
|
||||
local ignoreYellingBox = communicationWindow:getChildById('checkboxIgnoreYelling')
|
||||
ignoreYellingBox:setChecked(communicationSettings.yelling)
|
||||
local allowVIPsBox = communicationWindow:getChildById('checkboxAllowVIPs')
|
||||
allowVIPsBox:setChecked(communicationSettings.allowVIPs)
|
||||
|
||||
|
||||
local saveButton = communicationWindow:recursiveGetChildById('buttonSave')
|
||||
saveButton.onClick = function()
|
||||
communicationSettings.ignoredPlayers = {}
|
||||
@@ -1205,7 +1205,7 @@ function onClickIgnoreButton()
|
||||
for i = 1, whiteListPanel:getChildCount() do
|
||||
addWhitelistedPlayer(whiteListPanel:getChildByIndex(i):getText())
|
||||
end
|
||||
|
||||
|
||||
communicationSettings.useIgnoreList = useIgnoreListBox:isChecked()
|
||||
communicationSettings.useWhiteList = useWhiteListBox:isChecked()
|
||||
communicationSettings.yelling = ignoreYellingBox:isChecked()
|
||||
@@ -1213,18 +1213,18 @@ function onClickIgnoreButton()
|
||||
communicationSettings.allowVIPs = allowVIPsBox:isChecked()
|
||||
communicationWindow:destroy()
|
||||
end
|
||||
|
||||
|
||||
local cancelButton = communicationWindow:recursiveGetChildById('buttonCancel')
|
||||
cancelButton.onClick = function()
|
||||
communicationWindow:destroy()
|
||||
end
|
||||
|
||||
|
||||
local ignoredPlayers = getIgnoredPlayers()
|
||||
for i = 1, #ignoredPlayers do
|
||||
local label = g_ui.createWidget('IgnoreListLabel', ignoreListPanel)
|
||||
label:setText(ignoredPlayers[i])
|
||||
end
|
||||
|
||||
|
||||
local whitelistedPlayers = getWhitelistedPlayers()
|
||||
for i = 1, #whitelistedPlayers do
|
||||
local label = g_ui.createWidget('WhiteListLabel', whiteListPanel)
|
||||
|
||||
@@ -133,7 +133,7 @@ Panel
|
||||
margin-right: 5
|
||||
margin-top: 6
|
||||
@onClick: onClickIgnoreButton()
|
||||
|
||||
|
||||
Panel
|
||||
id: consoleContentPanel
|
||||
anchors.top: prev.bottom
|
||||
|
||||
@@ -20,8 +20,8 @@ function init()
|
||||
|
||||
cooldownWindow = g_ui.loadUI('cooldown', modules.game_interface.getRightPanel())
|
||||
cooldownWindow:disableResize()
|
||||
cooldownWindow:setup()
|
||||
|
||||
cooldownWindow:setup()
|
||||
|
||||
contentsPanel = cooldownWindow:getChildById('contentsPanel')
|
||||
cooldownPanel = contentsPanel:getChildById('cooldownPanel')
|
||||
|
||||
@@ -47,10 +47,10 @@ end
|
||||
function loadIcon(iconId)
|
||||
local spell, profile, spellName = Spells.getSpellByIcon(iconId)
|
||||
if not spellName then return end
|
||||
|
||||
|
||||
clientIconId = Spells.getClientId(spellName)
|
||||
if not clientIconId then return end
|
||||
|
||||
|
||||
local icon = cooldownPanel:getChildById(iconId)
|
||||
if not icon then
|
||||
icon = g_ui.createWidget('SpellIcon')
|
||||
@@ -109,7 +109,7 @@ function turnOffCooldown(progressRect)
|
||||
progressRect.icon:setOn(false)
|
||||
progressRect.icon = nil
|
||||
end
|
||||
|
||||
|
||||
-- create particles
|
||||
--[[local particle = g_ui.createWidget('GroupCooldownParticles', progressRect)
|
||||
particle:fill('parent')
|
||||
@@ -130,7 +130,7 @@ end
|
||||
|
||||
function updateCooldown(progressRect, duration)
|
||||
progressRect:setPercent(progressRect:getPercent() + 10000/duration)
|
||||
|
||||
|
||||
if progressRect:getPercent() < 100 then
|
||||
removeEvent(progressRect.event)
|
||||
progressRect.event = scheduleEvent(function() progressRect.callback[ProgressCallback.update]() end, 100)
|
||||
|
||||
@@ -6,7 +6,7 @@ SpellGroupIcon < UIWidget
|
||||
margin-top: 3
|
||||
|
||||
SpellIcon < UIWidget
|
||||
size: 24 24
|
||||
size: 24 24
|
||||
image-size: 24 24
|
||||
focusable: false
|
||||
|
||||
@@ -20,7 +20,7 @@ SpellProgressRect < UIProgressRect
|
||||
|
||||
GroupCooldownParticles < UIParticles
|
||||
effect: groupcooldown-effect
|
||||
|
||||
|
||||
MiniWindow
|
||||
id: cooldownWindow
|
||||
!text: tr('Spell Cooldowns')
|
||||
@@ -28,7 +28,7 @@ MiniWindow
|
||||
icon: /images/topbuttons/cooldowns
|
||||
@onClose: modules.game_cooldown.onMiniWindowClose()
|
||||
&save: true
|
||||
|
||||
|
||||
MiniWindowContents
|
||||
SpellGroupIcon
|
||||
id: groupIconAttack
|
||||
@@ -97,4 +97,4 @@ MiniWindow
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
background-color: #ffffff11
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ ManaBar < ProgressBar
|
||||
anchors.right: parent.right
|
||||
margin: 1
|
||||
margin-top: 3
|
||||
|
||||
|
||||
ExperienceBar < ProgressBar
|
||||
id: experienceBar
|
||||
background-color: #B6E866
|
||||
|
||||
@@ -72,7 +72,7 @@ function init()
|
||||
g_keyboard.bindKeyPress('Down', function() currentHotkeys:focusNextChild(KeyboardFocusReason) end, hotkeysWindow)
|
||||
g_keyboard.bindKeyPress('Up', function() currentHotkeys:focusPreviousChild(KeyboardFocusReason) end, hotkeysWindow)
|
||||
|
||||
connect(g_game, {
|
||||
connect(g_game, {
|
||||
onGameStart = online,
|
||||
onGameEnd = offline
|
||||
})
|
||||
@@ -386,7 +386,7 @@ function doKeyCombo(keyCombo)
|
||||
local item = g_game.findPlayerItem(hotKey.itemId, hotKey.subType or -1)
|
||||
if item then
|
||||
g_game.use(item)
|
||||
end
|
||||
end
|
||||
else
|
||||
g_game.useInventoryItem(hotKey.itemId)
|
||||
end
|
||||
@@ -395,7 +395,7 @@ function doKeyCombo(keyCombo)
|
||||
local item = g_game.findPlayerItem(hotKey.itemId, hotKey.subType or -1)
|
||||
if item then
|
||||
g_game.useWith(item, g_game.getLocalPlayer())
|
||||
end
|
||||
end
|
||||
else
|
||||
g_game.useInventoryItemWith(hotKey.itemId, g_game.getLocalPlayer())
|
||||
end
|
||||
@@ -418,7 +418,7 @@ function doKeyCombo(keyCombo)
|
||||
local item = g_game.findPlayerItem(hotKey.itemId, hotKey.subType or -1)
|
||||
if item then
|
||||
g_game.useWith(item, attackingCreature)
|
||||
end
|
||||
end
|
||||
else
|
||||
g_game.useInventoryItemWith(hotKey.itemId, attackingCreature)
|
||||
end
|
||||
@@ -426,7 +426,7 @@ function doKeyCombo(keyCombo)
|
||||
local item = Item.create(hotKey.itemId)
|
||||
if g_game.getProtocolVersion() < 780 or hotKey.subType then
|
||||
local tmpItem = g_game.findPlayerItem(hotKey.itemId, hotKey.subType or -1)
|
||||
if not tmpItem then return true end
|
||||
if not tmpItem then return true end
|
||||
item = tmpItem
|
||||
end
|
||||
modules.game_interface.startUseWith(item)
|
||||
|
||||
@@ -42,7 +42,7 @@ function init()
|
||||
gameBottomPanel = gameRootPanel:getChildById('gameBottomPanel')
|
||||
connect(gameLeftPanel, { onVisibilityChange = onLeftPanelVisibilityChange })
|
||||
|
||||
logoutButton = modules.client_topmenu.addLeftButton('logoutButton', tr('Exit'),
|
||||
logoutButton = modules.client_topmenu.addLeftButton('logoutButton', tr('Exit'),
|
||||
'/images/topbuttons/logout', tryLogout, true)
|
||||
|
||||
setupViewMode(0)
|
||||
@@ -158,7 +158,7 @@ end
|
||||
function hide()
|
||||
disconnect(g_app, { onClose = tryExit })
|
||||
logoutButton:setTooltip(tr('Exit'))
|
||||
|
||||
|
||||
if logoutWindow then
|
||||
logoutWindow:destroy()
|
||||
logoutWindow = nil
|
||||
@@ -235,7 +235,7 @@ function tryLogout(prompt)
|
||||
if not g_game.isConnectionOk() then
|
||||
msg = 'Your connection is failing, if you logout now your character will be still online, do you want to force logout?'
|
||||
|
||||
yesCallback = function()
|
||||
yesCallback = function()
|
||||
g_game.forceLogout()
|
||||
if logoutWindow then
|
||||
logoutWindow:destroy()
|
||||
@@ -486,7 +486,7 @@ function createThingMenu(menuPosition, lookThing, useThing, creatureThing)
|
||||
else
|
||||
menu:addOption(tr('Stop Attack'), function() g_game.cancelAttack() end, shortcut)
|
||||
end
|
||||
|
||||
|
||||
if g_game.getFollowingCreature() ~= creatureThing then
|
||||
menu:addOption(tr('Follow'), function() g_game.follow(creatureThing) end)
|
||||
else
|
||||
|
||||
@@ -60,9 +60,9 @@ function UIGameMap:onMouseRelease(mousePosition, mouseButton)
|
||||
if not self.allowNextRelease then
|
||||
return true
|
||||
end
|
||||
|
||||
|
||||
local autoWalkPos = self:getPosition(mousePosition)
|
||||
|
||||
|
||||
-- happens when clicking outside of map boundaries
|
||||
if not autoWalkPos then return false end
|
||||
|
||||
@@ -73,7 +73,7 @@ function UIGameMap:onMouseRelease(mousePosition, mouseButton)
|
||||
autoWalkPos.y = autoWalkPos.y + dz
|
||||
autoWalkPos.z = localPlayerPos.z
|
||||
end
|
||||
|
||||
|
||||
local lookThing
|
||||
local useThing
|
||||
local creatureThing
|
||||
@@ -85,8 +85,8 @@ function UIGameMap:onMouseRelease(mousePosition, mouseButton)
|
||||
lookThing = tile:getTopLookThing()
|
||||
useThing = tile:getTopUseThing()
|
||||
creatureThing = tile:getTopCreature()
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
local autoWalkTile = g_map.getTile(autoWalkPos)
|
||||
if autoWalkTile then
|
||||
attackCreature = autoWalkTile:getTopCreature()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--[[
|
||||
Finalizing Market:
|
||||
Note: Feel free to work on any area and submit
|
||||
Note: Feel free to work on any area and submit
|
||||
it as a pull request from your git fork.
|
||||
|
||||
BeniS's Skype: benjiz69
|
||||
@@ -11,7 +11,7 @@
|
||||
- Offer History
|
||||
|
||||
* Clean up the interface building
|
||||
- Add a new market interface file to handle building?
|
||||
- Add a new market interface file to handle building?
|
||||
|
||||
* Add offer table column ordering.
|
||||
- Player Name, Amount, Total Price, Peice Price and Ends At
|
||||
@@ -251,7 +251,7 @@ local function updateOffers(offers)
|
||||
-- clear existing offer data
|
||||
buyOfferTable:clearData()
|
||||
sellOfferTable:clearData()
|
||||
|
||||
|
||||
sellButton:setEnabled(false)
|
||||
buyButton:setEnabled(false)
|
||||
|
||||
@@ -431,7 +431,7 @@ local function openAmountWindow(callback, type, actionText)
|
||||
widget:setText(tostring(value*selectedOffer[type]:getPrice())..'gp')
|
||||
itembox:setText(tostring(value))
|
||||
end
|
||||
|
||||
|
||||
local okButton = amountWindow:getChildById('buttonOk')
|
||||
if actionText ~= '' then
|
||||
okButton:setText(actionText)
|
||||
@@ -814,7 +814,7 @@ function Market.enableCreateOffer(enable)
|
||||
|
||||
local prevAmountButton = marketOffersPanel:recursiveGetChildById('prevAmountButton')
|
||||
local nextAmountButton = marketOffersPanel:recursiveGetChildById('nextAmountButton')
|
||||
|
||||
|
||||
prevAmountButton:setEnabled(enable)
|
||||
nextAmountButton:setEnabled(enable)
|
||||
end
|
||||
@@ -1076,7 +1076,7 @@ function Market.onMarketEnter(depotItems, offers, balance, vocation)
|
||||
|
||||
Market.clearSelectedItem()
|
||||
updateBalance(balance)
|
||||
|
||||
|
||||
information.totalOffers = offers
|
||||
local player = g_game.getLocalPlayer()
|
||||
if player then
|
||||
@@ -1101,7 +1101,7 @@ function Market.onMarketEnter(depotItems, offers, balance, vocation)
|
||||
else
|
||||
Market.refreshItemsWidget()
|
||||
end
|
||||
|
||||
|
||||
if table.empty(currentItems) then
|
||||
Market.loadMarketItems(MarketCategory.First)
|
||||
end
|
||||
|
||||
@@ -8,7 +8,7 @@ FlagButton < CheckBox
|
||||
icon-size: 11 11
|
||||
icon-clip: 0 0 11 11
|
||||
icon-offset: 2 4
|
||||
text:
|
||||
text:
|
||||
|
||||
$!checked:
|
||||
image-clip: 26 0 26 26
|
||||
@@ -54,7 +54,7 @@ FlagWindow < MainWindow
|
||||
anchors.left: parent.left
|
||||
anchors.top: prev.bottom
|
||||
margin-top: 6
|
||||
margin-left: 0
|
||||
margin-left: 0
|
||||
|
||||
FlagButton
|
||||
id: flag2
|
||||
@@ -116,7 +116,7 @@ FlagWindow < MainWindow
|
||||
anchors.left: parent.left
|
||||
anchors.top: prev.bottom
|
||||
margin-top: 6
|
||||
margin-left: 0
|
||||
margin-left: 0
|
||||
|
||||
FlagButton
|
||||
id: flag12
|
||||
|
||||
@@ -31,15 +31,15 @@ function onModalDialog(id, title, message, buttons, enterButton, escapeButton, c
|
||||
end
|
||||
|
||||
modalDialog = g_ui.createWidget('ModalDialog', rootWidget)
|
||||
|
||||
|
||||
local messageLabel = modalDialog:getChildById('messageLabel')
|
||||
local choiceList = modalDialog:getChildById('choiceList')
|
||||
local choiceScrollbar = modalDialog:getChildById('choiceScrollBar')
|
||||
local buttonList = modalDialog:getChildById('buttonList')
|
||||
|
||||
|
||||
modalDialog:setText(title)
|
||||
messageLabel:setText(message)
|
||||
|
||||
|
||||
local horizontalPadding = modalDialog:getPaddingLeft() + modalDialog:getPaddingRight()
|
||||
modalDialog:setWidth(math.min(modalDialog.maximumWidth, math.max(messageLabel:getWidth(), modalDialog.minimumWidth)))
|
||||
messageLabel:setWidth(math.min(modalDialog.maximumWidth, math.max(messageLabel:getWidth(), modalDialog.minimumWidth)) - horizontalPadding)
|
||||
@@ -48,7 +48,7 @@ function onModalDialog(id, title, message, buttons, enterButton, escapeButton, c
|
||||
for i = 1, #choices do
|
||||
local choiceId = choices[i][1]
|
||||
local choiceName = choices[i][2]
|
||||
|
||||
|
||||
local label = g_ui.createWidget('ChoiceListLabel', choiceList)
|
||||
label.choiceId = choiceId
|
||||
label:setText(choiceName)
|
||||
@@ -99,7 +99,7 @@ function onModalDialog(id, title, message, buttons, enterButton, escapeButton, c
|
||||
g_game.answerModalDialog(id, enterButton, choice)
|
||||
destroyDialog()
|
||||
end
|
||||
|
||||
|
||||
local escapeFunc = function()
|
||||
local focusedChoice = choiceList:getFocusedChild()
|
||||
local choice = 0xFF
|
||||
@@ -111,7 +111,7 @@ function onModalDialog(id, title, message, buttons, enterButton, escapeButton, c
|
||||
end
|
||||
|
||||
choiceList.onDoubleClick = enterFunc
|
||||
|
||||
|
||||
modalDialog.onEnter = enterFunc
|
||||
modalDialog.onEscape = escapeFunc
|
||||
end
|
||||
@@ -180,7 +180,7 @@ function itemPopup(self, mousePosition, mouseButton)
|
||||
menu:addOption(tr('Look'), function() return g_game.inspectNpcTrade(self:getItem()) end)
|
||||
menu:display(mousePosition)
|
||||
return true
|
||||
elseif ((g_mouse.isPressed(MouseLeftButton) and mouseButton == MouseRightButton)
|
||||
elseif ((g_mouse.isPressed(MouseLeftButton) and mouseButton == MouseRightButton)
|
||||
or (g_mouse.isPressed(MouseRightButton) and mouseButton == MouseLeftButton)) then
|
||||
cancelNextRelease = true
|
||||
g_game.inspectNpcTrade(self:getItem())
|
||||
@@ -438,7 +438,7 @@ function onPlayerGoods(money, items)
|
||||
playerItems[id] = playerItems[id] + item[2]
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
refreshPlayerGoods()
|
||||
end
|
||||
|
||||
@@ -480,7 +480,7 @@ end
|
||||
function checkSellAllTooltip()
|
||||
sellAllButton:setEnabled(true)
|
||||
sellAllButton:removeTooltip()
|
||||
|
||||
|
||||
local total = 0
|
||||
local info = ''
|
||||
local first = true
|
||||
|
||||
@@ -50,7 +50,7 @@ function create(creatureOutfit, outfitList, creatureMount, mountList)
|
||||
if outfitWindow and not outfitWindow:isHidden() then
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
outfitCreature = creatureOutfit
|
||||
mountCreature = creatureMount
|
||||
outfits = outfitList
|
||||
|
||||
@@ -233,7 +233,7 @@ end
|
||||
function checkExpSpeed()
|
||||
local player = g_game.getLocalPlayer()
|
||||
if not player then return end
|
||||
|
||||
|
||||
local currentExp = player:getExperience()
|
||||
local currentTime = g_clock.seconds()
|
||||
if player.lastExps ~= nil then
|
||||
|
||||
@@ -53,8 +53,8 @@ FILTER_GROUP_SUPPORT = 3
|
||||
local filters = {
|
||||
level = false,
|
||||
vocation = false,
|
||||
|
||||
vocationId = FILTER_VOCATION_ANY,
|
||||
|
||||
vocationId = FILTER_VOCATION_ANY,
|
||||
premium = FILTER_PREMIUM_ANY,
|
||||
groupId = FILTER_GROUP_ANY
|
||||
}
|
||||
@@ -65,7 +65,7 @@ end
|
||||
|
||||
function setSpelllistProfile(name)
|
||||
if SpelllistProfile == name then return end
|
||||
|
||||
|
||||
if SpelllistSettings[name] and SpellInfo[name] then
|
||||
local oldProfile = SpelllistProfile
|
||||
SpelllistProfile = name
|
||||
@@ -95,13 +95,13 @@ end
|
||||
function init()
|
||||
connect(g_game, { onGameStart = online,
|
||||
onGameEnd = offline })
|
||||
|
||||
|
||||
spelllistWindow = g_ui.displayUI('spelllist', modules.game_interface.getRightPanel())
|
||||
spelllistWindow:hide()
|
||||
|
||||
|
||||
spelllistButton = modules.client_topmenu.addRightGameToggleButton('spelllistButton', tr('Spell List'), '/images/topbuttons/spelllist', toggle)
|
||||
spelllistButton:setOn(false)
|
||||
|
||||
|
||||
nameValueLabel = spelllistWindow:getChildById('labelNameValue')
|
||||
formulaValueLabel = spelllistWindow:getChildById('labelFormulaValue')
|
||||
vocationValueLabel = spelllistWindow:getChildById('labelVocationValue')
|
||||
@@ -112,18 +112,18 @@ function init()
|
||||
manaValueLabel = spelllistWindow:getChildById('labelManaValue')
|
||||
premiumValueLabel = spelllistWindow:getChildById('labelPremiumValue')
|
||||
descriptionValueLabel = spelllistWindow:getChildById('labelDescriptionValue')
|
||||
|
||||
|
||||
vocationBoxAny = spelllistWindow:getChildById('vocationBoxAny')
|
||||
vocationBoxSorcerer = spelllistWindow:getChildById('vocationBoxSorcerer')
|
||||
vocationBoxDruid = spelllistWindow:getChildById('vocationBoxDruid')
|
||||
vocationBoxPaladin = spelllistWindow:getChildById('vocationBoxPaladin')
|
||||
vocationBoxKnight = spelllistWindow:getChildById('vocationBoxKnight')
|
||||
|
||||
|
||||
groupBoxAny = spelllistWindow:getChildById('groupBoxAny')
|
||||
groupBoxAttack = spelllistWindow:getChildById('groupBoxAttack')
|
||||
groupBoxHealing = spelllistWindow:getChildById('groupBoxHealing')
|
||||
groupBoxSupport = spelllistWindow:getChildById('groupBoxSupport')
|
||||
|
||||
|
||||
premiumBoxAny = spelllistWindow:getChildById('premiumBoxAny')
|
||||
premiumBoxYes = spelllistWindow:getChildById('premiumBoxYes')
|
||||
premiumBoxNo = spelllistWindow:getChildById('premiumBoxNo')
|
||||
@@ -134,32 +134,32 @@ function init()
|
||||
vocationRadioGroup:addWidget(vocationBoxDruid)
|
||||
vocationRadioGroup:addWidget(vocationBoxPaladin)
|
||||
vocationRadioGroup:addWidget(vocationBoxKnight)
|
||||
|
||||
|
||||
groupRadioGroup = UIRadioGroup.create()
|
||||
groupRadioGroup:addWidget(groupBoxAny)
|
||||
groupRadioGroup:addWidget(groupBoxAttack)
|
||||
groupRadioGroup:addWidget(groupBoxHealing)
|
||||
groupRadioGroup:addWidget(groupBoxSupport)
|
||||
|
||||
|
||||
premiumRadioGroup = UIRadioGroup.create()
|
||||
premiumRadioGroup:addWidget(premiumBoxAny)
|
||||
premiumRadioGroup:addWidget(premiumBoxYes)
|
||||
premiumRadioGroup:addWidget(premiumBoxNo)
|
||||
|
||||
|
||||
premiumRadioGroup:selectWidget(premiumBoxAny)
|
||||
vocationRadioGroup:selectWidget(vocationBoxAny)
|
||||
groupRadioGroup:selectWidget(groupBoxAny)
|
||||
|
||||
|
||||
vocationRadioGroup.onSelectionChange = toggleFilter
|
||||
groupRadioGroup.onSelectionChange = toggleFilter
|
||||
premiumRadioGroup.onSelectionChange = toggleFilter
|
||||
|
||||
spellList = spelllistWindow:getChildById('spellList')
|
||||
|
||||
spellList = spelllistWindow:getChildById('spellList')
|
||||
|
||||
g_keyboard.bindKeyPress('Down', function() spellList:focusNextChild(KeyboardFocusReason) end, spelllistWindow)
|
||||
g_keyboard.bindKeyPress('Up', function() spellList:focusPreviousChild(KeyboardFocusReason) end, spelllistWindow)
|
||||
|
||||
initialiseSpelllist()
|
||||
|
||||
initialiseSpelllist()
|
||||
resizeWindow()
|
||||
|
||||
if g_game.isOnline() then
|
||||
@@ -174,11 +174,11 @@ function terminate()
|
||||
disconnect(spellList, { onChildFocusChange = function(self, focusedChild)
|
||||
if focusedChild == nil then return end
|
||||
updateSpellInformation(focusedChild)
|
||||
end })
|
||||
end })
|
||||
|
||||
spelllistWindow:destroy()
|
||||
spelllistButton:destroy()
|
||||
|
||||
|
||||
vocationRadioGroup:destroy()
|
||||
groupRadioGroup:destroy()
|
||||
premiumRadioGroup:destroy()
|
||||
@@ -188,21 +188,21 @@ function initialiseSpelllist()
|
||||
for i = 1, #SpelllistSettings[SpelllistProfile].spellOrder do
|
||||
local spell = SpelllistSettings[SpelllistProfile].spellOrder[i]
|
||||
local info = SpellInfo[SpelllistProfile][spell]
|
||||
|
||||
|
||||
local tmpLabel = g_ui.createWidget('SpellListLabel', spellList)
|
||||
tmpLabel:setId(spell)
|
||||
tmpLabel:setText(spell .. '\n\'' .. info.words .. '\'')
|
||||
tmpLabel:setPhantom(false)
|
||||
|
||||
|
||||
local iconId = tonumber(info.icon)
|
||||
if not iconId and SpellIcons[info.icon] then
|
||||
iconId = SpellIcons[info.icon][1]
|
||||
end
|
||||
|
||||
if not(iconId) then
|
||||
perror('Spell icon \'' .. info.icon .. '\' not found.')
|
||||
perror('Spell icon \'' .. info.icon .. '\' not found.')
|
||||
end
|
||||
|
||||
|
||||
tmpLabel:setHeight(SpelllistSettings[SpelllistProfile].iconSize.height + 4)
|
||||
tmpLabel:setTextOffset(topoint((SpelllistSettings[SpelllistProfile].iconSize.width + 10) .. ' ' .. (SpelllistSettings[SpelllistProfile].iconSize.height - 32)/2 + 3))
|
||||
tmpLabel:setImageSource(SpelllistSettings[SpelllistProfile].iconFile)
|
||||
@@ -210,11 +210,11 @@ function initialiseSpelllist()
|
||||
tmpLabel:setImageSize(tosize(SpelllistSettings[SpelllistProfile].iconSize.width .. ' ' .. SpelllistSettings[SpelllistProfile].iconSize.height))
|
||||
tmpLabel.onClick = updateSpellInformation
|
||||
end
|
||||
|
||||
|
||||
connect(spellList, { onChildFocusChange = function(self, focusedChild)
|
||||
if focusedChild == nil then return end
|
||||
updateSpellInformation(focusedChild)
|
||||
end })
|
||||
end })
|
||||
end
|
||||
|
||||
function changeSpelllistProfile(oldProfile)
|
||||
@@ -222,10 +222,10 @@ function changeSpelllistProfile(oldProfile)
|
||||
for i = 1, #SpelllistSettings[oldProfile].spellOrder do
|
||||
local spell = SpelllistSettings[oldProfile].spellOrder[i]
|
||||
local tmpLabel = spellList:getChildById(spell)
|
||||
|
||||
|
||||
tmpLabel:destroy()
|
||||
end
|
||||
|
||||
|
||||
-- Create new spelllist and ajust window
|
||||
initialiseSpelllist()
|
||||
setOptions()
|
||||
@@ -238,7 +238,7 @@ function updateSpelllist()
|
||||
local spell = SpelllistSettings[SpelllistProfile].spellOrder[i]
|
||||
local info = SpellInfo[SpelllistProfile][spell]
|
||||
local tmpLabel = spellList:getChildById(spell)
|
||||
|
||||
|
||||
local localPlayer = g_game.getLocalPlayer()
|
||||
if (not(filters.level) or info.level <= localPlayer:getLevel()) and (not(filters.vocation) or table.find(info.vocations, localPlayer:getVocation())) and (filters.vocationId == FILTER_VOCATION_ANY or table.find(info.vocations, filters.vocationId) or table.find(info.vocations, filters.vocationId+4)) and (filters.groupId == FILTER_GROUP_ANY or info.group[filters.groupId]) and (filters.premium == FILTER_PREMIUM_ANY or (info.premium and filters.premium == FILTER_PREMIUM_YES) or (not(info.premium) and filters.premium == FILTER_PREMIUM_NO)) then
|
||||
tmpLabel:setVisible(true)
|
||||
@@ -250,7 +250,7 @@ end
|
||||
|
||||
function updateSpellInformation(widget)
|
||||
local spell = widget:getId()
|
||||
|
||||
|
||||
local name = ''
|
||||
local formula = ''
|
||||
local vocation = ''
|
||||
@@ -261,10 +261,10 @@ function updateSpellInformation(widget)
|
||||
local mana = ''
|
||||
local premium = ''
|
||||
local description = ''
|
||||
|
||||
|
||||
if SpellInfo[SpelllistProfile][spell] then
|
||||
local info = SpellInfo[SpelllistProfile][spell]
|
||||
|
||||
|
||||
name = spell
|
||||
formula = info.words
|
||||
|
||||
@@ -274,7 +274,7 @@ function updateSpellInformation(widget)
|
||||
vocation = vocation .. (vocation:len() == 0 and '' or ', ') .. VocationNames[vocationId]
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
cooldown = (info.exhaustion / 1000) .. 's'
|
||||
for groupId, groupName in ipairs(SpellGroups) do
|
||||
if info.group[groupId] then
|
||||
@@ -282,14 +282,14 @@ function updateSpellInformation(widget)
|
||||
cooldown = cooldown .. ' / ' .. (info.group[groupId] / 1000) .. 's'
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
type = info.type
|
||||
level = info.level
|
||||
mana = info.mana .. ' / ' .. info.soul
|
||||
premium = (info.premium and 'yes' or 'no')
|
||||
description = info.description or '-'
|
||||
end
|
||||
|
||||
|
||||
nameValueLabel:setText(name)
|
||||
formulaValueLabel:setText(formula)
|
||||
vocationValueLabel:setText(vocation)
|
||||
@@ -356,7 +356,7 @@ function toggleFilter(widget, selectedWidget)
|
||||
widget:setOn(filters.vocation)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
updateSpelllist()
|
||||
end
|
||||
|
||||
@@ -372,16 +372,16 @@ function resetWindow()
|
||||
-- Resetting filters
|
||||
filters.level = false
|
||||
filters.vocation = false
|
||||
|
||||
|
||||
local buttonFilterLevel = spelllistWindow:getChildById('buttonFilterLevel')
|
||||
buttonFilterLevel:setOn(filters.level)
|
||||
|
||||
|
||||
local buttonFilterVocation = spelllistWindow:getChildById('buttonFilterVocation')
|
||||
buttonFilterVocation:setOn(filters.vocation)
|
||||
|
||||
|
||||
vocationRadioGroup:selectWidget(vocationBoxAny)
|
||||
groupRadioGroup:selectWidget(groupBoxAny)
|
||||
premiumRadioGroup:selectWidget(premiumBoxAny)
|
||||
|
||||
|
||||
updateSpelllist()
|
||||
end
|
||||
|
||||
@@ -99,7 +99,7 @@ MainWindow
|
||||
IconButton
|
||||
id: icon6
|
||||
icon-clip: 72 0 12 12
|
||||
|
||||
|
||||
IconButton
|
||||
id: icon7
|
||||
icon-clip: 84 0 12 12
|
||||
|
||||
@@ -289,7 +289,7 @@ function onAddVip(id, name, state, description, iconId, notify)
|
||||
|
||||
local nameLower = name:lower()
|
||||
local childrenCount = vipList:getChildCount()
|
||||
|
||||
|
||||
for i=1,childrenCount do
|
||||
local child = vipList:getChildByIndex(i)
|
||||
if (state == VipState.Online and child.vipState ~= VipState.Online and getSortedBy() == 'status')
|
||||
@@ -300,7 +300,7 @@ function onAddVip(id, name, state, description, iconId, notify)
|
||||
|
||||
if (((state ~= VipState.Online and child.vipState ~= VipState.Online) or (state == VipState.Online and child.vipState == VipState.Online)) and getSortedBy() == 'status')
|
||||
or (label.iconId == child.iconId and getSortedBy() == 'type') or getSortedBy() == 'name' then
|
||||
|
||||
|
||||
local childText = child:getText():lower()
|
||||
local length = math.min(childText:len(), nameLower:len())
|
||||
|
||||
@@ -351,11 +351,11 @@ function onVipListMousePress(widget, mousePos, mouseButton)
|
||||
else
|
||||
menu:addOption(tr('Show Offline'), function() hideOffline(false) end)
|
||||
end
|
||||
|
||||
|
||||
if not(getSortedBy() == 'name') then
|
||||
menu:addOption(tr('Sort by name'), function() sortBy('name') end)
|
||||
end
|
||||
|
||||
|
||||
if not(getSortedBy() == 'status') then
|
||||
menu:addOption(tr('Sort by status'), function() sortBy('status') end)
|
||||
end
|
||||
@@ -380,7 +380,7 @@ function onVipListLabelMousePress(widget, mousePos, mouseButton)
|
||||
menu:addOption(tr('Edit %s', widget:getText()), function() if widget then createEditWindow(widget) end end)
|
||||
menu:addOption(tr('Remove %s', widget:getText()), function() if widget then removeVip(widget) end end)
|
||||
menu:addSeparator()
|
||||
menu:addOption(tr('Copy Name'), function() g_window.setClipboardText(widget:getText()) end)
|
||||
menu:addOption(tr('Copy Name'), function() g_window.setClipboardText(widget:getText()) end)
|
||||
|
||||
if modules.game_console.getOwnPrivateTab() then
|
||||
menu:addSeparator()
|
||||
@@ -393,15 +393,15 @@ function onVipListLabelMousePress(widget, mousePos, mouseButton)
|
||||
else
|
||||
menu:addOption(tr('Show Offline'), function() hideOffline(false) end)
|
||||
end
|
||||
|
||||
|
||||
if not(getSortedBy() == 'name') then
|
||||
menu:addOption(tr('Sort by name'), function() sortBy('name') end)
|
||||
end
|
||||
|
||||
|
||||
if not(getSortedBy() == 'status') then
|
||||
menu:addOption(tr('Sort by status'), function() sortBy('status') end)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
menu:display(mousePos)
|
||||
|
||||
return true
|
||||
|
||||
@@ -14,7 +14,7 @@ function g_game.findPlayerItem(itemId, subType)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
return g_game.findItemInContainers(itemId, subType)
|
||||
end
|
||||
|
||||
|
||||
@@ -19,5 +19,5 @@ Module
|
||||
dofile 'market'
|
||||
dofile 'thing'
|
||||
dofile 'spells'
|
||||
|
||||
|
||||
dofiles 'ui'
|
||||
|
||||
@@ -154,7 +154,7 @@ function Player:hasState(_state, states)
|
||||
for i = 1, 32 do
|
||||
local pow = math.pow(2, i-1)
|
||||
if pow > states then break end
|
||||
|
||||
|
||||
local states = bit32.band(states, pow)
|
||||
if states == _state then
|
||||
return true
|
||||
|
||||
@@ -57,7 +57,7 @@ function ProtocolLogin:sendLoginPacket()
|
||||
msg:addU32(xteaKey[3])
|
||||
msg:addU32(xteaKey[4])
|
||||
end
|
||||
|
||||
|
||||
if g_game.getFeature(GameAccountNames) then
|
||||
msg:addString(self.accountName)
|
||||
else
|
||||
@@ -77,7 +77,7 @@ function ProtocolLogin:sendLoginPacket()
|
||||
if g_game.getProtocolVersion() >= 770 then
|
||||
msg:encryptRsa()
|
||||
end
|
||||
|
||||
|
||||
if g_game.getFeature(GameProtocolChecksum) then
|
||||
self:enableChecksum()
|
||||
end
|
||||
@@ -137,7 +137,7 @@ function ProtocolLogin:parseCharacterList(msg)
|
||||
local worldsCount = msg:getU8()
|
||||
for i=1, worldsCount do
|
||||
local world = {}
|
||||
local worldId = msg:getU8()
|
||||
local worldId = msg:getU8()
|
||||
world.worldName = msg:getString()
|
||||
world.worldIp = msg:getString()
|
||||
world.worldPort = msg:getU16()
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
SpelllistSettings = {
|
||||
['Default'] = {
|
||||
['Default'] = {
|
||||
iconFile = '/images/game/spells/defaultspells',
|
||||
iconSize = {width = 32, height = 32},
|
||||
spellListWidth = 210,
|
||||
spellWindowWidth = 550,
|
||||
spellOrder = {'Animate Dead', 'Annihilation', 'Avalanche', 'Berserk', 'Blood Rage', 'Brutal Strike', 'Cancel Invisibility', 'Challenge', 'Chameleon', 'Charge', 'Conjure Arrow', 'Conjure Bolt', 'Conjure Explosive Arrow', 'Conjure Piercing Bolt', 'Conjure Poisoned Arrow', 'Conjure Power Bolt', 'Conjure Sniper Arrow', 'Convince Creature', 'Creature Illusion', 'Cure Bleeding', 'Cure Burning', 'Cure Curse', 'Cure Electrification', 'Cure Poison', 'Cure Poison Rune', 'Curse', 'Death Strike', 'Desintegrate', 'Destroy Field', 'Divine Caldera', 'Divine Healing', 'Divine Missile', 'Electrify', 'Enchant Party', 'Enchant Spear', 'Enchant Staff', 'Energy Beam', 'Energy Field', 'Energy Strike', 'Energy Wall', 'Energy Wave', 'Energybomb', 'Envenom', 'Eternal Winter', 'Ethereal Spear', 'Explosion', 'Fierce Berserk', 'Find Person', 'Fire Field', 'Fire Wall', 'Fire Wave', 'Fireball', 'Firebomb', 'Flame Strike', 'Food', 'Front Sweep', 'Great Energy Beam', 'Great Fireball', 'Great Light', 'Groundshaker', 'Haste', 'Heal Friend', 'Heal Party', 'Heavy Magic Missile', 'Hells Core', 'Holy Flash', 'Holy Missile', 'Ice Strike', 'Ice Wave', 'Icicle', 'Ignite', 'Inflict Wound', 'Intense Healing', 'Intense Healing Rune', 'Intense Recovery', 'Intense Wound Cleansing', 'Invisibility', 'Levitate', 'Light', 'Light Healing', 'Light Magic Missile', 'Lightning', 'Magic Rope', 'Magic Shield', 'Magic Wall', 'Mass Healing', 'Paralyze', 'Physical Strike', 'Poison Bomb', 'Poison Field', 'Poison Wall', 'Protect Party', 'Protector', 'Rage of the Skies', 'Recovery', 'Salvation', 'Sharpshooter', 'Soulfire', 'Stalagmite', 'Stone Shower', 'Strong Energy Strike', 'Strong Ethereal Spear', 'Strong Flame Strike', 'Strong Haste', 'Strong Ice Strike', 'Strong Ice Wave', 'Strong Terra Strike', 'Sudden Death', 'Summon Creature', 'Swift Foot', 'Terra Strike', 'Terra Wave', 'Thunderstorm', 'Train Party', 'Ultimate Energy Strike', 'Ultimate Flame Strike', 'Ultimate Healing', 'Ultimate Healing Rune', 'Ultimate Ice Strike', 'Ultimate Light', 'Ultimate Terra Strike', 'Whirlwind Throw', 'Wild Growth', 'Wound Cleansing', 'Wrath of Nature'}
|
||||
}--[[,
|
||||
|
||||
['Sample'] = {
|
||||
iconFile = '/images/game/spells/sample',
|
||||
|
||||
['Sample'] = {
|
||||
iconFile = '/images/game/spells/sample',
|
||||
iconSize = {width = 64, height = 64},
|
||||
spellOrder = {'Critical Strike', 'Firefly', 'Fire Breath', 'Moonglaives', 'Wind Walk'}
|
||||
}]]
|
||||
@@ -142,7 +142,7 @@ SpellInfo = {
|
||||
['Thunderstorm'] = {id = 117, words = 'adori mas vis', exhaustion = 2000, premium = false, type = 'Conjure', icon = 'thunderstorm', mana = 430, level = 28, soul = 3, group = {[3] = 2000}, vocations = {1, 5}},
|
||||
['Holy Missile'] = {id = 130, words = 'adori san', exhaustion = 2000, premium = false, type = 'Conjure', icon = 'holymissile', mana = 350, level = 27, soul = 3, group = {[3] = 2000}, vocations = {3, 7}}
|
||||
},
|
||||
|
||||
|
||||
['Sample'] = {
|
||||
['Wind Walk'] = {id = 1, words = 'windwalk', description = 'Run at enormous speed.', exhaustion = 2000, premium = false, type = 'Instant', icon = 1, mana = 50, level = 10, soul = 0, group = {[3] = 2000}, vocations = {1, 2}},
|
||||
['Fire Breath'] = {id = 2, words = 'firebreath', description = 'A strong firewave.', exhaustion = 2000, premium = false, type = 'Instant', icon = 2, mana = 350, level = 27, soul = 0, group = {[1] = 2000}, vocations = {4, 8}},
|
||||
@@ -209,89 +209,89 @@ SpellIcons = {
|
||||
['sniperarrow'] = {112, 108},
|
||||
['whirlwindthrow'] = {19, 107},
|
||||
['groundshaker'] = {25, 106},
|
||||
['fierceberserk'] = {22, 105},
|
||||
['fierceberserk'] = {22, 105},
|
||||
-- [[ 96 - 104 Unknown ]]
|
||||
['powerbolt'] = {108, 95},
|
||||
['wildgrowth'] = {61, 94},
|
||||
['challenge'] = {97, 93},
|
||||
['enchantstaff'] = {103, 92},
|
||||
['poisonbomb'] = {70, 91},
|
||||
['cancelinvisibility'] = {95, 90},
|
||||
['flamestrike'] = {26, 89},
|
||||
['energystrike'] = {29, 88},
|
||||
['deathstrike'] = {38, 87},
|
||||
['magicwall'] = {72, 86},
|
||||
['healfriend'] = {8, 84},
|
||||
['animatedead'] = {93, 83},
|
||||
['masshealing'] = {9, 82},
|
||||
['levitate'] = {125, 81},
|
||||
['berserk'] = {21, 80},
|
||||
['conjurebolt'] = {107, 79},
|
||||
['desintegrate'] = {88, 78},
|
||||
['stalagmite'] = {66, 77},
|
||||
['magicrope'] = {105, 76},
|
||||
['ultimatelight'] = {115, 75},
|
||||
['powerbolt'] = {108, 95},
|
||||
['wildgrowth'] = {61, 94},
|
||||
['challenge'] = {97, 93},
|
||||
['enchantstaff'] = {103, 92},
|
||||
['poisonbomb'] = {70, 91},
|
||||
['cancelinvisibility'] = {95, 90},
|
||||
['flamestrike'] = {26, 89},
|
||||
['energystrike'] = {29, 88},
|
||||
['deathstrike'] = {38, 87},
|
||||
['magicwall'] = {72, 86},
|
||||
['healfriend'] = {8, 84},
|
||||
['animatedead'] = {93, 83},
|
||||
['masshealing'] = {9, 82},
|
||||
['levitate'] = {125, 81},
|
||||
['berserk'] = {21, 80},
|
||||
['conjurebolt'] = {107, 79},
|
||||
['desintegrate'] = {88, 78},
|
||||
['stalagmite'] = {66, 77},
|
||||
['magicrope'] = {105, 76},
|
||||
['ultimatelight'] = {115, 75},
|
||||
-- [[ 71 - 64 TFS House Commands ]]
|
||||
-- [[ 63 - 70 Unknown ]]
|
||||
['annihilation'] = {24, 62},
|
||||
['brutalstrike'] = {23, 61},
|
||||
['annihilation'] = {24, 62},
|
||||
['brutalstrike'] = {23, 61},
|
||||
-- [[ 60 Unknown ]]
|
||||
['frontsweep'] = {20, 59},
|
||||
-- [[ 58 Unknown ]]
|
||||
['strongetherealspear'] = {59, 57},
|
||||
['wrathofnature'] = {48, 56},
|
||||
['energybomb'] = {86, 55},
|
||||
['paralyze'] = {71, 54},
|
||||
['strongetherealspear'] = {59, 57},
|
||||
['wrathofnature'] = {48, 56},
|
||||
['energybomb'] = {86, 55},
|
||||
['paralyze'] = {71, 54},
|
||||
-- [[ 53 Unknown ]]
|
||||
-- [[ 52 TFS Retrieve Friend ]]
|
||||
['conjurearrow'] = {106, 51},
|
||||
['soulfire'] = {67, 50},
|
||||
['explosivearrow'] = {109, 49},
|
||||
['poisonedarrow'] = {111, 48},
|
||||
['conjurearrow'] = {106, 51},
|
||||
['soulfire'] = {67, 50},
|
||||
['explosivearrow'] = {109, 49},
|
||||
['poisonedarrow'] = {111, 48},
|
||||
-- [[ 46 / 47 Unknown ]]
|
||||
['invisible'] = {94, 45},
|
||||
['magicshield'] = {124, 44},
|
||||
['strongicewave'] = {46, 43},
|
||||
['food'] = {99, 42},
|
||||
['invisible'] = {94, 45},
|
||||
['magicshield'] = {124, 44},
|
||||
['strongicewave'] = {46, 43},
|
||||
['food'] = {99, 42},
|
||||
-- [[ 40 / 41 Unknown ]]
|
||||
['stronghaste'] = {102, 39},
|
||||
['creatureillusion'] = {100, 38},
|
||||
['stronghaste'] = {102, 39},
|
||||
['creatureillusion'] = {100, 38},
|
||||
-- [[ 37 TFS Move ]]
|
||||
['salvation'] = {60, 36},
|
||||
-- [[ 34 / 35 Unknown ]]
|
||||
['energywall'] = {84, 33},
|
||||
['poisonwall'] = {68, 32},
|
||||
['antidote'] = {10, 31},
|
||||
['destroyfield'] = {87, 30},
|
||||
['curepoison'] = {10, 29},
|
||||
['firewall'] = {80, 28},
|
||||
['energyfield'] = {85, 27},
|
||||
['poisonfield'] = {69, 26},
|
||||
['firefield'] = {81, 25},
|
||||
['hellscore'] = {49, 24},
|
||||
['greatenergybeam'] = {42, 23},
|
||||
['energybeam'] = {41, 22},
|
||||
['suddendeath'] = {64, 21},
|
||||
['findperson'] = {114, 20},
|
||||
['firewave'] = {44, 19},
|
||||
['explosion'] = {83, 18},
|
||||
['firebomb'] = {82, 17},
|
||||
['greatfireball'] = {78, 16},
|
||||
['fireball'] = {79, 15},
|
||||
['chameleon'] = {91, 14},
|
||||
['energywave'] = {43, 13},
|
||||
['convincecreature'] = {90, 12},
|
||||
['greatlight'] = {116, 11},
|
||||
['light'] = {117, 10},
|
||||
['summoncreature'] = {118, 9},
|
||||
['heavymagicmissile'] = {77, 8},
|
||||
['lightmagicmissile'] = {73, 7},
|
||||
['haste'] = {101, 6},
|
||||
['ultimatehealingrune'] = {62, 5},
|
||||
['intensehealingrune'] = {74, 4},
|
||||
['ultimatehealing'] = {1, 3},
|
||||
['intensehealing'] = {7, 2},
|
||||
['lighthealing'] = {6, 1}
|
||||
['salvation'] = {60, 36},
|
||||
-- [[ 34 / 35 Unknown ]]
|
||||
['energywall'] = {84, 33},
|
||||
['poisonwall'] = {68, 32},
|
||||
['antidote'] = {10, 31},
|
||||
['destroyfield'] = {87, 30},
|
||||
['curepoison'] = {10, 29},
|
||||
['firewall'] = {80, 28},
|
||||
['energyfield'] = {85, 27},
|
||||
['poisonfield'] = {69, 26},
|
||||
['firefield'] = {81, 25},
|
||||
['hellscore'] = {49, 24},
|
||||
['greatenergybeam'] = {42, 23},
|
||||
['energybeam'] = {41, 22},
|
||||
['suddendeath'] = {64, 21},
|
||||
['findperson'] = {114, 20},
|
||||
['firewave'] = {44, 19},
|
||||
['explosion'] = {83, 18},
|
||||
['firebomb'] = {82, 17},
|
||||
['greatfireball'] = {78, 16},
|
||||
['fireball'] = {79, 15},
|
||||
['chameleon'] = {91, 14},
|
||||
['energywave'] = {43, 13},
|
||||
['convincecreature'] = {90, 12},
|
||||
['greatlight'] = {116, 11},
|
||||
['light'] = {117, 10},
|
||||
['summoncreature'] = {118, 9},
|
||||
['heavymagicmissile'] = {77, 8},
|
||||
['lightmagicmissile'] = {73, 7},
|
||||
['haste'] = {101, 6},
|
||||
['ultimatehealingrune'] = {62, 5},
|
||||
['intensehealingrune'] = {74, 4},
|
||||
['ultimatehealing'] = {1, 3},
|
||||
['intensehealing'] = {7, 2},
|
||||
['lighthealing'] = {6, 1}
|
||||
}
|
||||
|
||||
VocationNames = {
|
||||
|
||||
@@ -43,17 +43,17 @@ end
|
||||
|
||||
function UICreatureButton:setup(creature)
|
||||
self.creature = creature
|
||||
|
||||
|
||||
local creatureWidget = self:getChildById('creature')
|
||||
local labelWidget = self:getChildById('label')
|
||||
local lifeBarWidget = self:getChildById('lifeBar')
|
||||
|
||||
|
||||
labelWidget:setText(creature:getName())
|
||||
creatureWidget:setCreature(creature)
|
||||
|
||||
|
||||
self:setId('CreatureButton_' .. creature:getName():gsub('%s','_'))
|
||||
self:setLifeBarPercent(creature:getHealthPercent())
|
||||
|
||||
|
||||
self:updateSkull(creature:getSkull())
|
||||
self:updateEmblem(creature:getEmblem())
|
||||
end
|
||||
|
||||
@@ -273,18 +273,18 @@ function UIMinimap:createFlagWindow(pos)
|
||||
|
||||
flagRadioGroup:selectWidget(flagRadioGroup:getFirstWidget())
|
||||
|
||||
local successFunc = function()
|
||||
local successFunc = function()
|
||||
self:addFlag(pos, flagRadioGroup:getSelectedWidget().icon, description:getText())
|
||||
self:destroyFlagWindow()
|
||||
end
|
||||
|
||||
local cancelFunc = function()
|
||||
self:destroyFlagWindow()
|
||||
|
||||
local cancelFunc = function()
|
||||
self:destroyFlagWindow()
|
||||
end
|
||||
|
||||
|
||||
okButton.onClick = successFunc
|
||||
cancelButton.onClick = cancelFunc
|
||||
|
||||
|
||||
self.flagWindow.onEnter = successFunc
|
||||
self.flagWindow.onEscape = cancelFunc
|
||||
|
||||
|
||||
Reference in New Issue
Block a user