home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 56 / CDPowerplay56Disc2.iso / demos / blade / data1.cab / Program_Executable_Files / Lib / ConcenEf.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2000-10-27  |  6.4 KB  |  153 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 1.5)
  3.  
  4. import Bladex
  5. B_PARTICLE_GTYPE_COPY = 0
  6. B_PARTICLE_GTYPE_BLEND = 1
  7. B_PARTICLE_GTYPE_ADD = 2
  8. B_PARTICLE_GTYPE_MUL = 3
  9. Bladex.ReadBitMap('..\\..\\Data\\Prueba Flare Magico 256.bmp', 'Flare Magico 256')
  10. Bladex.ReadBitMap('..\\..\\Data\\Prueba Flare Magico 128.bmp', 'Flare Magico 128')
  11. Bladex.ReadAlphaBitMap('..\\..\\Data\\GenericPrtl.bmp', 'GenericParticle')
  12. Bladex.AddParticleGType('Concentrado', 'GenericParticle', B_PARTICLE_GTYPE_BLEND, 600)
  13.  
  14. class CONCEN_EF:
  15.     luzA = 0
  16.     luzB = 0
  17.     parts = 0
  18.     size_factor = 1.0
  19.     main_ent_name = ''
  20.     entity_name_link = ''
  21.     ent_area = ''
  22.     sonido_aparicion = 0
  23.     
  24.     def SetPos(self, pos):
  25.         self.luzA.Position = pos
  26.         self.luzB.Position = pos
  27.         self.parts.Position = pos
  28.  
  29.     
  30.     def PosMe(self, ent_name):
  31.         me = Bladex.GetEntity(ent_name)
  32.         if self.entity_name_link:
  33.             ent = Bladex.GetEntity(self.entity_name_link)
  34.             if self.ent_area != '':
  35.                 me.Position = ent.GraspPos(self.ent_area)
  36.             else:
  37.                 me.Position = ent.Position
  38.         
  39.  
  40.     
  41.     def RelocateMe(self, ent_name, time):
  42.         self.PosMe(ent_name)
  43.  
  44.     
  45.     def GrowMe(self, ent_name, time):
  46.         luz = Bladex.GetEntity(ent_name)
  47.         luz.SizeFactor = luz.SizeFactor + 0.2 * self.size_factor
  48.         if luz.SizeFactor > 15.0 * self.size_factor:
  49.             luz.TimerFunc = ''
  50.             luz.RemoveFromList('Timer60')
  51.         
  52.         if ent_name == self.main_ent_name:
  53.             if luz.SizeFactor < 10 * self.size_factor:
  54.                 luz.Intensity = 3.0 - (10.0 * self.size_factor - luz.SizeFactor) * 3.0 / (10.0 * self.size_factor)
  55.             else:
  56.                 luz.Intensity = 3
  57.         
  58.         self.PosMe(ent_name)
  59.  
  60.     
  61.     def StrinkMe(self, ent_name, time):
  62.         luz = Bladex.GetEntity(ent_name)
  63.         if luz.SizeFactor > 10 * self.size_factor:
  64.             luz.SizeFactor = luz.SizeFactor - 0.1 * self.size_factor
  65.         elif luz.SizeFactor > 5 * self.size_factor:
  66.             luz.SizeFactor = luz.SizeFactor - 0.2 * self.size_factor
  67.         else:
  68.             luz.SizeFactor = luz.SizeFactor - 0.4 * self.size_factor
  69.         if luz.SizeFactor < 0.1 * self.size_factor:
  70.             luz.RemoveFromList('Timer60')
  71.             luz.SubscribeToList('Pin')
  72.         
  73.         if ent_name == self.main_ent_name:
  74.             if luz.SizeFactor < 5 * self.size_factor:
  75.                 luz.Intensity = (5 * self.size_factor - luz.SizeFactor) * 2.0 + 3.0
  76.             
  77.         
  78.         self.PosMe(ent_name)
  79.  
  80.     
  81.     def EndConcentrationEffect(self):
  82.         self.luzA.TimerFunc = self.StrinkMe
  83.         self.luzA.SubscribeToList('Timer60')
  84.         self.luzB.TimerFunc = self.StrinkMe
  85.         self.luzB.SubscribeToList('Timer60')
  86.         self.parts.DeathTime = Bladex.GetTime() + 0.0
  87.  
  88.     
  89.     def StartConcentrationEffect(self, pos, ent2follow, ent_bit, sound_name, s_factor, time = 2, text1_name = 'Flare Magico 256', text1_r = 255, text1_g = 255, text1_b = 255, text2_name = 'Flare Magico 128', text2_r = 128, text2_g = 128, text2_b = 255, part_r = 128, part_g = 128, part_b = 200):
  90.         self.size_factor = s_factor
  91.         self.main_ent_name = Bladex.GenerateEntityName()
  92.         self.luzA = Bladex.CreateEntity(self.main_ent_name, 'Entity Spot', 0, 0, 0)
  93.         self.luzA.Color = (text1_r, text1_g, text1_b)
  94.         self.luzA.Intensity = 0
  95.         self.luzA.Precission = 0.1
  96.         self.luzA.CastShadows = 0
  97.         self.luzA.GlowTexture = text1_name
  98.         self.luzA.GlowTestZ = 0
  99.         self.luzA.AngVel = 1.59
  100.         self.luzA.SizeFactor = 0.05 * self.size_factor
  101.         self.luzB = Bladex.CreateEntity(Bladex.GenerateEntityName(), 'Entity Spot', 0, 0, 0)
  102.         self.luzB.Color = (text2_r, text2_g, text2_b)
  103.         self.luzB.Intensity = 0.1
  104.         self.luzB.Precission = 0.1
  105.         self.luzB.CastShadows = 0
  106.         self.luzB.GlowTexture = text2_name
  107.         self.luzB.GlowTestZ = 0
  108.         self.luzB.AngVel = -3.14
  109.         self.luzB.SizeFactor = 0.05 * self.size_factor
  110.         self.luzA.TimerFunc = self.GrowMe
  111.         self.luzA.SubscribeToList('Timer60')
  112.         self.luzB.TimerFunc = self.GrowMe
  113.         self.luzB.SubscribeToList('Timer60')
  114.         self.parts = Bladex.CreateEntity('Parts', 'Entity Particle System D1', 0.0, 0.0, 0.0)
  115.         self.parts.ParticleType = 'Concentrado'
  116.         self.parts.Time2Live = 25
  117.         self.parts.YGravity = 0
  118.         self.parts.Friction = 0
  119.         self.parts.RandomVelocity = -50.0 * self.size_factor
  120.         self.parts.RandomVelocity_V = 0.0
  121.         self.parts.PPS = 512
  122.         self.parts.TimerFunc = self.RelocateMe
  123.         self.parts.SubscribeToList('Timer60')
  124.         for i in range(600):
  125.             a = 255
  126.             size = 33 * self.size_factor
  127.             Bladex.SetParticleGVal('Concentrado', i, part_r, part_g, part_b, a, size)
  128.         
  129.         self.SetPos(pos)
  130.         if ent2follow and ent2follow != '':
  131.             self.entity_name_link = ent2follow
  132.             if ent_bit and ent_bit != '':
  133.                 self.ent_area = ent_bit
  134.             else:
  135.                 self.ent_area = ''
  136.         else:
  137.             self.entity_name_link = ''
  138.             self.ent_area = ''
  139.         file_name = '..\\..\\Sounds\\' + sound_name + '.wav'
  140.         self.sonido_aparicion = Bladex.CreateSound(file_name, 'Aparicion')
  141.         self.sonido_aparicion.MaxDistance = 20000.0
  142.         self.sonido_aparicion.Play(pos[0], pos[1], pos[2], 0)
  143.         Bladex.AddScheduledFunc(Bladex.GetTime() + time, self.EndConcentrationEffect, ())
  144.  
  145.  
  146. c_ef = CONCEN_EF()
  147. c_ef2 = CONCEN_EF()
  148.  
  149. def LanzaC():
  150.     c_ef.StartConcentrationEffect(Bladex.GetEntity('Player1').Position, 'Player1', 'R_Hand', 'Aparicion_espada', 0.5)
  151.     c_ef2.StartConcentrationEffect(Bladex.GetEntity('Player1').Position, 'Player1', 'Shield', 'Aparicion_espada', 0.5)
  152.  
  153.