//------------------------------------------------------------------------------
actor Pod 2035
{
	Game Heretic
	SpawnID 125
	Health 45
	Radius 16
	Height 54
	PainChance 255
	+Solid
	+Shootable
	+DropOff
	+NoBlood
	+WindThrust
	+Pushable
	+SlidesOnWalls
	+Telestomp
	+DontMorph
	+CanPass
	+NoBlockMonst
	+DontGib
	+CantAutoAim
	DeathSound "world/podexplode"

	action native A_PodPain();
	action native A_RemovePod();

	states
	{
	Spawn:
		PPOD A 10
		Loop
	Pain:
		PPOD B 14 A_PodPain
		Goto Spawn
	Death:
		PPOD C 5 Bright A_RemovePod
		PPOD D 5 Bright A_Scream
		PPOD E 5 Bright A_Explode
		PPOD F 10 Bright
		Goto Actor::FreeTargMobj
	Grow:
		PPOD IJKLMNOP 3
		Goto Spawn
	}
}

//------------------------------------------------------------------------------
actor PodGoo
{
	Radius 2
	Height 4
	Gravity 0.125
	+Missile
	+NoBlockmap
	+DropOff
	+NoTeleport
	+CannotPush
	states
	{
	Spawn:
		PPOD GH 8
		Loop
	Death:
		PPOD G 10
		Stop
	}
}

//------------------------------------------------------------------------------
actor PodGenerator 43
{
	Game Heretic
	SpawnID 126
	+NoSector
	+NoBlockmap
	+DontSplash

	action native A_MakePod();

	states
	{
	Spawn:
		AMG1 A 35 A_MakePod
		Loop
	}
}

//------------------------------------------------------------------------------
actor TeleGlitterGenerator1 74
{
	Game Heretic
	SpawnID 166
	+NoSector
	+NoBlockmap
	+NoGravity
	+DontSplash
	states
	{
	Spawn:
		TGLT A 8 A_SpawnItemEx("TeleGlitter1", Random(0, 31) - 16,
			Random(0, 31) - 16, 0, 0, 0, 0.25)
		Loop
	}
}

//------------------------------------------------------------------------------
actor TeleGlitterGenerator2 52
{
	Game Heretic
	SpawnID 167
	+NoSector
	+NoBlockmap
	+NoGravity
	+DontSplash
	states
	{
	Spawn:
		TGLT A 8 A_SpawnItemEx("TeleGlitter2", Random(0, 31) - 16,
			Random(0, 31) - 16, 0, 0, 0, 0.25)
		Loop
	}
}

//------------------------------------------------------------------------------
actor TeleGlitter1
{
	RenderStyle Add
	+Missile
	+NoBlockmap
	+NoGravity

	action native A_AccTeleGlitter();

	states
	{
	Spawn:
		TGLT A 2 Bright
		TGLT B 2 Bright A_AccTeleGlitter
		TGLT C 2 Bright
		TGLT D 2 Bright A_AccTeleGlitter
		TGLT E 2 Bright
		Loop
	}
}

//------------------------------------------------------------------------------
actor TeleGlitter2 : TeleGlitter1
{
	states
	{
	Spawn:
		TGLT F 2 Bright
		TGLT G 2 Bright A_AccTeleGlitter
		TGLT H 2 Bright
		TGLT I 2 Bright A_AccTeleGlitter
		TGLT J 2 Bright
		Loop
	}
}

//------------------------------------------------------------------------------
actor Volcano 87
{
	Game Heretic
	SpawnID 150
	Radius 12
	Height 20
	+Solid

	action native A_VolcanoSet();
	action native A_VolcanoBlast();

	states
	{
	Spawn:
		VLCO A 350
		VLCO A 35 A_VolcanoSet
		VLCO BCDBCD 3
		VLCO E 10 A_VolcanoBlast
		Goto Spawn+1
	}
}

//------------------------------------------------------------------------------
actor VolcanoBlast
{
	Game Heretic
	SpawnID 123
	Radius 8
	Height 8
	Speed 2
	Gravity 0.125
	Damage 2
	DamageType "Fire"
	Projectile
	-NoGravity
	-ActivatePCross
	-ActivateImpact
	DeathSound "world/volcano/blast"

	action native A_VolcBallImpact();

	states
	{
	Spawn:
		VFBL AB 4 A_SpawnItemEx(Puffy, random2() * 0.015625, random2() * 0.015625,
			random2() * 0.015625, 0, 0, 0, 0, SXF_ABSOLUTEPOSITION, 64)
		Loop
	Death:
		XPL1 A 4 A_VolcBallImpact
		XPL1 BCDEF 4
		Stop
	}
}

//------------------------------------------------------------------------------
actor VolcanoTBlast
{
	Game Heretic
	SpawnID 124
	Radius 8
	Height 6
	Speed 2
	Gravity 0.125
	Damage 1
	DamageType "Fire"
	Projectile
	-NoGravity
	-ActivatePCross
	-ActivateImpact
	states
	{
	Spawn:
		VTFB AB 4
		Loop
	Death:
		SFFI CBABCDE 4
		Stop
	}
}
