Few minor fixes here and there:
* Fixed miniwindow cancelling (sorry Summ! :D) * Fixed pathFind to check floor change tiles * Fixed buying/selling stackable items in pv < 860 * Added force walk to the first step of auto walking for open tibia
This commit is contained in:
parent
6ad7269e5a
commit
1500c1d2f2
|
@ -29,8 +29,8 @@ function init()
|
||||||
g_ui.importStyle('styles/countwindow.otui')
|
g_ui.importStyle('styles/countwindow.otui')
|
||||||
|
|
||||||
connect(g_game, {
|
connect(g_game, {
|
||||||
onGameStart = show,
|
onGameStart = onGameStart,
|
||||||
onGameEnd = hide,
|
onGameEnd = onGameEnd,
|
||||||
onLoginAdvice = onLoginAdvice
|
onLoginAdvice = onLoginAdvice
|
||||||
}, true)
|
}, true)
|
||||||
|
|
||||||
|
@ -98,8 +98,8 @@ end
|
||||||
|
|
||||||
function terminate()
|
function terminate()
|
||||||
disconnect(g_game, {
|
disconnect(g_game, {
|
||||||
onGameStart = show,
|
onGameStart = onGameStart,
|
||||||
onGameEnd = hide,
|
onGameEnd = onGameEnd,
|
||||||
onLoginAdvice = onLoginAdvice
|
onLoginAdvice = onLoginAdvice
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -109,6 +109,19 @@ function terminate()
|
||||||
gameRootPanel:destroy()
|
gameRootPanel:destroy()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function onGameStart()
|
||||||
|
show()
|
||||||
|
|
||||||
|
-- open tibia has delay in auto walking
|
||||||
|
if not g_game.isOfficialTibia() then
|
||||||
|
g_game.enableFeature(GameForceFirstAutoWalkStep)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function onGameEnd()
|
||||||
|
hide()
|
||||||
|
end
|
||||||
|
|
||||||
function show()
|
function show()
|
||||||
connect(g_app, { onClose = tryExit })
|
connect(g_app, { onClose = tryExit })
|
||||||
logoutButton:show()
|
logoutButton:show()
|
||||||
|
|
|
@ -85,13 +85,13 @@ function onGameEditText(id, itemId, maxLength, text, writter, time)
|
||||||
end
|
end
|
||||||
|
|
||||||
okButton.onClick = doneFunc
|
okButton.onClick = doneFunc
|
||||||
cancelButton.onClick = destroyWindows
|
cancelButton.onClick = destroy
|
||||||
|
|
||||||
if not writeable then
|
if not writeable then
|
||||||
textWindow.onEnter = doneFunc
|
textWindow.onEnter = doneFunc
|
||||||
end
|
end
|
||||||
|
|
||||||
textWindow.onEscape = destroyWindows
|
textWindow.onEscape = destroy
|
||||||
|
|
||||||
table.insert(windows, textWindow)
|
table.insert(windows, textWindow)
|
||||||
end
|
end
|
||||||
|
@ -121,10 +121,10 @@ function onGameEditList(id, doorId, text)
|
||||||
end
|
end
|
||||||
|
|
||||||
okButton.onClick = doneFunc
|
okButton.onClick = doneFunc
|
||||||
cancelButton.onClick = destroyWindows
|
cancelButton.onClick = destroy
|
||||||
|
|
||||||
textWindow.onEnter = doneFunc
|
textWindow.onEnter = doneFunc
|
||||||
textWindow.onEscape = destroyWindows
|
textWindow.onEscape = destroy
|
||||||
|
|
||||||
table.insert(windows, textWindow)
|
table.insert(windows, textWindow)
|
||||||
end
|
end
|
||||||
|
|
|
@ -77,6 +77,7 @@ GameBlueNpcNameColor = 33
|
||||||
GameDiagonalAnimatedText = 34
|
GameDiagonalAnimatedText = 34
|
||||||
GameLoginPending = 35
|
GameLoginPending = 35
|
||||||
GameNewSpeedLaw = 36
|
GameNewSpeedLaw = 36
|
||||||
|
GameForceFirstAutoWalkStep = 37
|
||||||
|
|
||||||
TextColors = {
|
TextColors = {
|
||||||
red = '#f55e5e', --'#c83200'
|
red = '#f55e5e', --'#c83200'
|
||||||
|
|
|
@ -347,6 +347,7 @@ namespace Otc
|
||||||
GameDiagonalAnimatedText = 34,
|
GameDiagonalAnimatedText = 34,
|
||||||
GameLoginPending = 35,
|
GameLoginPending = 35,
|
||||||
GameNewSpeedLaw = 36,
|
GameNewSpeedLaw = 36,
|
||||||
|
GameForceFirstAutoWalkStep = 37,
|
||||||
// 51-100 reserved to be defined in lua
|
// 51-100 reserved to be defined in lua
|
||||||
LastGameFeature = 101
|
LastGameFeature = 101
|
||||||
};
|
};
|
||||||
|
@ -363,7 +364,8 @@ namespace Otc
|
||||||
PathFindAllowNullTiles = 1,
|
PathFindAllowNullTiles = 1,
|
||||||
PathFindAllowCreatures = 2,
|
PathFindAllowCreatures = 2,
|
||||||
PathFindAllowNonPathable = 4,
|
PathFindAllowNonPathable = 4,
|
||||||
PathFindAllowNonWalkable = 8
|
PathFindAllowNonWalkable = 8,
|
||||||
|
PathFindAllowChangeFloor = 16
|
||||||
};
|
};
|
||||||
|
|
||||||
enum AutomapFlags
|
enum AutomapFlags
|
||||||
|
|
|
@ -619,13 +619,17 @@ void Game::autoWalk(std::vector<Otc::Direction> dirs)
|
||||||
if(isFollowing())
|
if(isFollowing())
|
||||||
cancelFollow();
|
cancelFollow();
|
||||||
|
|
||||||
Otc::Direction direction = dirs.front();
|
auto it = dirs.begin();
|
||||||
|
Otc::Direction direction = *it;
|
||||||
if(m_localPlayer->canWalk(direction)) {
|
if(m_localPlayer->canWalk(direction)) {
|
||||||
TilePtr toTile = g_map.getTile(m_localPlayer->getPosition().translatedToDirection(direction));
|
TilePtr toTile = g_map.getTile(m_localPlayer->getPosition().translatedToDirection(direction));
|
||||||
if(toTile && toTile->isWalkable() && !m_localPlayer->isAutoWalking()) {
|
if(toTile && toTile->isWalkable() && !m_localPlayer->isAutoWalking()) {
|
||||||
m_localPlayer->preWalk(direction);
|
m_localPlayer->preWalk(direction);
|
||||||
//forceWalk(direction);
|
|
||||||
//dirs.erase(it);
|
if(getFeature(Otc::GameForceFirstAutoWalkStep)) {
|
||||||
|
forceWalk(direction);
|
||||||
|
dirs.erase(it);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -210,7 +210,9 @@ int Item::getSubType()
|
||||||
{
|
{
|
||||||
if(isSplash() || isFluidContainer())
|
if(isSplash() || isFluidContainer())
|
||||||
return m_countOrSubType;
|
return m_countOrSubType;
|
||||||
return 0;
|
if(g_game.getProtocolVersion() >= 860)
|
||||||
|
return 0;
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Item::getCount()
|
int Item::getCount()
|
||||||
|
|
|
@ -600,7 +600,7 @@ std::tuple<std::vector<Otc::Direction>, Otc::PathFindResult> Map::findPath(const
|
||||||
but it is breaking normal path finding.
|
but it is breaking normal path finding.
|
||||||
*/
|
*/
|
||||||
if(!(flags & Otc::PathFindAllowNullTiles) && !tile)
|
if(!(flags & Otc::PathFindAllowNullTiles) && !tile)
|
||||||
walkFactor = 2.0f;
|
walkFactor = 3.0f;
|
||||||
if(tile) {
|
if(tile) {
|
||||||
if(!(flags & Otc::PathFindAllowCreatures) && tile->hasCreature())
|
if(!(flags & Otc::PathFindAllowCreatures) && tile->hasCreature())
|
||||||
continue;
|
continue;
|
||||||
|
@ -608,6 +608,8 @@ std::tuple<std::vector<Otc::Direction>, Otc::PathFindResult> Map::findPath(const
|
||||||
continue;
|
continue;
|
||||||
if(!(flags & Otc::PathFindAllowNonWalkable) && !tile->isWalkable())
|
if(!(flags & Otc::PathFindAllowNonWalkable) && !tile->isWalkable())
|
||||||
continue;
|
continue;
|
||||||
|
if(!(flags & Otc::PathFindAllowChangeFloor) && tile->changesFloor())
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue