YS Loot Core Is an advanced loot management system that transforms RPG Maker MZ's native reward system into a dynamic and highly customizable Loot Pools engine. Designed for total flexibility, it allows for everything from simple enemy drops to complex rarity systems, random chests, and scalable rewards using in-game variables.
Key features
Real-time Drops: Loot is generated at the exact moment the enemy dies (), not just at the end of the battle. Game_Enemy.die
Loot Count: Define how many times the dice are "rolled" using fixed numbers, random ranges, or game variables.
Anti-Repetition System: Prevents the player from receiving the same item multiple times in a cycle or in an entire battle with the tag. <lootUnique>
Nested Pools: Create hierarchical structures (e.g. an "Epic Chest" pool that selects between "Weapons" or "Armor" pools).
Dynamic Conditions: Objects only appear if certain switches are active or if a variable meets a specific value.
Cooldowns System: Blocks an item from spawning for a set number of executions after it has been delivered.
Setup Guide
1. Notetags for Enemies (Database)
Add these tags in the Notes field of your enemies:
<lootPool: Name>: Assign a specific loot list to the enemy.
<lootCount: N>: Fixed number of times the pool will run.
<lootCount: N-M>: Random number of executions across a range.
<lootCountVar: ID>: The number of drops will depend on the current value of the ID Variable.
<lootCountMod: switch=ID, xN>: If the ID switch is ON, the final drop count is multiplied by N (e.g., x2 for a hard mode).
2. Troop Notetags
<lootPool: Name>: Run a loot pool by defeating the entire troop (great for bosses).
<lootUnique>: Activate the single loot mode for the entire battle; If an object falls from an enemy, it cannot fall from any other enemy in the same encounter.
Plugin Commands (Events)
The plugin includes intuitive commands to be used directly in map events:
Command - Function Execute Loot Pool - Run a pool manually (useful for chests or NPCs). Add/Remove Entry - Modify the contents of a pool dynamically during the game. Set Pool Multiplier - Scale all weights in a pool using a multiplier. Reset Cycle - Resets the list of "seen" objects for pools with No-Repeat.
Example: Setting Up a Boss
If you want your boss to drop between 1 and 4 items from the "FinalBoss" pool, and for these rewards to be doubled if "Hardcore Mode" (Switch 10) is enabled:
For developers who prefer to use code in their events:
$lootCore.roll("NombrePool", { rollCount: 3 });
$lootCore.resolveEnemyLoot(enemyId);
License and Credits:
Developed by YamiSakin.
Free for use in commercial and non-commercial projects.
Please include YamiSakin in your game credits if you use this plugin.
For this demo some plugins from Oc_Ram were used, they are their exclusive property. OcRam-Codes.NET
For this demo some VisuStella plugins were used. They are his exclusive property. VisuStella - itch.io
Spoiler: DESCRIPCIÓN EN ESPAÑOL
YS Loot Core es un sistema avanzado de gestión de botín que transforma el sistema de recompensas nativo de RPG Maker MZ en un motor de Loot Pools dinámico y altamente personalizable. Diseñado para ofrecer flexibilidad total, permite desde simples drops de enemigos hasta sistemas complejos de rareza, cofres aleatorios y recompensas escalables mediante variables del juego.
Características Principales
Drops en Tiempo Real: El botín se genera en el momento exacto en que el enemigo muere (), no solo al finalizar la batalla. Game_Enemy.die
Control de Cantidad (Loot Count): Define cuántas veces se "tira el dado" usando números fijos, rangos aleatorios o variables de juego.
Sistema Anti-Repetición: Evita que el jugador reciba el mismo objeto varias veces en un ciclo o en toda una batalla con el tag . <lootUnique>
Loot Anidado (Nested Pools): Crea estructuras jerárquicas (ej: una pool de "Cofre Épico" que selecciona entre pools de "Armas" o "Armaduras").
Condiciones Dinámicas: Los objetos solo aparecen si ciertos interruptores están activos o si una variable cumple un valor específico.
Sistema de Cooldowns: Bloquea la aparición de un objeto por un número determinado de ejecuciones tras haber sido entregado.
Guía de Configuración
1. Notetags para Enemigos (Base de Datos)
Añade estos tags en el campo de Notas de tus enemigos:
<lootPool: Nombre>: Asigna una lista de botín específica al enemigo.
<lootCount: N>: Cantidad fija de veces que se ejecutará la pool.
<lootCount: N-M>: Cantidad aleatoria de ejecuciones entre un rango.
<lootCountVar: ID>: La cantidad de drops dependerá del valor actual de la Variable ID.
<lootCountMod: switch=ID, xN>: Si el interruptor ID está ON, el conteo final de drops se multiplica por N (ej: x2 para un modo difícil).
2. Notetags para Tropas (Troops)
<lootPool: Nombre>: Ejecuta una pool de botín al derrotar a toda la tropa (ideal para jefes).
<lootUnique>: Activa el modo de botín único para toda la batalla; si un objeto cae de un enemigo, no podrá caer de ningún otro en el mismo encuentro.
Comandos de Plugin (Eventos)
El plugin incluye comandos intuitivos para ser usados directamente en eventos de mapa:
Comando - Función Execute Loot Pool - Ejecuta una pool manualmente (útil para cofres o NPCs). Add/Remove Entry - Modifica el contenido de una pool dinámicamente durante la partida. Set Pool Multiplier - Escala todos los pesos (weights) de una pool mediante un multiplicador. Reset Cycle - Reinicia la lista de objetos "vistos" para las pools con No-Repeat.
Ejemplo: Configuración de un Jefe
Si quieres que tu jefe suelte entre 1 y 4 objetos de la pool "JefeFinal", y que estas recompensas se dupliquen si el "Modo Hardcore" (Interruptor 10) está activado:
Notas del Enemigo:
<lootPool: JefeFinal>
<lootCount: 1-4>
<lootCountMod: switch=10, x2> Click to expand...
Script API (Avanzado)
Para desarrolladores que prefieren usar código en sus eventos:
$lootCore.roll("NombrePool", { rollCount: 3 });
$lootCore.resolveEnemyLoot(enemyId);
Licencia y Créditos:
Desarrollado por YamiSakin.
Gratis para uso en proyectos comerciales y no comerciales.
Por favor, incluye a YamiSakin en los créditos de tu juego si utilizas este plugin.
Para esta demo se usaron algunos plugin de Oc_Ram, Son de su exclusiva propiedad. OcRam-Codes.NET
Para esta demo se usaron algunos plugin de VisuStella. Son de su exclusiva propiedad. VisuStella - itch.io