home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Aventura / polarrescue.swf / scripts / frame_490 / DoAction.as
Encoding:
Text File  |  2006-05-23  |  16.2 KB  |  673 lines

  1. function set_items()
  2. {
  3.    dat.level[0][init] = [40,350];
  4.    dat.level[0][powerup][0] = [485,80,1,"star"];
  5.    dat.level[0][powerup][1] = [30,252,1,"snow_balls"];
  6.    dat.level[0][powerup][2] = [270,51,1,"snow_balls"];
  7.    dat.level[1][init] = [50,360];
  8.    dat.level[1][powerup][0] = [300,70,1,"star"];
  9.    dat.level[1][powerup][1] = [240,180,1,"star"];
  10.    dat.level[1][powerup][2] = [439,353,1,"snow_balls"];
  11.    dat.level[1][powerup][3] = [422,370,1,"snow_balls"];
  12.    dat.level[1][powerup][4] = [439,370,1,"snow_balls"];
  13.    dat.level[1][powerup][5] = [455,370,1,"snow_balls"];
  14.    dat.level[1][enemy][0] = [213,361,1,"fikkie",100];
  15.    dat.level[2][init] = [40,350];
  16.    dat.level[2][powerup][0] = [50,70,1,"star"];
  17.    dat.level[2][powerup][1] = [110,80,1,"star"];
  18.    dat.level[2][powerup][2] = [170,70,1,"star"];
  19.    dat.level[2][powerup][3] = [230,80,1,"star"];
  20.    dat.level[2][powerup][4] = [290,70,1,"star"];
  21.    dat.level[2][powerup][5] = [350,80,1,"star"];
  22.    dat.level[2][powerup][6] = [410,70,1,"star"];
  23.    dat.level[2][powerup][7] = [470,80,1,"star"];
  24.    dat.level[3][init] = [25,100];
  25.    dat.level[3][powerup][0] = [330,336,0,"star"];
  26.    dat.level[3][datas][0] = 0;
  27.    dat.level[3][functions][0] = function()
  28.    {
  29.       if(dat.level[3][datas][0] == 1)
  30.       {
  31.          var n = 1;
  32.          while(5 >= n)
  33.          {
  34.             var temp = _root.level4["spike" + n];
  35.             temp.gotoAndStop(25);
  36.             n++;
  37.          }
  38.          _root.level4.button1.gotoAndStop(15);
  39.       }
  40.       else
  41.       {
  42.          var n = 1;
  43.          while(5 >= n)
  44.          {
  45.             var temp = _root.level4["spike" + n];
  46.             temp.gotoAndPlay(2);
  47.             n++;
  48.          }
  49.          _root.level4.button1.gotoAndStop(1);
  50.       }
  51.    };
  52.    dat.level[3][functions][1] = function()
  53.    {
  54.       var tot = 0;
  55.       var L = 0;
  56.       while(3 >= L)
  57.       {
  58.          var IT = dat.level[L][powerup].length;
  59.          T = 0;
  60.          while(T < IT)
  61.          {
  62.             if(dat.level[L][powerup][T][type] == "star")
  63.             {
  64.                tot += dat.level[L][powerup][T][status];
  65.             }
  66.             T++;
  67.          }
  68.          L++;
  69.       }
  70.       tot != 0 ? _root.level4.door.gotoAndStop(1) : _root.level4.door.gotoAndStop(2);
  71.    };
  72.    dat.level[4][init] = [25,100];
  73.    dat.level[4][powerup][0] = [260,175,1,"extra_life"];
  74.    dat.level[4][datas][0] = -1;
  75.    dat.level[4][functions][0] = function()
  76.    {
  77.       if(dat.level[4][datas][0] == 1)
  78.       {
  79.          _root.button2.gotoAndStop(15);
  80.          _root.level5.door.gotoAndStop("opened");
  81.       }
  82.       else
  83.       {
  84.          _root.button2.gotoAndStop(1);
  85.          _root.level5.door.gotoAndStop(1);
  86.       }
  87.    };
  88.    dat.level[5][init] = [25,360];
  89.    dat.level[5][powerup][0] = [133,50,1,"star"];
  90.    dat.level[5][datas][0] = 0;
  91.    dat.level[5][functions][0] = function()
  92.    {
  93.       if(dat.level[5][datas][0] == 1)
  94.       {
  95.          _root.button3.gotoAndStop(15);
  96.          _root.level6.door.gotoAndStop("opened");
  97.       }
  98.       else
  99.       {
  100.          _root.button3.gotoAndStop(1);
  101.          _root.level6.door.gotoAndStop(1);
  102.       }
  103.    };
  104.    dat.level[6][init] = [25,25];
  105.    dat.level[6][powerup][0] = [40,260,1,"snow_balls"];
  106.    dat.level[6][powerup][1] = [70,260,1,"snow_balls"];
  107.    dat.level[6][powerup][2] = [55,245,1,"snow_balls"];
  108.    dat.level[6][powerup][3] = [55,260,1,"snow_balls"];
  109.    dat.level[6][powerup][4] = [200,200,0,"key"];
  110.    dat.level[6][enemy][0] = [270,332,1,"ijsbeer",400];
  111.    dat.level[6][enemy][0][5] = function()
  112.    {
  113.       _root.attach_powerup(4);
  114.    };
  115.    dat.level[6][datas][0] = 0;
  116.    dat.level[6][functions][0] = function()
  117.    {
  118.       if(dat.level[6][datas][0] == 1)
  119.       {
  120.          _root.level7.door.gotoAndStop("opened");
  121.       }
  122.       else
  123.       {
  124.          _root.level7.door.gotoAndStop(1);
  125.       }
  126.    };
  127.    dat.level[7][init] = [35,25];
  128.    dat.level[7][powerup][0] = [55,375,1,"snow_balls"];
  129.    dat.level[7][enemy][0] = [420,230,1,"demon_hit",80];
  130.    dat.level[7][enemy][1] = [438,45,1,"kill_demon",1];
  131.    dat.level[7][functions][0] = function()
  132.    {
  133.       _root.trap = true;
  134.       _root.guy._x = 35;
  135.       _root.level8.door.gotoAndPlay("close");
  136.       _root.level8.ice_demon.gotoAndStop("start");
  137.    };
  138. }
  139. function update(level)
  140. {
  141.    var C = level;
  142.    var L = dat.level[C][powerup].length;
  143.    var i = 0;
  144.    while(L - 1 >= i)
  145.    {
  146.       if(dat.level[C][powerup][i][status] == 1)
  147.       {
  148.          attach_powerup(i);
  149.       }
  150.       i++;
  151.    }
  152.    U = L;
  153.    var L = dat.level[C][enemy].length;
  154.    var i = 0;
  155.    while(L - 1 >= i)
  156.    {
  157.       if(dat.level[C][enemy][i][status] == 1)
  158.       {
  159.          var T = dat.level[C][enemy][i][type];
  160.          _root["level" + (C + 1)].attachMovie(T,T + i,i + U);
  161.          var tempMC = _root["level" + (C + 1)][T + i];
  162.          tempMC._x = dat.level[C][enemy][i][x];
  163.          tempMC._y = dat.level[C][enemy][i][y];
  164.          tempMC.n = i;
  165.       }
  166.       i++;
  167.    }
  168.    _root.trap = false;
  169.    var L = dat.level[C][functions].length;
  170.    var i = 0;
  171.    while(L - 1 >= i)
  172.    {
  173.       dat.level[C][functions][i]();
  174.       i++;
  175.    }
  176. }
  177. fscommand("allowscale","false");
  178. fscommand("trapallkeys","true");
  179. fscommand("showmenu","false");
  180. powerup = 0;
  181. enemy = 1;
  182. init = 2;
  183. functions = 3;
  184. datas = 4;
  185. x = 0;
  186. y = 1;
  187. status = 2;
  188. type = 3;
  189. numlevel = 8;
  190. dat = new Object();
  191. dat.level = [];
  192. var i = 0;
  193. while(numlevel - 1 >= i)
  194. {
  195.    dat.level[i] = [];
  196.    dat.level[i][powerup] = [];
  197.    dat.level[i][enemy] = [];
  198.    dat.level[i][init] = [];
  199.    dat.level[i][functions] = [];
  200.    dat.level[i][datas] = [];
  201.    i++;
  202. }
  203. Movieclip.prototype.attach_powerup = function(ID)
  204. {
  205.    C = _root.Clevel - 1;
  206.    var T = dat.level[C][powerup][ID][type];
  207.    _root["level" + (C + 1)].attachMovie(T,T + ID,ID);
  208.    var tempMC = _root["level" + (C + 1)][T + ID];
  209.    tempMC._x = dat.level[C][powerup][ID][0];
  210.    tempMC._y = dat.level[C][powerup][ID][1];
  211.    tempMC.n = ID;
  212.    dat.level[C][powerup][ID][2] = 1;
  213. };
  214. Movieclip.prototype.test = function()
  215. {
  216.    if(hitTest(_root.guy.hit))
  217.    {
  218.       var bottom = hitTest(_root.guy.hit.bottom);
  219.       var top = hitTest(_root.guy.hit.top);
  220.       if(bottom and !top)
  221.       {
  222.          _root.yspeed = 0;
  223.          _root.guy._y = _Y + 1;
  224.          _root.jump = false;
  225.          onthis = true;
  226.       }
  227.       else if(top and !bottom)
  228.       {
  229.          _root.guy._y = _Y + _height + _root.guy.hit._height;
  230.          _root.yspeed *= -1;
  231.       }
  232.       else if(top and bottom)
  233.       {
  234.          if(_root.guy._x < _X)
  235.          {
  236.             _root.guy._x = _X - _width / 2 - _root.guy.hit._width / 2;
  237.          }
  238.          else
  239.          {
  240.             _root.guy._x = _X + _width / 2 + _root.guy.hit._width / 2;
  241.          }
  242.          _root.xspeed *= -1;
  243.       }
  244.    }
  245.    else if(onthis)
  246.    {
  247.       _root.jump = true;
  248.       onthis = false;
  249.    }
  250. };
  251. Movieclip.prototype.movetest = function()
  252. {
  253.    if(hitTest(_root.guy.hit))
  254.    {
  255.       var xscale = _parent._xscale / 100;
  256.       var yscale = _parent._yscale / 100;
  257.       var xspeed = (_X - oldx) * xscale;
  258.       var yspeed = (_Y - oldy) * yscale;
  259.       var global_x = _parent._x + _X * xscale;
  260.       var global_y = _parent._y + _Y * yscale;
  261.       var bottom = hitTest(_root.guy.hit.bottom);
  262.       var top = hitTest(_root.guy.hit.top);
  263.       if(bottom and !top)
  264.       {
  265.          _root.yspeed = 0;
  266.          _root.guy._x += xspeed;
  267.          yspeed >= 0 ? (_root.guy._y = global_y + 1 + yspeed) : (_root.guy._y = global_y + 1);
  268.          _root.jump = false;
  269.          _parent.onthis = true;
  270.       }
  271.       else if(top and !bottom)
  272.       {
  273.          _root.guy._y = global_y + _parent._height + _root.guy.hit._height;
  274.          _root.yspeed *= -1;
  275.          _root.yspeed += yspeed;
  276.       }
  277.       else if(top and bottom)
  278.       {
  279.          if(_root.guy._x < global_x)
  280.          {
  281.             _root.guy._x = global_x - _parent._width / 2 - _root.guy.hit._width / 2 - 2;
  282.          }
  283.          else
  284.          {
  285.             _root.guy._x = global_x + _parent._width / 2 + _root.guy.hit._width / 2 + 2;
  286.          }
  287.          _root.xspeed *= -1;
  288.       }
  289.    }
  290.    else if(_parent.onthis)
  291.    {
  292.       _root.xspeed = xspeed / 2;
  293.       _root.jump = true;
  294.       _parent.onthis = false;
  295.    }
  296.    oldx = _X;
  297.    oldy = _Y;
  298. };
  299. _root.newgame = function()
  300. {
  301.    Clevel = 1;
  302.    gotoAndStop(491);
  303.    lives = 6;
  304.    set_items();
  305.    update(Clevel - 1);
  306.    dat.startTime = getTimer();
  307.    demon_dead = false;
  308.    dat.B_tot = 0;
  309.    dat.B_hit = 0;
  310.    init();
  311.    logData("play");
  312. };
  313. _root.init = function()
  314. {
  315.    livesMC.gotoAndStop(lives + 1);
  316.    xspeed = 0;
  317.    yspeed = 0;
  318.    guy._x = dat.level[Clevel - 1][init][x];
  319.    guy._y = dat.level[Clevel - 1][init][y];
  320.    ammo = 50;
  321.    Uammo();
  322.    jump = true;
  323.    onB = 0;
  324.    dead = false;
  325.    guy.Dright = true;
  326.    guy.NB = 1;
  327.    guy.ping.gotoAndStop("forward");
  328. };
  329. _root.guy.keytest_air = function()
  330. {
  331.    if(_root.trap == false)
  332.    {
  333.       RIGHT = Key.isDown(Key.RIGHT);
  334.       LEFT = Key.isDown(Key.LEFT);
  335.       SPACE = Key.isDown(Key.SPACE);
  336.       SHIFT = Key.isDown(Key.SHIFT);
  337.    }
  338.    else
  339.    {
  340.       RIGHT = false;
  341.       LEFT = false;
  342.       SPACE = false;
  343.       SHIFT = false;
  344.    }
  345.    if(!_root.jump)
  346.    {
  347.       if(SPACE)
  348.       {
  349.          if(!_root.jumpdown)
  350.          {
  351.             !Dright ? ping.gotoAndStop("jumpback") : ping.gotoAndStop("jumpforward");
  352.             _root.jumpdown = true;
  353.             _root.jump = true;
  354.             _root.yspeed = -15;
  355.          }
  356.       }
  357.       else
  358.       {
  359.          _root.jumpdown = false;
  360.       }
  361.    }
  362.    if(!_root.jump)
  363.    {
  364.       if(RIGHT and !LEFT)
  365.       {
  366.          _root.xspeed += 1;
  367.          _X = _X + _root.xspeed;
  368.          ping.gotoAndStop("forward");
  369.          Dright = true;
  370.       }
  371.       else if(LEFT and !RIGHT)
  372.       {
  373.          _root.xspeed -= 1;
  374.          _X = _X + _root.xspeed;
  375.          ping.gotoAndStop("back");
  376.          Dright = false;
  377.       }
  378.       else
  379.       {
  380.          !Dright ? ping.gotoAndStop("stopleft") : ping.gotoAndStop("stopright");
  381.       }
  382.       _root.xspeed *= 0.8;
  383.    }
  384.    else
  385.    {
  386.       if(RIGHT)
  387.       {
  388.          _root.xspeed += 0.7;
  389.       }
  390.       if(LEFT)
  391.       {
  392.          _root.xspeed -= 0.7;
  393.       }
  394.       _root.yspeed += 1;
  395.       _root.xspeed *= 0.95;
  396.       if(16 < _root.yspeed)
  397.       {
  398.          _root.yspeed = 16;
  399.       }
  400.       _Y = _Y + _root.yspeed;
  401.       _X = _X + _root.xspeed;
  402.    }
  403.    if(_root.current == 2)
  404.    {
  405.       if(SHIFT)
  406.       {
  407.          shoot();
  408.       }
  409.    }
  410.    _root.onpad = false;
  411. };
  412. _root.guy.shoot = function()
  413. {
  414.    ping.ping.arm._rotation = 0;
  415.    if(6 >= _root.onB and 1 < _root.ammo)
  416.    {
  417.       _root.ammo--;
  418.       _root.Uammo();
  419.       NB++;
  420.       _root.onB = _root.onB + 1;
  421.       var Bname = "bullet" + NB;
  422.       var MC = _root["B" + _root.Clevel];
  423.       MC.attachMovie("bullet",Bname,NB);
  424.       var temp = MC[Bname];
  425.       if(Dright)
  426.       {
  427.          temp.xpos = _X + 20;
  428.          temp.xspeed = 7 + Math.random();
  429.       }
  430.       else
  431.       {
  432.          temp.xpos = _X - 20;
  433.          temp.xspeed = -7 - Math.random();
  434.       }
  435.       temp.yspeed = (- Math.random()) * 2 - 1;
  436.       temp.ypos = _Y - 13;
  437.    }
  438. };
  439. MovieClip.prototype.bullet_hit = function()
  440. {
  441.    if(!hit)
  442.    {
  443.       yspeed += 0.1;
  444.       _X = _X + xspeed;
  445.       _Y = _Y + yspeed;
  446.       var Tlevel = _root["level" + _root.Clevel];
  447.       if(Tlevel.hitTest(_X,_Y,true))
  448.       {
  449.          _root.dat.B_tot = _root.dat.B_tot + 1;
  450.          var Dlevel = _root.dat.level[_root.Clevel - 1][1];
  451.          hit = true;
  452.          this.gotoAndPlay(4);
  453.          L = Dlevel.length;
  454.          i = 0;
  455.          while(i < L)
  456.          {
  457.             var delv = Dlevel[i];
  458.             var name = delv[3];
  459.             var hitObj = Tlevel[name + i];
  460.             if(hitObj.hitTest(_X,_Y,false))
  461.             {
  462.                _root.dat.B_hit = _root.dat.B_hit + 1;
  463.                delv[4] -= 5;
  464.                hitObj.hit = true;
  465.                if(0 >= delv[4])
  466.                {
  467.                   hitObj.die = true;
  468.                   delv[2] = 0;
  469.                }
  470.             }
  471.             else
  472.             {
  473.                hitObj.hit = false;
  474.             }
  475.             i++;
  476.          }
  477.       }
  478.    }
  479. };
  480. _root.guy.die = function()
  481. {
  482.    if(_root.jump)
  483.    {
  484.       _root.xspeed *= 0.95;
  485.       _root.yspeed += 1;
  486.       _root.yspeed *= 0.95;
  487.    }
  488.    else
  489.    {
  490.       _root.xspeed *= 0.8;
  491.       _root.yspeed *= 0.8;
  492.    }
  493.    _Y = _Y + _root.yspeed;
  494.    _X = _X + _root.xspeed;
  495.    if(Math.abs(_root.xspeed) + Math.abs(_root.yspeed) < 0.01)
  496.    {
  497.       ping.ping.play();
  498.    }
  499. };
  500. _root.restart = function()
  501. {
  502.    if(0 < lives)
  503.    {
  504.       lives--;
  505.       init();
  506.    }
  507.    else
  508.    {
  509.       gotoAndStop(562);
  510.    }
  511. };
  512. Movieclip.prototype.deathcheck = function(xspeed, yspeed)
  513. {
  514.    if(!_root.dead)
  515.    {
  516.       if(this.hitTest(_root.guy.hit))
  517.       {
  518.          if(xspeed != null)
  519.          {
  520.             _root.xspeed = xspeed;
  521.          }
  522.          if(yspeed != null)
  523.          {
  524.             _root.yspeed = yspeed;
  525.          }
  526.          _root.guy.ping.gotoAndStop("die");
  527.          _root.guy._y -= 3;
  528.          _root.dead = true;
  529.          _root.jump = true;
  530.          return true;
  531.       }
  532.    }
  533.    return false;
  534. };
  535. Movieclip.prototype.deathcheck_shape = function(xspeed, yspeed)
  536. {
  537.    var guy_x = _root.guy._x;
  538.    var guy_y = _root.guy._y;
  539.    var guy_height = _root.guy._height;
  540.    if(this.hitTest(_root.guy._x,_root.guy._y,true) and _root.dead == false)
  541.    {
  542.       if(xspeed != null)
  543.       {
  544.          _root.xspeed = xspeed;
  545.       }
  546.       if(yspeed != null)
  547.       {
  548.          _root.yspeed = yspeed;
  549.       }
  550.       _root.guy.ping.gotoAndStop("die");
  551.       _root.guy._y -= 3;
  552.       _root.dead = true;
  553.       _root.jump = true;
  554.       return true;
  555.    }
  556.    return false;
  557. };
  558. Movieclip.prototype.jumpcheck = function(xspeed, yspeed)
  559. {
  560.    if(!_root.dead)
  561.    {
  562.       if(hit.hitTest(_root.guy))
  563.       {
  564.          _root.jump = true;
  565.          if(xspeed != null)
  566.          {
  567.             _root.xspeed = xspeed;
  568.          }
  569.          if(yspeed != null)
  570.          {
  571.             _root.yspeed = yspeed;
  572.          }
  573.          _root.guy._y -= 2;
  574.          if(_root.guy.Dright)
  575.          {
  576.             _root.guy.ping.gotoAndStop("jumpforward");
  577.          }
  578.          else
  579.          {
  580.             _root.guy.ping.gotoAndStop("jumpback");
  581.          }
  582.          play();
  583.       }
  584.    }
  585. };
  586. _root.guy.wrap = function()
  587. {
  588.    if(550 < _X)
  589.    {
  590.       _root.jump = true;
  591.       _root.Clevel = _root.Clevel + 1;
  592.       _root.gotoAndStop("level" + _root.Clevel);
  593.       _X = 1;
  594.       _root.update(_root.Clevel - 1);
  595.       _root.onB = 0;
  596.    }
  597.    else if(_X < 0)
  598.    {
  599.       _root.jump = true;
  600.       _root.Clevel--;
  601.       _root.gotoAndStop("level" + _root.Clevel);
  602.       _X = 549;
  603.       _root.update(_root.Clevel - 1);
  604.       _root.onB = 0;
  605.    }
  606. };
  607. _root.Uammo = function()
  608. {
  609.    ammo >= 1 ? ammo : (ammo = 1);
  610.    100 >= ammo ? ammo : (ammo = 100);
  611.    ammoMC.gotoAndStop(ammo);
  612. };
  613. _root.fpscounter.Q_fps_init = function()
  614. {
  615.    Q = ["LOW","MEDIUM","MEDIUM"];
  616.    CQ = 2;
  617.    _quality = Q[CQ];
  618.    counter = 0;
  619.    time = getTimer();
  620. };
  621. _root.fpscounter.Q_fps = function()
  622. {
  623.    counter++;
  624.    if(1000 < getTimer() - time)
  625.    {
  626.       fps = counter;
  627.       counter = 0;
  628.       time = getTimer();
  629.       if(fps < 25 or 35 < fps)
  630.       {
  631.          if(fps < 25)
  632.          {
  633.             CQ--;
  634.          }
  635.          else if(35 < fps)
  636.          {
  637.             CQ++;
  638.          }
  639.          if(2 < CQ)
  640.          {
  641.             CQ = 2;
  642.          }
  643.          else if(CQ < 0)
  644.          {
  645.             CQ = 0;
  646.          }
  647.          _quality = Q[CQ];
  648.       }
  649.    }
  650. };
  651. Movieclip.prototype.logData = function(action)
  652. {
  653.    var type = filetype();
  654.    var sendStr = "http://www.dpi.nl/site_nl/xtra/Game/stats_total2.asp?id=3&type=" + type + "&action=" + action;
  655.    this.loadVariables(sendStr);
  656. };
  657. Movieclip.prototype.logAction = function(score, level, accu, time)
  658. {
  659.    var sendStr = "http://www.dpi.nl/site_nl/xtra/Game/Polar/stats_game2.asp?level=1&score=" + score + "&deathlevel=" + level + "&name=" + _root.playerName + "&accu=" + accu + "&time=" + time;
  660.    trace(sendStr);
  661.    this.loadVariables(sendStr);
  662. };
  663. Movieclip.prototype.filetype = function()
  664. {
  665.    var url = _root._url;
  666.    var l = url.length;
  667.    var ext = url.substring(l - 3,l);
  668.    return ext;
  669. };
  670. newgame();
  671. stopAllSounds();
  672. stop();
  673.