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)
BastonesArma STAFF válida definida en FMMRequiere FreeMinecraftModels compatible
VaritasArma WAND válida definida en FMMRequiere FreeMinecraftModels compatible
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, ayuda a determinar el acceso al contenido y la dificultad de los élites naturales cercanos. Las restricciones de equipo usan la habilidad correspondiente de arma o armadura; el equipo élite de nivel 20 o inferior está exento.

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.

Ventajas de XP por permisos​

La XP de armas y armadura obtenida en combate puede recibir un multiplicador por permisos. Estas ventajas no omiten los requisitos para recibir recompensas ni multiplican otras concesiones de XP.

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

Usa los nombres de habilidad en minúsculas de la tabla anterior (swords, armor, wands, etc.), o all para todas las habilidades.

VentajaMultiplicador
10percentboost1.10
25percentboost1.25
50percentboost1.50
double2.00
150percentboost2.50
triple3.00
quadruple4.00
customboostcustomXpPerkMultiplier en skills.yml, 1.0 por defecto

Las ventajas normales no se acumulan: se aplica el multiplicador más alto. customboost sustituye esa selección, incluso si su multiplicador configurado es 1.0 o inferior. Se respetan las denegaciones explícitas por habilidad. El multiplicador personalizado debe ser finito y no negativo; los valores inválidos se sustituyen por 1.0.

El resultado se redondea hacia abajo a XP entera antes del evento público de XP de habilidad. Por ejemplo, elitemobs.perks.xp.double.swords duplica la XP de espadas que cumple los requisitos sin duplicar la XP de armadura.

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
  • A qué mazmorras y contenido instanciado puedes acceder
  • El límite superior del nivel de recompensa para la XP de habilidad y el botín de élites naturales; los requisitos de XP por nivel bajo usan cada habilidad individual

Las restricciones de equipo usan la habilidad correspondiente de arma o armadura, no el Nivel de Combate. Los objetos de nivel 20 o inferior están exentos.

Visualización del nivel de combate​

Tu nivel de combate aparece como un número flotante sobre tu cabeza, visible para ti y otros jugadores según las reglas de visibilidad de las etiquetas de nombre. Usa entidades de texto basadas en paquetes y se actualiza cuando cambian tus habilidades. El formato es configurable (por defecto: Combat Lv. X). Cuando el [Alpha] Advanced Combat System te asigna una clase activa, la etiqueta muestra esa clase y su nivel en su lugar. Mientras estás en combate, aparece una línea de salud ❤ current/max encima de la etiqueta. En los mundos indicados en classLabelWorldExclusions, la etiqueta de clase se oculta; los jugadores sin clase conservan allí su etiqueta de nivel de combate.

usePassengerCombatLevelDisplay en config.yml vale true por defecto, así que esta etiqueta va montada en el jugador como pasajero que solo existe en los paquetes y nunca se queda rezagada cuando el jugador camina. Los demás jugadores siguen viendo el nombre del jugador. Establecerla en false usa texto que sigue al jugador, que se teletransporta tras él con un breve deslizamiento. Mientras otra entidad monta al jugador, el modo pasajero cambia automáticamente a texto que lo sigue. Mientras el jugador va en un vehículo que sentaría la etiqueta en el asiento del propio jugador, la etiqueta va en el vehículo. Consulta Retroalimentación de combate.

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 104 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 ti y otros jugadores según las reglas de visibilidad de las etiquetas de nombre. 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
classLabelWorldExclusions(vacío)Lista de nombres de mundos donde solo se oculta la etiqueta de clase sobre los jugadores. Los nombres de los jugadores, las indicaciones de salud en combate, las habilidades y la XP no cambian, y los jugadores sin clase conservan su etiqueta de nivel de combate. La coincidencia no distingue mayúsculas de minúsculas
skillsMenuTitle&5&lYour SkillsTítulo del menú de habilidades
showCombatLevelDisplaytrueMostrar la etiqueta de clase o 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.

[Alpha] Advanced Combat System​

Consulta la guía de progresión de clases, entrenamiento y controles para el proceso completo, incluido Adventurer, las pruebas de los entrenadores, los requisitos de base y los controles de Java.

El [Alpha] Advanced Combat System añade clases y habilidades al combate de EliteMobs. Comparte tus comentarios sobre la alfa con el desarrollador. En plugins/EliteMobs/AdvancedCombatSystem.yml, enabled vale true por defecto; cámbialo a false y recarga EliteMobs para desactivar el módulo. Las clases y su equilibrio permanecen fijos durante la fase alfa. Los ajustes de versiones anteriores no se importan automáticamente; configura este archivo antes de iniciar un servidor actualizado.

/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.

En Java, pulsa F y después 1/2/3 para Mobility, Signature o Utility. Otra F selecciona Mobility; durante la ventana de selección, el clic izquierdo selecciona Signature y el derecho Utility. Los controles están activos en el contenido de combate de EliteMobs. allowClassAbilitiesOutsideEliteMobsWorlds vale true por defecto y permite activarlos fuera de ese contenido durante la sesión pulsando F dos veces mientras te agachas.

El NPC GUILD_GREETER abre la selección de bonificaciones de habilidades de arma tanto si el combate de clases está activado como si está desactivado. Visita los NPC CLASS_TRAINER independientes para entrenar clases. 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.