ACTOR IgnitionSnort
{
	Radius 12
	Height 16
	Speed 6
	+FORCEXYBILLBOARD
	+THRUACTORS
	PROJECTILE
	Renderstyle Add
	Alpha 0.0
	Scale 0.0
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_ScaleVelocity(frandom(0.7,1.1))
	TNT1 A 0 A_FadeIn(frandom(0.99,0.9))
	TNT1 A 0 A_SetScale(frandom(0.1,0.08))
	FEUR ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 Bright A_GiveInventory("IgnitionCycle")
	Stop
	}
}


ACTOR IgnitionCycle : CustomInventory
{
	+INVENTORY.AUTOACTIVATE
	+FORCERADIUSDMG
	Inventory.MaxAmount 0
	DamageType Fire3
	States
	{
	Spawn:
	TNT1 A -1
	Stop
	Pickup:
	TNT1 A 0 A_Explode((random(5,2)),76,0)
	TNT1 A 0 A_SetScale(ScaleX+(frandom(0.01,0.02)))
	TNT1 A 0 A_FadeOut(frandom(0.02,0.05))
	TNT1 A 0 A_ChangeVelocity(frandom(-0.2, 0.2), frandom(-0.2, 0.2), frandom(-0.2, 0.2), 0)
	Stop
	}
}

ACTOR IgnitionSmoke
{
	Speed 4
	Alpha 0.0
	RenderStyle Translucent
	+FORCEXYBILLBOARD
	+NOINTERACTION
	+NOTONAUTOMAP
	States
	{
		Spawn:
			TNT1 A 12
			TNT1 A 0 A_ScaleVelocity(frandom(0.7,1.1))
		SetupSprite:
			TNT1 A 0 A_Jump(256, "SpriteE", "SpriteF", "SpriteG", "SpriteH",
			"SpriteI", "SpriteJ", "SpriteK", "SpriteL", "SpriteM", "SpriteN",
			"SpriteO", "SpriteP")
		SpriteE:
			DYMI E 0 A_Jump(256, "SetupScale")
		SpriteF:
			DYMI F 0 A_Jump(256, "SetupScale")
		SpriteG:
			DYMI G 0 A_Jump(256, "SetupScale")
		SpriteH:
			DYMI H 0 A_Jump(256, "SetupScale")
		SpriteI:
			DYMI I 0 A_Jump(256, "SetupScale")
		SpriteJ:
			DYMI J 0 A_Jump(256, "SetupScale")
		SpriteK:
			DYMI K 0 A_Jump(256, "SetupScale")
		SpriteL:
			DYMI L 0 A_Jump(256, "SetupScale")
		SpriteM:
			DYMI A 0 A_Jump(256, "SetupScale")
		SpriteN:
			DYMI B 0 A_Jump(256, "SetupScale")
		SpriteO:
			DYMI C 0 A_Jump(256, "SetupScale")
		SpriteP:
			DYMI D 0 A_Jump(256, "SetupScale")
		SetupScale:
			"####" "#" 0 A_SetScale(frandom(0.2, 0.35))
		FadeIn:
			"####" "#" 1 A_FadeIn(FRandom(0.01, 0.03))
			"####" "#" 0 A_ChangeVelocity(frandom(-0.05, 0.05), frandom(-0.05, 0.05), frandom(-0.025, 0.05), 0)
			"####" "#" 0 A_SetScale(ScaleX + FRandom(0.005, 0.0025))
			"####" "#" 0 A_JumpIf(Alpha >= 0.4, "FadeOut")
			Loop
		FadeOut:
			"####" "#" 1 A_FadeOut(FRandom(0.02,0.005))
			"####" "#" 0 A_ChangeVelocity(frandom(-0.05, 0.05), frandom(-0.05, 0.05), frandom(-0.025, 0.05), 0)
			"####" "#" 0 A_SetScale(ScaleX + FRandom(0.005, 0.0025))
			Loop
	}
}

ACTOR IgnitionSnortNostril : IgnitionSnort
{
	Radius 12
	Height 16
	Speed 3
	+FORCEXYBILLBOARD
	+THRUACTORS
	PROJECTILE
	Renderstyle Add
	Alpha 0.0
	Scale 0.0
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_ScaleVelocity(frandom(0.7,1.1))
	TNT1 A 0 A_FadeIn(frandom(0.99,0.9))
	TNT1 A 0 A_SetScale(frandom(0.01,0.02))
	FEUR ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 Bright A_GiveInventory("IgnitionSnortCycle")
	Stop
	}
}


ACTOR IgnitionSnortCycle : CustomInventory
{
	+INVENTORY.AUTOACTIVATE
	+FORCERADIUSDMG
	Inventory.MaxAmount 0
	DamageType Fire3
	States
	{
	Spawn:
	TNT1 A -1
	Stop
	Pickup:
	TNT1 A 0 A_Jump(164,2)
	TNT1 A 0 A_Explode((random(1,2)),24,0)
	TNT1 A 0 A_SetScale(ScaleX+(frandom(0.0025,0.005)))
	TNT1 A 0 A_FadeOut(frandom(0.02,0.05))
	TNT1 A 0 A_ChangeVelocity(frandom(-0.01, 0.01), frandom(-0.01, 0.01), frandom(-0.01, 0.01), 0)
	Stop
	}
}

ACTOR IgnitionSmokeNostril : IgnitionSmoke
{
	Speed 2
	Alpha 0.0
	RenderStyle Translucent
	+FORCEXYBILLBOARD
	+NOINTERACTION
	+NOTONAUTOMAP
	States
	{
		Spawn:
			TNT1 A 12
			TNT1 A 0 A_ScaleVelocity(frandom(0.7,1.1))
		SetupSprite:
			TNT1 A 0 A_Jump(256, "SpriteE", "SpriteF", "SpriteG", "SpriteH",
			"SpriteI", "SpriteJ", "SpriteK", "SpriteL", "SpriteM", "SpriteN",
			"SpriteO", "SpriteP")
		SpriteE:
			DYMI E 0 A_Jump(256, "SetupScale")
		SpriteF:
			DYMI F 0 A_Jump(256, "SetupScale")
		SpriteG:
			DYMI G 0 A_Jump(256, "SetupScale")
		SpriteH:
			DYMI H 0 A_Jump(256, "SetupScale")
		SpriteI:
			DYMI I 0 A_Jump(256, "SetupScale")
		SpriteJ:
			DYMI J 0 A_Jump(256, "SetupScale")
		SpriteK:
			DYMI K 0 A_Jump(256, "SetupScale")
		SpriteL:
			DYMI L 0 A_Jump(256, "SetupScale")
		SpriteM:
			DYMI A 0 A_Jump(256, "SetupScale")
		SpriteN:
			DYMI B 0 A_Jump(256, "SetupScale")
		SpriteO:
			DYMI C 0 A_Jump(256, "SetupScale")
		SpriteP:
			DYMI D 0 A_Jump(256, "SetupScale")
		SetupScale:
			"####" "#" 0 A_SetScale(frandom(0.05, 0.025))
		FadeIn:
			"####" "#" 1 A_FadeIn(FRandom(0.01, 0.03))
			"####" "#" 0 A_ChangeVelocity(frandom(-0.01, 0.01), frandom(-0.01, 0.01), frandom(-0.01, 0.01), 0)
			"####" "#" 0 A_SetScale(ScaleX + FRandom(0.00125, 0.0025))
			"####" "#" 0 A_JumpIf(Alpha >= 0.4, "FadeOut")
			Loop
		FadeOut:
			"####" "#" 1 A_FadeOut(FRandom(0.02,0.005))
			"####" "#" 0 A_ChangeVelocity(frandom(-0.01, 0.01), frandom(-0.01, 0.01), frandom(-0.01, 0.01), 0)
			"####" "#" 0 A_SetScale(ScaleX + FRandom(0.00125, 0.0025))
			Loop
	}
}