RPX Health
Sistema médico realista con enfermedades progresivas por niveles, pruebas diagnósticas, medicamentos y herramientas EMS para personal sanitario.
Introducción
RPX Health añade una capa de realismo médico al servidor de roleplay. Los ciudadanos tienen un estado de salud persistente con enfermedades que evolucionan por niveles, resistencia general que sube o baja según el estilo de vida, y un sistema de contagio por proximidad. El personal de EMS dispone de herramientas específicas para diagnosticar y prescribir tratamientos.
- Enfermedades con múltiples niveles de progresión y efectos de poción por nivel
- Contagio por proximidad configurable (radio en bloques + probabilidad por tick)
- Resistencia general (0.0–1.0) que afecta la probabilidad de infectarse
- Inmunidad temporal (escudo) y permanente (vacuna) por enfermedad
- Supresión de síntomas sin curar la enfermedad subyacente
- Integración con xFoods: comida caducada puede transmitir enfermedades
Atención
RPX Health requiere RPX Core instalado. Lee diseases.yml y tests.yml antes de iniciar el servidor — si están vacíos, ningún ciudadano podrá enfermar.
Sistema de Enfermedades
Cada enfermedad se define en diseases.yml con un ID único, niveles de progresión y parámetros de contagio. El DiseaseTickTask avanza la enfermedad cada tick sumando y restando puntos.
# diseases.yml
gripe:
display-name: "Gripe Estacional"
base-effectiveness: 0.05
regeneration-points: 2
contagion-radius: 4.0
contagion-chance: 0.08
detection-tests:
analisis_sangre: 0.75
termometro: 0.95
levels:
1:
threshold: 20
effects:
- SLOWNESS:1:0
2:
threshold: 60
effects:
- SLOWNESS:2:0
- WEAKNESS:1:0
3:
threshold: 120
effects:
- SLOWNESS:3:0
- WEAKNESS:2:0
- HUNGER:1:0Información
ContagionTask comprueba cada N ticks si jugadores dentro del contagionRadius están sin inmunidad. Si la probabilidad se cumple y su resistencia es baja, quedan infectados.
Medicamentos
Los medicamentos son ítems físicos con NBT que el personal sanitario entrega a los pacientes. Al consumirlos se aplica el efecto correspondiente. Se generan con /salud admin givemedicine.
| Comando | Permiso | Descripción |
|---|---|---|
| /salud admin givemedicine <j> cure <enf> <puntos> | rpxhealth.admin | Da un medicamento que cura N puntos de progresión de la enfermedad indicada. |
| /salud admin givemedicine <j> suppressor <seg> | rpxhealth.admin | Da un supresor que anula síntomas durante N segundos sin curar la enfermedad. |
| /salud admin givemedicine <j> shield <seg> | rpxhealth.admin | Da un escudo inmunológico que bloquea nuevas infecciones N segundos. |
| /salud admin givemedicine <j> vaccine <enf> | rpxhealth.admin | Da una vacuna que otorga inmunidad permanente contra esa enfermedad. |
Pruebas Médicas
Las pruebas médicas son ítems configurados en tests.yml. Cada prueba tiene una probabilidad de detectar cada enfermedad. Sin diagnóstico, la enfermedad aparece como 'Desconocida' en la UI del paciente.
- Sin muestra (isRequiresSample=false) — se usa directamente haciendo Shift+Click sobre el paciente.
- Con muestra (isRequiresSample=true) — el paciente toma la muestra y el médico la analiza.
| Comando | Permiso | Descripción |
|---|---|---|
| /salud admin givetest <jugador> <testId> | rpxhealth.admin | Entrega una prueba médica al jugador. |
| /salud admin reload | rpxhealth.admin | Recarga diseases.yml y tests.yml en caliente. |
Comandos EMS
El personal EMS dispone del comando /ems. El diagnóstico incluye una animación de BossBar de 4 segundos que se cancela si el médico se aleja más de 5 bloques del paciente.
| Comando | Permiso | Descripción |
|---|---|---|
| /ems diagnosticar <jugador> | rpxhealth.ems | Inicia diagnóstico con barra de progreso. Al completarse abre el HealthMenu del paciente. |
| /ems recetar <jugador> | rpxhealth.ems | Abre el MedicalPrescriptionMenu para entregar medicamentos al paciente. |
| /salud | — | Abre el HealthMenu del propio ciudadano (resistencia, enfermedades, estados). |
Comandos Admin
| Comando | Permiso | Descripción |
|---|---|---|
| /salud admin infect <jugador> <enf> | rpxhealth.admin | Infecta al jugador con 10 puntos de progresión inicial. |
| /salud admin clear [jugador] | rpxhealth.admin | Elimina todas las enfermedades y resetea resistencia a 1.0. |
| /salud admin reload | rpxhealth.admin | Recarga diseases.yml y tests.yml. |
| /salud admin config | rpxhealth.admin | Abre el hub de configuración visual del sistema. |
Importante
/salud admin clear es irreversible — borra el historial médico completo incluyendo vacunas. Úsalo solo para testing o emergencias.