Fala pessoal, como o Nerdweek esta voltando as atividades no D&D hoje alguém teve uma ideia bem interessante nos canais do Foundry VTT em automatizar armadilhas, aqui vai um tutorial de como fazer isso.

Nos utilizaremos 2 módulos do Foundry VTT para isso o Parallaxia que permite animar tiles e o trigger-happy que escuta ações e executa reações.

Requisitos:

No final da configuração você vai ter uma tile configurada como no exemplo abaixo.‌

Em Settings > Manage Modules ative o Parallaxia e Trigger Happy, salve a configuração a tela ira atualizar, assim podemos começar as configurações.

Na aba de Compendium na sessão Actor você habilitou o Trigger Actors que possui um único ator o Transparent Actor, vamos arrastá-lo diretamente para a posição que desejamos direto do Compendium.

Com o token em posição vamos configurar um nome para podermos utiliza-lo nos nossos triggers.

Clique com o botão esquerdo do mouse 2x para abrir a ficha, clique em token perto do botão "close" e nomeie seu token para "trap-1".

Agora nos Journal precisamos criar uma pasta chamada "Trigger Happy" (exatamente assim, se você deseja outro nome, troque nas configurações).

Dentro da pasta Trigger Happy vamos criar uma arquivo onde configuraremos nossos triggers. No meu caso chamei de Triggers

Agora precisamos criar a macro principal que sera executada quando a ação acontecer.

Na barra de macros clique duas vezes para criar uma nova Macro, nomeia como Start, troque o type para script, e cole o codigo abaixo.

Esse código procura por todas as tiles que são Parallaxia e ativa e desativa o modulo na tile.

Macros:

Start

let updates = canvas.tiles.placeables.filter(t =>
    t.data.flags.parallaxia).map(t => {
        return {
            _id: t.id,
            'flags.parallaxia.isTarget': true,
        }
    });
canvas.tiles.updateMany(updates)

Stop

let updates =canvas.tiles.placeables.filter (t =>
t.data.flags.parallaxia) .map (t => {
   return {
     _id: t.id,
      'flags.parallaxia.isTarget': false,
   }
});
canvas.tiles.updateMany(updates)

Agora que possuímos a macro voltamos ao nosso Triggers Journal, edite e cole a seguinte linha:

@Token[trap-1]@Trigger[move]@Macro[]{Start}

Ainda com o Triggers Journal, aberto arraste a Macro start para o final da linha e remova o @Macro[]{Start}.

Essa linha funciona da seguinte maneira

  • Quando o Token trap-1 recebe a ação move reaja executando a macro.

Estamos quase la, agora só falta o Parallaxia, adicione sua tile a ser animada, clique no botão do Parallaxia embaixo da seta de posicionamento no canto superior da image, (ícone de cachoeira)

Aqui tem 2 coisas importante a animação que e efetuada pelo DeltaY offset de 200, e o código responsável por parar a animação a um certo ponto.

Em Custom Script cole o seguinte código.

if (next.tiling.y > 560) {
    const macro = game.macros.find(m => m.name === "Stop");
    eval(macro.data.command);
}

Esse código faz o seguinte, a cada movimento (tiling) cheque se o y e maior que 560 se for, ache a macro chamada Stop e execute.

Espero que tenham gostado. Se sim compartilhe nas redes sociais pra animar a fazer mais tutoriais como este!

Créditos:

Créditos da ideia para GM Turlang#8889 do Discord do Foundry VTT Brasil.

Mapa: The MAD Cartographer | Caverns (Free) | Battlemap Pack para Foundry VTT