! Testing that held and creature tokens parse all/all-but correctly
! Testing issue 60 (sentence splitting)
! 
!
#Iftrue (#version_number == 8);
Constant USEINFORM;
#Endif;

Constant Story      "Parser test";
Constant Headline   "^A parser test suite for PunyInform.^";
Serial "200827";
Constant INITIAL_LOCATION_VALUE = Room;

! Uncomment to show time instead of score/turns
!Statusline time;

!Constant DEBUG;
!Constant DEBUG_PARSEANDPERFORM;
!Constant DEBUG_PARSEPATTERN;
!Constant DEBUG_PARSETOKEN;
!Constant DEBUG_PARSENOUNPHRASE;
!Constant DEBUG_GETNEXTNOUN;
!Constant DEBUG_SCOPE;

! Uncomment to add optional features to PunyLib
!Constant DEBUG;
!Constant CUSTOM_ABBREVIATIONS;
!Constant OPTIONAL_ALLOW_WRITTEN_NUMBERS;
Constant OPTIONAL_EXTENDED_METAVERBS;
!Constant OPTIONAL_EXTENDED_VERBSET;
!Constant OPTIONAL_FULL_SCORE;
!Constant OPTIONAL_FULL_DIRECTIONS;
!Constant OPTIONAL_GUESS_MISSING_NOUN;
!Constant OPTIONAL_MANUAL_SCOPE;
!Constant RUNTIME_ERRORS = 0;

#Ifdef USEINFORM;
Include "Parser";
Include "VerbLib";
#IfNot;
Include "globals.h";
#EndIf;

#Ifndef USEINFORM;
Include "puny.h";
#EndIf;

! Uncomment to add PunyLib extensions
!Include "ext_menu.h";
!Include "ext_flags.h";
!Include "ext_quote_box.h";
!Include "ext_cheap_scenery.h";


#Ifdef USEINFORM;
Include "Grammar";
#Endif;

Object Room "Room"
   with description "You are in a room.",
   s_to Room2,
   has light;

Object Room2 "Room 2"
   with description "You are in another room.",
   n_to Room,
   has light;

Object apple "apple" Room
   with name 'apple',
   Before [; eat: deadflag = 2; ],
   has edible;

Object banana "banana" Room
   with name 'banana',
   has edible;

Object orange "orange" Room2
   with name 'orange',
   has edible;

Object bob "Bob" Room
   with name 'bob' has animate proper;

Object bush "bush" Room
   with
      name 'bush',
      Before [;
         Search: 
            move pineapple to player;
            !give apple ~concealed;
            "You find a pineapple. You take it.";
      ],
   has;

Object pineapple "pineapple"
   with name 'pineapple', has concealed;

[ Initialise;
#IfDef USEINFORM;
    location=INITIAL_LOCATION_VALUE;
#EndIf;
];

