Acceptable & Desirable - storytron/swat GitHub Wiki
Before we examine the specifics of how Acceptable, Desirable, and the Sentence Wordsockets are configured for the FATE_what_going_to_do option of the FATE role for once_upon_a_time let us look at a more generic example of a verb that has several roles and each role has several options.
A_slaps_B
wiki-Acceptable & Desirable | wiki-Attributes
When you initially create a new role option its Acceptable value is set to True and its Desirable value is set to 0.0.
The Acceptable's True value tells the engine that this option will always be available to the actor playing this role (it is always true, there is no calculation involved that could remove it from consideration). The Desirable value of 0.0 is a bounded number and it states that the actor does not strongly feel one way or another about choosing this option. Bounded numbers can have a minimum value of -1.0 and a maximum value of 1.0 so a value of 0.0 is exactly between the minimum and maximum values, middle of the road (to learn more about bounded numbers see the Bounded Number page in the SWAT wiki).
What an actor chooses to do depends on their personality and their moods (to learn more about both see the Personality Model and Moods pages in the SWAT wiki).
In this hypothetical verb > role > role option example one actor, for whatever reason, slaps another actor.
The verb A_slap_B has three roles associated with it and each role has three role options.
| Verb | Roles | Role Options |
|---|---|---|
| A_slaps_B | Did Slapping | A_slap_again | A_run_away | A_apologize |
| A_slaps_B | Was Slapped | B_slap_back | B_run_away | B_cry |
| A_slaps_B | Saw Slapped | C_yell_at_A | C_comfort_B | C_slap_A |
Visually the verb web looks like this.

Let look at each of the roles and its options to explain how AssumeRoleIf, Acceptable, and Desirable affect subsequent storyworld actions and events.
Actor Who Did The Slapping
XYZ

Did Slapping
A_slap_again Acceptable Desirable
A_run_away Acceptable Desirable
A_apologize Acceptable Desirable
Actor Who Was Slapped
XYZ

Was Slapped
B_slap_back Acceptable Desirable
B_run_away Acceptable Desirable
B_cry Acceptable Desirable
Actor Who Saw The Slap
XYZ

Saw Slap
C_yell_at_A Acceptable Desirable
C_comfort_B Acceptable Desirable
C_slap_A Acceptable Desireable
Option Acceptable?
While the FATE role for the verb once_upon_a_time only has one option available to it, FATE_what_going_to_do, we could image a role that offers the actor multiple options to choose.
XYZ
Select the Acceptable tab for the FATE_what_going_to_do option to display the Acceptable script in the script editor.
Option Desirable?
Select the Desirable tab for the FATE_what_going_to_do option to display the Desirable script in the script editor.
Sentence Wordsockets
https://github.com/storytron/gossip/wiki/Verb-Sentences-and-WordSockets#verb-properties