+++ /dev/null
-! Copyright (C) 2019, 2020 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 neighborlivingroom "Neighbor's Livingroom"
- with description
- "You are in your neighbor's livingroom. It seems that no
- one has lived here in a long time, even though you saw
- your neighbor here last week. All of the furniture has
- been removed and the air smells stale. A large bay window
- enclosed by sheer cobalt blue curtains allowing light to
- come through. A door is to the east.^^A machine as tall as
- you sits in the center of their livingroom. It consists
- of three transparent spheres joined together containing
- machinery. A barrel with a small aperture comes out of the
- farthest sphere, pointing down and to the wall. The
- entire thing rests on a shiny metal platform allowing it
- to rotate and tilt with ease.",
- w_to neighborkitchen,
- e_to neighbordoor,
- before [;
- Go:
- if (bluebutton has on && poker notin machine) {
- machine.shoot();
- rtrue;
- }
- ],
- has light;
-
-Object neighborwindow "window" neighborlivingroom
- with name 'large' 'bay' 'window' 'windows',
- description "A large bay window enclosed by sheer cobalt blue
- curtains allowing light to come through.",
- before [;
- Go:
- print_ret "The window is not something you can go through.";
- Open, Close:
- print_ret "This isn't the type of window that can be
- opened or closed.";
- ],
- has scenery;
-
-Object neighborcurtains "curtains" neighborlivingroom
- with name 'cobalt' 'blue' 'curtain' 'curtains',
- description
- "Cobalt blue in color, the curtains have been decorated with
- intricate embroidery.",
- before [;
- Take, Pull, Push, PushDir:
- print_ret "Don't you think they look nice where they are?";
- ],
- has scenery openable pluralname;
-
-Object embroidery "embroidery" neighborlivingroom
- with name 'embroidery' 'pattern' 'patterns',
- has scenery;
-
-Object redbutton "red button" neighborlivingroom
- with name 'red' 'red button' 'button' 'buttons',
- before [;
- Push:
- if (bluebutton has on && poker notin machine) {
- print
- "You reach for the red button, but not in
- time...^ ";
- machine.shoot();
- rtrue;
- }
- if (poker in machine)
- print_ret
- "You press the red button but it's futile because
- the machine's shorted out.";
- else {
- print
- "You push the red button. The machine makes clunky
- noises as machinery moves inside. A loud humming
- begins to emanate from it. It comes to life, spins
- around on its base, aims, and quickly fires a
- series of three bright blue sparks at you. You
- hear a small explosive sound as they impact your
- chest. You feel a little disoriented as it
- teleports you away.^";
- move box to bed ;
- move directional to box ;
- move newspaper to table ;
- move letter to island ;
- move poker to fireplace ;
- PlayerTo(campsite);
- rtrue;
- }
- ],
- has scenery;
-
-Object bluebutton "blue button" neighborlivingroom
- with name 'blue' 'blue button' 'button' 'buttons',
- before [;
- Push:
- if (bluebutton has on) {
- if (poker notin machine) {
- print
- "You reach for the blue button, but not
- in time...^ ";
- machine.shoot();
- rtrue;
- }
- else {
- give bluebutton ~on;
- print_ret "You push the blue button. The machine
- sounds like it powers down.";
- }
- }
- else {
- give bluebutton on;
- if (poker notin machine) {
- machine.shoot();
- rtrue;
- }
- print_ret "You push the blue button.";
- }
- ],
- has scenery on;
-
-Object machine "machine" neighborlivingroom
- with name 'machine' 'machinery' 'sphere' 'spheres' 'platform' 'barrel'
- 'aperture' 'metal platform' 'shiny metal platform' 'shiny platform'
- 'shiny' 'metal',
- description
- "It consists of three transparent spheres joined together
- containing machinery. A barrel with a small aperture comes
- out of the farthest sphere, pointing down and to the wall.
- The entire thing rests on a shiny metal platform allowing
- it to rotate and tilt with ease. There is a blue button
- and a red button.",
- time_left,
- before [ weapon;
- Attack:
- if (noun == self)
- weapon = second;
- else
- weapon = noun;
- if (weapon ~= poker) {
- print "That wasn't helpful.^";
- if (bluebutton has on)
- self.shoot();
- rtrue;
- }
- self.shortout();
- return true;
- Receive:
- if (noun == poker) {
- self.shortout();
- return true;
- }
- if (bluebutton has on)
- self.shoot();
- rtrue;
- ],
- time_out [;
- if (poker in self)
- StopTimer(machine);
- else
- if (bluebutton has on)
- self.shoot();
- ],
- daemon [;
- if (poker in player)
- rfalse;
- if (player in parent(self) && poker notin machine)
- self.shoot();
- ],
- shoot [ destination;
- destination = random(3);
- print
- "^A loud humming begins to emanate from the machine.
- It comes to life, spins around on its base, aims, and
- quickly fires a series of three bright blue sparks at
- you. You hear a small explosive sound as they impact
- your chest. You feel a little disoriented as it
- teleports you away.^";
- if (destination == 1)
- PlayerTo(kitchen);
- if (destination == 2)
- PlayerTo(livingroom);
- if (destination == 3)
- PlayerTo(bedroom);
- ],
- shortout [;
- if (machine hasnt visited) {
- score = score + 1;
- give machine visited;
- }
- move poker to self;
- print "You put the poker into ", (the) self,
- ". Sparks
- fly wildly in every direction as it shorts out.^";
- ],
- has scenery container open;
\ No newline at end of file