
// Winged Statue (no skull) -------------------------------------------------

ACTOR ZWingedStatueNoSkull : SwitchingDecoration
{
	Radius 10
	Height 62
	+SOLID
	States
	{
	Spawn:
		STWN A -1
		Stop
	Active:
		STWN B -1
		Stop
	}
}


// Gem pedestal -------------------------------------------------------------

ACTOR ZGemPedestal : SwitchingDecoration
{
	Radius 10
	Height 40
	+SOLID
	States
	{
	Spawn:
		GMPD A -1
		Stop
	Active:
		GMPD B -1
		Stop
	}
}


// Tree (destructible) ------------------------------------------------------

ACTOR TreeDestructible
{
	Health 70
	Radius 15
	Height 180
	DeathHeight 24
	Mass 0x7fffffff
	PainSound "TreeExplode"
	DeathSound "TreeBreak"
	+SOLID +SHOOTABLE +NOBLOOD +NOICEDEATH
	States
	{
	Spawn:
		TRDT A -1
		Stop
	Death:
		TRDT B 5
		TRDT C 5 A_Scream
		TRDT DEF 5
		TRDT G -1
		Stop
	Burn:
		TRDT H 5 Bright A_Pain
		TRDT IJKL 5 Bright
		TRDT M 5 Bright A_Explode(10, 128)
		TRDT N 5 Bright
		TRDT OP 5
		TRDT Q -1
		Stop
	} 
}


// Pottery1 ------------------------------------------------------------------

ACTOR Pottery1 native
{
	Health 15
	Speed 10
	Height 32
	+SOLID +SHOOTABLE +NOBLOOD +DROPOFF
	+SLIDESONWALLS +PUSHABLE +TELESTOMP +CANPASS
	+NOICEDEATH

	action native A_PotteryExplode();

	States
	{
	Spawn:
		POT1 A -1
		Loop
	Death:
		POT1 A 0 A_PotteryExplode
		Stop
	}
}

// Pottery2 -----------------------------------------------------------------

ACTOR Pottery2 : Pottery1
{
	Height 25
	States
	{
	Spawn:
		POT2 A -1
		Stop
	}
}

// Pottery3 -----------------------------------------------------------------

ACTOR Pottery3 : Pottery1
{
	Height 25
	States
	{
	Spawn:
		POT3 A -1
		Stop
	}
}

// Pottery Bit --------------------------------------------------------------

ACTOR PotteryBit
{
	Radius 5
	Height 5
	+MISSILE
	+NOTELEPORT
	+NOICEDEATH

	action native A_PotteryChooseBit();
	action native A_PotteryCheck();

	States
	{
	Spawn:
		PBIT ABCDE -1
		Stop
	Death:
		PBIT F 0 A_PotteryChooseBit
		Stop
	Pottery1:
		PBIT F 140
		PBIT F 1 A_PotteryCheck
		Stop
	Pottery2:
		PBIT G 140
		PBIT G 1 A_PotteryCheck
		Stop
	Pottery3:
		PBIT H 140
		PBIT H 1 A_PotteryCheck
		Stop
	Pottery4:
		PBIT I 140
		PBIT I 1 A_PotteryCheck
		Stop
	Pottery5:
		PBIT J 140
		PBIT J 1 A_PotteryCheck
		Stop
	}
}


// Blood pool ---------------------------------------------------------------

ACTOR BloodPool
{
	States
	{
	Spawn:
		BDPL A -1
		Stop
	}
}


// Lynched corpse (no heart) ------------------------------------------------

ACTOR ZCorpseLynchedNoHeart native
{
	Radius 10
	Height 100
	+SOLID +SPAWNCEILING +NOGRAVITY

	action native A_CorpseBloodDrip();

	States
	{
	Spawn:
		CPS5 A 140 A_CorpseBloodDrip
		Loop
	}
}


// CorpseBloodDrip ----------------------------------------------------------

ACTOR CorpseBloodDrip
{
	Radius 1
	Height 4
	Gravity 0.125
	+MISSILE
	+NOICEDEATH
	DeathSound "Drip"
	States
	{
	Spawn:
		BDRP A -1
		Stop
	Death:
		BDSH AB 3
		BDSH CD 2
		Stop
	}
}


// Corpse bit ---------------------------------------------------------------

ACTOR CorpseBit
{
	Radius 5
	Height 5
	+NOBLOCKMAP
	+TELESTOMP
	States
	{
	Spawn:
		CPB1 A -1
		Stop
		CPB2 A -1
		Stop
		CPB3 A -1
		Stop
		CPB4 A -1
		Stop
	}
}


// Corpse (sitting, splatterable) -------------------------------------------

ACTOR ZCorpseSitting
{
	Health 30
	Radius 15
	Height 35
	+SOLID +SHOOTABLE +NOBLOOD
	+NOICEDEATH
	DeathSound "FireDemonDeath"

	action native A_CorpseExplode();

	States
	{
	Spawn:
		CPS6 A -1
		Stop
	Death:
		CPS6 A 1 A_CorpseExplode
		Stop
	}
}


// Leaf Spawner -------------------------------------------------------------

ACTOR LeafSpawner
{
	+NOBLOCKMAP +NOSECTOR
	+INVISIBLE

	action native A_LeafSpawn();

	States
	{
	Spawn:
		TNT1 A 20 A_LeafSpawn
		Loop
	}
}


// Leaf 1 -------------------------------------------------------------------

ACTOR Leaf1
{
	Radius 2
	Height 4
	Gravity 0.125
	+NOBLOCKMAP +MISSILE
	+NOTELEPORT +DONTSPLASH
	+NOICEDEATH

	action native A_LeafThrust();
	action native A_LeafCheck();

	States
	{
	Spawn:
		LEF1 ABC 4
		LEF1 D 4 A_LeafThrust
		LEF1 EFG 4
		LEF1 H 4 A_LeafThrust
		LEF1 I 4
		LEF1 AB 4
		LEF1 C 4 A_LeafThrust
		LEF1 DEF 4
		LEF1 G 4 A_LeafThrust
		LEF1 HI 4
		Stop
	Death:
		LEF3 D 10 A_LeafCheck
		Wait
	}
}


// Leaf 2 -------------------------------------------------------------------

ACTOR Leaf2 : Leaf1
{
	States
	{
	Spawn:
		LEF2 ABC 4
		LEF2 D 4 A_LeafThrust
		LEF2 EFG 4
		LEF2 H 4 A_LeafThrust
		LEF2 I 4
		LEF2 AB 4
		LEF2 C 4 A_LeafThrust
		LEF2 DEF 4
		LEF2 G 4 A_LeafThrust
		LEF2 HI 4
		Stop
	}
}


// Twined torch -------------------------------------------------------------

ACTOR ZTwinedTorch : SwitchableDecoration
{
	Radius 10
	Height 64
	+SOLID
	States
	{
	Active:
		TWTR A 0 Bright A_PlaySound("Ignite")
	Spawn:
		TWTR ABCDEFGH 4 Bright
		Loop
	Inactive:
		TWTR I -1
		Stop
	}
}

ACTOR ZTwinedTorchUnlit : ZTwinedTorch
{
	States
	{
	Spawn:
		Goto Super::Inactive
	}
}


// Wall torch ---------------------------------------------------------------

ACTOR ZWallTorch : SwitchableDecoration
{
	+NOBLOCKMAP
	+NOGRAVITY
	+FIXMAPTHINGPOS
	Radius 6.5
	States
	{
	Active:
		WLTR A 0 Bright A_PlaySound("Ignite")
	Spawn:
		WLTR ABCDEFGH 5 Bright
		Loop
	Inactive:
		WLTR I -1
		Stop
	}
}

ACTOR ZWallTorchUnlit : ZWallTorch
{
	States
	{
	Spawn:
		Goto Super::Inactive
	}
}


// Shrub1 -------------------------------------------------------------------

ACTOR ZShrub1
{
	Radius 8
	Height 24
	Health 20
	Mass 0x7fffffff
	+SOLID +SHOOTABLE +NOBLOOD +NOICEDEATH
	DeathSound "TreeExplode"
	States
	{
	Spawn:
		SHB1 A -1
		Stop
	Burn:
		SHB1 B 7 Bright
		SHB1 C 6 Bright A_Scream
		SHB1 D 5 Bright
		Stop
	}
}


// Shrub2 -------------------------------------------------------------------

ACTOR ZShrub2
{
	Radius 16
	Height 40
	Health 20
	Mass 0x7fffffff
	+SOLID +SHOOTABLE +NOBLOOD +NOICEDEATH
	DeathSound "TreeExplode"
	States
	{
	Spawn:
		SHB2 A -1
		Stop
	Burn:
		SHB2 B 7 Bright
		SHB2 C 6 Bright A_Scream
		SHB2 D 5 Bright A_Explode(30, 64)
		SHB2 E 5 Bright
		Stop
	}
}


// Fire Bull ----------------------------------------------------------------

ACTOR ZFireBull : SwitchableDecoration
{
	Radius 20
	Height 80
	+SOLID
	States
	{
	Active:
		FBUL I 4 Bright A_PlaySound("Ignite")
		FBUL J 4 Bright
	Spawn:
		FBUL ABCDEFG 4 Bright
		Loop
	Inactive:
		FBUL JI 4 Bright
		FBUL H -1
		Stop
	}
}

ACTOR ZFireBullUnlit : ZFireBull
{
	States
	{
	Spawn:
		Goto Super::Inactive+2
	}
}


// Suit of armor ------------------------------------------------------------

ACTOR ZSuitOfArmor
{
	Health 60
	Radius 16
	Height 72
	Mass 0x7fffffff
	+SOLID +SHOOTABLE +NOBLOOD
	+NOICEDEATH
	DeathSound "SuitofArmorBreak"

	action native A_SoAExplode();

	States
	{
	Spawn:
		ZSUI A -1
		Stop
	Death:
		ZSUI A 1 A_SoAExplode
		Stop
	}
}


// Armor chunk --------------------------------------------------------------

ACTOR ZArmorChunk
{
	Radius 4
	Height 8
	States
	{
	Spawn:
		ZSUI B -1
		Stop
		ZSUI C -1
		Stop
		ZSUI D -1
		Stop
		ZSUI E -1
		Stop
		ZSUI F -1
		Stop
		ZSUI G -1
		Stop
		ZSUI H -1
		Stop
		ZSUI I -1
		Stop
		ZSUI J -1
		Stop
		ZSUI K -1
		Stop
	}
}


// Bell ---------------------------------------------------------------------

ACTOR ZBell native
{
	Health 5
	Radius 56
	Height 120
	Mass 0x7fffffff
	+SOLID +SHOOTABLE +NOBLOOD +NOGRAVITY +SPAWNCEILING
	+NOICEDEATH
	DeathSound "BellRing"

	action native A_BellReset1();
	action native A_BellReset2();

	States
	{
	Spawn:
		BBLL F -1
		Stop
	Death:
		BBLL A 4 A_BellReset1
		BBLL BC 4
		BBLL D 5 A_Scream
		BBLL CB 4
		BBLL A 3
		BBLL E 4
		BBLL F 5
		BBLL G 6 A_Scream
		BBLL F 5
		BBLL EA 4
		BBLL BC 5
		BBLL D 6 A_Scream
		BBLL CB 5
		BBLL A 4
		BBLL EF 5
		BBLL G 7 A_Scream
		BBLL FEA 5
		BBLL B 6
		BBLL C 6
		BBLL D 7 A_Scream
		BBLL CB 6
		BBLL A 5
		BBLL EF 6
		BBLL G 7 A_Scream
		BBLL FEABC 6
		BBLL B 7
		BBLL A 8
		BBLL E 12
		BBLL A 10
		BBLL B 12
		BBLL A 12
		BBLL E 14
		BBLL A 1 A_BellReset2
		Goto Spawn
	}
}


// "Christmas" Tree ---------------------------------------------------------

ACTOR ZXmasTree
{
	Radius 11
	Height 130
	Health 20
	Mass 0x7fffffff
	+SOLID +SHOOTABLE +NOBLOOD +NOICEDEATH
	DeathSound "TreeExplode"
	States
	{
	Spawn:
		XMAS A -1
		Stop
	Burn:
		XMAS B 6 Bright
		XMAS C 6 Bright A_Scream
		XMAS D 5 Bright
		XMAS E 5 Bright A_Explode(30, 64)
		XMAS F 5 Bright
		XMAS G 4 Bright
		XMAS H 5
		XMAS I 4 A_NoBlocking
		XMAS J 4
		XMAS K -1
		Stop
	}
}

// Cauldron -----------------------------------------------------------------

ACTOR ZCauldron : SwitchableDecoration
{
	Radius 12
	Height 26
	+SOLID
	States
	{
	Active:
		CDRN B 0 Bright A_PlaySound("Ignite")
	Spawn:
		CDRN BCDEFGH 4 Bright
		Loop
	Inactive:
		CDRN A -1
		Stop
	}
}

ACTOR ZCauldronUnlit : ZCauldron
{
	States
	{
	Spawn:
		Goto Super::Inactive
	}
}


// Water Drip ---------------------------------------------------------------

ACTOR HWaterDrip
{
	+MISSILE
	+LOWGRAVITY
	+NOTELEPORT
	Mass 1
	DeathSound "Drip"
	States
	{
	Spawn:
		HWAT A -1
		Stop
	}
}

