home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / climatechaos.swf / scripts / __Packages / Story.as < prev   
Encoding:
Text File  |  2008-09-12  |  37.2 KB  |  1,065 lines

  1. class Story
  2. {
  3.    static var sun;
  4.    static var thunder;
  5.    static var snow;
  6.    static var rain;
  7.    static var drained;
  8.    static var dug_up;
  9.    static var bucket_link;
  10.    static var chief_hut;
  11.    static var umbrella;
  12.    static var trapped;
  13.    static var env;
  14.    static var sunny;
  15.    static var movable;
  16.    static var unpacked;
  17.    static var bucket;
  18.    static var tunneled;
  19.    static var moved;
  20.    static var headdress;
  21.    static var rowable;
  22.    static var competition;
  23.    static var chest_open;
  24.    static var chest_empty;
  25.    static var voucher;
  26.    static var swapped_sun_disk;
  27.    static var got_rain_disk;
  28.    static var gift;
  29.    static var scal;
  30.    static var hotel;
  31.    static var hotel_sun;
  32.    static var spring;
  33.    static var spring_thunder;
  34.    static var shrine;
  35.    static var shrine_snow;
  36.    static var tribal;
  37.    static var tribal_rain;
  38.    static var tunnel;
  39.    static var vol = new Sound(_root);
  40.    static var save_photo = {};
  41.    function Story()
  42.    {
  43.    }
  44.    static function wipeOut()
  45.    {
  46.       Story.env.music.stop();
  47.       Story.vol.stop();
  48.       for(var _loc2_ in Story.env.strips)
  49.       {
  50.          Story.env.strips[_loc2_].removeMovieClip();
  51.       }
  52.       for(_loc2_ in Story.env.objects)
  53.       {
  54.          Story.env.objects[_loc2_].removeMovieClip();
  55.       }
  56.       _root.digi_cam.removeMovieClip();
  57.       _root.building_inside.removeMovieClip();
  58.       _root.hud.removeMovieClip();
  59.       _root.convo.removeMovieClip();
  60.       _root.cutscene.removeMovieClip();
  61.       _root.weather.removeMovieClip();
  62.       _root.blue.removeMovieClip();
  63.       _root.digi_cam.removeMovieClip();
  64.       _root.splash.removeMovieClip();
  65.    }
  66.    static function writeSave()
  67.    {
  68.       var _loc2_ = SharedObject.getLocal("BRCCSaveData");
  69.       _loc2_.data.save_data = Story.returnSave();
  70.       Story.writeSavePicture();
  71.       _root.digi_cam.writeSave();
  72.    }
  73.    static function loadSave()
  74.    {
  75.       var _loc2_ = SharedObject.getLocal("BRCCSaveData");
  76.       Story.useSave(_loc2_.data.save_data);
  77.       _root.digi_cam.loadSave();
  78.       Story.loadSavePicture();
  79.    }
  80.    static function returnSave()
  81.    {
  82.       var _loc2_ = {};
  83.       _loc2_.sun = Story.sun;
  84.       _loc2_.thunder = Story.thunder;
  85.       _loc2_.snow = Story.snow;
  86.       _loc2_.rain = Story.rain;
  87.       _loc2_.sunny = Story.sunny;
  88.       _loc2_.movable = {};
  89.       for(var _loc3_ in Story.movable)
  90.       {
  91.          _loc2_.movable[_loc3_] = Story.movable[_loc3_];
  92.       }
  93.       _loc2_.umbrella = Story.umbrella;
  94.       _loc2_.unpacked = Story.unpacked;
  95.       _loc2_.bucket = Story.bucket;
  96.       _loc2_.bucket_link = Story.bucket_link;
  97.       _loc2_.drained = Story.drained;
  98.       _loc2_.tunneled = Story.tunneled;
  99.       _loc2_.trapped = Story.trapped;
  100.       _loc2_.moved = Story.moved;
  101.       _loc2_.headdress = Story.headdress;
  102.       _loc2_.rowable = Story.rowable;
  103.       _loc2_.competition = Story.competition;
  104.       _loc2_.chest_open = Story.chest_open;
  105.       _loc2_.chest_empty = Story.chest_empty;
  106.       _loc2_.dug_up = Story.dug_up;
  107.       _loc2_.voucher = Story.voucher;
  108.       _loc2_.swapped_sun_disk = Story.swapped_sun_disk;
  109.       _loc2_.got_rain_disk = Story.got_rain_disk;
  110.       _loc2_.chief_hut = Story.chief_hut;
  111.       _loc2_.gift = Story.gift;
  112.       _loc2_.scal = Story.scal;
  113.       _loc2_.env = {};
  114.       _loc2_.env.pos_x = Story.env.pos_x;
  115.       _loc2_.env.pos_y = Story.env.pos_y;
  116.       _loc2_.env.last_env = Story.env.last_env;
  117.       _loc2_.env.held_items = _root.hud.returnItems();
  118.       return _loc2_;
  119.    }
  120.    static function useSave(p_save)
  121.    {
  122.       for(var _loc3_ in p_save)
  123.       {
  124.          if(p_save[_loc3_] != p_save.env)
  125.          {
  126.             Story[_loc3_] = p_save[_loc3_];
  127.          }
  128.       }
  129.       Story.setIslands();
  130.       _root.hud.updateItems(p_save.env.held_items);
  131.       Story.env.setEnvironmentMap(p_save.env.last_env);
  132.       Story.env.pos_x = p_save.env.pos_x;
  133.       Story.env.pos_y = p_save.env.pos_y;
  134.       Story.env.render();
  135.    }
  136.    static function takeSavePicture()
  137.    {
  138.       var _loc2_ = Math.ceil(Math.random() * 3);
  139.       _root.blue.gotoAndStop(18);
  140.       _root.blue.poses.gotoAndStop(_loc2_);
  141.       _root.hud._visible = false;
  142.       _root.convo._visible = false;
  143.       _root.digi_cam._visible = false;
  144.       Story.save_photo = new Photo(150);
  145.       _root.blue.gotoAndStop(1);
  146.       _root.hud._visible = true;
  147.       _root.convo._visible = true;
  148.       _root.digi_cam._visible = true;
  149.    }
  150.    static function loadSavePicture()
  151.    {
  152.       var _loc1_ = SharedObject.getLocal("BRCCSaveData");
  153.       Story.save_photo = {};
  154.       Story.save_photo.image = Story.saveToImage(_loc1_.data.save_photo.image);
  155.    }
  156.    static function writeSavePicture()
  157.    {
  158.       var _loc1_ = SharedObject.getLocal("BRCCSaveData");
  159.       _loc1_.data.save_photo = {};
  160.       _loc1_.data.save_photo.image = Story.imageToSave(Story.save_photo.image);
  161.    }
  162.    static function imageToSave(p_image)
  163.    {
  164.       var _loc4_ = [];
  165.       var _loc2_ = 0;
  166.       while(_loc2_ < p_image.height)
  167.       {
  168.          _loc4_[_loc2_] = [];
  169.          var _loc1_ = 0;
  170.          while(_loc1_ < p_image.width)
  171.          {
  172.             _loc4_[_loc2_][_loc1_] = p_image.getPixel(_loc1_,_loc2_);
  173.             _loc1_ = _loc1_ + 1;
  174.          }
  175.          _loc2_ = _loc2_ + 1;
  176.       }
  177.       return _loc4_;
  178.    }
  179.    static function saveToImage(p_save)
  180.    {
  181.       var _loc5_ = p_save.length;
  182.       var _loc3_ = new flash.display.BitmapData(225,_loc5_,false,0);
  183.       var _loc2_ = 0;
  184.       while(_loc2_ < _loc3_.height)
  185.       {
  186.          var _loc1_ = 0;
  187.          while(_loc1_ < _loc3_.width)
  188.          {
  189.             _loc3_.setPixel(_loc1_,_loc2_,p_save[_loc2_][_loc1_]);
  190.             _loc1_ = _loc1_ + 1;
  191.          }
  192.          _loc2_ = _loc2_ + 1;
  193.       }
  194.       return _loc3_.clone();
  195.    }
  196.    static function showSavePicture()
  197.    {
  198.       return Story.save_photo.image;
  199.    }
  200.    static function isSave()
  201.    {
  202.       var _loc1_ = SharedObject.getLocal("BRCCSaveData");
  203.       return _loc1_.data.save_photo != undefined;
  204.    }
  205.    static function pauseGame()
  206.    {
  207.       _root.digi_cam.cameraPopdown();
  208.       Story.newConvo("pause",Story.env,"the pause menu");
  209.    }
  210.    static function setMusicVolume(p_vol)
  211.    {
  212.       var _loc1_ = 40 * p_vol / 100;
  213.       Story.env.music.setVolume(_loc1_);
  214.    }
  215.    static function startGame()
  216.    {
  217.       Story.movable = {h_shell_1:true,h_shell_2:true,h_shell_3:true,bucket:false,s_shell_1:true,s_shell_2:true,sh_shell_1:true,sh_shell_2:true,sh_shell_3:true,sh_shell_4:true,sh_shell_5:true,t_shell_1:true,t_shell_2:true,t_shell_3:true,t_shell_4:true,t_shell_5:true,t_shell_6:true,t_shell_7:true};
  218.       Story.sun = false;
  219.       Story.thunder = false;
  220.       Story.snow = false;
  221.       Story.rain = false;
  222.       Story.sunny = false;
  223.       Story.umbrella = false;
  224.       Story.unpacked = false;
  225.       Story.bucket = false;
  226.       Story.bucket_link = null;
  227.       Story.drained = false;
  228.       Story.tunneled = false;
  229.       Story.trapped = false;
  230.       Story.moved = false;
  231.       Story.headdress = false;
  232.       Story.rowable = false;
  233.       Story.competition = false;
  234.       Story.chest_open = false;
  235.       Story.chest_empty = false;
  236.       Story.dug_up = false;
  237.       Story.voucher = false;
  238.       Story.swapped_sun_disk = false;
  239.       Story.got_rain_disk = false;
  240.       Story.chief_hut = null;
  241.       Story.gift = "blank";
  242.       Story.scal = "blank";
  243.       Story.setIslands();
  244.       Story.env.setEnvironmentMap("hotel");
  245.       Story.env.pos_x = 1420;
  246.       Story.env.pos_y = 1570;
  247.       Story.env.render();
  248.    }
  249.    static function setEnv(p_env)
  250.    {
  251.       Story.env = p_env;
  252.    }
  253.    static function setIslands()
  254.    {
  255.       Story.hotel = new Island();
  256.       Story.hotel.setGround(1,"hiws");
  257.       Story.hotel.setLimits(480,2060,380,1650);
  258.       Story.hotel.addBuilding("hotel",1000,900,"The Hotel Grande",1);
  259.       Story.hotel.addObject("hotel_sign",950,955,"the hotel\'s sign",30);
  260.       Story.hotel.addPerson("captain",1490,1360,"the captain",Story.captain,"Captain");
  261.       Story.hotel.addObject("boat",1330,1550,"the ferry",50);
  262.       Story.hotel.addObject("dinghy",1960,620,"the tour boat",40);
  263.       Story.hotel.addObject("tours",1790,620,"the tour sign",25);
  264.       Story.hotel.addObject("post",1445,1388,"a wooden post",15);
  265.       Story.hotel.addObject("post",1395,1388,"a wooden post",15);
  266.       Story.hotel.addObject("post",1856,670,"a wooden post",15);
  267.       Story.hotel.addObject("post",1856,715,"a wooden post",15);
  268.       Story.hotel.addObject("post",1926,670,"a wooden post",15);
  269.       Story.hotel.addObject("post",1926,715,"a wooden post",15);
  270.       Story.hotel.addObject("post",1996,670,"a wooden post",15);
  271.       Story.hotel.addObject("post",1996,715,"a wooden post",15);
  272.       Story.hotel.addPerson("extra_1",1345,960,"a tourist",Story.extra1,"Tourist");
  273.       Story.hotel.addPerson("extra_2",1500,810,"a tourist",Story.extra2,"Tourist");
  274.       Story.hotel.addPerson("extra_3",1620,750,"a tourist",Story.extra3,"Tourist");
  275.       Story.hotel.addPerson("extra_4",1670,1145,"a tourist",Story.extra4,"Tourist");
  276.       Story.hotel.addPerson("extra_5",950,1300,"a tourist",Story.extra5,"Tourist");
  277.       Story.hotel.addPerson("competition_guy",1573,720,"the competition host",Story.competitionGuy,"Competition Host",Story.giveShell,Story.showShellPhoto);
  278.       Story.hotel.addObject("sun_chair",900,1280,"a sun chair",30);
  279.       Story.hotel.addObject("sun_chair",1050,1290,"a sun chair",30);
  280.       Story.hotel.addObject("sun_chair",1320,1340,"a sun chair",30);
  281.       Story.hotel.addObject("palm_1",1350,600,"a palm tree",18);
  282.       Story.hotel.addObject("palm_1",1505,680,"a palm tree",18);
  283.       Story.hotel.addObject("palm_1",1650,610,"a palm tree",18);
  284.       Story.hotel.addObject("palm_2",1450,620,"a palm tree",18);
  285.       Story.hotel.addObject("palm_2",1550,615,"a palm tree",18);
  286.       Story.hotel.addObject("palm_2",1600,680,"a palm tree",18);
  287.       Story.hotel.addObject("palm_3",1390,620,"a palm tree",18);
  288.       Story.hotel.addObject("palm_3",1480,580,"a palm tree",18);
  289.       Story.hotel.addObject("palm_3",1680,670,"a palm tree",18);
  290.       Story.hotel.addObject("comp_sign",1545,681,"the competition sign",25);
  291.       Story.hotel.addObject("grass_3",1300,1040,"the ground",20);
  292.       Story.hotel.addObject("grass_1",1350,1000,"the ground",0);
  293.       Story.hotel.addObject("grass_1",1210,1020,"the ground",0);
  294.       Story.hotel.addObject("grass_1",1583,982,"the ground",0);
  295.       Story.hotel.addObject("grass_1",1723,1115,"the ground",0);
  296.       Story.hotel.addObject("grass_2",1016,1106,"the ground",0);
  297.       Story.hotel.addObject("grass_2",1124,1063,"the ground",0);
  298.       Story.hotel.addObject("grass_2",1301,1165,"the ground",0);
  299.       Story.hotel.addObject("grass_2",1612,1135,"the ground",0);
  300.       Story.hotel.addObject("grass_2",1688,1166,"the ground",0);
  301.       Story.hotel.addObject("rock_3",1150,800,"the ground",20);
  302.       Story.hotel.addObject("rock_3",1200,652,"the ground",20);
  303.       Story.hotel.addObject("rock_2",1094,713,"the ground",20);
  304.       Story.hotel.addObject("rock_2",1701,1035,"the ground",20);
  305.       if(Story.competition)
  306.       {
  307.          Story.hotel.addPerson("hotel_owner",1523,720,"the hotel\'s owner",Story.hotelOwner,"Hotel Owner");
  308.       }
  309.       if(Story.umbrella)
  310.       {
  311.          Story.hotel.addPerson("tour_guide",1960,680,"the tour guide",Story.tourGuide,"Tour Guide");
  312.          Story.hotel.addPerson("red_rabbit",905,1050,"Red Rabbit",Story.redRabbit,"Red Rabbit");
  313.          Story.hotel.addPerson("dancing_seal",1200,1320,"Dancing Seal",Story.dancingSeal,"Dancing Seal");
  314.       }
  315.       if(Story.movable.h_shell_1)
  316.       {
  317.          Story.hotel.addObject("shell_2",850,1000,"a sea shell",0,Story.smallShell,"h_shell_1");
  318.       }
  319.       if(Story.movable.h_shell_2)
  320.       {
  321.          Story.hotel.addObject("shell_2",840,1225,"a sea shell",0,Story.smallShell,"h_shell_2");
  322.       }
  323.       if(Story.movable.h_shell_3)
  324.       {
  325.          Story.hotel.addObject("shell_2",800,1106,"a sea shell",0,Story.smallShell,"h_shell_3");
  326.       }
  327.       if(Story.movable.bucket)
  328.       {
  329.          Story.hotel.addObject("bucket",1175,1350,"a bucket and spade",20);
  330.       }
  331.       Story.hotel_sun = Story.hotel.copyIsland();
  332.       Story.hotel_sun.setGround(5,"hiws");
  333.       Story.hotel_sun.setWeather(5);
  334.       Story.spring = new Island();
  335.       Story.spring.setGround(2,"siws");
  336.       Story.spring.setLimits(830,2000,200,1430);
  337.       Story.spring.addObject("plack",1490,730,"the tourist information plack",25,Story.lookAtPlack);
  338.       Story.spring.addObject("chest",1730,840,"a treasure chest",30,Story.lookAtChest);
  339.       Story.spring.addObject("blank",1730,905,"",25);
  340.       Story.spring.addObject("blank_hole",1205,1055,"",0);
  341.       Story.spring.addPerson("reindeer",1680,850,"Reindeer",Story.reindeer,"Reindeer");
  342.       Story.spring.addObject("palm_1",1294,560,"a palm tree",18);
  343.       Story.spring.addObject("palm_1",1430,485,"a palm tree",18);
  344.       Story.spring.addObject("palm_1",1580,634,"a palm tree",18);
  345.       Story.spring.addObject("palm_2",1298,641,"a palm tree",18);
  346.       Story.spring.addObject("palm_2",1540,504,"a palm tree",18);
  347.       Story.spring.addObject("palm_2",1600,563,"a palm tree",18);
  348.       Story.spring.addObject("palm_3",1317,529,"a palm tree",18);
  349.       Story.spring.addObject("palm_3",1346,511,"a palm tree",18);
  350.       Story.spring.addObject("palm_3",1580,497,"a palm tree",18);
  351.       if(Story.dug_up)
  352.       {
  353.          Story.spring.addObject("blank",1205,1055,"",25);
  354.       }
  355.       if(!(Story.drained && !Story.trapped))
  356.       {
  357.          Story.spring.addObject("dinghy",1400,1350,"the tour boat",40);
  358.          Story.spring.addPerson("tour_guide",1430,1200,"the tour guide",Story.tourGuide,"Tour Guide");
  359.       }
  360.       if(!Story.drained)
  361.       {
  362.          Story.spring.addObject("spring_fount",1440,605,"the spring",30);
  363.       }
  364.       if(Story.movable.s_shell_1)
  365.       {
  366.          Story.spring.addObject("shell_2",1100,950,"a sea shell",0,Story.smallShell,"s_shell_1");
  367.       }
  368.       if(Story.movable.s_shell_2)
  369.       {
  370.          Story.spring.addObject("shell_2",1250,1150,"a sea shell",0,Story.smallShell,"s_shell_2");
  371.       }
  372.       Story.spring_thunder = Story.spring.copyIsland();
  373.       Story.spring_thunder.setGround(6,"siws");
  374.       Story.spring_thunder.setWeather(2);
  375.       Story.shrine = new Island();
  376.       Story.shrine.setGround(3,"shiws");
  377.       Story.shrine.setLimits(1000,2000,300,1430);
  378.       Story.shrine.addObject("palm_3",1415,1100,"a palm tree",18);
  379.       Story.shrine.addObject("palm_1",1485,1160,"a palm tree",18);
  380.       Story.shrine.addObject("palm_3",1420,1030,"a palm tree",18);
  381.       Story.shrine.addObject("palm_2",1480,1080,"a palm tree",18);
  382.       Story.shrine.addObject("palm_3",1400,940,"a palm tree",18);
  383.       Story.shrine.addObject("palm_2",1490,980,"a palm tree",18);
  384.       Story.shrine.addObject("palm_3",1403,875,"a palm tree",18);
  385.       Story.shrine.addObject("palm_2",1475,870,"a palm tree",18);
  386.       Story.shrine.addObject("palm_3",1423,1150,"a palm tree",18);
  387.       Story.shrine.addObject("palm_1",1390,1070,"a palm tree",18);
  388.       Story.shrine.addObject("palm_2",1340,1012,"a palm tree",18);
  389.       Story.shrine.addObject("palm_3",1370,960,"a palm tree",18);
  390.       Story.shrine.addObject("palm_1",1523,1116,"a palm tree",18);
  391.       Story.shrine.addObject("palm_2",1516,1064,"a palm tree",18);
  392.       Story.shrine.addObject("palm_3",1534,934,"a palm tree",18);
  393.       Story.shrine.addObject("palm_1",1380,1140,"a palm tree",18);
  394.       Story.shrine.addObject("shrine_idol",1415,650,"a mysterious idol",60,Story.lookAtIdol);
  395.       Story.shrine.addObject("big_shell",1235,520,"a very large sea shell",50);
  396.       Story.shrine.addObject("fireplace",1665,510,"a campfire",25);
  397.       Story.shrine.addObject("rock_1",1571,1143,"the ground",0);
  398.       Story.shrine.addObject("rock_1",1538,1223,"the ground",0);
  399.       Story.shrine.addObject("rock_1",1323,1141,"the ground",0);
  400.       Story.shrine.addObject("rock_1",1386,1201,"the ground",0);
  401.       Story.shrine.addObject("rock_2",1526,1190,"the ground",20);
  402.       Story.shrine.addObject("rock_1",1276,734,"the ground",0);
  403.       Story.shrine.addObject("rock_1",1362,698,"the ground",0);
  404.       Story.shrine.addObject("rock_2",1332,780,"the ground",20);
  405.       Story.shrine.addObject("rock_2",1570,830,"the ground",20);
  406.       Story.shrine.addObject("rock_3",1531,736,"the ground",20);
  407.       if(Story.trapped)
  408.       {
  409.          Story.shrine.addObject("row_boat",1870,570,"a rowing boat",40,Story.takeRowBoatBack);
  410.       }
  411.       if(!Story.trapped)
  412.       {
  413.          Story.shrine.addObject("trap",1415,730,"a pile of leaves",0);
  414.       }
  415.       if(Story.movable.sh_shell_1)
  416.       {
  417.          Story.shrine.addObject("shell_1",1670,870,"a sea shell",20,Story.largeShell,"sh_shell_1");
  418.       }
  419.       if(Story.movable.sh_shell_2)
  420.       {
  421.          Story.shrine.addObject("shell_2",1690,913,"a sea shell",0,Story.smallShell,"sh_shell_2");
  422.       }
  423.       if(Story.movable.sh_shell_3)
  424.       {
  425.          Story.shrine.addObject("shell_1",1216,620,"a sea shell",20,Story.largeShell,"sh_shell_3");
  426.       }
  427.       if(Story.movable.sh_shell_4)
  428.       {
  429.          Story.shrine.addObject("shell_2",1306,583,"a sea shell",0,Story.smallShell,"sh_shell_4");
  430.       }
  431.       if(Story.movable.sh_shell_5)
  432.       {
  433.          Story.shrine.addObject("shell_2",1346,513,"a sea shell",0,Story.smallShell,"sh_shell_5");
  434.       }
  435.       Story.shrine_snow = Story.shrine.copyIsland();
  436.       Story.shrine_snow.setGround(7,"shiws");
  437.       Story.shrine_snow.setWeather(4);
  438.       Story.tribal = new Island();
  439.       Story.tribal.setGround(4,"tiws");
  440.       Story.tribal.setLimits(840,2100,250,1350);
  441.       Story.tribal.addObject("fireplace",1180,910,"a campfire",25);
  442.       Story.tribal.addObject("fireplace",1420,730,"a campfire",55);
  443.       Story.tribal.addObject("rock_2",1460,730,"the ground",0);
  444.       Story.tribal.addObject("rock_3",1380,730,"the ground",0);
  445.       Story.tribal.addObject("rock_2",1420,770,"the ground",0);
  446.       Story.tribal.addObject("rock_3",1423,690,"the ground",0);
  447.       Story.tribal.addObject("white_rock_1",1440,695,"the ground",0);
  448.       Story.tribal.addObject("white_rock_3",1455,710,"the ground",0);
  449.       Story.tribal.addObject("white_rock_2",1455,745,"the ground",0);
  450.       Story.tribal.addObject("white_rock_3",1440,765,"the ground",0);
  451.       Story.tribal.addObject("white_rock_2",1405,765,"the ground",0);
  452.       Story.tribal.addObject("white_rock_1",1385,745,"the ground",0);
  453.       Story.tribal.addObject("white_rock_2",1385,710,"the ground",0);
  454.       Story.tribal.addObject("white_rock_3",1405,695,"the ground",0);
  455.       Story.tribal.addBuilding("hut",1570,670,"a native hut",4);
  456.       Story.tribal.addBuilding("hut",1300,800,"a native hut",5);
  457.       Story.tribal.addBuilding("hut",1720,850,"a native hut",6);
  458.       Story.tribal.addBuilding("chief_hut",1450,500,"a native hut",7);
  459.       Story.tribal.addPerson("tribe_guard_side",1210,575,"a native guard",Story.guardJetty,"Native Guard",Story.giveHeadDress);
  460.       Story.tribal.addObject("row_boat",1150,500,"a rowing boat",40,Story.takeRowBoatThere);
  461.       Story.tribal.addPerson("tribe_old_man",1620,1010,"an old native",Story.oldMan,"Old Native");
  462.       Story.tribal.addPerson("tribe_male_front",1670,700,"a native man",Story.philosLeft,"Native Man");
  463.       Story.tribal.addPerson("tribe_female_side",1710,740,"a native woman",Story.philosRight,"Native Woman");
  464.       Story.tribal.addPerson("tribe_guard_front",1420,585,"a native guard",Story.guardLeft,"Native Guard");
  465.       Story.tribal.addPerson("tribe_guard_front",1480,580,"a native guard",Story.guardRight,"Native Guard");
  466.       Story.tribal.addPerson("tribe_female_front",1360,880,"a native woman",Story.hydrophobe,"Native Woman");
  467.       Story.tribal.addPerson("tribe_male_side",1210,870,"a native man",Story.judge,"Native Man");
  468.       Story.tribal.addPerson("tribe_female_side",1860,900,"a native woman",Story.shellWoman,"Native Woman");
  469.       Story.tribal.addObject("scales",1850,940,"the ground",25);
  470.       Story.tribal.addPerson("tribe_guard_side",1370,680,"a native guard",Story.guard,"Native Guard");
  471.       Story.tribal.addPerson("tribe_female_front",1480,810,"a native woman",Story.depressive,"Native Woman");
  472.       Story.tribal.addObject("white_rock_2",1380,1100,"the ground",13);
  473.       Story.tribal.addObject("white_rock_3",1250,1050,"the ground",13);
  474.       Story.tribal.addObject("grass_1",1610,920,"the ground",0);
  475.       Story.tribal.addObject("grass_2",1770,905,"the ground",0);
  476.       Story.tribal.addObject("grass_1",1795,855,"the ground",0);
  477.       Story.tribal.addObject("grass_2",1515,765,"the ground",0);
  478.       Story.tribal.addObject("grass_1",1580,785,"the ground",0);
  479.       if(!Story.moved)
  480.       {
  481.          Story.tribal.addPerson("tribe_male_front",1720,910,"a native man",Story.doorGuy,"Native Man",Story.giveUmbrella);
  482.       }
  483.       if(Story.movable.t_shell_1)
  484.       {
  485.          Story.tribal.addObject("shell_1",1100,1020,"a sea shell",20,Story.largeShell,"t_shell_1");
  486.       }
  487.       if(Story.movable.t_shell_2)
  488.       {
  489.          Story.tribal.addObject("shell_1",1290,1120,"a sea shell",20,Story.largeShell,"t_shell_2");
  490.       }
  491.       if(Story.movable.t_shell_3)
  492.       {
  493.          Story.tribal.addObject("shell_2",1430,1060,"a sea shell",0,Story.smallShell,"t_shell_3");
  494.       }
  495.       if(Story.movable.t_shell_4)
  496.       {
  497.          Story.tribal.addObject("shell_2",1220,1120,"a sea shell",0,Story.smallShell,"t_shell_4");
  498.       }
  499.       if(Story.movable.t_shell_5)
  500.       {
  501.          Story.tribal.addObject("shell_2",1190,1070,"a sea shell",0,Story.smallShell,"t_shell_5");
  502.       }
  503.       if(Story.movable.t_shell_6)
  504.       {
  505.          Story.tribal.addObject("shell_2",1700,1040,"a sea shell",0,Story.smallShell,"t_shell_6");
  506.       }
  507.       if(Story.movable.t_shell_7)
  508.       {
  509.          Story.tribal.addObject("shell_2",1730,1010,"a sea shell",0,Story.smallShell,"t_shell_7");
  510.       }
  511.       Story.tribal_rain = Story.tribal.copyIsland();
  512.       Story.tribal_rain.setGround(8,"tiws");
  513.       Story.tribal_rain.setWeather(3);
  514.       Story.tunnel = new Island();
  515.       Story.tunnel.setGround(9,null);
  516.       Story.tunnel.setLimits(860,945,-210,1270);
  517.       Story.tunnel.addObject("pillar",905,1200,"a pillar",0);
  518.       Story.tunnel.addObject("pillar",905,1000,"a pillar",0);
  519.       Story.tunnel.addObject("pillar",905,800,"a pillar",0);
  520.       Story.tunnel.addObject("pillar",905,600,"a pillar",0);
  521.       Story.tunnel.addObject("pillar",905,400,"a pillar",0);
  522.       Story.tunnel.addObject("stairs",905,250,"some stairs",0);
  523.       Story.tunnel.setWeather(6);
  524.    }
  525.    static function lookAtMap()
  526.    {
  527.       Story.newConvo("map_poster",Story.env,"a poster");
  528.    }
  529.    static function redRabbit(p_env, p_photo_name)
  530.    {
  531.       Story.newConvo("red_rabbit",p_env,p_photo_name);
  532.       _root.convo.cs.gotoAndStop("red_rabbit");
  533.       if(Story.sun)
  534.       {
  535.          _root.convo.cs.cg.gotoAndPlay(18);
  536.       }
  537.    }
  538.    static function dancingSeal(p_env, p_photo_name)
  539.    {
  540.       Story.newConvo("dancing_seal",p_env,p_photo_name);
  541.       if(!Story.sun)
  542.       {
  543.          if(Story.sunny)
  544.          {
  545.             if(!Story.bucket)
  546.             {
  547.                _root.convo.cs.gotoAndStop("dancing_seal_bucket");
  548.             }
  549.             else
  550.             {
  551.                _root.convo.cs.gotoAndStop("dancing_seal_normal");
  552.             }
  553.          }
  554.          else
  555.          {
  556.             _root.convo.cs.gotoAndStop("dancing_seal_normal");
  557.          }
  558.       }
  559.       else
  560.       {
  561.          _root.convo.cs.gotoAndStop("dancing_seal_bucket");
  562.          if(Story.bucket)
  563.          {
  564.             _root.convo.cs.cg.gotoAndPlay(32);
  565.          }
  566.       }
  567.    }
  568.    static function reindeer(p_env, p_photo_name)
  569.    {
  570.       Story.newConvo("reindeer",p_env,p_photo_name);
  571.       _root.convo.cs.gotoAndStop("reindeer_chest_closed");
  572.       if(Story.chest_open)
  573.       {
  574.          _root.convo.cs.cg.gotoAndPlay(23);
  575.       }
  576.    }
  577.    static function tourGuide(p_env, p_photo_name)
  578.    {
  579.       Story.newConvo("tour_guide",p_env,p_photo_name);
  580.       _root.convo.cs.gotoAndStop("tour_guide");
  581.    }
  582.    static function hotelOwner(p_env, p_photo_name)
  583.    {
  584.       Story.newConvo("hotel_owner",p_env,p_photo_name);
  585.       _root.convo.cs.gotoAndStop("hotel_owner");
  586.       _root.convo.cs.cg.gotoAndPlay(30);
  587.    }
  588.    static function captain(p_env, p_photo_name)
  589.    {
  590.       Story.newConvo("captain",p_env,p_photo_name);
  591.       _root.convo.cs.gotoAndStop("captain");
  592.       if(Story.sun)
  593.       {
  594.          _root.convo.cs.cg.gotoAndPlay(18);
  595.       }
  596.    }
  597.    static function extra1(p_env, p_photo_name)
  598.    {
  599.       Story.newConvo("extra_1",p_env,p_photo_name);
  600.       _root.convo.cs.gotoAndStop("extra_1_normal");
  601.    }
  602.    static function extra2(p_env, p_photo_name)
  603.    {
  604.       Story.newConvo("extra_2",p_env,p_photo_name);
  605.       _root.convo.cs.gotoAndStop("extra_2");
  606.       if(Story.sun)
  607.       {
  608.          _root.convo.cs.cg.gotoAndPlay(26);
  609.       }
  610.    }
  611.    static function extra3(p_env, p_photo_name)
  612.    {
  613.       Story.newConvo("extra_3",p_env,p_photo_name);
  614.       _root.convo.cs.gotoAndStop("extra_3");
  615.       if(Story.sun)
  616.       {
  617.          _root.convo.cs.cg.gotoAndPlay(34);
  618.       }
  619.    }
  620.    static function extra4(p_env, p_photo_name)
  621.    {
  622.       Story.newConvo("extra_4",p_env,p_photo_name);
  623.       _root.convo.cs.gotoAndStop("extra_4_normal");
  624.       if(Story.sun)
  625.       {
  626.          _root.convo.cs.cg.gotoAndPlay(18);
  627.       }
  628.    }
  629.    static function extra5(p_env, p_photo_name)
  630.    {
  631.       Story.newConvo("extra_5",p_env,p_photo_name);
  632.       _root.convo.cs.gotoAndStop("extra_5");
  633.       if(Story.sun)
  634.       {
  635.          _root.convo.cs.cg.gotoAndPlay(12);
  636.       }
  637.    }
  638.    static function competitionGuy(p_env, p_photo_name)
  639.    {
  640.       Story.newConvo("competition_guy",p_env,p_photo_name);
  641.       _root.convo.cs.gotoAndStop("competition_guy");
  642.       if(Story.competition)
  643.       {
  644.          _root.convo.cs.cg.gotoAndPlay(55);
  645.       }
  646.    }
  647.    static function guardJetty(p_env, p_photo_name)
  648.    {
  649.       Story.newConvo("tribe_guard_1",p_env,p_photo_name);
  650.       _root.convo.cs.gotoAndStop("guard_jetty");
  651.       if(Story.rowable)
  652.       {
  653.          _root.convo.cs.cg.gotoAndPlay(39);
  654.       }
  655.    }
  656.    static function guardLeft(p_env, p_photo_name)
  657.    {
  658.       Story.newConvo("tribe_guard_1",p_env,p_photo_name);
  659.       _root.convo.cs.gotoAndStop("guard_left");
  660.       if(!Story.rain)
  661.       {
  662.          _root.convo.cs.cg.gotoAndPlay(16);
  663.       }
  664.    }
  665.    static function guardRight(p_env, p_photo_name)
  666.    {
  667.       Story.newConvo("tribe_guard_1",p_env,p_photo_name);
  668.       _root.convo.cs.gotoAndStop("guard_right");
  669.       if(!Story.rain)
  670.       {
  671.          _root.convo.cs.cg.gotoAndPlay(16);
  672.       }
  673.    }
  674.    static function guard(p_env, p_photo_name)
  675.    {
  676.       Story.newConvo("tribe_guard_1",p_env,p_photo_name);
  677.       _root.convo.cs.gotoAndStop("guard");
  678.       if(!Story.rain)
  679.       {
  680.          _root.convo.cs.cg.gotoAndPlay(20);
  681.       }
  682.    }
  683.    static function oldMan(p_env, p_photo_name)
  684.    {
  685.       Story.newConvo("old_man",p_env,p_photo_name);
  686.       _root.convo.cs.gotoAndStop("old_man");
  687.       if(!Story.rain)
  688.       {
  689.          _root.convo.cs.cg.gotoAndPlay(20);
  690.       }
  691.    }
  692.    static function philosRight(p_env, p_photo_name)
  693.    {
  694.       Story.newConvo("tribe_woman_1",p_env,p_photo_name);
  695.       _root.convo.cs.gotoAndStop("philos_right");
  696.       if(!Story.rain)
  697.       {
  698.          _root.convo.cs.cg.gotoAndPlay(8);
  699.       }
  700.    }
  701.    static function philosLeft(p_env, p_photo_name)
  702.    {
  703.       Story.newConvo("tribe_man_1",p_env,p_photo_name);
  704.       _root.convo.cs.gotoAndStop("philos_left");
  705.       if(!Story.rain)
  706.       {
  707.          _root.convo.cs.cg.gotoAndPlay(8);
  708.       }
  709.    }
  710.    static function judge(p_env, p_photo_name)
  711.    {
  712.       Story.newConvo("tribe_man_1",p_env,p_photo_name);
  713.       _root.convo.cs.gotoAndStop("judge");
  714.       if(!Story.rain)
  715.       {
  716.          _root.convo.cs.cg.gotoAndPlay(8);
  717.       }
  718.    }
  719.    static function hydrophobe(p_env, p_photo_name)
  720.    {
  721.       Story.newConvo("tribe_woman_1",p_env,p_photo_name);
  722.       _root.convo.cs.gotoAndStop("hydrophobe");
  723.       if(!Story.rain)
  724.       {
  725.          _root.convo.cs.cg.gotoAndPlay(20);
  726.       }
  727.    }
  728.    static function depressive(p_env, p_photo_name)
  729.    {
  730.       Story.newConvo("tribe_woman_1",p_env,p_photo_name);
  731.       _root.convo.cs.gotoAndStop("depressive");
  732.       if(!Story.rain)
  733.       {
  734.          _root.convo.cs.cg.gotoAndPlay(18);
  735.       }
  736.    }
  737.    static function shellWoman(p_env, p_photo_name)
  738.    {
  739.       Story.newConvo("tribe_woman_1",p_env,p_photo_name);
  740.       _root.convo.cs.gotoAndStop("shell_woman");
  741.       if(Story.chest_open)
  742.       {
  743.          _root.convo.cs.cg.gotoAndPlay(30);
  744.       }
  745.    }
  746.    static function doorGuy(p_env, p_photo_name)
  747.    {
  748.       Story.newConvo("tribe_man_1",p_env,p_photo_name);
  749.       _root.convo.cs.gotoAndStop("door_guy");
  750.    }
  751.    static function newConvo(p_person, p_env, p_photo_name)
  752.    {
  753.       p_env.stopToTalk();
  754.       _root.attachMovie("convo","convo",1000001);
  755.       _root.convo.env = Story.env;
  756.       _root.convo.photo_name = p_photo_name;
  757.       Story.env.hit_center = _root.convo;
  758.       _root.convo.gotoAndStop(p_person);
  759.    }
  760.    static function giveShell(source_mc, p_item)
  761.    {
  762.       if(source_mc.distanceTo(Story.env.pos_x,Story.env.pos_y) < 40)
  763.       {
  764.          if(p_item == "large_shell" || p_item == "small_shell")
  765.          {
  766.             if(!_root.convo)
  767.             {
  768.                Story.newConvo("competition_guy",Story.env,"the competition host");
  769.             }
  770.             _root.convo.cs.gotoAndStop("competition_guy");
  771.             _root.convo.cs.cg.gotoAndPlay("lose");
  772.             _root.convo.cs.cg.shell = p_item;
  773.          }
  774.       }
  775.    }
  776.    static function giveUmbrella(source_mc, p_item)
  777.    {
  778.       if(source_mc.distanceTo(Story.env.pos_x,Story.env.pos_y) < 40)
  779.       {
  780.          if(p_item == "umbrella")
  781.          {
  782.             if(!_root.convo)
  783.             {
  784.                Story.newConvo("tribe_man_1",Story.env,"a native man");
  785.             }
  786.             _root.convo.cs.gotoAndStop("door_guy");
  787.             _root.convo.cs.cg.gotoAndPlay("give");
  788.          }
  789.       }
  790.    }
  791.    static function giveHeadDress(source_mc, p_item)
  792.    {
  793.       if(source_mc.distanceTo(Story.env.pos_x,Story.env.pos_y) < 40)
  794.       {
  795.          if(p_item == "head_dress")
  796.          {
  797.             if(!_root.convo)
  798.             {
  799.                Story.newConvo("tribe_guard_1",Story.env,"a native guard");
  800.             }
  801.             _root.convo.cs.gotoAndStop("guard_jetty");
  802.             _root.convo.cs.cg.gotoAndPlay("give");
  803.          }
  804.       }
  805.    }
  806.    static function smallShell(p_source)
  807.    {
  808.       if(Story.getItem("small_shell"))
  809.       {
  810.          Story.getMovable(p_source.movable);
  811.          p_source.removeMovieClip();
  812.       }
  813.    }
  814.    static function largeShell(p_source)
  815.    {
  816.       if(Story.getItem("large_shell"))
  817.       {
  818.          Story.getMovable(p_source.movable);
  819.          p_source.removeMovieClip();
  820.       }
  821.    }
  822.    static function lookAtPlack()
  823.    {
  824.       Story.newConvo("plack",Story.env,"an engraving");
  825.    }
  826.    static function lookAtChest(p_source)
  827.    {
  828.       Story.env.goInside(p_source,10);
  829.    }
  830.    static function lookAtIdol(p_source)
  831.    {
  832.       Story.env.goInside(p_source,12);
  833.    }
  834.    static function takeRowBoatThere(p_source)
  835.    {
  836.       if(Story.rowable)
  837.       {
  838.          Story.env.stopToTalk();
  839.          _root.attachMovie("cutscene","cutscene",1000006);
  840.          _root.cutscene.env = Story.env;
  841.          _root.cutscene.frame = 11;
  842.       }
  843.       else
  844.       {
  845.          Story.guardJetty(Story.env,"tribe_guard_1");
  846.       }
  847.    }
  848.    static function takeRowBoatBack(p_source)
  849.    {
  850.       Story.env.stopToTalk();
  851.       _root.attachMovie("cutscene","cutscene",1000006);
  852.       _root.cutscene.env = Story.env;
  853.       _root.cutscene.frame = 12;
  854.    }
  855.    static function getItem(p_item)
  856.    {
  857.       if(p_item == "small_shell")
  858.       {
  859.          if(!_root.hud.usedItem("small_shell"))
  860.          {
  861.             _root.hud.usedItem("large_shell");
  862.          }
  863.       }
  864.       else if(p_item == "large_shell")
  865.       {
  866.          if(!_root.hud.usedItem("small_shell"))
  867.          {
  868.             _root.hud.usedItem("large_shell");
  869.          }
  870.       }
  871.       return _root.hud.pickupItem(p_item);
  872.    }
  873.    static function getMovable(p_item)
  874.    {
  875.       Story.movable[p_item] = false;
  876.    }
  877.    static function showShellPhoto(source_mc, p_photo_name)
  878.    {
  879.       if(source_mc.distanceTo(Story.env.pos_x,Story.env.pos_y) < 40 && p_photo_name == "a very large sea shell")
  880.       {
  881.          if(!_root.convo)
  882.          {
  883.             Story.newConvo("competition_guy",Story.env,"the competition host");
  884.          }
  885.          _root.convo.cs.gotoAndStop("competition_guy");
  886.          _root.convo.cs.cg.gotoAndPlay("win");
  887.       }
  888.    }
  889.    static function takeBoat(p_dir)
  890.    {
  891.       Story.env.stopToTalk();
  892.       _root.attachMovie("cutscene","cutscene",1000006);
  893.       _root.cutscene.env = Story.env;
  894.       if(p_dir == 0)
  895.       {
  896.          _root.cutscene.frame = 2;
  897.       }
  898.       else
  899.       {
  900.          _root.cutscene.frame = 3;
  901.       }
  902.    }
  903.    static function useTunnel(p_dir)
  904.    {
  905.       Story.env.stopToTalk();
  906.       _root.attachMovie("cutscene","cutscene",1000006);
  907.       _root.cutscene.env = Story.env;
  908.       if(!Story.tunneled)
  909.       {
  910.          _root.cutscene.frame = 4;
  911.          Story.tunneled = true;
  912.       }
  913.       else if(p_dir == 0)
  914.       {
  915.          _root.cutscene.frame = 5;
  916.       }
  917.       else
  918.       {
  919.          _root.cutscene.frame = 6;
  920.       }
  921.    }
  922.    static function drain()
  923.    {
  924.       Story.env.stopToTalk();
  925.       _root.attachMovie("cutscene","cutscene",1000006);
  926.       _root.cutscene.env = Story.env;
  927.       _root.cutscene.frame = 7;
  928.    }
  929.    static function disaster()
  930.    {
  931.       Story.sun = true;
  932.       Story.sunny = true;
  933.       Story.thunder = true;
  934.       Story.rain = true;
  935.       Story.snow = true;
  936.       Story.drained = true;
  937.    }
  938.    static function leaveTunnel()
  939.    {
  940.       Story.env.stopToTalk();
  941.       _root.attachMovie("cutscene","cutscene",1000006);
  942.       _root.cutscene.env = Story.env;
  943.       _root.cutscene.frame = 8;
  944.    }
  945.    static function getTrapped()
  946.    {
  947.       Story.trapped = true;
  948.       Story.env.stopToTalk();
  949.       _root.attachMovie("cutscene","cutscene",1000006);
  950.       _root.cutscene.env = Story.env;
  951.       _root.cutscene.frame = 9;
  952.    }
  953.    static function guyMove()
  954.    {
  955.       Story.env.stopToTalk();
  956.       _root.attachMovie("cutscene","cutscene",1000006);
  957.       _root.cutscene.env = Story.env;
  958.       _root.cutscene.frame = 10;
  959.    }
  960.    static function digUp()
  961.    {
  962.       Story.env.stopToTalk();
  963.       _root.attachMovie("cutscene","cutscene",1000006);
  964.       _root.cutscene.env = Story.env;
  965.       _root.cutscene.frame = 13;
  966.    }
  967.    static function winComp()
  968.    {
  969.       Story.env.stopToTalk();
  970.       _root.attachMovie("cutscene","cutscene",1000006);
  971.       _root.cutscene.env = Story.env;
  972.       _root.cutscene.frame = 18;
  973.    }
  974.    static function unSun()
  975.    {
  976.       _root.hud.usedItem("sun_disk");
  977.       Story.sun = false;
  978.       Story.env.goOutside();
  979.       Story.env.stopToTalk();
  980.       _root.attachMovie("cutscene","cutscene",1000006);
  981.       _root.cutscene.env = Story.env;
  982.       _root.cutscene.frame = 14;
  983.       Story.checkEnd();
  984.    }
  985.    static function unRain()
  986.    {
  987.       _root.hud.usedItem("rain_disk");
  988.       Story.rain = false;
  989.       Story.env.goOutside();
  990.       Story.env.stopToTalk();
  991.       _root.attachMovie("cutscene","cutscene",1000006);
  992.       _root.cutscene.env = Story.env;
  993.       _root.cutscene.frame = 15;
  994.       Story.checkEnd();
  995.    }
  996.    static function unThunder()
  997.    {
  998.       _root.hud.usedItem("thunder_disk");
  999.       Story.thunder = false;
  1000.       Story.env.goOutside();
  1001.       Story.env.stopToTalk();
  1002.       _root.attachMovie("cutscene","cutscene",1000006);
  1003.       _root.cutscene.env = Story.env;
  1004.       _root.cutscene.frame = 16;
  1005.       Story.checkEnd();
  1006.    }
  1007.    static function unSnow()
  1008.    {
  1009.       _root.hud.usedItem("snow_disk");
  1010.       Story.snow = false;
  1011.       Story.env.goOutside();
  1012.       Story.env.stopToTalk();
  1013.       _root.attachMovie("cutscene","cutscene",1000006);
  1014.       _root.cutscene.env = Story.env;
  1015.       _root.cutscene.frame = 17;
  1016.       Story.checkEnd();
  1017.    }
  1018.    static function checkEnd()
  1019.    {
  1020.       if(!Story.sun && !Story.snow && !Story.rain && !Story.thunder)
  1021.       {
  1022.          Story.wipeOut();
  1023.          _root.gotoAndPlay("ending");
  1024.       }
  1025.    }
  1026.    static function afterCheckin()
  1027.    {
  1028.       Story.umbrella = true;
  1029.       Story.unpacked = true;
  1030.       Story.getItem("umbrella");
  1031.       Story.movable.bucket = true;
  1032.       Story.setIslands();
  1033.       Story.env.setEnvironmentMap("hotel");
  1034.       Story.env.render();
  1035.    }
  1036.    static function takenBoat()
  1037.    {
  1038.       Story.umbrella = true;
  1039.       Story.unpacked = true;
  1040.       Story.getItem("umbrella");
  1041.       Story.movable.bucket = true;
  1042.       Story.setIslands();
  1043.       Story.env.setEnvironmentMap("spring");
  1044.       Story.env.pos_x = 1420;
  1045.       Story.env.pos_y = 1000;
  1046.       Story.env.render();
  1047.    }
  1048.    static function beenCaptured()
  1049.    {
  1050.       Story.umbrella = true;
  1051.       Story.unpacked = true;
  1052.       Story.getItem("umbrella");
  1053.       Story.movable.bucket = true;
  1054.       Story.disaster();
  1055.       Story.tunneled = true;
  1056.       Story.trapped = true;
  1057.       Story.getItem("snow_disk");
  1058.       Story.setIslands();
  1059.       Story.env.setEnvironmentMap("tribal");
  1060.       Story.env.pos_x = 1450;
  1061.       Story.env.pos_y = 580;
  1062.       Story.env.render();
  1063.    }
  1064. }
  1065.