
//==============================================================================
//		MOD COMPATIBILITY
//==============================================================================

//==============================================================================
//		GUNCASTER
//==============================================================================

Actor RLGuncasterMonsterExplosion
{
	+NOINTERACTION
	+FORCEXYBILLBOARD
	RenderStyle Normal
	Alpha 0.99
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("Matriarch_Blast", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		TNT1 A 0// A_SpawnItemEx("Matriarch_Impact", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("Matriarch_Flare", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("Matriarch_Shockwave", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		Stop
	}
}

Actor RLGuncasterMonsterExplosionBig : RLGuncasterMonsterExplosion
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("Matriarch_Main", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("Matriarch_Blast", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("Matriarch_Impact", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("Matriarch_Flare", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("Matriarch_Shockwave", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		Stop
	}
}

//==============================================================================
//		FUNNEL DOMER
//==============================================================================

actor RLXSparkAfterImageDarkBlue
{
	Radius 6
	Height 6
	RenderStyle Stencil
	StencilColor "003387"
	Alpha 0.30
	+NOGRAVITY
	+NOCLIP
	+NOTONAUTOMAP
	+NOINTERACTION
    +NOTIMEFREEZE
  
	var int user_basescale;
    States
    {
    Spawn:
	    "####" "#" 0 NoDelay// A_SetUserVar (user_basescale, scalex*100)
	    "####" "#" 0 A_Jump (256, "SpawnLoop")
		Goto SpawnLoop
    SpawnLoop:
	    "####" "#" 0 A_FadeTo (0, 0.01, 1)
	    "####" "#" 0 A_SetScale (scalex * frandom(1.001,1.005), scaley * frandom(1.005,1.01))
	    "####" "#" 1 Bright
        Loop
    }
}

actor RLXSparkAfterImageBlue : RLXSparkAfterImageDarkBlue
{
	Alpha 0.50
	StencilColor "0060ff"
    States
    {
    SpawnLoop:
	    "####" "#" 0 A_FadeTo (0, 0.015, 1)
	    "####" "#" 0 A_SetScale (scalex * frandom(1.001,1.005), scaley * frandom(1.005,1.01))
	    "####" "#" 1 Bright
        Loop
    }
}

actor RLXSparkAfterImageLightBlue : RLXSparkAfterImageDarkBlue
{
	Alpha 0.70
	RenderStyle AddStencil
	StencilColor "6da3ff"
    States
    {
    SpawnLoop:
	    "####" "#" 0 A_FadeTo (0, 0.02, 1)
	    "####" "#" 0 A_SetScale (scalex * frandom(1.001,1.005), scaley * frandom(1.005,1.01))
	    "####" "#" 1 Bright
        Loop
    }
}

actor RLXSparkAfterImageWhite : RLXSparkAfterImageDarkBlue
{
	Alpha 0.90
	RenderStyle AddStencil
	StencilColor "ffffff"
    States
    {
    SpawnLoop:
	    "####" "#" 0 A_FadeTo (0, 0.025, 1)
	    "####" "#" 0 A_SetScale (scalex * frandom(1.001,1.005), scaley * frandom(1.005,1.01))
	    "####" "#" 1 Bright
        Loop
    }
}

actor RLXSparkShockwave
{
	Radius 6
	Height 6
	RenderStyle Add
	Alpha 0.50
	Scale 1.2
	+NOGRAVITY
	+NOCLIP
	+NOTONAUTOMAP
	+NOINTERACTION
    +NOTIMEFREEZE
    States
    {
    Spawn:
	    TNT1 A 0
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 A 1 Bright A_FadeTo (0, 0.01, 1)
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 A 1 Bright A_FadeTo (0, 0.01, 1)
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 A 1 Bright A_FadeTo (0, 0.01, 1)
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 B 1 Bright A_FadeTo (0, 0.01, 1)
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 B 1 Bright A_FadeTo (0, 0.01, 1)
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 B 1 Bright A_FadeTo (0, 0.01, 1)
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 C 1 Bright A_FadeTo (0, 0.01, 1)
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 C 1 Bright A_FadeTo (0, 0.01, 1)
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 C 1 Bright A_FadeTo (0, 0.01, 1)
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 D 1 Bright A_FadeTo (0, 0.01, 1)
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 D 1 Bright A_FadeTo (0, 0.01, 1)
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 D 1 Bright A_FadeTo (0, 0.01, 1)
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 E 1 Bright A_FadeTo (0, 0.01, 1)
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 E 1 Bright A_FadeTo (0, 0.01, 1)
	    TNT1 A 0 A_SetScale (scalex * frandom(1.01,1.08))
	    BBB1 E 1 Bright A_FadeTo (0, 0.01, 1)
        Stop
    }
}
