
//==============================================================================
//=========================== Phoenix Rod Projectiles ==========================
//==============================================================================


ACTOR BrutalPhoenixMissile : FastProjectile
{
	Radius 5
	Height 5
	Speed 76
	Damage (random(0,25)+(CountInv("Stat_Magicalstrength",AAPTR_PLAYER1)))
    DamageType "Phoenix"
	Decal "Scorch"
	Projectile
	Renderstyle Add
	Alpha 0.90
	Scale 2.3
	//MissileType "PhoenixSmokeTrail"
	MissileHeight 8
	-SPECTRAL
	+RANDOMIZE
	+FORCEXYBILLBOARD
	+BLOODSPLATTER
	+NOBLOOD
	
	States
	{
		Spawn:
			TNT1 A 0 NoDelay A_JumpIf(GetCVAR("LightShow"),"Fancy")
			TNT1 A 0 A_SetScale(1,1)
		Launched:
			FX04 A 1 //Bright A_SpawnItemEX("PhoenixSmokeTrail",0,0,0,0,2,0)
			TNT1 A 0 A_CheckProximity("Absorb","BrutalPhoenixMissile2",75,1)
			TNT1 AA 0 A_SpawnItemEX("PhoenixSmokeTrail",-20,-2,0,0,-4,0)
			TNT1 AA 0 A_SpawnItemEX("PhoenixSmokeTrail",-10,-2,0,0,-4,0)
			TNT1 AA 0 A_SpawnItemEX("PhoenixSmokeTrail",-20,2,0,0,4,0)
			TNT1 AA 0 A_SpawnItemEX("PhoenixSmokeTrail",-10,2,0,0,4,0)
			Loop
		Fancy:
			FX98 A 1 Bright A_SpawnItem("GoldWandFlare",0,0)
			Loop
		Absorb:
			TNT1 A 0 A_ScaleVelocity(0.1)
			TNT1 AAAAAAA 0 A_CustomMissile ("HDBallBoom", 3, 0, random (0, 360), 2, random (0, 360))
			TNT1 A 0 A_Explode(70, 144, XF_HURTSOURCE)
			TNT1 A 0 A_Explode(40, 220, XF_HURTSOURCE)
			TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
			TNT1 A 0 A_PlaySound("DSBAREXP")
			TNT1 A 0 A_QuakeEx (1,1,1,20,0,440,"world/quake",QF_SCALEDOWN,0,0,0,144)
			TNT1 AAAA 0 A_CustomMissile ("PlasmaSmoke", 3, 0, random (0, 360), 2, random (0, 360))
			TNT1 AAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("ExplosionParticle1", 3, 0, random (0, 360), 2, random (0, 360))
			FXPR CDEDC 2
			Stop
		Death:
			TNT1 A 0 A_SetScale(2.3,2.3)
			TNT1 A 0 A_ChangeFlag(SPECTRAL,FALSE)
			TNT1 AAAAAAA 0 A_CustomMissile ("HDBallBoom", 3, 0, random (0, 360), 2, random (0, 360))
			TNT1 A 0 A_Explode(70, 144, XF_HURTSOURCE)
			TNT1 A 0 A_Explode(40, 220, XF_HURTSOURCE)
			TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
			TNT1 A 0 A_PlaySound("DSBAREXP")
			TNT1 A 0 A_QuakeEx (1,1,1,20,0,440,"world/quake",QF_SCALEDOWN,0,0,0,144)
			TNT1 AAAA 0 A_CustomMissile ("PlasmaSmoke", 3, 0, random (0, 360), 2, random (0, 360))
			TNT1 AAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("ExplosionParticle1", 3, 0, random (0, 360), 2, random (0, 360))
			TNT1 A 0 A_SetScale(1.5,1.5)
			FXPR CDEFGH 6 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (0, 160))
			Stop
	}
}

ACTOR WimpyBrutalPhoenixMissile : BrutalPhoenixMissile
{
	Damage (random(4,5) * 25)
}

ACTOR BrutalPhoenixMissile1 : BrutalPhoenixMissile
{
	Speed 50
	Damage (random(13,23)+(CountInv("Stat_Magicalstrength",AAPTR_PLAYER1)))
	
	States
	{
		Spawn:
			DMFX AAABBBCCC 1 Bright NoDelay A_SpawnItem("GoldWandFlare",0,0)
			Loop
		Death:
			TNT1 AAAAAAA 0 A_CustomMissile ("HDBallBoom", 3, 0, random (0, 360), 2, random (0, 360))
			TNT1 A 0 A_Explode(90, 220, XF_HURTSOURCE)
			TNT1 A 0 A_Explode(60, 330, 0)
			TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
			TNT1 A 0 A_PlaySound("DSBAREXP", 1)
			TNT1 A 0 A_QuakeEx (2,2,2,36,0,440,"world/quake",QF_SCALEDOWN,0,0,0,144)
			TNT1 AAAA 0 A_CustomMissile ("PlasmaSmoke", 3, 0, random (0, 360), 2, random (0, 360))
			TNT1 AAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("ExplosionParticle1", 3, 0, random (0, 360), 2, random (0, 360))
			TNT1 A 0 A_SetScale(1.5,1.5)
			DMFX DDEEFFGGHH 2 
			{
				A_CustomMissile("PlasmaSmoke", 1, 0, random (0, 360), 2, random (0, 160));
				A_SetScale(scalex + 0.25, scaley + 0.25);
			}
			Stop
	}
}

ACTOR WimpyBrutalPhoenixMissile1 : BrutalPhoenixMissile1
{
	Damage (random(5,6) * 25)
}

ACTOR BrutalPhoenixMissile3 : BrutalPhoenixMissile
{
	Speed 8
	Health 1
	Damage (random(25,50)+(CountInv("Stat_Magicalstrength",AAPTR_PLAYER1)))
	Height 2
	Radius 2
	Scale 1
	Alpha 0.8
	Renderstyle Add //translucent
	+SEEKERMISSILE
	+VISIBILITYPULSE
	
	States
	{
		Spawn:
			//PSMM D 50 NoDelay
			BIRB ABCBABCBABCBABCB 4 NoDelay
			{
				A_SpawnItemEx("PhoenixEmbers",-1,frandom(-25.0,25.0),frandom(-20.0,20.0),-1);
				A_SpawnItemEx("PhoenixEmbers",-1,frandom(-25.0,25.0),frandom(-20.0,20.0),-1);
				A_SpawnItemEx("PhoenixEmbers",-1,frandom(-25.0,25.0),frandom(-20.0,20.0),-1);
				A_SpawnItemEx("PhoenixEmbers",-1,frandom(-25.0,25.0),frandom(-20.0,20.0),-1);
				A_SpawnItemEx("PhoenixEmbers",-1,frandom(-25.0,25.0),frandom(-20.0,20.0),-1);
			}
			Goto Homing
		Homing:
			/*TNT1 A 0 A_FadeTo(1,1)
			TNT1 A 0 A_ScaleVelocity(1.15)
			PSMM D 1 Bright A_SpawnItem("GoldWandFlare",0,0)
			PSMM D 1 Bright A_SeekerMissile(25,20,(SMF_LOOK|SMF_PRECISE|SMF_CURSPEED),128)
			TNT1 A 0 A_FadeTo(0.5,0.5)
			PSMM D 1 A_ScaleVelocity(1.15)
			PSMM D 1 A_SeekerMissile(25,20,(SMF_LOOK|SMF_PRECISE|SMF_CURSPEED),128)*/
			BIRB AAABBCCCBB 1
			{
				A_SeekerMissile(25,20,(SMF_LOOK|SMF_PRECISE|SMF_CURSPEED),128);
				A_ScaleVelocity(1.1);
				A_SpawnItemEx("PhoenixEmbers",-2,frandom(-25.0,25.0),frandom(-20.0,20.0),-2);
				A_SpawnItemEx("PhoenixEmbers",-2,frandom(-25.0,25.0),frandom(-20.0,20.0),-2);

			}
			Loop
		Death:
			TNT1 AAAAAAA 0 A_CustomMissile ("HDBallBoom", 3, 0, random (0, 360), 2, random (0, 360))
			TNT1 A 0 A_Explode(120, 330, XF_HURTSOURCE)
			TNT1 A 0 A_Explode(80, 440, 0)
			TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
			TNT1 A 0 A_PlaySound("DSBAREXP", 1)
			//TNT1 A 0 Radius_Quake (4, 15, 0, 12, 0)
			TNT1 A 0 A_QuakeEx (4,4,4,42,0,640,"world/quake",QF_SCALEDOWN,0,0,0,330)
			TNT1 AAAA 0 A_CustomMissile ("PlasmaSmoke", 3, 0, random (0, 360), 2, random (0, 360))
			TNT1 AAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("ExplosionParticle1", 3, 0, random (0, 360), 2, random (0, 360))	
			MUMM QRSTUVW 6 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (0, 160))
			Stop
	}
}

ACTOR WimpyBrutalPhoenixMissile3 : BrutalPhoenixMissile3
{
	Damage (random(5,6) * 30)
}

ACTOR BrutalPhoenixPoweredMissile
{
	Radius 10
	Height 10
	Speed 25 
	Damage (random(1,1) * 2)
	//Damage 1
	RenderStyle Add
    DamageType Fire
	ProjectileKickback 10
	Scale 0.5
	Alpha 1.0
	Gravity 0
	//WeaveIndexXY 0
	+NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
	+RIPPER
	+NOBOSSRIP
	+NOBLOOD
	+NOBLOODDECALS
	+BLOODLESSIMPACT
	-BLOODSPLATTER
	
	States
	{
		Spawn:
			TNT1 A 0 NoDelay A_JumpIf(GetCVAR("LightShow"),"Fancy")
			//TNT1 A 0 A_SetScale(1,0.6)
			FXF2 CCCDDCCDDCCDDE 1 Bright
			{
				//A_Weave(5, 0, 5.0, 0.0);
				//A_SetScale(0,(0.4+ScaleY));
				A_SpawnItem("RedFlareSmall", 0, 0);
			}
			FXF2 EFG 1 Bright
			{
				//A_Weave(3, 0, 1.0, 0.0);
				A_SpawnItem("RedFlare", 0, 0);
				A_CustomMissile ("ExplosionParticle1", 6, 0, 0, 2, random (10, 20));
			}
			
			/*FXF2 CC 1 BRIGHT A_SpawnItem("RedFlareSmall", 0, 0)
			TNT1 A 0 A_SetScale(1,0.7)
			FXF2 CDD 1 BRIGHT A_SpawnItem("RedFlareSmall", 0, 0)
			TNT1 A 0 A_SetScale(1,0.8)
			FXF2 CCD 1 BRIGHT A_SpawnItem("RedFlareSmall", 0, 0)
			TNT1 A 0 A_SetScale(1,0.9)
			FXF2 DCC 1 BRIGHT A_SpawnItem("RedFlareSmall", 0, 0)
			TNT1 A 0 A_SetScale(1,1)
			FXF2 DDE 1 BRIGHT A_SpawnItem("RedFlareSmall", 0, 0)
			//TNT1 A 0 A_CustomMissile ("ExplosionParticle1", 6, 0, 0, 2, random (10, 20))
			FXF2 EFG 1 BRIGHT A_SpawnItem("RedFlare", 0, 0)
			//TNT1 A 0 A_CustomMissile ("ExplosionParticle1", 6, 0, random (0, 360), 2, random (10, 90))*/
			Stop
		Fancy:
			FIR3 AB 1 BRIGHT A_SpawnItem("RedFlareSmall", 0, 0)
			//TNT1 A 0 A_Explode(1, 100, 0)
			FIR3 DEF 1 BRIGHT A_SpawnItem("RedFlareSmall", 0, 0)
			//TNT1 A 0 A_Explode(1, 100, 0)
			FIR3 GHI 1 BRIGHT A_SpawnItem("RedFlareSmall", 0, 0)
			//TNT1 A 0 A_Explode(1, 100, 0)
			FIR3 JKL 1 BRIGHT A_SpawnItem("RedFlareSmall", 0, 0)
			//TNT1 A 0 A_Explode(1, 100, 0)
			FIR3 MNO 1 BRIGHT A_SpawnItem("RedFlareSmall", 0, 0)
			//TNT1 A 0 A_Explode(1, 100, 0)
			//EXPL A 0 A_CustomMissile ("ExplosionParticle1", 6, 0, 0, 2, random (10, 20))
			FIR3 P 1 BRIGHT A_SpawnItem("RedFlare", 0, 0)
			TNT1 A 0 A_Explode(1, 150, 0)
			//EXPL A 0 A_CustomMissile ("ExplosionParticle1", 6, 0, random (0, 360), 2, random (10, 90))
			Stop
		Death:
			TNT1 A 0 A_Explode(1, 150, 0)
			TNT1 AA 0 A_CustomMissile ("ExplosionParticle1", 6, 0, random (0, 360), 2, random (10, 90))
			FXFP EDCDE 1
			Stop
	}
}

ACTOR BrutalPhoenixPoweredMissile2 : BrutalPhoenixPoweredMissile
{
	WeaveIndexXY 32
}

ACTOR BrutalPhoenixPoweredMissile3 : BrutalPhoenixPoweredMissile
{
	WeaveIndexXY 16
}

ACTOR BrutalPhoenixPoweredMissile4 : BrutalPhoenixPoweredMissile
{
	WeaveIndexXY 48
}
	

ACTOR RocketTrailParticleC : RocketTrailParticle
{
	Scale 0.1
	alpha 0.5
}

ACTOR ScorchedEarth : BrutalPoisonCloud
{
	Speed 15
	Radius 20
    Height 24
	DamageType "Phoenix"
	Renderstyle Add
	Mass 1
	Alpha 0.5
	YScale 1
	Gravity 1
	+RANDOMIZE
	-NOGRAVITY
	-FLOAT
	+FLOORHUGGER
	
	States
	{
		Spawn:
			FXFP FFF 2 BRIGHT A_Explode(random(2,5),40,0,FALSE,40)
			TNT1 A 0 A_PlaySound("TORCHBRN",4,0.2,TRUE)
			TNT1 A 0 A_ScaleVelocity(0.5)
			//TNT1 A 0 A_SetScale(1.25,1.25)
			FXFP EEE 2 BRIGHT A_Explode(random(2,5),40,0,FALSE,40)
			TNT1 A 0 A_ScaleVelocity(0.5)
			//TNT1 A 0 A_SetScale(1.5,1.5)
			FXFP DDD 2 BRIGHT A_Explode(random(2,5),40,0,FALSE,40)
			TNT1 A 0 A_ScaleVelocity(0.5)
			//TNT1 A 0 A_SetScale(1.75,1.75)
			FXFP CCC 2 BRIGHT A_Explode(random(2,5),40,0,FALSE,40)
			TNT1 A 0 A_ScaleVelocity(0)
			TNT1 A 0 A_SetScale(1.5,1.5)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			FXFP BBBAAABBBCCC 2 BRIGHT A_Explode(random(4,6),40,0,FALSE,40)
			TNT1 A 0 A_StopSound(4)
			goto Death
		Death:
			FXFP CDEF 5 Bright
			FX06 DE 7 BRIGHT
			FX06 FG 6 BRIGHT
			Stop
	}
}
