Here is one way to implement your script. I post it here as an example not just for you, but other users who are trying to create dialogue options.
This is a command collection with 2 command groups. It can be developed further, of course.
There is 1 payload XML file attached ("mood response.xml", which has your scenario options in it). It is used in the "my mood today" command. I just placed it in the main VC folder. If you want to put it in the payloads folder don't forget to fix the command accordingly.
The command group called "Scenarios" is usually disabled. But when you say "Hi I'm home" or "I've changed my mind", the Scenarios command group is enabled, and the conversation continues from there.
My solution assumes that users will use their default confirmation phrases that they've selected in the
Options settings to say, "Yes" or "No" when the computer asks whether you'd like to watch a movie or launch the relax scene etc.
My commands don't launch those scenes at the moment. The command called "Scene based on mood" must be edited.
You expressed a wish to use logic blocks. That command uses logic blocks, so each response scenario can be customized in that command.
The "Scenarios" group is automatically disabled again once a user has either chosen a scenario or told the computer "No" (using a confirmation no response).
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.3.4-->
<groupCollection open="True" name="Conversational commands">
<commandGroup open="True" name="Hello I am home" enabled="True" prefix="" priority="0" requiredProcess="" description="">
<command id="454" name="Hello I am home" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<if ifBlockDisabled="False" ifNot="False">
<ifType>(A)Contains(B)</ifType>
<ifParams>{LastSpoken}&&I am home</ifParams>
<then>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>Hello, how was your day at work</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>What are you in the mood for?</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</else>
</if>
<action>
<cmdType>Group.EnableRegEx</cmdType>
<params>
<param>Scenarios.+</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>Hello I am home, I've changed my mind</phrase>
</command>
</commandGroup>
<commandGroup open="True" name="Scenarios (usually disabled group)" enabled="False" prefix="" priority="0" requiredProcess="" description="">
<command id="455" name="My mood today" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>TTS.SpeakSync</cmdType>
<params>
<param>{1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>VC.TriggerEvent</cmdType>
<params>
<param>Scene</param>
<param>{1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">mood response.xml</payloadFromXML>
</command>
<command id="456" name="Scene based on mood" enabled="true" alwaysOn="False" confirm="True" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<if ifBlockDisabled="False" ifNot="False">
<ifType>(A)Contains(B)</ifType>
<ifParams>{1}&&movie</ifParams>
<then>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>No problem. I'll launch your movie player now.</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>VC.TriggerEvent</cmdType>
<params>
<param>launch movie command</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else />
</if>
<if ifBlockDisabled="False" ifNot="False">
<ifType>(A)Contains(B)</ifType>
<ifParams>{1}&&relax</ifParams>
<then>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>Let's try to relax. | Here is your relaxation scene. | Just take a deep breath and let me take care of you..</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>VC.TriggerEvent</cmdType>
<params>
<param>launch relax scene</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else />
</if>
<action>
<cmdType>Group.DisableRegEx</cmdType>
<params>
<param>Scenarios.+</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<event>Scene</event>
</command>
<command id="457" name="Disable group based on confirm event of scene command" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>Group.DisableRegEx</cmdType>
<params>
<param>Scenarios.+</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.SpeakSync</cmdType>
<params>
<param>No problem. Just let me know if you change your mind.</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<event>Confirm.Cancel.Scene based on mood</event>
</command>
</commandGroup>
</groupCollection>