// ****************************************************************************
//
// Logic 30:  Dance Dance Voodoolution
//
// ****************************************************************************

#include "defines.txt"

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

  animate.obj(o1);   //Zombies
  load.view(103);
  set.view(o1,103);
  position(o1,107,124);
  set.loop(o1,2);
  draw(o1);

  animate.obj(o2);  //Dance Bar
  load.view(104);
  set.view(o2,104);
  stop.cycling(o2);
  position(o2,67,64);

  animate.obj(o3);
  load.view(105);   //Voodoo Girl
  set.view(o3,105);
  position(o3,39,124);
  set.loop(o3,2);
  draw(o3);

  load.sound(42);
  sound(42,sound_flag);

  show.pic();

  timer1_a = 0;
  timer1_b = 0;
  range=255;

}

display(1,10, m3);
display(1,20, m4);

if ((has("handle") ||
     handle_fixed)) {
       print("You're too good for me, girl!");
       new.room(11);
       }

if (!has("handle") &&
    !handle_fixed) {
    if (!timer_started) {
  print("Welcome to my Dancing Game.");
  print("The rules are real simple, girl.");
  print("You place yer bet.");
  print("The zombie will start dancing.");
  print("You must out-dance my zombie to win!!");
  print("You want to play?");
  get.string(s1,m1,80,20,1);
  set.string(s2,m2);
  if (compare.strings(s1,s2)) {
      print("Great!  The bet is 3 sleep moss and 2 poison berries...");
           if (sleep_moss==3 &&
               poison_berries==2) {
               set(timer_started);
               draw(o2);
               }
           else {
               print("...but you don't have enough.  Get some more, and we can play");
               new.room(11);
               }
           }
      else {
          print("Your loss!");
          new.room(11);
          }
      }
   }

if (timer_started) {
   if (timer1_a == 50) {
   timer1_a=0;
   //timer1_b+=1;
   }
   else {
     timer1_a++;
     range--;
     }
}

if (ego_dir == 3) {
    set.loop(o3,0);
    //ego_dir = 0;
    }

if (ego_dir == 7) {
    set.loop(o3,1);
    //ego_dir = 0;
    }

if (ego_dir == 5) {
    set.loop(o3,2);
    //ego_dir = 0;
    }

if (ego_dir == 1) {
    set.loop(o3,3);
    //ego_dir = 0;
    }

if (mode == 0) {
   set.loop(o1,0);
   set.cel(o2,0);
   if (ego_dir == 3) {
       range+=7;
       timer1_b+=5;
       random(0,3,mode);
       }
   else {
     if (ego_dir != 0) {
       range-=3;
       ego_dir=0;
       }
     }
   }

if (mode == 1) {
   set.loop(o1,1);
   set.cel(o2,1);
   if (ego_dir == 7){
      range+=7;
      timer1_b+=5;
      random(0,3,mode);
      }
   else {
     if (ego_dir != 0) {
       range-=3;
       ego_dir=0;
       }
     }
   }

if (mode == 2) {
   set.loop(o1,2);
   set.cel(o2,2);
   if (ego_dir == 5) {
      range+=7;
      timer1_b+=5;
      random(0,3,mode);
      }
   else {
     if (ego_dir != 0) {
       range-=3;
       ego_dir=0;
       }
     }
   }

if (mode == 3) {
   set.loop(o1,3);
   set.cel(o2,3);
   if (ego_dir == 1) {
       range+=7;
       timer1_b+=5;
       random(0,3,mode);
       }
   else {
     if (ego_dir != 0) {
       range-=3;
       ego_dir=0;
       }
     }
   }

if (range == 0) {
    print("You lose!!");
    print("Be gone!");
    sleep_moss-=3;
    poison_berries-=2;
    reset(timer_started);
    new.room(11);
    }

if (range > 200) {
    range = 200;
    }

if (timer1_b == 255) {
    print("You win!!");
    print("Take this with my compliments!!");
    print("You got the handle.");
    get("handle");
    score++;
    new.room(11);
    }


if (sound_flag) {
    sound(42,sound_flag);
    }

return();

#message 1 "y/n?:"
#message 2 "y"
#message 3 "Time: %v49 "
#message 4  "Score: %v97"