--- /dev/null
+! Copyright (C) 2022 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/
+!
+! SPDX-License-Identifier: AGPL-3.0-or-later
+
+Object lobby1 "Hotel Lobby"
+ with description
+ "The lobby is a large open space with marble flooring,
+ dark wood paneled walls, a high vaulted ceiling and an
+ impressive crystal chandelier. The room feels full of
+ light and quiet elegance. A life-sized bronze statue of a
+ man in his twenties stands at the far end of the room. In
+ front of the statue is a plush red leather chair next to
+ a low marble table. The front desk is to the north. The
+ lobby continues to the west and east.",
+ has light;
+
+Object bronzestatue "life-sized bronze statue" lobby1
+ with name 'life-sized' 'bronze' 'statue',
+ with description [;
+ print
+ "The life-sized bronze statue appears to be that of a
+ young man with a very serious and determined
+ expression on his face";
+ if (bronzestatue has visited) {
+ print
+ ", and there's a small crack running diagonally
+ through one of the cheeks";
+ }
+ print_ret
+ ". The statue sits on a small pedestal bearing a
+ plaque.";
+ ],
+ before [;
+ Take, Pull, Push, PushDir, Turn:
+ if (bronzestatue hasnt visited) {
+ give bronzestatue visited;
+ print_ret
+ "The statue falls off its pedestal and lands on
+ the ground, cracking loudly as it hits the floor.
+ Some hotel staff hurry over to shoo you away and
+ place the statue back on the pedestal.";
+ }
+ else {
+ print_ret
+ "Haven't you damaged the statue enough
+ already?";
+ }
+ ],
+ has scenery;
+
+Object pedestal "stone pedestal" lobby1
+ with name 'stone' 'pedestal',
+ with description
+ "It's made of a dull grey stone and is rectangular in
+ shape. There's a bronze plaque near the top.",
+ has scenery;
+
+Object plaque "bronze plaque" lobby1
+ with name 'bronze' 'plaque' 'sign' 'plate',
+ with description
+ "The bronze plaque is engraved with the words ~Frederick
+ Smith, Hotel Founder~.",
+ has scenery;
+
+Object marblefloor "marble floor" lobby1
+ with name 'marble' 'floor' 'flooring',
+ with description
+ "The marble floor has been polished to a sheen, making it
+ appear almost shiny underfoot.",
+ has scenery;
+
+Object woodpanels "dark wood paneled walls" lobby1
+ with name 'dark' 'wood' 'panel' 'panels' 'paneling' 'wall' 'walls',
+ with description
+ "The walls have been painted a rich deep brown color
+ which contrasts nicely with the rest of the room.",
+ has scenery;
+
+Object chandelier "crystal chandelier" lobby1
+ with name 'crystal' 'chandelier' 'gold' 'silver' 'filigree',
+ with description
+ "The crystal chandelier is beautiful and ornate, with
+ many branches extending from a central shaft. It seems to
+ be made mostly of clear crystal, though some parts are
+ decorated with gold and silver filigree. The crystal
+ chandelier is suspended by thick iron chains as it hangs
+ in the center of the room, high above the marble floor.",
+ has scenery;
+
+Object ironchains "thick iron chains" lobby1
+ with name 'thick' 'iron' 'chain' 'chains' 'metal',
+ with description
+ "The thick iron chains dangle down from the ceiling and
+ connect to a crystal chandelier. They're strong enough to
+ hold a great deal of weight without breaking.",
+ has scenery;
+
+Object leatherchair "plush red leather chair" lobby1
+ with name 'plush' 'red' 'leather' 'chair',
+ with description
+ "It looks like a comfortable, well-made seat, featuring a
+ high back and padded seat covered in soft red leather.
+ It's clearly designed for comfort.",
+ before [;
+ Enter:
+ print
+ "You sink into the deep cushions of the chair. It feels
+ really nice, as if it was made just for you. You can
+ feel your body relax immediately.^";
+ PlayerTo(leatherchair, 1);
+ rtrue;
+ ],
+ has enterable supporter scenery;
+
+Object marbletable "low marble table" lobby1
+ with name 'low' 'marble' 'table' 'leg' 'legs' 'stylized' 'vine' 'vines',
+ with description
+ "The table is made from a slab of white marble, looking
+ smooth and polished. It's large enough to hold several
+ books or magazines comfortably. The marble legs are
+ carved with stylized vines.",
+ before [;
+ Enter:
+ print
+ "You sit on the surface of the low marble table; it
+ feels cold and hard.^";
+ PlayerTo(marbletable, 1);
+ rtrue;
+ ],
+ has enterable supporter scenery;
+
+Object ceiling "high valuted ceiling" lobby1
+ with name 'high' 'vaulted' 'ceiling' 'roof',
+ with description
+ "The high vaulted ceiling adds an air of grandeur. It
+ makes this lobby feel even larger than it already is. An
+ impressive crystal chandelier hangs from it.",
+ has scenery;
+
+Object hotelmanager "the hotel manager" lobby1
+ with name 'hotel' 'manager' 'brian',
+ with description
+ "The hotel manager is a tall, distinguished man with
+ brown eyes and salt-and-pepper hair. He wears a blue suit
+ and a red tie. He's been working at the hotel for several
+ years.",
+ initial [;
+ if (lobby1 hasnt visited) {
+ print
+ "~I'm so glad to see you made it back,~ says the
+ hotel manager, who looks exhausted. You rub your
+ arms vigorously trying to warm up and shake off
+ the cold.^";
+ }
+ ],
+ times_grue_asked_about 0,
+ times_name_asked_about 0,
+ life [;
+ Tell, Ask:
+ switch (second) {
+ 'grue':
+ self.times_grue_asked_about = self.times_grue_asked_about
+ + 1;
+ switch (self.times_grue_asked_about) {
+ 1:
+ print_ret "The hotel manager goes pale. ~There's a grue in the area? I hadn't heard.~";
+ 2:
+ print_ret "~I'm sorry; I've been too busy running the hotel to keep up on the news.~";
+ 3:
+ print_ret "~We probably shouldn't be discussing this so as to not cause a panic.~";
+ default:
+ "~Perhaps it's best to get some rest and not talk about such things.~";
+ }
+ 'name':
+ self.times_name_asked_about = self.times_name_asked_about
+ + 1;
+ switch (self.times_name_asked_about) {
+ 1:
+ print_ret "~My name is Brian,~ he replies.";
+ 2:
+ print_ret
+ "~Brian.~ He replies. ~My parents named
+ me after my father.~";
+ 3:
+ print_ret "~I'm Brian, the hotel manager.~";
+ default:
+ print_ret "~I believe we've covered that topic.
+ Is there anything else I can assist with?~";
+ }
+ }
+ "~Yeah, yeah.~";
+ ],
+ has animate proper male transparent;
+
+Object bluesuit "blue suit" hotelmanager
+ with name 'blue' 'suit',
+ with description
+ "A soft blue suit that has a subtle pattern of black
+ pinstripes.",
+ before [;
+ Take, Pull, Push, PushDir, Turn:
+ print_ret
+ "The hotel manager would probably not like
+ that.";
+ ],
+ has scenery;
+
+Object redtie "red tie" hotelmanager
+ with name 'red' 'tie',
+ with description
+ "A classic red necktie with a thin, straight black line
+ running across the middle.",
+ before [;
+ Take, Pull, Push, PushDir, Turn:
+ print_ret
+ "The hotel manager would probably not like
+ that.";
+ ],
+ has scenery;
\ No newline at end of file