I dont want to abduct the thread, so I PM you about the cursed armor.
EDIT: I got it. Item-sets.
[INTERACTION:ARMOK_BOOST]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_CANNOT_HAVE_SYNDROME_CLASS:BOOST]
[IT_CANNOT_HAVE_SYNDROME_CLASS:LOCK_1]
[IT_CANNOT_HAVE_SYNDROME_CLASS:LOCK_2]
[IT_MANUAL_INPUT:self]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A][IE_IMMEDIATE][SYNDROME]
[SYN_NAME:boost]
[SYN_CLASS:BOOST] => also has all the unlocks itself.
[SYN_CLASS:UNLOCK_LOCK_1]
[SYN_CLASS:UNLOCK_LOCK_2]
[CE_SPEED_CHANGE:SPEED_PERC:3000:START:5:END:1000]
[INTERACTION:ARMOK_LOCK_1]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_CANNOT_HAVE_SYNDROME_CLASS:BOOST]
[IT_CANNOT_HAVE_SYNDROME_CLASS:UNLOCK_LOCK_1]
[IT_MANUAL_INPUT:self]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A][IE_IMMEDIATE][SYNDROME]
[SYN_NAME:LOCK_1]
[SYN_CLASS:LOCK_1]
[CE_SPEED_CHANGE:SPEED_PERC:101:START:0:END:500]
[INTERACTION:ARMOK_LOCK_2]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_CANNOT_HAVE_SYNDROME_CLASS:BOOST]
[IT_CANNOT_HAVE_SYNDROME_CLASS:UNLOCK_LOCK_2]
[IT_MANUAL_INPUT:self]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A][IE_IMMEDIATE][SYNDROME]
[SYN_NAME:LOCK_2]
[SYN_CLASS:LOCK_2]
[CE_SPEED_CHANGE:SPEED_PERC:101:START:0:END:500]
[INTERACTION:ARMOK_UNLOCK_LOCK_1]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_CANNOT_HAVE_SYNDROME_CLASS:BOOST]
[IT_MANUAL_INPUT:self]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A][IE_IMMEDIATE][SYNDROME]
[SYN_NAME:b1]
[SYN_CLASS:UNLOCK_LOCK_1]
[CE_SPEED_CHANGE:SPEED_PERC:101:START:0:END:1100]
[INTERACTION:ARMOK_UNLOCK_LOCK_2]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_CANNOT_HAVE_SYNDROME_CLASS:BOOST]
[IT_MANUAL_INPUT:self]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A][IE_IMMEDIATE][SYNDROME]
[SYN_NAME:b2]
[SYN_CLASS:UNLOCK_LOCK_2]
[CE_SPEED_CHANGE:SPEED_PERC:101:START:0:END:1100]
[INORGANIC:ADAMANTINE1]
[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]
[STATE_NAME_ADJ:ALL_SOLID:adamantine]
[STATE_NAME_ADJ:LIQUID:molten adamantine]
[STATE_NAME_ADJ:GAS:boiling adamantine]
[DISPLAY_COLOR:3:3:1] [BUILD_COLOR:3:3:1]
[MATERIAL_VALUE:300]
[SPEC_HEAT:7500]
[MELTING_POINT:25000]
[BOILING_POINT:50000]
[ITEMS_WEAPON][ITEMS_WEAPON_RANGED][ITEMS_AMMO][ITEMS_DIGGER][ITEMS_ARMOR][ITEMS_ANVIL]
[ITEMS_HARD]
[ITEMS_METAL]
[ITEMS_BARRED]
[ITEMS_SCALED]
[ITEMS_SOFT]
[WAFERS]
[SOLID_DENSITY:200]
[LIQUID_DENSITY:2600]
[MOLAR_MASS:55845]
[IMPACT_YIELD:5000000]
[IMPACT_FRACTURE:5000000]
[IMPACT_STRAIN_AT_YIELD:0]
[COMPRESSIVE_YIELD:5000000]
[COMPRESSIVE_FRACTURE:5000000]
[COMPRESSIVE_STRAIN_AT_YIELD:0]
[TENSILE_YIELD:5000000]
[TENSILE_FRACTURE:5000000]
[TENSILE_STRAIN_AT_YIELD:0]
[TORSION_YIELD:5000000]
[TORSION_FRACTURE:5000000]
[TORSION_STRAIN_AT_YIELD:0]
[SHEAR_YIELD:5000000]
[SHEAR_FRACTURE:5000000]
[SHEAR_STRAIN_AT_YIELD:0]
[BENDING_YIELD:5000000]
[BENDING_FRACTURE:5000000]
[BENDING_STRAIN_AT_YIELD:0]
[MAX_EDGE:100000]
[DEEP_SPECIAL]
[STOCKPILE_THREAD_METAL]
[REACTION_CLASS:ADAMANTINE_COATING]
[SYNDROME][SYN_CLASS:DFHACK_ITEM_SYNDROME] for item "armor of armok"
[CE_CAN_DO_INTERACTION:START:0:END:450]
[CDI:INTERACTION:ARMOK_LOCK_1]
[CDI:TARGET:A:SELF_ONLY]
[CDI:VERB:1:lock #1:NA]
[CDI:ADV_NAME:test 1]
[CDI:TARGET_RANGE:A:1]
[CDI:MAX_TARGET_NUMBER:A:1]
[CDI:WAIT_PERIOD:1]
[CE_CAN_DO_INTERACTION:START:0:END:450]
[CDI:INTERACTION:ARMOK_LOCK_2]
[CDI:TARGET:A:SELF_ONLY]
[CDI:VERB:2:lock #2:NA]
[CDI:ADV_NAME:test 2]
[CDI:TARGET_RANGE:A:1]
[CDI:MAX_TARGET_NUMBER:A:1]
[CDI:WAIT_PERIOD:1]
[CE_CAN_DO_INTERACTION:START:5:END:460]
[CDI:INTERACTION:ARMOK_BOOST]
[CDI:TARGET:A:SELF_ONLY]
[CDI:VERB:boost:gets the bonus from the completed set:NA]
[CDI:ADV_NAME:test boost]
[CDI:TARGET_RANGE:A:1]
[CDI:MAX_TARGET_NUMBER:A:1]
[CDI:WAIT_PERIOD:10]
[INORGANIC:ADAMANTINE2]
[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]
[STATE_NAME_ADJ:ALL_SOLID:adamantine]
[STATE_NAME_ADJ:LIQUID:molten adamantine]
[STATE_NAME_ADJ:GAS:boiling adamantine]
[DISPLAY_COLOR:3:3:1] [BUILD_COLOR:3:3:1]
[MATERIAL_VALUE:300]
[SPEC_HEAT:7500]
[MELTING_POINT:25000]
[BOILING_POINT:50000]
[ITEMS_WEAPON][ITEMS_WEAPON_RANGED][ITEMS_AMMO][ITEMS_DIGGER][ITEMS_ARMOR][ITEMS_ANVIL]
[ITEMS_HARD]
[ITEMS_METAL]
[ITEMS_BARRED]
[ITEMS_SCALED]
[ITEMS_SOFT]
[WAFERS]
[SOLID_DENSITY:200]
[LIQUID_DENSITY:2600]
[MOLAR_MASS:55845]
[IMPACT_YIELD:5000000]
[IMPACT_FRACTURE:5000000]
[IMPACT_STRAIN_AT_YIELD:0]
[COMPRESSIVE_YIELD:5000000]
[COMPRESSIVE_FRACTURE:5000000]
[COMPRESSIVE_STRAIN_AT_YIELD:0]
[TENSILE_YIELD:5000000]
[TENSILE_FRACTURE:5000000]
[TENSILE_STRAIN_AT_YIELD:0]
[TORSION_YIELD:5000000]
[TORSION_FRACTURE:5000000]
[TORSION_STRAIN_AT_YIELD:0]
[SHEAR_YIELD:5000000]
[SHEAR_FRACTURE:5000000]
[SHEAR_STRAIN_AT_YIELD:0]
[BENDING_YIELD:5000000]
[BENDING_FRACTURE:5000000]
[BENDING_STRAIN_AT_YIELD:0]
[MAX_EDGE:100000]
[DEEP_SPECIAL]
[STOCKPILE_THREAD_METAL]
[REACTION_CLASS:ADAMANTINE_COATING]
[SYNDROME][SYN_CLASS:DFHACK_ITEM_SYNDROME] [SYN_NAME:shield of armok]
[CE_CAN_DO_INTERACTION:START:0:END:1000]
[CDI:INTERACTION:ARMOK_UNLOCK_LOCK_1]
[CDI:TARGET:A:SELF_ONLY]
[CDI:VERB:b1:unlock lock #1:NA]
[CDI:ADV_NAME:test b1]
[CDI:TARGET_RANGE:A:1]
[CDI:MAX_TARGET_NUMBER:A:1]
[INORGANIC:ADAMANTINE3]
[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]
[STATE_NAME_ADJ:ALL_SOLID:adamantine]
[STATE_NAME_ADJ:LIQUID:molten adamantine]
[STATE_NAME_ADJ:GAS:boiling adamantine]
[DISPLAY_COLOR:3:3:1] [BUILD_COLOR:3:3:1]
[MATERIAL_VALUE:300]
[SPEC_HEAT:7500]
[MELTING_POINT:25000]
[BOILING_POINT:50000]
[ITEMS_WEAPON][ITEMS_WEAPON_RANGED][ITEMS_AMMO][ITEMS_DIGGER][ITEMS_ARMOR][ITEMS_ANVIL]
[ITEMS_HARD]
[ITEMS_METAL]
[ITEMS_BARRED]
[ITEMS_SCALED]
[ITEMS_SOFT]
[WAFERS]
[SOLID_DENSITY:200]
[LIQUID_DENSITY:2600]
[MOLAR_MASS:55845]
[IMPACT_YIELD:5000000]
[IMPACT_FRACTURE:5000000]
[IMPACT_STRAIN_AT_YIELD:0]
[COMPRESSIVE_YIELD:5000000]
[COMPRESSIVE_FRACTURE:5000000]
[COMPRESSIVE_STRAIN_AT_YIELD:0]
[TENSILE_YIELD:5000000]
[TENSILE_FRACTURE:5000000]
[TENSILE_STRAIN_AT_YIELD:0]
[TORSION_YIELD:5000000]
[TORSION_FRACTURE:5000000]
[TORSION_STRAIN_AT_YIELD:0]
[SHEAR_YIELD:5000000]
[SHEAR_FRACTURE:5000000]
[SHEAR_STRAIN_AT_YIELD:0]
[BENDING_YIELD:5000000]
[BENDING_FRACTURE:5000000]
[BENDING_STRAIN_AT_YIELD:0]
[MAX_EDGE:100000]
[DEEP_SPECIAL]
[STOCKPILE_THREAD_METAL]
[REACTION_CLASS:ADAMANTINE_COATING]
[SYNDROME][SYN_CLASS:DFHACK_ITEM_SYNDROME] [SYN_NAME:sword of armok]
[CE_CAN_DO_INTERACTION:START:0:END:1000]
[CDI:INTERACTION:ARMOK_UNLOCK_LOCK_2]
[CDI:TARGET:A:SELF_ONLY]
[CDI:VERB:b2:unlock lock #2:NA]
[CDI:ADV_NAME:test b2]
[CDI:TARGET_RANGE:A:1]
[CDI:MAX_TARGET_NUMBER:A:1]
Tested with 3 items, sword, shield and armor. When you first put on the item with adamantine1, which has both the locks and the boost, you might get the boost for a few times, before the locks prevent this. I dont know why this happens. And every now and then, maybe once a month, you might get the boost as well, even when the locks are on.
How it works:
The material adamantine1 uses itemsyndrome to add 3 syndromes. LOCK_1, LOCK_2 and BOOST.
LOCK_1 and LOCK_2 add SYN_CLASS:LOCK_1 and LOCK_2.
BOOST has CANNOT_HAVE_SYN_CLASS:LOCK_1 and LOCK_2.
This means the dwarf has the BOOST interaction, but cant target himself, because he has those syn-classes.
Adamantine2 and Adamantine3 are the keys. If you equip an item made of them, they will add a syndrome, UNLOCK_LOCK_1 & 2.
UNLOCK_LOCK_1 & 2 add the SYN_CLASS:UNLOCK_LOCK_1 & 2.
The previous interactions, LOCK_1 and LOCK_2 have CANNOT_HAVE_SYN_CLASS:UNLOCK_LOCK_1 & 2.
This means that wearing these additional items will block the lock 1 and lock 2 interactions. The dwarf with these items is no longer a valid target for the locks.
And if the dwarf is no target for lock_1 and lock_2, then there is nothing that could stop BOOST from targetting the dwarf. Result: If you wear items from 2 of the 3 materials, you dont get a BOOST. Only if you wear items from all 3 materials do you unlock the BOOST.
Hope the example helps if you want to try for yourself, and maybe you can even find a better timing then I did. the START:END:WAIT_PERIOD... those are the key to stopping the random BOOSTS from appearing. I havent found the perfect number yet.
The system can be used on any number of items and any type of items. I assume that the need for a better timing is higher the higher the number of items is.
EDIT2: I am still fiddling around with the start and end times, but the theory is sound