Hola. Personalmente considero que este esfuerzo de Hercules por hacer las cosas de forma más eficiente es efectivamente un poco lioso de primeras para el usuario final, aunque no había otra forma mejor de implementarlo que llegara a nuestro conocimiento en esos instantes.
Por desgracia, en ese fichero no está lo que buscas. Si haces un poco de scroll hacia arriba con las coincidencias de búsqueda para Gift_Box en el archivo que mencionas (
db/re/item_packages.conf), encuentras que esas Gift_Box salen como producto de abrir respectivamente una Special_Box o una Tresure_Box_WoE. Las Gift_Box no aparecen ahí específicamente como "paquete" de ítems.
Hay tres formas de especificar un "grupo" de ítems según la flexibilidad que necesites. En la carpeta
db/re tienes tanto
item_group.conf, como
item_chain.conf, como
item_packages.conf. ¿Y qué los diferencia? Te haré una pequeña comparación entre ambos:
No hay mucha diferencia entre el funcionamiento de item_chain.conf y de item_group.conf, aunque se hicieron ambos en archivos separados porque aunque funcionan de la misma manere, se usan para cosas distintas. Se utiliza una "cadena" de ítems para objetos correlacionados entre sí, que sobre todo sirve para ser incluido dentro de scripts que añadan probabilidad de obtener solo una unidad de uno de estos objetos al matar monstruos (como
Jewel_Sword,
Gaia_Sword,
Blazzer_Card,
Tengu_Card y
Bogy_Horn), o también se utiliza para habilidades como BS_FINDINGORE. Por otro lado, los "grupos" de ítems se usan para obtener solo uno de los objetos (y una unidad) una vez se usa el mismo, como por ejemplo como funcionaría una Old_Card_Album, Old_Blue_Box,
Gift_Box y similares.
Las diferencias entre los anteriores y los "paquetes" que te encuentras en item_packages.conf son muchas: dentro de un "paquete" puedes obtener más de un objeto a la vez (e incluso en cantidades mayores de una unidad), aleatoriamente o no, de uno o varios subgrupos de objetos. Suena a mucha libertad, pero piensa que esto sustituye a los paquetes de objetos de antes, para los que en su script tenías que poner uno de cada objeto (o grupo de objetos) que querías dar al jugador, resultando en un script enorme. También admite opciones como por ejemplo anunciar en el
En los encabezados de cada archivo se explica (en inglés) como funciona cada uno de ellos, que no me entretendré en explicarlo para evitar hacer el post demasiado largo (si quieres que lo explique responde al post y coméntame) porque no es lo que buscas.
Para alterar la probabilidad de caída de objetos desde una Gift_Box hay que ir, como dije, al archivo item_groups.conf dentro de la carpeta. En concreto, hay que buscar el contenedor de ese grupo que, actualmente, aparece específicamente en la
línea 327 del archivo. Ahí vemos lo siguiente:
Gift_Box: ( "Star_Crumb", "Flame_Heart", "Mistic_Frozen", "Rough_Wind", "Great_Nature", "Scarlet_Dyestuffs", "Lemon_Dyestuffs", "Cobaltblue_Dyestuffs", "Darkgreen_Dyestuffs", "Orange_Dyestuffs", "Violet_Dyestuffs", "White_Dyestuffs", "Black_Dyestuffs", "Gold", "Dark_Red_Jewel", "Violet_Jewel", "Skyblue_Jewel", "Azure_Jewel", "Scarlet_Jewel", "Cardinal_Jewel", "Cardinal_Jewel_", "Red_Jewel", "Blue_Jewel", "White_Jewel", "Golden_Jewel", "Bluish_Green_Jewel", "Crystal_Jewel", "Crystal_Jewel_", "Crystal_Jewel__", "Crystal_Jewel___", "Red_Frame", "Blue_Porcelain", "White_Platter", "Black_Ladle", "Pencil_Case", "Rouge", "Stuffed_Doll", "Poring_Doll", "Chonchon_Doll", "Spore_Doll", "Bunch_Of_Flowers", "Wedding_Bouquet", "Glass_Bead", "Crystal_Mirror", "Witherless_Rose", "Frozen_Rose", "Baphomet_Doll", "Osiris_Doll", "Grasshopper_Doll", "Monkey_Doll", "Raccoondog_Doll", "Four_Leaf_Clover", "Poring__Card", "Red_Socks_With_Holes", "Red_Potion", "Orange_Potion", "Yellow_Potion", "White_Potion", "Blue_Potion", "Green_Potion", "Royal_Jelly", "Candy", "Candy_Striper", "Pet_Food", "Well_Baked_Cookie", "Piece_Of_Cake", "Old_Violet_Box", ("Gift_Box",19), "Girl's_Diary",)
Antes de cambiar nada hay que ver el encabezado del archivo, que contiene un ejemplo que explica cómo funciona. Yo me he tomado la libertad de traducirlo y mejorar la explicación para que sea más sencillo:
// Estructura: <Nombre_de_contenedor>: ( "Nombre_de_item", // <--- o bien ("Nombre_de_item",Probabilidad), )
Con nombre de item (o de contenedor) se refiere al nombre que se define como el AegisName en
item_db.conf. Si no se define una probabilidad se asume como 1.
La probabilidad no es en porcentaje: como un grupo de ítems solo da un objeto, se usan sus probabilidades como valores relativos. Todos los objetos tienen una probabilidad igualmente distribuida de salir, pero una probabilidad de 10 solo dice que es 10 veces más frecuente que el objeto salga en comparación con un objeto de 1 (me metería en la matemática de esto pero creo que te confundiría más).
Yendo a lo que interesa, quieres que los dyestuff salgan con más frecuencia, por lo que nos fijamos en lo siguiente:
"Scarlet_Dyestuffs", "Lemon_Dyestuffs", "Cobaltblue_Dyestuffs", "Darkgreen_Dyestuffs", "Orange_Dyestuffs", "Violet_Dyestuffs", "White_Dyestuffs", "Black_Dyestuffs",
Como vemos, todos tienen probabilidad relativa de 1 (todos los objetos de la Gift_Box lo tienen salvo que salga una Gift_Box de la propia caja, que tiene una probabilidad relativa de 19). Para multiplicar por 5 su probabilidad relativa de salida, simplemente hay que editarlo para que queden así:
("Scarlet_Dyestuffs",5), ("Lemon_Dyestuffs",5), ("Cobaltblue_Dyestuffs",5), ("Darkgreen_Dyestuffs",5), ("Orange_Dyestuffs",5), ("Violet_Dyestuffs",5), ("White_Dyestuffs",5), ("Black_Dyestuffs",5),
Y ya está hecho. De esta forma, los dyestuffs salen a una probabilidad que es 5 veces, comparada con el resto de objetos que salen una única vez.
Y eso es todo. Siento haberme extendido mucho, pero de esta forma te servirá para saber bien cómo funciona cada una de las formas de "agrupar" o "empaquetar" objetos en Hercules. Espero haber sido de ayuda