Pular para o conteúdo principal

Dificuldade de Masmorras Instanciadas

As masmorras instanciadas têm uma definição especial que permite definir facilmente diferentes dificuldades para a masmorra.

Como funciona

As dificuldades são em parte inspiradas no sistema de level sync do Final Fantasy 14.

As armaduras e armas elite recebem dano elite e defesa elite específicos com base no seu nível, como podes ver nos itens. Quando estás numa masmorra instanciada com uma dificuldade ativa, o nível do item é temporária e invisivelmente reduzido para corresponder ao level sync.

O EliteMobs usa escalonamento exponencial, em que cada 5 níveis de diferença duplicam o poder efetivo. Por exemplo, uma espada de nível 50 é significativamente mais poderosa do que uma espada de nível 45. Se um jogador estiver numa masmorra instanciada com uma dificuldade que sincroniza o equipamento para o nível 45, a espada de nível 50 comporta-se como uma espada de nível 45, com dano proporcionalmente reduzido.

No entanto, se essa espada tiver sharpness de nível 10, continua a acrescentar a mesma quantidade de dano por cima do dano base.

Isto significa que, em masmorras instanciadas com dificuldades, o que importa não é tanto o nível do equipamento, mas a qualidade do equipamento. Os jogadores que queiram vencer a dificuldade mítica terão de trabalhar para obter itens de alta qualidade noutras masmorras instanciadas e, possivelmente, interagir bastante com o sistema de melhoria de itens.

Isto também torna quase impossível a jogadores veteranos esmagarem conteúdo antigo de alta dificuldade, e dá um incentivo para o jogarem mesmo quando o seu nível está muito acima do nível da masmorra.

Sistema de grupos

O EliteMobs tem grupos apenas de sessão com até cinco membros. Quando um membro do grupo seleciona uma masmorra instanciada, o EliteMobs guarda uma fotografia da lista atual e inicia uma confirmação clicável. O iniciador conta automaticamente como pronto; todos os restantes membros têm de aceitar a masmorra e a dificuldade exatas antes de a preparação do mundo começar. Nas masmorras dinâmicas, a mensagem inclui também o nível escolhido. Uma recusa, expiração, alteração da lista, membro indisponível, falha de permissão, falha de capacidade, conflito com uma instância ativa ou o cancelamento da verificação prévia MatchJoinEvent do MagmaCore aborta a entrada do grupo, em vez de mover apenas parte dele. O PlayerJoinDungeonEvent do EliteMobs é uma notificação não cancelável emitida depois da admissão.

Os desafios pessoais de encantamento de itens continuam a ser a solo, porque o desafio controla temporariamente o item do jogador que o inicia.

Para ter em conta a presença de vários jogadores lá dentro, os bosses são desenhados com poderes específicos que se tornam mais perigosos à medida que mais jogadores entram na arena. Além disso, os bosses recebem um aumento de vida que escala com o número de jogadores na instância. A fórmula é: scaledHealth = baseHealth * 0.75 * playerCount. Por exemplo, com 2 jogadores o boss tem 1,5x a sua vida base, com 3 jogadores 2,25x e com 5 jogadores 3,75x.

Nota: o escalonamento de vida só se aplica quando há 2 ou mais jogadores na instância. Os jogadores a solo enfrentam bosses com valores de vida padrão.

Como definir uma dificuldade

As dificuldades são definidas na pasta content_packages, no ficheiro do pacote de masmorra das masmorras instanciadas. Este ficheiro está localizado em /plugins/EliteMobs/content_packages/[your_dungeon_name]/[package_file].yml e deve estar junto de outras definições da masmorra, como contentLevel e name.

Vejamos um exemplo:

difficulties:
- levelSync: 60
name: normal
- levelSync: 50
name: hard
- levelSync: 40
name: mythic

Isto define três dificuldades. Só o name é realmente obrigatório — é por ele que a dificuldade é identificada, tanto no menu como internamente. levelSync e id são opcionais; uma dificuldade sem levelSync simplesmente não aplica qualquer level sync.

O name é o nome da dificuldade, tal como aparecerá na definição de dificuldade dentro do jogo. Pode ter qualquer nome.

O levelSync define o limite de nível dos itens para a masmorra instanciada, tal como explicado acima nesta página.

Podes definir tantas ou tão poucas dificuldades quantas quiseres. Basta adicionar ou remover entradas na definição difficulties usando o mesmo formato.

Level sync relativo

O level sync também pode usar valores relativos em vez de números absolutos. Coloca sempre o valor entre aspas. O YAML resolve um +5 sem aspas para o inteiro simples 5, e o + inicial já desapareceu quando o EliteMobs o lê -- por isso levelSync: +5 torna-se silenciosamente um sync absoluto no nível 5, e levelSync: +0 torna-se um 0 absoluto, o que desativa completamente o level sync. Os valores negativos sem aspas, como levelSync: -10, acabam por sobreviver, porque o - é preservado e o EliteMobs continua a lê-lo como relativo -- mas colocar todos os valores entre aspas é a única forma inequívoca:

difficulties:
- levelSync: '+5'
name: easy
- levelSync: '+0'
name: normal
- levelSync: '-10'
name: hard

Os valores relativos são calculados a partir do nível de conteúdo base da masmorra, e o resultado nunca pode ficar abaixo de 1. Por exemplo, se uma masmorra tiver nível de conteúdo 60:

  • levelSync: '+5' torna-se 65
  • levelSync: '+0' torna-se 60
  • levelSync: '-10' torna-se 50

Isto é particularmente útil em masmorras dinâmicas, onde o nível de conteúdo pode variar. Numa masmorra dinâmica, o nível de conteúdo só é conhecido depois de a instância ser criada, pelo que o valor relativo é resolvido nesse momento.

Um levelSync: 0 absoluto — ou qualquer valor que o EliteMobs não consiga interpretar — significa nenhum level sync para essa dificuldade.

Campo opcional de ID da dificuldade

Podes definir um campo id em cada entrada de dificuldade. Este ID é usado por bosses personalizados e itens personalizados para aplicar poderes e loot baseados na dificuldade. Se não definires o campo id, a dificuldade não terá ID e as funcionalidades baseadas em dificuldade que dependem dele não se aplicam.

difficulties:
- levelSync: 60
name: normal
id: 0
- levelSync: 50
name: hard
id: 1

Poderes com base na dificuldade

É possível configurar bosses para terem poderes apenas em dificuldades específicas. Vejamos um exemplo:

powers:
- filename: invulnerability_fire.yml
difficultyID:
- 1
- 2

Nota: isto faz parte do ficheiro de configuração do boss personalizado!

Neste caso, o boss só terá invulnerabilidade ao fogo nas dificuldades com o ID 1 e 2.

Loot com base na dificuldade

É possível configurar bosses para largarem loot específico de uma dificuldade de masmorra instanciada. Vejamos um exemplo:

uniqueLootList:
- filename: himiko_boss_drop_axe_tank_normal.yml
chance: 0.05
difficultyID: 0

Nota: isto faz parte do ficheiro de configuração do boss personalizado!

Neste caso, o boss só larga o loot himiko_boss_drop_axe_tank_normal.yml na dificuldade 0, e com 5% de probabilidade.