home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Corrida / dragracer.swf / scripts / frame_384 / DoAction.as
Encoding:
Text File  |  2005-10-06  |  9.8 KB  |  373 lines

  1. function GenerateOpponent()
  2. {
  3.    var _loc1_ = _root;
  4.    TMP._wheels.removeMovieClip();
  5.    TMP._wing.removeMovieClip();
  6.    TMP._fkit.removeMovieClip();
  7.    TMP._skit.removeMovieClip();
  8.    TMP._bkit.removeMovieClip();
  9.    TMP._light.removeMovieClip();
  10.    oppcar = new Object();
  11.    BuyCar(oppcar,_loc1_[CARS[Math.floor(Math.random() * CARS.length)]]);
  12.    COLOUR = new Color();
  13.    COLOUR.rb = - Math.floor(Math.random() * 256);
  14.    COLOUR.gb = - Math.floor(Math.random() * 256);
  15.    COLOUR.bb = - Math.floor(Math.random() * 256);
  16.    oppcar.cols = COLOUR;
  17.    oppcar.kscols = COLOUR;
  18.    oppcar.spocols = COLOUR;
  19.    if(level.getValue() != "level1")
  20.    {
  21.       oppcar._fkit = oppcar.NAME add "_FKIT_1";
  22.       oppcar._skit = oppcar.NAME add "_SKIT_1";
  23.       oppcar._bkit = oppcar.NAME add "_BKIT_1";
  24.       oppcar._wing = Math.floor(Math.random() * 14 + 1);
  25.    }
  26.    oppcar._wheels = "WHEEL_" add Math.floor(Math.random() * 16 + 1);
  27.    if(level.getValue() == "level1")
  28.    {
  29.       _loc1_.wager = 500;
  30.    }
  31.    else if(level.getValue() == "level2")
  32.    {
  33.       clevel = 10;
  34.       oppcar.HP += 150;
  35.       oppcar.TQ += 150;
  36.       oppcar.CL = 5;
  37.       oppcar.WT -= 100;
  38.       oppcar.FR = 5;
  39.       _loc1_.wager = 750;
  40.    }
  41.    else if(level.getValue() == "level3")
  42.    {
  43.       clevel = 15;
  44.       oppcar.HP += 300;
  45.       oppcar.TQ += 300;
  46.       oppcar.CL = 5;
  47.       oppcar.WT -= 350;
  48.       oppcar.FR = 3;
  49.       _loc1_.wager = 1000;
  50.    }
  51.    else if(level.getValue() == "level4")
  52.    {
  53.       clevel = 20;
  54.       oppcar.HP += 400;
  55.       oppcar.TQ += 400;
  56.       oppcar.CL = 5;
  57.       oppcar.WT -= 600;
  58.       oppcar.FR = 0;
  59.       _loc1_.wager = 1250;
  60.    }
  61.    else if(level.getValue() == "level5")
  62.    {
  63.       _loc1_.wager = 5000;
  64.       oppcar.HP += 1000;
  65.       oppcar.TQ += 1000;
  66.       oppcar.CL = 5;
  67.       oppcar.WT = 1000;
  68.       oppcar.FR = 0;
  69.    }
  70.    if(oppcar.HP > HPMAX + 250)
  71.    {
  72.       oppcar.HP = HPMAX + 250;
  73.    }
  74.    if(oppcar.TQ > TQMAX + 250)
  75.    {
  76.       oppcar.TQ = TQMAX + 250;
  77.    }
  78.    if(oppcar.CL > CLMAX)
  79.    {
  80.       oppcar.CL = CLMAX;
  81.    }
  82.    if(oppcar.WT < WTMIN - 100)
  83.    {
  84.       oppcar.WT = WTMIN = 100;
  85.    }
  86. }
  87. function NOS()
  88. {
  89.    var _loc1_ = _root;
  90.    cdata = _loc1_.data1;
  91.    stats = _loc1_.car;
  92.    if(stats.NOS - 5 > 0)
  93.    {
  94.       stats.NOS -= 2;
  95.       _loc1_.HUD.NOS.NOS._xscale = stats.NOS / 100 * 100;
  96.       if(cdata.g > 4 && cdata.v / cdata.TopSpeed[cdata.g] > 0.5)
  97.       {
  98.          cdata.a *= 1.3;
  99.          cdata.v += 0.1;
  100.       }
  101.       else
  102.       {
  103.          cdata.a *= 1.01;
  104.       }
  105.    }
  106. }
  107. function GearUp()
  108. {
  109.    if(!Key.isDown(32))
  110.    {
  111.       if(_root.data1.g++ >= 6)
  112.       {
  113.          _root.data1.g = 6;
  114.       }
  115.    }
  116. }
  117. function GearDown()
  118. {
  119.    if(!Key.isDown(32))
  120.    {
  121.       if(_root.data1.g-- <= 1)
  122.       {
  123.          _root.data1.g = 1;
  124.       }
  125.    }
  126. }
  127. function Hydraulics()
  128. {
  129. }
  130. function getAcceler(_cdata, _stats)
  131. {
  132.    var _loc1_ = _cdata;
  133.    var _loc2_ = _stats;
  134.    _loc1_.f = _loc2_.TQ / Math.pow(1.5,_loc1_.g * 2) * (2 - _loc2_.gearRatio[_loc1_.g]);
  135.    return _loc1_.f / _loc2_.WT;
  136. }
  137. function getAccel(_cdata)
  138. {
  139.    var _loc1_ = _cdata;
  140.    _loc1_.a = _loc1_.Accel[_loc1_.g];
  141.    if(_loc1_.v / _loc1_.TopSpeed[_loc1_.g] < 0.25)
  142.    {
  143.       _loc1_.a /= 2;
  144.    }
  145.    else if(_loc1_.v / _loc1_.TopSpeed[_loc1_.g] > 0.9)
  146.    {
  147.       _loc1_.a /= 2;
  148.       HUD.REDLINE.gotoAndStop(2);
  149.    }
  150.    else
  151.    {
  152.       HUD.REDLINE.gotoAndStop(1);
  153.    }
  154. }
  155. function initrace()
  156. {
  157.    var _loc2_ = _root;
  158.    carMC = _loc2_.AUTO;
  159.    stats = _loc2_.car;
  160.    second = 0;
  161.    msecond = 0;
  162.    data1 = new Object();
  163.    data1.v = 0;
  164.    data1.a = 0;
  165.    data1.d = 0;
  166.    data1.f = 0;
  167.    data1.fr = 0;
  168.    data1.ts = 0;
  169.    data1.g = 1;
  170.    hudcol = new Color(_loc2_.HUD.player1map.knob);
  171.    hudcol.setTransform(stats.cols);
  172.    startTime = 0;
  173.    data1.Accel = new Array();
  174.    if(stats._exhaust == "MUFFLER_1")
  175.    {
  176.       bonus = 1.4;
  177.    }
  178.    else if(stats._exhaust == "MUFFLER_2")
  179.    {
  180.       bonus = 1;
  181.    }
  182.    else
  183.    {
  184.       bonus = 0.8;
  185.    }
  186.    var _loc1_ = 1;
  187.    while(_loc1_ <= 6)
  188.    {
  189.       data1.g = _loc1_;
  190.       data1.Accel[_loc1_] = getAcceler(data1,car) * bonus;
  191.       _loc1_ = _loc1_ + 1;
  192.    }
  193.    data1.g = 1;
  194.    if(stats._exhaust == "MUFFLER_3")
  195.    {
  196.       bonus = 15;
  197.    }
  198.    else if(stats._exhaust == "MUFFLER_2")
  199.    {
  200.       bonus = 5;
  201.    }
  202.    else
  203.    {
  204.       bonus = -5;
  205.    }
  206.    data1.TopSpeed = new Array();
  207.    data1.TopSpeed[0] = 0;
  208.    data1.TopSpeed[1] = (15 + bonus) * stats.gearRatio[1];
  209.    data1.TopSpeed[2] = Math.round(25 + Math.sqrt(stats.HP) * 6 / 25 * 4) * stats.gearRatio[2] + bonus;
  210.    data1.TopSpeed[3] = Math.round(25 + Math.sqrt(stats.HP) * 6 / 25 * 9) * stats.gearRatio[3] + bonus;
  211.    data1.TopSpeed[4] = Math.round(25 + Math.sqrt(stats.HP) * 6 / 25 * 16) * stats.gearRatio[4] + bonus;
  212.    data1.TopSpeed[5] = Math.round(25 + Math.sqrt(stats.HP) * 6 / 25 * 25) * stats.gearRatio[5] + bonus;
  213.    data1.TopSpeed[6] = Math.round(25 + Math.sqrt(stats.HP) * 6 / 25 * 36) * stats.gearRatio[6] + bonus;
  214.    _loc2_.HUD.NOS.NOS._yscale = stats.NOS / 100 * 100;
  215.    NOSS = false;
  216.    _loc2_.HUD.mph = "0mph";
  217. }
  218. function race()
  219. {
  220.    var _loc1_ = _root;
  221.    carMC = _loc1_.AUTO;
  222.    stats = _loc1_.car;
  223.    cdata = _loc1_.data1;
  224.    if(NOSS || Key.isDown(78))
  225.    {
  226.       NOS();
  227.    }
  228.    else if(Key.isDown(32))
  229.    {
  230.       getAccel(cdata,stats);
  231.    }
  232.    else
  233.    {
  234.       cdata.a = -0.01;
  235.    }
  236.    carMC._lwheel._rotation += cdata.v * 3;
  237.    carMC._rwheel._rotation += cdata.v * 3;
  238.    cdata.v += cdata.a * 1000 / 60 * 1.7;
  239.    if(cdata.v >= cdata.TopSpeed[cdata.g])
  240.    {
  241.       cdata.v = cdata.TopSpeed[cdata.g] - cdata.TopSpeed[cdata.g] / 10;
  242.    }
  243.    if(cdata.v <= 0)
  244.    {
  245.       cdata.v = 0;
  246.    }
  247.    carMC._rotation = cdata.v / cdata.TopSpeed[cdata.g] * -2.5 + stats.frameangle;
  248.    carMC._neon._rotation = cdata.v / cdata.TopSpeed[cdata.g] * 2.5 + stats.frameangle;
  249.    if(carMC._rotation > -20)
  250.    {
  251.       carMC._lwheel._y = (- Math.sin(carMC._rotation * 3.141592653589793 / 180)) * carMC._frame.LWX._x + carMC._frame.LWX._y;
  252.       carMC._rwheel._y = (- Math.sin(carMC._rotation * 3.141592653589793 / 180)) * carMC._frame.RWX._x + carMC._frame.RWX._y;
  253.       carMC._lcaliper._y = (- Math.sin(carMC._rotation * 3.141592653589793 / 180)) * carMC._frame.LWX._x + carMC._frame.LWX._y;
  254.       carMC._rcaliper._y = (- Math.sin(carMC._rotation * 3.141592653589793 / 180)) * carMC._frame.RWX._x + carMC._frame.RWX._y;
  255.    }
  256.    cdata.d += cdata.v * 0.03;
  257.    msecond += 4;
  258.    if(msecond >= 60)
  259.    {
  260.       msecond = 0;
  261.       second += 1;
  262.    }
  263.    _loc1_.joystick.knob.gear = cdata.g;
  264.    _loc1_.HUD.topspeed = Math.round(cdata.TopSpeed[cdata.g]);
  265.    _loc1_.HUD.speed = Math.round(cdata.v);
  266.    _loc1_.HUD.distance = Math.round(cdata.d);
  267.    _loc1_.HUD.gear = cdata.g;
  268.    _loc1_.HUD.pin._rotation = cdata.v / cdata.TopSpeed[cdata.g] * 180 - 138.8;
  269.    _loc1_.HUD.mph = Math.round(cdata.v) add "mph";
  270.    _loc1_.HUD.speedpin._rotation = cdata.v / 250 * 330 - 164.3;
  271.    _loc1_.HUD.player1map.knob._y = (distance - cdata.d) / distance * 377;
  272.    if(msecond < 10)
  273.    {
  274.       _loc1_.HUD.time = second add ":0" add msecond;
  275.    }
  276.    else
  277.    {
  278.       _loc1_.HUD.time = second add ":" add msecond;
  279.    }
  280.    bg1._x -= cdata.v * 2;
  281.    if(bg1._x <= (- bg1._width) / 2)
  282.    {
  283.       bg1._x = 0;
  284.    }
  285.    bg2._x -= cdata.v * 0.5;
  286.    if(bg2._x <= (- bg2._width) / 2)
  287.    {
  288.       bg2._x = 0;
  289.    }
  290. }
  291. function CPUinit()
  292. {
  293.    var _loc2_ = _root;
  294.    carMC = _loc2_.COMP;
  295.    stats = _loc2_.oppcar;
  296.    data2 = new Object();
  297.    data2.v = 0;
  298.    data2.a = 0;
  299.    data2.d = 0;
  300.    data2.t = 0;
  301.    data2.f = 0;
  302.    data2.fr = 0;
  303.    data2.ts = 0;
  304.    data2.g = 1;
  305.    hudcol = new Color(_loc2_.player2map.knob);
  306.    hudcol.setTransform(stats.cols);
  307.    startTime = 0;
  308.    data2.Accel = new Array();
  309.    var _loc1_ = 1;
  310.    while(_loc1_ <= 6)
  311.    {
  312.       data2.g = _loc1_;
  313.       data2.Accel[_loc1_] = getAcceler(data2,oppcar);
  314.       _loc1_ = _loc1_ + 1;
  315.    }
  316.    data2.g = 1;
  317.    data2.TopSpeed = new Array();
  318.    data2.TopSpeed[1] = 25;
  319.    data2.TopSpeed[2] = Math.round(25 + Math.sqrt(stats.HP) * 6 / 25 * 4);
  320.    data2.TopSpeed[3] = Math.round(25 + Math.sqrt(stats.HP) * 6 / 25 * 9);
  321.    data2.TopSpeed[4] = Math.round(25 + Math.sqrt(stats.HP) * 6 / 25 * 16);
  322.    data2.TopSpeed[5] = Math.round(25 + Math.sqrt(stats.HP) * 6 / 25 * 25);
  323.    data2.TopSpeed[6] = Math.round(25 + Math.sqrt(stats.HP) * 6 / 25 * 36);
  324. }
  325. function CPUrace()
  326. {
  327.    var _loc1_ = _root;
  328.    carMC = _loc1_.COMP;
  329.    stats = _loc1_.oppcar;
  330.    cdata = _loc1_.data2;
  331.    getAccel(_loc1_.data2,_loc1_.oppcar);
  332.    carMC._lwheel._rotation += cdata.v * 3;
  333.    carMC._rwheel._rotation += cdata.v * 3;
  334.    cdata.v += cdata.a * 1000 / 60 * 1.7;
  335.    if(cdata.v / cdata.TopSpeed[cdata.g] >= 0.9)
  336.    {
  337.       cdata.v = cdata.TopSpeed[cdata.g] - cdata.TopSpeed[cdata.g] / 10;
  338.       cdata.g = cdata.g + 1;
  339.       if(cdata.g > 6)
  340.       {
  341.          cdata.g = 6;
  342.       }
  343.    }
  344.    if(cdata.v <= 0)
  345.    {
  346.       cdata.v = 0;
  347.    }
  348.    carMC._rotation = cdata.v / cdata.TopSpeed[cdata.g] * (- cdata.g / 2);
  349.    carMC._neon._rotation = cdata.v / cdata.TopSpeed[cdata.g] * (cdata.g / 2);
  350.    if(carMC._rotation > -20)
  351.    {
  352.       carMC._lwheel._y = (- Math.sin(carMC._rotation * 3.141592653589793 / 180)) * carMC._frame.LWX._x + carMC._frame.LWX._y;
  353.       carMC._rwheel._y = (- Math.sin(carMC._rotation * 3.141592653589793 / 180)) * carMC._frame.RWX._x + carMC._frame.RWX._y;
  354.    }
  355.    cdata.d += cdata.v * 0.03;
  356.    cdata.t += 100;
  357.    carMC._x = (cdata.d - _loc1_.data1.d) * 50 + 90;
  358.    _loc1_.player2map.knob._y = (distance - cdata.d) / distance * 377;
  359.    if(cdata.d > distance)
  360.    {
  361.       _loc1_.gotoAndPlay("LOSE");
  362.    }
  363.    _loc1_.HUD.DISTANCEM.distance = Math.round((_loc1_.data1.d - cdata.d) * 10) / 10;
  364.    if(_loc1_.data1.d - cdata.d < 0)
  365.    {
  366.       _loc1_.HUD.DISTANCEM.gotoAndStop(2);
  367.    }
  368.    else
  369.    {
  370.       _loc1_.HUD.DISTANCEM.gotoAndStop(1);
  371.    }
  372. }
  373.