Ir para conteúdo
  • Cadastre-se

Posts Recomendados

A pedido do usuário Vyctor17 (da OTBR) fiz uma função para multiplicar o dano dos monstros:

Primeiro, em luascripts.cpp deverá ser adicionado, logo após:


    registerMethod("Monster", "isMonster", LuaScriptInterface::luaMonsterIsMonster);

Isso:


    registerMethod("Monster", "multiplyDamage", LuaScriptInterface::luaMonsterMultiplyDamage);

Logo abaixo de:


int32_t LuaScriptInterface::luaMonsterIsMonster(lua_State* L)

{

    // monster:isMonster()

    const Monster* monster = getUserdata<const Monster>(L, 1);

    pushBoolean(L, monster != nullptr);

    return 1;

}

Isso:


int32_t LuaScriptInterface::luaMonsterMultiplyDamage(lua_State* L)

{

    // monster:multiplyDamage(multiplier)

    Monster* monster = getUserdata<Monster>(L, 1);

    if (monster) {

        monster->multiplier = getNumber<uint32_t>(L, 2);
        pushBoolean(L, true);

    } else {

        lua_pushnil(L);

    }

    return 1;

}

Em luascripts.h:

Logo após:


        static int32_t luaMonsterIsMonster(lua_State* L);

Isso:


        static int32_t luaMonsterMultiplyDamage(lua_State* L);

Em monster.h:
Logo após:


        static uint32_t monsterAutoID;

Isso:


        int32_t multiplier;

Em monster.cpp:

Logo após:


Monster::Monster(MonsterType* _mtype) :

    Creature()

{

Isso:


    multiplier = 1;

No método Monster::doAttacking, procure por:
ATENÇÃO, TEM QUE SER NO MÉTODO Monster::doAttacking!


                minCombatValue = spellBlock.minCombatValue;

                maxCombatValue = spellBlock.maxCombatValue;

Substitua por:

                minCombatValue = spellBlock.minCombatValue * multiplier;

                maxCombatValue = spellBlock.maxCombatValue * multiplier;

E está feito. Se quiser fazer o monstro não dar dano, só por um multiplier abaixo de zero.

Link para o post
Compartilhar em outros sites

Seu tópico foi aprovado e acredito que será de muita ajuda pro pessoal do fórum. Estarei te dando um ponto de reputação e movendo pra área correta. Obrigado por contribuir ^^

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

É possível fazer algo mais específico com a variável isMelee, multiplicando apenas spell ou apenas melee. Se preferirem dessa forma posso editar novamente para atender esse caso.

Editado por elwyn (veja o histórico de edições)
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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo