Hola. Por si has comenzado haciendo tus cambios con morghs, como he visto que hace la mayoría, te aconsejo que dejes a un lado esa herramienta y te enfoques en usar module system.
La explicación que voy a dar es asumiendo que tienes python instalado y los módulos funcionando correctamente.
Supongamos que quieres crear una calabaza como alimento. Lo primero que debes tener es el modelo del item. Lo puedes crear tú mismo o lo puedes sacar de otro mod. Pero para hacerlo mas sencillo vamos a tomar este del native:
- marrow_a:
Su nombre es "marrow_a" y se encuentra en el brf "food". Abre module_items, presiona ctrl+B y escribe other trade goods. Buscar siguiente y moviéndote hacia abajo verás todos los bienes, desde las especias hasta la mantequilla. Necesitamos copiar uno de esos para crear la calabaza, para eso voy a elegir un alimento mas o menos similar, por ejemplo el repollo:
- module_items:
["cabbages","Cabbages", [("cabbage",0)], itp_merchandise|itp_type_goods|itp_consumable|itp_food, 0, 30,weight(15)|abundance(110)|food_quality(40)|max_ammo(50),imodbits_none],
Copias todo eso y lo pegas debajo del trigo (grain). Los primeros dos nombres serán reemplazados por calabaza (el primero sirve para identificar el item dentro de los módulos y el segundo es el que verás mientras estés jugando). En el tercero debemos poner el nombre de nuestro modelo, en este caso es marrow_a. Y a continuación los otros cambios importantes que puedes hacer por acá son el precio, el peso y la abundancia: 30,weight(15)|abundance(110). Yo solo voy a bajarle un poco el precio y a subirle el peso:
["calabaza","Calabaza", [("
marrow_a",0)], itp_merchandise|itp_type_goods|itp_consumable|itp_food, 0,
28,weight(
20)|abundance(110)|food_quality(40)|max_ammo(50),imodbits_none],
Guarda y cierra el archivo. Ahora vamos a asignarle la moral que nos dará, y además haremos que se pudra con los días.
Para eso abre module_simple_triggers, ctrl+B y escribe Setting item modifiers for food. Debajo del pollo (itm_chicken) colocamos la calabaza:
- module_simple_triggers:
# Setting item modifiers for food
(24,
[
(troop_get_inventory_capacity, ":inv_size", "trp_player"),
(try_for_range, ":i_slot", 0, ":inv_size"),
(troop_get_inventory_slot, ":item_id", "trp_player", ":i_slot"),
(this_or_next|eq, ":item_id", "itm_cattle_meat"),
(this_or_next|eq, ":item_id", "itm_chicken"),
(this_or_next|eq, ":item_id", "itm_calabaza"),
(eq, ":item_id", "itm_pork"),
Esto hará que se deteriore su estado con los días (Claro que no tiene mucho sentido en un zapallo. Esto es mas bien para algún tipo de carne, pero quiero ejemplificar todo con un solo item). En ese mismo lugar vuelve a presionar ctrl+B y escribe Setting food bonuses. Buscar siguiente y vamos a poner la calabaza justo arriba de itm_chicken:
- module_simple_triggers:
#Fat sources - perishable
(item_set_slot, "itm_calabaza", slot_item_food_bonus, 4),
(item_set_slot, "itm_chicken", slot_item_food_bonus, 7), #brought up from 7
(item_set_slot, "itm_cattle_meat", slot_item_food_bonus, 7), #brought down from 7
(item_set_slot, "itm_pork", slot_item_food_bonus, 6), #brought down from 6
Al final de todos puedes ver un número, esa es la moral que darán, en este caso le asigne un
4 de moral a la calabaza. Guarda y cierra el archivo.
Por último estos bienes tienen una fuente de producción, por ejemplo el queso, la mantequilla y la carne provienen del mismo sitio. Las coles son producidos por algo llamado household_gardens, lo cual me parece un buen lugar para que crezcan las calabazas. Abre module_scripts, ctrl+B y nuevamente escribe Setting food bonuses. Una vez mas colocas la calabaza con su moral exactamente igual que en module_simple_triggers:
- module_scripts:
#Fat sources - perishable
(item_set_slot, "itm_calabaza", slot_item_food_bonus, 4),
(item_set_slot, "itm_chicken", slot_item_food_bonus, 7), #brought up from 7
(item_set_slot, "itm_cattle_meat", slot_item_food_bonus, 7), #brought down from 7
(item_set_slot, "itm_pork", slot_item_food_bonus, 6), #brought down from 6
y en ese mismo lugar ctrl+B y escribe Setting book intelligence requirements. Justo arriba de eso que escribiste verás el cerdo (itm_pork) y debajo de este colocamos lo siguiente:
- module_scripts:
(item_set_slot, "itm_pork", slot_item_urban_demand, 40),
(item_set_slot, "itm_pork", slot_item_rural_demand, 10),
(item_set_slot, "itm_pork", slot_item_desert_demand, -1),
(item_set_slot, "itm_calabaza", slot_item_urban_demand, 7),
(item_set_slot, "itm_calabaza", slot_item_rural_demand, 7),
(item_set_slot, "itm_calabaza", slot_item_desert_demand, -1),
(item_set_slot, "itm_calabaza", slot_item_production_slot, slot_center_household_gardens),
(item_set_slot, "itm_calabaza", slot_item_production_string, "str_gardens"),
# Setting book intelligence requirements
Como ves le agregue una pequeña demanda en el campo y las ciudades (7), pero no en el desierto (-1), y al final esta su fuente de producción (household_gardens). Por último en ese mismo lugar, presiona ctrl+B y escribe Sheep products. Justo abajo de las manzanas (itm_apples) colocamos la calabaza:
- module_scripts:
(else_try),
(eq, ":cur_good", "itm_apples"), #Demand = 7
(party_get_slot, ":base_production", ":center_no", slot_center_household_gardens),
(val_mul, ":base_production", 10),
(else_try),
(eq, ":cur_good", "itm_calabaza"), #Demand = 7
(party_get_slot, ":base_production", ":center_no", slot_center_household_gardens),
(val_mul, ":base_production", 5),
#Sheep products
y así terminamos de incluir el nuevo alimento en el sistema de demanda, con su estadística base de producción (5). Guarda, cierra el archivo, compila module system y encontrarás la calabaza regularmente en los mercados. Comprueba la moral (+4) y que se deteriore con los días.
Se pueden hacer cosas un poco más complejas respecto a los bienes, pero esto es lo principal. En caso de que solo quieras reemplazar un item que no te gusta es mas fácil. Solo cambia el tercer nombre (el de malla) y la traducción de español.