<?xml version="1.0" encoding="utf-8"?>
<grammar root="tier_1_commands"
         tag-format="semantics/1.0-literals"
         version="1.0"
         sapi:alphabet="x-microsoft-ups"
         xml:lang="en-US"
         xmlns="http://www.w3.org/2001/06/grammar"
         xmlns:sapi="http://schemas.microsoft.com/Speech/2002/06/SRGSExtensions">


<!--
 Grammar data for ANNA satnav. ANNA is only present in the Single player campaign
  'xml:lang=' specifies the language
-->

  <rule id="tier_1_commands" scope="public">
<one-of>
        <!-- Single commands -->
        <item>
            <ruleref uri="#anna" />
        </item>

        <item>
            <ruleref uri="#recommendation_selection_commands" />
        </item>

        <item>
            <ruleref uri="#tier_2_commands" />
        </item>

        <item>
            <ruleref uri="#tier_3_commands_convoy" />
        </item>

        <item>
            <ruleref uri="#tier_3_commands_fast_travel_to" />
        </item>

        <item>
            <ruleref uri="#tier_3_commands_route_to_nearest" />
        </item>

        <item>
            <ruleref uri="#tier_3_commands_start_matchmaking_for" />
        </item>

        <!-- Chains -->
        <!-- Complete chains or partial 1 to 2 -->
        <item>
            <ruleref uri="#anna" />
            <ruleref uri="#tier_2_commands" />
        </item>

        <!-- Partial 2 to 3 -->
        <item>
            <ruleref uri="#route_to_nearest" />
            <ruleref uri="#tier_3_commands_route_to_nearest" />
        </item>

        <item>
            <ruleref uri="#fast_travel_to" />
            <ruleref uri="#tier_3_commands_fast_travel_to" />
        </item>

        <item>
            <ruleref uri="#convoy" />
            <ruleref uri="#tier_3_commands_convoy" />
        </item>

        <item>
            <ruleref uri="#start_matchmaking_for" />
            <ruleref uri="#tier_3_commands_start_matchmaking_for" />
        </item>
    </one-of>
  </rule>

  <rule id="tier_2_commands" scope="public">
    <one-of>
      <item>
        <ruleref uri="#what_should_i_do" />
      </item>
      <item>
        <ruleref uri="#i_need_fans" />
      </item>
      <item>
        <ruleref uri="#i_need_stars" />
      </item>
      <item>
        <ruleref uri="#route_to_nearest" />
      </item>
      <item>
        <ruleref uri="#route_to_nearest" />
        <ruleref uri="#tier_3_commands_route_to_nearest" />
      </item>
      <item>
        <ruleref uri="#start_matchmaking_for" />
      </item>
      <item>
        <ruleref uri="#start_matchmaking_for" />
        <ruleref uri="#tier_3_commands_start_matchmaking_for" />
      </item>
      <item>
        <ruleref uri="#fast_travel_to" />
      </item>
      <item>
        <ruleref uri="#fast_travel_to" />
        <ruleref uri="#tier_3_commands_fast_travel_to" />
      </item>
      <item>
        <ruleref uri="#convoy" />
      </item>
      <item>
        <ruleref uri="#convoy" />
        <ruleref uri="#tier_3_commands_convoy" />
      </item>
      <item>
        <ruleref uri="#cancel" />
      </item>
    </one-of>
  </rule>

  <rule id="tier_3_commands_convoy" scope="public">
    <one-of>
      <item>
        <ruleref uri="#start_a_race" />
      </item>
      <item>
        <ruleref uri="#disband_convoy" />
      </item>
    </one-of>
  </rule>

  <rule id="tier_3_commands_route_to_nearest" scope="public">
    <one-of>
      <item>
        <ruleref uri="#race_route" />
      </item>
      <item>
        <ruleref uri="#stunt_location" />
      </item>
      <item>
        <ruleref uri="#bucket_list" />
      </item>
      <item>
        <ruleref uri="#festival" />
      </item>
      <item>
        <ruleref uri="#street_race" />
      </item>
      <item>
        <ruleref uri="#cancel" />
      </item>
    </one-of>
  </rule>

  <rule id="tier_3_commands_start_matchmaking_for" scope="public">
    <one-of>
      <item>
        <ruleref uri="#online_adventure" />
      </item>
      <item>
        <ruleref uri="#online_freeroam" />
      </item>
      <item>
        <ruleref uri="#online_coop" />
      </item>
      <item>
        <ruleref uri="#cancel" />
      </item>
    </one-of>
  </rule>

  <rule id="tier_3_commands_fast_travel_to" scope="public">
    <one-of>
      <item>
        <ruleref uri="#yarra_valley" />
      </item>
      <item>
        <ruleref uri="#byron_bay" />
      </item>
      <item>
        <ruleref uri="#surfers_paradise" />
      </item>
      <item>
        <ruleref uri="#outback" />
      </item>
      <item>
        <ruleref uri="#festival" />
      </item>
      <item>
        <ruleref uri="#cancel" />
      </item>
    </one-of>
  </rule>

  <rule id="recommendation_selection_commands" scope="public">
    <one-of>
      <item>
        <ruleref uri="#select" />
      </item>
      <item>
        <ruleref uri="#no" />
      </item>
    </one-of>
  </rule>

<rule id="cancel" scope="public">
        <one-of>
            <item>
                <token sapi:display="Cancel">Cancel</token>
            </item>
        </one-of>
    </rule>

    <rule id="anna" scope="public">
        <one-of>
            <item>
                <token sapi:display="ANNA">Anna</token>
            </item>
        </one-of>
    </rule>

    <rule id="i_need_fans" scope="public">
        <one-of>
            <item>
                <token sapi:display="INeedFans">I need fans</token>
            </item>
        </one-of>
    </rule>

    <rule id="i_need_stars" scope="public">
      <one-of>
        <item>
          <token sapi:display="INeedStars">i need stars</token>
        </item>
      </one-of>
    </rule>

    <rule id="what_should_i_do" scope="public">
        <one-of>
            <item>
                <token sapi:display="WhatShouldIDo">What should I do</token>
            </item>
        </one-of>
    </rule>

    <rule id="select" scope="public">
        <one-of>
            <item>
                <token sapi:display="Yes">Yes</token>
            </item>
            <item>
                <token sapi:display="Yes">Yea</token>
            </item>
            <item>
                <token sapi:display="Yes">Yeah</token>
            </item>
            <item>
                <token sapi:display="Yes">Yup</token>
            </item>
            <item>
                <token sapi:display="Yes">OK</token>
            </item>
            <item>
                <token sapi:display="Yes">Okay</token>
            </item>
        </one-of>
    </rule>

    <rule id="no" scope="public">
        <one-of>
            <item>
                <token sapi:display="No">No</token>
            </item>
        </one-of>
    </rule>

    <rule id="route_to_nearest" scope="public">
        <one-of>
            <item>
                <token sapi:display="RouteToNearest">Set route to nearest</token>
            </item>
        </one-of>
    </rule>

    <rule id="fast_travel_to" scope="public">
        <one-of>
            <item>
                <token sapi:display="FastTravelTo">Fast travel to</token>
            </item>
        </one-of>
    </rule>

    <rule id="start_matchmaking_for" scope="public">
        <one-of>
            <item>
                <token sapi:display="StartMatchmakingFor">Start matchmaking for</token>
            </item>
        </one-of>
    </rule>

    <rule id="convoy" scope="public">
        <one-of>
            <item>
                <token sapi:display="Convoy">Convoy</token>
            </item>
        </one-of>
    </rule>

    <rule id="race_route" scope="public">
        <one-of>
            <item>
                <token sapi:display="RaceRoute">Race</token>
            </item>
        </one-of>
    </rule>

    <rule id="stunt_location" scope="public">
        <one-of>
            <item>
                <token sapi:display="StuntLocation">Stunt location</token>
            </item>
        </one-of>
    </rule>

    <rule id="bucket_list" scope="public">
        <one-of>
            <item>
                <token sapi:display="BucketList">Bucket List</token>
            </item>
            <item>
                <token sapi:display="BucketList">BucketList</token>
            </item>
        </one-of>
    </rule>

    <rule id="festival" scope="public">
        <one-of>
            <item>
                <token sapi:display="Festival">Festival</token>
            </item>
        </one-of>
    </rule>

    <rule id="street_race" scope="public">
        <one-of>
            <item>
                <token sapi:display="StreetRace">Street Race</token>
            </item>
        </one-of>
    </rule>

    <rule id="yarra_valley" scope="public">
        <one-of>
            <item>
                <token sapi:display="YarraValley">Yarra Valley</token>
            </item>
        </one-of>
    </rule>

    <rule id="byron_bay" scope="public">
        <one-of>
            <item>
                <token sapi:display="ByronBay">Byron Bay</token>
            </item>
        </one-of>
    </rule>

    <rule id="surfers_paradise" scope="public">
        <one-of>
            <item>
                <token sapi:display="SurfersParadise">Surfers Paradise</token>
            </item>
        </one-of>
    </rule>

    <rule id="outback" scope="public">
        <one-of>
            <item>
                <token sapi:display="Outback">Outback</token>
            </item>
            <item>
                <token sapi:display="Outback">The Outback</token>
            </item>
        </one-of>
    </rule>

    <rule id="online_adventure" scope="public">
        <one-of>
            <item>
                <token sapi:display="OnlineAdventure">Online Adventure</token>
            </item>
            <item>
                <token sapi:display="OnlineAdventure">Adventure</token>
            </item>
        </one-of>
    </rule>

    <rule id="online_freeroam" scope="public">
        <one-of>
            <item>
                <token sapi:display="OnlineFreeroam">Online Freeroam</token>
            </item>
            <item>
                <token sapi:display="OnlineFreeroam">Freeroam</token>
            </item>
        </one-of>
    </rule>

    <rule id="online_coop" scope="public">
        <one-of>
            <item>
                <token sapi:display="OnlineCoop">Co op campaign</token>
            </item>
        </one-of>
    </rule>

    <rule id="start_a_race" scope="public">
        <one-of>
            <item>
                <token sapi:display="StartARace">Start a race</token>
            </item>
            <item>
                <token sapi:display="StartARace">Let's race</token>
            </item>
        </one-of>
    </rule>

    <rule id="disband_convoy" scope="public">
        <one-of>
            <item>
                <token sapi:display="DisbandConvoy">Disband Convoy</token>
            </item>
            <item>
                <token sapi:display="DisbandConvoy">Disband</token>
            </item>
        </one-of>
    </rule>
</grammar>
