Ir para conteúdo
  • Cadastre-se

Normal "Arm" nas Sources, onde encontrar?


Posts Recomendados

Olá a todos. Estou fazendo algumas alterações na source do meu servidor (baseado em TFS 0.4.0) e gostaria de saber se alguém pode me dizer em que parte do código eu encontro os cálculos de "Armor" das armaduras na defesa do personagem. Já alterei o ataque, o ataque à distância, o "defense", e agora gostaria de fazer um ajuste fino no quanto cada +1 de Arm absorverá o dano.

 

Andei caçando pelos arquivos, e o máximo que encontrei foi em player.cpp o código a seguir, mas imagino que isso seja definido em algum outro trecho de código.

int32_t Player::getArmor() const
{
    int32_t i = SLOT_FIRST, armor = 0;
    for(; i < SLOT_LAST; ++i)
    {
        if(Item* item = getInventoryItem((slots_t)i))
            armor += item->getArmor();
    }
    if(vocation->getMultiplier(MULTIPLIER_ARMOR) != 1.0)
        return int32_t(armor * vocation->getMultiplier(MULTIPLIER_ARMOR));
    return armor;
}

Obrigado pela ajuda desde já.

Link para o post
Compartilhar em outros sites

Opa, fiz a mesma pergunta em um outro fórum e lá me responderam, então resolvi compartilhar a informação aqui.

 

Em "creature.cpp" há uma sessão onde é estabelecida a fórmula de defesa do atributo "Arm" dos seus equipamentos. No meu caso, TFS 0.4, fica no seguinte trecho:

 

if(checkArmor)
		{
			int32_t armorValue = getArmor(), minArmorReduction = 0,
				maxArmorReduction = 0;
			if(armorValue > 1)
			{
				minArmorReduction = (int32_t)std::ceil(armorValue * 0.475);
				maxArmorReduction = (int32_t)std::ceil(
					((armorValue * 0.475) - 1) + minArmorReduction);
			}
			else if(armorValue == 1)
			{
				minArmorReduction = 1;
				maxArmorReduction = 1;
			}

Para as outras versões, o trecho de código é parecido, basta dar um "Ctrl + F" na palavra armor em creature.cpp.

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo