Fixed #169 Thanks Quintinon and #170! Also some other fixes:

* Fixed calling local in an if statement where it is not required (lol).
* Fixed an issue with the auto walk checker.
This commit is contained in:
BeniS 2013-01-08 15:55:41 +13:00
parent 3ed2eeb104
commit 702fce0be8
6 changed files with 13 additions and 5 deletions

View File

@ -79,7 +79,7 @@ function onSpellCooldown(iconId, duration)
if not spellName then return end if not spellName then return end
local ping = g_game.getPing() local ping = g_game.getPing()
if ping > 0 then local duration = duration - (ping/2) end if ping > 0 then duration = duration - (ping/2) end
local otcIconId = tonumber(SpellInfo[modules.game_spelllist.getSpelllistProfile()][spellName].icon) local otcIconId = tonumber(SpellInfo[modules.game_spelllist.getSpelllistProfile()][spellName].icon)
if not otcIconId and SpellIcons[SpellInfo[modules.game_spelllist.getSpelllistProfile()][spellName].icon] then if not otcIconId and SpellIcons[SpellInfo[modules.game_spelllist.getSpelllistProfile()][spellName].icon] then
otcIconId = SpellIcons[SpellInfo[modules.game_spelllist.getSpelllistProfile()][spellName].icon][1] otcIconId = SpellIcons[SpellInfo[modules.game_spelllist.getSpelllistProfile()][spellName].icon][1]
@ -105,7 +105,7 @@ function onSpellGroupCooldown(groupId, duration)
if not SpellGroups[groupId] then return end if not SpellGroups[groupId] then return end
local ping = g_game.getPing() local ping = g_game.getPing()
if ping > 0 then local duration = duration - (ping/2) end if ping > 0 then duration = duration - (ping/2) end
local icon = contentsPanel:getChildById('groupIcon' .. SpellGroups[groupId]) local icon = contentsPanel:getChildById('groupIcon' .. SpellGroups[groupId])
local progressRect = contentsPanel:getChildById('progressRect' .. SpellGroups[groupId]) local progressRect = contentsPanel:getChildById('progressRect' .. SpellGroups[groupId])
if icon then if icon then

View File

@ -32,7 +32,7 @@ function init()
onGameStart = show, onGameStart = show,
onGameEnd = hide, onGameEnd = hide,
onLoginAdvice = onLoginAdvice, onLoginAdvice = onLoginAdvice,
onWalk = onWalk, onWalk = onWalk
}, true) }, true)
connect(LocalPlayer, { connect(LocalPlayer, {

View File

@ -86,6 +86,7 @@ function UIGameMap:onMouseRelease(mousePosition, mouseButton)
local ret = modules.game_interface.processMouseAction(mousePosition, mouseButton, autoWalkPos, lookThing, useThing, creatureThing, multiUseThing) local ret = modules.game_interface.processMouseAction(mousePosition, mouseButton, autoWalkPos, lookThing, useThing, creatureThing, multiUseThing)
if ret then if ret then
modules.game_interface.cancelAutoWalkCheck()
self.cancelNextRelease = true self.cancelNextRelease = true
end end

View File

@ -87,6 +87,7 @@ function UIItem:onMouseRelease(mousePosition, mouseButton)
self.cancelNextRelease = true self.cancelNextRelease = true
return true return true
elseif modules.game_interface.processMouseAction(mousePosition, mouseButton, nil, item, item, nil, item) then elseif modules.game_interface.processMouseAction(mousePosition, mouseButton, nil, item, item, nil, item) then
modules.game_interface.cancelAutoWalkCheck()
return true return true
end end
return false return false

View File

@ -97,13 +97,14 @@ function onAddVip(id, name, state)
for i=1,childrenCount do for i=1,childrenCount do
local child = vipList:getChildByIndex(i) local child = vipList:getChildByIndex(i)
if state == VipState.Online and not child.vipState == VipState.Online then if state == VipState.Online and child.vipState ~= VipState.Online then
vipList:insertChild(i, label) vipList:insertChild(i, label)
return return
end end
if (not state == VipState.Online and not child.vipState == VipState.Online) if (state ~= VipState.Online and child.vipState ~= VipState.Online)
or (state == VipState.Online and child.vipState == VipState.Online) then or (state == VipState.Online and child.vipState == VipState.Online) then
local childText = child:getText():lower() local childText = child:getText():lower()
local length = math.min(childText:len(), nameLower:len()) local length = math.min(childText:len(), nameLower:len())
@ -113,6 +114,8 @@ function onAddVip(id, name, state)
return return
elseif nameLower:byte(j) > childText:byte(j) then elseif nameLower:byte(j) > childText:byte(j) then
break break
elseif j == nameLower:len() then -- We are at the end of nameLower, and its shorter than childText, thus insert before
vipList:insertChild(i, label)
end end
end end
end end

View File

@ -672,6 +672,9 @@ Point Creature::getDrawOffset()
int Creature::getStepDuration(bool ignoreDiagonal) int Creature::getStepDuration(bool ignoreDiagonal)
{ {
int speed = m_speed; int speed = m_speed;
if(speed < 1)
return 0;
if(g_game.getFeature(Otc::GameNewSpeedLaw)) if(g_game.getFeature(Otc::GameNewSpeedLaw))
speed *= 2; speed *= 2;