Hi everyone, I'm having an issue with getting a syndrome-induced-interaction to work.
For background, there are a bunch of special minerals in this mod which boil away upon mining and inflict specific syndromes. Upon contracting the syndrome, the Dwarf is supposed to fire off one of two interactions (actually he's supposed to try both, but only one can work). The interactions then get eaten by modtools/interaction-trigger to run scripts.
The inhaled syndrome works, and I even see it listed under Dwarf Therapist as a "buff" but the interactions don't go off. This is true whether the interaction-trigger is in place or not. The script also works if it's run directly from the DFHack console, so I'm sure it's the interactions.
[INORGANIC:LIVING DOLOMITE]
[USE_MATERIAL_TEMPLATE:TESB_TEMPLATE]
[STATE_NAME_ADJ:ALL_SOLID:living dolomite]
[STATE_NAME_ADJ:LIQUID:stirring dolomite]
[STATE_NAME_ADJ:GAS:awakening dolomite]
[DISPLAY_COLOR:7:7:1]
[TILE:'`']
[REACTION_CLASS:FLUX]
[ENVIRONMENT_SPEC:DOLOMITE:CLUSTER_ONE:100]
[ENVIRONMENT_SPEC:HIDDEN BLACK OPAL:CLUSTER_ONE:100]
[MATERIAL_VALUE:250][IS_STONE][SPECIAL]
[MELTING_POINT:8000]
[BOILING_POINT:9910]
[SOLID_DENSITY:2850]
[SYNDROME]
[SYN_NAME:wake dolomite]
[SYN_INHALED][SYN_INGESTED]
[SYN_AFFECTED_CREATURE:DWARF:ALL]
[CE_FLASH_TILE:TILE:42:7:7:1:FREQUENCY:100:100:START:0:END:1200] For troubleshooting. I see the flashing.
[CE_CAN_DO_INTERACTION:START:0:END:20]
[CDI:INTERACTION:ANGER_DOLOMITE] Tries this first. Can't succeed if Dwarf is affected by "DOLOMITE_TRIBUTE".
[CDI:TARGET:A:SELF_ONLY]
[CDI:VERB:angers living dolomite:angers living dolomite:angers living dolomite] One of the interaction-triggers watches for this verb.
[CDI:FREE_ACTION]
[CDI:WAIT_PERIOD:20]
[CE_CAN_DO_INTERACTION:START:5:END:20] Tries this second. Can't succeed if the first succeeded.
[CDI:INTERACTION:AWAKEN_DOLOMITE]
[CDI:TARGET:A:SELF_ONLY]
[CDI:VERB:awakens living dolomite:awakens living dolomite:awakens living dolomite] Another interaction-trigger watched for this verb.
[CDI:FREE_ACTION]
[CDI:WAIT_PERIOD:20]
[INTERACTION:AWAKEN_DOLOMITE]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_MANUAL_INPUT:self]
[IT_AFFECTED_CREATURE:DWARF:ALL]
[IT_CANNOT_HAVE_SYNDROME_CLASS:TESB_ANGER] Tag that prevents the second (friendlier) interaction from working.
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[SYN_NAME:awakening dolomite]
[INTERACTION:ANGER_DOLOMITE]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_MANUAL_INPUT:self]
[IT_AFFECTED_CREATURE:DWARF:ALL]
[IT_CANNOT_HAVE_SYNDROME_CLASS:DOLOMITE_TRIBUTE] Tag that prevents the first (hostile) interaction from working.
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[SYN_NAME:anger dolomite]
[SYN_CLASS:TESB_ANGER] Add the tag to prevent both interactions from firing.
[CE_MATERIAL_FORCE_MULTIPLIER:MAT_MULT:INORGANIC:SLADE:2:1:START:0:END:20] Benign effect to give the syndrome a duration.
modtools/interaction-trigger -onAttackStr "awakens living dolomite" -suppressAttack -suppressDefend -command [ tesb-spawn -caste DOLOMITE -miner \\ATTACKER_ID -location [ \\LOCATION ] -friendly ]
modtools/interaction-trigger -onAttackStr "angers living dolomite" -suppressAttack -suppressDefend -command [ tesb-spawn -caste DOLOMITE -miner \\ATTACKER_ID -location [ \\LOCATION ] ]
The wiki says that a can-do-interaction with no usage hint will be used on any valid target, but that doesn't seem to be the case. Anyone know how to
force a creature to use an interaction?