Pular para o conteúdo principal

Sistema de Habilidades

O EliteMobs usa um sistema de progressão baseado em habilidades, onde os jogadores sobem de nível ao lutar contra elite mobs. Em vez de um único nível global, os jogadores desenvolvem habilidades individuais de armas e uma habilidade de armadura que, em conjunto, determinam o seu poder geral.

Existem 11 tipos de habilidade:

HabilidadeArmaNotas
EspadasQualquer _SWORD
MachadosQualquer _AXE
ArcosBOW
BestasCROSSBOW
TridentesTRIDENT
Enxadas (Foices)Qualquer _HOE
MaçasMACERequer Minecraft 1.21+
LançasQualquer _SPEARRequer Minecraft 1.21.11+ (com resource pack)
Bastõesexperimental_arcane_staff
Varinhasexperimental_arcane_wand
ArmaduraCapacetes, peitorais, calças, botasSobe de nível passivamente

As habilidades sobem de nível ao usar a arma associada para matar elite mobs. O seu Nível de Combate -- calculado a partir das suas habilidades -- determina a que conteúdo pode aceder, que equipamento pode equipar e que dificuldade de mobs surge à sua volta.

Como as Habilidades Sobem de Nível

Quando mata um elite mob, ganha XP com base no nível do mob. O XP é distribuído da seguinte forma:

  • O XP de armas é dividido pelas habilidades registadas nos golpes ou no lançamento de projéteis, conforme a contribuição de dano. Trocar de arma quando o mob morre não redireciona o XP.
  • O XP de armadura é atribuído automaticamente com um multiplicador de 1/3 sobre a sua parte de XP. Pode ultrapassar uma habilidade de arma individual se usar vários tipos de armas.
  • Combates em grupo: Quando vários jogadores causam dano ao mesmo elite, o XP é dividido proporcionalmente à contribuição de dano de cada jogador. Se causou 60% do dano, recebe 60% do XP base.

XP Base dos Mobs

O XP base ganho ao matar um mob é:

mob_xp = mob_level ^ 2
Nível do MobXP Ganho
11
10100
25625
502,500
10010,000

Multiplicador de XP de Boss

Mobs mais duros valem mais. O XP base acima é multiplicado por um fator derivado do healthMultiplier e do damageMultiplier do mob:

bossXPMultiplier = healthMultiplier^0.6 * (1 + (damageMultiplier - 1) * 0.15)

O componente de HP usa um expoente sublinear (0.6) para que lutas mais longas paguem mais sem tornar os bosses de vida elevada desproporcionalmente lucrativos de farmar. O componente de dano é fortemente amortecido, porque mesmo pequenos aumentos de dano elevam muito a dificuldade e uma recompensa linear empurraria os jogadores para alvos suicidas.

healthMultiplierdamageMultiplierMultiplicador de XP
1.01.01.00x
3.0 (miniboss)1.21.99x
7.0 (boss)1.43.41x
40.0 (world boss)1.59.83x

A ordem completa das operações numa morte é: nível efetivo do mob (após os limites antiexploit abaixo) → XP base → multiplicador de boss → divisão pela contribuição de dano → XP de arma e XP de armadura.

Proteções Antiexploit

Todas as três são configuradas em AntiExploit.yml e são totalmente ignoradas quando enableFarmingProtection é false. Veja Proteção contra Farming para a tabela de configuração completa.

  • Mobs de nível baixo (por habilidade): Cada habilidade de arma ou armadura só ganha XP se o mob estiver, no máximo, farmingProtectionLevelDifference níveis abaixo do nível dessa habilidade específica (padrão 15). Esta verificação usa o nível individual da habilidade, não o nível de combate, e é totalmente ignorada no combate escalado, onde o mob é normalizado ao jogador e não faz sentido considerá-lo de nível demasiado baixo.
  • Mobs de nível alto: O XP de habilidade usa um nível efetivo de recompensa limitado a combat_level + farmingProtectionLevelDifference (padrão 15). O mesmo limite aplica-se ao saque de elites naturais; o saque de bosses personalizados não usa este limite de nível da proteção contra farming. Os restantes requisitos para receber XP continuam a aplicar-se.
  • Limite natural de farming de elites: As mortes de elites naturais (que não sejam bosses personalizados) são contadas numa janela deslizante com a duração de farmingProtectionMinutes (padrão 30). Ultrapassar farmingProtectionKills mortes (padrão 20) dentro dessa janela bloqueia-o das recompensas de elites naturais durante uma janela completa. É informado no chat quando o bloqueio começa e novamente quando termina. Os bosses personalizados estão isentos.

Progressão de XP

O XP necessário para avançar do seu nível atual para o nível seguinte segue esta fórmula:

Níveis 1-100:

xp_to_next_level = 8.5 * current_level ^ 3

Níveis acima de 100 (limite suave):

xp_to_next_level = 8.5 * current_level ^ 3 * (1 + ((current_level - 100) ^ 2 / 100))

O multiplicador do limite suave é 1.0 no nível 100 (sem penalização extra) e cresce de forma quadrática. Ao nível 150, o multiplicador atinge 26x, tornando o progresso adicional extremamente difícil.

Tabela de XP Por Nível

A tabela abaixo mostra o XP necessário para passar de um dado nível para o seguinte, e aproximadamente quantas mortes de mobs do mesmo nível isso requer (habilidade de arma, não armadura):

NívelXP até ao Nível SeguinteMortes de Mobs do Mesmo Nível
108,50085
25132,812213
501,062,500425
753,585,937638
1008,500,000850
A Armadura Demora Mais

A armadura ganha XP a 1/3 da taxa das armas, por isso são precisas aproximadamente 3x mais mortes para subir a armadura de nível em comparação com os números acima. Ao nível 50, isso significa cerca de 1,275 mortes do mesmo nível só para a armadura.

Nível de Combate

O seu Nível de Combate é a medida geral do seu poder. É calculado como:

combat_level = (highest_weapon_skill + second_highest_weapon_skill + armor_skill) / 3

O resultado é arredondado para baixo (divisão inteira).

O Nível de Combate determina:

  • O nível dos elite mobs que surgem à sua volta
  • Que equipamento pode equipar (o nível do equipamento tem de ser igual ou inferior ao nível da sua habilidade correspondente)
  • A que masmorras e conteúdo instanciado pode aceder
  • A elegibilidade para XP e saque (as verificações antiexploit usam o nível de combate)

Exibição do Nível de Combate

O seu nível de combate é mostrado como um número flutuante acima da sua cabeça, visível para os outros jogadores. Isto usa exibições de texto baseadas em pacotes (packets) e atualiza-se automaticamente sempre que as suas habilidades mudam. O formato de exibição é configurável (padrão: Combat Lv. X).

Barra de XP

Quando ganha XP de habilidade, surge uma boss bar animada que mostra o seu progresso até ao nível seguinte. A barra apresenta:

  • Animação suave que sobe lentamente à medida que o XP é ganho
  • Uma cor diferente por tipo de habilidade (ex.: vermelho para Espadas, verde para Arcos, azul para Armadura)
  • Efeitos especiais de partículas e som ao subir de nível
  • Esconde-se automaticamente após 5 segundos de inatividade

Restrições de Equipamento

O equipamento do EliteMobs tem requisitos de nível ligados ao sistema de habilidades. Para equipar um item elite, o seu nível de habilidade para esse tipo de arma ou armadura tem de ser igual ou superior ao nível do item.

Exceção: Os itens de nível 20 ou inferior podem ser equipados por qualquer pessoa, independentemente do nível de habilidade. Isto garante que os novos jogadores podem usar livremente o equipamento de início de jogo sem ficarem bloqueados.

Se tentar equipar um item acima do seu nível de habilidade, receberá uma mensagem de aviso e o item não fornecerá quaisquer bónus elite.

Bónus de Habilidade

À medida que sobe de nível as suas habilidades, desbloqueia habilidades de combate especiais em quatro níveis. Cada nível desbloqueia um conjunto de bónus para essa habilidade, e não apenas um:

NívelDesbloqueia ao
1Nível 10
2Nível 25
3Nível 50
4Nível 75

Desbloquear um nível não concede um slot. Pode ter até 3 bónus ativos por tipo de arma ou armadura de cada vez, escolhidos entre tudo o que desbloqueou. Os bónus de habilidade são geridos através do menu /em ou visitando o NPC de Bónus de Habilidade na Guilda dos Aventureiros.

O que controlam os ficheiros skillbonuses

Os ficheiros skillbonuses/*.yml controlam a apresentação (nome de exibição, descrição, nível de desbloqueio, tipo de bónus, ícone de menu e modelos de lore) e parte do equilíbrio. O plugin lê baseValue, scalingPerLevel, procChance, cooldownSeconds, maxStacks e stackBonus quando um bónus consulta a sua configuração. Os bónus que não leem estas chaves usam constantes fixadas no código. Consulte Bónus de Habilidade para saber que valores cada bónus obtém da configuração.

Veja Bónus de Habilidade para a lista completa de todos os 84 bónus e o que fazem.

Notificações e UI

O sistema de habilidades fornece várias formas de feedback:

  • Subir de Nível: Mensagem de título, som de desafio completo e explosão de partículas de totem-da-imortalidade em cada subida de nível.
  • Marcos: É enviada uma transmissão para todo o servidor apenas quando um jogador atinge um nível marcante (a cada 5 níveis: 5, 10, 15, ...). As subidas de nível normais não são transmitidas. A transmissão pode ser desligada em dungeons.yml.
  • Exibição do Nível de Combate: Número flutuante acima da sua cabeça, visível para os outros jogadores. Atualiza-se automaticamente ao subir de nível.
  • Barra de XP: Boss bar animada que mostra o progresso de XP de habilidade durante o combate.
  • Mensagens de Ganho de XP: Mensagens opcionais de XP por morte (desativadas por padrão, pois podem ser repetitivas).

A maioria do acima é configurada em skills.yml; a transmissão de subida de nível marcante e a sua mensagem ficam em dungeons.yml.

Comandos de Admin

ComandoPermissãoDescrição
/em skill check <player>elitemobs.skill.checkVer os níveis de habilidade, progresso de XP e percentagens de um jogador
/em skill set <player> <skillType> <level>elitemobs.skill.adminDefinir uma habilidade específica para um determinado nível
/em skill setAll <player> <level>elitemobs.skill.adminDefinir todas as habilidades para o mesmo nível
/em debug combat startelitemobs.adminIniciar o teste automatizado do sistema de combate
/em debug combat test <type>elitemobs.adminTestar um tipo de arma específico (ex.: swords, bows)
/em debug combat resultselitemobs.adminVer os resultados do último teste de combate
/em debug combat cancelelitemobs.adminCancelar um teste de combate ativo
nota

O argumento skillType de /em skill set aceita: ARMOR, SWORDS, AXES, BOWS, CROSSBOWS, TRIDENTS, HOES, MACES, SPEARS, STAVES, WANDS.

Configuração do Servidor

O sistema de habilidades é configurado em skills.yml. Definições principais:

DefiniçãoPadrãoDescrição
skillSystemEnabledtrueAtiva ou desativa todo o sistema de habilidades
armorSkillHealthBonusEnabledtrueSe a habilidade de Armadura concede vida máxima bónus (+1 coração por nível acima de 1)
scalePlayerHealthDisplayToVanillafalseMantém a HP máxima do EliteMobs, mas escala visualmente o HUD do jogador de volta aos 10 corações vanilla
forceDefaultHealthWhenArmorSkillHealthBonusDisabledfalseQuando o bónus de vida da armadura está desativado, força os jogadores aos 20 de vida máxima vanilla ao entrar
skillWorldExclusions(vazio)Lista de nomes de mundos onde o sistema de habilidades está inativo. Os jogadores nestes mundos não recebem XP de habilidade, bónus de vida da armadura, barras de XP nem exibição de nível de combate. Útil para mundos de eventos onde todos devem ser iguais. A correspondência não diferencia maiúsculas de minúsculas
skillsMenuTitle&5&lYour SkillsTítulo do menu de habilidades
showCombatLevelDisplaytrueMostrar o número do nível de combate acima dos jogadores
showXPBartrueMostrar a barra animada de progresso de XP durante o combate
skillBarTitleFormat&6$skillName &7Lv.$level$xpTextFormato do título da barra de XP
skillLevelUpTitleFormat&e&l✦ $skillName LEVEL UP! &7→ &eLv.$level &e&l✦Formato do título da boss bar de subida de nível
combatLevelFormat&6&lCombat Lv. $levelFormato de exibição do nível de combate

Para a referência completa de configuração, veja a página Configuração do EliteMobs.

Combate experimental

As compilações atuais incluem um sistema experimental de classes separado. Em plugins/EliteMobs/Experimental Combat.yml, enabled é true por predefinição; usa false e recarrega EliteMobs para o desativar. As classes e o equilíbrio estão fixados no plugin durante esta fase. Confirma a versão instalada e a configuração gerada antes de aplicar esta secção a um servidor antigo.

/em class abre o perfil, /em class info <class> explica uma forma e /em class select <class> seleciona uma forma desbloqueada. Exigem elitemobs.command. As classes base são paladin, berserker, ranger, cleric e spellcaster. Spellcaster exige FreeMinecraftModels compatível com o bastão e a varinha incluídos; permanece bloqueado sem esse conteúdo. Bastões e varinhas usam identidades de itens registadas: um pau, lança ou vara de blaze normal não é automaticamente uma arma mágica.

/em class input java_hotbar_layer usa F seguido de 1/2/3 para Mobility, Signature e Utility. /em class input focus_item seleciona os controlos alternativos do item Focus, obtido com /em class focus. Os controlos estão ativos no conteúdo de combate EliteMobs. allowClassAbilitiesOutsideEliteMobsWorlds é true por predefinição e permite ativá-los fora durante a sessão premindo F duas vezes enquanto te agachas.

Com o módulo ativo, GUILD_GREETER abre Guild Training; desativado, abre a seleção de bónus de armas. A progressão de classes é separada da de armas e armadura. Dano de habilidades de classe sem identidade de arma não dá XP de armas.