Beispiel #1
0
def shootFireworkRocket(x, y, z, color1, color2, amp):
    f = ParticleEffect.ParticleEffect()
    p0 = Particles.Particles('particles-1')
    p0.setFactory('PointParticleFactory')
    p0.setRenderer('SparkleParticleRenderer')
    p0.setEmitter('SphereVolumeEmitter')
    p0.setPoolSize(110)
    p0.setBirthRate(0.01)
    p0.setLitterSize(2)
    p0.setLitterSpread(0)
    p0.factory.setLifespanBase(0.4)
    p0.factory.setLifespanSpread(0.1)
    p0.factory.setMassBase(1.0)
    p0.factory.setMassSpread(0.0)
    p0.factory.setTerminalVelocityBase(400.0)
    p0.factory.setTerminalVelocitySpread(0.0)
    p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
    p0.renderer.setUserAlpha(1.0)
    p0.renderer.setCenterColor(color1)
    p0.renderer.setEdgeColor(color2)
    p0.renderer.setBirthRadius(0.6)
    p0.renderer.setDeathRadius(0.6)
    p0.renderer.setLifeScale(SparkleParticleRenderer.SPNOSCALE)
    p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
    p0.emitter.setAmplitude(amp)
    p0.emitter.setAmplitudeSpread(0.0)
    p0.emitter.setRadius(0.3)
    f.addParticles(p0)
    gravityForceGroup = ForceGroup.ForceGroup('gravity')
    force0 = LinearVectorForce(Vec3(0.0, 0.0, -10.0), 1.0, 0)
    force0.setActive(1)
    gravityForceGroup.addForce(force0)
    f.addForceGroup(gravityForceGroup)
    f.setPos(x, y, z)
    sfxName = random.choice(('phase_4/audio/sfx/firework_whistle_01.mp3', 'phase_4/audio/sfx/firework_whistle_02.mp3'))
    sfx = loader.loadSfx(sfxName)
    t = Sequence(Func(f.start, render, render), Func(sfx.play), LerpPosInterval(f, 2.0, Vec3(x, y, z + 20 * amp), blendType='easeInOut'), Func(p0.setBirthRate, 3), Wait(0.5), Func(f.cleanup), name=getNextSequenceName('shootFirework'))
    t.start()
Beispiel #2
0
def shootFireworkCircleSprite(x, y, z, color, texture, amp):
    f = ParticleEffect.ParticleEffect()
    p0 = Particles.Particles('particles-1')
    p0.setFactory('PointParticleFactory')
    p0.setRenderer('SpriteParticleRenderer')
    p0.setEmitter('SphereVolumeEmitter')
    p0.setPoolSize(100)
    p0.setBirthRate(0.01)
    p0.setLitterSize(100)
    p0.factory.setLifespanBase(2.0)
    p0.factory.setLifespanSpread(0.5)
    p0.factory.setTerminalVelocityBase(400.0)
    p0.factory.setTerminalVelocitySpread(40.0)
    p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAUSER)
    p0.renderer.setUserAlpha(1.0)
    p0.renderer.setFromNode(texture)
    p0.renderer.setColor(color)
    p0.renderer.setXScaleFlag(1)
    p0.renderer.setYScaleFlag(1)
    p0.renderer.setInitialXScale(0.12)
    p0.renderer.setFinalXScale(0.48)
    p0.renderer.setInitialYScale(0.12)
    p0.renderer.setFinalYScale(0.48)
    p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
    p0.emitter.setAmplitudeSpread(0.1)
    p0.emitter.setAmplitude(amp)
    p0.emitter.setRadius(0.1)
    f.addParticles(p0)
    circleForceGroup = ForceGroup.ForceGroup('gravity')
    force1 = LinearSinkForce(Point3(x, y, z - 100), LinearDistanceForce.FTONEOVERRSQUARED, 2.0, 0.3 * amp * 0.1, 1)
    force1.setActive(1)
    circleForceGroup.addForce(force1)
    f.addForceGroup(circleForceGroup)
    f.setPos(x, y, z)
    sfxName = random.choice(('phase_4/audio/sfx/firework_explosion_01.mp3', 'phase_4/audio/sfx/firework_explosion_02.mp3', 'phase_4/audio/sfx/firework_explosion_03.mp3'))
    sfx = loader.loadSfx(sfxName)
    t = Sequence(Func(f.start, render, render), Func(sfx.play), Wait(0.5), Func(p0.setBirthRate, 3), Wait(2.0), Func(f.cleanup), name=getNextSequenceName('shootFireworkSprite'))
    t.start()
Beispiel #3
0
    def __init__(self, parent):
        # Initialize the superclass
        NodePath.__init__(self)

        notify = DirectNotifyGlobal.directNotify.newCategory('CarSmokeParticles')

        self.effectNode = parent.attachNewNode('carSmoke')
        self.effectNode.setBin("fixed", 1)
        self.effectNode.setDepthWrite(0)
        self.effect = ParticleEffect.ParticleEffect()

        particleSearchPath = DSearchPath()
        if AppRunnerGlobal.appRunner:
            # In the web-publish runtime, it will always be here:
            particleSearchPath.appendDirectory(Filename.expandFrom('$TT_3_5_ROOT/phase_3.5/etc'))
        else:
            # In other environments, including the dev environment, look here:
            basePath = os.path.expandvars('$TOONTOWN') or './toontown'
            particleSearchPath.appendDirectory(Filename.fromOsSpecific(basePath+'/src/effects'))
            particleSearchPath.appendDirectory(Filename('phase_3.5/etc'))
            particleSearchPath.appendDirectory(Filename('phase_4/etc'))
            particleSearchPath.appendDirectory(Filename('phase_5/etc'))
            particleSearchPath.appendDirectory(Filename('phase_6/etc'))
            particleSearchPath.appendDirectory(Filename('phase_7/etc'))
            particleSearchPath.appendDirectory(Filename('phase_8/etc'))
            particleSearchPath.appendDirectory(Filename('phase_9/etc'))
            particleSearchPath.appendDirectory(Filename('.'))
        pfile = Filename('smokeTest4.ptf')
        found = vfs.resolveFilename(pfile, particleSearchPath)

        if not found:
            notify.warning('loadParticleFile() - no path: %s' % pfile)
            return
        notify.debug('Loading particle file: %s' % pfile)

        self.effect.loadConfig(pfile)
        ren = self.effect.getParticlesNamed('particles-1').getRenderer()
        ren.setTextureFromNode('phase_4/models/props/tt_m_efx_ext_smoke','**/*')
Beispiel #4
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/pir_t_efx_msc_vomit')
     if not VomitEffect.particleDummy:
         VomitEffect.particleDummy = render.attachNewNode(
             ModelNode('VomitEffectParticleDummy'))
         VomitEffect.particleDummy.setDepthWrite(0)
         VomitEffect.particleDummy.setFogOff()
         VomitEffect.particleDummy.setLightOff()
         VomitEffect.particleDummy.setColorScaleOff()
         VomitEffect.particleDummy.setTwoSided(1)
     self.f = ParticleEffect.ParticleEffect('VomitEffect')
     self.f.reparentTo(self)
     self.p0 = Particles.Particles('particles-1')
     self.p0.setFactory('ZSpinParticleFactory')
     self.p0.setRenderer('SpriteParticleRenderer')
     self.p0.setEmitter('SphereSurfaceEmitter')
     self.f.addParticles(self.p0)
     self.f0 = None
     self.setParticleOptions()
     return
Beispiel #5
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleWhiteSmoke')
     self.speed = 20.0
     self.radius = 8.0
     if not UnholyFlare.particleDummy:
         UnholyFlare.particleDummy = render.attachNewNode(
             ModelNode('UnholyFlareParticleDummy'))
         UnholyFlare.particleDummy.setDepthWrite(0)
         UnholyFlare.particleDummy.setLightOff()
         UnholyFlare.particleDummy.setFogOff()
         UnholyFlare.particleDummy.setColorOff()
         UnholyFlare.particleDummy.setColorScaleOff()
         UnholyFlare.particleDummy.setBin('fixed', 120)
     self.f = ParticleEffect.ParticleEffect('UnholyFlare')
     self.f.reparentTo(self)
     self.p0 = Particles.Particles('particles-1')
     self.p0.setFactory('PointParticleFactory')
     self.p0.setRenderer('SpriteParticleRenderer')
     self.p0.setEmitter('SphereSurfaceEmitter')
     self.f.addParticles(self.p0)
Beispiel #6
0
    def __init__(self):
        NodePath.__init__(self, "particleFloorTest")

        # Sort Order of Particles
        self.setDepthWrite(0)

        # Load Particle Effects
        self.f = ParticleEffect.ParticleEffect()
        self.f.reparentTo(self)
        self.p0 = Particles.Particles('particles-1')
        # Particles parameters
        self.p0.setFactory("PointParticleFactory")
        self.p0.setRenderer("PointParticleRenderer")
        self.p0.setEmitter("SphereVolumeEmitter")
        self.p0.setPoolSize(64)
        self.p0.setBirthRate(0.020)
        self.p0.setLitterSize(7)
        self.p0.setLitterSpread(2)
        self.p0.setSystemLifespan(0.0000)
        #self.p0.setLocalVelocityFlag(1)
        self.p0.setFloorZ(-1.0)
        self.p0.setSystemGrowsOlderFlag(0)
        # Factory parameters
        self.p0.factory.setLifespanBase(10.000)
        self.p0.factory.setLifespanSpread(0.50)
        self.p0.factory.setMassBase(1.80)
        self.p0.factory.setMassSpread(1.00)
        self.p0.factory.setTerminalVelocityBase(400.0000)
        self.p0.factory.setTerminalVelocitySpread(0.0000)
        self.f.addParticles(self.p0)
        if 1:
            f0 = ForceGroup.ForceGroup('frict')
            # Force parameters
            force0 = LinearVectorForce(Vec3(0., 0., -1.))
            force0.setActive(1)
            f0.addForce(force0)
            self.f.addForceGroup(f0)
 def createSparkles(self, color1, color2, amp):
     self.f = ParticleEffect.ParticleEffect('particleEffect_sparkles')
     p0 = Particles.Particles('particles-1')
     p0.setFactory('PointParticleFactory')
     p0.setRenderer('SparkleParticleRenderer')
     p0.setEmitter('RingEmitter')
     p0.setPoolSize(15)
     p0.setBirthRate(0.1)
     p0.setLitterSize(100)
     p0.setLitterSpread(0)
     p0.factory.setLifespanBase(0.6)
     p0.factory.setLifespanSpread(0.1)
     p0.factory.setMassBase(1.0)
     p0.factory.setMassSpread(0.0)
     p0.factory.setTerminalVelocityBase(3.0)
     p0.factory.setTerminalVelocitySpread(1.0)
     p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
     p0.renderer.setUserAlpha(1.0)
     p0.renderer.setCenterColor(color1)
     p0.renderer.setEdgeColor(color2)
     p0.renderer.setBirthRadius(0.3)
     p0.renderer.setDeathRadius(0.3)
     p0.renderer.setLifeScale(SparkleParticleRenderer.SPNOSCALE)
     p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
     p0.emitter.setAmplitude(0)
     p0.emitter.setAmplitudeSpread(0)
     f0 = ForceGroup.ForceGroup('Gravity')
     force0 = LinearVectorForce(Vec3(0.0, 0.0, -10.0), 1.0, 0)
     force0.setVectorMasks(1, 1, 1)
     force0.setActive(1)
     f0.addForce(force0)
     self.f.addForceGroup(f0)
     p0.emitter.setRadius(2.0)
     self.f.addParticles(p0)
     self.f.setPos(0, 0, 0)
     self.f.setHpr(0, random.random() * 180, random.random() * 180)
     return self.f
Beispiel #8
0
    def __init__(self, parent):
        NodePath.__init__(self)
        notify = DirectNotifyGlobal.directNotify.newCategory(
            'CarSmokeParticles')
        self.effectNode = parent.attachNewNode('carSmoke')
        self.effectNode.setBin('fixed', 1)
        self.effectNode.setDepthWrite(0)
        self.effect = ParticleEffect.ParticleEffect()
        particleSearchPath = DSearchPath()
        if AppRunnerGlobal.appRunner:
            particleSearchPath.appendDirectory(
                Filename.expandFrom('$TT_3_5_ROOT/phase_3.5/etc'))
        elif not os.path.expandvars('$TOONTOWN'):
            pass
        basePath = './toontown'
        particleSearchPath.appendDirectory(
            Filename.fromOsSpecific(basePath + '/src/effects'))
        particleSearchPath.appendDirectory(Filename('phase_3.5/etc'))
        particleSearchPath.appendDirectory(Filename('phase_4/etc'))
        particleSearchPath.appendDirectory(Filename('phase_5/etc'))
        particleSearchPath.appendDirectory(Filename('phase_6/etc'))
        particleSearchPath.appendDirectory(Filename('phase_7/etc'))
        particleSearchPath.appendDirectory(Filename('phase_8/etc'))
        particleSearchPath.appendDirectory(Filename('phase_9/etc'))
        particleSearchPath.appendDirectory(Filename('.'))
        pfile = Filename('smokeTest4.ptf')
        found = vfs.resolveFilename(pfile, particleSearchPath)
        if not found:
            notify.warning('loadParticleFile() - no path: %s' % pfile)
            return None

        notify.debug('Loading particle file: %s' % pfile)
        self.effect.loadConfig(pfile)
        ren = self.effect.getParticlesNamed('particles-1').getRenderer()
        ren.setTextureFromNode('phase_4/models/props/tt_m_efx_ext_smoke',
                               '**/*')
Beispiel #9
0
def shootFireworkCircleGeneric(x, y, z, color1, color2, amp, poolSize):
    f = ParticleEffect.ParticleEffect()
    p0 = Particles.Particles('particles-1')
    p0.setFactory('PointParticleFactory')
    p0.setRenderer('SparkleParticleRenderer')
    p0.setEmitter('SphereVolumeEmitter')
    p0.setPoolSize(poolSize)
    p0.setBirthRate(0.01)
    p0.setLitterSize(poolSize)
    p0.factory.setLifespanBase(2.0)
    p0.factory.setLifespanSpread(0.5)
    p0.factory.setTerminalVelocityBase(400.0)
    p0.factory.setTerminalVelocitySpread(40.0)
    p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
    p0.renderer.setUserAlpha(1.0)
    p0.renderer.setCenterColor(color1)
    p0.renderer.setEdgeColor(color1)
    p0.renderer.setBirthRadius(0.4)
    p0.renderer.setDeathRadius(0.6)
    p0.renderer.setLifeScale(SparkleParticleRenderer.SPSCALE)
    p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
    p0.emitter.setAmplitudeSpread(0.1)
    p0.emitter.setAmplitude(amp)
    p0.emitter.setRadius(0.1)
    f.addParticles(p0)
    circleForceGroup = ForceGroup.ForceGroup('gravity')
    force1 = LinearSinkForce(Point3(x, y, z - 100), LinearDistanceForce.FTONEOVERRSQUARED, 2.0, 0.3 * amp * 0.1, 1)
    force1.setActive(1)
    circleForceGroup.addForce(force1)
    f.addForceGroup(circleForceGroup)
    f.setPos(x, y, z)
    sfxName = random.choice(('phase_4/audio/sfx/firework_explosion_01.ogg', 'phase_4/audio/sfx/firework_explosion_02.ogg', 'phase_4/audio/sfx/firework_explosion_03.ogg'))
    sfx = loader.loadSfx(sfxName)
    sfx.setVolume(0.7)
    t = Sequence(Func(f.start, render, render), Func(sfx.play), Wait(0.5), Func(p0.setBirthRate, 3), Wait(0.5), Func(p0.renderer.setCenterColor, color2), Func(p0.renderer.setEdgeColor, color2), Wait(1.5), Func(f.cleanup), name=getNextSequenceName('shootFireworkCircle'))
    t.start()
Beispiel #10
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleSpark')
     if not Sparks.particleDummy:
         Sparks.particleDummy = render.attachNewNode(ModelNode('SparksParticleDummy'))
         Sparks.particleDummy.setDepthWrite(0)
         Sparks.particleDummy.node().setAttrib(ColorBlendAttrib.make(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne))
         Sparks.particleDummy.setFogOff()
         Sparks.particleDummy.setLightOff()
         Sparks.particleDummy.setBin('fixed', 120)
     self.f = ParticleEffect.ParticleEffect('Sparks')
     self.f.reparentTo(self)
     self.p0 = Particles.Particles('particles-1')
     self.p0.setFactory('ZSpinParticleFactory')
     self.p0.setRenderer('SpriteParticleRenderer')
     self.p0.setEmitter('RingEmitter')
     self.f.addParticles(self.p0)
     f0 = ForceGroup.ForceGroup('gravity')
     force0 = LinearVectorForce(Vec3(0.0, 0.0, -6.5), 2.0, 1)
     force0.setActive(1)
     f0.addForce(force0)
     self.f.addForceGroup(f0)
    def __init__(self,
                 particleFn,
                 name=None,
                 hpr=None,
                 position=None,
                 size=None,
                 duration=0,
                 **a):

        if name is None:
            name = 'PEffect-%d' % PEffect.pid
            PEffect.pid += 1

        Handle.__init__(self, name=name, duration=duration)

        #pathname = "/lib/panda/lib/lib-original/particles/"
        base.enableParticles()
        p = ParticleEffect()
        particleFn(p, a)
        self.d.model = p  # ???

        self.__dict__['position'] = newSignalRefd(self, 'position', P3Type,
                                                  P3(0, 0, 0))
        self.__dict__['hpr'] = newSignalRefd(self, 'hpr', HPRType,
                                             HPR(0, 0, 0))
        self.__dict__['size'] = newSignalRefd(self, 'size', numType, 1)
        if size is not None:
            self.size.setBehavior(size)

        if position is not None:
            self.position.setBehavior(position)
        if hpr is not None:
            self.hpr.setBehavior(hpr)

        p.reparentTo(render)
        p.start()
Beispiel #12
0
def loadParticleFile(name):
    global particleSearchPath
    if particleSearchPath == None:
        particleSearchPath = DSearchPath()
        if AppRunnerGlobal.appRunner:
            # In the web-publish runtime, it will always be here:
            particleSearchPath.appendDirectory(
                Filename.expandFrom('$TT_3_5_ROOT/phase_3.5/etc'))
        else:
            # In other environments, including the dev environment, look here:
            basePath = os.path.expandvars('$TOONTOWN') or './toontown'
            particleSearchPath.appendDirectory(
                Filename.fromOsSpecific(basePath + '/src/battle'))
            particleSearchPath.appendDirectory(
                Filename.fromOsSpecific(basePath + '/src/safezone'))
            particleSearchPath.appendDirectory(Filename('phase_3.5/etc'))
            particleSearchPath.appendDirectory(Filename('phase_4/etc'))
            particleSearchPath.appendDirectory(Filename('phase_5/etc'))
            particleSearchPath.appendDirectory(Filename('phase_8/etc'))
            particleSearchPath.appendDirectory(Filename('phase_9/etc'))
            particleSearchPath.appendDirectory(Filename('.'))
    pfile = Filename(name)
    found = vfs.resolveFilename(pfile, particleSearchPath)

    if not found:
        notify.warning('loadParticleFile() - no path: %s' % name)
        return
    notify.debug('Loading particle file: %s' % pfile)
    effect = ParticleEffect()
    # print("particle filename = ", pfile.getFullpath())
    effect.loadConfig(pfile)
    # Don't render shadows on any particles.  There are some particles that are
    # non-triangles (like points or lines).  The shadow render shader does not
    # currently handle non-triangle geometry.
    OTPRender.renderShadow(False, effect)
    return effect
Beispiel #13
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/fireworkCards')
     self.card = model.find('**/pir_t_efx_msc_particleStars')
     self.cardScale = 64.0
     self.setDepthWrite(0)
     self.setColorScaleOff()
     self.setLightOff()
     self.effectScale = 1.0
     self.effectColor = Vec4(1, 1, 1, 1)
     self.f = ParticleEffect.ParticleEffect('StarBurst')
     self.f.reparentTo(self)
     self.p0 = Particles.Particles('particles-0')
     self.p0.setFactory('ZSpinParticleFactory')
     self.p0.setRenderer('SpriteParticleRenderer')
     self.p0.setEmitter('SphereSurfaceEmitter')
     self.f.addParticles(self.p0)
     f0 = ForceGroup.ForceGroup('Gravity')
     force0 = LinearVectorForce(Vec3(0.0, 0.0, -25.0), 1.0, 0)
     force0.setVectorMasks(1, 1, 1)
     force0.setActive(1)
     f0.addForce(force0)
     self.f.addForceGroup(f0)
     self.p0.setPoolSize(128)
     self.p0.setBirthRate(0.040000000000000001)
     self.p0.setLitterSize(64)
     self.p0.setLitterSpread(0)
     self.p0.setSystemLifespan(0.0)
     self.p0.setLocalVelocityFlag(1)
     self.p0.setSystemGrowsOlderFlag(0)
     self.p0.factory.setLifespanBase(1.25)
     self.p0.factory.setLifespanSpread(0.5)
     self.p0.factory.setMassBase(1.0)
     self.p0.factory.setMassSpread(0.0)
     self.p0.factory.setTerminalVelocityBase(400.0)
     self.p0.factory.setTerminalVelocitySpread(0.0)
     self.p0.factory.setInitialAngle(0.0)
     self.p0.factory.setInitialAngleSpread(360.0)
     self.p0.factory.enableAngularVelocity(1)
     self.p0.factory.setAngularVelocity(0.0)
     self.p0.factory.setAngularVelocitySpread(0.0)
     self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
     self.p0.renderer.setUserAlpha(1.0)
     self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd,
                                        ColorBlendAttrib.OIncomingAlpha,
                                        ColorBlendAttrib.OOne)
     self.p0.renderer.setFromNode(self.card)
     self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0))
     self.p0.renderer.setXScaleFlag(1)
     self.p0.renderer.setYScaleFlag(1)
     self.p0.renderer.setAnimAngleFlag(1)
     self.p0.renderer.setNonanimatedTheta(0.0)
     self.p0.renderer.setAlphaBlendMethod(
         BaseParticleRenderer.PPBLENDLINEAR)
     self.p0.renderer.setAlphaDisable(0)
     self.p0.renderer.getColorInterpolationManager().addLinear(
         0.0, 0.10000000000000001, Vec4(0, 0, 0, 0), self.effectColor, 1)
     self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
     self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 0.0))
     self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0))
     self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
     self.setEffectScale(self.effectScale)
     self.setEffectColor(self.effectColor)
 def __init__(self, parent = None):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     self.effectScale = 1.0
     if parent is not None:
         self.reparentTo(parent)
     
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleBlackSmoke')
     if not FeastSmoke.particleDummy:
         FeastSmoke.particleDummy = base.effectsRoot.attachNewNode(ModelNode('FeastSmokeParticleDummy'))
         FeastSmoke.particleDummy.setDepthWrite(0)
         FeastSmoke.particleDummy.setColorScaleOff()
         FeastSmoke.particleDummy.setLightOff()
     
     self.f = ParticleEffect.ParticleEffect('HeavySmoke')
     self.f.reparentTo(self)
     self.p0 = Particles.Particles('particles-1')
     self.p0.setFactory('ZSpinParticleFactory')
     self.p0.setRenderer('SpriteParticleRenderer')
     self.p0.setEmitter('DiscEmitter')
     self.f.addParticles(self.p0)
     self.p0.setPoolSize(96)
     self.p0.setBirthRate(1.5)
     self.p0.setLitterSize(2)
     self.p0.setLitterSpread(0)
     self.p0.setSystemLifespan(0.0)
     self.p0.setLocalVelocityFlag(1)
     self.p0.setSystemGrowsOlderFlag(0)
     self.p0.setFloorZ(0.0)
     self.p0.factory.setLifespanBase(25.0)
     self.p0.factory.setLifespanSpread(5.0)
     self.p0.factory.setMassBase(1.0)
     self.p0.factory.setMassSpread(0.20000000000000001)
     self.p0.factory.setTerminalVelocityBase(400.0)
     self.p0.factory.setTerminalVelocitySpread(0.0)
     self.p0.factory.setInitialAngle(0.0)
     self.p0.factory.setInitialAngleSpread(30.0)
     self.p0.factory.enableAngularVelocity(0)
     self.p0.factory.setAngularVelocity(0.0)
     self.p0.factory.setAngularVelocitySpread(0.0)
     self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
     self.p0.renderer.setUserAlpha(0.80000000000000004)
     self.p0.renderer.setFromNode(self.card)
     self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0))
     self.p0.renderer.setXScaleFlag(1)
     self.p0.renderer.setYScaleFlag(1)
     self.p0.renderer.setAnimAngleFlag(1)
     self.p0.renderer.setInitialXScale(1.5 * self.cardScale)
     self.p0.renderer.setInitialYScale(1.5 * self.cardScale)
     self.p0.renderer.setFinalXScale(6.0 * self.cardScale)
     self.p0.renderer.setFinalYScale(6.0 * self.cardScale)
     self.p0.renderer.setNonanimatedTheta(0.0)
     self.p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPNOBLEND)
     self.p0.renderer.setAlphaDisable(0)
     self.p0.emitter.setEmissionType(BaseParticleEmitter.ETCUSTOM)
     self.p0.emitter.setAmplitude(6.0)
     self.p0.emitter.setAmplitudeSpread(2.0)
     self.p0.emitter.setOffsetForce(Vec3(4.0, 4.0, 75.0))
     self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0))
     self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 1.0))
     self.p0.emitter.setRadius(10.0)
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/fireworkCards')
     self.card = model.find('**/pir_t_efx_msc_particleSpark_soft')
     self.cardScale = 16.0
     self.setDepthWrite(0)
     self.setColorScaleOff()
     self.setLightOff()
     self.effectScale = 1.0
     self.effectColor = Vec4(1, 1, 1, 1)
     self.f = ParticleEffect.ParticleEffect('NoiseSparkles')
     self.f.reparentTo(self)
     self.p0 = Particles.Particles('particles-2')
     self.p0.setFactory('PointParticleFactory')
     self.p0.setRenderer('SpriteParticleRenderer')
     self.p0.setEmitter('SphereSurfaceEmitter')
     self.f.addParticles(self.p0)
     f0 = ForceGroup.ForceGroup('Gravity')
     force0 = LinearVectorForce(Vec3(0.0, 0.0, -15.0), 1.0, 0)
     force0.setVectorMasks(1, 1, 1)
     force0.setActive(1)
     f0.addForce(force0)
     self.f.addForceGroup(f0)
     f1 = ForceGroup.ForceGroup('Noise')
     self.noiseForce = LinearNoiseForce(25.0, 0.0)
     self.noiseForce.setVectorMasks(1, 1, 1)
     self.noiseForce.setActive(0)
     f1.addForce(self.noiseForce)
     self.f.addForceGroup(f1)
     self.p0.setPoolSize(150)
     self.p0.setBirthRate(0.02)
     self.p0.setLitterSize(50)
     self.p0.setLitterSpread(0)
     self.p0.setSystemLifespan(0.0)
     self.p0.setLocalVelocityFlag(1)
     self.p0.setSystemGrowsOlderFlag(0)
     self.p0.factory.setLifespanBase(2.0)
     self.p0.factory.setLifespanSpread(0.5)
     self.p0.factory.setMassBase(1.0)
     self.p0.factory.setMassSpread(0.0)
     self.p0.factory.setTerminalVelocityBase(400.0)
     self.p0.factory.setTerminalVelocitySpread(0.0)
     self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAUSER)
     self.p0.renderer.setUserAlpha(1.0)
     self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd,
                                        ColorBlendAttrib.OIncomingAlpha,
                                        ColorBlendAttrib.OOne)
     self.p0.renderer.setFromNode(self.card)
     self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0))
     self.p0.renderer.setXScaleFlag(1)
     self.p0.renderer.setYScaleFlag(1)
     self.p0.renderer.setAnimAngleFlag(1)
     self.p0.renderer.setNonanimatedTheta(0.0)
     self.p0.renderer.setAlphaBlendMethod(
         BaseParticleRenderer.PPBLENDLINEAR)
     self.p0.renderer.setAlphaDisable(0)
     self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
     self.p0.emitter.setAmplitudeSpread(0.0)
     self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 0.0))
     self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0))
     self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
     self.setEffectScale(self.effectScale)
     self.setEffectColor(self.effectColor)
    def __init__(self):
        PooledEffect.__init__(self)
        EffectController.__init__(self)
        model = loader.loadModel('models/effects/particleMaps')
        self.card = model.find('**/particleEvilSmoke')
        self.effectScale = 1.0
        if not self.particleDummy:
            self.particleDummy = render.attachNewNode(
                ModelNode('selfParticleDummy'))
            self.particleDummy.setDepthWrite(0)
            self.particleDummy.setColorScaleOff()
            self.particleDummy.setLightOff()
            self.particleDummy.setFogOff()
            self.particleDummy.hide(OTPRender.ShadowCameraBitmask)

        self.f = ParticleEffect.ParticleEffect('VoodooPestilence')
        self.f.reparentTo(self)
        self.p0 = Particles.Particles('particles-1')
        self.p0.setFactory('ZSpinParticleFactory')
        self.p0.setRenderer('SpriteParticleRenderer')
        self.p0.setEmitter('SphereVolumeEmitter')
        self.f.addParticles(self.p0)
        self.f.setP(90.0)
        self.p0.setPoolSize(256)
        self.p0.setBirthRate(0.01)
        self.p0.setLitterSize(3)
        self.p0.setLitterSpread(0)
        self.p0.setSystemLifespan(0.0)
        self.p0.setLocalVelocityFlag(0)
        self.p0.setSystemGrowsOlderFlag(0)
        self.p0.factory.setLifespanBase(1.2)
        self.p0.factory.setLifespanSpread(0.20000000000000001)
        self.p0.factory.setMassBase(1.0)
        self.p0.factory.setMassSpread(0.0)
        self.p0.factory.setTerminalVelocityBase(400.0)
        self.p0.factory.setTerminalVelocitySpread(0.0)
        self.p0.factory.setInitialAngle(0.0)
        self.p0.factory.setInitialAngleSpread(360.0)
        self.p0.factory.enableAngularVelocity(1)
        self.p0.factory.setAngularVelocity(300.0)
        self.p0.factory.setAngularVelocitySpread(25.0)
        self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT)
        self.p0.renderer.setUserAlpha(1.0)
        self.p0.renderer.setFromNode(self.card)
        self.p0.renderer.setXScaleFlag(1)
        self.p0.renderer.setYScaleFlag(1)
        self.p0.renderer.setAnimAngleFlag(1)
        self.p0.renderer.setNonanimatedTheta(0.0)
        self.p0.renderer.setAlphaBlendMethod(
            BaseParticleRenderer.PPBLENDLINEAR)
        self.p0.renderer.setAlphaDisable(0)
        self.p0.renderer.setColorBlendMode(
            ColorBlendAttrib.MAdd, ColorBlendAttrib.OOneMinusFbufferAlpha,
            ColorBlendAttrib.OOneMinusIncomingAlpha)
        self.p0.renderer.getColorInterpolationManager().addLinear(
            0.0, 1.0, Vec4(1.0, 1.0, 1.0, 1.0),
            Vec4(0.10000000000000001, 0.20000000000000001, 0.10000000000000001,
                 0.5), 1)
        self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
        self.p0.emitter.setAmplitude(0.29999999999999999)
        self.p0.emitter.setAmplitudeSpread(0.0)
        self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, -0.45000000000000001))
        self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0))
        self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
        self.p0.emitter.setRadius(0.01)
Beispiel #17
0
    def __init__(self):
        PooledEffect.__init__(self)
        EffectController.__init__(self)
        model = loader.loadModel('models/effects/particleMaps')
        self.card = model.find('**/particleSplash')
        if not CannonSplash.particleDummy:
            CannonSplash.particleDummy = render.attachNewNode(
                ModelNode('CannonSplashParticleDummy'))
            CannonSplash.particleDummy.setDepthWrite(0)

        if not self.splashSfx:
            for audio in self.splashSfxNames:
                self.splashSfx.append(loadSfx(audio))

        self.f = ParticleEffect.ParticleEffect('CannonSplash')
        self.f.reparentTo(self)
        self.p0 = Particles.Particles('particles-1')
        self.p0.setFactory('PointParticleFactory')
        self.p0.setRenderer('SpriteParticleRenderer')
        self.p0.setEmitter('DiscEmitter')
        self.f.addParticles(self.p0)
        f0 = ForceGroup.ForceGroup('gravity')
        force0 = LinearVectorForce(Vec3(0.0, 0.0, -40.0), 1.0, 1)
        force0.setActive(1)
        f0.addForce(force0)
        self.f.addForceGroup(f0)
        self.p0.setPoolSize(32)
        self.p0.setLitterSize(5)
        self.p0.setLitterSpread(2)
        self.p0.setSystemLifespan(0.0)
        self.p0.setLocalVelocityFlag(1)
        self.p0.setSystemGrowsOlderFlag(0)
        self.p0.setFloorZ(-8.0)
        self.p0.factory.setLifespanBase(3.0)
        self.p0.factory.setLifespanSpread(1.0)
        self.p0.factory.setMassBase(1.0)
        self.p0.factory.setMassSpread(0.90000000000000002)
        self.p0.factory.setTerminalVelocityBase(400.0)
        self.p0.factory.setTerminalVelocitySpread(0.0)
        self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
        self.p0.renderer.setUserAlpha(0.20000000000000001)
        self.p0.renderer.setFromNode(self.card)
        self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0))
        self.p0.renderer.setXScaleFlag(1)
        self.p0.renderer.setYScaleFlag(1)
        self.p0.renderer.setAnimAngleFlag(1)
        self.p0.renderer.setInitialXScale(0.10000000000000001 * self.cardScale)
        self.p0.renderer.setFinalXScale(0.69999999999999996 * self.cardScale)
        self.p0.renderer.setInitialYScale(0.10000000000000001 * self.cardScale)
        self.p0.renderer.setFinalYScale(0.69999999999999996 * self.cardScale)
        self.p0.renderer.setNonanimatedTheta(0.0)
        self.p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPNOBLEND)
        self.p0.renderer.setAlphaDisable(0)
        self.p0.emitter.setEmissionType(BaseParticleEmitter.ETCUSTOM)
        self.p0.emitter.setAmplitude(2.0)
        self.p0.emitter.setAmplitudeSpread(0.0)
        self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 40.0))
        self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0))
        self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 1.0))
        self.p0.emitter.setRadius(1.0)
        self.p0.emitter.setOuterAngle(90.0)
        self.p0.emitter.setInnerAngle(0.0)
        self.p0.emitter.setOuterMagnitude(20.0)
        self.p0.emitter.setInnerMagnitude(0.0)
        self.p0.emitter.setCubicLerping(0)
Beispiel #18
0
    def __init__(self):
        PooledEffect.__init__(self)
        EffectController.__init__(self)
        model = loader.loadModel('models/effects/particleMaps')
        self.card = model.find('**/effectWindBlur')
        self.speed = 20.0
        if not VoodooShieldBlast.particleDummy:
            VoodooShieldBlast.particleDummy = render.attachNewNode(
                ModelNode('VoodooShieldBlastParticleDummy'))
            VoodooShieldBlast.particleDummy.setDepthWrite(0)
            VoodooShieldBlast.particleDummy.setLightOff()

        self.f = ParticleEffect.ParticleEffect('VoodooShieldBlast')
        self.f.reparentTo(self)
        self.p0 = Particles.Particles('particles-1')
        self.p0.setFactory('PointParticleFactory')
        self.p0.setRenderer('SpriteParticleRenderer')
        self.p0.setEmitter('SphereSurfaceEmitter')
        self.f.addParticles(self.p0)
        self.p0.setPoolSize(32)
        self.p0.setBirthRate(0.029999999999999999)
        self.p0.setLitterSize(2)
        self.p0.setLitterSpread(0)
        self.p0.setSystemLifespan(0.0)
        self.p0.setLocalVelocityFlag(1)
        self.p0.setSystemGrowsOlderFlag(0)
        self.p0.factory.setLifespanBase(1.5)
        self.p0.factory.setLifespanSpread(0)
        self.p0.factory.setMassBase(1.0)
        self.p0.factory.setMassSpread(0.0)
        self.p0.factory.setTerminalVelocityBase(400.0)
        self.p0.factory.setTerminalVelocitySpread(0.0)
        self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
        self.p0.renderer.setUserAlpha(1.0)
        self.p0.renderer.setFromNode(self.card)
        self.p0.renderer.setColor(
            Vec4(0.80000000000000004, 0.80000000000000004, 0.80000000000000004,
                 1.0))
        self.p0.renderer.setXScaleFlag(1)
        self.p0.renderer.setYScaleFlag(1)
        self.p0.renderer.setAnimAngleFlag(0)
        self.p0.renderer.setInitialXScale(0.0080000000000000002 *
                                          self.cardScale)
        self.p0.renderer.setFinalXScale(0.01 * self.cardScale)
        self.p0.renderer.setInitialYScale(0.029999999999999999 *
                                          self.cardScale)
        self.p0.renderer.setFinalYScale(0.014999999999999999 * self.cardScale)
        self.p0.renderer.setNonanimatedTheta(0.0)
        self.p0.renderer.setAlphaBlendMethod(
            BaseParticleRenderer.PPBLENDLINEAR)
        self.p0.renderer.setAlphaDisable(0)
        self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd,
                                           ColorBlendAttrib.OIncomingAlpha,
                                           ColorBlendAttrib.OOne)
        self.p0.renderer.getColorInterpolationManager().addLinear(
            0.0, 1.0, Vec4(0, 0.20000000000000001, 1, 0.80000000000000004),
            Vec4(0.80000000000000004, 0.90000000000000002, 1, 0), 1)
        self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
        self.p0.emitter.setAmplitude(1.5)
        self.p0.emitter.setAmplitudeSpread(0.0)
        self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 0.0))
        self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0))
        self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
        self.p0.emitter.setRadius(1.0)
Beispiel #19
0
    def __init__(self):
        PooledEffect.__init__(self)
        EffectController.__init__(self)
        model = loader.loadModel('models/effects/particleMaps')
        self.card = model.find('**/particleFlameSmoke')
        if not CeilingDust.particleDummy:
            CeilingDust.particleDummy = render.attachNewNode(
                ModelNode('CeilingDustParticleDummy'))
            CeilingDust.particleDummy.setDepthWrite(0)

        self.f = ParticleEffect.ParticleEffect('CeilingDust')
        self.f.reparentTo(self)
        self.p0 = Particles.Particles('particles-1')
        self.p0.setFactory('PointParticleFactory')
        self.p0.setRenderer('SpriteParticleRenderer')
        self.p0.setEmitter('DiscEmitter')
        self.f.addParticles(self.p0)
        f0 = ForceGroup.ForceGroup('Gravity')
        force0 = LinearVectorForce(Vec3(0.0, 0.0, -1.0), 1.0, 1)
        force0.setVectorMasks(1, 1, 1)
        force0.setActive(1)
        f0.addForce(force0)
        self.f.addForceGroup(f0)
        self.p0.setPoolSize(64)
        self.p0.setBirthRate(0.02)
        self.p0.setLitterSize(8)
        self.p0.setLitterSpread(0)
        self.p0.setSystemLifespan(0.0)
        self.p0.setLocalVelocityFlag(1)
        self.p0.setSystemGrowsOlderFlag(0)
        self.p0.setFloorZ(-5.0)
        self.p0.factory.setLifespanBase(3.0)
        self.p0.factory.setLifespanSpread(2.5)
        self.p0.factory.setMassBase(2.0)
        self.p0.factory.setMassSpread(1.5)
        self.p0.factory.setTerminalVelocityBase(400.0)
        self.p0.factory.setTerminalVelocitySpread(0.0)
        self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT)
        self.p0.renderer.setUserAlpha(0.25)
        self.p0.renderer.setFromNode(self.card)
        self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0))
        self.p0.renderer.setXScaleFlag(1)
        self.p0.renderer.setYScaleFlag(1)
        self.p0.renderer.setAnimAngleFlag(0)
        self.p0.renderer.setInitialXScale(0.080000000000000002 *
                                          self.cardScale)
        self.p0.renderer.setFinalXScale(0.080000000000000002 * self.cardScale)
        self.p0.renderer.setInitialYScale(0.040000000000000001 *
                                          self.cardScale)
        self.p0.renderer.setFinalYScale(0.040000000000000001 * self.cardScale)
        self.p0.renderer.setNonanimatedTheta(0.0)
        self.p0.renderer.setAlphaBlendMethod(
            BaseParticleRenderer.PPBLENDLINEAR)
        self.p0.renderer.setAlphaDisable(0)
        self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
        self.p0.emitter.setAmplitude(1.0)
        self.p0.emitter.setAmplitudeSpread(0.0)
        self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, -0.29999999999999999))
        self.p0.emitter.setExplicitLaunchVector(
            Vec3(0.20000000000000001, 0.0, 0.0))
        self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
        self.p0.emitter.setRadius(100.0)
    def __init__(self):
        PooledEffect.__init__(self)
        EffectController.__init__(self)
        model = loader.loadModel('models/effects/particleMaps')
        self.card = model.find('**/particleRockShower')
        if not SmallRockShower.particleDummy:
            SmallRockShower.particleDummy = render.attachNewNode(
                ModelNode('SmallRockShowerParticleDummy'))
            SmallRockShower.particleDummy.setDepthWrite(0)

        self.f = ParticleEffect.ParticleEffect('RockShower')
        self.f.reparentTo(self)
        self.p0 = Particles.Particles('particles-1')
        self.p0.setFactory('PointParticleFactory')
        self.p0.setRenderer('SpriteParticleRenderer')
        self.p0.setEmitter('DiscEmitter')
        self.f.addParticles(self.p0)
        f0 = ForceGroup.ForceGroup('gravity')
        force0 = LinearVectorForce(Vec3(0.0, 0.0, -15.0), 1.0, 1)
        force0.setActive(1)
        f0.addForce(force0)
        self.f.addForceGroup(f0)
        self.p0.setPoolSize(8)
        self.p0.setBirthRate(0.5)
        self.p0.setLitterSize(1)
        self.p0.setLitterSpread(0)
        self.p0.setSystemLifespan(0.0)
        self.p0.setLocalVelocityFlag(1)
        self.p0.setSystemGrowsOlderFlag(0)
        self.p0.setFloorZ(-5.0)
        self.p0.factory.setLifespanBase(3.0)
        self.p0.factory.setLifespanSpread(0.0)
        self.p0.factory.setMassBase(0.45000000000000001)
        self.p0.factory.setMassSpread(0.10000000000000001)
        self.p0.factory.setTerminalVelocityBase(400.0)
        self.p0.factory.setTerminalVelocitySpread(0.0)
        self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAUSER)
        self.p0.renderer.setUserAlpha(1.0)
        self.p0.renderer.setFromNode(self.card)
        self.p0.renderer.setColor(
            Vec4(0.29999999999999999, 0.20000000000000001, 0, 1))
        self.p0.renderer.setXScaleFlag(1)
        self.p0.renderer.setYScaleFlag(1)
        self.p0.renderer.setAnimAngleFlag(1)
        self.p0.renderer.setInitialXScale(0.02 * self.cardScale)
        self.p0.renderer.setFinalXScale(0.040000000000000001 * self.cardScale)
        self.p0.renderer.setInitialYScale(0.02 * self.cardScale)
        self.p0.renderer.setFinalYScale(0.040000000000000001 * self.cardScale)
        self.p0.renderer.setNonanimatedTheta(0.0)
        self.p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPNOBLEND)
        self.p0.renderer.setAlphaDisable(0)
        self.p0.emitter.setEmissionType(BaseParticleEmitter.ETCUSTOM)
        self.p0.emitter.setAmplitude(1.0)
        self.p0.emitter.setAmplitudeSpread(0.0)
        self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 25.0))
        self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0))
        self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 1.0))
        self.p0.emitter.setRadius(0.20000000000000001)
        self.p0.emitter.setOuterAngle(45.0)
        self.p0.emitter.setInnerAngle(0.0)
        self.p0.emitter.setOuterMagnitude(5.0)
        self.p0.emitter.setInnerMagnitude(0.0)
        self.p0.emitter.setCubicLerping(0)
Beispiel #21
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/sigils')
     self.card = model.find('**/effectSkull')
     self.setDepthWrite(0)
     self.setLightOff()
     self.effectColor = Vec4(1, 1, 1, 1)
     self.f = ParticleEffect.ParticleEffect('WitherStar')
     self.f.reparentTo(self)
     self.p0 = Particles.Particles('particles-1')
     self.p0.setFactory('ZSpinParticleFactory')
     self.p0.setRenderer('SpriteParticleRenderer')
     self.p0.setEmitter('SphereSurfaceEmitter')
     self.f.addParticles(self.p0)
     self.p0.setPoolSize(64)
     self.p0.setBirthRate(0.02)
     self.p0.setLitterSize(6)
     self.p0.setLitterSpread(0)
     self.p0.setSystemLifespan(0.0)
     self.p0.setLocalVelocityFlag(1)
     self.p0.setSystemGrowsOlderFlag(0)
     self.p0.factory.setLifespanBase(0.40000000000000002)
     self.p0.factory.setLifespanSpread(0.10000000000000001)
     self.p0.factory.setMassBase(1.0)
     self.p0.factory.setMassSpread(0.0)
     self.p0.factory.setTerminalVelocityBase(400.0)
     self.p0.factory.setTerminalVelocitySpread(0.0)
     self.p0.factory.setInitialAngle(0.0)
     self.p0.factory.setInitialAngleSpread(360.0)
     self.p0.factory.enableAngularVelocity(1)
     self.p0.factory.setAngularVelocity(0.0)
     self.p0.factory.setAngularVelocitySpread(0.0)
     self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT)
     self.p0.renderer.setUserAlpha(1.0)
     self.p0.renderer.setFromNode(self.card)
     self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0))
     self.p0.renderer.setXScaleFlag(1)
     self.p0.renderer.setYScaleFlag(1)
     self.p0.renderer.setAnimAngleFlag(1)
     self.p0.renderer.setInitialXScale(0.0001 * self.cardScale)
     self.p0.renderer.setFinalXScale(0.0025000000000000001 * self.cardScale)
     self.p0.renderer.setInitialYScale(0.00050000000000000001 *
                                       self.cardScale)
     self.p0.renderer.setFinalYScale(0.025000000000000001 * self.cardScale)
     self.p0.renderer.setNonanimatedTheta(0.0)
     self.p0.renderer.setAlphaBlendMethod(
         BaseParticleRenderer.PPBLENDLINEAR)
     self.p0.renderer.setAlphaDisable(0)
     self.p0.renderer.setColorBlendMode(
         ColorBlendAttrib.MAdd, ColorBlendAttrib.OOneMinusFbufferAlpha,
         ColorBlendAttrib.OOneMinusIncomingAlpha)
     self.p0.renderer.getColorInterpolationManager().addLinear(
         0.0, 1.0, Vec4(1.0, 1.0, 1.0, 1.0),
         Vec4(0.59999999999999998, 0.90000000000000002, 0.69999999999999996,
              0.40000000000000002), 1)
     self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
     self.p0.emitter.setAmplitude(1.0)
     self.p0.emitter.setAmplitudeSpread(0.0)
     self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 0.10000000000000001))
     self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0))
     self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
     self.p0.emitter.setRadius(0.01)
 def __init__(self, type=None):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleDarkSmoke')
     if not VoodooProjectile.particleDummy:
         VoodooProjectile.particleDummy = render.attachNewNode(
             ModelNode('VoodooProjectileParticleDummy'))
         VoodooProjectile.particleDummy.setDepthWrite(0)
         VoodooProjectile.particleDummy.setLightOff()
         VoodooProjectile.particleDummy.setColorScaleOff()
         VoodooProjectile.particleDummy.setFogOff()
     self.effectColor = Vec4(0.5, 0.2, 1, 1)
     self.f = ParticleEffect.ParticleEffect('VoodooProjectile')
     self.f.reparentTo(self)
     self.p0 = Particles.Particles('particles-1')
     self.p0.setFactory('ZSpinParticleFactory')
     self.p0.setRenderer('SpriteParticleRenderer')
     self.p0.setEmitter('DiscEmitter')
     self.f.addParticles(self.p0)
     self.motion_color = [
         Vec4(0.5, 0.2, 1.0, 1.0),
         Vec4(0.5, 0.2, 1.0, 1.0),
         Vec4(0.5, 0.2, 1.0, 1.0),
         Vec4(0.5, 0.2, 1.0, 1.0),
         Vec4(0.5, 0.2, 1.0, 1.0)
     ]
     r = 0.2
     vertex_list = [
         Vec4(r, 0.0, r, 1.0),
         Vec4(r, 0.0, -r, 1.0),
         Vec4(-r, 0.0, -r, 1.0),
         Vec4(-r, 0.0, r, 1.0),
         Vec4(r, 0.0, r, 1.0)
     ]
     self.motion_trail = PolyTrail.PolyTrail(None, vertex_list,
                                             self.motion_color)
     self.motion_trail.reparentTo(self)
     self.motion_trail.node().setAttrib(
         ColorBlendAttrib.make(ColorBlendAttrib.MAdd,
                               ColorBlendAttrib.OIncomingAlpha,
                               ColorBlendAttrib.OOne))
     self.p0.setPoolSize(256)
     self.p0.setBirthRate(0.01)
     self.p0.setLitterSize(1)
     self.p0.setLitterSpread(0)
     self.p0.setSystemLifespan(0.0)
     self.p0.setLocalVelocityFlag(1)
     self.p0.setSystemGrowsOlderFlag(0)
     self.p0.factory.setLifespanBase(0.5)
     self.p0.factory.setLifespanSpread(0.15)
     self.p0.factory.setMassBase(1.0)
     self.p0.factory.setMassSpread(0.0)
     self.p0.factory.setTerminalVelocityBase(400.0)
     self.p0.factory.setTerminalVelocitySpread(0.0)
     self.p0.factory.setInitialAngle(0.0)
     self.p0.factory.setInitialAngleSpread(90.0)
     self.p0.factory.enableAngularVelocity(1)
     self.p0.factory.setFinalAngle(1080.0)
     self.p0.factory.setFinalAngleSpread(0.0)
     self.p0.factory.setAngularVelocity(500.0)
     self.p0.factory.setAngularVelocitySpread(100.0)
     self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT)
     self.p0.renderer.setUserAlpha(1.0)
     self.p0.renderer.setFromNode(self.card)
     self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0))
     self.p0.renderer.setXScaleFlag(1)
     self.p0.renderer.setYScaleFlag(1)
     self.p0.renderer.setAnimAngleFlag(1)
     self.p0.renderer.setInitialXScale(0.01 * self.cardScale)
     self.p0.renderer.setInitialYScale(0.01 * self.cardScale)
     self.p0.renderer.setFinalXScale(0.025 * self.cardScale)
     self.p0.renderer.setFinalYScale(0.025 * self.cardScale)
     self.p0.renderer.setNonanimatedTheta(0.0)
     self.p0.renderer.setAlphaBlendMethod(
         BaseParticleRenderer.PPBLENDLINEAR)
     self.p0.renderer.setAlphaDisable(0)
     self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd,
                                        ColorBlendAttrib.OIncomingAlpha,
                                        ColorBlendAttrib.OOne)
     self.p0.renderer.getColorInterpolationManager().addLinear(
         0.0, 1.0, Vec4(1.0, 1.0, 1.0, 1.0), Vec4(0.5, 0.2, 1.0, 0.25), 1)
     self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
     self.p0.emitter.setAmplitude(-0.25)
     self.p0.emitter.setAmplitudeSpread(0.25)
     self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, -2.0))
     self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0))
     self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
     self.p0.emitter.setRadius(0.1)
     return
Beispiel #23
0
    def __init__(self):
        PooledEffect.__init__(self)
        EffectController.__init__(self)
        model = loader.loadModel('models/effects/particleMaps')
        self.card = model.find('**/particleGlowBlue')
        self.faceCard = model.find('**/effectFury')
        self.faceCard.reparentTo(self)
        self.faceCard.setDepthWrite(0)
        self.faceCard.setLightOff()
        self.faceCard.setColorScale(0.0, 0.0, 0.0, 1.0)
        self.faceCard.setBillboardPointEye(3.0)
        self.faceCard.setScale(5.0)
        self.faceCard.setBin('fixed', 10)
        if not FuryTrail.particleDummy:
            FuryTrail.particleDummy = render.attachNewNode(
                ModelNode('FuryTrailParticleDummy'))
            FuryTrail.particleDummy.setDepthWrite(0)
            FuryTrail.particleDummy.setLightOff()
            FuryTrail.particleDummy.setBin('fixed', 0)

        self.f = ParticleEffect.ParticleEffect('FuryTrail')
        self.f.reparentTo(self)
        self.p0 = Particles.Particles('particles-1')
        self.p0.setFactory('PointParticleFactory')
        self.p0.setRenderer('SpriteParticleRenderer')
        self.p0.setEmitter('DiscEmitter')
        self.f.addParticles(self.p0)
        f0 = ForceGroup.ForceGroup('noise')
        force0 = LinearNoiseForce(1.5, 1)
        force0.setActive(1)
        f0.addForce(force0)
        self.f.addForceGroup(f0)
        self.p0.setPoolSize(32)
        self.p0.setBirthRate(0.01)
        self.p0.setLitterSize(1)
        self.p0.setLitterSpread(0)
        self.p0.setSystemLifespan(0.0)
        self.p0.setLocalVelocityFlag(1)
        self.p0.setSystemGrowsOlderFlag(0)
        self.p0.factory.setLifespanBase(0.29999999999999999)
        self.p0.factory.setLifespanSpread(0.0)
        self.p0.factory.setMassBase(1.0)
        self.p0.factory.setMassSpread(0.20000000000000001)
        self.p0.factory.setTerminalVelocityBase(400.0)
        self.p0.factory.setTerminalVelocitySpread(0.0)
        self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
        self.p0.renderer.setUserAlpha(1.0)
        self.p0.renderer.setFromNode(self.card)
        self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0))
        self.p0.renderer.setXScaleFlag(1)
        self.p0.renderer.setYScaleFlag(1)
        self.p0.renderer.setAnimAngleFlag(0)
        self.p0.renderer.setInitialXScale(0.13 * self.cardScale)
        self.p0.renderer.setInitialYScale(0.13 * self.cardScale)
        self.p0.renderer.setFinalXScale(0.050000000000000003 * self.cardScale)
        self.p0.renderer.setFinalYScale(0.050000000000000003 * self.cardScale)
        self.p0.renderer.setNonanimatedTheta(0.0)
        self.p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPNOBLEND)
        self.p0.renderer.setAlphaDisable(0)
        self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
        self.p0.emitter.setAmplitude(-2.0)
        self.p0.emitter.setAmplitudeSpread(0.5)
        self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 10.0))
        self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd,
                                           ColorBlendAttrib.OIncomingAlpha,
                                           ColorBlendAttrib.OOne)
        self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0))
        self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
        self.p0.emitter.setRadius(1.0)
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleSmoke')
     self.spriteScale = 1.0
     if not SmokeExplosion.particleDummy:
         SmokeExplosion.particleDummy = render.attachNewNode(
             ModelNode('SmokeExplosionParticleDummy'))
         SmokeExplosion.particleDummy.setDepthWrite(0)
         SmokeExplosion.particleDummy.setColorScaleOff()
     self.f = ParticleEffect.ParticleEffect('SmokeExplosion')
     self.f.reparentTo(self)
     self.p0 = Particles.Particles('particles-1')
     self.p0.setFactory('ZSpinParticleFactory')
     self.p0.setRenderer('SpriteParticleRenderer')
     self.p0.setEmitter('SphereVolumeEmitter')
     self.f.addParticles(self.p0)
     f0 = ForceGroup.ForceGroup('gravity')
     force0 = LinearVectorForce(Vec3(0.0, 0.0, -20.0), 1.0, 1)
     force0.setActive(1)
     f0.addForce(force0)
     self.f.addForceGroup(f0)
     self.p0.setPoolSize(64)
     self.p0.setBirthRate(0.3)
     self.p0.setLitterSize(6)
     self.p0.setLitterSpread(2)
     self.p0.setSystemLifespan(0.0)
     self.p0.setLocalVelocityFlag(1)
     self.p0.setSystemGrowsOlderFlag(0)
     self.p0.setFloorZ(-10.0)
     self.p0.factory.setLifespanBase(1.5)
     self.p0.factory.setLifespanSpread(0.5)
     self.p0.factory.setMassBase(1.0)
     self.p0.factory.setMassSpread(0.5)
     self.p0.factory.setTerminalVelocityBase(1000.0)
     self.p0.factory.setTerminalVelocitySpread(0.0)
     self.p0.factory.setInitialAngle(0.0)
     self.p0.factory.setInitialAngleSpread(30.0)
     self.p0.factory.enableAngularVelocity(0)
     self.p0.factory.setAngularVelocity(5.0)
     self.p0.factory.setAngularVelocitySpread(1.0)
     self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
     self.p0.renderer.setUserAlpha(0.25)
     self.p0.renderer.setFromNode(self.card)
     self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0))
     self.p0.renderer.setXScaleFlag(1)
     self.p0.renderer.setYScaleFlag(1)
     self.p0.renderer.setAnimAngleFlag(1)
     self.p0.renderer.setInitialXScale(0.075 * self.spriteScale *
                                       self.cardScale)
     self.p0.renderer.setFinalXScale(0.25 * self.spriteScale *
                                     self.cardScale)
     self.p0.renderer.setInitialYScale(0.075 * self.spriteScale *
                                       self.cardScale)
     self.p0.renderer.setFinalYScale(0.25 * self.spriteScale *
                                     self.cardScale)
     self.p0.renderer.setNonanimatedTheta(0.0)
     self.p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPNOBLEND)
     self.p0.renderer.setAlphaDisable(0)
     self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
     self.p0.emitter.setAmplitude(1.5)
     self.p0.emitter.setAmplitudeSpread(0.5)
     self.p0.emitter.setOffsetForce(Vec3(1.0, 1.0, 30.0))
     self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0))
     self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 1.0))
     self.p0.emitter.setRadius(10.0)
Beispiel #25
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleVolcanoSmoke')
     self.setLightOff()
     self.setColorScaleOff()
     self.setDepthWrite(0)
     self.f = ParticleEffect.ParticleEffect('TeleportDust')
     self.f.reparentTo(self)
     self.p0 = Particles.Particles('dust')
     self.p0.setFactory('ZSpinParticleFactory')
     self.p0.setRenderer('SpriteParticleRenderer')
     self.p0.setEmitter('DiscEmitter')
     self.f.addParticles(self.p0)
     f0 = ForceGroup.ForceGroup('forceGroup-1')
     force0 = LinearCylinderVortexForce(10.0, 10.0, 0.5, 2.25, 0)
     force0.setVectorMasks(1, 1, 0)
     force0.setActive(1)
     f0.addForce(force0)
     force1 = LinearSinkForce(Point3(0.0, 0.0, 0.0),
                              LinearDistanceForce.FTONEOVERRSQUARED, 1.0,
                              25.0, 0)
     force1.setVectorMasks(1, 1, 0)
     force1.setActive(1)
     f0.addForce(force1)
     force2 = LinearVectorForce(Vec3(0.0, 0.0, 3.0), 1.0, 0)
     force2.setVectorMasks(0, 0, 1)
     force2.setActive(1)
     f0.addForce(force2)
     self.f.addForceGroup(f0)
     self.p0.setPoolSize(32)
     self.p0.setBirthRate(0.1)
     self.p0.setLitterSize(2)
     self.p0.setLitterSpread(0)
     self.p0.setSystemLifespan(0.0)
     self.p0.setLocalVelocityFlag(1)
     self.p0.setSystemGrowsOlderFlag(0)
     self.p0.factory.setLifespanBase(2.75)
     self.p0.factory.setLifespanSpread(0.0)
     self.p0.factory.setMassBase(1.0)
     self.p0.factory.setMassSpread(0.0)
     self.p0.factory.setTerminalVelocityBase(400.0)
     self.p0.factory.setTerminalVelocitySpread(0.0)
     self.p0.factory.setInitialAngle(0.0)
     self.p0.factory.setInitialAngleSpread(0.0)
     self.p0.factory.enableAngularVelocity(1)
     self.p0.factory.setAngularVelocity(0.0)
     self.p0.factory.setAngularVelocitySpread(90.0)
     self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT)
     self.p0.renderer.setUserAlpha(0.8)
     self.p0.renderer.setFromNode(self.card)
     self.p0.renderer.setColor(Vec4(0.8, 0.8, 0.8, 1.0))
     self.p0.renderer.setXScaleFlag(1)
     self.p0.renderer.setYScaleFlag(1)
     self.p0.renderer.setAnimAngleFlag(1)
     self.p0.renderer.setInitialXScale(0.008 * self.cardScale)
     self.p0.renderer.setFinalXScale(0.015 * self.cardScale)
     self.p0.renderer.setInitialYScale(0.008 * self.cardScale)
     self.p0.renderer.setFinalYScale(0.015 * self.cardScale)
     self.p0.renderer.setNonanimatedTheta(0.0)
     self.p0.renderer.setAlphaBlendMethod(
         BaseParticleRenderer.PPBLENDLINEAR)
     self.p0.renderer.setAlphaDisable(0)
     self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
     self.p0.emitter.setAmplitude(1.0)
     self.p0.emitter.setAmplitudeSpread(0.0)
     self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 0.0))
     self.p0.emitter.setExplicitLaunchVector(Vec3(0.0, 0.0, 0.0))
     self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
     self.p0.emitter.setRadius(2.0)
Beispiel #26
0
    def __init__(self):
        PooledEffect.__init__(self)
        EffectController.__init__(self)
        model = loader.loadModel('models/effects/particleMaps')
        self.card = model.find('**/particleSpark')
        if not HealPotion.particleDummy:
            HealPotion.particleDummy = render.attachNewNode(
                ModelNode('HealPotionParticleDummy'))
            HealPotion.particleDummy.setDepthWrite(0)
            HealPotion.particleDummy.setLightOff()
            HealPotion.particleDummy.setFogOff()
            HealPotion.particleDummy.setColorScaleOff()

        self.effectColor = Vec4(1, 1, 1, 1)
        self.f = ParticleEffect.ParticleEffect('HealSparks')
        self.f.reparentTo(self)
        self.p0 = Particles.Particles('particles-1')
        self.p0.setFactory('PointParticleFactory')
        self.p0.setRenderer('SpriteParticleRenderer')
        self.p0.setEmitter('SphereVolumeEmitter')
        self.f.addParticles(self.p0)
        f0 = ForceGroup.ForceGroup('Gravity')
        force0 = LinearVectorForce(Vec3(0.0, 0.0, -10.0), 1.0, 0)
        force0.setVectorMasks(1, 1, 1)
        force0.setActive(1)
        f0.addForce(force0)
        self.f.addForceGroup(f0)
        self.p0.setPoolSize(32)
        self.p0.setBirthRate(0.01)
        self.p0.setLitterSize(2)
        self.p0.setLitterSpread(0)
        self.p0.setSystemLifespan(0.0)
        self.p0.setLocalVelocityFlag(1)
        self.p0.setSystemGrowsOlderFlag(0)
        self.p0.factory.setLifespanBase(0.80000000000000004)
        self.p0.factory.setLifespanSpread(0.10000000000000001)
        self.p0.factory.setMassBase(1.0)
        self.p0.factory.setMassSpread(0.0)
        self.p0.factory.setTerminalVelocityBase(400.0)
        self.p0.factory.setTerminalVelocitySpread(0.0)
        self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
        self.p0.renderer.setUserAlpha(1.0)
        self.p0.renderer.setFromNode(self.card)
        self.p0.renderer.setColor(Vec4(1, 1, 1, 1))
        self.p0.renderer.setXScaleFlag(1)
        self.p0.renderer.setYScaleFlag(1)
        self.p0.renderer.setAnimAngleFlag(0)
        self.p0.renderer.setInitialXScale(0.002 * self.cardScale)
        self.p0.renderer.setFinalXScale(0.0030000000000000001 * self.cardScale)
        self.p0.renderer.setInitialYScale(0.002 * self.cardScale)
        self.p0.renderer.setFinalYScale(0.0040000000000000001 * self.cardScale)
        self.p0.renderer.setNonanimatedTheta(0.0)
        self.p0.renderer.setAlphaBlendMethod(
            BaseParticleRenderer.PPBLENDLINEAR)
        self.p0.renderer.setAlphaDisable(0)
        self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd,
                                           ColorBlendAttrib.OIncomingAlpha,
                                           ColorBlendAttrib.OOne)
        self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
        self.p0.emitter.setAmplitude(0.0)
        self.p0.emitter.setAmplitudeSpread(0.5)
        self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 0.0))
        self.p0.emitter.setExplicitLaunchVector(Vec3(0.0, 0.0, 0.0))
        self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
        self.p0.emitter.setRadius(0.10000000000000001)
Beispiel #27
0
    def __init__(self, effectParent=None):
        PooledEffect.__init__(self)
        EffectController.__init__(self)
        if effectParent:
            self.reparentTo(effectParent)

        model = loader.loadModel('models/effects/particleMaps')
        self.card = model.find('**/particleFire2')
        if not self.burningSfx:
            self.burningSfx = loadSfx(SoundGlobals.SFX_WEAPON_GRENADE_FIREBOMB)

        if not MysticFire.particleDummy:
            MysticFire.particleDummy = render.attachNewNode(
                ModelNode('FireParticleDummy'))
            MysticFire.particleDummy.setDepthWrite(0)
            MysticFire.particleDummy.setFogOff()
            MysticFire.particleDummy.setLightOff()
            MysticFire.particleDummy.setColorScaleOff()
            MysticFire.particleDummy.setBin('fixed', 60)

        self.duration = 4.0
        self.effectScale = 1.0
        self.f = ParticleEffect.ParticleEffect('MysticFire')
        self.f.reparentTo(self)
        self.p0 = Particles.Particles('particles-1')
        self.p0.setFactory('ZSpinParticleFactory')
        self.p0.setRenderer('SpriteParticleRenderer')
        self.p0.setEmitter('DiscEmitter')
        self.f.addParticles(self.p0)
        self.p0.setPoolSize(64)
        self.p0.setBirthRate(0.01)
        self.p0.setLitterSize(3)
        self.p0.setLitterSpread(0)
        self.p0.setSystemLifespan(0.0)
        self.p0.setLocalVelocityFlag(1)
        self.p0.setSystemGrowsOlderFlag(0)
        self.p0.setFloorZ(-1.0)
        self.p0.factory.setLifespanBase(0.75)
        self.p0.factory.setLifespanSpread(0.25)
        self.p0.factory.setMassBase(1.0)
        self.p0.factory.setMassSpread(0.0)
        self.p0.factory.setTerminalVelocityBase(400.0)
        self.p0.factory.setTerminalVelocitySpread(0.0)
        self.p0.factory.setInitialAngle(0.0)
        self.p0.factory.setInitialAngleSpread(360.0)
        self.p0.factory.enableAngularVelocity(1)
        self.p0.factory.setAngularVelocity(0.0)
        self.p0.factory.setAngularVelocitySpread(350.0)
        self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT)
        self.p0.renderer.setUserAlpha(1.0)
        self.p0.renderer.setFromNode(self.card)
        self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0))
        self.p0.renderer.setXScaleFlag(1)
        self.p0.renderer.setYScaleFlag(1)
        self.p0.renderer.setAnimAngleFlag(1)
        self.p0.renderer.setNonanimatedTheta(0.0)
        self.p0.renderer.setAlphaBlendMethod(
            BaseParticleRenderer.PPBLENDLINEAR)
        self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd,
                                           ColorBlendAttrib.OIncomingAlpha,
                                           ColorBlendAttrib.OOne)
        self.p0.renderer.getColorInterpolationManager().addLinear(
            0.0, 1.0, Vec4(0.75, 0.84999999999999998, 0.29999999999999999,
                           1.0),
            Vec4(0.40000000000000002, 0.84999999999999998, 0.29999999999999999,
                 0.5), 1)
        self.p0.renderer.setAlphaDisable(0)
        self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
        self.p0.emitter.setAmplitude(-1)
        self.p0.emitter.setAmplitudeSpread(0.25)
        self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 15.0))
        self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0))
        self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
Beispiel #28
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel(
         'phase_4/models/props/tt_m_efx_ext_particleCards')
     self.card = model.find('**/tt_t_efx_ext_particleStars')
     self.cardScale = 64.0
     self.effectColor = Vec4(1, 1, 1, 1)
     self.effectScale = 1.0
     self.lifespan = 2.0
     if not SparksTrailLong.particleDummy:
         SparksTrailLong.particleDummy = render.attachNewNode(
             ModelNode('SparksTrailLongParticleDummy'))
         SparksTrailLong.particleDummy.setDepthWrite(0)
     self.f = ParticleEffect.ParticleEffect('SparksTrailLong')
     self.f.reparentTo(self)
     self.p0 = Particles.Particles('particles-1')
     self.p0.setFactory('ZSpinParticleFactory')
     self.p0.setRenderer('SpriteParticleRenderer')
     self.p0.setEmitter('PointEmitter')
     self.f.addParticles(self.p0)
     f0 = ForceGroup.ForceGroup('Gravity')
     force0 = LinearVectorForce(Vec3(0.0, 0.0, -2.0), 1.0, 0)
     force0.setVectorMasks(1, 1, 1)
     force0.setActive(1)
     f0.addForce(force0)
     self.f.addForceGroup(f0)
     self.p0.setPoolSize(128)
     self.p0.setBirthRate(0.02)
     self.p0.setLitterSize(1)
     self.p0.setLitterSpread(0)
     self.p0.setSystemLifespan(0.0)
     self.p0.setLocalVelocityFlag(0)
     self.p0.setSystemGrowsOlderFlag(0)
     self.p0.factory.setLifespanBase(self.lifespan)
     self.p0.factory.setLifespanSpread(0.1)
     self.p0.factory.setMassBase(1.0)
     self.p0.factory.setMassSpread(0.0)
     self.p0.factory.setTerminalVelocityBase(400.0)
     self.p0.factory.setTerminalVelocitySpread(0.0)
     self.p0.factory.setInitialAngle(0.0)
     self.p0.factory.setInitialAngleSpread(90.0)
     self.p0.factory.enableAngularVelocity(1)
     self.p0.factory.setAngularVelocity(0.0)
     self.p0.factory.setAngularVelocitySpread(25.0)
     self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
     self.p0.renderer.setUserAlpha(1.0)
     self.p0.renderer.setFromNode(self.card)
     self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0))
     self.p0.renderer.setXScaleFlag(1)
     self.p0.renderer.setYScaleFlag(1)
     self.p0.renderer.setAnimAngleFlag(1)
     self.p0.renderer.setNonanimatedTheta(0.0)
     self.p0.renderer.setAlphaBlendMethod(
         BaseParticleRenderer.PPBLENDLINEAR)
     self.p0.renderer.setAlphaDisable(0)
     self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd,
                                        ColorBlendAttrib.OIncomingAlpha,
                                        ColorBlendAttrib.OOne)
     self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
     self.p0.emitter.setAmplitudeSpread(0.0)
     self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, -2.0))
     self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0))
     self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
     self.setEffectScale(self.effectScale)
Beispiel #29
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleGroundFog')
     if not FartEffect.particleDummy:
         FartEffect.particleDummy = render.attachNewNode(ModelNode('FartEffectParticleDummy'))
         FartEffect.particleDummy.setDepthWrite(0)
         FartEffect.particleDummy.setFogOff()
         FartEffect.particleDummy.setLightOff()
         FartEffect.particleDummy.setColorScaleOff()
         FartEffect.particleDummy.setTwoSided(1)
     
     self.icon = loader.loadModel('models/effects/skull')
     self.icon.setBillboardAxis(0.0)
     self.icon.setDepthWrite(0)
     self.icon.setFogOff()
     self.icon.setLightOff()
     self.icon.setColorScaleOff()
     self.icon.reparentTo(self)
     self.icon.setPos(self, 0, 0, -0.29999999999999999)
     self.icon.setBin('fixed', 65)
     self.icon.hide(OTPRender.ShadowCameraBitmask)
     self.f = ParticleEffect.ParticleEffect('FartEffect')
     self.f.reparentTo(self)
     self.p0 = Particles.Particles('particles-1')
     self.p0.setFactory('PointParticleFactory')
     self.p0.setRenderer('SpriteParticleRenderer')
     self.p0.setEmitter('SphereSurfaceEmitter')
     self.f.addParticles(self.p0)
     f0 = ForceGroup.ForceGroup('gravity')
     force0 = LinearVectorForce(Vec3(0.0, 0.0, 0.5), 1.0, 0)
     force0.setVectorMasks(1, 1, 1)
     force0.setActive(1)
     f0.addForce(force0)
     force1 = LinearJitterForce(1.0, 0)
     force1.setVectorMasks(1, 1, 1)
     force1.setActive(1)
     f0.addForce(force1)
     self.f.addForceGroup(f0)
     self.p0.setPoolSize(128)
     self.p0.setBirthRate(0.20000000000000001)
     self.p0.setLitterSize(5)
     self.p0.setLitterSpread(0)
     self.p0.setSystemLifespan(0.0)
     self.p0.setLocalVelocityFlag(0)
     self.p0.setSystemGrowsOlderFlag(0)
     self.p0.factory.setLifespanBase(5.0)
     self.p0.factory.setLifespanSpread(0.10000000000000001)
     self.p0.factory.setMassBase(1.0)
     self.p0.factory.setMassSpread(0.0)
     self.p0.factory.setTerminalVelocityBase(400.0)
     self.p0.factory.setTerminalVelocitySpread(0.0)
     self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
     self.p0.renderer.setUserAlpha(0.20000000000000001)
     self.p0.renderer.setFromNode(self.card)
     self.p0.renderer.setColor(Vec4(0.0, 1.0, 0.0, 1.0))
     self.p0.renderer.setXScaleFlag(1)
     self.p0.renderer.setYScaleFlag(1)
     self.p0.renderer.setAnimAngleFlag(1)
     self.p0.renderer.setInitialXScale(0.001 * self.cardScale)
     self.p0.renderer.setInitialYScale(0.001 * self.cardScale)
     self.p0.renderer.setFinalXScale(0.02 * self.cardScale)
     self.p0.renderer.setFinalYScale(0.02 * self.cardScale)
     self.p0.renderer.setNonanimatedTheta(0.0)
     self.p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPNOBLEND)
     self.p0.renderer.setAlphaDisable(0)
     self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
     self.p0.emitter.setAmplitude(1.0)
     self.p0.emitter.setAmplitudeSpread(0.0)
     self.p0.emitter.setOffsetForce(Vec3(0.0, -1.0, 0.0))
     self.p0.emitter.setExplicitLaunchVector(Vec3(0.0, 0.0, 0.0))
     self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
     self.p0.emitter.setRadius(0.25)
 def __init__(self):
     NodePath.__init__(self, 'VolcanoSmoke')
     EffectController.__init__(self)
     self.particleDummy = self.attachNewNode(
         ModelNode('VolcanoSmokeParticleDummy'))
     self.particleDummy.setDepthWrite(0)
     self.particleDummy.setColorScaleOff()
     self.particleDummy.setLightOff()
     self.particleDummy.clearFog()
     self.particleDummy.setBin('fixed', 10)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleWhiteSmoke')
     self.f = ParticleEffect.ParticleEffect('VolcanoSmoke')
     self.p0 = Particles.Particles('particles-1')
     self.p0.setFactory('ZSpinParticleFactory')
     self.p0.setRenderer('SpriteParticleRenderer')
     self.p0.setEmitter('SphereVolumeEmitter')
     self.duration = 10.0
     self.f0 = ForceGroup.ForceGroup('volcano')
     self.force0 = LinearJitterForce(12.0, 0)
     self.force0.setVectorMasks(1, 1, 0)
     self.force0.setActive(1)
     self.f0.addForce(self.force0)
     self.f.addForceGroup(self.f0)
     self.p0.setPoolSize(32)
     self.p0.setBirthRate(3.0)
     self.p0.setLitterSize(1)
     self.p0.setLitterSpread(0)
     self.p0.setSystemLifespan(0.0)
     self.p0.setLocalVelocityFlag(1)
     self.p0.setSystemGrowsOlderFlag(0)
     self.p0.factory.setLifespanBase(60.0)
     self.p0.factory.setLifespanSpread(30.0)
     self.p0.factory.setMassBase(1.0)
     self.p0.factory.setMassSpread(0.0)
     self.p0.factory.setTerminalVelocityBase(400.0)
     self.p0.factory.setTerminalVelocitySpread(0.0)
     self.p0.factory.setInitialAngle(0.0)
     self.p0.factory.setInitialAngleSpread(180.0)
     self.p0.factory.setFinalAngle(0.0)
     self.p0.factory.setFinalAngleSpread(360.0)
     self.p0.factory.enableAngularVelocity(0)
     self.p0.factory.setAngularVelocity(0.0)
     self.p0.factory.setAngularVelocitySpread(0.0)
     self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAUSER)
     self.p0.renderer.setUserAlpha(1.0)
     self.p0.renderer.setFromNode(self.card)
     self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0))
     self.p0.renderer.setXScaleFlag(1)
     self.p0.renderer.setYScaleFlag(1)
     self.p0.renderer.setAnimAngleFlag(1)
     self.p0.renderer.setNonanimatedTheta(0.0)
     self.p0.renderer.setAlphaBlendMethod(
         BaseParticleRenderer.PPBLENDLINEAR)
     self.p0.renderer.setAlphaDisable(0)
     self.p0.renderer.getColorInterpolationManager().addLinear(
         0.0, 0.05, Vec4(1, 0, 0, 0), Vec4(1, 0.6, 0.25, 1.0))
     self.p0.renderer.getColorInterpolationManager().addLinear(
         0.05, 0.1, Vec4(1, 0.6, 0.25, 1), Vec4(0.25, 0.25, 0.25, 1.0))
     self.p0.renderer.getColorInterpolationManager().addConstant(
         0.1, 0.8, Vec4(0.25, 0.25, 0.25, 1))
     self.p0.renderer.getColorInterpolationManager().addLinear(
         0.8, 1.0, Vec4(0.25, 0.25, 0.25, 1.0), Vec4(0.5, 0.5, 0.5, 0.0))
     self.p0.emitter.setEmissionType(BaseParticleEmitter.ETEXPLICIT)
     self.p0.emitter.setAmplitude(0.0)
     self.p0.emitter.setAmplitudeSpread(0.0)
     self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 0.0))
     self.p0.emitter.setExplicitLaunchVector(Vec3(0.0, 0.0, 0.0))
     self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
     self.p0.emitter.setRadius(2.0)
     self.f.addParticles(self.p0)