// ****************************************************************************
//
// Logic 31: making potions
//
// ****************************************************************************

#include "defines.txt"

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

  call(200);

  cycle_delay=0;

  if (has("sleep moss")) {
      animate.obj(o1);
      load.view(sleep_moss_);
      set.view(o1,sleep_moss_);
      ignore.objs(o1);
      set.priority(o1,4);
      position(o1,5,46);
      draw(o1);
      //discard.view(50);
      }
  if (has("poison berries")) {
      animate.obj(o2);
      load.view(poison_berries_);
      set.view(o2,poison_berries_);
      set.priority(o2,4);
      ignore.objs(o2);
      position(o2,33,46);
      draw(o2);
      //discard.view(53);
      }
  if (has("blue mushroom")) {
      animate.obj(o3);
      load.view(blue_mushroom);
      set.view(o3,blue_mushroom);
      set.priority(o3,4);
      ignore.objs(o3);
      position(o3,62,46);
      draw(o3);
      //discard.view(55);
      }
  if (has("purple slime")) {
      animate.obj(o4);
      load.view(purple_slime);
      set.view(o4,purple_slime);
      set.priority(o4,4);
      ignore.objs(o4);
      position(o4,93,46);
      draw(o4);
      //discard.view(56);
      }

  if (has("yellow grave mold")) {
      animate.obj(o5);
      load.view(yellow_grave);
      set.view(o5,yellow_grave);
      set.priority(o5,4);
      ignore.objs(o5);
      position(o5,128,46);
      draw(o5);
      //discard.view(57);
      }

  if (has("sleep potion")) {
      animate.obj(o6);
      load.view(sleep_potion);
      set.view(o6,sleep_potion);
      set.priority(o6,4);
      ignore.objs(o6);
      position(o6,11,99);
      draw(o6);
      }

  if (has("poison")) {
      animate.obj(o7);
      load.view(poison);
      set.view(o7, poison);
      set.priority(o7, 4);
      ignore.objs(o7);
      position(o7, 33,99);
      draw(o7);
      }

  if (has("dream brew")) {
      animate.obj(o8);
      load.view(dream_brew);
      set.view(o8, dream_brew);
      set.priority(o8, 4);
      ignore.objs(o8);
      position(o8, 62,99);
      draw(o8);
      }

  if (has("vile chug")) {
      animate.obj(o9);
      load.view(vile_chug);
      set.view(o9, vile_chug);
      set.priority(o9, 4);
      ignore.objs(o9);
      position(o9, 93, 99);
      draw(o9);
      }

  if (has("golden brew")) {
      animate.obj(o10);
      load.view(golden_brew);
      set.view(o10, golden_brew);
      set.priority(o10, 4);
      ignore.objs(o10);
      position(o10, 128, 99);
      draw(o10);
      }


  if (ingredient_1 == 1) {
      animate.obj(o11);
      load.view(50);
      set.view(o11,50);
      set.priority(o11,4);
      ignore.objs(o11);
      position(o11,5,154);
      draw(o11);
      //discard.view(50);
      }
  if (ingredient_2 == 1) {
      animate.obj(o12);
      load.view(50);
      set.view(o12,50);
      set.priority(o12,4);
      ignore.objs(o12);
      position(o12,33,154);
      draw(o12);
      //discard.view(50);
      }
  if (ingredient_3 == 1) {
      animate.obj(o13);
      load.view(50);
      set.view(o13,50);
      set.priority(o13,4);
      ignore.objs(o13);
      position(o13,62,154);
      draw(o13);
      //discard.view(50);
      }

  if (ingredient_1 == 3) {
      animate.obj(o11);
      load.view(55);
      set.view(o11,55);
      set.priority(o11,4);
      ignore.objs(o11);
      position(o11,5,154);
      draw(o11);
      //discard.view(50);
      }
  if (ingredient_2 == 3) {
      animate.obj(o12);
      load.view(55);
      set.view(o12,55);
      set.priority(o12,4);
      ignore.objs(o12);
      position(o12,33,154);
      draw(o12);
      //discard.view(50);
      }
  if (ingredient_3 == 3) {
      animate.obj(o13);
      load.view(55);
      set.view(o13,55);
      set.priority(o13,4);
      ignore.objs(o13);
      position(o13,62,154);
      draw(o13);
      //discard.view(50);
      }

  if (ingredient_1 == 2) {
      animate.obj(o11);
      load.view(53);
      set.view(o11,53);
      set.priority(o11,4);
      ignore.objs(o11);
      position(o11,5,154);
      draw(o11);
      //discard.view(50);
      }
  if (ingredient_2 == 2) {
      animate.obj(o12);
      load.view(53);
      set.view(o12,53);
      set.priority(o12,4);
      ignore.objs(o12);
      position(o12,33,154);
      draw(o12);
      //discard.view(50);
      }
  if (ingredient_3 == 2) {
      animate.obj(o13);
      load.view(53);
      set.view(o13,53);
      set.priority(o13,4);
      ignore.objs(o13);
      position(o13,62,154);
      draw(o13);
      //discard.view(50);
      }

  if (ingredient_1 == 4) {
      animate.obj(o11);
      load.view(56);
      set.view(o11,56);
      set.priority(o11,4);
      ignore.objs(o11);
      position(o11,5,154);
      draw(o11);
      //discard.view(50);
      }
  if (ingredient_2 == 4) {
      animate.obj(o12);
      load.view(56);
      set.view(o12,56);
      set.priority(o12,4);
      ignore.objs(o12);
      position(o12,33,154);
      draw(o12);
      //discard.view(50);
      }
  if (ingredient_3 == 4) {
      animate.obj(o13);
      load.view(56);
      set.view(o13,56);
      set.priority(o13,4);
      ignore.objs(o13);
      position(o13,62,154);
      draw(o13);
      //discard.view(50);
      }

  if (ingredient_1 == 5) {
      animate.obj(o11);
      load.view(57);
      set.view(o11,57);
      set.priority(o11,4);
      ignore.objs(o11);
      position(o11,5,154);
      draw(o11);
      //discard.view(50);
      }
  if (ingredient_2 == 5) {
      animate.obj(o12);
      load.view(57);
      set.view(o12,57);
      set.priority(o12,4);
      ignore.objs(o12);
      position(o12,33,154);
      draw(o12);
      //discard.view(50);
      }
  if (ingredient_3 == 5) {
      animate.obj(o13);
      load.view(57);
      set.view(o13,57);
      set.priority(o13,4);
      ignore.objs(o13);
      position(o13,62,154);
      draw(o13);
      //discard.view(50);
      }



  load.view(100);
  set.view(ego,100);
  //discard.view(100);

  if (prev_room_no == 5) {
      old_ego_x=131;
      old_ego_y=154;
      }



  //hold.key();
  ego_dir=0;
  set(done_flag);
  position.v(ego,old_ego_x,old_ego_y);

  show.pic();
  draw(ego);
}

  display(1,1, "Press f10 to click");

if (said("look")) {                             //shortcuts
  print("This is your potion-making screen.");
}

if (said("make","sleep potion")) {
    if (cauldron_on_stove && has("sleep moss")) {
        if (has("sleep potion")) {
           print("You already have enough.");
           }
        else {
           sleep_moss-=1;
           get("sleep potion");
           score++;
           print("You whip up a batch of sleep potion.");
           }
    }
    else {
        print("First you get the supplies...");
        print("Then you make the potions...");
        print("Then you get the women.");
        }
}


if (said("make","poison")) {
    if (cauldron_on_stove && has("poison berries")) {
    if (has("poison")) {
      print("You already have enough.");
      }
       else {
      poison_berries-=1;
      get("poison");
      score++;
      print("You concoct a horrific poison.");
      }
      }
    else {
      print("First you get the supplies...");
      print("Then you make the potions...");
      print("Then you get the women.");
      }
    }

if (ego_dir==1 &&             //Cursor control
    old_ego_y>44 &&
    done_flag) {
    old_ego_y-=55;
    //ego_dir=0;
    //print("up test");
    program.control();
    move.obj.v(ego,old_ego_x,old_ego_y,2,done_flag);

    }

if (ego_dir==1 &&
    old_ego_y==44) {
    ego_dir=0;
    }

if (ego_dir==5 &&
    old_ego_y<154 &&
    done_flag) {
    old_ego_y+=55;
    //ego_dir=0;
    //print("down test");
    program.control();
    move.obj.v(ego,old_ego_x,old_ego_y,2,done_flag);
    }

if (ego_dir==5 &&
    old_ego_y==154) {
    ego_dir=0;
    }

if (ego_dir==3 &&
    old_ego_x<131 &&
    done_flag) {
    old_ego_x+=30;
    //ego_dir=0;
    //print("right test");
    program.control();
    move.obj.v(ego,old_ego_x,old_ego_y,2,done_flag);
    }

if (ego_dir==3 &&                     //Cursor control (cont'd)
    old_ego_x==131) {
    ego_dir=0;
    }

if (ego_dir==7 &&
    old_ego_x>11 &&
    done_flag) {
    old_ego_x-=30;
    //ego_dir=0;
    //print("left test");
    program.control();
    move.obj.v(ego,old_ego_x,old_ego_y,2,done_flag);
    }

if (ego_dir==7 &&
    old_ego_x==11) {
    ego_dir=0;
    }

if ((ego_dir==2 ||
     ego_dir==4 ||
     ego_dir==6 ||
     ego_dir==8)) {
     ego_dir=0;
     }

if (done_flag) {
    player.control();
    }

if (controller(left_click)) {                              //Adding ingredients
    if (old_ego_x==11) {
        if (old_ego_y == 44 &&
            has("sleep moss")) {
            //print("parse test");
           if (ingredient_1 == nothing) {
               ingredient_1 = sleepmoss;
               //print("ingredient 1 test");
               sleep_moss-=1;
               new.room(31);
               }
           if (ingredient_2 == nothing) {
               ingredient_2 = sleepmoss;
               sleep_moss-=1;
               new.room(31);
               }
           if (ingredient_3 == nothing) {
               ingredient_3 = sleepmoss;
               sleep_moss-=1;
               new.room(31);
               }
           }
        if (old_ego_y == 154) {
            ingredient_1 = nothing;
            new.room(31);
            }
       }

    if (old_ego_x == 41) {
        if (old_ego_y == 44 &&
            has("poison berries")) {
            if (ingredient_1 ==nothing) {
                ingredient_1 = poisonberry;
                poison_berries-=1;
                new.room(31);
                }
            if (ingredient_2 == nothing) {
                ingredient_2 = poisonberry;
                poison_berries-=1;
                new.room(31);
                }
            if (ingredient_3 == nothing) {
                ingredient_3 = poisonberry;
                poison_berries-=1;
                new.room(31);
                }
            }
        if (old_ego_y == 154) {
            ingredient_2 = nothing;
            new.room(31);
            }
    }

    if (old_ego_x == 71) {
        if (old_ego_y == 44 &&
            has("blue mushroom")) {
                if (ingredient_1 == nothing) {
                    ingredient_1 = bluemushroom;
                    new.room(31);
                    }
                if (ingredient_2 == nothing) {
                    ingredient_2 = bluemushroom;
                    new.room(31);
                    }
                if (ingredient_3 == nothing) {
                    ingredient_3 = bluemushroom;
                    new.room(31);
                    }
                }
        if (old_ego_y == 154) {
            ingredient_3 = nothing;
            new.room(31);
            }
    }

    if (old_ego_x == 101) {
        if (old_ego_y == 44 &&
            has("purple slime")) {
                if (ingredient_1 == nothing) {
                    ingredient_1 = purpleslime;
                    new.room(31);
                    }
                if (ingredient_2 == nothing) {
                    ingredient_2 = purpleslime;
                    new.room(31);
                    }
                if (ingredient_3 == nothing) {
                    ingredient_3 = purpleslime;
                    new.room(31);
                    }
                }
        if (old_ego_y == 154) {
                if (ingredient_1 == nothing) {
                    if (ingredient_2 == nothing) {
                        if (ingredient_3 == sleepmoss) {
                           if (has("sleep potion")) {
                               print("You already have enough sleep potion.");
                               }
                           else {
                               get("sleep potion");
                               score++;

                            print("You made a sleeping potion.");                               }

                            }
                        if (ingredient_3 == poisonberry) {
                           if (has("poison")) {
                              print("You have enough poison already.");
                              }
                           else {
                            get("poison");
                            score++;
                            print("You made a poison.");
                            }
                          }
                        if (ingredient_3 == purpleslime) {
                            get("vile chug");
                            print("You made a vile chug!");
                            }
                        }
                    if (ingredient_2 == sleepmoss) {
                        if (ingredient_3 == nothing) {
                           if (has("sleep potion")) {
                             print("You already have enough of that!");
                             }
                           else {
                            get("sleep potion");
                            score++;
                            print("You made a sleeping potion.");
                            }
                          }
                        }
                    if (ingredient_2 == poisonberry) {
                        if (ingredient_3 == nothing) {
                          if (has("poison")) {
                              print("No one needs more poison.");
                              }
                          else {
                            get("poison");
                            score++;
                            print("You made poison.");
                            }
                          }
                        }
                    if (ingredient_2 == purpleslime) {
                        if (ingredient_3 == nothing) {
                            get("vile chug");
                            print("You fixed up a vile chug!");
                            }
                        }
                    }
                if (ingredient_1 == sleepmoss) {
                    if (ingredient_2 == nothing) {
                        if (ingredient_3 == nothing) {
                          if (has("sleep potion")) {
                             print("No more sleep potion for you.");
                             }
                          else {
                            get("sleep potion");
                            score++;
                            print("You made a sleeping potion.");
                            }
                          }
                        }
                    if (ingredient_2 == bluemushroom) {
                        if (ingredient_3 == yellowmold) {
                           if (has("dream brew")) {
                              print("You already have enough.");
                              }
                           else {
                            get("dream brew");
                            score++;
                            print("You made a dream brew.");
                            }
                           }
                        }
                    if (ingredient_2 == yellowmold) {
                        if (ingredient_3 == bluemushroom) {
                          if (has("dream brew")) {
                             print("You already have plenty.");
                             }
                          else {
                            get("dream brew");
                            score++;
                            print("You made a dream brew.");
                            }
                          }
                        }
                    }
                if (ingredient_1 == poisonberry) {
                    if (ingredient_2 == nothing) {
                        if (ingredient_3 == nothing) {
                           if (has("poison")) {
                              print("You don't need any more poison.");
                              }
                           else {
                            get("poison");
                            print("You made poison.");
                            }
                          }
                        }
                    }
                if (ingredient_1 == bluemushroom) {
                    if (ingredient_2 == sleepmoss) {
                        if (ingredient_3 == yellowmold) {
                           if (has("dream brew")) {
                             print("You have plenty of that stuff.");
                             }
                           else {
                            get("dream brew");
                            print("You made a dream brew.");
                            }
                          }
                        }
                    if (ingredient_2 == yellowmold){
                        if (ingredient_3 == sleepmoss) {
                          if(has("dream brew")) {
                             print("You already have enough.");
                             }
                          else {
                            get("dream brew");
                            score++;
                            print("You made a dream brew.");
                            }
                          }
                        }
                    }
                if (ingredient_1 == yellowmold) {
                    if (ingredient_2 == sleepmoss) {
                        if (ingredient_3 == bluemushroom) {
                          if (has("dream brew")) {
                             print("You don't need any more.");
                             }
                          else {
                            get("dream brew");
                            score++;
                            print("You made a dream brew.");
                            }
                          }
                        }
                    if (ingredient_2 == bluemushroom) {
                        if (ingredient_3 == sleepmoss) {
                          if (has("dream brew")) {
                             print("No more brew for you.");
                             }
                          else {
                            get("dream brew");
                            score++;
                            print("You made a dream brew.");
                            }
                          }
                        }
                    }
                if (ingredient_1 == purpleslime) {
                    if (ingredient_2 == nothing) {
                        if (ingredient_3 == nothing) {
                            get("vile chug");
                            print("You fixed up a vile chug!");
                            }
                        }
                    }
                ingredient_1 = nothing;
                ingredient_2 = nothing;
                ingredient_3 = nothing;
                new.room(31);
                }
    }

    if (old_ego_x == 131) {
        if (old_ego_y == 44 &&
            has("yellow grave mold")) {
                 if (ingredient_1 == 0) {
                     ingredient_1 = 5;
                     new.room(31);
                     }
                 if (ingredient_2 == 0) {
                     ingredient_2 = 5;
                     new.room(31);
                     }
                 if (ingredient_3 == 0) {
                     ingredient_3 =5;
                     new.room(31);
                     }
                 }

    }

    if (old_ego_x==131) {
        if (old_ego_y==154) {
            load.view(0);
            set.view(ego,0);
            position(ego,56,114);

            new.room(5);
            }
        }
    }

if (said("exit")) {
  load.view(0);
  set.view(ego,0);
  position(ego,56,114);

  new.room(5);
}

return();