// ****************************************************************************
//
// Logic 5: Cemetery Entrance
//
// ****************************************************************************

#include "defines.txt"
#define door o1
#define lever o2

if (new_room) {
  load.pic(room_no);
  draw.pic(room_no);
  discard.pic(room_no);
  set.horizon(50);

  if (prev_room_no == 251) {
   position(ego,12,156); set(f255);
   reset(f254);
   reset(f245);
  }

  if (prev_room_no == 14) {
    position(ego,97,120);
  }

  draw(ego);
  show.pic();

  animate.obj(door);
  load.view(3);
  set.view(door,3);
  set.cel(door,1);
  set.priority(door,13);
  stop.cycling(door);
  ignore.objs(door);
  position(door,8,140);
  draw(door);

  animate.obj(lever);
  load.view(18);
  set.view(lever,18);
  set.loop(lever,1);
  set.cel(lever,0);
  stop.cycling(lever);
  set.priority(lever,13);
  ignore.objs(lever);
  position(lever,66,127);
  draw(lever);

  load.view(0);
  set.view(ego,0);

}

if (f255) {
  set.loop(door,1); ego_dir = 0;
  erase(ego); program.control();
}
else {
  set.loop(door,0);
  if (!f254) {
    player.control();
  }
}

if (f253) {
  set.cel(door,0);
}
else {
  set.cel(door,1);
}

if (posn(ego,0,132,80,149)) { //behind garbage truck
  set.priority(ego,12);
}
else {
  if (posn(ego,83,120,120,131)) {
    set.priority(ego,12);
  }
  else {release.priority(ego);}
}

if ((said("open","door") || said("open","truck"))) {
  if (posn(ego,0,156,32,167)) {
    toggle(f253);
  }
  else {
    print("You're not close enough.");
  }
}

if (said("get in","rol")) {
  if (posn(ego,0,156,32,167)) {
    if (f253) {
      draw(ego);
      ego_dir = 0; toggle(f255);
    }
    else {
      print("The door's closed.");
    }
  }
  else {
    print("You're not close enough.");
  }
}

if ((said("drive","rol") || said("use","car") || said("move","car"))) {
  if ((f255) && (!f253)) {
    new.room(251);
  }
  else {
    print("Maybe you should be in some kind of vehicle first.");
  }
}

if (said("look","fence")) {
  print("The fence is high and made up of bars.  It reminds you of a prison.");
}

if (said("look","tree")) {
  print("Pretty good tree.  Not great, but satisfactory, don't you think?");
}

if (said("look","truck")) {
  print("It's your trusty garbage truck, waiting to transport you to wherever you desire.");
}

if (said("look","back truck")) {
  print("You're not interested in the garbage you've collected right now.");
}

if (said("look","lever")) {
  print("The lever on the back of your truck operates the trash compactor.");
}

if (ego_touching_signal_line) {
  new.room(14);
}

if ((said("look") || said("look","cemetery"))) {
  print("This is the city's cemetery.  Tread carefully, for every grave contains a potential assailant.");
}

return();