! version = 2.00 // This file tests topic inclusions and inheritence: // // includes: this means that the topic "includes" the triggers present // in another topic. Matching triggers in the source and included // topic are possible, and the *reply* in the source topic overrides // the reply in the included topic. // inherits: all triggers in the source topic have higher matching priority than // all triggers in the inherited topic. So if the source topic has a // trigger of simply *, it means NO triggers can possibly match on the // inherited topic, because '*' goes higher in the match list. // Aliases ! sub n = north ! sub w = west ! sub s = south ! sub e = east // This gets us into the game. + rpg demo - You're now playing the game. Type "help" for help.\n\n{topic=nasa_lobby}{@look} // Global triggers available everywhere > topic global + help - Commands that might be helpful:\n\n ^ look: Give a description of the current room.\n ^ exits: List the exits of the current room.\n ^ north, south, east, west, up, down: Go through an exit.\n ^ inventory: Display your inventory.\n ^ exit: Quit the game. + inventory - Your inventory: + exit - Logging out of the game...{topic=random} + _ * - You don't need to use the word "" in this game. + * - I'm not sure what you're trying to do. // The following triggers get overridden on a room-by-room basis. + look - There is nothing special in this room. + exits - There are no exits to this room. + north - You can't go in that direction. + west - You can't go in that direction. + south - You can't go in that direction. + east - You can't go in that direction. + up - You can't go in that direction. + down - You can't go in that direction. < topic ///////////// // World Topics: all the "rooms" in our game inherit their triggers from these // "world" topics. The world topics include the triggers from the global topic ///////////// // Global triggers available on Earth > topic earth includes global + breathe - There is plenty of oxygen here so breathing is easy! + what world (is this|am i on) - You are on planet Earth right now. < topic // Global triggers available on Mars > topic mars includes global + breathe - Thanks to your space suit you can breathe. There's no oxygen on this planet. + what world (is this|am i on) - You are on planet Mars right now. < topic ///////////// // Earth rooms: all these rooms are on Earth and their inherit the earth topic // above. This means you can type "breathe" and "what world is this?" from every // room on Earth. ///////////// // The NASA building on Earth > topic nasa_lobby inherits earth // All of these triggers have higher matching priority than all other // triggers from the other topics, because this topic inherits a topic. So // the matching list looks like this: // exits // north // look // (combined triggers from earth & global) // Because our "north" is near the top of the match list, ours always gets // called. But if we try saying "south", we end up matching the "south" from // the global topic. + look - You are in the lobby of a NASA launch base on Earth. {@exits} + exits - There is an elevator to the north. + north - {topic=elevator}{@look} < topic // Elevator in NASA building on earth > topic elevator inherits earth + look - You are in the elevator that leads to the rocket ship. {@exits} + exits - Up: the path to the rocket\n ^ Down: the NASA lobby + up - {topic=walkway}{@look} + down - {topic=nasa_lobby}{@look} < topic // Path to the rocket > topic walkway inherits earth + look - You are on the walkway that leads to the rocket. {@exits} + exits - The rocket is to the north. The elevator is to the south. + north - {topic=rocket}{@look} + south - {topic=elevator}{@look} < topic // Rocket ship > topic rocket inherits earth + look - You are on the rocket. There is a button here that activates the rocket. {@exits} + exits - The walkway back to the NASA base is to the south. + south - {topic=walkway}{@look} + (push|press) button - You push the button and the rocket activates and flies into outer space. The ^ life support system comes on, which includes an anesthesia to put you to sleep\s ^ for the duration of the long flight to Mars.\n\n ^ When you awaken, you are on Mars. The space shuttle seems to have crash-landed.\s ^ There is a space suit here.{topic=crashed} < topic // Crashed on Mars > topic crashed inherits mars + look - You are in the ruins of your space shuttle. There is a space suit here. The\s ^ door to the shuttle is able to be opened to get outside. + open door * == 1 => You open the door and step outside onto the red Martian surface.{topic=crashsite}{@look} - You can't go outside or you'll die. There's no oxygen here. + (take|put on) (space suit|suit|spacesuit) * == 1 => You are already wearing the space suit. - You put on the space suit. Now you can breathe outside with this. + exits - The only exit is through the door that leads outside. < topic // Martian surface > topic crashsite inherits mars + look - You are standing on the red dirt ground on Mars. There is nothing but desert in all directions. + exits - You can go in any direction from here; there is nothing but desert all around. + north - {topic=puzzle1}{@look} + east @ look + west @ look + south @ look < topic // Puzzle on Mars. The sequence to solve the puzzle is: // north, west, west, north. // Topic "puzzle" is a placeholder that sets all the directions to return // us to the crash site. puzzle inherits mars so that puzzle's directions // will override the directions of mars. All the steps of the puzzle then // "include" puzzle, and override only one direction. e.g. since "west" // exists in puzzle1, the response from puzzle1 is given, but if you're // in puzzle1 and type "north"... north was included from "puzzle", but // puzzle1 doesn't have a reply, so the reply from "puzzle" is given. > topic puzzle inherits mars // Provides common directional functions for wandering around on Mars. + north - {topic=crashsite}{@look} + east - {topic=crashsite}{@look} + west - {topic=crashsite}{@look} + south - {topic=crashsite}{@look} < topic > topic puzzle1 includes puzzle + look - You wander to a part of the desert that looks different than other parts of the desert. // We get 'exits' from crashsite + west - {topic=puzzle2}{@look} < topic > topic puzzle2 includes puzzle + look - This part looks even more different than the rest of the desert. + west - {topic=puzzle3}{@look} < topic > topic puzzle3 inherits mars puzzle + look - Now this part is even MORE different. Also there is a space colony nearby. + north - {topic=entrance}{@look} < topic > topic entrance inherits mars + look - You're standing at the entrance to a space colony. {@exits} + exits - The entrance to the space colony is to the north. + north - {topic=vaccuum}{@look} < topic > topic vaccuum inherits mars + look - You're in the air lock entrance to the space colony. {@exits} + exits - The inner part of the space colony is to the north. The martian surface is to the south. + north - {topic=colony}{@look} + south - {topic=vaccuum}{@look} < topic > topic colony inherits mars + look - You've made it safely to the space colony on Mars. This concludes the game. + exits - There are no exits here. + * - This is the end of the game. There's nothing more to do. < topic