Bay 12 Games Forum

Dwarf Fortress => DF Modding => Topic started by: Bohandas on March 22, 2011, 10:36:22 pm

Title: Will this work?
Post by: Bohandas on March 22, 2011, 10:36:22 pm
Before I generate an entire new world and stuff, I want to know if anybody sees any reason why these custon plants, objects, buildings, and reactions won't work...

...(BTW, I've highlighted two of the parts that I'm particularly worried about)...


[PLANT:MONEY_TREE]
   [NAME:money tree][NAME_PLURAL:money trees][ADJ:money tree]
   [USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]
      [MATERIAL_VALUE:5]
   [BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]
   [PICKED_TILE:157][PICKED_COLOR:2:0:1]
   [DEAD_SHRUB_COLOR:4:0:1]
   [DRY]
   [BIOME:ANY_TEMPERATE_FOREST]
   [BIOME:FOREST_TAIGA]
   [VALUE:5]
   [USE_MATERIAL_TEMPLATE:EXTRACT:PLANT_EXTRACT_TEMPLATE]
      [STATE_NAME_ADJ:ALL_SOLID:frozen lucre]
      [STATE_NAME_ADJ:LIQUID:lucre]
      [STATE_NAME_ADJ:GAS:boiling lucre]
      [MATERIAL_VALUE:75]
      [DISPLAY_COLOR:2:0:0]
      [EXTRACT_STORAGE:FLASK]
      [PREFIX:NONE]
      [REACTION_CLASS:LUCRE]
      [MATERIAL_REACTION_PRODUCT:LUCRE_MAT:LOCAL_PLANT_MAT:CONDENSED_EXTRACT]
   [EXTRACT_VIAL:LOCAL_PLANT_MAT:EXTRACT]
   [USE_MATERIAL_TEMPLATE:CONDENSED_EXTRACT:PLANT_EXTRACT_TEMPLATE]
      [STATE_NAME_ADJ:ALL_SOLID:condensed lucre]
      [STATE_NAME_ADJ:LIQUID:condensed lucre (liquid)]
      [STATE_NAME_ADJ:GAS:boiling condensed lucre]
      [MATERIAL_VALUE:125]
      [DISPLAY_COLOR:2:0:0]
      [REACTION_CLASS:LUCRE_CONDENSED]
      [EXTRACT_STORAGE:FLASK]
      [PREFIX:NONE]
   [USE_MATERIAL_TEMPLATE:DRINK:PLANT_ALCOHOL_TEMPLATE]
      [STATE_NAME_ADJ:ALL_SOLID:frozen asset rum]
      [STATE_NAME_ADJ:LIQUID:liquid asset rum]
      [STATE_NAME_ADJ:GAS:boiling asset rum]
      [MATERIAL_VALUE:5]
      [DISPLAY_COLOR:2:0:1]
      [EDIBLE_RAW]
      [EDIBLE_COOKED]
      [PREFIX:NONE]
   [DRINK:LOCAL_PLANT_MAT:DRINK]
   [SPRING][AUTUMN]
   [FREQUENCY:5]
   [CLUSTERSIZE:1]
   [PREFSTRING:value]
   [PREFSTRING:profitability]
   [PREFSTRING:lush green color]
   [PREFSTRING:golden streaks]
   [GOOD]

[PLANT:ROOT_OF_EVIL]
   [NAME:root of all evil][NAME_PLURAL:roots of all evil][ADJ:root of all evil]
   [USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]
      [MATERIAL_VALUE:5]
   [BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]
   [PICKED_TILE:157][PICKED_COLOR:2:0:1]
   [DEAD_SHRUB_COLOR:4:0:1]
   [DRY]
   [BIOME:ANY_TEMPERATE_FOREST]
   [BIOME:FOREST_TAIGA]
   [VALUE:5]
   [USE_MATERIAL_TEMPLATE:EXTRACT:PLANT_EXTRACT_TEMPLATE]
      [STATE_NAME_ADJ:ALL_SOLID:frozen filthy lucre]
      [STATE_NAME_ADJ:LIQUID:filthy lucre]
      [STATE_NAME_ADJ:GAS:boiling filthy lucre]
      [MATERIAL_VALUE:75]
      [DISPLAY_COLOR:2:0:0]
      [EXTRACT_STORAGE:FLASK]
      [PREFIX:NONE]
      [REACTION_CLASS:LUCRE]
      [MATERIAL_REACTION_PRODUCT:LUCRE_MAT:LOCAL_PLANT_MAT:CONDENSED_EXTRACT]
   [EXTRACT_VIAL:LOCAL_PLANT_MAT:EXTRACT]
   [USE_MATERIAL_TEMPLATE:CONDENSED_EXTRACT:PLANT_EXTRACT_TEMPLATE]
      [STATE_NAME_ADJ:ALL_SOLID:condensed filthy lucre]
      [STATE_NAME_ADJ:LIQUID:condensed filthy lucre (liquid)]
      [STATE_NAME_ADJ:GAS:boiling condensed filthy lucre]
      [MATERIAL_VALUE:125]
      [DISPLAY_COLOR:2:0:0]
      [REACTION_CLASS:LUCRE_CONDENSED]
      [EXTRACT_STORAGE:FLASK]
      [PREFIX:NONE]
   [USE_MATERIAL_TEMPLATE:DRINK:PLANT_ALCOHOL_TEMPLATE]
      [STATE_NAME_ADJ:ALL_SOLID:frozen avaricious ale]
      [STATE_NAME_ADJ:LIQUID:avaricious ale]
      [STATE_NAME_ADJ:GAS:boiling avaricious ale]
      [MATERIAL_VALUE:6]
      [DISPLAY_COLOR:2:0:1]
      [EDIBLE_RAW]
      [EDIBLE_COOKED]
      [PREFIX:NONE]
   [DRINK:LOCAL_PLANT_MAT:DRINK]
   [SPRING][AUTUMN]
   [FREQUENCY:5]
   [CLUSTERSIZE:1]
   [PREFSTRING:value]
   [PREFSTRING:profitability]
   [PREFSTRING:lush green color]
   [PREFSTRING:golden streaks]
   [EVIL]

[PLANT:LEAF_DENOMINATION]
   [NAME:denomination bush]
   [NAME_PLURAL:denomination bushes]
   [ADJ:denomination bush]
   [PICKED_TILE:231]
   [PICKED_COLOR:7:0:0]
   [WET]
   [DRY]
   [BIOME:NOT_FREEZING]
   [USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]
      [MATERIAL_VALUE:3]
   [BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]
   [GROWDUR:300]
   [VALUE:3]
   [USE_MATERIAL_TEMPLATE:LEAF:LEAF_TEMPLATE]
      [MATERIAL_VALUE:5]
      [EDIBLE_COOKED]
      [REACTION_CLASS:LUCRE]
      [MATERIAL_REACTION_PRODUCT:RAW_LUCRE:LOCAL_PLANT_MAT:EXTRACT]
   [LEAVES:denomination leaf:denomination leaves:6:7:0:0:0:0:1:LOCAL_PLANT_MAT:LEAF]
   [USE_MATERIAL_TEMPLATE:EXTRACT:PLANT_EXTRACT_TEMPLATE]
      [STATE_NAME_ADJ:ALL_SOLID:frozen lucre]
      [STATE_NAME_ADJ:LIQUID:lucre]
      [STATE_NAME_ADJ:GAS:boiling lucre]
      [MATERIAL_VALUE:75]
      [DISPLAY_COLOR:2:0:0]
      [EXTRACT_STORAGE:FLASK]
      [PREFIX:NONE]
      [REACTION_CLASS:LUCRE]
      [MATERIAL_REACTION_PRODUCT:LUCRE_MAT:LOCAL_PLANT_MAT:CONDENSED_EXTRACT]
   [USE_MATERIAL_TEMPLATE:CONDENSED_EXTRACT:PLANT_EXTRACT_TEMPLATE]
      [STATE_NAME_ADJ:ALL_SOLID:frozen condensed lucre]
      [STATE_NAME_ADJ:LIQUID:condensed lucre]
      [STATE_NAME_ADJ:GAS:boiling condensed lucre]
      [MATERIAL_VALUE:125]
      [DISPLAY_COLOR:2:0:0]
      [REACTION_CLASS:LUCRE_CONDENSED]
      [EXTRACT_STORAGE:FLASK]
      [PREFIX:NONE]
   [USE_MATERIAL_TEMPLATE:SEED:SEED_TEMPLATE]
      [MATERIAL_VALUE:1]
      [EDIBLE_VERMIN]
      [EDIBLE_COOKED]
   [SEED:denomination bush seed:denomination bush seeds:7:0:0:LOCAL_PLANT_MAT:SEED]
   [SPRING]
   [SUMMER]
   [FREQUENCY:25]
   [CLUSTERSIZE:5]
   [PREFSTRING:value]
   [PREFSTRING:verdent green leaves]
   [SHRUB_COLOR:7:0:0]
   [DEAD_SHRUB_COLOR:0:0:1]

[BUILDING_FURNACE:ALCHEMIST_LAB]
   [NAME:Alchemist's Laboratory]
   [NAME_COLOR:7:0:1]
   [DIM:5:5]
   [WORK_LOCATION:2:2]
   [BUILD_LABOR:ALCHEMY]
   [BUILD_KEY:CUSTOM_SHIFT_S]
   [BLOCK:1:1:1:0:1:1]
   [BLOCK:2:1:0:1:0:1]
   [BLOCK:3:0:0:0:0:0]
   [BLOCK:4:1:1:0:1:1]
   [BLOCK:5:1:1:0:1:1]
   [TILE:0:1:' ':' ':' ':''':'-']
   [TILE:0:2:' ':' ':'/':'\':' ']
   [TILE:0:3:'-':' ':' ':' ':' ']
   [TILE:0:4:' ':'-':' ':' '"''']
   [COLOR:0:1:MAT:MAT:MAT:MAT:MAT]
   [COLOR:0:2:MAT:MAT:MAT:MAT:MAT]
   [COLOR:0:3:MAT:MAT:MAT:MAT:MAT]
   [COLOR:0:4:MAT:MAT:MAT:MAT:MAT]
   [COLOR:0:5:MAT:MAT:MAT:MAT:MAT]
   [TILE:2:1:'-':' ':'\':' ':'-']
   [TILE:2:2:' ':' ':' ':''':' ']
   [TILE:2:3:' ':''':' ':' ':' ']
   [TILE:2:4:' ':''':' ':' ':'\']
   [TILE:2:5:'=':' ':'>':''':' ']
   [COLOR:1:1:0:0:0:0:0:0:6:0:0]
   [COLOR:1:2:6:0:0:0:0:0:6:0:0]
   [COLOR:1:3:0:0:0:0:0:0:6:0:0]
   [COLOR:1:4:0:0:0:0:0:0:6:0:0]
   [COLOR:1:1:MAT:MAT:MAT:MAT:MAT]
   [COLOR:1:2:MAT:MAT:MAT:MAT:MAT]
   [COLOR:1:3:MAT:MAT:MAT:MAT:MAT]
   [COLOR:1:4:MAT:MAT:MAT:MAT:MAT]
   [COLOR:1:5:MAT:MAT:MAT:MAT:MAT]
   [TILE:2:1:'-':' ':8:' ':'-']
   [TILE:2:2:' ':' ':8:''':' ']
   [TILE:2:3:' ':' ':' ':'=':' ']
   [TILE:2:4:' ':''':' ':' ':'\']
   [TILE:2:5:'=':' ':'>':''':' ']
   [COLOR:2:1:MAT:MAT:MAT:MAT:MAT]
   [COLOR:2:2:MAT:MAT:MAT:MAT:MAT]
   [COLOR:2:3:MAT:MAT:MAT:MAT:MAT]
   [COLOR:2:4:MAT:MAT:MAT:MAT:MAT]
   [COLOR:2:5:MAT:MAT:MAT:MAT:MAT]
   [TILE:3:1:177:177:' ':177:177]
   [TILE:3:2:177:150:08:150:177]
   [TILE:3:3:' ':' ':' ':' ':' ']
   [TILE:3:4:177:08:' ':08:177]
   [TILE:3:5:177:177:' ':177:177]
   [COLOR:2:1:MAT:MAT:0:0:0:MAT:MAT]
   [COLOR:2:2:MAT:6:0:0:2:6:1:6:0:0:MAT]
   [COLOR:2:3:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0]
   [COLOR:2:4:MAT:5:6:1:0:0:0:3:6:1:MAT]
   [COLOR:2:5:MAT:MAT:0:0:0:MAT:MAT]
   [BUILD_ITEM:1:NONE:NONE:NONE:NONE][BUILDMAT][MAGMA_SAFE][CAN_USE_ARTIFACT]
   [BUILD_ITEM:1:TABLE:NONE:NONE:NONE][BUILDMAT][FIRE_BUILD_SAFE][CAN_USE_ARTIFACT]
   [BUILD_ITEM:2:BUCKET:NONE:NONE:NONE][EMPTY][CAN_USE_ARTIFACT]
   [BUILD_ITEM:3:BARREL::NONE:NONE:NONE][EMPTY][CAN_USE_ARTIFACT]
   [BUILD_ITEM:2:FLASK:NONE:NONE:NONE][EMPTY][CAN_USE_ARTIFACT]
   [BUILD_ITEM:1:NONE:NONE:NONE:NONE][EMPTY][HAS_TOOL_USE:LIQUID_COOKING][CAN_USE_ARTIFACT]
   [BUILD_ITEM:1:NONE:NONE:NONE:NONE][EMPTY][HAS_TOOL_USE:GRIND_POWDER_RECEPTACLE][CAN_USE_ARTIFACT]
   [BUILD_ITEM:1:BAR:NONE:INORGANIC:LEAD]

[ITEM_TOOL:ITEM_TOOL_JEWELER_LOUPE]
[NAME:jeweler's loupe:jeweler's loupes]
[VALUE:10]
[TILE:'9']
[SIZE:1000]
[HARD_MAT]
[MATERIAL_SIZE:1]




[REACTION:EXTRACT_FROM_DENOMINATION_LEAVES]
   [NAME:extrt]
   [BUILDING:STILL:CUSTOM_SHIFT_L]
   [REAGENT:leaves:5:LEAVES:NONE:NONE:NONE]
      [HAS_MATERIAL_REACTION_PRODUCT:RAW_LUCRE]
      [REACTION_CLASS:LUCRE]
   [REAGENT:flask:1:FLASK:NONE:NONE:NONE]
      [EMPTY]
      [PRESERVE_REAGENT]
   [PRODUCT:100:1:LIQUID_MISC:NONE:GET_MATERIAL_FROM_REAGENT:leaves:RAW_LUCRE]
      [PRODUCT_TO_CONTAINER:flask]
   [FUEL]
   [SKILL:ALCHEMY]

[REACTION:PURIFY_LUCRE]
   [NAME:purify lucre]
   [BUILDING:ALCHEMIST_LAB:CUSTOM_SHIFT_L]
   [REAGENT:lucre:1:NONE:NONE:NONE:NONE]
      [HAS_MATERIAL_REACTION_PRODUCT:LUCRE_MAT]
      [REACTION_CLASS:LUCRE]
   [REAGENT:flask:1:FLASK:NONE:NONE:NONE]
      [CONTAINS:lucre]
      [PRESERVE_REAGENT]
   [PRODUCT:100:1:GLOB:NONE:GET_MATERIAL_FROM_REAGENT:lucre:LUCRE_MAT]
      [PRODUCT_TO_CONTAINER:flask]
   [FUEL]
   [SKILL:ALCHEMY]

[REACTION:EXTRACT_FROM_PURIFIED_LUCRE]
   [NAME:extract from purified lucre]
   [BUILDING:CRAFTSMAN:CUSTOM_ALT_L]
   [REAGENT:lucre:1:NONE:NONE:NONE:NONE]
      [REACTION_CLASS:LUCRE_CONDENSED]
   [REAGENT:flask:1:FLASK:NONE:NONE:NONE]
      [CONTAINS:lucre]
      [PRESERVE_REAGENT]
   [REAGENT:tool:TOOL:ITEM_TOOL_JEWELER_LOUPE:NONE:NONE]
      [PRESERVE_REAGENT]
   [PRODUCT:100:1:STONE:NONE:INORGANIC:NATIVE_COPPER]
   [PRODUCT:30:1:STONE:NONE:INORGANIC:NATIVE_COPPER]
   [PRODUCT:30:1:STONE:NONE:INORGANIC:NATIVE_SILVER]
   [PRODUCT:25:1:STONE:NONE:INORGANIC:NATIVE_SILVER]
   [PRODUCT:25:1:STONE:NONE:INORGANIC:NATIVE_GOLD]
   [PRODUCT:15:1:STONE:NONE:INORGANIC:NATIVE_GOLD]
   [PRODUCT:15:1:STONE:NONE:INORGANIC:NATIVE_PLATINUM]
   [SKILL:APPRAISE]
Title: Re: Will this work?
Post by: IT 000 on March 22, 2011, 10:56:31 pm
So first error I noticed

REAGENT:A:xx

xx being the number of things you want

Quote
   [PRODUCT:100:1:GLOB:NONE:GET_MATERIAL_FROM_REAGENT:lucre:LUCRE_MAT]
      [PRODUCT_TO_CONTAINER:flask]

:GET_MATERIAL_FROM_REAGENT:xx:

xx being the reagent letter of lucre

I don't think LUCRE_MAT is necessary.

PRODUCT_TO_CONTAINER:xx

xx being the reagent letter of the flask

And (according to the wiki) put [PRESERVE_REAGENT] after the flask reaction.
Title: Re: Will this work?
Post by: NecroRebel on March 23, 2011, 01:54:33 am
So first error I noticed

REAGENT:A:xx

xx being the number of things you want
So we're clear, this error is present in the EXTRACT_FROM_PURIFIED_LUCRE reaction's tool reagent entry.

Quote
Quote
   [PRODUCT:100:1:GLOB:NONE:GET_MATERIAL_FROM_REAGENT:lucre:LUCRE_MAT]
      [PRODUCT_TO_CONTAINER:flask]

:GET_MATERIAL_FROM_REAGENT:xx:

xx being the reagent letter of lucre
This isn't actually a problem; "lucre" is, in fact, an acceptable reagent "letter." Look at the vanilla MAKE_SHARP_ROCK reaction in reaction_other; it uses "tool stone" and "hammer stone" as reagent "letters," including getting the sharpened rock's material from the "tool stone" reagent. Reagent "letter" should more appropriately be called reagent "string," as any unique series of alphanumeric characters works in those slots.

Quote
I don't think LUCRE_MAT is necessary.
This I am unsure of, but going from the soap reactions, it's probably best to have it. Given that globs can be many different things, making sure the game knows they're the right material type is a good idea. It should just ignore it if it isn't necessary.

Quote
PRODUCT_TO_CONTAINER:xx

xx being the reagent letter of the flask
Again, "flask" is an acceptable reagent string, so this isn't a problem.

Quote
And (according to the wiki) put [PRESERVE_REAGENT] after the flask reaction.
Where, specifically, do you see a flask reagent that doesn't include [PRESERVE_REAGENT]? I'm not seeing any.



As for the specific problem spots the op was worried about, I see no problems with them. The only issues I can think of are that globs might not be capable of being stored in flasks, that flasks might not be capable of storing things at all, and that the game might not recognize the lucre material. Based off of the soap and plaster powder reactions, though, it looks fine.
Title: Re: Will this work?
Post by: Deon on March 23, 2011, 02:44:24 am
[HAS_MATERIAL_REACTION_PRODUCT:LUCRE_MAT] is needed, otherwise it will take ANYTHING.
Title: Re: Will this work?
Post by: Quietust on March 23, 2011, 09:30:16 am
Quote
   [PRODUCT:100:1:GLOB:NONE:GET_MATERIAL_FROM_REAGENT:lucre:LUCRE_MAT]
      [PRODUCT_TO_CONTAINER:flask]

:GET_MATERIAL_FROM_REAGENT:xx:

xx being the reagent letter of lucre

I don't think LUCRE_MAT is necessary.

It most definitely is - the 2nd parameter for GET_MATERIAL_FROM_REAGENT is a MATERIAL_REACTION_PRODUCT reference. If you want to use the material of the reagent itself, then the 2nd parameter should be NONE (e.g. "GET_MATERIAL_FROM_REAGENT:wax:NONE" when making wax crafts).
Title: Re: Will this work?
Post by: Sphalerite on March 23, 2011, 10:48:36 am
Non-grass, non-tree plants with [GOOD] and [EVIL] tags seem to chow up very rarely, if at all.  It's been a while since I had an embark where anyone had access to sun berries.
Title: Re: Will this work?
Post by: IT 000 on March 23, 2011, 01:16:35 pm
Quote
So we're clear, this error is present in the EXTRACT_FROM_PURIFIED_LUCRE reaction's tool reagent entry.

It seems to be present in all of your reactions.

By the way, I forgot to mention, the letter of the reagent (REAGENT:A:xx) is changed consecutively after every reagent. For example the first reagent is REAGENT:A:xx the second reagent is REAGENT:B:xx

For example

   [REAGENT:A:1:NONE:NONE:NONE:NONE]
      [REACTION_CLASS:LUCRE_CONDENSED]
   [REAGENT:B:1:FLASK:NONE:NONE:NONE]
      [CONTAINS:lucre]
      [PRESERVE_REAGENT]

Quote
Where, specifically, do you see a flask reagent that doesn't include [PRESERVE_REAGENT]? I'm not seeing any.

My bad, it looks like you already have it. I format my reactions differently.