/colors chegou e os códigos de cor do chat não vazam mais uns nos outros.
1000Armadura preta e dourada sob um elmo com chifres, um arco que dispara luz derretida e uma matilha de caça que chega por uma fenda em vez de sair do mato. Ele aparece sobre uma estrada aberta no meio de um cânion em chamas.
O verde foi queimado de todas as habilidades, e os substitutos não são simples recolorações dos originais. Overgrowth não brota: uma rosa carmesim racha o chão dentro de um anel de espinhos e lança um pilar de luz vermelha. Os cães abrem caminho através de um portal em vez de sair trotando da linha das árvores. Até os passos dele deixam um rastro de brasas.
Um ajuste de consistência em como o Protective Charm de Jeraziah interage com tudo que remove buffs. Agora o Protective Charm é marcado como uma Magic Immunity dissipável e disso sai uma única regra:

Os shaders dos heróis também passaram por um pequeno ajuste de precisão, para que os materiais fiquem iguais na Loja, no lobby e na partida. Algumas superfícies recebiam luz duas vezes, e metal áspero refletia de forma mais nítida do que deveria. É sutil, mas alguns heróis, principalmente os de armadura, vão parecer um pouco diferentes.
Todo modo ranqueado desativado costumava culpar a diferença de rating. Caldavar e Mid Wars agora têm seu próprio motivo, então o limite de tamanho de grupo para MMR alto e o limite de disparidade de rating aparecem separados, tanto no tooltip do modo quanto na linha de aviso.
E um motivo que bloqueia apenas um único modo não passa mais em branco: se um modo ranqueado estiver desativado para o seu grupo enquanto outro continua disponível na fila, você recebe um aviso explicando o motivo em vez de silêncio.
/colorsLista todos os códigos de cor de texto que você pode usar no chat, com uma prévia ao vivo de cada um. Disponível fora de partidas.
^: não herda mais a cor de brilho do seu nome: ele volta para o branco.^$ na caixa de chat agora mostra a prévia como brilho em vez de tingir o texto./colors exibe. Letras maiúsculas também funcionam nos códigos por nome.Uma partida em que houve concede continuava sendo simulada, e um jogador que ficasse conectado podia farmar os heróis abandonados e conseguir abates que entravam no histórico da partida e nos rastreadores de estatísticas da conta.
Abates, mortes, assistências, dano, ouro, wards e todas as outras estatísticas rastreadas agora congelam assim que há um vencedor ou o concede é confirmado, tanto no placar ao vivo quanto no resumo gerado a partir do replay.
Um cast com alvo em posição além do seu alcance agora é limitado para logo dentro da borda, em vez de ser aceito do jeito que veio. Habilidades com alcance pelo caminho, como Charging Strikes da Dark Lady e Wave Form do Myrmidon, são limitadas ao longo do caminho percorrível e, assim, um force-cast não consegue mais levar você além do que a habilidade permite. Ordens com alvo em entidade não foram alteradas.
Uma partida podia travar por vários segundos seguidos, tempo suficiente para os jogadores tomarem timeout e reconectarem no meio disso. Todos os casos levavam ao mesmo lugar: o código que calcula como as unidades andam pelo mapa.
Quatro falhas diferentes se somavam ali, e as quatro foram corrigidas:
Além disso, rotas longas agora são calculadas em etapas, em vez de buscar no mapa inteiro de uma vez, unidades indo para o mesmo lugar compartilham o trabalho de base, e uma busca que fica sem tempo agora segue a melhor rota que encontrou em vez de ficar parada.
Failed to load k2.dll. Error (1114) foi corrigido na origemO launcher consultava o registro para decidir se o runtime do Visual C++ precisava de reparo, mas o registro guarda o que foi instalado por último, não o que está no disco. Uma máquina com um MSVCP140.dll de 2017 ao lado de um conjunto de runtime atualizado no resto passava na verificação e depois crashava na inicialização, com o k2.dll levando a culpa por um arquivo que nunca foi dele.
Agora o launcher verifica os arquivos de runtime que o loader realmente usa e executa um reparo em vez de uma instalação quando o pacote está registrado mas os arquivos estão errados. Depois ele verifica tudo de novo, em vez de confiar no código de saída do instalador, e avisa quando é preciso reiniciar.
O launcher já recorria a uma conexão direta por IP quando a resolução de nomes falhava. O cliente não fazia isso e mostrava errors resolving auth.juvio.com . Agora os dois usam o mesmo fallback, e ele cobre todos os serviços com que o cliente se comunica.