/*** Light object ***/

#include "/std/include/std.h"
#include "defines.h"

int level;

set_level(l)
{
  level = l;
}

set_duration(d)
{
  int i, j;
  object en;
  if (level < 0)
    en = ENV;
  else
    en = EN(ENV);
  call_out("dispel",d);
  i = set_light(0);
  j = set_light(level);
  if (i <= 0 && j > 0)
    tell_room(en, "A glowing ball lights up the room.\n");
  else if (i > 1 && j <= 0)
    tell_room(en, "A cloak of darkness falls upon you.\n");
  return level;
}

dispel()
{
  int i, j;
  i = set_light(0);
  j = set_light(-level);
  if (i <= 0 && j > 0)
    say("The darkness dissolves.  You can see again.\n");
  else if (i > 1 && j <= 0)
    say("The light from the globe fades away, leaving you in the darkness.\n");
  destruct(this_object());
}

extra_look() {
  if(level < 1) return;
  return CAP(ENV->QPRO) + " has a glowing sphere of light at " + ENV->QPOS +
    " side";
}