Saltar al contenido principal

Sistema de habilidades

EliteMobs utiliza un sistema de progresión basado en habilidades en el que los jugadores suben de nivel luchando contra mobs élite. En lugar de un único nivel global, los jugadores desarrollan habilidades de armas individuales y una habilidad de armadura que, juntas, determinan su poder general.

Hay 11 tipos de habilidades:

HabilidadArmaNotas
EspadasCualquier _SWORD
HachasCualquier _AXE
ArcosBOW
BallestasCROSSBOW
TridentesTRIDENT
Azadas (Guadañas)Cualquier _HOE
MazasMACERequiere Minecraft 1.21+
LanzasCualquier _SPEARRequiere Minecraft 1.21.11+ (con paquete de recursos)
Bastonesexperimental_arcane_staff
Varitasexperimental_arcane_wand
ArmaduraCascos, petos, grebas, botasSube de nivel pasivamente

Las habilidades suben de nivel al usar el arma asociada para matar mobs élite. Tu Nivel de Combate -- calculado a partir de tus habilidades -- determina a qué contenido puedes acceder, qué equipamiento puedes equipar y qué dificultad de mobs aparece a tu alrededor.

Cómo suben de nivel las habilidades

Cuando matas a un mob élite, ganas XP según el nivel del mob. La XP se distribuye de la siguiente manera:

  • La XP de armas se reparte según la contribución de daño entre las habilidades registradas al golpear o lanzar proyectiles. Cambiar de arma al morir el mob no redirige la XP.
  • La XP de armadura se concede automáticamente con un multiplicador de 1/3 sobre tu parte de XP. Puede superar una habilidad de arma individual si utilizas varios tipos.
  • Combates en grupo: Cuando varios jugadores dañan al mismo élite, la XP se reparte proporcionalmente a la contribución de daño de cada uno. Si causaste el 60% del daño, recibes el 60% de la XP base.

XP base de los mobs

La XP base obtenida al matar a un mob es:

mob_xp = mob_level ^ 2
Nivel del mobXP obtenida
11
10100
25625
502,500
10010,000

Multiplicador de XP de jefe

Los mobs más duros valen más. La XP base de arriba se multiplica por un factor derivado del healthMultiplier y el damageMultiplier del mob:

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

El componente de HP usa un exponente sublineal (0.6) para que las peleas más largas paguen más sin hacer que los jefes con mucha salud sean desproporcionadamente rentables de farmear. El componente de daño está muy amortiguado, porque incluso pequeños aumentos de daño suben mucho la dificultad y una recompensa lineal empujaría a los jugadores hacia objetivos suicidas.

healthMultiplierdamageMultiplierMultiplicador de XP
1.01.01.00x
3.0 (minijefe)1.21.99x
7.0 (jefe)1.43.41x
40.0 (jefe de mundo)1.59.83x

El orden completo de operaciones al matar es: nivel efectivo del mob (tras los topes anti-exploit de abajo) → XP base → multiplicador de jefe → reparto según la contribución de daño → XP de arma y XP de armadura.

Protecciones anti-exploit

Las tres se configuran en AntiExploit.yml y se omiten por completo cuando enableFarmingProtection es false. Consulta Protección contra farmeo para la tabla de configuración completa.

  • Mobs de nivel bajo (por habilidad): Cada habilidad de arma o armadura solo gana XP si el mob está como máximo farmingProtectionLevelDifference niveles por debajo del nivel de esa habilidad concreta (por defecto 15). Esta comprobación usa el nivel individual de la habilidad, no el nivel de combate, y se omite por completo en el combate escalado, donde el mob se normaliza al jugador y no tiene sentido considerarlo de nivel demasiado bajo.
  • Mobs de nivel alto: La XP de habilidad utiliza un nivel efectivo de recompensa limitado a combat_level + farmingProtectionLevelDifference (por defecto 15). El mismo límite se aplica al botín de élites naturales; el botín de jefes personalizados no utiliza este límite de nivel de la protección contra el farmeo. Los demás requisitos para recibir XP siguen aplicándose.
  • Límite de farmeo de élites naturales: Las muertes de élites naturales (que no son jefes personalizados) se cuentan en una ventana móvil de farmingProtectionMinutes de duración (por defecto 30). Superar farmingProtectionKills muertes (por defecto 20) dentro de esa ventana te bloquea las recompensas de élites naturales durante una ventana completa. Se te avisa por chat cuando empieza el bloqueo y de nuevo cuando se levanta. Los jefes personalizados están exentos.

Progresión de XP

La XP necesaria para avanzar de tu nivel actual al siguiente sigue esta fórmula:

Niveles 1-100:

xp_to_next_level = 8.5 * current_level ^ 3

Niveles superiores a 100 (límite blando):

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

El multiplicador del límite blando es 1.0 en el nivel 100 (sin penalización extra) y crece de forma cuadrática. Para el nivel 150, el multiplicador alcanza 26x, lo que hace que el progreso adicional sea extremadamente difícil.

Tabla de XP por nivel

La tabla siguiente muestra la XP necesaria para pasar de un nivel dado al siguiente, y aproximadamente cuántas muertes de mobs del mismo nivel requiere (habilidad de arma, no de armadura):

NivelXP al siguiente nivelMuertes de mobs del mismo nivel
108,50085
25132,812213
501,062,500425
753,585,937638
1008,500,000850
La armadura tarda más

La armadura gana XP a 1/3 del ritmo del arma, por lo que se necesitan aproximadamente 3 veces más muertes para subir de nivel la armadura en comparación con las cifras anteriores. En el nivel 50, eso significa unas 1,275 muertes del mismo nivel solo para la armadura.

Nivel de combate

Tu Nivel de Combate es la medida general de tu poder. Se calcula así:

combat_level = (highest_weapon_skill + second_highest_weapon_skill + armor_skill) / 3

El resultado se redondea hacia abajo (división entera).

El Nivel de Combate determina:

  • El nivel de los mobs élite que aparecen a tu alrededor
  • Qué equipamiento puedes equipar (el nivel del equipo debe ser igual o inferior a tu nivel de habilidad correspondiente)
  • A qué mazmorras y contenido instanciado puedes acceder
  • La elegibilidad para XP y botín (las comprobaciones anti-exploit usan el nivel de combate)

Visualización del nivel de combate

Tu nivel de combate se muestra como un número flotante sobre tu cabeza, visible para otros jugadores. Esto usa visualizaciones de texto basadas en paquetes y se actualiza automáticamente cada vez que cambian tus habilidades. El formato de la visualización es configurable (por defecto: Combat Lv. X).

Barra de XP

Cuando ganas XP de habilidad, aparece una barra de jefe animada que muestra tu progreso hacia el siguiente nivel. La barra incluye:

  • Una animación suave que va subiendo a medida que ganas XP
  • Un color diferente por tipo de habilidad (p. ej., rojo para Espadas, verde para Arcos, azul para Armadura)
  • Efectos especiales de partículas y sonido al subir de nivel
  • Se oculta automáticamente tras 5 segundos de inactividad

Restricciones de equipamiento

El equipamiento de EliteMobs tiene requisitos de nivel ligados al sistema de habilidades. Para equipar un objeto élite, tu nivel de habilidad para ese tipo de arma o armadura debe ser igual o superior al nivel del objeto.

Excepción: Los objetos de nivel 20 o inferior los puede equipar cualquiera independientemente de su nivel de habilidad. Esto garantiza que los jugadores nuevos puedan usar libremente el equipo de las primeras etapas sin quedar bloqueados.

Si intentas equipar un objeto por encima de tu nivel de habilidad, recibirás un mensaje de advertencia y el objeto no proporcionará ninguna bonificación élite.

Bonificaciones de habilidad

A medida que subes de nivel tus habilidades, desbloqueas habilidades de combate especiales en cuatro niveles. Cada nivel desbloquea un conjunto de bonificaciones para esa habilidad, no una sola:

NivelSe desbloquea en
1Nivel 10
2Nivel 25
3Nivel 50
4Nivel 75

Desbloquear un nivel no otorga una ranura. Puedes tener hasta 3 bonificaciones activas por tipo de arma o armadura a la vez, elegidas entre todo lo que hayas desbloqueado. Las bonificaciones de habilidad se gestionan a través del menú /em o visitando el NPC de Bonificaciones de Habilidad en el Gremio de Aventureros.

Qué controlan los archivos skillbonuses

Los archivos skillbonuses/*.yml controlan la presentación (nombre visible, descripción, nivel de desbloqueo, tipo de bonificación, icono de menú y plantillas de lore) y parte del equilibrio. El plugin lee baseValue, scalingPerLevel, procChance, cooldownSeconds, maxStacks y stackBonus cuando una bonificación consulta su configuración. Las bonificaciones que no leen esas claves usan constantes fijadas en el código. Consulta Bonificaciones de habilidad para saber qué valores toma cada bonificación de la configuración.

Consulta Bonificaciones de habilidad para ver la lista completa de las 84 bonificaciones y lo que hacen.

Notificaciones e interfaz

El sistema de habilidades proporciona varias formas de feedback:

  • Subida de nivel: Mensaje de título, sonido de desafío completado y estallido de partículas de tótem de la inmortalidad en cada subida de nivel.
  • Hitos: Solo se envía un anuncio a todo el servidor cuando un jugador alcanza un nivel hito (cada 5 niveles: 5, 10, 15, ...). Las subidas de nivel normales no se anuncian. El anuncio se puede desactivar en dungeons.yml.
  • Visualización del nivel de combate: Número flotante sobre tu cabeza, visible para otros jugadores. Se actualiza automáticamente al subir de nivel.
  • Barra de XP: Barra de jefe animada que muestra el progreso de la XP de habilidad durante el combate.
  • Mensajes de ganancia de XP: Mensajes opcionales de XP por muerte (desactivados por defecto, ya que pueden saturar el chat).

La mayoría de lo anterior se configura en skills.yml; el anuncio de subida de nivel hito y su mensaje viven en dungeons.yml.

Comandos de administrador

ComandoPermisoDescripción
/em skill check <player>elitemobs.skill.checkVer los niveles de habilidad de un jugador, el progreso de XP y los porcentajes
/em skill set <player> <skillType> <level>elitemobs.skill.adminFijar una habilidad específica a un nivel determinado
/em skill setAll <player> <level>elitemobs.skill.adminFijar todas las habilidades al mismo nivel
/em debug combat startelitemobs.adminIniciar las pruebas automatizadas del sistema de combate
/em debug combat test <type>elitemobs.adminProbar un tipo de arma específico (p. ej., espadas, arcos)
/em debug combat resultselitemobs.adminVer los resultados de la última prueba de combate
/em debug combat cancelelitemobs.adminCancelar una prueba de combate activa
nota

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

Configuración del servidor

El sistema de habilidades se configura en skills.yml. Ajustes clave:

AjustePor defectoDescripción
skillSystemEnabledtrueActiva o desactiva todo el sistema de habilidades
armorSkillHealthBonusEnabledtrueSi la habilidad de Armadura otorga salud máxima adicional (+1 corazón por nivel por encima de 1)
scalePlayerHealthDisplayToVanillafalseMantiene los PV máximos de EliteMobs, pero escala visualmente el HUD del jugador de vuelta a los 10 corazones vanilla
forceDefaultHealthWhenArmorSkillHealthBonusDisabledfalseCuando la bonificación de salud de la armadura está desactivada, fuerza a los jugadores a los 20 PV máximos vanilla al conectarse
skillWorldExclusions(vacío)Lista de nombres de mundos donde el sistema de habilidades está inactivo. Los jugadores en estos mundos no reciben XP de habilidad, bonificación de salud de armadura, barras de XP ni visualización del nivel de combate. Útil para mundos de eventos donde todos deben estar en igualdad. La coincidencia no distingue mayúsculas de minúsculas
skillsMenuTitle&5&lYour SkillsTítulo del menú de habilidades
showCombatLevelDisplaytrueMostrar el número de nivel de combate sobre los jugadores
showXPBartrueMostrar la barra animada de progreso de XP durante el combate
skillBarTitleFormat&6$skillName &7Lv.$level$xpTextFormato del título de la barra de XP
skillLevelUpTitleFormat&e&l✦ $skillName LEVEL UP! &7→ &eLv.$level &e&l✦Formato del título de la barra de jefe al subir de nivel
combatLevelFormat&6&lCombat Lv. $levelFormato de la visualización del nivel de combate

Para la referencia completa de configuración, consulta la página de Configuración de EliteMobs.

Combate experimental

Las compilaciones actuales incluyen un sistema experimental de clases independiente. En plugins/EliteMobs/Experimental Combat.yml, enabled es true por defecto; usa false y recarga EliteMobs para desactivarlo. Las clases y su equilibrio están fijados en el plugin durante esta fase. Comprueba la versión instalada y la configuración generada antes de aplicar esta sección a un servidor antiguo.

/em class abre el perfil, /em class info <class> explica una forma y /em class select <class> selecciona una forma desbloqueada. Requieren elitemobs.command. Las clases base son paladin, berserker, ranger, cleric y spellcaster. Spellcaster requiere FreeMinecraftModels compatible con su bastón y varita incluidos; permanece bloqueado si faltan. Bastones y varitas usan identidades de objetos registradas: un palo, lanza o vara de blaze normal no es automáticamente un arma mágica.

/em class input java_hotbar_layer usa F seguido de 1/2/3 para Mobility, Signature y Utility. /em class input focus_item selecciona el control alternativo con un objeto Focus, obtenido con /em class focus. Los controles están activos en contenido de combate EliteMobs. allowClassAbilitiesOutsideEliteMobsWorlds vale true por defecto y permite activarlos fuera durante la sesión pulsando F dos veces mientras te agachas.

Con el módulo activo, GUILD_GREETER abre Guild Training; desactivado, abre la selección de bonificaciones de armas. La progresión de clases es independiente de armas y armadura. El daño de habilidades de clase sin identidad de arma no otorga XP de armas.