I am now tackling a tricky group of scripts, so I shall talk my way through the process here. The scripts control how an Actor reacts to the Verb ‘relate feelings’, in which the Subject tells the DirObject his feelings for an IndObject.
The most obvious reaction is for the ReactingActor to relate his own feelings towards the IndObject. There’s a complicated set of conditions here:
If ReactingActor has already related his own feelings towards IndObject in the immediate past, then he should not repeat himself.
ReactingActor should probably follow the lead set by the CausalEvent regarding both IndObject and Aura.
ReactingActor should not contradict Subject.
ReactingActor should not say negative things about IndObject if Subject holds positive feelings about IndObject.
ReactingActor should give preference to his strongest feelings.
What makes these considerations difficult is the fact that they’re spread over six scripts for two WordSockets (4Actor and 5ActorTrait) and the Option. We have to select IndObject first. Every one of the above considerations must be factored into the decision to select the current IndObject as opposed to a different IndObject. In other words, we must first calculate each of the above considerations to determine if the established IndObject is an appropriate topic, or instead shift to a different IndObject.
Here’s a way to simplify the problem: break it up into several steps. Consider only the established IndObject, and calculate the Option Desirability based on that IndObject; and provide a new Verb as an Option: ‘what do you feel about X?’
Yes, I do believe that this is the best overall solution.