+++ /dev/null
-! Copyright (C) 2019 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute gand/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 neighor'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. There's another
- room to the north. 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,
- n_to grandlivingroom,
- before [;
- Go:
- if (bluebutton has on && poker notin machine) {
- machine.shoot();
- rtrue;
- }
- ],
- has light;
-
-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.^";
- 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.";
- }
- }
- 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