Guest User

Untitled

a guest
Aug 11th, 2017
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Made by Trung0246, version 1.0
  2.  
  3. function CreateShotZun(x, y, spd1, spd2, angle1, angle2, way, stack, style, graphic, delay) {
  4.   let i;
  5.   let j;
  6.   let mainAngle = 0;
  7.   let mainSpd = spd1;
  8.   alternative (/*Obj_GetValueD(zunObj, "_zun_style_", 0)*/style)
  9.   case (0) { //equal to 1
  10.     i = 1;
  11.     while (i <= stack) {
  12.       mainAngle = angle2 * (way - 1) / 2;
  13.       j = 1;
  14.       while (j <= way) {
  15.         CreateShotA1(
  16.           x,
  17.           y,
  18.           mainSpd,
  19.           mainAngle + angle1,
  20.           graphic,
  21.           delay
  22.         );
  23.         mainAngle -= angle2;
  24.         j ++;
  25.       }
  26.       mainSpd -= ((spd1 - spd2) / (stack - 1));
  27.       i ++;
  28.     }
  29.   }
  30.   case (1) { //equal to 3
  31.     i = 1;
  32.     while (i <= stack) {
  33.         j = 1;
  34.       while (j <= way) {
  35.         CreateShotA1(
  36.           x,
  37.           y,
  38.           mainSpd,
  39.           j * 360 / way + mainAngle + angle1,
  40.           graphic,
  41.           delay
  42.         );
  43.         j ++;
  44.       }
  45.       mainAngle += angle2;
  46.       mainSpd -= ((spd1 - spd2) / (stack - 1));
  47.       i ++;
  48.     }
  49.   }
  50.   case (2) { //unknown for 4, 5, maybe do later
  51.    
  52.   }
  53.   case (3) { //equal to 6?
  54.     i = 1;
  55.     while (i <= stack) {
  56.         j = 1;
  57.       while (j <= way) {
  58.         mainAngle = rand(0, 1) * angle2 - angle2 / 2;
  59.         CreateShotA1(
  60.           x,
  61.           y,
  62.           mainSpd,
  63.           mainAngle + angle1,
  64.           graphic,
  65.           delay
  66.         );
  67.         j ++;
  68.       }
  69.       mainSpd -= ((spd1 - spd2) / (stack - 1));
  70.       i ++;
  71.     }
  72.   }
  73.   case (4) { //equal to 6? (2nd one)
  74.     i = 1;
  75.     while (i <= stack) {
  76.       mainAngle = angle2 * (way - 1) / 2;
  77.       j = 1;
  78.       while (j <= way) {
  79.         mainSpd = rand(0, 1) * spd2 + spd1 - spd2;
  80.         CreateShotA1(
  81.           x,
  82.           y,
  83.           mainSpd,
  84.           mainAngle + angle1,
  85.           graphic,
  86.           delay
  87.         );
  88.         mainAngle -= angle2;
  89.         j ++;
  90.       }
  91.       i ++;
  92.     }
  93.   }
  94.   case (5) { //equal to 7?
  95.     i = 1;
  96.     while (i <= stack) {
  97.         j = 1;
  98.       while (j <= way) {
  99.         mainSpd = rand(0, 1) * spd2 + spd1 - spd2;
  100.         CreateShotA1(
  101.           x,
  102.           y,
  103.           mainSpd,
  104.           j * 360 / way + mainAngle + angle1,
  105.           graphic,
  106.           delay
  107.         );
  108.         j ++;
  109.       }
  110.       mainAngle += angle2;
  111.       i ++;
  112.     }
  113.   }
  114.   case (6) { //equal to 8?
  115.     i = 1;
  116.     while (i <= stack) {
  117.         j = 1;
  118.       while (j <= way) {
  119.         mainAngle = rand(0, 1) * angle2 - angle2 / 2;
  120.         CreateShotA1(
  121.           x,
  122.           y,
  123.           mainSpd,
  124.           mainAngle + angle1,
  125.           graphic,
  126.           delay
  127.         );
  128.         j ++;
  129.       }
  130.       mainSpd = rand(0, 1) * spd2 + spd1 - spd2;
  131.       i ++;
  132.     }
  133.   }
  134.   case (7) { //equal to 8? (2nd one)
  135.     i = 1;
  136.     while (i <= stack) {
  137.         j = 1;
  138.       while (j <= way) {
  139.         mainSpd = rand(0, 1) * spd2 + spd1 - spd2;
  140.         mainAngle = rand(0, 1) * angle2 - angle2 / 2;
  141.         CreateShotA1(
  142.           x,
  143.           y,
  144.           mainSpd,
  145.           mainAngle + angle1,
  146.           graphic,
  147.           delay
  148.         );
  149.         j ++;
  150.       }
  151.       i ++;
  152.     }
  153.   }
  154.   case (8) { //equal to 10
  155.     let tempSpd = 2 * (spd1 - spd2) / (stack - 1);
  156.     let baseAngle = 0;
  157.     i = 1;
  158.     while (i <= way) {
  159.       mainAngle = angle2 * (stack - 1) / 2;
  160.       mainSpd = spd2;
  161.       j = 1;
  162.       while (j <= floor(stack / 2)) {
  163.         CreateShotA1(
  164.           x,
  165.           y,
  166.           mainSpd,
  167.           mainAngle + angle1 + baseAngle,
  168.           graphic,
  169.           delay
  170.         );
  171.         CreateShotA1(
  172.           x,
  173.           y,
  174.           mainSpd,
  175.           -(mainAngle + angle1 + baseAngle) + (angle1) * 2,
  176.           graphic,
  177.           delay
  178.         );
  179.         mainSpd += tempSpd;
  180.         mainAngle -= angle2;
  181.         j ++;
  182.       }
  183.       if (stack % 2 != 0) {
  184.         CreateShotA1(
  185.           x,
  186.           y,
  187.           mainSpd,
  188.           mainAngle + angle1 + baseAngle,
  189.           graphic,
  190.           delay
  191.         );
  192.       }
  193.       baseAngle += 360 / way;
  194.       i ++;
  195.     }
  196.   }
  197.   case (9) { //equal to 11
  198.     let maxSpd = spd1;
  199.     let baseAngle = 0;
  200.     j = 1;
  201.     while (j <= stack) {
  202.       let minSpd = maxSpd * spd2;
  203.       i = 1;
  204.       while (i <= floor(way / 2)) {
  205.                 CreateShotA1(
  206.           x,
  207.           y,
  208.           mainSpd,
  209.           -mainAngle + angle1 + baseAngle,
  210.           graphic,
  211.           delay
  212.         );
  213.         mainAngle += 360 / way;
  214.         mainSpd = sin(360 - mainAngle) * minSpd + maxSpd;
  215.         i ++;
  216.       }
  217.       i = 1;
  218.       while (i <= round(way / 2)) {
  219.         CreateShotA1(
  220.           x,
  221.           y,
  222.           mainSpd,
  223.           -mainAngle + angle1 + baseAngle,
  224.           graphic,
  225.           delay
  226.         );
  227.         mainAngle += 360 / way;
  228.         mainSpd = sin(mainAngle) * minSpd + maxSpd;
  229.         i ++;
  230.       }
  231.       maxSpd -= ((spd1 - spd2) / (stack - 1));
  232.       mainSpd = maxSpd;
  233.       mainAngle = 0;
  234.       baseAngle += angle2;
  235.       j ++;
  236.     }
  237.   }
  238.   case (10) { //equal to 12
  239.     let maxSpd = spd1;
  240.     let baseAngle = 0;
  241.     mainAngle = (360 / (way * 2));
  242.     j = 1;
  243.     while (j <= stack) {
  244.       let minSpd = maxSpd * spd2;
  245.       mainSpd = sin(360 - mainAngle) * minSpd + maxSpd;
  246.       i = 1;
  247.       while (i <= round(way / 2)) {
  248.         CreateShotA1(
  249.           x,
  250.           y,
  251.           mainSpd,
  252.           (mainAngle - baseAngle) + angle1,
  253.           graphic,
  254.           delay
  255.         );
  256.         mainAngle += 360 / way;
  257.         mainSpd = sin(360 - mainAngle) * minSpd + maxSpd;
  258.         i ++;
  259.       }
  260.       mainSpd = sin(mainAngle) * minSpd + maxSpd;
  261.       i = 1;
  262.       while (i <= floor(way / 2)) {
  263.         CreateShotA1(
  264.           x,
  265.           y,
  266.           mainSpd,
  267.           (mainAngle - baseAngle) + angle1,
  268.           graphic,
  269.           delay
  270.         );
  271.         mainAngle += 360 / way;
  272.         mainSpd = sin(mainAngle) * minSpd + maxSpd;
  273.         i ++;
  274.       }
  275.       maxSpd -= ((spd1 - spd2) / (stack - 1));
  276.       mainAngle = (360 / (way * 2));
  277.       baseAngle += angle2;
  278.       j ++;
  279.     }
  280.   }
  281. }
Advertisement
Add Comment
Please, Sign In to add comment