Quanto de speed (e qual level) você precisa para "bugar a speed" em cada tipo de chão.
✓ Conferido no código-fonte do Canary — cada número desta página foi extraído do servidor, não de wiki.
Fórmula em src/creatures/creature.hpp:1065 e creature.cpp:1613,
hastes em data/scripts/spells/support/*.lua, base por vocação em data/XML/vocations.xml,
e a friction de cada chão saiu do data/items/appearances.dat
(campo flags.bank.waypoints, lido em src/items/items.cpp:230).
—Speed base
—Sem magia (base+equip)
—Com magia
—ms/sqm cidade (100)
—ms/sqm padrão (150)
Pegadinha do equipamento: a descrição do item no cliente mostra metade do valor que conta de verdade
(it.abilities->speed >> 1, em src/items/item.cpp:1783), mas o que entra na sua speed
é o valor cheio (changePlayerSpeed(player, item->getSpeed()), em src/lua/creature/movement.cpp:573).
Boots of haste aparecem como "speed +10" e valem 20. Já os imbuements de Swiftness são descritos pelo valor real:
+10, +15 e +30. Se você somar o que está escrito nas botas, vai errar para menos.
Onde você buga a speed sem magia × com a sua magia
Bugar a speed é isto: no chão em que você anda a um certo tempo sem magia
(só level + equipamento), a haste faz o passo cair pelo menos um degrau de 50 ms.
Linha verde = com a configuração acima, a magia te faz correr de verdade nesse chão.
Chão (friction)
Sem magia
Com a magia
Buga?
Próximo degrau (com magia)
Tabela de breakpoints reage ao seu level e à sua haste
Esta tabela e a de baixo são a mesma coisa vista de dois jeitos: a de baixo é o dado bruto
(qual friction cada chão tem, tirado do appearances.dat); esta aqui é esse mesmo número
passado pela fórmula, respondendo "de quanta speed eu preciso" para cada tempo de passo.
A coluna friction é a chave que liga as duas.
Chão
Seu passo
verde = você já tem speed para esse tempo ·
dourado = é o seu próximo degrau, o que falta para "bugar a speed" ·
cinza = ainda longe · — = inalcançável nesse chão mesmo no teto de speed do servidor (65535).
O número em cada célula é a speed mínima para atingir aquele tempo.
Friction real de cada chão o dado bruto do appearances.dat
O número da esquerda é a friction — a mesma chave da tabela de cima. "Nº de chãos" é quantos pisos
diferentes do jogo carregam aquele valor, então dá para ver de relance quais são comuns de verdade e quais são raridade.
Friction
Nº de chãos
Seu passo
Buga aqui?
Dá para melhorar?
Exemplos no items.xml
As imagens são as sprites reais do cliente global, extraídas das sprite sheets instaladas
na sua máquina e recortadas pelo sprite_id que o próprio appearances.dat associa a cada chão.
Censo conferido no cliente global 15.32 (appearances de 18/08/2026): nenhum valor de friction novo.
Fora da tabela ficam só 9 raridades com 1–4 pisos cada — 121 (red planks, perto do NPC Rafzan), 260, 300/350/400/450 (magic tiles),
800, 1000 e 1200 — pisos de quest que quase ninguém caça em cima.
O padrão é 150, não 100. Em src/creatures/creature.cpp:1734 o servidor começa com
walk.groundSpeed = 150 e só troca se o chão declarar um valor próprio
(if (it.speed > 0)). Ou seja: qualquer piso sem friction definida — e são 272 deles — anda como 150.
Cidade e depot (stone floor, wooden floor, mármore) são 100, que é o piso rápido de verdade.
Itens de speed items.xml
Item
Valor real
O cliente mostra
Como a conta funciona
O arredondamento para múltiplos de 50 ms (SERVER_BEAT = 0x32) é a origem do "bug": ganhar 40 de speed
pode não mudar absolutamente nada, e ganhar 1 ponto pode derrubar o passo um degrau inteiro. O equipamento entra
somando no fim, depois do multiplicador da haste — por isso item de speed rende igual em qualquer level,
enquanto a haste rende mais quanto maior o level.
Detalhes que mudam o resultado no fio: a fórmula da haste é calculada em float de 32 bits e
truncada para inteiro (condition.cpp:2470), a divisão 1000 × friction ÷ step é
inteira (creature.cpp:1613), e a speed final é limitada a no mínimo 10
(PLAYER_MIN_SPEED, player.hpp:127). Esta página replica os três.
Legenda das siglas e termos
Unidades e medidas
ms
Milissegundo — um milésimo de segundo. 1000 ms = 1 segundo. É a unidade em que o servidor mede a duração de cada passo.
sqm
Square meter — o "quadrado" do mapa, a menor casa em que o personagem pisa. É a unidade de distância do Tibia.
ms/sqm
Milissegundos por quadrado — quanto tempo leva para andar uma casa. Menor é mais rápido: 100 ms/sqm é o dobro da velocidade de 200 ms/sqm.
Diagonal
Andar na diagonal custa três vezes o tempo de um passo reto. Andar em L (dois passos retos) sai mais rápido que um passo diagonal.
ln
Logaritmo natural — a função matemática que faz a speed ter retorno decrescente: cada ponto novo rende menos que o anterior.
Termos do jogo
Friction
O "atrito" do chão, um número que cada piso carrega. Quanto maior, mais devagar se anda nele. Cidade é 100, grama é 150, água rasa é 200.
Breakpoint
O ponto exato em que ganhar mais speed finalmente muda o tempo do passo. Como o tempo só existe em degraus de 50 ms, a velocidade real melhora aos saltos: é isso que o pessoal chama de "bugar a speed".
Bugar a speed
No chão em que você anda a um certo tempo sem magia (level + equipamento), a haste faz o passo cair
pelo menos um degrau de 50 ms — você corre visivelmente mais. Quando ela não cruza degrau nenhum, a speed
sobe no número e o passo continua idêntico.
Degrau
Cada faixa de 50 ms do tempo de passo. Você não anda "um pouquinho" mais rápido: ou fica no mesmo degrau, ou cai um inteiro. Ganhar um degrau é o que se sente no jogo; ganhar speed sem trocar de degrau não muda nada.
Haste
Magia que aumenta a velocidade. utani hur é a comum, utani gran hur é a forte, utani tempo hur (charge) é exclusiva de knight e utamo tempo san (swift foot) de paladin. Detalhe do swift foot: enquanto dura, o paladin não consegue atacar.
Imbuement Swiftness I / II / III
Encantamento aplicado num equipamento. O de velocidade se chama Swiftness e dá +10, +15 ou +30 conforme o nível.
Speed base
Sua velocidade só por causa do level, sem haste e sem equipamento. Sobe 1 ponto por level.
Speed total
O número final depois de somar haste e equipamento. É o que aparece na janela de skills do jogo.
Step speed interno
Um valor que o servidor calcula a partir da speed total e usa para dividir o tempo do passo. Não aparece no jogo — está aqui porque é o que realmente determina o breakpoint.
Depot
O banco/armazém das cidades. Citado porque o chão dele é 100, o piso rápido.
Do código-fonte do servidor
Canary
O servidor de Tibia de código aberto de onde cada número desta página foi tirado.
appearances.dat items.xml · vocations.xml
Arquivos de dados do servidor. O appearances.dat guarda a friction de cada chão, o items.xml guarda o speed de cada item e o vocations.xml a velocidade base de cada vocação.
waypoints
O nome interno do campo que guarda a friction dentro do appearances.dat. Nome confuso, mas é o atrito do chão.
basespeed
A velocidade inicial da vocação no vocations.xml. Vale 110 para todas — nenhuma vocação nasce mais rápida que outra.
SERVER_BEAT
A "batida do relógio" do servidor: 50 ms. Todo tempo de passo é arredondado para cima até o próximo múltiplo dela — é a causa direta dos breakpoints.
WALK_DIAGONAL _EXTRA_COST
A constante que vale 3 e multiplica o tempo do passo na diagonal.
PLAYER_MIN_SPEED
O piso de velocidade: mesmo paralisado, ninguém fica abaixo de 10 de speed.
Truncado
Jogar fora a parte decimal sem arredondar: 582,9 vira 582. O servidor faz isso na conta da haste, então aquele "quase 1 ponto" simplesmente some.
Divisão inteira
Divisão que também descarta o resto: 101,9 vira 101. O servidor usa na conta da duração do passo.
float32
Número decimal de precisão limitada usado pelo servidor. Muda o resultado na terceira casa e, de vez em quando, faz um breakpoint cair 1 ponto para o lado. Esta página reproduz essa imprecisão de propósito.