Simple Adventure Game System

version 1 by Philip Black

  • Home page
  • Beginning
  • Previous
  • Next



  • Section -------------------------------------------------------- Crafting --------------------------------------------------------
    Carry out Combining Objects:
        if the second noun is the noun:
            say "[if craftmessage is true]You can't use [the noun] on itself.[end if]" instead;
            now craftmessage is true;
        otherwise if something (called the craft result) that is become by the noun is become by the second noun:
            If the noun is Craft Machine or the noun is Craft Tool: [----------------------------------------------------------------------------------------MACHINE or TOOL NOUN]
                If the craft result is Needs a Vessel:
                    If the player carries a Alchemy Vessel:
                        if something (called the X real result) that is the same as the craft result is in the Hyperspace Chest:
                            move the second noun to Hyperspace Chest;
                            now craftmessage is true;
                            If the noun is Craft Tool:
                                now player carries the X real result;
                                say "[if craftmessage is true]You use [the noun] on the [the second noun] and out pours a [craft result] into your bottle.[end if]";
                                now craftmessage is true;
                            otherwise:
                                move the X real result to the Machine Output of the noun;
                                say "[if craftmessage is true]You use [the noun] on [the second noun] and out pops a bottled [craft result] into the [Machine Output of the noun].[end if]";
                                now craftmessage is true;
                            now the noun is a random Alchemy Vessel carried by the player;
                            move the noun to Hyperspace Chest;
                        otherwise:
                            move the second noun to Hyperspace Chest;
                            let the new thing be a new object cloned from the craft result, preserving relations;
                            If the noun is Craft Tool:
                                now player carries the new thing;
                                say "[if craftmessage is true]You use [the noun] on the [the second noun] and out pours a [craft result] into your bottle.[end if]";
                                now craftmessage is true;
                            otherwise:
                                move the new thing to the Machine Output of the noun;
                                say "[if craftmessage is true]You use [the noun] on [the second noun] and out pops a bottled [craft result] into the [Machine Output of the noun].[end if]";
                                now craftmessage is true;
                            now the noun is a random Alchemy Vessel carried by the player;
                            move the noun to Hyperspace Chest;
                    otherwise:
                        Say "[line break]You need a bottle to hold the [craft result] when it pours out of the machine.";
                        now craftmessage is true;
                otherwise: [------------------------------------------------------< NO BOTTLE NEEDED SCRIPT]
                    if something (called the X real result) that is the same as the craft result is in the Hyperspace Chest:
                        move the second noun to Hyperspace Chest;
                        If the noun is Craft Tool:
                            now player carries the X real result;
                            say "[if craftmessage is true]You use [the noun] on [the second noun] and get a [craft result].[end if]";
                            now craftmessage is true;
                        otherwise:
                            move the X real result to the Machine Output of the noun;
                            say "[if craftmessage is true]You use [the noun] on [the second noun] and out pops a [craft result] into the [Machine Output of the noun].[end if]";
                            now craftmessage is true;
                    otherwise:
                        move the second noun to Hyperspace Chest;
                        let the new thing be a new object cloned from the craft result, preserving relations;
                        If the noun is Craft Tool:
                            now player carries the new thing;
                            say "[if craftmessage is true]You use [the noun] on [the second noun] and get a [craft result].[end if]";
                            now craftmessage is true;
                        otherwise:
                            move the new thing to the Machine Output of the noun;
                            say "[if craftmessage is true]You use [the noun] on [the second noun] and out pops a [craft result] into the [Machine Output of the noun].[end if]";
                            now craftmessage is true;
            otherwise if the second noun is Craft Machine or the second noun is Craft Tool: [----------------------------------------------------------------------------------------MACHINE or TOOL ---- SECOND NOUN]
                If the craft result is Needs a Vessel:
                    If the player carries a Alchemy Vessel:
                        if something (called the X real result) that is the same as the craft result is in the Hyperspace Chest:
                            move the noun to Hyperspace Chest;
                            If the second noun is Craft Tool:
                                now player carries the X real result;
                                say "[if craftmessage is true]You use [the noun] on [the second noun] and get a [craft result].[end if]";
                                now craftmessage is true;
                            otherwise:
                                move the X real result to the Machine Output of the second noun;
                                say "[if craftmessage is true]You use [the noun] on [the second noun] and out pops a bottled [craft result] into the [Machine Output of the second noun].[end if]";
                                now craftmessage is true;
                            now the noun is a random Alchemy Vessel carried by the player;
                            move the noun to Hyperspace Chest;
                        otherwise:
                            move the noun to Hyperspace Chest;
                            let the new thing be a new object cloned from the craft result, preserving relations;
                            If the second noun is Craft Tool:
                                now player carries the new thing;
                                say "[if craftmessage is true]You use [the noun] on [the second noun] and get a [craft result].[end if]";
                                now craftmessage is true;
                            otherwise:
                                move the new thing to the Machine Output of the second noun;
                                say "[if craftmessage is true]You use [the noun] on [the second noun] and out pops a bottled [craft result] into the [Machine Output of the second noun].[end if]";
                                now craftmessage is true;
                            now the noun is a random Alchemy Vessel carried by the player;
                            move the noun to Hyperspace Chest;
                    otherwise:
                        Say "[line break]You need a bottle to hold the [craft result] when it pours out of the machine.";
                        now craftmessage is true;
                otherwise: [------------------------------------------------------< NO BOTTLE NEEDED SCRIPT]
                    if something (called the X real result) that is the same as the craft result is in the Hyperspace Chest:
                        move the noun to Hyperspace Chest;
                        If the second noun is Craft Tool:
                            now player carries the X real result;
                            say "[if craftmessage is true]You use [the noun] on [the second noun] and get a [X real result].[end if]";
                            now craftmessage is true;
                        otherwise:
                            move the X real result to the Machine Output of the second noun;
                            say "[if craftmessage is true]You use [the noun] on [the second noun] and out pops a [craft result] into the [Machine Output of the second noun].[end if]";
                            now craftmessage is true;
                    otherwise:
                        move the noun to Hyperspace Chest;
                        let the new thing be a new object cloned from the craft result, preserving relations;
                        If the second noun is Craft Tool:
                            now player carries the new thing;
                            say "[if craftmessage is true]You use [the noun] on [the second noun] and get a [X real result].[end if]";
                            now craftmessage is true;
                        otherwise:
                            move the new thing to the Machine Output of the second noun;
                            say "[if craftmessage is true]You use [the noun] on [the second noun] and out pops a [craft result] into the [Machine Output of the second noun].[end if]";
                            now craftmessage is true;
            otherwise: [----------------------------------------------------------------------------------------GENERAL SCRIPT]
                If the craft result is Needs a Vessel:
                    If the player carries a Alchemy Vessel:
                        if something (called the X real result) that is the same as the craft result is in the Hyperspace Chest:
                            move the noun to Hyperspace Chest;
                            move the second noun to Hyperspace Chest;
                            say "[if craftmessage is true]You use [the noun] on [the second noun] and get a [X real result].[end if]";
                            now craftmessage is true;
                            now player carries the X real result;
                            now the noun is a random Alchemy Vessel carried by the player;
                            move the noun to Hyperspace Chest;
                        otherwise:
                            move the noun to Hyperspace Chest;
                            move the second noun to Hyperspace Chest;
                            say "[if craftmessage is true]You use [the noun] on [the second noun] and get a [craft result].[end if]";
                            now craftmessage is true;
                            let the new thing be a new object cloned from the craft result, preserving relations;
                            move the new thing to the player;
                            now the noun is a random Alchemy Vessel carried by the player;
                            move the noun to Hyperspace Chest;
                    otherwise:
                        Say "[line break]You need a bottle to hold the [craft result] when it pours out of the machine.";
                        now craftmessage is true;
                otherwise: [------------------------------------------------------< NO BOTTLE NEEDED SCRIPT]
                    if something (called the X real result) that is the same as the craft result is in the Hyperspace Chest:
                        move the noun to Hyperspace Chest;
                        move the second noun to Hyperspace Chest;
                        say "[if craftmessage is true]You use [the noun] on [the second noun] and get a [X real result].[end if]";
                        now craftmessage is true;
                        now player carries the X real result;
                    otherwise:
                        move the noun to Hyperspace Chest;
                        move the second noun to Hyperspace Chest;
                        say "[if craftmessage is true]You use [the noun] on [the second noun] and get a [craft result].[end if]";
                        now craftmessage is true;
                        let the new thing be a new object cloned from the craft result, preserving relations;
                        move the new thing to the player;
        otherwise if the noun is lockable or the second noun is lockable:
            if the noun is locked:
                try unlocking the noun with the second noun;
                reject the player's command;
            otherwise if the second noun is locked:
                try unlocking the second noun with the noun;
                reject the player's command;
            otherwise if the noun is unlocked:
                try locking the noun with the second noun;
                reject the player's command;
            otherwise if the second noun is unlocked:
                try locking the second noun with the noun;
                reject the player's command;
        otherwise:
            If the craft result is nothing:
                say "[if craftmessage is true]The [bold type][noun][roman type] and [bold type][the second noun][roman type] just don't seem to go together.[end if]";
            otherwise:
                say "[if craftmessage is true]The [bold type][noun][roman type] and [bold type][the second noun][roman type] just don't seem to go together., which is odd because they should make [craft result]. (This seems like a bug in the program)[end if]";
                now craftmessage is true;