Update to serial 200329
[homeland.git] / src / objects / intro / livingroom.inf
diff --git a/src/objects/intro/livingroom.inf b/src/objects/intro/livingroom.inf
new file mode 100644 (file)
index 0000000..e7a473e
--- /dev/null
@@ -0,0 +1,176 @@
+! Copyright (C) 2019 Jason Self <j@jxself.org>
+!
+! This file is free software: you may copy, redistribute and/or
+! modify it under the terms of the GNU Affero General Public License
+! as published by the Free Software Foundation, either version 3 of
+! the License, or (at your option) any later version.
+!
+! This file is distributed in the hope that it will be useful, but
+! WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+! Affero General Public License for more details.
+!
+! You should have received a copy of the GNU Affero General Public
+! License along with this file. If not, see https://gnu.org/licenses/
+
+Object  livingroom "Livingroom"
+  with  description 
+            "You are in a modestly furnished livingroom. Pictures 
+            hang from the walls. You can hear the sound of vehicles 
+            driving by outside. The kitchen is to the west. The front 
+            door is to the east. Your bedroom is to the south.",
+        before [;
+          Listen:
+            print "You can hear the sound of vehicles driving by outside.^";
+            return true;
+        ],
+        n_to 
+            "Since when did you get the ability to walk through 
+            walls? The kitchen is to the west. The front door is to 
+            the east. Your bedroom is to the south.",
+        s_to bedroom,
+        w_to kitchen,
+        e_to frontdoor,
+  has   light;
+
+Object  picture "pictures" livingroom
+  with  description 
+            "The pictures in the room consist of a landscape painting 
+            showing a strangely geometric mountain, another of a 
+            still life painting of a table laid out with a feast and 
+            the third is a portrait of an unknown man. He has a full 
+            beard, is wearing a black robe and no shoes. On his head 
+            is a large 1970s-era hard disk platter.",
+        name 'picture' 'photo' 'photos' 'frame' 'frames' 'pictures' 
+        'image' 'images',
+        Before [;
+          Take:
+            print_ret 
+                "They look so nice, perhaps it's better to leave them 
+                where they are.";
+        ],
+  has   scenery pluralname;
+
+Object  man "man" livingroom
+  with  description "It's a painting of Richard Stallman dressed as 
+                    St IGNUcius.",
+        name 'man' 'disk' 'hard' 'platter' 'robe' 'rms' 'Richard' 'Stallman'
+        'robe' 'black' 'image' 'images',
+        Before [;
+          Take:
+            print_ret 
+                "The painting looks so nice, perhaps it's better to 
+                leave it where it is.";
+        ],
+  has   scenery;
+
+Object  television "television" livingroom
+  with  name 'television' 'tv',
+        description 
+            "It's big, gray, and one of those old-fashioned CRT 
+            models. It looks very heavy.",
+        watch_count 0,
+        before [;
+          Listen, Examine:
+            if (television has on) {
+                self.watch_count = self.watch_count + 1;
+                switch (self.watch_count) {
+                  1:
+                    print 
+                        "It's big, gray, and one of those 
+                        old-fashioned CRT models. It looks very 
+                        heavy.^The TV is currently switched on. Your 
+                        favorite news program is on: U.S. News And 
+                        Grue Report.^The news anchor is saying ~In 
+                        other news, authorities continue to 
+                        investigate the missing persons case.~^";
+                    score = score + 1;
+                    return true;
+                  2:
+                    print 
+                        "The news anchor continues by saying ~We're 
+                        told the that number of missing people is now 
+                        up to as many as 5.~^";
+                    score = score + 1;
+                    return true;
+                  3:
+                    print 
+                        "The news anchor concludes their coverage by 
+                        saying ~We'll have more as the story continues 
+                        to develop.~^";
+                    score = score + 1;
+                    return true;
+                  default:
+                    print 
+                        "It's big, gray, and one of those 
+                        old-fashioned CRT models. It looks very 
+                        heavy.^The TV is currently switched on. Your 
+                        favorite news program is on: U.S. News And 
+                        Grue Report.^";
+                    return true;
+                }
+            }
+            ;
+          Take, Pull, Push, PushDir:
+            print_ret (The) self, " is too heavy for that.";
+        ],
+        after [;
+          SwitchOn:
+            print 
+                "The television comes to life. Your favorite news 
+                program is on: U.S. News And Grue Report.^";
+            if (television hasnt visited) {
+                score = score + 1;
+                give television visited;
+            }
+            return true;
+        ],
+  has   static switchable;
+
+Object  couch "couch" livingroom
+  with  name 'couch' 'sofa',
+        description 
+            "It looks like a throwback from the 1970s but has held up 
+            very well.",
+        before [;
+          Take, Pull, Push, PushDir:
+            print_ret (The) self, " is too heavy for that.";
+        ],
+        after [;
+          Enter:
+            print 
+                 "The couch makes a nauseating, high-pitched groan as 
+                 your weight is added.^";
+            return true;
+          Exit, GetOff:
+            print "The couch makes a muted snort as your weight is removed.^";
+            return true;
+        ],
+  has   static supporter enterable;
+
+Object  frontdoor "front door" livingroom
+  with  name 'door' 'front',
+        description 
+            "Cinnamon brown in color it appears to be a very solid 
+            and hefty door.",
+        short_name [;
+            if (location == livingroom)
+                print "door to the outside";
+            else
+                print "door to your house";
+            return true;
+        ],
+        found_in livingroom sidewalk,
+        door_dir [;
+            if (location == sidewalk)
+                return w_to;
+            else
+                return e_to;
+        ],
+        door_to [;
+            if (location == sidewalk)
+                return livingroom;
+            else
+                return sidewalk;
+        ],
+  has   scenery door openable;
\ No newline at end of file