Advertisement
Nokiyen

yuyuko

Sep 14th, 2014
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 15.78 KB | None | 0 0
  1. ----------
  2. -- Methods for Calculation.
  3. ----------
  4. function reset(p)
  5.   p.unsetColor()
  6.   p.unsetSpeed()
  7.   p.setGravity(0,0,0)
  8.   p.setDelay(0)
  9.   p.setEnd(80)
  10.   p.unsetDamage()
  11.  
  12.   p.setPosition(0,0,0)
  13.   p.setAngle(0,0)
  14.   p.stack()
  15.   p.release()
  16. end
  17.  
  18. function dist(x, y, z)
  19.   return math.sqrt(x*x + y*y + z*z)
  20. end
  21.  
  22. function rotateX(radius, yaw, pitch, rotation)
  23.   local rad1 = math.rad(yaw+90);
  24.   local rad2 = math.rad(pitch);
  25.   local rad3 = math.rad(rotation);
  26.  
  27.   local newX = radius*math.cos(rad2)*math.sin(rad1);
  28.   local newY = radius*(-math.cos(rad2)*math.cos(rad1)*math.sin(rad3) + math.sin(rad2)*math.cos(rad3));
  29.   local newZ = radius*(math.cos(rad2)*math.cos(rad1)*math.cos(rad3) + math.sin(rad2)*math.sin(rad3));
  30.  
  31.   local newPitch = math.asin(newY/radius);
  32. --[[  if newX < 0 then
  33.     newPitch = math.pi-newPitch
  34.   end]]
  35.   local newYaw = math.acos(newZ/(radius*math.cos(newPitch)));
  36.   if newX < 0 then
  37.     newYaw = 0 - newYaw
  38.   end
  39.  
  40.   return math.deg(newYaw-math.pi/2), math.deg(newPitch), newX, newY, newZ
  41. end
  42.  
  43. function rotateY(radius, yaw, pitch, rotation)
  44.   local rad1 = math.rad(yaw+90);
  45.   local rad2 = math.rad(pitch);
  46.   local rad3 = math.rad(rotation);
  47.  
  48.   local newX = radius*
  49.     (math.cos(rad2)*math.cos(rad1)*math.sin(rad3) + math.cos(rad2)*math.sin(rad1)*math.cos(rad3));
  50.   local newY = radius*math.sin(rad2);
  51.   local newZ = radius*
  52.     (math.cos(rad2)*math.cos(rad1)*math.cos(rad3) - math.cos(rad2)*math.sin(rad1)*math.sin(rad3));
  53.  
  54.   local newPitch = math.asin(newY/radius);
  55. --[[  if newX < 0 then
  56.     newPitch = math.pi-newPitch
  57.   end]]
  58.   local newYaw = math.acos(newZ/(radius*math.cos(newPitch)));
  59.   if newX < 0 then
  60.     newYaw = 0 - newYaw
  61.   end
  62.  
  63.   return math.deg(newYaw-math.pi/2), math.deg(newPitch), newX, newY, newZ
  64. end
  65.  
  66. function rotateZ(radius, yaw, pitch, rotation)
  67.   local rad1 = math.rad(yaw+90);
  68.   local rad2 = math.rad(pitch);
  69.   local rad3 = math.rad(rotation);
  70.  
  71.   local newX = radius*(math.cos(rad2)*math.sin(rad1)*math.cos(rad3) - math.sin(rad2)*math.sin(rad3));
  72.   local newY = radius*(math.cos(rad2)*math.sin(rad1)*math.sin(rad3) + math.sin(rad2)*math.cos(rad3));
  73.   local newZ = radius*math.cos(rad2)*math.cos(rad1);
  74.  
  75.   local newPitch = math.asin(newY/radius);
  76. --[[  if newX < 0 then
  77.     newPitch = math.pi-newPitch
  78.   end]]
  79.   local newYaw = math.acos(newZ/(radius*math.cos(newPitch)));
  80.   if newX < 0 then
  81.     newYaw = 0 - newYaw
  82.   end
  83.  
  84.   return math.deg(newYaw-math.pi/2), math.deg(newPitch), newX, newY, newZ
  85. end
  86.  
  87. function fromPolar(radius, yaw, pitch)
  88.   local x = radius*math.cos(math.rad(pitch))*math.sin(math.rad(yaw+90))
  89.   local y = radius*math.sin(math.rad(pitch))
  90.   local z = radius*math.cos(math.rad(pitch))*math.cos(math.rad(yaw+90))
  91.  
  92.   return x, y, z
  93. end
  94.  
  95. function toPolar(x, y, z)
  96.   local radius = dist(x,y,z)
  97.   local pitch = math.asin(y/radius)
  98.   if x < 0 then
  99.     pitch = math.pi-pitch
  100.   end
  101.   local yaw = math.acos(z/(radius*math.cos(pitch)))
  102.   if x < 0 then
  103.     yaw = 0 - yaw
  104.   end
  105.  
  106.   return radius, -1*math.deg(yaw-math.pi/2), -1*math.deg(pitch)
  107. end
  108.  
  109.  
  110. ----------
  111. -- Method for Communicate.
  112. ----------
  113. function checkEnd()
  114.   return rs.getInput("back")
  115. end
  116.  
  117. function goNext(p, msg)
  118.   p.remove(50)
  119.  
  120.   rednet.open("left")
  121.   rednet.send(9, msg)
  122.  
  123.   os.pullEvent("rednet_message")
  124.  
  125.   rednet.close("left")
  126. end
  127.  
  128.  
  129. ----------
  130. -- Methods for Shooting.
  131. ----------
  132. function interval_1(p)
  133.   reset(p)
  134.   p.setSpeed(0.3, 0.3, 0)
  135.   p.setColor(7)
  136.   p.setPosition(2,0,0)
  137.  
  138.   turtle.select(1)
  139.   while true do
  140.     p.shoot()
  141.     sleep(1)
  142.  
  143.     if checkEnd() then
  144.       return
  145.     end
  146.   end
  147. end
  148.  
  149. function spell_1(p)
  150.   p.setGravity(0,0,0)
  151.  
  152.   for k=1, 1000 do
  153.     local dist = 1.5;
  154.  
  155.     local yaw1 = 0
  156.     local pitch1 = 35 * math.pow(-1, (k+1)%2)
  157.     local x1, y1, z1 = fromPolar(dist, yaw1, pitch1)
  158.     local yaw2, pitch2, x2, y2, z2 = rotateX(dist, yaw1, pitch1, 120)
  159.     local yaw3, pitch3, x3, y3, z3 = rotateX(dist, yaw1, pitch1, -120)
  160.  
  161.     turtle.select(4)
  162.     p.setSpeed(0,0,0)
  163.     p.setEnd(200)
  164.     p.setColor(4)
  165.     for i=1, 10 do
  166.       p.stack()
  167.       p.setPosition(x1*i, y1*i, z1*i)
  168.       p.shoot()
  169.       p.setPosition(x2*i, y2*i, z2*i)
  170.       p.shoot()
  171.       p.setPosition(x3*i, y3*i, z3*i)
  172.       p.shoot()
  173.       p.release()
  174.     end
  175.  
  176.     turtle.select(2)
  177.     p.setSpeed(0.1,0.1,0)
  178.     p.setEnd(160)
  179.     p.setColor(4)
  180.     local angle1 = {}
  181.     local angle2 = {}
  182.     for i=1, 10 do
  183.       angle1[i] = math.random(12)
  184.       angle2[i] = math.random(12)
  185.     end
  186.     for i=1, 10 do
  187.       p.stack()
  188.       for j=1, 10 do
  189.         p.setPosition(x1*j, y1*j, z1*j)
  190.         p.setAngle(angle1[j]*30, angle2[j]*30)
  191.         p.shoot()
  192.         p.setPosition(x2*j, y2*j, z2*j)
  193.         p.setAngle(angle1[j]*30, angle2[j]*30)
  194.         p.shoot()
  195.         p.setPosition(x3*j, y3*j, z3*j)
  196.         p.setAngle(angle1[j]*30, angle2[j]*30)
  197.         p.shoot()
  198.       end
  199.       p.release()
  200.       sleep(0.5)
  201.     end
  202.     if checkEnd() then
  203.       return
  204.     end
  205.   end
  206. end
  207.  
  208. function interval_2(p)
  209.   reset(p)
  210.   p.setColor(7)
  211.   p.setPosition(2,0,0)
  212.   turtle.select(1)
  213.  
  214.   while true do
  215.     p.shootSphere(16)
  216.     sleep(1)
  217.     p.shootWide(6, 160)
  218.  
  219.     if checkEnd() then
  220.       return
  221.     end
  222.     sleep(1)
  223.   end
  224. end
  225.  
  226. function spell_2(p)
  227.   reset(p)
  228.  
  229.   while true do
  230.     for i=1, 9 do
  231.       turtle.select(3)
  232.       p.stack()
  233.       p.setSpeed(0.2,0.2,0)
  234.       p.setColor(4)
  235.       p.setAngle(i%2*90,0)
  236.       p.setGravity(0,-0.005,0)
  237.       p.setPosition(3,6,6)
  238.       p.shootSphere(6, 100)
  239.       p.setPosition(3,6,-6)
  240.       p.shootSphere(6, 100)
  241.       p.setPosition(18,6,6)
  242.       p.shootSphere(12, 100)
  243.       p.setPosition(18,6,-6)
  244.       p.shootSphere(6, 100)
  245.       p.setGravity(0,0.005,0)
  246.       p.setPosition(3,-6,6)
  247.       p.shootSphere(6, 100)
  248.       p.setPosition(3,-6,-6)
  249.       p.shootSphere(6, 100)
  250.       p.setPosition(18,-6,6)
  251.       p.shootSphere(6, 100)
  252.       p.setPosition(18,-6,-6)
  253.       p.shootSphere(6, 100)
  254.       p.release()
  255.       if i%3 == 0 then
  256.         p.setColor(1)
  257.         p.unsetSpeed()
  258.         p.setGravity(0,0,0)
  259.         p.setPosition(3,0,0)
  260.         turtle.select(4)
  261.         local flag, angle1, angle2 = p.setAngleToNearestPlayer()
  262.         p.shootWide(6+i%2, 120)
  263.       end
  264.  
  265.       if checkEnd() then
  266.         return
  267.       end
  268.       sleep(0.5)
  269.     end
  270.   end
  271. end
  272.  
  273. function interval_3(p)
  274.   reset(p)
  275.   p.setColor(7)
  276.   p.setPosition(2,0,0)
  277.   turtle.select(1)
  278.  
  279.   while true do
  280.     p.shootCircle(18)
  281.     sleep(1)
  282.     p.shootRing(12, 30)
  283.     sleep(1)
  284.     p.shootRandomRing(6,30)
  285.  
  286.     if checkEnd() then
  287.       return
  288.     end
  289.     sleep(1)
  290.   end
  291. end
  292.  
  293. function spell_3(p)
  294.   reset(p)
  295.  
  296.   while true do
  297.     local x, y, z = p.getPositionOfNearestPlayer()
  298.     p.stack()
  299.     p.setSpeed(0,0,0)
  300.     p.setColor(1)
  301.     turtle.select(3)
  302.     p.stack()
  303.     local flag = math.random(3)
  304.     local angle = math.random(6)
  305.     for i=1, 5 do
  306.       for j=1, 12 do
  307.         local yaw, pitch, addX, addY, addZ
  308.         if flag == 1 then
  309.           yaw, pitch, addX, addY, addZ = rotateX(4,(j-i*2+2)*30,-60+i*20,angle*30)
  310.         elseif flag == 2 then
  311.           yaw, pitch, addX, addY, addZ = rotateY(4,(j-i*2+2)*30,-60+i*20,angle*30)
  312.         else
  313.           yaw, pitch, addX, addY, addZ = rotateZ(4,(j-i*2+2)*30,-60+i*20,angle*30)
  314.         end
  315.         p.setPosition(x+addX+0.5,y+addY+0.5,z+addZ+0.5)
  316.         p.shoot()
  317.       end
  318.     end
  319.     p.release()
  320.  
  321.     p.setSpeed(0.3,0.3,0)
  322.     p.stack()
  323.       p.setPosition(2,8,8)
  324.       turtle.select(3)
  325.       p.setAngleToNearestPlayer()
  326.       p.setColor(4)
  327.       p.shootRing(12, 30)
  328.       turtle.select(10)
  329.       p.setColor(4)
  330.       p.shootRandomRing(5,20)
  331.  
  332.       p.setPosition(2,8,-8)
  333.       turtle.select(3)
  334.       p.setAngleToNearestPlayer()
  335.       p.setColor(4)
  336.       p.shootRing(12, 30)
  337.       turtle.select(10)
  338.       p.setColor(4)
  339.       p.shootRandomRing(5,20)
  340.  
  341.       p.setPosition(2,-8,8)
  342.       turtle.select(3)
  343.       p.setAngleToNearestPlayer()
  344.       p.setColor(4)
  345.       p.shootRing(12, 30)
  346.       turtle.select(10)
  347.       p.setColor(4)
  348.       p.shootRandomRing(5,20)
  349.  
  350.       p.setPosition(2,-8,-8)
  351.       turtle.select(3)
  352.       p.setAngleToNearestPlayer()
  353.       p.setColor(4)
  354.       p.shootRing(12, 30)
  355.       turtle.select(10)
  356.       p.setColor(4)
  357.       p.shootRandomRing(5,20)
  358.     p.release()
  359.  
  360.     if checkEnd() then
  361.       return
  362.     end
  363.     sleep(3)
  364.   end
  365. end
  366.  
  367. --Attainment of Eternal Truth.
  368. function spell_4(p)
  369.   reset(p)
  370.  
  371.   for k=1, 1000 do
  372.     p.setAngle(0,-90)
  373.     p.setSpeed(0.1,0.1,0)
  374.     p.setColor(1)
  375.     p.setEnd(300)
  376.     for i=1, 10 do
  377.       turtle.select(6)
  378.       p.setPosition(math.random(30), -15, math.random(12)*math.pow(-1, math.random(2)))
  379.       p.shoot()
  380.       turtle.select(11)
  381.       p.setPosition(math.random(30), -15, math.random(12)*math.pow(-1, math.random(2)))
  382.       p.shoot()
  383.     end
  384.  
  385.     turtle.select(9)
  386.     p.setColor(0)
  387.     p.setPosition(2,0,0)
  388.     local flag, yaw, pitch = p.setAngleToNearestPlayer()
  389.     p.setSpeed(0,0.7,0.05)
  390.     p.setEnd(80)
  391.     for i=1, 20 do
  392.       p.stack()
  393.         p.setAngle(yaw, pitch)
  394.         p.setPosition(2,0,0)
  395.         p.shoot()
  396.         p.setAngle(yaw, pitch-10)
  397.         p.setGravity(0,0.005,0)
  398.         p.setPosition(2,4*math.sin(math.pi*math.sqrt(i-1)/5),0)
  399.         p.shoot()
  400.         p.setAngle(yaw, pitch+10)
  401.         p.setGravity(0,-0.005,0)
  402.         p.setPosition(2,-4*math.sin(math.pi*math.sqrt(i-1)/5),0)
  403.         p.shoot()
  404.         p.setAngle(yaw+10, pitch)
  405.         p.setGravity(0,0,-0.005)
  406.         p.setPosition(2,0,4*math.sin(math.pi*math.sqrt(i-1)/5))
  407.         p.shoot()
  408.         p.setAngle(yaw-10, pitch)
  409.         p.setGravity(0,0,0.005)
  410.         p.setPosition(2,0,-4*math.sin(math.pi*math.sqrt(i-1)/5))
  411.         p.shoot()
  412.         p.setGravity(0,0,0)
  413.         p.setPosition(-2,0,0)
  414.         if i%3 == 0 then
  415.           turtle.select(10)
  416.           p.setSpeed(0,0.3,0.05)
  417.           p.shootSphere(20)
  418.           p.setSpeed(0,0.7,0.05)
  419.           turtle.select(9)
  420.         end
  421.       p.release()
  422.     end
  423.     if checkEnd() then
  424.       return
  425.     end
  426.   end
  427. end
  428.  
  429. --Curse of Dreams and Reality
  430. function spell_5(p)
  431.   reset(p)
  432.  
  433.   for l=1, 1000 do
  434.     local x = {}
  435.     local y = {}
  436.     local z = {}
  437.     for i=1, 4 do
  438.       x[i] = 3
  439.       y[i] = math.random(5)*math.pow(-1, math.ceil(i/2)) -2
  440.       z[i] = math.random(8)*math.pow(-1, (i%2))
  441.     end
  442.  
  443.     turtle.select(4)
  444.     p.setColor(1)
  445.     p.setPosition(2,0,0)
  446.     p.setEnd(20)
  447.     p.stack()
  448.       for i=1, 4 do
  449.         local a = -1*dist(x[i],y[i],z[i])*2/200
  450.         local v = -1*a*13.5
  451.         local radius, yaw, pitch = toPolar(x[i]-2,y[i],z[i])
  452.         p.setSpeed(v,0,a)
  453.         p.setPosition(2,0,0)
  454.         p.setAngle(yaw, pitch)
  455.         p.shoot()
  456.       end
  457.     p.release()
  458.     sleep(1)
  459.  
  460.     local angle1 = math.random(6)*30
  461.     local angle2 = math.random(6)*30
  462.     p.setSpeed(0.15,0.15,0)
  463.     turtle.select(2)
  464.     p.setColor(2)
  465.     p.setEnd(200)
  466.     for i=1, 2 do
  467.       p.stack()
  468.       p.setPosition(x[(i-2)%4+1],y[(i-2)%4+1],z[(i-2)%4+1])
  469.       local flag, playerYaw, playerPitch = p.setAngleToNearestPlayer()
  470.       for k=1, 4 do
  471.         local yaw, pitch, addX, addY, addZ = rotateY(1,k*90,0,playerYaw)
  472.         yaw, pitch, addX, addY, addZ = rotateZ(1,yaw,pitch,-playerPitch)
  473.         p.setPosition(x[(i-2)%4+1]+addX,y[(i-2)%4+1]+addY,z[(i-2)%4+1]+addZ)
  474.         for j=0, 7 do
  475.           yaw, pitch = rotateY(1,j*45,0,playerYaw)
  476.           yaw, pitch = rotateZ(1,yaw,pitch,playerPitch)
  477.           p.setAngle(yaw, pitch)
  478.           p.shoot()
  479.         end
  480.       end
  481.       p.release()
  482.     end
  483.     turtle.select(6)
  484.     for i=1, 5 do
  485.       for j=1, 2 do
  486.         p.stack()
  487.         p.setPosition(x[j+1],y[j+1],z[j+1])
  488.         local flag, playerYaw, playerPitch = p.setAngleToNearestPlayer()
  489.         p.shoot()
  490.         for k=1, 4 do
  491.           local yaw, pitch, addX, addY, addZ = rotateX(2,0,90,k*90)
  492. --          yaw, pitch, addX, addY, addZ = rotateY(1,yaw,pitch,playerYaw)
  493. --          yaw, pitch, addX, addY, addZ = rotateZ(1,yaw,pitch,-playerPitch)
  494.           p.setPosition(x[j+1]+addX,y[j+1]+addY,z[j+1]+addZ)
  495.           p.setAngleToNearestPlayer()
  496.           p.shoot()
  497.         end
  498.         p.release()
  499.         sleep(0.13)
  500.       end
  501.     end
  502.     if checkEnd() then
  503.       return
  504.     end
  505.     sleep(0.5)
  506.   end
  507. end
  508.  
  509. --Perfect Black-Dyed Cherry Blossom.
  510. function spell_6(p)
  511.   reset(p)
  512.  
  513.   spell_6_sphere(p,0)
  514.   while true do
  515.     for i=1, 3 do
  516.       spell_6_fly(p,4,3)
  517.       spell_6_fly(p,1,4)
  518.     if checkEnd() then
  519.       return
  520.     end
  521.     end
  522.     local flag, yaw, pitch = p.setAngleToNearestPlayer()
  523.     spell_6_sphere(p,-yaw)
  524.   end
  525. end
  526.  
  527. function spell_6_sphere(p, angle)
  528.     reset(p)
  529.  
  530.     turtle.select(4)
  531.     p.setColor(1)
  532.     for i=1, 5 do
  533.       p.stack()
  534.       for j=1, 6 do
  535.         for k=1, 12-(j*2) do
  536.           local yaw, pitch, addX, addY, addZ = rotateY(2,k*(360/(12-j*2)),j*15,angle)
  537.           p.setPosition(addX, addY, addZ)
  538.           p.setAngle(-yaw, -pitch)
  539.           p.shoot()
  540.           p.setPosition(addX, -addY, addZ)
  541.           p.setAngle(-yaw, pitch)
  542.           p.shoot()
  543.         end
  544.       end
  545.       local yaw, pitch, addX, addY, addZ = rotateY(2,0,90,angle)
  546.       p.setPosition(addX, addY, addZ)
  547.       p.setAngle(-yaw, -pitch)
  548.       p.shoot()
  549.       for i=1, 12 do
  550.         local yaw, pitch, addX, addY, addZ = rotateY(2,i*30,0,angle)
  551.         p.setPosition(addX, addY, addZ)
  552.         p.setAngle(-yaw, -pitch)
  553.         p.shoot()
  554.       end
  555.       p.release()
  556.       sleep(0.2)
  557.     end
  558. end
  559.  
  560. function spell_6_petal(p, num)
  561.   reset(p)
  562.  
  563.   turtle.select(6)
  564.   p.setSpeed(0.1,0.1,0)
  565.   p.setColor(0)
  566.   p.setEnd(300)
  567.   p.setAngle(0,90)
  568.   for i=1, num do
  569.     p.setPosition(math.random(30), 15, math.random(12)*math.pow(-1, math.random(2)))
  570.     p.shoot()
  571.   end
  572. end
  573.  
  574. function spell_6_fly(p, color, line)
  575.   spell_6_petal(p,30)
  576.  
  577.   reset(p)
  578.  
  579.   turtle.select(3)
  580.   p.setColor(color)
  581.   p.setSpeed(0,0,0)
  582.   p.setEnd(40)
  583.   local yaw = {}
  584.   local pitch = {}
  585.   local x = {}
  586.   local y = {}
  587.   local z = {}
  588.   for i=1, line do
  589.     yaw[i], pitch[i], x[i], y[i], z[i] = rotateX(2,0,-50,30+(120/(line-1)*(i-1)))
  590.   end
  591.   p.stack()
  592.   for i=1, 10 do
  593.     for j=1, line*2 do
  594.       p.setPosition(x[j%line+1]*i,y[j%line+1]*i,z[j%line+1]*math.pow(-1,math.ceil(j/line))*i)
  595.       p.shoot()
  596.     end
  597.   end
  598.   p.release()
  599.   sleep(1)
  600.  
  601.   spell_6_petal(p,10)
  602.  
  603.   reset(p)
  604.   turtle.select(3)
  605.   p.setColor(color)
  606.   p.setSpeed(0.2,0.2,0)
  607.   p.setEnd(80)
  608.   local flyYaw = {}
  609.   local flyPitch = {}
  610.   for i=1, line*2 do
  611.     flyYaw[i] = {}
  612.     flyPitch[i] = {}
  613.   end
  614.   local flag
  615.   for i=1, 10 do
  616.     if math.random(2) == 1 then
  617.       for j=1, line*2 do
  618.         p.setPosition(x[j%line+1]*i,y[j%line+1]*i,z[j%line+1]*math.pow(-1,math.ceil(j/line))*i)
  619.         flag, flyYaw[j][i], flyPitch[j][i] = p.setAngleToNearestPlayer()
  620.       end
  621.     else
  622.       for j=1, line*2 do
  623.         local dir = 1
  624.         if j < line+1 then
  625.           dir = -1
  626.         end
  627.         flyYaw[j][i] = dir*math.random(6)*30
  628.         flyPitch[j][i] = math.random(3)*math.pow(-1,math.random(2))
  629.       end
  630.     end
  631.   end
  632.  
  633.   for k=1, 3 do
  634.     p.stack()
  635.     for i=1, 10 do
  636.       for j=1, line*2 do
  637.         p.setPosition(x[j%line+1]*i,y[j%line+1]*i,z[j%line+1]*math.pow(-1,math.ceil(j/line))*i)
  638.         p.setAngle(flyYaw[j][i],flyPitch[j][i])
  639.         p.shoot()
  640.       end
  641.     end
  642.     p.release()
  643.     sleep(0.2)
  644.   end
  645.  
  646.   spell_6_petal(p,10)
  647. end
  648.  
  649.  
  650. ----------
  651. -- Main.
  652. ----------
  653. local p = peripheral.wrap("right")
  654. p.setGameMode(1)
  655.  
  656. rednet.open("left")
  657. os.pullEvent()
  658. rednet.close("left")
  659.  
  660. interval_1(p)
  661. goNext(p, "spell1")
  662.  
  663. spell_1(p)
  664. goNext(p, "interval2")
  665.  
  666. interval_2(p)
  667. goNext(p, "spell2")
  668.  
  669. spell_2(p)
  670. goNext(p, "interval3")
  671.  
  672. interval_3(p)
  673. goNext(p, "spell3")
  674.  
  675. spell_3(p)
  676. goNext(p, "spell4")
  677.  
  678. spell_4(p)
  679. goNext(p, "spell5")
  680.  
  681. spell_5(p)
  682. goNext(p, "spell6")
  683.  
  684. spell_6(p)
  685. goNext(p, "finish")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement