def getBurstEffectsIval(self):
     if not self.burstEffectsIval:
         self.burstEffectsIval = Parallel()
         if self.burstTypeId is None:
             return self.burstEffectsIval
         self.burstEffectsIval.append(Wait(0.5))
         self.burstEffectsIval.append(Func(random.choice(self.burstSfx).play))
         flash = FlashEffect()
         flash.reparentTo(self.effectsNode)
         flash.setEffectColor(self.primaryColor)
         flash.setScale(1200 * self.scale)
         flash.fadeTime = 0.5
         self.burstEffectsIval.append(flash.getTrack())
         self.burstEffects.append(flash)
         primaryBlast = BlastEffect()
         primaryBlast.reparentTo(self.effectsNode)
         primaryBlast.setScale(100 * self.scale)
         primaryBlast.setEffectColor(Vec4(1, 1, 1, 1))
         primaryBlast.fadeTime = 0.75
         self.burstEffectsIval.append(primaryBlast.getTrack())
         self.burstEffects.append(primaryBlast)
         if config.GetInt('toontown-sfx-setting', 1) >= 1:
             secondaryBlast = BlastEffect()
             secondaryBlast.reparentTo(self.effectsNode)
             secondaryBlast.setScale(250 * self.scale)
             secondaryBlast.setEffectColor(self.primaryColor)
             secondaryBlast.fadeTime = 0.3
             self.burstEffectsIval.append(secondaryBlast.getTrack())
             self.burstEffects.append(secondaryBlast)
         if self.burstTypeId == FireworkBurstType.Sparkles:
             sparkles = FireworkSparkles.getEffect()
             if sparkles:
                 sparkles.reparentTo(self.effectsNode)
                 sparkles.setEffectScale(self.scale)
                 sparkles.setRadius(100 * self.scale)
                 sparkles.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(sparkles.getTrack())
                 self.burstEffects.append(sparkles)
         elif self.burstTypeId == FireworkBurstType.PeonyShell:
             explosion = PeonyEffect.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 explosion.startDelay = 0.0
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
             if config.GetInt('toontown-sfx-setting', 1) >= 1:
                 rays = RayBurst()
                 rays.reparentTo(self.effectsNode)
                 rays.setEffectScale(self.scale)
                 rays.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(rays.getTrack())
                 self.burstEffects.append(rays)
             if config.GetInt('toontown-sfx-setting', 1) >= 2:
                 sparkles = FireworkSparkles.getEffect()
                 if sparkles:
                     sparkles.reparentTo(self.effectsNode)
                     sparkles.setEffectScale(self.scale)
                     sparkles.setEffectColor(self.primaryColor)
                     sparkles.startDelay = 0.0
                     self.burstEffectsIval.append(sparkles.getTrack())
                     self.burstEffects.append(sparkles)
             if config.GetInt('toontown-sfx-setting', 1) >= 1:
                 explosion = PeonyEffect.getEffect()
                 if explosion:
                     explosion.reparentTo(self.effectsNode)
                     explosion.setEffectScale(self.scale * 0.8)
                     explosion.setEffectColor(self.primaryColor)
                     explosion.startDelay = 0.15
                     explosion.setR(220)
                     self.burstEffectsIval.append(explosion.getTrack())
                     self.burstEffects.append(explosion)
         elif self.burstTypeId == FireworkBurstType.PeonyParticleShell:
             explosion = StarBurst.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
             if config.GetInt('toontown-sfx-setting', 1) >= 1:
                 rays = RayBurst()
                 rays.reparentTo(self.effectsNode)
                 rays.setEffectScale(self.scale * 0.75)
                 rays.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(rays.getTrack())
                 self.burstEffects.append(rays)
         elif self.burstTypeId == FireworkBurstType.PeonyDiademShell:
             explosion = StarBurst.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
             if config.GetInt('toontown-sfx-setting', 1) >= 1:
                 rays = RayBurst()
                 rays.reparentTo(self.effectsNode)
                 rays.setEffectScale(self.scale)
                 rays.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(rays.getTrack())
                 self.burstEffects.append(rays)
             sparkles = SimpleSparkles.getEffect()
             if sparkles:
                 sparkles.reparentTo(self.effectsNode)
                 sparkles.setEffectScale(self.scale)
                 sparkles.setRadius(100 * self.scale)
                 sparkles.setEffectColor(self.secondaryColor)
                 self.burstEffectsIval.append(sparkles.getTrack())
                 self.burstEffects.append(sparkles)
         elif self.burstTypeId == FireworkBurstType.ChrysanthemumShell:
             explosion = ChrysanthemumEffect()
             explosion.reparentTo(self.effectsNode)
             explosion.setEffectScale(self.scale)
             explosion.setEffectColor(self.primaryColor)
             self.burstEffectsIval.append(explosion.getTrack())
             self.burstEffects.append(explosion)
             if config.GetInt('toontown-sfx-setting', 1) >= 2:
                 sparkles = FireworkSparkles.getEffect()
                 if sparkles:
                     sparkles.reparentTo(self.effectsNode)
                     sparkles.setEffectScale(self.scale * 0.8)
                     sparkles.setEffectColor(self.primaryColor)
                     sparkles.startDelay = 0.2
                     self.burstEffectsIval.append(sparkles.getTrack())
                     self.burstEffects.append(sparkles)
         elif self.burstTypeId == FireworkBurstType.ChrysanthemumDiademShell:
             explosion = ChrysanthemumEffect()
             explosion.reparentTo(self.effectsNode)
             explosion.setEffectScale(self.scale)
             explosion.setEffectColor(self.primaryColor)
             self.burstEffectsIval.append(explosion.getTrack())
             self.burstEffects.append(explosion)
             sparkles = SimpleSparkles.getEffect()
             if sparkles:
                 sparkles.reparentTo(self.effectsNode)
                 sparkles.setEffectScale(self.scale)
                 sparkles.setRadius(100 * self.scale)
                 sparkles.setEffectColor(self.secondaryColor)
                 self.burstEffectsIval.append(sparkles.getTrack())
                 self.burstEffects.append(sparkles)
         elif self.burstTypeId == FireworkBurstType.RingShell:
             explosion = RingEffect.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
         elif self.burstTypeId == FireworkBurstType.SaturnShell:
             explosion = RingEffect.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
             sparkles = SimpleSparkles.getEffect()
             if sparkles:
                 sparkles.reparentTo(self.effectsNode)
                 sparkles.setEffectScale(self.scale)
                 sparkles.setRadius(75 * self.scale)
                 sparkles.setEffectColor(self.secondaryColor)
                 self.burstEffectsIval.append(sparkles.getTrack())
                 self.burstEffects.append(sparkles)
         elif self.burstTypeId == FireworkBurstType.BeeShell:
             explosion = NoiseSparkles.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(Sequence(Wait(0.1), explosion.getTrack()))
                 self.burstEffects.append(explosion)
             if config.GetInt('toontown-sfx-setting', 1) >= 1:
                 rays = RayBurst()
                 rays.reparentTo(self.effectsNode)
                 rays.setEffectScale(self.scale)
                 rays.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(rays.getTrack())
                 self.burstEffects.append(rays)
         elif self.burstTypeId == FireworkBurstType.SkullBlast:
             explosion = SkullBurst.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 explosion.startDelay = 0.1
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
             skullFlash = SkullFlash.getEffect()
             if skullFlash:
                 skullFlash.reparentTo(self.effectsNode)
                 skullFlash.setScale(650 * self.scale)
                 skullFlash.fadeTime = 0.75
                 skullFlash.startDelay = 0.08
                 self.burstEffectsIval.append(skullFlash.getTrack())
                 self.burstEffects.append(skullFlash)
             if config.GetInt('toontown-sfx-setting', 1) >= 1:
                 rays = RayBurst()
                 rays.reparentTo(self.effectsNode)
                 rays.setEffectScale(self.scale)
                 rays.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(rays.getTrack())
                 self.burstEffects.append(rays)
             if config.GetInt('toontown-sfx-setting', 1) >= 2:
                 sparkles = FireworkSparkles.getEffect()
                 if sparkles:
                     sparkles.reparentTo(self.effectsNode)
                     sparkles.setEffectScale(self.scale)
                     sparkles.setRadius(400 * self.scale)
                     sparkles.startDelay = 0.1
                     sparkles.setEffectColor(self.secondaryColor)
                     self.burstEffectsIval.append(sparkles.getTrack())
                     self.burstEffects.append(sparkles)
         elif self.burstTypeId == FireworkBurstType.TrailExplosion:
             explosion = TrailExplosion.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 explosion.numTrails = 3 + config.GetInt('toontown-sfx-setting', 1)
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
         elif self.burstTypeId == FireworkBurstType.IceCream:
             explosion = IceCream.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
     return self.burstEffectsIval
 def getBurstEffectsIval(self):
     if not self.burstEffectsIval:
         self.burstEffectsIval = Parallel()
         if self.burstTypeId is None:
             return self.burstEffectsIval
         self.burstEffectsIval.append(Wait(0.5))
         self.burstEffectsIval.append(
             Func(random.choice(self.burstSfx).play))
         flash = FlashEffect()
         flash.reparentTo(self.effectsNode)
         flash.setEffectColor(self.primaryColor)
         flash.setScale(1200 * self.scale)
         flash.fadeTime = 0.5
         self.burstEffectsIval.append(flash.getTrack())
         self.burstEffects.append(flash)
         primaryBlast = BlastEffect()
         primaryBlast.reparentTo(self.effectsNode)
         primaryBlast.setScale(100 * self.scale)
         primaryBlast.setEffectColor(Vec4(1, 1, 1, 1))
         primaryBlast.fadeTime = 0.75
         self.burstEffectsIval.append(primaryBlast.getTrack())
         self.burstEffects.append(primaryBlast)
         if base.config.GetInt('toontown-sfx-setting', 1) >= 1:
             secondaryBlast = BlastEffect()
             secondaryBlast.reparentTo(self.effectsNode)
             secondaryBlast.setScale(250 * self.scale)
             secondaryBlast.setEffectColor(self.primaryColor)
             secondaryBlast.fadeTime = 0.3
             self.burstEffectsIval.append(secondaryBlast.getTrack())
             self.burstEffects.append(secondaryBlast)
         if self.burstTypeId == FireworkBurstType.Sparkles:
             sparkles = FireworkSparkles.getEffect()
             if sparkles:
                 sparkles.reparentTo(self.effectsNode)
                 sparkles.setEffectScale(self.scale)
                 sparkles.setRadius(100 * self.scale)
                 sparkles.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(sparkles.getTrack())
                 self.burstEffects.append(sparkles)
         elif self.burstTypeId == FireworkBurstType.PeonyShell:
             explosion = PeonyEffect.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 explosion.startDelay = 0.0
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
             if base.config.GetInt('toontown-sfx-setting', 1) >= 1:
                 rays = RayBurst()
                 rays.reparentTo(self.effectsNode)
                 rays.setEffectScale(self.scale)
                 rays.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(rays.getTrack())
                 self.burstEffects.append(rays)
             if base.config.GetInt('toontown-sfx-setting', 1) >= 2:
                 sparkles = FireworkSparkles.getEffect()
                 if sparkles:
                     sparkles.reparentTo(self.effectsNode)
                     sparkles.setEffectScale(self.scale)
                     sparkles.setEffectColor(self.primaryColor)
                     sparkles.startDelay = 0.0
                     self.burstEffectsIval.append(sparkles.getTrack())
                     self.burstEffects.append(sparkles)
             if base.config.GetInt('toontown-sfx-setting', 1) >= 1:
                 explosion = PeonyEffect.getEffect()
                 if explosion:
                     explosion.reparentTo(self.effectsNode)
                     explosion.setEffectScale(self.scale * 0.8)
                     explosion.setEffectColor(self.primaryColor)
                     explosion.startDelay = 0.15
                     explosion.setR(220)
                     self.burstEffectsIval.append(explosion.getTrack())
                     self.burstEffects.append(explosion)
         elif self.burstTypeId == FireworkBurstType.PeonyParticleShell:
             explosion = StarBurst.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
             if base.config.GetInt('toontown-sfx-setting', 1) >= 1:
                 rays = RayBurst()
                 rays.reparentTo(self.effectsNode)
                 rays.setEffectScale(self.scale * 0.75)
                 rays.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(rays.getTrack())
                 self.burstEffects.append(rays)
         elif self.burstTypeId == FireworkBurstType.PeonyDiademShell:
             explosion = StarBurst.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
             if base.config.GetInt('toontown-sfx-setting', 1) >= 1:
                 rays = RayBurst()
                 rays.reparentTo(self.effectsNode)
                 rays.setEffectScale(self.scale)
                 rays.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(rays.getTrack())
                 self.burstEffects.append(rays)
             sparkles = SimpleSparkles.getEffect()
             if sparkles:
                 sparkles.reparentTo(self.effectsNode)
                 sparkles.setEffectScale(self.scale)
                 sparkles.setRadius(100 * self.scale)
                 sparkles.setEffectColor(self.secondaryColor)
                 self.burstEffectsIval.append(sparkles.getTrack())
                 self.burstEffects.append(sparkles)
         elif self.burstTypeId == FireworkBurstType.ChrysanthemumShell:
             explosion = ChrysanthemumEffect()
             explosion.reparentTo(self.effectsNode)
             explosion.setEffectScale(self.scale)
             explosion.setEffectColor(self.primaryColor)
             self.burstEffectsIval.append(explosion.getTrack())
             self.burstEffects.append(explosion)
             if base.config.GetInt('toontown-sfx-setting', 1) >= 2:
                 sparkles = FireworkSparkles.getEffect()
                 if sparkles:
                     sparkles.reparentTo(self.effectsNode)
                     sparkles.setEffectScale(self.scale * 0.8)
                     sparkles.setEffectColor(self.primaryColor)
                     sparkles.startDelay = 0.2
                     self.burstEffectsIval.append(sparkles.getTrack())
                     self.burstEffects.append(sparkles)
         elif self.burstTypeId == FireworkBurstType.ChrysanthemumDiademShell:
             explosion = ChrysanthemumEffect()
             explosion.reparentTo(self.effectsNode)
             explosion.setEffectScale(self.scale)
             explosion.setEffectColor(self.primaryColor)
             self.burstEffectsIval.append(explosion.getTrack())
             self.burstEffects.append(explosion)
             sparkles = SimpleSparkles.getEffect()
             if sparkles:
                 sparkles.reparentTo(self.effectsNode)
                 sparkles.setEffectScale(self.scale)
                 sparkles.setRadius(100 * self.scale)
                 sparkles.setEffectColor(self.secondaryColor)
                 self.burstEffectsIval.append(sparkles.getTrack())
                 self.burstEffects.append(sparkles)
         elif self.burstTypeId == FireworkBurstType.RingShell:
             explosion = RingEffect.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
         elif self.burstTypeId == FireworkBurstType.SaturnShell:
             explosion = RingEffect.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
             sparkles = SimpleSparkles.getEffect()
             if sparkles:
                 sparkles.reparentTo(self.effectsNode)
                 sparkles.setEffectScale(self.scale)
                 sparkles.setRadius(75 * self.scale)
                 sparkles.setEffectColor(self.secondaryColor)
                 self.burstEffectsIval.append(sparkles.getTrack())
                 self.burstEffects.append(sparkles)
         elif self.burstTypeId == FireworkBurstType.BeeShell:
             explosion = NoiseSparkles.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(
                     Sequence(Wait(0.1), explosion.getTrack()))
                 self.burstEffects.append(explosion)
             if base.config.GetInt('toontown-sfx-setting', 1) >= 1:
                 rays = RayBurst()
                 rays.reparentTo(self.effectsNode)
                 rays.setEffectScale(self.scale)
                 rays.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(rays.getTrack())
                 self.burstEffects.append(rays)
         elif self.burstTypeId == FireworkBurstType.SkullBlast:
             explosion = SkullBurst.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 explosion.startDelay = 0.1
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
             skullFlash = SkullFlash.getEffect()
             if skullFlash:
                 skullFlash.reparentTo(self.effectsNode)
                 skullFlash.setScale(650 * self.scale)
                 skullFlash.fadeTime = 0.75
                 skullFlash.startDelay = 0.08
                 self.burstEffectsIval.append(skullFlash.getTrack())
                 self.burstEffects.append(skullFlash)
             if base.config.GetInt('toontown-sfx-setting', 1) >= 1:
                 rays = RayBurst()
                 rays.reparentTo(self.effectsNode)
                 rays.setEffectScale(self.scale)
                 rays.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(rays.getTrack())
                 self.burstEffects.append(rays)
             if base.config.GetInt('toontown-sfx-setting', 1) >= 2:
                 sparkles = FireworkSparkles.getEffect()
                 if sparkles:
                     sparkles.reparentTo(self.effectsNode)
                     sparkles.setEffectScale(self.scale)
                     sparkles.setRadius(400 * self.scale)
                     sparkles.startDelay = 0.1
                     sparkles.setEffectColor(self.secondaryColor)
                     self.burstEffectsIval.append(sparkles.getTrack())
                     self.burstEffects.append(sparkles)
         elif self.burstTypeId == FireworkBurstType.TrailExplosion:
             explosion = TrailExplosion.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 explosion.numTrails = 3 + base.config.GetInt(
                     'toontown-sfx-setting', 1)
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
         elif self.burstTypeId == FireworkBurstType.IceCream:
             explosion = IceCream.getEffect()
             if explosion:
                 explosion.reparentTo(self.effectsNode)
                 explosion.setEffectScale(self.scale)
                 explosion.setEffectColor(self.primaryColor)
                 self.burstEffectsIval.append(explosion.getTrack())
                 self.burstEffects.append(explosion)
     return self.burstEffectsIval
Exemple #3
0
    def getBurstEffectsIval(self):
        if not self.burstEffectsIval:
            self.burstEffectsIval = Parallel()

            if self.burstTypeId is None:
                return self.burstEffectsIval

            # Add burst Sound Interval
            self.burstEffectsIval.append(Wait(0.5))
            self.burstEffectsIval.append(
                Func(random.choice(self.burstSfx).play))

            # basic flash effect
            flash = FlashEffect()
            flash.reparentTo(self.effectsNode)
            flash.setEffectColor(self.primaryColor)
            flash.setScale(1200 * self.scale)
            flash.fadeTime = .5
            self.burstEffectsIval.append(flash.getTrack())
            self.burstEffects.append(flash)

            # inside light blasts
            primaryBlast = BlastEffect()
            primaryBlast.reparentTo(self.effectsNode)
            primaryBlast.setScale(100 * self.scale)
            primaryBlast.setEffectColor(Vec4(1, 1, 1, 1))
            primaryBlast.fadeTime = 0.75
            self.burstEffectsIval.append(primaryBlast.getTrack())
            self.burstEffects.append(primaryBlast)

            # Medium
            if (base.config.GetInt('toontown-sfx-setting', 1) >= 1):
                secondaryBlast = BlastEffect()
                secondaryBlast.reparentTo(self.effectsNode)
                secondaryBlast.setScale(250 * self.scale)
                secondaryBlast.setEffectColor(self.primaryColor)
                secondaryBlast.fadeTime = 0.3
                self.burstEffectsIval.append(secondaryBlast.getTrack())
                self.burstEffects.append(secondaryBlast)

            # TYPE SPECIFIC EFFECTS:

            # Sparkles - basic explosion of sparkles
            # --------------------------------------------------------------------
            if (self.burstTypeId == FireworkBurstType.Sparkles):
                sparkles = FireworkSparkles.getEffect()
                if sparkles:
                    sparkles.reparentTo(self.effectsNode)
                    sparkles.setEffectScale(self.scale)
                    sparkles.setRadius(100 * self.scale)
                    sparkles.setEffectColor(self.primaryColor)
                    self.burstEffectsIval.append(sparkles.getTrack())
                    self.burstEffects.append(sparkles)

            # PeonyShell
            # --------------------------------------------------------------------
            elif (self.burstTypeId == FireworkBurstType.PeonyShell):
                explosion = PeonyEffect.getEffect()
                if explosion:
                    explosion.reparentTo(self.effectsNode)
                    explosion.setEffectScale(self.scale)
                    explosion.setEffectColor(self.primaryColor)
                    explosion.startDelay = 0.0
                    self.burstEffectsIval.append(explosion.getTrack())
                    self.burstEffects.append(explosion)

                # Medium
                if (base.config.GetInt('toontown-sfx-setting', 1) >= 1):
                    rays = RayBurst()
                    rays.reparentTo(self.effectsNode)
                    rays.setEffectScale(self.scale)
                    rays.setEffectColor(self.primaryColor)
                    self.burstEffectsIval.append(rays.getTrack())
                    self.burstEffects.append(rays)

                # High
                if (base.config.GetInt('toontown-sfx-setting', 1) >= 2):
                    sparkles = FireworkSparkles.getEffect()
                    if sparkles:
                        sparkles.reparentTo(self.effectsNode)
                        sparkles.setEffectScale(self.scale)
                        sparkles.setEffectColor(self.primaryColor)
                        sparkles.startDelay = 0.0
                        self.burstEffectsIval.append(sparkles.getTrack())
                        self.burstEffects.append(sparkles)

                # Medium
                if (base.config.GetInt('toontown-sfx-setting', 1) >= 1):
                    explosion = PeonyEffect.getEffect()
                    if explosion:
                        explosion.reparentTo(self.effectsNode)
                        explosion.setEffectScale(self.scale * .8)
                        explosion.setEffectColor(self.primaryColor)
                        explosion.startDelay = 0.15
                        explosion.setR(220)
                        self.burstEffectsIval.append(explosion.getTrack())
                        self.burstEffects.append(explosion)

            # PeonyParticleShell
            # --------------------------------------------------------------------
            elif (self.burstTypeId == FireworkBurstType.PeonyParticleShell):
                explosion = StarBurst.getEffect()
                if explosion:
                    explosion.reparentTo(self.effectsNode)
                    explosion.setEffectScale(self.scale)
                    explosion.setEffectColor(self.primaryColor)
                    self.burstEffectsIval.append(explosion.getTrack())
                    self.burstEffects.append(explosion)

                # Medium
                if (base.config.GetInt('toontown-sfx-setting', 1) >= 1):
                    rays = RayBurst()
                    rays.reparentTo(self.effectsNode)
                    rays.setEffectScale(self.scale * .75)
                    rays.setEffectColor(self.primaryColor)
                    self.burstEffectsIval.append(rays.getTrack())
                    self.burstEffects.append(rays)

            # PeonyDiademShell
            # --------------------------------------------------------------------
            elif (self.burstTypeId == FireworkBurstType.PeonyDiademShell):
                explosion = StarBurst.getEffect()
                if explosion:
                    explosion.reparentTo(self.effectsNode)
                    explosion.setEffectScale(self.scale)
                    explosion.setEffectColor(self.primaryColor)
                    self.burstEffectsIval.append(explosion.getTrack())
                    self.burstEffects.append(explosion)

                # Medium
                if (base.config.GetInt('toontown-sfx-setting', 1) >= 1):
                    rays = RayBurst()
                    rays.reparentTo(self.effectsNode)
                    rays.setEffectScale(self.scale)
                    rays.setEffectColor(self.primaryColor)
                    self.burstEffectsIval.append(rays.getTrack())
                    self.burstEffects.append(rays)

                sparkles = SimpleSparkles.getEffect()
                if sparkles:
                    sparkles.reparentTo(self.effectsNode)
                    sparkles.setEffectScale(self.scale)
                    sparkles.setRadius(100 * self.scale)
                    sparkles.setEffectColor(self.secondaryColor)
                    self.burstEffectsIval.append(sparkles.getTrack())
                    self.burstEffects.append(sparkles)

            # ChrysanthemumShell
            # --------------------------------------------------------------------
            elif (self.burstTypeId == FireworkBurstType.ChrysanthemumShell):
                explosion = ChrysanthemumEffect()
                explosion.reparentTo(self.effectsNode)
                explosion.setEffectScale(self.scale)
                explosion.setEffectColor(self.primaryColor)
                self.burstEffectsIval.append(explosion.getTrack())
                self.burstEffects.append(explosion)

                # Medium
                if (base.config.GetInt('toontown-sfx-setting', 1) >= 2):
                    sparkles = FireworkSparkles.getEffect()
                    if sparkles:
                        sparkles.reparentTo(self.effectsNode)
                        sparkles.setEffectScale(self.scale * 0.8)
                        sparkles.setEffectColor(self.primaryColor)
                        sparkles.startDelay = 0.2
                        self.burstEffectsIval.append(sparkles.getTrack())
                        self.burstEffects.append(sparkles)

            # ChrysanthemymDiademShell
            # --------------------------------------------------------------------
            elif (self.burstTypeId ==
                  FireworkBurstType.ChrysanthemumDiademShell):
                explosion = ChrysanthemumEffect()
                explosion.reparentTo(self.effectsNode)
                explosion.setEffectScale(self.scale)
                explosion.setEffectColor(self.primaryColor)
                self.burstEffectsIval.append(explosion.getTrack())
                self.burstEffects.append(explosion)

                sparkles = SimpleSparkles.getEffect()
                if sparkles:
                    sparkles.reparentTo(self.effectsNode)
                    sparkles.setEffectScale(self.scale)
                    sparkles.setRadius(100 * self.scale)
                    sparkles.setEffectColor(self.secondaryColor)
                    self.burstEffectsIval.append(sparkles.getTrack())
                    self.burstEffects.append(sparkles)

            # RingShell
            # --------------------------------------------------------------------
            elif (self.burstTypeId == FireworkBurstType.RingShell):
                explosion = RingEffect.getEffect()
                if explosion:
                    explosion.reparentTo(self.effectsNode)
                    explosion.setEffectScale(self.scale)
                    explosion.setEffectColor(self.primaryColor)
                    self.burstEffectsIval.append(explosion.getTrack())
                    self.burstEffects.append(explosion)

            # SaturnShell
            # --------------------------------------------------------------------
            elif (self.burstTypeId == FireworkBurstType.SaturnShell):
                explosion = RingEffect.getEffect()
                if explosion:
                    explosion.reparentTo(self.effectsNode)
                    explosion.setEffectScale(self.scale)
                    explosion.setEffectColor(self.primaryColor)
                    self.burstEffectsIval.append(explosion.getTrack())
                    self.burstEffects.append(explosion)

                sparkles = SimpleSparkles.getEffect()
                if sparkles:
                    sparkles.reparentTo(self.effectsNode)
                    sparkles.setEffectScale(self.scale)
                    sparkles.setRadius(75 * self.scale)
                    sparkles.setEffectColor(self.secondaryColor)
                    self.burstEffectsIval.append(sparkles.getTrack())
                    self.burstEffects.append(sparkles)

            # BeeShell
            # --------------------------------------------------------------------
            elif (self.burstTypeId == FireworkBurstType.BeeShell):
                explosion = NoiseSparkles.getEffect()
                if explosion:
                    explosion.reparentTo(self.effectsNode)
                    explosion.setEffectScale(self.scale)
                    explosion.setEffectColor(self.primaryColor)
                    self.burstEffectsIval.append(
                        Sequence(Wait(0.1), explosion.getTrack()))
                    self.burstEffects.append(explosion)

                # Medium
                if (base.config.GetInt('toontown-sfx-setting', 1) >= 1):
                    rays = RayBurst()
                    rays.reparentTo(self.effectsNode)
                    rays.setEffectScale(self.scale)
                    rays.setEffectColor(self.primaryColor)
                    self.burstEffectsIval.append(rays.getTrack())
                    self.burstEffects.append(rays)

            # SkullBlast - outward flash explosion in the shape of a skull
            # --------------------------------------------------------------------
            elif (self.burstTypeId == FireworkBurstType.SkullBlast):
                explosion = SkullBurst.getEffect()
                if explosion:
                    explosion.reparentTo(self.effectsNode)
                    explosion.setEffectScale(self.scale)
                    explosion.setEffectColor(self.primaryColor)
                    explosion.startDelay = 0.1
                    self.burstEffectsIval.append(explosion.getTrack())
                    self.burstEffects.append(explosion)

                skullFlash = SkullFlash.getEffect()
                if skullFlash:
                    skullFlash.reparentTo(self.effectsNode)
                    skullFlash.setScale(650 * self.scale)
                    skullFlash.fadeTime = 0.75
                    skullFlash.startDelay = 0.08
                    self.burstEffectsIval.append(skullFlash.getTrack())
                    self.burstEffects.append(skullFlash)

                # Medium
                if (base.config.GetInt('toontown-sfx-setting', 1) >= 1):
                    rays = RayBurst()
                    rays.reparentTo(self.effectsNode)
                    rays.setEffectScale(self.scale)
                    rays.setEffectColor(self.primaryColor)
                    self.burstEffectsIval.append(rays.getTrack())
                    self.burstEffects.append(rays)

                # High
                if (base.config.GetInt('toontown-sfx-setting', 1) >= 2):
                    sparkles = FireworkSparkles.getEffect()
                    if sparkles:
                        sparkles.reparentTo(self.effectsNode)
                        sparkles.setEffectScale(self.scale)
                        sparkles.setRadius(400 * self.scale)
                        sparkles.startDelay = 0.1
                        sparkles.setEffectColor(self.secondaryColor)
                        self.burstEffectsIval.append(sparkles.getTrack())
                        self.burstEffects.append(sparkles)

            # TrailExplosion - explosion of 3-5 trail effects
            # --------------------------------------------------------------------
            elif (self.burstTypeId == FireworkBurstType.TrailExplosion):
                explosion = TrailExplosion.getEffect()
                if explosion:
                    explosion.reparentTo(self.effectsNode)
                    explosion.setEffectScale(self.scale)
                    explosion.setEffectColor(self.primaryColor)
                    explosion.numTrails = 3 + base.config.GetInt(
                        'toontown-sfx-setting', 1)
                    self.burstEffectsIval.append(explosion.getTrack())
                    self.burstEffects.append(explosion)

            elif self.burstTypeId == FireworkBurstType.IceCream:
                explosion = IceCream.getEffect()
                if explosion:
                    explosion.reparentTo(self.effectsNode)
                    explosion.setEffectScale(self.scale)
                    explosion.setEffectColor(self.primaryColor)
                    self.burstEffectsIval.append(explosion.getTrack())
                    self.burstEffects.append(explosion)

        return self.burstEffectsIval