-
Notifications
You must be signed in to change notification settings - Fork 10
Description
Actions should be able to inherit from multiple top-level intent actions (aka abstract actions), so that a single action may fulfill multiple high-level intents. And, while scoring such an action, it should get weight from both active intents.
Running getAction() or getActions() (which score actions based on current volition scores and social state) should sum the volition scores assigned to all top-level intents for an action that inherits from multiple. It shouldn't treat that action as multiple separate actions (one inheriting from each intent) that realize separate intents, with separate scores. Unexpected tool behavior suggests that Ensemble might be doing the undesirable action separation rather than summing multiple inherited volition scores:
When you call actions() on the authoring tool, any concrete actions that inherit from multiple intent-level, abstract actions are listed multiple times with different intents and scores.
This might only be a problem in the authoring tool, but I suspect it's a bug in both core Ensemble action scoring (e.g., getActions(), calculated action lineage being linear) and the authoring tool.
To Reproduce:
- Download and unzip this domain
(or another with an action that satisfies multiple intents), and load it into the Ensemble authoring tool. - Enter
actions(barkeep,marco)in the console. - Observe in the actions listed from Barkeep to Marco that the action
askaboutfamilyis listed twice, one associated with theINCREASEFRIENDSHIPintent with a score of 7, and the other associated withBEAGOSSIPwith a score of 4. It should instead haveaskaboutfamilylisted once, with a score of 10, with both intents listed in the intent field. There are other multiple-intent actions as well, includingaskaboutbusiness.
Example domain and bug discovery by @bluestar514
