Import v6.12.6 of the Inform 6 standard library
[informlib.git] / english.h
index 2b2da8b4ba93de1aa994b413e2600ef72d6f8632..24bc0fda9e7251f4421f6f131d5755d42f8f4f02 100644 (file)
--- a/english.h
+++ b/english.h
@@ -1,9 +1,9 @@
 ! ==============================================================================
 !   ENGLISH:  Language Definition File
 !
-!   Supplied for use with Inform 6 -- Release 6.12.4 -- Serial number 200718
+!   Supplied for use with Inform 6 -- Release 6.12.6 -- Serial number 220219
 !
-!   Copyright Graham Nelson 1993-2004 and David Griffith 2012-2020
+!   Copyright Graham Nelson 1993-2004 and David Griffith 2012-2022
 !
 !   This file is free software: you can redistribute it and/or modify
 !   it under the terms of the GNU Affero General Public License as
@@ -332,7 +332,7 @@ Array LanguageGNAsToArticles --> 0 0 0 1 1 1 0 0 0 1 1 1;
 ! ----------------------------------------------------------------------------
 
 [ LanguageVerbLikesAdverb w;
-    if (w == 'look' or 'go' or 'push' or 'walk')
+    if (w == 'look' or 'go' or 'run' or 'leave' or 'l//' or 'push' or 'walk')
         rtrue;
     rfalse;
 ];
@@ -893,6 +893,13 @@ Constant LIBRARYV__TX   = " Library v";
                          "didn't have");
             " ", (the) x1, ".";
         3:  "Dropped.";
+        4: CSubjectVerb(actor, false, false, "need to take", 0, 0, "had to take");
+           print " ", (the) x1, " ";
+           if (x2 has container)
+               print "out";
+           else
+               print "off";
+           " of ", (the) x2, " before dropping ", (ItOrThem) x1, ".";
     }
   Eat: switch (n) {
         1:  CSubjectIs(x1,true); " plainly inedible.";
@@ -1122,7 +1129,8 @@ Constant LIBRARYV__TX   = " Library v";
             print " ";
         5:  print "^Would you like to RESTART, RESTORE a saved game";
             #Ifdef DEATH_MENTION_UNDO;
-            print ", UNDO your last move";
+           if (undo_flag ~= 0)
+               print ", UNDO your last move";
             #Endif;
             if (TASKS_PROVIDED == 0) print ", give the FULL score for that game";
             if (deadflag == 2 && AMUSING_PROVIDED == 0)
@@ -1325,6 +1333,8 @@ Constant LIBRARYV__TX   = " Library v";
         2:  print "But ";
             CSubjectIsnt(x1,true,true); " there now.";
         3:  "Removed.";
+        4:  print "But ";
+            CSubjectIsnt(x1,true,true); " in or on anything.";
     }
   Restart: switch (n) {
         1:  print "Are you sure you want to restart? ";
@@ -1477,8 +1487,6 @@ Constant LIBRARYV__TX   = " Library v";
         11: CSubjectIs  (x1,true); " fixed in place.";
         12: CSubjectIs  (actor,true); " carrying too many things already.";
         13: "(putting ", (the) x1, " into ", (the) x2, " to make room)";
-       14: CSubjectVerb(actor, false, false, "should take", 0, 0, "should have taken");
-           " ", (the) x1, " first.";
     }
   Taste: switch (n) {
         1:  CSubjectVerb(actor,true,false,"taste",0,"tastes","tasted"); " nothing unexpected.";
@@ -1562,6 +1570,13 @@ Constant LIBRARYV__TX   = " Library v";
         2:  CSubjectIs  (actor,true); " not holding ", (ThatOrThose) x1, ".";
         3:  CSubjectIs  (actor,true); " already wearing ", (ThatOrThose) x1, ".";
         4:  CSubjectVerb(actor,false,false,"put on",0,"puts on","put on"); " ", (the) x1, ".";
+        5:  CSubjectVerb(actor, false, false, "need to take", 0, 0, "had to take");
+            print " ", (the) x1, " ";
+            if (x2 has container)
+                print "out";
+            else
+                print "off";
+            " of ", (the) x2, " before wearing ", (ItOrThem) x1, ".";
     }
 ! Yes:  see No.
 ];