diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c799d12 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +*.exe diff --git a/Binaries/EldarianOdyssey-x64-Debug.zip b/Binaries/EldarianOdyssey-x64-Debug.zip index f5a73f2..87c670a 100644 Binary files a/Binaries/EldarianOdyssey-x64-Debug.zip and b/Binaries/EldarianOdyssey-x64-Debug.zip differ diff --git a/Binaries/EldarianOdyssey-x64.zip b/Binaries/EldarianOdyssey-x64.zip index 0445cba..b8d629e 100644 Binary files a/Binaries/EldarianOdyssey-x64.zip and b/Binaries/EldarianOdyssey-x64.zip differ diff --git a/Binaries/EldarianOdyssey-x86-Debug.zip b/Binaries/EldarianOdyssey-x86-Debug.zip index d2d678b..31f3afc 100644 Binary files a/Binaries/EldarianOdyssey-x86-Debug.zip and b/Binaries/EldarianOdyssey-x86-Debug.zip differ diff --git a/Binaries/EldarianOdyssey-x86.zip b/Binaries/EldarianOdyssey-x86.zip index 0eae5c2..1b2c87c 100644 Binary files a/Binaries/EldarianOdyssey-x86.zip and b/Binaries/EldarianOdyssey-x86.zip differ diff --git a/DoThings.pbi b/DoThings.pbi index 2417152..70dba53 100644 --- a/DoThings.pbi +++ b/DoThings.pbi @@ -230,6 +230,8 @@ Procedure HandleValidCommand(strNoun.s, strVerb.s) fHandled = ButtonHandler(strVerb, strNoun) Case "OPEN" ;opening fHandled = OpeningHandler(strVerb, strNoun) + Case "BACK" ;backpack + fHandled = BackpackHandler(strVerb, strNoun) Default fHandled = #True AddToOutput(HandleMessage("nounverberr")) @@ -339,13 +341,19 @@ Procedure HandleNoValidNoun(strVerb.s, strNoun.s) Select Left(strVerb, #PARSELEN) Case "GET", "TAKE", "GRAB" If Not GG\ptrRoom\iState & #SDARK Or GG\fLightSource - AddToOutput(FormatString(HandleMessage("badget"), LCase(strNoun))) + If strNoun = "ALL" + AddToOutput("Please pick things up one at a time.") + Else + AddToOutput(FormatString(HandleMessage("badget"), LCase(strNoun))) + EndIf Else AddToOutput("It's too dark to find anything.") EndIf Case "DROP" If strNoun = "COINS" ;workaround for drop multiple coins DropHandler("COIN") + ElseIf strNoun = "ALL" + AddToOutput("Please drop things one at a time, or try " + Chr(34) + "DROP BACKPACK" + Chr(34) + ".") Else AddToOutput(FormatString(HandleMessage("baddrop"), LCase(strNoun))) EndIf @@ -538,7 +546,7 @@ Procedure.s TimerCommand(*sTIMER.EOTIMER = #NUL) ProcedureReturn strElapsed EndProcedure ; IDE Options = PureBasic 5.70 LTS (Windows - x64) -; CursorPosition = 231 -; FirstLine = 205 +; CursorPosition = 233 +; FirstLine = 193 ; Folding = --- ; EnableXP \ No newline at end of file diff --git a/EldarianOdyssey.pbp b/EldarianOdyssey.pbp index bd448a7..285ab87 100644 --- a/EldarianOdyssey.pbp +++ b/EldarianOdyssey.pbp @@ -7,7 +7,7 @@
- +
@@ -20,7 +20,7 @@ - + @@ -40,7 +40,7 @@ - + @@ -72,7 +72,7 @@ - + @@ -94,16 +94,16 @@ Resources\icons\EO_Icon.ico - - - + + + - + - - + + @@ -117,16 +117,16 @@ Resources\icons\EO_Icon.ico - - - + + + - - + + @@ -139,16 +139,16 @@ Resources\icons\EO_Icon.ico - - - + + + - - + + @@ -161,16 +161,16 @@ Resources\icons\EO_Icon.ico - - - + + + - - + + diff --git a/Handlers.pbi b/Handlers.pbi index 1834c16..0ff1ea5 100644 --- a/Handlers.pbi +++ b/Handlers.pbi @@ -521,6 +521,23 @@ Procedure.i PortcullisHandler(strVerb.s, strNoun.s) EndProcedure ;Valid noun/verb handlers. #PARSELEN verb passed in +Procedure.i BackpackHandler(strVerb.s, strNoun.s) + Protected fRC.i = #False + + If strVerb = "SEAR" + fRC = #True + + If Not GG\fHaveBackpack + AddToOutput("You'll have to pick up the backpack before you can search it.") + Else + InventoryHandler(#INVENTORYDISPLAY) + EndIf + EndIf + + ProcedureReturn fRC +EndProcedure + + ;Valid noun/verb handlers. #PARSELEN verb passed in Procedure.i CellDoorHandler(strVerb.s, strNoun.s) Protected fRC.i = #True @@ -1622,7 +1639,7 @@ Procedure.i ClerkHandler(strVerb.s, strNoun.s) ElseIf iState & #STATE1 str = "The clerk gives you an icy stare. " + Chr(34) + "Leave." + Chr(34) Else - str = Chr(34) + "Don't you have better things to do? Please leave." + Chr(34) + str = Chr(34) + "Don't you have better things to do? Go talk to the king. Please leave." + Chr(34) EndIf Default @@ -2754,14 +2771,14 @@ Procedure GetHandler(strNoun.s) EndIf If strNoun = "" - strNoun = "ALL" + strNoun = "EMPTY" EndIf strFullNoun = LCase(strNoun) strNoun = Left(strNoun, #PARSELEN) Select strNoun - Case "ALL" + Case "EMPTY" str = "Please tell me exactly what to get." Default *ptrNoun = FindMapElement(Nouns(), strNoun) @@ -2842,8 +2859,8 @@ Procedure GetHandler(strNoun.s) EndProcedure ; IDE Options = PureBasic 5.70 LTS (Windows - x64) -; CursorPosition = 2257 -; FirstLine = 2220 +; CursorPosition = 534 +; FirstLine = 520 ; Folding = ------------- -; Markers = 564,776,1517 +; Markers = 581,793,1534 ; EnableXP \ No newline at end of file diff --git a/Resources/Nouns.txt b/Resources/Nouns.txt index a63a9c7..c5e9976 100644 --- a/Resources/Nouns.txt +++ b/Resources/Nouns.txt @@ -335,7 +335,7 @@ [0]The branches are more sparse from this side than they appear to be from the other. }COIN,^GOLD,^MONEY,!GIVE,!USE,*1001-11000000,$INVENTORY [1]This is a[2]These are[0] solid gold coin[2]s[0] with the royal seal of Zarburg stamped on [1]it[2]them[0]. -}BACKPACK,^PACK,*1001-10100000,$INVENTORY +}BACKPACK,^PACK,!SEARCH,*1001-10100000,$INVENTORY [0]It's a rugged backpack that contains the items you are carrying.[1] The backpack is currently empty.[2] The pack is starting to fill up.[3] The pack is over halfway full.[4] Your backpack is full. You'll have to drop something to carry more. ;line must end with an followed by at least one more character in the file (like this line) \ No newline at end of file diff --git a/Resources/about.txt b/Resources/about.txt index fb67377..1b1abc4 100644 --- a/Resources/about.txt +++ b/Resources/about.txt @@ -7,7 +7,7 @@ This cross-platform open source project is programmed in PureBasic(tm), by Fanta *************************************************** * This software is licensed under the MIT license * *************************************************** -Copyright 2018-2019, ByteCave, Inc. +Copyright 2018-2019, ByteCave Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: @@ -15,4 +15,4 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -GITHUB Home: https://github.com/bytecaveinc/eldarian-odyssey \ No newline at end of file +GITHUB Home: https://github.com/bytecave/eldarian-odyssey \ No newline at end of file diff --git a/Resources/credits.txt b/Resources/credits.txt index 2048af3..c1ff0d2 100644 --- a/Resources/credits.txt +++ b/Resources/credits.txt @@ -1,5 +1,5 @@ GAME CREDITS: - Main Author: Rich Eizenhoefer, ByteCave, Inc. + Main Author: Rich Eizenhoefer, ByteCave Beta Testers: Kyle Swinney, Shon Eizenhoefer SPECIAL THANKS ------------------------------------- diff --git a/Resources/images/logo.png b/Resources/images/logo.png index 1ce9780..9c8e05e 100644 Binary files a/Resources/images/logo.png and b/Resources/images/logo.png differ diff --git a/StringTable.pbi b/StringTable.pbi index a266d2f..4a880bc 100644 --- a/StringTable.pbi +++ b/StringTable.pbi @@ -7,7 +7,7 @@ enu: Data.s "[output_font]", "SV Basic Manual" Data.s "[apptitle]", "Eldarian Odyssey" - Data.s "[copyright]", "(c) 2018-2019, ByteCave, Inc." + Data.s "[copyright]", "(c) 2018-2019, ByteCave" Data.s "[entryprompt]", "ENTER COMMAND:" Data.s "[ERROR]", "Error" Data.s "[CANTINITGRAPHICS]", "Can't initialize graphics screen" @@ -145,5 +145,5 @@ EndDataSection ; IDE Options = PureBasic 5.70 LTS (Windows - x64) -; CursorPosition = 9 +; CursorPosition = 48 ; EnableXP \ No newline at end of file