Olá! Na aula passada aprendemos um pouco de como funciona as triggers, nesta, iremos criar nossa primeira spell customizada! Estão prontos?
Antes de tudo, vamos recapitular: Triggers são os scripts do mapa. Elas são divididas em events, conditions e actions. Os eventos são os que fazem as triggers dispararem, as conditions são os filtros e as actions são as ações que ocorrerão quando o evento for disparado e passar pelos filtros das conditions.
O que é uma spell customizada?É uma spell com efeitos que não são encontrados no Object Editor normalmente. Elas são feitas através de triggers.
Basicamente, é uma trigger que é acionada quando castamos uma spell.
Elas seguem o seguinte padrão:
Clique no nome em azul
Perceberam que existem cinco campos refentes a habilidade. Qual a diferença entre eles?
Begins Channeling an Ability -> Algumas skills possuem "cast time", que é o tempo que se demora para pra a skill ser realmente casta. Ex: 35 da tsu. Se este campo por definido, a trigger irá ser ativada logo no começo desse cast.
Begin Casting an Ability -> É o tempo depois do cast, mas ainda um pouco antes do efeito da skill. Pra simplicar, é o tempo que dá pra apertar ESC pra cancelar a skill.
Stop Casting an Ability -> É quando a skill é cancelada, seja por apertar ESC, tomar algum stun, etc...
Starts the effect of an ability -> É justamente quando iniciamos o efeito da skill. É o recomendado para custom spells, exceto para casos especiais.
Finish casting an ability -> É quando a skill se encerra.
Pois bem, sabemos desses conceitos, vamos prosseguir.
Pronto, já definimos que a trigger será ativada quando iniciar o efeito de uma spell. Mas precisamos definir que spell específica ativará a trigger, se não ela será ativada com QUALQUER spell. Para isso, usaremos as conditions.
Clique no nome 'Animate Dead' e no lugar vamos definir nossa spell.
Para fins didáticos, vamos escolher "Storm Bolt", do Mountain King.
Se você fez tudo corretamente, sua trigger deve estar assim:
Agora, vamos dividir essa spell em três níveis!
Nível INeste nível, iremos criar apenas um pequeno efeito de trovão. Para isso, criemos uma nova action.
Procure pela seguinte action:
(2) é o efeito que nós criaremos e (1) é o local onde ele ocorrerá. Começaremos clicando no nome azul em (2).
Depois clique em "Choose Model"
Deixa a tela do Trigger e do World abertas simultaneamente, assim você poderá ver que modelo é o que está sendo selecionado, como eu fiz na figura abaixo:
Vá em 'Buff', clicando no campo onde está 'Abilities', e procure, no campo abaixo, o seguinte modelo:
Pronto, dê ok duas vezes e agora voltemos aquela janela onde estava separada entre (1) e (2). Clique agora em (1).
em 'Function:', procure o seguinte campo:
Clique no nome azul 'Triggering Unit'.
Procure por 'Target Unit of Ability Being Cast', ou seja, o alvo da habilidade.
Dê OK. Com isso, estaremos criando esse feito na posição do alvo da habilidade. Se você fez tudo corretamente, sua trigger deve estar assim:
Agora teste. Se você conseguiu esse efeito, já está apto a passar pro próximo nível:
Nível IINeste nível, ao invés de criarmos apenas um trovão, criaremos um círculo de trovões ao redor do trajeto. Pode parecer uma tarefa fácil, mas não é tanto assim. Mãos a obra!
Antes de tudo, não apague o código que você fez anteriormente. Precisaremos dele agora.
Crie uma nova action do tipo:
"For..." é uma action que faz com que as outras actions que estejam dentro delas se repitam N vezes. Na figura abaixo tá de 1 à 10, ou seja, se repetirá 10 vezes.
Agora arraste o efeito que criamos anteriormente para dentro do for:
Agora cliquemos duas vezes no efeito. Precisamos fazer algumas modificações. Clique no círculo marcado.
Agora procure por:
Point with Pollar Offeset funciona da seguinte forma:
(1): (Center of (Playable Map Area)) é o ponto de origem. Vamos mudá-lo para Position of (Target Unit of Ability Being Cast):
Vamos deixar (2) como estar. Esse raio está bom
Agora (3) é essencial. Como estamos criando 10 efeitos (lembre-se que arrastamos o efeito pro For...), precisamos criar cada efeito num ponto do círculo imaginário, para que fique um anel de trovões. Um círculo completo tem 360 graus. Se fossemos didiví-lo em 10, cada um teria 36º a mais que o outro. Clique e no 0.00 e procure por Arithmetic:
- No primeiro '1.00', digite: 36.00.
- No lugar do '+', coloque 'X'.
- Agora clique no segundo '1.00', e procure por:
Clique no campo indicado abaixo:
E procure por: 'For Loop Integer A':
Dê ok. Sua trigger deve estar assim:
Tempo para explanação: Como funciona os "for..." e como usá-los a nosso favor?
O for funciona da seguinte forma: Ele cria uma variável do tipo integer chamado "A". Essa variável irá assumir do valor mínimo (no nosso caso, 1) e irá repetir tudo que estiver dentro do for até que essa variável chegue ao valor máximo (no nosso caso, 10, ou seja, irá repetir 10 vezes). Nós nos aproveitamos desse conceito na hora do Arithmetic. Já que queremos criar um círculo, e cada efeito numa parte desse círculo, dividimos a circuferencia em 10 e cada vez esse valor irá ser multiplicado pela variável A. Assim, quando A for 1, o ângulo será 36, quando for 2 será 72, e assim por diante, até chegar em A(10) X 36 = 360.
Pronto. Agora (espero) que todo mundo tenha entendido, vamos testar.
Se você conseguiu o seguinte efeito, já está apto a passar pro próximo nível: