OS 5.9 - Portal - NoSloppy


// Portal style - Standard ProffieOS 5.9 version
// *********************************************
// Blade style includes: 
// Running color sequence in emitter when blade is off.
// 50% PowerSave dimming.
// GreenYellow flash on all impacts like original trilogy onscreen effects.
// Blast - “Portal gun shot” effect with alternating Blue and Orange main blade colors
// changed with each blast.
// Clash - Alternates color to work with current chosen base color, flash on hit with
// localized fading impact spot.
// Lockup - 3 compound colored impact for realistic effect.
// Lightning Block - Dims blade a bit to make erratic lightning pop more. Random Strobe flashes for more effect.
// Custom Melt and Drag effects with “fizzle out” endings.
// Stab - deeper with some animation.
*/


StylePtr<Layers<
// Main Blade - toggled colors when "shooting a portal" with blast. All effects follow switch.
  EffectSequence<EFFECT_BLAST,
  Stripes<10000,-1000,DarkOrange,Rgb<60,17,0>,Orange,Rgb<128,34,0>>,
  Stripes<10000,-1000,Blue,Rgb<0,0,60>,Blue,Rgb<0,0,128>>>,
  
// Swing colors  
  EffectSequence<EFFECT_BLAST,
  AlphaL<Moccasin,      Scale<IsLessThan<SwingSpeed<600>,Int<13600>>,Scale<SwingSpeed<600>,Int<-19300>,Int<32768>>,Int<0>>>,
  AlphaL<Rgb<90,90,255>,Scale<IsLessThan<SwingSpeed<600>,Int<13600>>,Scale<SwingSpeed<600>,Int<-19300>,Int<32768>>,Int<0>>>>,

// Dim Blade 50% "Power Save" button combo
  EffectSequence<EFFECT_POWERSAVE,
  AlphaL<Black,Int<16384>>,
  AlphaL<Black,Int<0>>>,
  
// Clash - alternates to visible colors based on main blade color. 3 stage fading impact spot
  EffectSequence<EFFECT_BLAST,
  TransitionEffectL<TrConcat<TrInstant,GreenYellow,TrDelay<25>,AlphaL<TransitionEffect<TransitionEffect<Strobe<Black,Red,20,20>,BrownNoiseFlicker<White,Black,300>,TrInstant,TrFade<300>,EFFECT_CLASH>,White,TrInstant,TrDelay<150>,EFFECT_CLASH>,Bump<Scale<BladeAngle<>,Int<25000>,Int<8000>>,Int<18000>>>,TrFade<600>>,EFFECT_CLASH>,
  TransitionEffectL<TrConcat<TrInstant,GreenYellow,TrDelay<25>,AlphaL<TransitionEffect<BrownNoiseFlicker<Rgb<255,150,0>,Black,50>,Moccasin,TrInstant,TrFade<300>,EFFECT_CLASH>,Bump<Scale<BladeAngle<>,Int<25000>,Int<8000>>,Int<18000>>>,TrFade<600>>,EFFECT_CLASH> >,
  
// Stab
  TransitionEffectL<TrConcat<TrInstant,GreenYellow,TrDelay<25>,AlphaL<Red,Int<0>>,TrWipeIn<300>,AlphaL<Stripes<5000,800,Red,Rgb<80,0,0>,Rgb<156,0,0>,Rgb<150,30,30>>,SmoothStep<Int<20000>,Int<2000>>>,TrJoin<TrSmoothFade<900>,TrWipe<600>>>,EFFECT_STAB>,

// Blasts - toggled inverted colors
  EffectSequence<EFFECT_BLAST,
////// blast for Blue base - Blue goes first here because on first blast switch, this shows immediatly. Sequence order needs to be reverse of all other effects so it stays chronologically "at the end" of the blue base blade showing
  TransitionEffectL<TrConcat<TrInstant,Stripes<10000,-1000,Blue,Rgb<0,0,60>,Blue,Rgb<0,0,128>>,TrJoin<TrWipeIn<100>,TrWaveX<White,Int<100>,Int<200>,Int<100>,Int<32768>>>,Black,TrDelay<25>,Black,TrJoin<TrWipe<200>,TrWaveX<LemonChiffon,Int<300>,Int<130>,Int<250>,Int<0>>>,Stripes<1400,-3600,DarkOrange,Rgb<60,17,0>>,TrJoin<TrWipe<200>,TrSmoothFade<300>>,Stripes<10000,-1000,Blue,Rgb<0,0,60>,Blue,Rgb<0,0,128>>,TrSmoothFade<1000>>,EFFECT_BLAST>,
////// blast for Orange base - broken out. Blue above is same, just all one line.
  TransitionEffectL<TrConcat< 
// hide the newly switched-to Blue main base blade color with the same Orange that was just running. (only for 100ms, but blue is visible on the wipe in if this omitted)
  TrInstant,Stripes<10000,-1000,DarkOrange,Rgb<60,17,0>,Orange,Rgb<128,34,0>>,
//suck in for blast
  TrWipeIn<100>,Black,
// take a beat
  TrDelay<25>,Black,
// shoot portal
  TrJoin<TrWipe<200>,TrWaveX<LemonChiffon,Int<300>,Int<130>,Int<250>,Int<0>>>,Stripes<1400,-3600,Blue,Rgb<0,0,60>>,TrJoin<TrWipe<200>,
//fade to color that was agin for a beat, then fade to new color that was shot
  TrSmoothFade<300>>,Stripes<10000,-1000,DarkOrange,Rgb<60,17,0>,Orange,Rgb<128,34,0>>,TrSmoothFade<1000>>,EFFECT_BLAST>>,
// Blast's muzzle flash
  TransitionEffectL<TrConcat<TrDelay<125>,AlphaL<DarkOrange,Bump<Int<0>,Int<4000>>>,TrFade<50>,AlphaL<LemonChiffon,Bump<Int<0>,Int<10000>>>,TrFade<50>,AlphaL<White,SmoothStep<Int<14000>,Int<-16000>>>,TrDelay<25>,AlphaL<LemonChiffon,Bump<Int<0>,Int<10000>>>,TrFade<550>,AlphaL<Orange,Bump<Int<0>,Int<4000>>>,TrFade<150>,AlphaL<Rgb<255,54,0>,Bump<Int<0>,Int<2800>>>,TrFade<150>,AlphaL<OrangeRed,Bump<Int<0>,Int<1700>>>,TrFade<200>>,EFFECT_BLAST>,

// Lockup 1 - BC custom range mid-blade to hilt w/random strobe flash
    TransitionEffectL<TrConcat<TrInstant,Strobe<GreenYellow,Black,20,30>,TrFade<200>,BrownNoiseFlickerL<AlphaL<White,Int<16000>>,Int<5000>>,TrJoinR<TrWipe<200>,TrWipeIn<200>,TrFade<300>>>,EFFECT_LOCKUP_END>,
    LockupTrL<Layers<
        //Random Strobe Flash no dimming
        AlphaL<TransitionLoopL<TrConcat<TrDelayX<Scale<SlowNoise<Int<3000>>,Int<30>,Int<800>>>,Mix<SlowNoise<Int<1000>>,Black,Black,White,Black>,TrDelayX<Scale<SlowNoise<Int<1000>>,Int<10>,Int<50>>>>>,Int<32768>>,
        //AlphaL<White,StrobeF<Scale<SlowNoise<Int<1000>>,Int<1>,Int<3>>,Scale<SlowNoise<Int<1000>>,Int<10>,Int<50>>>>,
        // Bottom Layer Bump - random width
        AlphaL<Blinking<Tomato,Strobe<Yellow,Black,15,30>,60,500>,                                               Bump<Scale<BladeAngle<5000,28000>,Scale<BladeAngle<8000,16000>,Int<3000>,Int<44000>>,Int<3000>>,Scale<SlowNoise<Int<3000>>,Int<8000>,Int<18000>>>>,
        // Top Layer Bump - fixed width
        AlphaL<Blinking<BrownNoiseFlicker<White,Black,50>,BrownNoiseFlicker<Yellow,Tomato,50>,100,500>,          Bump<Scale<BladeAngle<5000,28000>,Scale<BladeAngle<8000,16000>,Int<3000>,Int<44000>>,Int<3000>>,Int<9000>>>>,
        // Begin Lockup Transition
        TrConcat<TrInstant,AlphaL<Blinking<White,Strobe<BrownNoiseFlicker<Yellow,Black,500>,Black,15,30>,60,500>,Bump<Scale<BladeAngle<5000,28000>,Scale<BladeAngle<8000,16000>,Int<3000>,Int<44000>>,Int<3000>>,Scale<SlowNoise<Int<3000>>,Int<25000>,Int<32000>>>>,TrFade<500>>,
        // End Lockup Transition
        TrSmoothFade<900>,SaberBase::LOCKUP_NORMAL>,
    TransitionEffectL<TrConcat<TrInstant,AlphaL<Strobe<GreenYellow,Black,20,30>,                               Bump<Scale<BladeAngle<5000,28000>,Scale<BladeAngle<8000,16000>,Int<3000>,Int<44000>>,Int<3000>>,Int<15000>>>,TrFade<600>>,EFFECT_LOCKUP_BEGIN>,
    TransitionEffectL<TrConcat<TrInstant,GreenYellow,TrDelay<25>,HumpFlickerL<Strobe<AlphaL<White,Int<20000>>,Black,20,30>,30>,TrSmoothFade<225>>,EFFECT_LOCKUP_BEGIN>,

// Non-Responsive Drag
    LockupTrL<AlphaL<AudioFlicker<BrownNoiseFlicker<Strobe<Black,OrangeRed,20,25>,Yellow,200>,White>,SmoothStep<Int<30000>,Int<2000>>>,TrConcat<TrInstant,GreenYellow,TrDelay<25>,AlphaL<Black,Int<0>>,TrFade<150>>,TrColorCycle<1500,-2000,100>,SaberBase::LOCKUP_DRAG>,

// Lightning Block - Non-responsive. BC custom color (purple hint w/ random strobe flashes because....lightning)
    LockupTrL<Layers<
        //Random Strobe Flash and 16000 = 50% base blade dimming to make lb pop
        AlphaL<Black,Int<16000>>,
        AlphaL<White,StrobeF<Scale<SlowNoise<Int<1000>>,Int<1>,Int<6>>,Scale<SlowNoise<Int<1000>>,Int<10>,Int<50>>>>,
        AlphaL<RandomFlicker<Strobe<White,Rgb<83,0,255>,50,10>,BrownNoiseFlicker<Rgb<83,0,255>,Black,500>>,LayerFunctions<
        Bump<Scale<SlowNoise<Int<2000>>,Int<3000>,Int<16000>>,Scale<BrownNoiseF<Int<10>>,Int<14000>,Int<8000>>>,
        Bump<Scale<SlowNoise<Int<2300>>,Int<26000>,Int<8000>>,Scale<NoisySoundLevel,Int<5000>,Int<10000>>>,
        Bump<Scale<SlowNoise<Int<2300>>,Int<20000>,Int<30000>>,Scale<IsLessThan<SlowNoise<Int<1500>>,Int<8000>>,Scale<NoisySoundLevel,Int<5000>,Int<0>>,Int<0>>>>>>,
        // Begin Lightning Transition
        TrConcat<TrInstant,GreenYellow,TrDelay<25>,BrownNoiseFlicker<Rgb<83,0,255>,Black,500>,TrFade<100>>,
        // End Lightning Transition    
        TrConcat<TrInstant,GreenYellow,TrDelay<25>,BrownNoiseFlicker<Rgb<83,0,255>,Black,500>,TrFade<150>,BrownNoiseFlickerL<AlphaL<White,Int<16000>>,Int<50>>,TrJoinR<TrWipe<200>,TrWipeIn<200>,TrFade<400>> >,SaberBase::LOCKUP_LIGHTNING_BLOCK>,

// Melt - BC custom melt effects, uses twistangle<>
    LockupTrL<
        AlphaL<Mix<TwistAngle<>,Yellow,RandomPerLEDFlicker<Orange,OrangeRed>,BrownNoiseFlicker<Rgb16<20095,128,128>,Rgb16<35103,8175,298>,150>,StyleFire<Rgb16<20393,93,93>,Red,0,4,FireConfig<0,2000,5>,FireConfig<3000,0,0>,FireConfig<0,4000,0>>>,
        // Melt Shape
        SmoothStep<Scale<TwistAngle<>,Int<24000>,Int<29000>>,Int<2000>>>,
        // Melt Begin and End transitions
        TrConcat<TrInstant,GreenYellow,TrDelay<25>,AlphaL<Black,Int<0>>,TrWipeIn<600>>,TrColorCycle<1500,-2000,100>,SaberBase::LOCKUP_MELT>,
  
// Extension sparks - less laggy in this layer style
  EffectSequence<EFFECT_BLAST,
  OnSparkL<SparkleL<Blue,300,3000>,Int<3000>>,
  OnSparkL<SparkleL<Orange,300,3000>,Int<3000>> >,

  EffectSequence<EFFECT_BLAST,
  InOutTrL<
// Extension - just wipe out, effects below.
  TrWipe<500>,
// Retraction - wipe in 3 stage accelerating stripes followed by spark in below.
  TrConcat<
  TrWipeIn<400>,      Stripes<2000,1500,Blue,DarkOrange>,
  TrFade<200>,        Stripes<3000,2000,Blue,DarkOrange>,
  TrFade<200>,        Stripes<4000,2500,Blue,DarkOrange>,
  TrWipeIn<200>,      Black,
  TrDelay<100>,       AlphaL<White,SmoothStep<Int<15000>,Int<-20000>>>,
  TrFade<75>,         Black,    
  TrFade<700>,Sparkle<Black,DarkOrange>,TrSmoothFade<1000>>,
// Color When Off
  Layers<Black,TransitionLoopL<TrConcat<TrFade<500>,AlphaL<DarkOrange,SmoothStep<Int<200>,Int<-1>>>,TrFade<500>,AlphaL<Red,Int<0>>,TrFade<500>,AlphaL<Blue,SmoothStep<Int<200>,Int<-1>>>,TrFade<500>>> >>,
  
  InOutTrL<
// Extension - just wipe out, effects below.
  TrWipe<500>,
// Retraction - wipe in 3 stage accelerating stripes followed by spark in below
  TrConcat<
  TrWipeIn<400>,      Stripes<2000,1500,Blue,DarkOrange>,
  TrFade<200>,        Stripes<3000,2000,Blue,DarkOrange>,
  TrFade<200>,        Stripes<4000,2500,Blue,DarkOrange>,
  TrWipeIn<200>,      Black,
  TrDelay<100>,       AlphaL<White,SmoothStep<Int<15000>,Int<-20000>>>,
  TrFade<75>,         Black,
  TrFade<700>,Sparkle<Black,Blue>,TrSmoothFade<1000>>,
// Color When Off
  Layers<Black,TransitionLoopL<TrConcat<TrFade<500>,AlphaL<DarkOrange,SmoothStep<Int<200>,Int<-1>>>,TrFade<500>,AlphaL<Red,Int<0>>,TrFade<500>,AlphaL<Blue,SmoothStep<Int<200>,Int<-1>>>,TrFade<500>>> >> >,

// Retraction spark wave in
  TransitionEffectL<TrConcat<TrDelayX<Int<800>>,AlphaL<Red,Int<0>>,TrWaveX<LemonChiffon,Int<1000>,Int<201>,Int<200>,Int<32768>>>,EFFECT_RETRACTION>,

// Extension - Spark tip followed by 3 trailing particles and small sparks over strobing base fading to running base blade color
  EffectSequence<EFFECT_BLAST,
  TransitionEffectL<TrConcat<TrWipe<500>,Strobe<DarkOrange,Black,20,60>,TrSmoothFade<1000>>,EFFECT_IGNITION>,
  TransitionEffectL<TrConcat<TrWipe<500>,Strobe<Blue,Black,20,60>,TrSmoothFade<1000>>,EFFECT_IGNITION> >,

  EffectSequence<EFFECT_BLAST, 
  TransitionEffectL<TrJoin<
  TrWaveX<Blue,Int<5000>,Int<151>,Int<500>,Int<0>>,
  TrWaveX<Blue,Int<5000>,Int<201>,Int<625>,Int<-15000>>,
  TrWaveX<Blue,Int<5000>,Int<251>,Int<825>,Int<-15000>>,
  TrWaveX<Blue,Int<5000>,Int<301>,Int<1000>,Int<-15000>>>,EFFECT_IGNITION>,
  TransitionEffectL<TrJoin<
  TrWaveX<DarkOrange,Int<5000>,Int<151>,Int<500>,Int<0>>,
  TrWaveX<DarkOrange,Int<5000>,Int<201>,Int<625>,Int<-15000>>,
  TrWaveX<DarkOrange,Int<5000>,Int<251>,Int<825>,Int<-15000>>,
  TrWaveX<DarkOrange,Int<5000>,Int<301>,Int<1000>,Int<-15000>>>,EFFECT_IGNITION> >,

// Ignition Emitter flare
  TransitionEffectL<TrConcat<
  TrInstant,  AlphaL<Orange,Bump<Int<0>,Int<6000>>>,
  TrFade<50>, AlphaL<LemonChiffon,Bump<Int<0>,Int<10000>>>,
  TrFade<50>, AlphaL<White,SmoothStep<Int<14000>,Int<-16000>>>,
  TrDelay<25>,AlphaL<LemonChiffon,Bump<Int<0>,Int<10000>>>,
  TrFade<550>,AlphaL<Orange,Bump<Int<0>,Int<4000>>>,
  TrFade<150>,AlphaL<Rgb<255,54,0>,Bump<Int<0>,Int<2800>>>,
  TrFade<150>,AlphaL<OrangeRed,Bump<Int<0>,Int<1700>>>,
  TrFade<200>>,EFFECT_IGNITION>,

// Retraction Emitter flare
  TransitionEffectL<TrConcat<
  TrInstant,AlphaL<OrangeRed,Bump<Int<0>,Int<1000>>>,
  TrFade<200>,AlphaL<Rgb<255,54,0>,Bump<Int<0>,Int<3500>>>,
  TrFade<200>,AlphaL<Orange,Bump<Int<0>,Int<9000>>>,
  //TrFade<200>,AlphaL<BrownNoiseFlicker<LemonChiffon,Black,300>,Bump<Int<0>,Int<17000>>>, //Optional effect
  TrFade<200>,AlphaL<Strobe<LemonChiffon,Black,15,50>,Bump<Int<0>,Int<17000>>>,
  TrFade<200>>,EFFECT_RETRACTION>,

//New Audio Meter preon
  AlphaL<Layers<AlphaL<TransitionEffectL<TrJoin<
            TrWaveX<Moccasin,Int<5000>,Int<10000>,Int<7000>,Int<0>>,
            TrWaveX<Blue,    Int<5000>,Int<10000>,Int<7000>,Int<11000>>,
            TrWaveX<Moccasin,Int<5000>,Int<7000>, Int<4000>>,
            TrWaveX<Orange,  Int<5000>,Int<10000>,Int<7000>,Int<22000>>,
            TrWaveX<Moccasin,Int<5000>,Int<10000>,Int<7000>,Int<32768>> 
          >,EFFECT_PREON>,
        Trigger<EFFECT_PREON,Int<2000>,Int<5000>,Int<1>>>,
      TransitionEffectL<TrConcat<TrInstant,Layers< 
            AlphaL<Orange,SmoothStep<Scale<NoisySoundLevel,Int<0>,    Int<6000>>, Scale<SmoothSoundLevel,Int<-1>,Int<-30000>> > >,
            AlphaL<Blue,  SmoothStep<Scale<NoisySoundLevel,Int<26768>,Int<32768>>,Scale<SmoothSoundLevel,Int<0>,  Int<30000>> > > >,TrDelay<5000> >,EFFECT_PREON>>,
  Scale<Trigger<EFFECT_IGNITION,Int<1>,Int<5000>,Int<1>>,Int<32768>,Int<0>> >
  >>(),
4 Likes

Awesome!! Can’t wait to try this out.