home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 56 / CDPowerplay56Disc2.iso / demos / blade / data1.cab / Program_Executable_Files / Scripts / InitParticleSystems.py < prev    next >
Encoding:
Text File  |  2000-10-27  |  24.9 KB  |  1,086 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8. def Init():
  9.  
  10.     import math
  11.     import Bladex
  12.     import Reference
  13.  
  14.  
  15.  
  16.     Bladex.ReadBitMap("..\\..\\Data\\FirePrtl.bmp","FireParticle")
  17.     Bladex.ReadBitMap("..\\..\\Data\\Glow.bmp","Glow")
  18.     Bladex.ReadBitMap("..\\..\\Data\\SunFlare.bmp","SunFlare")
  19.     Bladex.ReadBitMap("..\\..\\Data\\BloodPrtl.bmp","BloodParticle")
  20.     Bladex.ReadAlphaBitMap("..\\..\\Data\\BloodDropPrtl.bmp","BloodDropParticle")
  21.     Bladex.ReadAlphaBitMap("..\\..\\Data\\GenericPrtl.bmp","GenericParticle")
  22.     Bladex.ReadAlphaBitMap("..\\..\\Data\\GenericPrtl2.bmp","GenericParticle2")
  23.     Bladex.ReadAlphaBitMap("..\\..\\Data\\SmokePrtl.bmp","SmokeParticle")
  24.     Bladex.ReadAlphaBitMap("..\\..\\Data\\SmokePrtl2.bmp","SmokeParticle2")
  25.     Bladex.ReadAlphaBitMap("..\\..\\Data\\Flare magico 128.BMP","MagicFlare128")
  26.     Bladex.ReadAlphaBitMap("..\\..\\Data\\Water.bmp","WaterParticle")
  27.     Bladex.ReadAlphaBitMap("..\\..\\Data\\Water2.bmp","WaterParticle2")
  28.     Bladex.ReadAlphaBitMap("..\\..\\Data\\Estrellita2.bmp","StarParticle")
  29.  
  30.  
  31.     ##### Miguillas Particle definition ######
  32.     Bladex.AddParticleGType("Miguillas","GenericParticle",Reference.B_PARTICLE_GTYPE_BLEND,32)
  33.  
  34.     for i in range(32):
  35.         traux=(32.0-i)/32.0
  36.         if(i>16):
  37.             aux=0.0
  38.         else:
  39.             aux=(16.0-i)/16.0
  40.         r=90
  41.         g=70
  42.         b=60
  43.         a=255*(1.0-traux)
  44.         size=20.0*(1.0-aux)
  45.         Bladex.SetParticleGVal("Miguillas",i,r,g,b,a,size)
  46.  
  47.     ##### GreenFire Particle definition ######
  48.     Bladex.AddParticleGType("GreenFire","FireParticle",Reference.B_PARTICLE_GTYPE_ADD,31)
  49.  
  50.     for i in range(32):
  51.         if(i>16):
  52.             aux=0.0
  53.         else:
  54.             aux=(16.0-i)/16.0
  55.         r=10
  56.         g=205
  57.         b=150+105*aux
  58.         a=255.0*(1.0-aux)
  59.         size=150.0-(aux**2.0)*120.0
  60.         Bladex.SetParticleGVal("GreenFire",i,r,g,b,a,size)
  61.  
  62.  
  63.     ##### VenomSmoke Particle definition ######
  64.     Bladex.AddParticleGType("VenomSmoke","SmokeParticle",Reference.B_PARTICLE_GTYPE_BLEND,95)
  65.  
  66.     for i in range(96):
  67.         aux=(96.0-i)/96.0
  68.         r=64
  69.         g=128
  70.         b=64
  71.         a=255.0*math.sqrt(1.0-aux)
  72.         size=40.0+aux*200.0
  73.         Bladex.SetParticleGVal("VenomSmoke",i,r,g,b,a,size)
  74.  
  75.     ##### Fire Particle definition ######
  76.  
  77.     Bladex.AddParticleGType("Fire","FireParticle",Reference.B_PARTICLE_GTYPE_ADD,31)
  78.  
  79.     for i in range(32):
  80.         if(i>16):
  81.             aux=0.0
  82.         else:
  83.             aux=(16.0-i)/16.0
  84.         r=255
  85.         g=min(300.0*(1.0-aux*aux)+148,255.0)
  86.         b=min(255.0*(1.0-aux)+80,255.0)
  87.         a=min(255.0*(1.0-aux),255.0)
  88.         size=80.0+math.sqrt(1.0-aux)*70.0
  89.         Bladex.SetParticleGVal("Fire",i,r,g,b,a,size)
  90.  
  91.         
  92.     ##### Large Fire Particle definition ######
  93.  
  94.     Bladex.AddParticleGType("LargeFire","FireParticle",Reference.B_PARTICLE_GTYPE_ADD,31)
  95.  
  96.     for i in range(32):
  97.         if(i>16):
  98.             aux=0.0
  99.         else:
  100.             aux=(16.0-i)/16.0
  101.         r=255
  102.         g=min(300.0*(1.0-aux*aux)+35,255.0)
  103.         b=min(255.0*(1.0-aux)+20,255.0) 
  104.         a=min(200.0*(1.0-aux),255.0)
  105.         size=130.0+math.sqrt(1.0-aux)*110.0
  106.         Bladex.SetParticleGVal("LargeFire",i,r,g,b,a,size)
  107.  
  108.  
  109.     ##### Big Fire Particle definition ######
  110.  
  111.     Bladex.AddParticleGType("BigFire","FireParticle",Reference.B_PARTICLE_GTYPE_ADD,31)
  112.  
  113.     for i in range(32):
  114.         if(i>16):
  115.             aux=0.0
  116.         else:
  117.             aux=(16.0-i)/16.0
  118.         r=255
  119.         g=min(300.0*(1.0-aux*aux)+35,255.0)
  120.         b=min(255.0*(1.0-aux)+20,255.0) 
  121.         a=min(200.0*(1.0-aux),255.0)
  122.         size=275.0+math.sqrt(1.0-aux)*110.0
  123.         Bladex.SetParticleGVal("BigFire",i,r,g,b,a,size)
  124.  
  125.  
  126.     ##### Blood Particle definition ######
  127.  
  128.     Bladex.AddParticleGType("Blood","BloodParticle",Reference.B_PARTICLE_GTYPE_MUL,32)
  129.  
  130.     for i in range(32):
  131.         if(i>16):
  132.             aux=0.0
  133.         else:
  134.             aux=(16.0-i)/16.0
  135.         r=255
  136.         g=255
  137.         b=255
  138.         a=0
  139.         size=20.0*(1.0-aux)+2.0
  140.         Bladex.SetParticleGVal("Blood",i,r,g,b,a,size)
  141.  
  142.     ##### GreenBlood Particle definition ######
  143.  
  144.     Bladex.AddParticleGType("GreenBlood","GenericParticle",Reference.B_PARTICLE_GTYPE_COPY,128)
  145.  
  146.     for i in range(128):
  147.         if(i>64):
  148.             aux=0.0
  149.         else:
  150.             aux=(64.0-i)/64.0
  151.         r=8
  152.         g=16
  153.         b=8
  154.         a=128
  155.         size=20.0*(1.0-aux)+2.0
  156.         Bladex.SetParticleGVal("GreenBlood",i,r,g,b,a,size)
  157.  
  158.     ##### GreyBlood Particle definition ######
  159.  
  160.  
  161.     Bladex.AddParticleGType("GreyBlood","BloodParticle",Reference.B_PARTICLE_GTYPE_MUL,32)
  162.  
  163.     for i in range(32):
  164.         if(i>16):
  165.             aux=0.0
  166.         else:
  167.             aux=(16.0-i)/16.0
  168.         r=100
  169.         g=100
  170.         b=100
  171.         a=0
  172.         size=20.0*(1.0-aux)+2.0
  173.         Bladex.SetParticleGVal("GreyBlood",i,r,g,b,a,size)
  174.  
  175.  
  176.     ##### Splinter Particle definition ######
  177.  
  178.     Bladex.AddParticleGType("Splinter","GenericParticle",Reference.B_PARTICLE_GTYPE_BLEND,16)
  179.  
  180.     for i in range(16):
  181.         if(i>8):
  182.             aux=0.0
  183.         else:
  184.             aux=(8.0-i)/8.0
  185.         r=190
  186.         g=150
  187.         b=50
  188.         a=255*(1.0-aux)
  189.         size=10.0*(1.0-aux)
  190.         Bladex.SetParticleGVal("Splinter",i,r,g,b,a,size)
  191.  
  192.  
  193.     ##### Smoke Particle definition ######
  194.  
  195.     Bladex.AddParticleGType("Smoke","SmokeParticle",Reference.B_PARTICLE_GTYPE_BLEND,64)
  196.  
  197.     for i in range(64):
  198.         aux=(64.0-i)/64.0
  199.         r=255
  200.         g=255
  201.         b=255 
  202.         a=255.0*math.sqrt(1.0-aux)
  203.         size=50.0+aux*300.0
  204.         Bladex.SetParticleGVal("Smoke",i,r,g,b,a,size)
  205.  
  206.     ##### Dark Smoke Particle definition ######
  207.     duration=96
  208.     Bladex.AddParticleGType("DarkSmoke","SmokeParticle2",Reference.B_PARTICLE_GTYPE_BLEND,duration)
  209.     #import pdb
  210.     #pdb.set_trace()
  211.     for i in range(duration):
  212.         if(i>duration/2):
  213.             aux=0.0
  214.         else:
  215.             aux=(duration/2.0-i)/(duration/2.0)
  216.         r=5
  217.         g=3
  218.         b=4
  219.         a=255.0*math.sqrt(1.0-aux)
  220.         size=300.0-(aux**2.0)*240.0
  221.         Bladex.SetParticleGVal("DarkSmoke",i,r,g,b,a,size)
  222.  
  223.     ##### Flame Particle definition #####
  224.  
  225.     Bladex.AddParticleGType("Flame","FireParticle",Reference.B_PARTICLE_GTYPE_ADD,21)
  226.  
  227.     for i in range(21):
  228.         if i>=14:
  229.             aux=1.0/3.0+2*(21.0-i)/21.0 #va de 1/3 a 1
  230.             caux=(21.0-i)/21.0 #va de 0 a 1/3
  231.             saux=3.0*(21.0-i)/21.0 #va de 0 a 1
  232.         elif i>7 and i<14:
  233.             aux=1.0
  234.             caux=1.0/3.0
  235.             saux=1.0
  236.         else:
  237.             aux=1.0-((7.0-i)/7.0) #va de 1 a 0
  238.             caux=1.0/3.0
  239.             saux=1.0-2*((7.0-i)/7.0) #va de 1 a -1
  240.         r=155.0*3.0*caux
  241.         g=155.0*3.0*caux
  242.         b=min(255*(1.0-2.0*caux), 255.0)
  243.         a=100.0*aux
  244.         size=300.0+200.0*saux
  245.         Bladex.SetParticleGVal("Flame",i,r,g,b,a,size)
  246.  
  247.     ##### LargeFlame Particle definition #####
  248.  
  249.     Bladex.AddParticleGType("LargeFlame","FireParticle",Reference.B_PARTICLE_GTYPE_ADD,21)
  250.  
  251.     for i in range(21):
  252.         if i>=14:
  253.             aux=1.0/3.0+2*(21.0-i)/21.0 #va de 1/3 a 1
  254.             caux=(21.0-i)/21.0 #va de 0 a 1/3
  255.             saux=3.0*(21.0-i)/21.0 #va de 0 a 1
  256.         elif i>7 and i<14:
  257.             aux=1.0
  258.             caux=1.0/3.0
  259.             saux=1.0
  260.         else:
  261.             aux=1.0-((7.0-i)/7.0) #va de 1 a 0
  262.             caux=1.0/3.0
  263.             saux=1.0-2*((7.0-i)/7.0) #va de 1 a -1
  264.         r=155.0*3.0*caux
  265.         g=155.0*3.0*caux
  266.         b=min(255*(1.0-2.0*caux), 255.0)
  267.         a=100.0*aux
  268.         size=900.0+600.0*saux
  269.         Bladex.SetParticleGVal("LargeFlame",i,r,g,b,a,size)
  270.  
  271.     ##### DemonShield Particle definition #####
  272.  
  273.     Bladex.AddParticleGType("DemonShield","MagicFlare128",Reference.B_PARTICLE_GTYPE_BLEND,128)
  274.  
  275.     for i in range(128):
  276.         """
  277.         if i>=14:
  278.             aux=1.0/3.0+2*(21.0-i)/21.0 #va de 1/3 a 1
  279.             caux=(21.0-i)/21.0 #va de 0 a 1/3
  280.             saux=3.0*(21.0-i)/21.0 #va de 0 a 1
  281.             a=50.0*aux
  282.             size=300.0+200.0*saux
  283.  
  284.         elif i>7 and i<14:
  285.             aux=1.0
  286.             caux=1.0/3.0
  287.             saux=1.0
  288.             a=50.0*aux
  289.             size=300.0+200.0*saux
  290.         """
  291.         if i <= 21.0:
  292.             aux=1.0-((7.0-i)/7.0) #va de 1 a 0
  293.             caux=1.0/3.0
  294.             saux=1.0-2*((7.0-i)/7.0) #va de 1 a -1
  295.             a=50.0*aux
  296.             size=300.0+200.0*saux
  297.  
  298.         else:
  299.             aux=(128.0-i)/128.0
  300.             if i>64:
  301.                 traux=0.0
  302.             else:
  303.                 traux=(64.0-i)/64.0
  304.             
  305.             a=100.0*(1.0-traux)**0.5
  306.             size=3.0+aux*300.0
  307.                 
  308.         r=max(0.0, min(255*(1.0-2.0*caux), 255.0))
  309.         g=max(0.0, min(255*(1.0-2.0*caux), 255.0))
  310.         b=max(0.0, min(155.0*3.0*caux, 255.0))
  311.         Bladex.SetParticleGVal("DemonShield",i,r,g,b,a,size)
  312.  
  313.  
  314.     ##### Sand Particle definition #####
  315.  
  316.     Bladex.AddParticleGType("Sand","GenericParticle",Reference.B_PARTICLE_GTYPE_BLEND,32)
  317.  
  318.     for i in range(32):
  319.         traux=(32.0-i)/32.0
  320.         if(i>16):
  321.             aux=0.0
  322.         else:
  323.             aux=(16.0-i)/16.0
  324.         r=90
  325.         g=70
  326.         b=60
  327.         a=255*(1.0-traux)
  328.         size=10.0*(1.0-aux)
  329.         Bladex.SetParticleGVal("Sand",i,r,g,b,a,size)
  330.  
  331.  
  332.     ##### Dust Particle definition #####
  333.  
  334.     Bladex.AddParticleGType("Dust","SmokeParticle",Reference.B_PARTICLE_GTYPE_BLEND,64)
  335.  
  336.     for i in range(64):
  337.         if i>32:
  338.             traux=0.0
  339.         else:
  340.             traux=(32.0-i)/32.0
  341.         aux=(64.0-i)/64.0
  342.         r=255
  343.         g=230
  344.         b=210
  345.         a=100.0*(1.0-traux)**0.5
  346.         size=1.0+aux*350.0
  347.         Bladex.SetParticleGVal("Dust",i,r,g,b,a,size)
  348.  
  349.  
  350.     ##### Large Dust Particle definition #####
  351.  
  352.     Bladex.AddParticleGType("LargeDust","SmokeParticle",Reference.B_PARTICLE_GTYPE_BLEND,128)
  353.  
  354.     for i in range(128):
  355.         if i>64:
  356.             traux=0.0
  357.         else:
  358.             traux=(64.0-i)/64.0
  359.         aux=(128.0-i)/128.0
  360.         r=255
  361.         g=230
  362.         b=210
  363.         a=150.0*(1.0-traux)**0.5
  364.         size=10.0+aux*1200.0
  365.         Bladex.SetParticleGVal("LargeDust",i,r,g,b,a,size)
  366.  
  367.  
  368.     ##### Medium Dust Particle definition #####
  369.  
  370.     Bladex.AddParticleGType("MediumDust","SmokeParticle",Reference.B_PARTICLE_GTYPE_BLEND,128)
  371.  
  372.     for i in range(128):
  373.         if i>64:
  374.             traux=0.0
  375.         else:
  376.             traux=(64.0-i)/64.0
  377.         aux=(128.0-i)/128.0
  378.         r=255
  379.         g=230
  380.         b=210
  381.         a=150.0*(1.0-traux)**0.5
  382.         size=4.0+aux*400.0
  383.         Bladex.SetParticleGVal("MediumDust",i,r,g,b,a,size)
  384.  
  385.     ##### Venom Particle definition ######
  386.  
  387.     duration=32
  388.     max_opacity=180.0
  389.     Bladex.AddParticleGType("Venom","GenericParticle",Reference.B_PARTICLE_GTYPE_BLEND,duration)
  390.     #import pdb
  391.     #pdb.set_trace()
  392.     for i in range(duration):
  393.         if(i>duration/2):
  394.             aux=0.0
  395.         else:
  396.             aux=(duration/2.0-i)/(duration/2.0)
  397.         r=0
  398.         g=5
  399.         b=0
  400.         a=max_opacity-(max(0,i-duration/2.0)*max_opacity)
  401.         #a= MAX(0, (16.0-i)/16.0)   MIN (1.0, i-16.0     )
  402.         #a=180
  403.         size=30.0*(1.0-aux)+2.0
  404.         Bladex.SetParticleGVal("Venom",i,r,g,b,a,size)
  405.         
  406.     ##### Vomit Particle definition ######
  407.  
  408.     duration=32
  409.     max_opacity=180.0
  410.     Bladex.AddParticleGType("Vomit","SmokeParticle",Reference.B_PARTICLE_GTYPE_BLEND,duration)
  411.     #import pdb
  412.     #pdb.set_trace()
  413.     for i in range(duration):
  414.         if(i>duration/2):
  415.             aux=0.0
  416.         else:
  417.             aux=(duration/2.0-i)/(duration/2.0)
  418.         r=180
  419.         g=255
  420.         b=180
  421.         a=max_opacity-(max(0,i-duration/2.0)*max_opacity)
  422.         #a= MAX(0, (16.0-i)/16.0)   MIN (1.0, i-16.0     )
  423.         #a=180
  424.         size=30.0*(1.0-aux)+2.0
  425.         Bladex.SetParticleGVal("Vomit",i,r,g,b,a,size)
  426.         
  427.     ##### Demon energy Particle definition ######
  428.     Bladex.AddParticleGType("Energia3","GenericParticle",Reference.B_PARTICLE_GTYPE_ADD,80)
  429.  
  430.     for i in range(80):
  431.         if i>60:
  432.             traux=1-((i-60.0)/20.0) #va de 0 a 1
  433.         elif i<20:
  434.             traux=i/20.0 #va de 1 a 0
  435.         else:
  436.             traux=1.0
  437.         r=255
  438.         g=80
  439.         b=100
  440.         a=255.0*traux
  441.         size=20.0
  442.         Bladex.SetParticleGVal("Energia3",i,r,g,b,a,size)
  443.  
  444.     ##### Fiery Invocation Particle definition ######
  445.     Bladex.AddParticleGType("FuegoInvocacion","FireParticle",Reference.B_PARTICLE_GTYPE_ADD,120)
  446.  
  447.     for i in range(120):
  448.         if i<40:
  449.             traux=i/40.0 #va de 1 a 0
  450.         else:
  451.             traux=1.0
  452.         r=150
  453.         g=100
  454.         b=255
  455.         a=255.0*traux
  456.         size=400.0
  457.         Bladex.SetParticleGVal("FuegoInvocacion",i,r,g,b,a,size)
  458.  
  459.  
  460.     ##### Energy concentration
  461.  
  462.     Bladex.AddParticleGType("EnergyConc","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,60)
  463.  
  464.     for i in range(60):
  465.         if i>10:
  466.             traux=(60.0-i)/50.0 #va de 0 a 1
  467.         else:
  468.             traux=i/10.0 #va de 1 a 0
  469.         r=100
  470.         g=130
  471.         b=255
  472.         a=255.0*traux
  473.         size=20.0+250.0*(1-i/60.0)**2.0
  474.         Bladex.SetParticleGVal("EnergyConc",i,r,g,b,a,size)
  475.  
  476.  
  477.     ##### Energy dissipation
  478.  
  479.     Bladex.AddParticleGType("EnergyDissip","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,60)
  480.  
  481.     for i in range(60):
  482.         if i>50:
  483.             traux=(60.0-i)/10.0 #va de 0 a 1
  484.         else:
  485.             traux=i/50.0 #va de 1 a 0
  486.         r=100
  487.         g=130
  488.         b=255
  489.         a=255.0*traux
  490.         size=20.0+250.0*(1-(1-i/60.0)**0.5)
  491.         Bladex.SetParticleGVal("EnergyDissip",i,r,g,b,a,size)
  492.  
  493.  
  494.     ##### Little Energy dissipation
  495.  
  496.     Bladex.AddParticleGType("LittleEnergyDissip","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  497.  
  498.     for i in range(30):
  499.         if i>25:
  500.             traux=(30.0-i)/5.0 #va de 0 a 1
  501.         else:
  502.             traux=i/25.0 #va de 1 a 0
  503.         r=100
  504.         g=130
  505.         b=255
  506.         a=255.0*traux
  507.         size=250.0*(1-(1-i/30.0)**0.5)
  508.         Bladex.SetParticleGVal("LittleEnergyDissip",i,r,g,b,a,size)
  509.  
  510.  
  511.     ##### Blue Magic Missile
  512.  
  513.     Bladex.AddParticleGType("BlueMagicMissile","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  514.  
  515.     for i in range(30):
  516.         if i>25:
  517.             traux=(30.0-i)/5.0 #va de 0 a 1
  518.         else:
  519.             traux=i/25.0 #va de 1 a 0
  520.         r=100
  521.         g=130
  522.         b=255
  523.         a=255.0*traux
  524.         size=340.0*(1-(1-i/30.0)**0.5)
  525.         Bladex.SetParticleGVal("BlueMagicMissile",i,r,g,b,a,size)
  526.  
  527.  
  528.     ##### Fast Blue Energy concentration
  529.  
  530.     Bladex.AddParticleGType("FastEnergyConc","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  531.  
  532.     for i in range(30):
  533.         if i>5:
  534.             traux=(30.0-i)/25.0 #va de 0 a 1
  535.         else:
  536.             traux=i/5.0 #va de 1 a 0
  537.         r=100
  538.         g=130
  539.         b=255
  540.         a=255.0*traux
  541.         size=10.0+150.0*(1-i/30.0)**2.0
  542.         Bladex.SetParticleGVal("FastEnergyConc",i,r,g,b,a,size)
  543.  
  544.  
  545.     ##### Red Magic Missile
  546.  
  547.     Bladex.AddParticleGType("RedMagicMissile","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  548.  
  549.     for i in range(30):
  550.         if i>25:
  551.             traux=(30.0-i)/5.0 #va de 0 a 1
  552.         else:
  553.             traux=i/25.0 #va de 1 a 0
  554.         r=255
  555.         g=130
  556.         b=100
  557.         a=255.0*traux
  558.         size=340.0*(1-(1-i/30.0)**0.5)
  559.         Bladex.SetParticleGVal("RedMagicMissile",i,r,g,b,a,size)
  560.  
  561.  
  562.     ##### Fast Red Energy concentration
  563.  
  564.     Bladex.AddParticleGType("FastRedEnergyConc","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  565.  
  566.     for i in range(30):
  567.         if i>5:
  568.             traux=(30.0-i)/25.0 #va de 0 a 1
  569.         else:
  570.             traux=i/5.0 #va de 1 a 0
  571.         r=255
  572.         g=130
  573.         b=100
  574.         a=255.0*traux
  575.         size=10.0+150.0*(1-i/30.0)**2.0
  576.         Bladex.SetParticleGVal("FastRedEnergyConc",i,r,g,b,a,size)
  577.  
  578.  
  579.     ##### Deep Red Energy concentration
  580.  
  581.     Bladex.AddParticleGType("DeepRedEnergyConc","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,60)
  582.  
  583.     for i in range(60):
  584.         if i>10:
  585.             traux=(60.0-i)/50.0 #va de 0 a 1
  586.         else:
  587.             traux=i/10.0 #va de 1 a 0
  588.         r=255
  589.         g=50
  590.         b=40
  591.         a=255.0*traux
  592.         size=320.0*(1-i/60.0)**2.0
  593.         Bladex.SetParticleGVal("DeepRedEnergyConc",i,r,g,b,a,size)
  594.  
  595.  
  596.     ##### Deep Red Magic Missile
  597.  
  598.     Bladex.AddParticleGType("DeepRedMagicMissile","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  599.  
  600.     for i in range(30):
  601.         if i>25:
  602.             traux=(30.0-i)/5.0 #va de 0 a 1
  603.             aux=traux**0.5
  604.         else:
  605.             traux=i/25.0 #va de 1 a 0
  606.             aux=traux**2.0
  607.         r=255
  608.         g=50
  609.         b=40
  610.         a=255.0*traux
  611.         size=400.0*aux
  612.         Bladex.SetParticleGVal("DeepRedMagicMissile",i,r,g,b,a,size)
  613.  
  614.  
  615.  
  616.     ###### Snow dust
  617.  
  618.     Bladex.AddParticleGType("SnowDust","SmokeParticle",Reference.B_PARTICLE_GTYPE_BLEND,64)
  619.     r=255.0
  620.     g=255.0
  621.     b=255.0
  622.     for i in range(68):
  623.         a    = 255*i/64.0
  624.         size = 256*(64-i)/64.0+256
  625.         if i>64: a =0;size = 0
  626.  
  627.         Bladex.SetParticleGVal("SnowDust",i,r,g,b,a,size)
  628.  
  629.  
  630.     ##### Little blue energy concentration
  631.  
  632.     Bladex.AddParticleGType("LittleBlueEnergyConc","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  633.  
  634.     for i in range(30):
  635.         r=100
  636.         g=130
  637.         b=255
  638.         a=255.0
  639.         size=60.0*(1-i/30.0)**2.0
  640.         Bladex.SetParticleGVal("LittleBlueEnergyConc",i,r,g,b,a,size)
  641.  
  642.  
  643.     ##### Blue spark
  644.  
  645.     Bladex.AddParticleGType("BlueSpark","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,6)
  646.  
  647.     for i in range(6):
  648.         r=100
  649.         g=130
  650.         b=255
  651.         a=255.0
  652.         size=20.0+10.0*(i/6.0)**2.0
  653.         Bladex.SetParticleGVal("BlueSpark",i,r,g,b,a,size)
  654.  
  655.  
  656.     ##### Little blue spark
  657.  
  658.     Bladex.AddParticleGType("LittleBlueSpark","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,6)
  659.  
  660.     for i in range(6):
  661.         r=100
  662.         g=130
  663.         b=255
  664.         a=255.0
  665.         size=10.0+5.0*(i/6.0)**2.0
  666.         Bladex.SetParticleGVal("LittleBlueSpark",i,r,g,b,a,size)
  667.  
  668.  
  669.     ##### Deep Green Energy concentration
  670.  
  671.     Bladex.AddParticleGType("DeepGreenEnergyConc","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,20)
  672.  
  673.     for i in range(20):
  674.         if i>3:
  675.             traux=1.0
  676.             saux=((20.0-i)/17.0)**2.0 #va de 0 a 1
  677.         else:
  678.             saux=traux=i/3.0 #va de 1 a 0
  679.         r=40
  680.         g=255
  681.         b=60
  682.         a=255.0*traux
  683.         size=100.0*saux
  684.         Bladex.SetParticleGVal("DeepGreenEnergyConc",i,r,g,b,a,size)
  685.  
  686.  
  687.     ##### Deep Green Magic Missile
  688.  
  689.     Bladex.AddParticleGType("DeepGreenMagicMissile","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  690.  
  691.     for i in range(30):
  692.         if i>25:
  693.             traux=(30.0-i)/5.0 #va de 0 a 1
  694.             aux=traux**0.5
  695.         else:
  696.             traux=i/25.0 #va de 1 a 0
  697.             aux=traux**2.0
  698.         r=40
  699.         g=255
  700.         b=60
  701.         a=255.0*traux
  702.         size=400.0*aux
  703.         Bladex.SetParticleGVal("DeepGreenMagicMissile",i,r,g,b,a,size)
  704.  
  705.  
  706.     ##### Multicolour energy dissipation
  707.  
  708.     Bladex.AddParticleGType("MulticolourEnergyDissip","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  709.  
  710.     for i in range(30):
  711.         if i>25:
  712.             traux=(30.0-i)/5.0 #va de 0 a 1
  713.             aux=traux**0.5
  714.         else:
  715.             traux=i/25.0 #va de 1 a 0
  716.             aux=traux**2.0
  717.         r=40
  718.         g=255
  719.         b=60
  720.         a=255.0*traux
  721.         size=300.0*aux
  722.         Bladex.SetParticleGVal("MulticolourEnergyDissip",i,r,g,b,a,size)
  723.  
  724.  
  725.     ##### Deep Orange Energy concentration
  726.  
  727.     Bladex.AddParticleGType("DeepOrangeEnergyConc","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  728.  
  729.     for i in range(30):
  730.         if i>5:
  731.             traux=1.0
  732.             saux=((30.0-i)/25.0)**2.0 #va de 0 a 1
  733.         else:
  734.             saux=traux=i/5.0 #va de 1 a 0
  735.         r=255
  736.         g=100.0*(1.0-i/30.0)
  737.         b=20+80*(i/30.0)
  738.         a=200.0*traux
  739.         size=300.0*saux
  740.         Bladex.SetParticleGVal("DeepOrangeEnergyConc",i,r,g,b,a,size)
  741.  
  742.  
  743.     ##### Deep Orange Magic Missile
  744.  
  745.     Bladex.AddParticleGType("DeepOrangeMagicMissile","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  746.  
  747.     for i in range(30):
  748.         if i>25:
  749.             traux=(30.0-i)/5.0 #va de 0 a 1
  750.             aux=traux**0.5
  751.         else:
  752.             traux=i/25.0 #va de 1 a 0
  753.             aux=traux**2.0
  754.         r=255
  755.         g=100.0*(i/30.0)
  756.         b=20+80*(1.0-i/30.0)
  757.         a=200.0*traux
  758.         size=400.0*aux
  759.         Bladex.SetParticleGVal("DeepOrangeMagicMissile",i,r,g,b,a,size)
  760.  
  761.  
  762.     ##### Multicolour Level Up Particles
  763.  
  764.     Bladex.AddParticleGType("LevelUpParticle","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  765.  
  766.     for i in range(30):
  767.         if i>25:
  768.             traux=(30.0-i)/5.0 #va de 0 a 1
  769.             aux=traux**0.5
  770.         else:
  771.             traux=i/25.0 #va de 1 a 0
  772.             aux=traux**2.0
  773.         r=255
  774.         g=255
  775.         b=255
  776.         a=255.0*traux
  777.         size=200.0*aux
  778.         Bladex.SetParticleGVal("LevelUpParticle",i,r,g,b,a,size)
  779.  
  780.  
  781.     ###
  782.     ####################### DALGURAK
  783.     ###
  784.  
  785.     ##### Multicolour DalGurak Level Up Particles
  786.  
  787.     Bladex.AddParticleGType("DGLevelUpParticle","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  788.  
  789.     for i in range(30):
  790.         if i>25:
  791.             traux=(30.0-i)/5.0 #va de 0 a 1
  792.             aux=traux**0.5
  793.         else:
  794.             traux=i/25.0 #va de 1 a 0
  795.             aux=traux**2.0
  796.         r=255
  797.         g=255
  798.         b=255
  799.         a=255.0*traux
  800.         size=200.0*aux
  801.         Bladex.SetParticleGVal("DGLevelUpParticle",i,r,g,b,a,size)
  802.  
  803.  
  804.     ##### DalGurak LifeUp Energy concentration
  805.  
  806.     Bladex.AddParticleGType("DGLifeUpEnergyConc","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,50)
  807.  
  808.     for i in range(50):
  809.         if i>5:
  810.             traux=1.0
  811.             saux=((50.0-i)/45.0)**2.0 #va de 0 a 1
  812.         else:
  813.             saux=traux=i/5.0 #va de 1 a 0
  814.         r=255
  815.         g=80
  816.         b=20
  817.         a=200.0*traux
  818.         size=200.0*saux
  819.         Bladex.SetParticleGVal("DGLifeUpEnergyConc",i,r,g,b,a,size)
  820.  
  821.  
  822.  
  823.     ###
  824.     ####################### DARKLORD
  825.     ###
  826.  
  827.     ##### Multicolour DarkLord Level Up Particles
  828.  
  829.     Bladex.AddParticleGType("DLLevelUpParticle","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  830.  
  831.     for i in range(30):
  832.         if i>25:
  833.             traux=(30.0-i)/5.0 #va de 0 a 1
  834.             aux=traux**0.5
  835.         else:
  836.             traux=i/25.0 #va de 1 a 0
  837.             aux=traux**2.0
  838.         r=255
  839.         g=255
  840.         b=255
  841.         a=255.0*traux
  842.         size=300.0*aux
  843.         Bladex.SetParticleGVal("DLLevelUpParticle",i,r,g,b,a,size)
  844.  
  845.  
  846.     ##### DarkLord LifeUp Energy concentration
  847.  
  848.     Bladex.AddParticleGType("DLLifeUpEnergyConc","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,50)
  849.  
  850.     for i in range(50):
  851.         if i>5:
  852.             traux=1.0
  853.             saux=((50.0-i)/45.0)**2.0 #va de 0 a 1
  854.         else:
  855.             saux=traux=i/5.0 #va de 1 a 0
  856.         r=255
  857.         g=40
  858.         b=10
  859.         a=200.0*traux
  860.         size=300.0*saux
  861.         Bladex.SetParticleGVal("DLLifeUpEnergyConc",i,r,g,b,a,size)
  862.  
  863.  
  864.  
  865.     ###
  866.     ####################### GREATDEMON
  867.     ###
  868.  
  869.     ##### Multicolour GreatDemon Level Up Particles
  870.  
  871.     Bladex.AddParticleGType("GDLevelUpParticle","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  872.  
  873.     for i in range(30):
  874.         if i>25:
  875.             traux=(30.0-i)/5.0 #va de 0 a 1
  876.             aux=traux**0.5
  877.         else:
  878.             traux=i/25.0 #va de 1 a 0
  879.             aux=traux**2.0
  880.         r=255
  881.         g=255
  882.         b=255
  883.         a=255.0*traux
  884.         size=400.0*aux
  885.         Bladex.SetParticleGVal("GDLevelUpParticle",i,r,g,b,a,size)
  886.  
  887.  
  888.     ##### DarkLord LifeUp Energy concentration
  889.  
  890.     Bladex.AddParticleGType("GDLifeUpEnergyConc","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,50)
  891.  
  892.     for i in range(50):
  893.         if i>5:
  894.             traux=1.0
  895.             saux=((50.0-i)/45.0)**2.0 #va de 0 a 1
  896.         else:
  897.             saux=traux=i/5.0 #va de 1 a 0
  898.         r=255
  899.         g=140
  900.         b=40
  901.         a=200.0*traux
  902.         size=400.0*saux
  903.         Bladex.SetParticleGVal("GDLifeUpEnergyConc",i,r,g,b,a,size)
  904.  
  905.  
  906.  
  907.     #####################################################
  908.     #     Sistemas de particulas para algunas armas     #
  909.     #####################################################
  910.  
  911.     ##### Definicion de particulas de vapor de hielo seco ######
  912.  
  913.     Bladex.AddParticleGType("Vaho","SmokeParticle",Reference.B_PARTICLE_GTYPE_BLEND,60)
  914.  
  915.     for i in range(60):
  916.         if i>40:
  917.             aux=((60.0-i)/20.0)**0.3
  918.         else:
  919.             aux=(i/40.0)**0.5
  920.         r=255
  921.         g=255
  922.         b=255 
  923.         a=140.0*aux
  924.         size=50.0+200.0*aux
  925.         Bladex.SetParticleGVal("Vaho",i,r,g,b,a,size)
  926.  
  927.  
  928.     ##### Definicion de particulas de gas venenoso ######
  929.  
  930.     Bladex.AddParticleGType("GasVenenoso","SmokeParticle",Reference.B_PARTICLE_GTYPE_BLEND,60)
  931.  
  932.     for i in range(60):
  933.         if i>40:
  934.             aux=((60.0-i)/20.0)**0.3
  935.         else:
  936.             aux=(i/40.0)**0.5
  937.         r=85
  938.         g=90
  939.         b=0 
  940.         a=200.0*aux
  941.         size=50.0+200.0*aux
  942.         Bladex.SetParticleGVal("GasVenenoso",i,r,g,b,a,size)
  943.  
  944.  
  945.     ##### Definicion de particulas de gas venenoso2 ######
  946.  
  947.     Bladex.AddParticleGType("GasVenenoso2","SmokeParticle",Reference.B_PARTICLE_GTYPE_BLEND,60)
  948.  
  949.     for i in range(60):
  950.         if i>40:
  951.             aux=((60.0-i)/20.0)**0.3
  952.         else:
  953.             aux=(i/40.0)**0.5
  954.         r=10
  955.         g=180
  956.         b=160 
  957.         a=255.0*aux
  958.         size=400.0+800.0*aux
  959.         Bladex.SetParticleGVal("GasVenenoso2",i,r,g,b,a,size)
  960.  
  961.  
  962.     ##### Definicion de particulas de gotas de sangre ######
  963.  
  964.     Bladex.AddParticleGType("GotasSangre","BloodDropParticle",Reference.B_PARTICLE_GTYPE_BLEND,24)
  965.  
  966.     for i in range(24):
  967.         if i>20:
  968.             aux=((24.0-i)/4.0)**0.5
  969.         elif i<8:
  970.             aux=(i/8.0)**0.5
  971.         else:
  972.             aux=1.0
  973.         r=60
  974.         g=0
  975.         b=0
  976.         a=220.0*aux+35.0
  977.         size=16.0*aux+4.0
  978.         Bladex.SetParticleGVal("GotasSangre",i,r,g,b,a,size)
  979.  
  980.  
  981.     ##### Definicion de llamitas ######
  982.  
  983.     Bladex.AddParticleGType("Llamita","FireParticle",Reference.B_PARTICLE_GTYPE_ADD,21)
  984.  
  985.     for i in range(21):
  986.         if i>=14:
  987.             aux=1.0/3.0+2*(21.0-i)/21.0 #va de 1/3 a 1
  988.             caux=(21.0-i)/21.0 #va de 0 a 1/3
  989.             saux=3.0*(21.0-i)/21.0 #va de 0 a 1
  990.         elif i>7 and i<14:
  991.             aux=1.0
  992.             caux=1.0/3.0
  993.             saux=1.0
  994.         else:
  995.             aux=1.0-((7.0-i)/7.0) #va de 1 a 0
  996.             caux=1.0/3.0
  997.             saux=1.0-2*((7.0-i)/7.0) #va de 1 a -1
  998.         r=155.0*3.0*caux
  999.         g=155.0*3.0*caux
  1000.         b=min(255*(1.0-2.0*caux), 255.0)
  1001.         a=200.0*aux
  1002.         size=4.0+6.0*saux
  1003.         Bladex.SetParticleGVal("Llamita",i,r,g,b,a,size)
  1004.  
  1005.  
  1006.     ##### Definicion de brillitos ######
  1007.  
  1008.     Bladex.AddParticleGType("BrillosBladeSword","StarParticle",Reference.B_PARTICLE_GTYPE_ADD,8)
  1009.  
  1010.     for i in range(8):
  1011.         if i>5:
  1012.             aux=(8.0-i)/3.0
  1013.         else:
  1014.             aux=i/5.0
  1015.         r=235.0
  1016.         g=245.0
  1017.         b=255.0
  1018.         a=255.0
  1019.         size=100.0*aux
  1020.         Bladex.SetParticleGVal("BrillosBladeSword",i,r,g,b,a,size)
  1021.  
  1022.  
  1023.  
  1024.     ################################################################################
  1025.     #     Sistemas de particulas para el efecto de algunas armas en personajes     #
  1026.     ################################################################################
  1027.  
  1028.  
  1029.     ##### Definicion de llamitas2 ######
  1030.  
  1031.     Bladex.AddParticleGType("Llamita2","FireParticle",Reference.B_PARTICLE_GTYPE_ADD,21)
  1032.  
  1033.     for i in range(21):
  1034.         if i>=14:
  1035.             aux=1.0/3.0+2*(21.0-i)/21.0 #va de 1/3 a 1
  1036.             caux=(21.0-i)/21.0 #va de 0 a 1/3
  1037.             saux=3.0*(21.0-i)/21.0 #va de 0 a 1
  1038.         elif i>7 and i<14:
  1039.             aux=1.0
  1040.             caux=1.0/3.0
  1041.             saux=1.0
  1042.         else:
  1043.             aux=1.0-((7.0-i)/7.0) #va de 1 a 0
  1044.             caux=1.0/3.0
  1045.             saux=1.0-2*((7.0-i)/7.0) #va de 1 a -1
  1046.         r=155.0*3.0*caux
  1047.         g=155.0*3.0*caux
  1048.         b=min(255*(1.0-2.0*caux), 255.0)
  1049.         a=160.0*aux
  1050.         size=80.0*saux
  1051.         Bladex.SetParticleGVal("Llamita2",i,r,g,b,a,size)
  1052.  
  1053.  
  1054.     ######################################################################
  1055.     #     Sistemas de particulas para el misil de la espada de Blade     #
  1056.     ######################################################################
  1057.  
  1058.     Bladex.AddParticleGType("BladeSwordMissile","GenericParticle2",Reference.B_PARTICLE_GTYPE_ADD,30)
  1059.  
  1060.     for i in range(30):
  1061.         if i>25:
  1062.             traux=(30.0-i)/5.0 #va de 0 a 1
  1063.         else:
  1064.             traux=i/25.0 #va de 1 a 0
  1065.         r=100
  1066.         g=130
  1067.         b=255
  1068.         a=255.0*traux
  1069.         size=20.0+250.0*(1-(1-i/30.0)**0.5)
  1070.         Bladex.SetParticleGVal("BladeSwordMissile",i,r,g,b,a,size)
  1071.  
  1072.  
  1073.     ################################################################################
  1074.     #     Sistemas de particulas para el golem de barro                            #
  1075.     ################################################################################
  1076.  
  1077.     Bladex.AddParticleGType("ShitSmoke","SmokeParticle",Reference.B_PARTICLE_GTYPE_BLEND,64)
  1078.     
  1079.     for i in range(64):
  1080.         aux=(64.0-i)/64.0
  1081.         r=128
  1082.         g=80
  1083.         b=32
  1084.         a=255.0*math.sqrt(1.0-aux)
  1085.         size=40.0+aux*200.0
  1086.         Bladex.SetParticleGVal("ShitSmoke",i,r,g,b,a,size)