home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Diversos / dragon.swf / scripts / DefineSprite_310_ice_ball / frame_1 / DoAction.as
Encoding:
Text File  |  2008-09-12  |  3.8 KB  |  144 lines

  1. function setVelocity(xdelta, ydelta)
  2. {
  3.    vx = xdelta;
  4.    vy = ydelta;
  5. }
  6. function step()
  7. {
  8.    m_flightTime++;
  9.    vy += _parent._parent.g_grav;
  10.    _Y = _Y + vy;
  11.    _X = _X + vx;
  12.    radians = Math.atan(vy / vx);
  13.    if(vx > 0)
  14.    {
  15.       _rotation = radians * 180 / 3.14159;
  16.    }
  17.    else
  18.    {
  19.       _rotation = radians * 180 / 3.14159 + 180;
  20.    }
  21.    if(vx < 0.00001 && vx > -0.00001)
  22.    {
  23.       _rotation = _rotation + 180;
  24.    }
  25.    if(boundaryTimer-- < 0)
  26.    {
  27.       boundaryTimer = 25;
  28.       if(_X < xmin || _X > xmax || _Y > ymax)
  29.       {
  30.          this.unloadMovie();
  31.       }
  32.    }
  33.    if(flameDebrisTimer-- < 0)
  34.    {
  35.       flameDebrisTimer = 0;
  36.       var _loc3_ = _parent._parent.addObj("ice_spark",_parent._parent.debris_layer,_parent._parent.getNextDebrisLevel());
  37.       _loc3_._x = _X;
  38.       _loc3_._y = _Y;
  39.       _loc3_._rotation = random(360);
  40.       _loc3_._xscale = _loc3_._yscale = 30 + rank * 20;
  41.       _loc3_.decayRate = 6;
  42.    }
  43.    testHitEnemies();
  44. }
  45. function testHitEnemies()
  46. {
  47.    var _loc4_ = undefined;
  48.    var _loc5_ = false;
  49.    var _loc3_ = 0;
  50.    while(_loc3_ < _parent._parent.enemies.length && !_loc5_)
  51.    {
  52.       _loc4_ = _parent._parent.enemies[_loc3_];
  53.       if(_loc4_.hitBox.hitTest(_X,_Y,0))
  54.       {
  55.          _loc5_ = true;
  56.          break;
  57.       }
  58.       _loc3_ = _loc3_ + 1;
  59.    }
  60.    if(_loc5_)
  61.    {
  62.       if(_loc4_.etype == "air_ship")
  63.       {
  64.          _parent._parent.woodExplosion(_X,_Y,Math.ceil(rank / 2));
  65.          _loc4_.testHitTroops(this);
  66.       }
  67.       var _loc11_ = 0;
  68.       var _loc8_ = 0;
  69.       var _loc7_ = 0;
  70.       var _loc13_ = true;
  71.       var _loc9_ = "ching2";
  72.       if(_loc4_.etype == "ice")
  73.       {
  74.          _loc8_ = 0;
  75.          _loc11_ = 20;
  76.          _loc7_ = 0;
  77.          _loc9_ = "ching2.wav";
  78.          _loc13_ = false;
  79.       }
  80.       else if(_loc4_.etype == "fire")
  81.       {
  82.          _loc8_ = rank * 4;
  83.          _loc11_ = rank * 30;
  84.          _loc7_ = getFlightBonus(20) + 10;
  85.          _loc9_ = "shoot_rocket.wav";
  86.       }
  87.       else if(_loc4_.etype == "meteor")
  88.       {
  89.          _loc8_ = rank * 2;
  90.          _loc11_ = rank * 10;
  91.          _loc7_ = getFlightBonus(5) + 5;
  92.          _loc9_ = "shoot_rocket.wav";
  93.       }
  94.       else
  95.       {
  96.          _loc8_ = rank * 4;
  97.          _loc11_ = rank * 20;
  98.          _loc7_ = getFlightBonus(10) + 5;
  99.          _loc9_ = "ice_shatter.wav";
  100.          _parent._parent.addSticky("sticky_ice",_loc4_,_X,_Y,20 + rank * 20);
  101.       }
  102.       _parent._parent.playSound(_loc9_);
  103.       _loc4_.takeDamage(_loc8_,_X,_Y);
  104.       var _loc10_ = _parent._parent.addObj("explosion_pow_ice",_parent._parent.debris_layer,_parent._parent.getNextDebrisLevel());
  105.       _loc10_._x = _X;
  106.       _loc10_._y = _Y;
  107.       _loc10_._rotation = random(360);
  108.       _loc10_._xscale = _loc10_._yscale = _loc11_;
  109.       _parent._parent.updateRankIce(_loc7_);
  110.       if(!_loc13_)
  111.       {
  112.          var _loc6_ = _parent._parent.addObj("deflect_ice",_parent._parent.debris_layer,_parent._parent.getNextDebrisLevel());
  113.          _loc6_._x = _X;
  114.          _loc6_._y = _Y;
  115.          var _loc12_ = Math.sqrt(vx * vx + vy * vy) * 0.75;
  116.          var _loc14_ = random(360);
  117.          _loc6_.vx = Math.cos(0.017453292519943295 * _loc14_) * _loc12_;
  118.          _loc6_.vy = Math.sin(0.017453292519943295 * _loc14_) * _loc12_;
  119.          _loc6_._xscale = _loc6_._yscale = _xscale;
  120.          _loc6_.rank = rank;
  121.       }
  122.       this.unloadMovie();
  123.    }
  124. }
  125. function getFlightBonus(amt)
  126. {
  127.    var _loc1_ = m_flightTime / 10;
  128.    if(_loc1_ > 4)
  129.    {
  130.       _loc1_ = 4;
  131.    }
  132.    return Math.ceil(_loc1_ * amt);
  133. }
  134. xmax = _parent._parent.g_width + 10;
  135. ymax = _parent._parent.g_ground + 10;
  136. flameDebrisTimer = 0;
  137. _rotation = random(360);
  138. xmax = _parent._parent.g_width + 50;
  139. xmin = -50;
  140. ymin = -50;
  141. ymax = _parent._parent.g_ground + 50;
  142. boundaryTimer = 50;
  143. var m_flightTime = 0;
  144.