home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Acao / david.swf / scripts / __Packages / UlvBoss.as < prev    next >
Encoding:
Text File  |  2007-03-28  |  12.1 KB  |  439 lines

  1. class UlvBoss extends Figur
  2. {
  3.    var mc;
  4.    var dybde;
  5.    var iLufta;
  6.    var hogrevendt;
  7.    var nesteFrame;
  8.    var brett_y;
  9.    var stigande;
  10.    var topp_y;
  11.    var hogde;
  12.    var i;
  13.    var underlag;
  14.    var brett_x;
  15.    var bredde;
  16.    var skjerm_x;
  17.    var skjerm_y;
  18.    var roligH = 1;
  19.    var roligV = 10;
  20.    var angripH = 20;
  21.    var angripV = 30;
  22.    var angriper = false;
  23.    var speiderH = 20;
  24.    var speiderV = 30;
  25.    var speider = false;
  26.    var hoppar = false;
  27.    var forsteKnockoutH = 160;
  28.    var sisteKnockoutH = 167;
  29.    var forsteFlatH = 170;
  30.    var sisteFlatH = 210;
  31.    var forsteKnockoutV = 160;
  32.    var sisteKnockoutV = 167;
  33.    var forsteFlatV = 170;
  34.    var sisteFlatV = 210;
  35.    var knock = false;
  36.    var flat = false;
  37.    var forsteSlaaH = 80;
  38.    var sisteSlaaH = 110;
  39.    var forsteSlaaV = 120;
  40.    var sisteSlaaV = 150;
  41.    var slaar = false;
  42.    var forsteFlamme = 230;
  43.    var sisteFlamme = 260;
  44.    var flammer = false;
  45.    var liv = 5;
  46.    function UlvBoss(mc, brett_x, brett_y, bredde, hogde)
  47.    {
  48.       super(mc,brett_x,brett_y,bredde,hogde);
  49.       Figur.figurliste.push(this);
  50.       this.mc.swapDepths(4200 + Figur.figurliste.length);
  51.       this.dybde = this.mc.getDepth();
  52.       this.iLufta = true;
  53.       this.aks_y = 0.8;
  54.    }
  55.    function hopp()
  56.    {
  57.       if(!this.hoppar)
  58.       {
  59.          _root.svartulv.start();
  60.          this.hoppar = true;
  61.          this.iLufta = true;
  62.          this.fart_y = -12;
  63.          if(this.hogrevendt)
  64.          {
  65.             this.nesteFrame = this.posisjon = 40;
  66.          }
  67.          else
  68.          {
  69.             this.nesteFrame = this.posisjon = 55;
  70.          }
  71.       }
  72.    }
  73.    function knockout()
  74.    {
  75.       if(!this.knock)
  76.       {
  77.          if(this.flat)
  78.          {
  79.             this.liv -= 1;
  80.             if(this.liv < 1)
  81.             {
  82.                _root.ulveklynk.start();
  83.                this.knock = true;
  84.                this.nesteFrame = this.posisjon = this.forsteKnockoutH;
  85.                this.iLufta = true;
  86.                this.fart_y = 5;
  87.                this.brett_y += 5;
  88.             }
  89.             else
  90.             {
  91.                _root.ulveklynk.start();
  92.                this.knock = true;
  93.                this.nesteFrame = this.posisjon = this.forsteKnockoutH;
  94.                this.flat = false;
  95.                this.iLufta = true;
  96.                this.brett_y -= 10;
  97.                this.fart_y = -5;
  98.             }
  99.          }
  100.          else if(Figur.helt.kraftspark)
  101.          {
  102.             _root.ulveklynk.start();
  103.             this.knock = true;
  104.             this.nesteFrame = this.posisjon = this.forsteKnockoutH;
  105.             this.iLufta = true;
  106.             this.fart_y = -5;
  107.          }
  108.          else
  109.          {
  110.             this.slag();
  111.             Figur.helt.krokknock();
  112.          }
  113.       }
  114.    }
  115.    function flatUt()
  116.    {
  117.       this.flat = true;
  118.       if(this.hogrevendt)
  119.       {
  120.          this.nesteFrame = this.posisjon = this.forsteFlatH;
  121.       }
  122.       else
  123.       {
  124.          this.nesteFrame = this.posisjon = this.forsteFlatV;
  125.       }
  126.    }
  127.    function vedTreff()
  128.    {
  129.       if(Figur.helt.sparkar || Figur.helt.slaar || Figur.helt.stokkeslaar)
  130.       {
  131.          this.knockout();
  132.       }
  133.       else if(!this.slaar && !this.flat && !this.knock)
  134.       {
  135.          Figur.helt.knockout();
  136.          this.fart_y = 0;
  137.          this.slag();
  138.       }
  139.    }
  140.    function slag()
  141.    {
  142.       this.slaar = true;
  143.       _root.ulveknurr.start();
  144.       if(this.hogrevendt)
  145.       {
  146.          this.nesteFrame = this.posisjon = this.forsteSlaaH;
  147.       }
  148.       else
  149.       {
  150.          this.nesteFrame = this.posisjon = this.forsteSlaaV;
  151.       }
  152.    }
  153.    function oppdaterSkjermposisjon()
  154.    {
  155.       if(this.iLufta)
  156.       {
  157.          if(this.fart_y >= 0 && this.stigande)
  158.          {
  159.             this.stigande = false;
  160.          }
  161.          if(!this.stigande)
  162.          {
  163.             this.topp_y = this.brett_y + this.hogde;
  164.          }
  165.          this.brett_y += this.fart_y;
  166.          this.fart_y += this.aks_y;
  167.          if(this.iLufta)
  168.          {
  169.             if(!this.stigande)
  170.             {
  171.                this.i = 0;
  172.                while(this.i < Figur.platformliste.length)
  173.                {
  174.                   if(Figur.platformliste[this.i].treffPlatform(this))
  175.                   {
  176.                      this.underlag = Figur.platformliste[this.i];
  177.                      this.iLufta = false;
  178.                      this.fart_y = 0;
  179.                      this.brett_y = Figur.platformliste[this.i].brett_y - this.hogde;
  180.                      this.hoppar = false;
  181.                      this.slag();
  182.                   }
  183.                   this.i = this.i + 1;
  184.                }
  185.             }
  186.          }
  187.       }
  188.       else if(this.brett_x > this.underlag.brett_x + this.underlag.bredde || this.brett_x + this.bredde < this.underlag.brett_x)
  189.       {
  190.          this.underlag = null;
  191.          this.iLufta = true;
  192.       }
  193.       this.brett_x += this.fart_x;
  194.       this.fart_x = 0;
  195.       this.skjerm_x = this.brett_x + this.offset_x - Speleobjekt.brett.origo_x;
  196.       this.skjerm_y = this.brett_y + this.offset_y - Speleobjekt.brett.origo_y;
  197.    }
  198.    function visRiktigFrame()
  199.    {
  200.       if(!this.aktiv)
  201.       {
  202.          this.bliUsynlig();
  203.       }
  204.       else
  205.       {
  206.          if(this.slaar)
  207.          {
  208.             if(this.hogrevendt)
  209.             {
  210.                if(this.mc._currentframe < this.sisteSlaaH)
  211.                {
  212.                   this.posisjon += 1;
  213.                   this.nesteFrame = this.posisjon;
  214.                }
  215.                else
  216.                {
  217.                   this.nesteFrame = this.posisjon = this.sisteSlaaH;
  218.                   this.slaar = false;
  219.                }
  220.             }
  221.             else if(this.mc._currentframe < this.sisteSlaaV)
  222.             {
  223.                this.posisjon += 1;
  224.                this.nesteFrame = this.posisjon;
  225.             }
  226.             else
  227.             {
  228.                this.nesteFrame = this.posisjon = this.sisteSlaaV;
  229.                this.slaar = false;
  230.             }
  231.          }
  232.          if(!this.iLufta && !this.slaar)
  233.          {
  234.             if(Figur.helt.brett_x < 3050 && Figur.helt.brett_x > 2500 && this.brett_x > 3120)
  235.             {
  236.                if(!this.flammer)
  237.                {
  238.                   this.flammer = true;
  239.                   this.nesteFrame = this.posisjon = this.forsteFlamme;
  240.                   _root.flammeball.start();
  241.                }
  242.             }
  243.             else if(Math.abs(this.brett_x + this.bredde / 2 - (Figur.helt.brett_x + Figur.helt.bredde / 2)) < 250)
  244.             {
  245.                if(Math.abs(this.brett_y + this.hogde - (Figur.helt.brett_y + Figur.helt.hogde)) < 50)
  246.                {
  247.                   if(Math.abs(this.brett_x + this.bredde / 2 - (Figur.helt.brett_x + Figur.helt.bredde / 2)) < 100)
  248.                   {
  249.                      if(!this.slaar && !this.knock && !this.hoppar && !this.iLufta && !this.flat)
  250.                      {
  251.                         this.angriper = true;
  252.                         this.hopp();
  253.                      }
  254.                   }
  255.                   else
  256.                   {
  257.                      this.angriper = false;
  258.                      this.speider = true;
  259.                   }
  260.                }
  261.                else
  262.                {
  263.                   this.angriper = false;
  264.                   this.speider = true;
  265.                }
  266.             }
  267.             else
  268.             {
  269.                this.angriper = false;
  270.                this.speider = false;
  271.             }
  272.          }
  273.          if(this.flammer && !this.slaar)
  274.          {
  275.             if(this.mc._currentframe < this.sisteFlamme)
  276.             {
  277.                this.posisjon += 1;
  278.                if(this.mc._currentframe == this.forsteFlamme + 7)
  279.                {
  280.                   _root.attachMovie("ildball","ball1_mc",1);
  281.                   var _loc3_ = new Ildkule(_root.ball1_mc,this.brett_x - 20,this.brett_y + 40,22,22);
  282.                }
  283.                this.nesteFrame = this.posisjon;
  284.             }
  285.             else
  286.             {
  287.                this.flammer = false;
  288.             }
  289.          }
  290.          else if(!this.knock)
  291.          {
  292.             if(!this.hoppar)
  293.             {
  294.                if(!this.slaar)
  295.                {
  296.                   if(!this.flat)
  297.                   {
  298.                      if(!this.angriper)
  299.                      {
  300.                         if(this.brett_x + this.bredde / 2 > Figur.helt.brett_x + Figur.helt.bredde / 2)
  301.                         {
  302.                            this.hogrevendt = true;
  303.                            this.nesteFrame = this.roligH;
  304.                            if(this.speider)
  305.                            {
  306.                               this.nesteFrame = this.speiderH;
  307.                            }
  308.                         }
  309.                         else
  310.                         {
  311.                            this.hogrevendt = false;
  312.                            this.nesteFrame = this.roligV;
  313.                            if(this.speider)
  314.                            {
  315.                               this.nesteFrame = this.speiderV;
  316.                            }
  317.                         }
  318.                      }
  319.                      else if(this.hogrevendt)
  320.                      {
  321.                         this.nesteFrame = this.speiderH;
  322.                      }
  323.                      else
  324.                      {
  325.                         this.nesteFrame = this.speiderV;
  326.                      }
  327.                   }
  328.                }
  329.             }
  330.          }
  331.       }
  332.       if(this.iLufta && !this.knock && !this.slaar)
  333.       {
  334.          if(this.fart_y < -3)
  335.          {
  336.             if(this.hogrevendt)
  337.             {
  338.                this.nesteFrame = this.posisjon = 41;
  339.             }
  340.             else
  341.             {
  342.                this.nesteFrame = this.posisjon = 56;
  343.             }
  344.          }
  345.          else if(this.fart_y > 3)
  346.          {
  347.             if(this.hogrevendt)
  348.             {
  349.                this.nesteFrame = this.posisjon = 43;
  350.             }
  351.             else
  352.             {
  353.                this.nesteFrame = this.posisjon = 58;
  354.             }
  355.          }
  356.          else if(this.hogrevendt)
  357.          {
  358.             this.nesteFrame = this.posisjon = 42;
  359.          }
  360.          else
  361.          {
  362.             this.nesteFrame = this.posisjon = 57;
  363.          }
  364.          if(Figur.helt.brett_x > this.brett_x && this.brett_x > 2500)
  365.          {
  366.             this.brett_x += 4;
  367.          }
  368.          else if(Figur.helt.brett_x > 3300)
  369.          {
  370.             this.brett_x -= 5;
  371.          }
  372.          else
  373.          {
  374.             this.brett_x -= 4;
  375.          }
  376.       }
  377.       if(this.flat)
  378.       {
  379.          if(!this.hogrevendt)
  380.          {
  381.             if(this.mc._currentframe < this.sisteFlatH)
  382.             {
  383.                this.posisjon += 1;
  384.                this.nesteFrame = this.posisjon;
  385.             }
  386.             else
  387.             {
  388.                this.flat = false;
  389.             }
  390.          }
  391.          else if(this.mc._currentframe < this.sisteFlatV)
  392.          {
  393.             this.posisjon += 1;
  394.             this.nesteFrame = this.posisjon;
  395.          }
  396.          else
  397.          {
  398.             this.flat = false;
  399.          }
  400.       }
  401.       if(this.knock)
  402.       {
  403.          if(!this.hogrevendt)
  404.          {
  405.             if(this.mc._currentframe < this.sisteKnockoutH)
  406.             {
  407.                this.posisjon += 1;
  408.                this.nesteFrame = this.posisjon;
  409.             }
  410.             else if(!this.iLufta)
  411.             {
  412.                this.knock = false;
  413.                this.flatUt();
  414.             }
  415.             else
  416.             {
  417.                this.nesteFrame = this.sisteKnockoutH;
  418.             }
  419.          }
  420.          else if(this.mc._currentframe < this.sisteKnockoutV)
  421.          {
  422.             this.posisjon += 1;
  423.             this.nesteFrame = this.posisjon;
  424.             this.brett_x += 5;
  425.          }
  426.          else if(!this.iLufta)
  427.          {
  428.             this.knock = false;
  429.             this.flatUt();
  430.          }
  431.          else
  432.          {
  433.             this.nesteFrame = this.sisteKnockoutV;
  434.             this.brett_x += 5;
  435.          }
  436.       }
  437.    }
  438. }
  439.