Saltar 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)
CajadosArma STAFF válida definida no FMMRequer FreeMinecraftModels compatível
VarinhasArma WAND válida definida no FMMRequer FreeMinecraftModels compatível
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 habilidades, ajuda a determinar o acesso ao conteúdo e a dificuldade dos elites naturais próximos. As restrições de equipamento usam a habilidade correspondente de arma ou armadura; o equipamento elite de nível 20 ou inferior está isento.

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. Consulte 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 (predefiniçã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 (predefinição 15). O mesmo limite aplica-se ao loot de elites naturais; o loot 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 (predefinição 30). Ultrapassar farmingProtectionKills mortes (predefiniçã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.

Vantagens de XP por permissões​

O XP de armas e armadura ganho em combate pode receber um multiplicador por permissões. Estas vantagens não contornam os requisitos para receber recompensas nem multiplicam outras atribuições de XP.

elitemobs.perks.xp.<perk>.<skill>

Use os nomes ingleses das habilidades em minúsculas (swords, armor, wands, etc.), ou all para todas as habilidades.

VantagemMultiplicador
10percentboost1.10
25percentboost1.25
50percentboost1.50
double2.00
150percentboost2.50
triple3.00
quadruple4.00
customboostcustomXpPerkMultiplier em skills.yml, 1.0 por predefinição

As vantagens normais não se acumulam: aplica-se o maior multiplicador elegível. customboost substitui essa escolha, mesmo que o multiplicador configurado seja 1.0 ou inferior. As negações explícitas por habilidade são respeitadas. O multiplicador personalizado tem de ser finito e não negativo; valores inválidos são substituídos por 1.0.

O resultado é arredondado para baixo para XP inteiro antes do evento público de XP de habilidade. Por exemplo, elitemobs.perks.xp.double.swords duplica o XP elegível de espadas sem duplicar o XP de armadura.

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
  • A que masmorras e conteúdo instanciado pode aceder
  • O limite superior do nível de recompensa para XP de habilidade e loot de elites naturais; a elegibilidade de XP por nível baixo usa cada habilidade individual

As restrições de equipamento usam a habilidade correspondente de arma ou armadura, não o Nível de Combate. Os itens de nível 20 ou inferior estão isentos.

Apresentação do Nível de Combate​

O seu nível de combate aparece como um número flutuante acima da cabeça, visível para si e para os outros jogadores conforme as regras de visibilidade das etiquetas de nome. Usa entidades de texto baseadas em pacotes e atualiza-se quando as habilidades mudam. O formato é configurável (predefinição: Combat Lv. X). Quando o [Alpha] Advanced Combat System lhe atribui uma classe ativa, a etiqueta mostra essa classe e o seu nível. Enquanto estiver em combate, aparece uma linha de vida ❤ current/max por cima da etiqueta. Nos mundos indicados em classLabelWorldExclusions, a etiqueta da classe fica oculta; aí, os jogadores sem classe mantêm a etiqueta do nível de combate.

usePassengerCombatLevelDisplay em config.yml é true por predefinição, pelo que esta etiqueta vai no jogador como um passageiro que existe apenas nos pacotes e nunca fica para trás a pé. Os outros jogadores continuam a ver o nome do jogador. Defini-la como false usa texto que segue o jogador, que se teletransporta atrás dele com um curto deslizamento. Enquanto outra entidade monta o jogador, o modo passageiro passa automaticamente a texto que o segue. Enquanto o jogador vai num veículo que sentaria a etiqueta no lugar do próprio jogador, a etiqueta vai no veículo. Consulte Feedback de combate.

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 apresentado, 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.

Consulte Bónus de Habilidade para a lista completa de todos os 104 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.
  • Apresentação do Nível de Combate: Número flutuante acima da cabeça, visível para si e para os outros jogadores conforme as regras de visibilidade das etiquetas de nome. 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 predefiniçã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çãoPredefiniçã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 apresentaçã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
classLabelWorldExclusions(vazio)Lista de nomes de mundos onde apenas a etiqueta da classe acima dos jogadores fica oculta. Os nomes dos jogadores, as indicações de vida em combate, as habilidades e a XP não mudam, e os jogadores sem classe mantêm a etiqueta do nível de combate. A correspondência não diferencia maiúsculas de minúsculas
skillsMenuTitle&5&lYour SkillsTítulo do menu de habilidades
showCombatLevelDisplaytrueMostrar a etiqueta da classe ou 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 apresentação do nível de combate

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

[Alpha] Advanced Combat System​

Consulte o guia de progressão de classes, treino e controlos para o percurso completo, incluindo Adventurer, as provas dos treinadores, os requisitos de base e as teclas de Java.

O [Alpha] Advanced Combat System acrescenta classes e habilidades ao combate do EliteMobs. Partilhe o seu feedback sobre a alfa com o programador. Em plugins/EliteMobs/AdvancedCombatSystem.yml, enabled é true por predefinição; mude-o para false e recarregue o EliteMobs para desativar o módulo. As classes e o seu equilíbrio mantêm-se fixos durante a fase alfa. As definições de versões anteriores não são importadas automaticamente; configure este ficheiro antes de iniciar um servidor atualizado.

/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 cajado e a varinha incluídos; permanece bloqueado sem esse conteúdo. Os cajados e as varinhas usam identidades de itens registadas: um pau, lança ou vara de blaze normal não é automaticamente uma arma mágica.

Em Java, prime F e depois 1/2/3 para Mobility, Signature ou Utility. Um segundo F seleciona Mobility; durante a janela de seleção, o clique esquerdo seleciona Signature e o direito Utility. Os controlos estão ativos no conteúdo de combate do EliteMobs. allowClassAbilitiesOutsideEliteMobsWorlds é true por predefinição e permite ativá-los fora desse conteúdo durante a sessão, premindo F duas vezes enquanto está agachado.

O NPC GUILD_GREETER abre a seleção de bónus de habilidades de arma, quer o combate de classes esteja ativo ou não. Visite os NPCs CLASS_TRAINER separados para treinar classes. 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.