Tempos de Recarga de Elite Script
Os tempos de recarga definem a quantidade de tempo que deve passar antes que o chefe possa executar tanto o mesmo script quanto qualquer outro poder*.
- Nota: alguns poderes atualmente não são afetados por tempos de recarga.
Local de Configuração
Os tempos de recarga são configurados na seção Cooldowns de um elite script:
eliteScript:
ScriptName:
Events:
- [event configuration]
Actions:
- [action configuration]
Cooldowns:
local: [value or range]
global: [value or range]
Nota: As chaves de configuração não diferenciam maiúsculas de minúsculas (local, Local, LOCAL todas funcionam).
Nota sobre Unidades: Todos os valores de tempo de recarga são especificados em ticks. No Minecraft, existem 20 ticks por segundo, portanto:
- 20 ticks = 1 segundo
- 60 ticks = 3 segundos
- 100 ticks = 5 segundos
- 99999 ticks ≈ 83 minutos
Valores Padrão
Se a seção Cooldowns for omitida, tanto local quanto global assumem o valor padrão de 0, o que significa que o script ignora completamente o sistema de tempo de recarga.
Ignorar Tempo de Recarga
Scripts sem uma seção Cooldowns, ou com ambos local e global definidos como 0, ignorarão completamente o sistema de tempo de recarga. Isso permite comportamentos acionados por eventos que devem sempre ser executados independentemente do estado de tempo de recarga do chefe.
Exemplo:
eliteScript:
AlwaysTeleportOnLowHealth:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: TELEPORT
Target:
targetType: SELF_SPAWN
# Sem seção Cooldowns - o script sempre executa quando o evento é disparado
Os tempos de recarga têm dois valores:
local
local define o tempo, em ticks, antes que o mesmo script possa ser executado novamente. Exemplo:
Exemplo
local: 60
Define o poder para poder ser executado novamente após 3 segundos.
global
global define o tempo, em ticks, antes que qualquer outro script ou poder possa ser executado novamente[1]. Exemplo:
Exemplo
global: 20
Define que todos os outros poderes não possam iniciar por 1 segundo.
[1] Nota: Isto se aplica a implementações de poderes legados (não EliteScripts). Todos os poderes baseados em EliteScript suportam corretamente tempos de recarga globais. Alguns dos poderes mais antigos atualmente não são afetados por isto, é um trabalho em andamento.
Nota: ao tornar o tempo de recarga local mais longo e o global mais curto, você pode garantir que o chefe alternará entre seus poderes disponíveis! Nunca torne o tempo de recarga global mais longo, e recomendo deixar pelo menos um segundo de tempo de recarga local para dar a outros poderes a chance de serem acionados.
Além disso, se o seu poder tem uma duração específica durante a qual está ativo, você deve usar este sistema para evitar que outros poderes sejam executados simultaneamente e potencialmente arruinem seu poder.
Aleatorização
Tanto os tempos de recarga local quanto global suportam aleatorização usando sintaxe de intervalo. Isso permite que as durações de tempo de recarga variem, adicionando imprevisibilidade ao comportamento do chefe.
Exemplo:
Cooldowns:
local: 40-80
global: 10-30
Define o tempo de recarga local aleatoriamente entre 40 e 80 ticks (2-4 segundos) e o global aleatoriamente entre 10 e 30 ticks (0,5-1,5 segundos).
Nota: Os valores são selecionados aleatoriamente cada vez que o tempo de recarga é aplicado.
Executar Scripts Apenas Uma Vez com Tempos de Recarga
Para garantir que os scripts sejam acionados apenas uma vez enquanto utiliza um Evento que pode ocorrer múltiplas vezes durante um combate, defina o tempo de recarga local para um número alto, como 99999. Este exemplo demonstra o conceito:
Exemplo
eliteScript:
SetMeOnFireOnlyOnce:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_ON_FIRE
duration: 60
Target:
targetType: DIRECT_TARGET
Cooldowns:
local: 99999
# global: 20 # Opcional: Prevenir outros poderes por 1 segundo
Neste cenário, o EliteMobDamagedByPlayerEvent aciona a ação SET_ON_FIRE. Sem tempos de recarga, a ação seria ativada toda vez que o jogador atingisse o mob.
No entanto, com um tempo de recarga local definido como 99999, a ação só será acionada uma vez a cada 99999 ticks (83 minutos). Como o combate raramente dura tanto tempo, isso efetivamente faz o script executar apenas uma vez por encontro de combate.
O tempo de recarga global é opcional neste caso - se omitido ou definido como 0, não impedirá que outros poderes sejam executados.
Solução de Problemas
Chaves de Tempo de Recarga Inválidas
Se você usar uma chave não reconhecida na seção Cooldowns, um aviso aparecerá nos logs do servidor:
Failed to parse cooldown entry for script name [ScriptName] in config file [FileName]
As chaves válidas são: local, global (sem distinção de maiúsculas)