Mods
Los mods dejan que los jugadores añadan contenido nuevo o cambien cómo funciona el juego. Hay dos tipos: mods de datos (un archivo JSON) y mods de script (JavaScript).
La versión corta
- Añade o quita mods en Ajustes, en la pantalla de Mods.
- Los mods de datos añaden contenido: habilidades, objetos, actividades y lugares. El juego comprueba cada archivo al cargarlo.
- Los mods de script pueden cambiar casi cualquier cosa. No están aislados, así que instala solo mods en los que confíes.
- La pantalla de Mods tiene el formato del archivo y un ejemplo que funciona para empezar.
Mods de datos
Un archivo JSON que añade contenido: habilidades, objetos, actividades y lugares. El juego comprueba el archivo al cargarlo y rechaza cualquier cosa que rompería una partida o que apunte a algo que no existe. Los objetos de un mod de datos funcionan igual que los del propio juego.
Mods de script
Un módulo de JavaScript que se ejecuta con el mismo poder que el propio juego. Recibe un objeto, api (API v1). Con él, un mod puede añadir contenido de todo tipo, cambiar reglas, añadir bonificaciones, usar todos los comandos del juego, escuchar cambios, añadir paneles, páginas, estilos, mensajes y ajustes, guardar sus propios datos en la partida, y depender de otros mods.
Confirmas tu confianza en la pantalla de Mods. El juego no aísla los mods de script, así que instala solo mods en los que confíes.
Para creadores de mods: mantén justo el tiempo fuera
El tiempo fuera debe dar el mismo resultado que el tiempo mirando, también con mods. Dos reglas lo mantienen así:
- Registra contenido, reglas y bonificaciones cuando arranca el juego. Se quedan fijos durante la sesión.
- Cambia los datos guardados de tu mod solo a través de un comando del juego.
Una bonificación que lee el reloj o tira sus propios dados rompe esto, y el tiempo fuera dejará de coincidir con el tiempo mirando.
Referencia
La pantalla de Mods en Ajustes tiene el formato completo del archivo y un mod de ejemplo. Un mod de script puede listar todo lo que puede usar con Object.keys(api).