Pular para o conteúdo principal

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)