
//***Che Wont fix grass not burning in flames because all grass is CLIENTSIDEONLY + NOINTERACTION

/*  MERGED
ACTOR TreeBloodBD22: TreeBlood replaces TreeBlood
// backports its properties from BDv22test3. This has no effect in BDv22 itself, obviously.
{
	// the actor itself was never visible, it only uses TNT1 A 0 frames to spawn several particles
	renderstyle none
	-FORCEXYBILLBOARD
	+NOBLOCKMAP
	+NOINTERACTION
}

*/


/*	
	TRE2: (big tree)
		A - original Doom sprite (retouched to brownify charred parts)
		
		O - BD chubby tree
		N - BD chubby burning
		M (not used) BD chubby smeared with blood
		
		Chebskies adds:
		P - A charred
		Q - A broken
		R - B(O) charred broken
		S - O charred
		T - A charred broken
	TRE1:
		A - fullbrowned  (chebskies adds branches)
		Y - original doom sprite "A" ripped from doom2.wad (because BD overrides it). Used as charred.
		B - broken (Chebskies brownifies the roots)
		C - broken charred
*/

ACTOR BurningTreeBlood: TreeBlood { //TreeBloodBD22 {
	States {
		Spawn:
			TNT1 AA 0 A_CustomMissile ("TinyBurningPiece2", 2, 0, random (0, 360), 2, random (0, 360))
			TNT1 AA 0 A_CustomMissile ("TinyBurningPiece3", 2, 0, random (0, 360), 2, random (0, 360))
			Stop	
	}
}


Actor CoalLump {
    Radius 1
    Height 1
    Speed 4
    Scale 0.6
	Mass 1
    +NOBLOCKMAP
	+MISSILE
    +NOTELEPORT
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
	-DONTSPLASH
	+THRUGHOST
	+THRUACTORS
	+FLOORCLIP
	Mass 1	
	Gravity 0.4
	States {
		Spawn:
			CARB Y 35
			Loop
		Death:
			CARB Y 1
			TNT1 A 0 ACS_NamedExecuteAlways("BD_CheckIfOverLiquid")
			CARB Y 4
			TNT1 A 0 A_JumpIfInventory("IsOverWater", 1, "IsOverLiquid")
			TNT1 A 0 A_JumpIfInventory("IsOverSlime", 1, "IsOverLiquid")
			CARB Y -1
		IsOverLiquid:
			TNT1 A 1
			Stop
	}		
} 

Actor CoalLumpSmall: CoalLump {
	States {
		Spawn:
			CARB X 35
			Loop
		Death:
			CARB X 1
			TNT1 A 0 ACS_NamedExecuteAlways("BD_CheckIfOverLiquid")
			CARB X 4
			TNT1 A 0 A_JumpIfInventory("IsOverWater", 1, "IsOverLiquid")
			TNT1 A 0 A_JumpIfInventory("IsOverSlime", 1, "IsOverLiquid")
			CARB X -1
	}
}

ACTOR BurnedTreeBlood: TreeBlood { //TreeBloodBD22 {
	States {
		Spawn:
			TNT1 AA 0 A_CustomMissile ("CoalLump", 2, 0, random (0, 360), 2, random (0, 360))
			TNT1 AA 0 A_CustomMissile ("CoalLumpSmall", 2, 0, random (0, 360), 2, random (0, 360))
			Stop	
	}
}

ACTOR CheBiggerBlackSmoke: BigBlackSmoke {
	Scale 2.3
}


ACTOR HellTree01 1301 //replaces DeadTree01 1301
{
	+SOLID
    +SHOOTABLE
    +FORCEYBILLBOARD
	-NOPAIN
	+NOTAUTOAIMED
    Mass 99999
    Health 700
	height 96
	radius 16
	+NOBLOODDECALS
	+NOTARGET
	BloodType "TreeBlood"
	PainChance "Blood", 0
	PainChance "normal", 0
	PainChance "Flames", 64	PainChance "Fire", 64 PainChance "GreenFire", 64
	PainChance "Desintegrate", 32 PainChance "Plasma", 32 PainChance "Plasma2", 32
	damagefactor "Explosive", 1.5
	damagefactor "Avoid", 0.0    damagefactor "Kick", 0.0	damagefactor "Melee", 0.0    damagefactor "KillMe", 0.0 
	damagefactor "Trample", 0.3
	DamageFactor "Fire", 1.2 DamageFactor "Burn", 1.2 DamageFactor "Flames", 1.2
	DamageFactor "Plasma", 2.0 DamageFactor "PLasma2", 2.0
	DamageFactor "ExplosiveImpact", 0.0	DamageFactor "FriendlyExplosion", 0.0

	States {
		Stand:	
			TREE F 1
			TREE F -1
			Loop
		Spawn:
			TREE F 0
			TNT1 A 0 A_Jump(256, "Stand", "Spawn2")
			Goto Stand
		Spawn2:
			TNT1 A 0
			TNT1 A 0 A_SetScale(-1.0, 1.0) // flip horiz
			Goto Stand
		Pain:
			"----" A 0
			Goto Stand
		Pain.Flames:
		Pain.Fire:
		Pain.Desintegrate:
		Pain.Plasma:
		Pain.Plasma2:
		Pain.GreenFire:
			"----" A 0 A_Playsound("props/redfire", 1)
			"----" A 0 A_ChangeFlag("NOPAIN", 1)
			TREE FFFFFFFFFFFFFF 8 A_CustomMissile ("RedFlameTrailsSmall", Random(64, 160), Random(-24,24), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_CustomMissile ("RealisticFireSparks1", 32, 0, random (0, 140), 2, random (0, 160))
			TREE FFFFFFFFFFFFFF 6 A_CustomMissile ("RedFlameTrailsMed", Random(64, 160), Random(-28,28), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TREE FFFFFFF 4 A_CustomMissile ("RedFlameTrailsbIG", Random(64, 160), Random(-48,48), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			YTRE FFFFFFFF 4 A_CustomMissile ("RedFlameTrailsbIG", Random(64, 160), Random(-48,48), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("RealisticFireSparks1", 32, 0, random (0, 140), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			YTRE FFFFFFFFFFFFF 2 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 160), Random(-48,48), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			YTRE FFFFFFFFFFFFF 2 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 160), Random(-48,48), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			
			TNT1 A 0 A_Playsound("props/redfire", 1)			
			YTRE FFFFFFFFFFFFFFFFFFFFFFFFFFFF 2 A_CustomMissile ("RedFlameTrailsbIG", Random(64, 180), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up		
			Goto Death.Fire
		Death:
			"----" A 0
			"----" A 0 A_NoBlocking
			"----" A 0 A_ChangeFlag("NOPAIN", 1)
			"----" AAAAAA 0 A_CustomMissile ("BrownCloud", 35, 0, random (0, 360), 2, random (0, 360))
			"----" AAAAA 0 A_CustomMissile ("WoodParticle", 35, 0, random (0, 360), 2, random (0, 160))
			"----" AAAAA 0 A_CustomMissile ("WoodParticleSmall", 45, 0, random (0, 360), 2, random (0, 160))
			"----" AAAAAA 0 A_CustomMissile ("WoodParticleTiny", 65, 0, random (0, 360), 2, random (0, 160))
			"----" AAAAAAA 0 A_CustomMissile ("WoodParticleBig", 85, 0, random (0, 360), 2, random (0, 160))
			"----" A 0 A_StopSound(1)
			"----" A 0 A_PlaySound("TREEDIE", 1)
			YTRE A 1
			YTRE A -1
			Stop		
		Death.Flames:
		Death.Fire:
		Death.GreenFire:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 1 A_SpawnItemEx ("BurningHellTree01",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLEARCALLERTID|SXF_TRANSFERSCALE|SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERPOINTERS|SXF_TRANSFERTRANSLATION, 0, TID)
			// here SXF_TRANSFERSCALE causes it spawn flipped if our original tree spawned flipped
			TNT1 A 10
			Stop
	}
}


ACTOR HellTree01Indestructible: HellTree01 17688 {
	+INVULNERABLE
}


ACTOR HellTree02: HellTree01 1302 //replaces DeadTree02 1302
{

	PainChance "Flames", 48	PainChance "Fire", 48 PainChance "GreenFire", 48
	PainChance "Desintegrate", 24 PainChance "Plasma", 24 PainChance "Plasma2", 24

	States {
		Stand:	
			TREE G 1
			TREE G -1
			Loop
		Spawn:
			TREE G 0
			TNT1 A 0 A_Jump(256, "Stand", "Spawn2")
			Goto Stand
		Spawn2:
			TNT1 A 0
			TNT1 A 0 A_SetScale(-1.0, 1.0) // flip horiz
			Goto Stand
		Pain:
			"----" A 0
			Goto Stand
		Pain.Flames:
		Pain.Fire:
		Pain.Desintegrate:
		Pain.Plasma:
		Pain.Plasma2:
		Pain.GreenFire:
			"----" A 0 A_Playsound("props/redfire", 1)
			"----" A 0 A_ChangeFlag("NOPAIN", 1)
			TREE GGGGGGGGGGGGGG 8 A_CustomMissile ("RedFlameTrailsSmall", Random(64, 160), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_CustomMissile ("RealisticFireSparks1", 32, 0, random (0, 140), 2, random (0, 160))
			TREE GGGGGGGGGGGGGG 6 A_CustomMissile ("RedFlameTrailsMed", Random(64, 160), Random(-22,22), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TREE GGGGGGG 4 A_CustomMissile ("RedFlameTrailsbIG", Random(64, 180), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			YTRE GGGGGGGG 4 A_CustomMissile ("RedFlameTrailsbIG", Random(64, 160), Random(-48,48), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("RealisticFireSparks1", 32, 0, random (0, 140), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			YTRE GGGGGGGGGGGGG 2 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 160), Random(-48,48), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			YTRE GGGGGGGGGGGGG 2 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 160), Random(-48,48), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			
			TNT1 A 0 A_Playsound("props/redfire", 1)			
			YTRE GGGGGGGGGGGGGGGGGGGGGGGGGGG 2 A_CustomMissile ("RedFlameTrailsbIG", Random(64, 160), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up		
			Goto Death.Fire
		Death:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 AAAAAA 0 A_CustomMissile ("BrownCloud", 35, 0, random (0, 360), 2, random (0, 360))
			TNT1 AAAAA 0 A_CustomMissile ("WoodParticle", 35, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAA 0 A_CustomMissile ("WoodParticleSmall", 45, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("WoodParticleTiny", 65, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAAA 0 A_CustomMissile ("WoodParticleBig", 85, 0, random (0, 360), 2, random (0, 160))
			TNT1 A 0 A_StopSound(1)
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			TNT1 A 0 A_Jump(256, "StayDead")
		StayDead:	
			YTRE B 1
			YTRE B -1
			Stop		
		Death.Flames:
		Death.Fire:
		Death.GreenFire:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 1 A_SpawnItemEx ("BurningHellTree02",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLEARCALLERTID|SXF_TRANSFERSCALE|SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERPOINTERS|SXF_TRANSFERTRANSLATION, 0, TID)
			// here SXF_TRANSFERSCALE causes it spawn flipped if our original tree spawned flipped
			TNT1 A 10
			Stop
	}
}

ACTOR HellTree03: HellTree02 1303 //replaces DeadTree03 1303
{
	States {
		Stand:	
			TREE H 1
			TREE H -1
			Loop
		Spawn:
			TREE H 0
			TNT1 A 0 A_Jump(256, "Stand", "Spawn2")
			Goto Stand
		Spawn2:
			TNT1 A 0
			TNT1 A 0 A_SetScale(-1.0, 1.0) // flip horiz
			Goto Stand
		Pain:
			"----" A 0
			Goto Stand
		Pain.Flames:
		Pain.Fire:
		Pain.Desintegrate:
		Pain.Plasma:
		Pain.Plasma2:
		Pain.GreenFire:
			"----" A 0 A_Playsound("props/redfire", 1)
			"----" A 0 A_ChangeFlag("NOPAIN", 1)
			TREE HHHHHHHHHHHHHH 8 A_CustomMissile ("RedFlameTrailsSmall", Random(64, 140), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_CustomMissile ("RealisticFireSparks1", 32, 0, random (0, 140), 2, random (0, 160))
			TREE HHHHHHHHHHHHHH 6 A_CustomMissile ("RedFlameTrailsMed", Random(64, 140), Random(-22,22), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiHHerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TREE HHHHHHH 4 A_CustomMissile ("RedFlameTrailsbIG", Random(64, 140), Random(-28,28), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiHHerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			YTRE HHHHHHHH 4 A_CustomMissile ("RedFlameTrailsbIG", Random(64, 140), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("RealisticFireSparks1", 32, 0, random (0, 140), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("CheBiHHerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			YTRE HHHHHHHHHHHHH 2 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 140), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_CustomMissile ("CheBiHHerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			YTRE HHHHHHHHHHHHH 2 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 140), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			
			TNT1 A 0 A_Playsound("props/redfire", 1)			
			YTRE HHHHHHHHHHHHHHHHHHHHHHHHHHH 2 A_CustomMissile ("RedFlameTrailsbIG", Random(64, 180), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up		
			Goto Death.Fire
		Death:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 AAAAAA 0 A_CustomMissile ("BrownCloud", 35, 0, random (0, 360), 2, random (0, 360))
			TNT1 AAAAA 0 A_CustomMissile ("WoodParticle", 35, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAA 0 A_CustomMissile ("WoodParticleSmall", 45, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("WoodParticleTiny", 65, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAAA 0 A_CustomMissile ("WoodParticleBig", 85, 0, random (0, 360), 2, random (0, 160))
			TNT1 A 0 A_StopSound(1)
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			TNT1 A 0 A_Jump(256, "StayDead")
		StayDead:	
			YTRE C 1
			YTRE C -1
			Stop		
		Death.Flames:
		Death.Fire:
		Death.GreenFire:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 1 A_SpawnItemEx ("BurningHellTree03",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLEARCALLERTID|SXF_TRANSFERSCALE|SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERPOINTERS|SXF_TRANSFERTRANSLATION, 0, TID)
			// here SXF_TRANSFERSCALE causes it spawn flipped if our original tree spawned flipped
			TNT1 A 10
			Stop
	}
}

ACTOR Big_TreeHell: HellTree01 17770
{
	//$Sprite TRE2A0
	
	Radius 32
	Height 84
	ProjectilePassHeight -16
    deathheight 42
	burnheight 32
	PainChance "Flames", 24	PainChance "Fire", 24 PainChance "GreenFire", 24
	PainChance "Desintegrate", 12 PainChance "Plasma", 12 PainChance "Plasma2", 12
	States
	{
		Spawn:
			TRE2 O 0 NODELAY A_Jump(128, "Swap")
			TNT1 A 0 A_Jump(256, "Stand", "Spawn2")
			Goto Stand
		Swap:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 1 A_SpawnItemEx ("Big_TreeHell2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLEARCALLERTID|SXF_TRANSFERSCALE|SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERPOINTERS|SXF_TRANSFERTRANSLATION, 0, TID)
			TNT1 A 30
			Stop
		Stand:	// chubby BD variation, symmetric
			TRE2 O 1
			TRE2 O -1
			Loop			
		Spawn2:
			TNT1 A 0
			TNT1 A 0 A_SetScale(-1.0, 1.0) // flip horiz
			Goto Stand
		Pain:
			"----" A 0
			Goto Stand
		Pain.Flames:
		Pain.Fire:
		Pain.Desintegrate:
		Pain.Plasma:
		Pain.Plasma2:
		Pain.GreenFire:
			"----" A 0 A_Playsound("props/redfire", 1)
			"----" A 0 A_ChangeFlag("NOPAIN", 1)
			// other hell trees have height of 180 while this one has height og 100 (not physical, the visual sprite height)
			TRE2 OOOOOOOOOOOOOO 8 A_CustomMissile ("RedFlameTrailsSmall", Random(32,80), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_CustomMissile ("RealisticFireSparks1", 32, 0, random (0, 140), 2, random (0, 160))
			TRE2 OOOOOOOOOOOOOO 6 A_CustomMissile ("RedFlameTrailsMed", Random(32,80), Random(-22,22), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 70, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			
			TRE2 OOOOOOO 4 A_CustomMissile ("RedFlameTrailsbIG", Random(32, 100), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 70, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TRE2 OOOOOOO 4 A_CustomMissile ("RedFlameTrailsbIG", Random(32,80), Random(-48,48), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("RealisticFireSparks1", 32, 0, random (0, 140), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 70, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			
			TRE2 OOOOOOOOOOOOO 2 A_CustomMissile ("RedFlameTrailsbIG",Random(32,80), Random(-48,48), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 70, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TRE2 OOOOOOOOOOOOO 2 A_CustomMissile ("RedFlameTrailsbIG",Random(32,80), Random(-48,48), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TRE2 NNNNNNNNNNNNNNNNNNNNNNNNNNN 2 BRIGHT A_CustomMissile ("RedFlameTrailsbIG", Random(64, 160), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up		
			Goto Death.Fire
		Death:
			TNT1 A 0
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 AAAAAA 0 A_CustomMissile ("BrownCloud", 35, 0, random (0, 360), 2, random (0, 360))
			TNT1 AAAAA 0 A_CustomMissile ("WoodParticle", 35, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAA 0 A_CustomMissile ("WoodParticleSmall", 45, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("WoodParticleTiny", 65, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAAA 0 A_CustomMissile ("WoodParticleBig", 85, 0, random (0, 360), 2, random (0, 160))
			TNT1 A 0 A_StopSound(1)
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			TRE2 B -1
		Death.Flames:
		Death.Fire:
		Death.GreenFire:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 1 A_SpawnItemEx ("BurningBig_TreeHell",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLEARCALLERTID|SXF_TRANSFERSCALE|SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERPOINTERS|SXF_TRANSFERTRANSLATION, 0, TID)
			// here SXF_TRANSFERSCALE causes it spawn flipped if our original tree spawned flipped
			TNT1 A 30
			Stop			
	}
}
	
	
ACTOR Big_TreeHell2: Big_TreeHell	// original doom tree, off-center
{
	States
	{
		Spawn:
			TRE2 A 1 NODELAY A_Jump(256, "Stand", "Spawn2")
			Wait
		Stand:	
			TRE2 A 1
			TRE2 AO -1
			Loop			
		Spawn2:
			TNT1 A 0
			TNT1 A 0 A_SetScale(-1.0, 1.0) // flip horiz
			Goto Stand
		Pain:
			"----" A 0
			Goto Stand
		Pain.Flames:
		Pain.Fire:
		Pain.Desintegrate:
		Pain.Plasma:
		Pain.Plasma2:
		Pain.GreenFire:
			"----" A 0 A_Playsound("props/redfire", 1)
			"----" A 0 A_ChangeFlag("NOPAIN", 1)
			// other hell trees have height of 180 while this one has height og 100 (not physical, the visual sprite height)
			TRE2 AAAAAAAAAAAAAA 8 A_CustomMissile ("RedFlameTrailsSmall", Random(32,80), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_CustomMissile ("RealisticFireSparks1", 32, 0, random (0, 140), 2, random (0, 160))
			TRE2 AAAAAAAAAAAAAA 6 A_CustomMissile ("RedFlameTrailsMed", Random(32,80), Random(-22,22), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 70, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TRE2 AAAAAAA 4 A_CustomMissile ("RedFlameTrailsbIG", Random(32, 100), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 70, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TRE2 AAAAAAA 4 A_CustomMissile ("RedFlameTrailsbIG", Random(32,80), Random(-48,48), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("RealisticFireSparks1", 32, 0, random (0, 140), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 70, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			
			TRE2 AAAAAAAAAAAAA 2 A_CustomMissile ("RedFlameTrailsbIG",Random(32,80), Random(-48,48), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 70, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TRE2 AAAAAAAAAAAAA 2 A_CustomMissile ("RedFlameTrailsbIG",Random(32,80), Random(-48,48), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TRE2 PPPPPPPPPPPPPPPPPPPPPPPPPPP 2 A_CustomMissile ("RedFlameTrailsbIG", Random(64, 160), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up		
			Goto Death.Fire
		Death:
			TNT1 A 0
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 AAAAAA 0 A_CustomMissile ("BrownCloud", 35, 0, random (0, 360), 2, random (0, 360))
			TNT1 AAAAA 0 A_CustomMissile ("WoodParticle", 35, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAA 0 A_CustomMissile ("WoodParticleSmall", 45, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("WoodParticleTiny", 65, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAAA 0 A_CustomMissile ("WoodParticleBig", 85, 0, random (0, 360), 2, random (0, 160))
			TNT1 A 0 A_StopSound(1)
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			TRE2 Q -1
		Death.Flames:
		Death.Fire:
		Death.GreenFire:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 1 A_SpawnItemEx ("BurningBig_TreeHell2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLEARCALLERTID|SXF_TRANSFERSCALE|SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERPOINTERS|SXF_TRANSFERTRANSLATION, 0, TID)
			// here SXF_TRANSFERSCALE causes it spawn flipped if our original tree spawned flipped
			TNT1 A 30
			Stop	
	}
}


ACTOR TorchTreeHell: Big_TreeHell 17771 //VERY small sprite barely 70 high
{
	//$Sprite TRE1A0
	Radius 16
	Height 56
    deathheight 32
	Health 300
	States
	{
		Spawn:
			TRE1 A 0 NODELAY A_Jump(256, "Stand", "Spawn2")
			Goto Stand
		Stand:	
			TRE1 A 1
			TRE1 A -1
			Loop			
		Spawn2:
			TNT1 A 0
			TNT1 A 0 A_SetScale(-1.0, 1.0) // flip horiz
			Goto Stand
		Pain:
			"----" A 0
			Goto Stand
		Pain.Flames:
		Pain.Fire:
		Pain.Desintegrate:
		Pain.Plasma:
		Pain.Plasma2:
		Pain.GreenFire:
			"----" A 0 A_Playsound("props/redfire", 1)
			"----" A 0 A_ChangeFlag("NOPAIN", 1)
			// other hell trees have height of 180 while this one has height og 100 (not physical, the visual sprite height)
			TRE1 AAAAAAAAAAA 10 A_CustomMissile ("RedFlameTrailsSmall", Random(32,50), Random(-6,6), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_CustomMissile ("RealisticFireSparks1", 32, 0, random (0, 140), 2, random (0, 160))
			TRE1 AAAAAAAAA 8 A_CustomMissile ("RedFlameTrailsMed", Random(32,50), Random(-8,8), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 50, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			
			TRE1 AAAA 6 A_CustomMissile ("RedFlameTrailsbIG", Random(32, 70), Random(-12,12), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 50, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TRE1 AAAA 6 A_CustomMissile ("RedFlameTrailsbIG", Random(32,80), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("RealisticFireSparks1", 32, 0, random (0, 140), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 50, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			
			TRE1 AAAAAAAA 3 A_CustomMissile ("RedFlameTrailsbIG",Random(32,50), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 40, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TRE1 AAAAAAAA 3 A_CustomMissile ("RedFlameTrailsbIG",Random(32,50), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			
			TNT1 A 0 A_Playsound("props/redfire", 1)
			
			TRE1 YYYYYYYYYYYYYYYYYYY 3 A_CustomMissile ("RedFlameTrailsbIG", Random(32, 48), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up		
			Goto Death.Fire
		Death:
			TNT1 A 0
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 AAAAAA 0 A_CustomMissile ("BrownCloud", 35, 0, random (0, 360), 2, random (0, 360))
			TNT1 AAAAA 0 A_CustomMissile ("WoodParticle", 35, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAA 0 A_CustomMissile ("WoodParticleSmall", 45, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("WoodParticleTiny", 65, 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAAA 0 A_CustomMissile ("WoodParticleBig", 55, 0, random (0, 360), 2, random (0, 160))
			TNT1 A 0 A_StopSound(1)
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			TRE1 B -1
		Death.Flames:
		Death.Fire:
		Death.GreenFire:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 1 A_SpawnItemEx ("BurningTorchTreeHell",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLEARCALLERTID|SXF_TRANSFERSCALE|SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERPOINTERS|SXF_TRANSFERTRANSLATION, 0, TID)
			// here SXF_TRANSFERSCALE causes it spawn flipped if our original tree spawned flipped
			TNT1 A 30
			Stop			
	}
}	


ACTOR RedFlameTrailsbIG: FlameTrails { 
   Scale 1.4
	Speed 1
	States	{
		Spawn:
			FIR3 BCDEFGHIJKLMNOP 1 BRIGHT
			Stop
	}
}

ACTOR RedFlameTrailsMed: RedFlameTrailsbIG {
	Scale 1.0
}

ACTOR RedFlameTrailsSmall: RedFlameTrailsbIG {
	Scale 0.75
}


ACTOR BurningHellTree01: HellTree01  {
	+NOPAIN
	BloodType "BurningTreeBlood"
	Health 500
	damagefactor "Fire", 0.0	damagefactor "Flames", 0.0
	States {
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TNT1 AAAAAA 0 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 180), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 AAA 0 //A_CustomMissile ("BurningHellTreeDamagingFlames", Random(128, 180), Random(-24,24), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			YTRE IIIIIIIIIIIIIIIIIIII 1 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 180), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			YTRE IIIIII 16 A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 150), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			YTRE IIIIII 16 A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 150), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
		Stand:
			TNT1 A 0
			TNT1 A 0 A_Playsound("props/redfire", 1)
			YTRE IIIIIIII 16 A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 150), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TNT1 A 0 A_Jump(64, "StopBurning")
			Loop
		Death:
		Death.Fire:
		Death.Flames:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 0 A_StopSound(1)
			TNT1 AAAAAA 0 A_CustomMissile ("TinyBurningPiece3", Random(24,64), 0, random (0, 360), 2, random (0, 360))
			TNT1 AAAAA 0 A_CustomMissile ("WoodParticle", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAA 0 A_CustomMissile ("CoalLump", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("CoalLumpSmall", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAAA 0 A_CustomMissile ("WoodParticleBig", Random(50,80), 0, random (0, 360), 2, random (0, 160))
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			TNT1 A 0 A_Jump(256, "StayDead")
			Goto StayDead
		StopBurning:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 0 A_StopSound(1)
			TNT1 AAA 0 A_SpawnItemEx("ExplosionSimpleSmokeColumn",Random(-24,24),Random(-24,24),Random(0,64),0,0,0,0,SXF_NOCHECKPOSITION,0)
			TNT1 A 1 A_SpawnItemEx ("BurnedOutHellTree01",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLEARCALLERTID|SXF_TRANSFERSCALE|SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERPOINTERS|SXF_TRANSFERTRANSLATION, 0, TID)
			TNT1 A 10
			Stop
	}
}


ACTOR BurningHellTree02: BurningHellTree01 {
	States {
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TNT1 AAAAAA 0 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 180), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 AAA 0 //A_CustomMissile ("BurningHellTreeDamagingFlames", Random(128, 150), Random(-24,24), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			YTRE JJJJJJJJJJJJJJJJJJJJ 1 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 150), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			YTRE JJJJJJ 16 A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 150), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			YTRE JJJJJJ 16 A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 150), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
		Stand:
			TNT1 A 0
			TNT1 A 0 A_Playsound("props/redfire", 1)
			YTRE JJJJJJJJ 16 A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 150), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TNT1 A 0 A_Jump(64, "StopBurning")
			Loop
		StayDead:	
			YTRE B 1
			YTRE B -1
			Stop				
		StopBurning:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 0 A_StopSound(1)
			TNT1 AAA 0 A_SpawnItemEx("ExplosionSimpleSmokeColumn",Random(-24,24),Random(-24,24),Random(0,64),0,0,0,0,SXF_NOCHECKPOSITION,0)
			TNT1 A 1 A_SpawnItemEx ("BurnedOutHellTree02",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLEARCALLERTID|SXF_TRANSFERSCALE|SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERPOINTERS|SXF_TRANSFERTRANSLATION, 0, TID)
			TNT1 A 10
			Stop
	}
}

ACTOR BurningHellTree03: BurningHellTree01 {
	States {
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 120, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TNT1 AAAAAA 0 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 180), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 AAA 0 //A_CustomMissile ("BurningHellTreeDamagingFlames", Random(128, 150), Random(-24,24), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			YTRE KKKKKKKKKKKKKKKKKKKK 1 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 150), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			YTRE KKKKKK 16 A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 150), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			YTRE KKKKKK 16 A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 150), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
		Stand:
			TNT1 A 0
			TNT1 A 0 A_Playsound("props/redfire", 1)
			YTRE KKKKKKKK 16 A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 150), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TNT1 A 0 A_Jump(64, "StopBurning")
			Loop
		StayDead:	
			YTRE C 1
			YTRE C -1
			Stop				
		StopBurning:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 0 A_StopSound(1)
			TNT1 AAA 0 A_SpawnItemEx("ExplosionSimpleSmokeColumn",Random(-24,24),Random(-24,24),Random(0,64),0,0,0,0,SXF_NOCHECKPOSITION,0)
			TNT1 A 1 A_SpawnItemEx ("BurnedOutHellTree03",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLEARCALLERTID|SXF_TRANSFERSCALE|SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERPOINTERS|SXF_TRANSFERTRANSLATION, 0, TID)
			TNT1 A 10
			Stop
	}
}

ACTOR BurningBig_TreeHell: BurningHellTree01 {
	Radius 32
	Height 84
	ProjectilePassHeight -16
    deathheight 42
	burnheight 32
	States
	{
		Spawn:
			TNT1 A 0 NODELAY A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TNT1 AAAAAA 0 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 180), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 AAA 0 //A_CustomMissile ("BurningHellTreeDamagingFlames", Random(128, 180), Random(-24,24), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TRE2 SSSSSSSSSSSSSSSSSSSS 1 BRIGHT A_CustomMissile ("RedFlameTrailsbIG",Random(32, 100), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TRE2 SSSSSS 16 BRIGHT A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 70), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TRE2 SSSSSS 16 BRIGHT A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 70), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
		Stand:
			TNT1 A 0
			TNT1 A 0 A_Playsound("props/redfire", 1)
			
			TRE2 SSSSSSSS 16 BRIGHT A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 70), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TNT1 A 0 A_Jump(64, "StopBurning")
			Loop
		Death:
		Death.Fire:
		Death.Flames:
			TNT1 A 0
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 0 A_StopSound(1)
			TNT1 AAAAAA 0 A_CustomMissile ("TinyBurningPiece3", Random(24,64), 0, random (0, 360), 2, random (0, 360))
			TNT1 AAAAA 0 A_CustomMissile ("WoodParticle", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAA 0 A_CustomMissile ("CoalLump", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("CoalLumpSmall", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAAA 0 A_CustomMissile ("WoodParticleBig", Random(50,80), 0, random (0, 360), 2, random (0, 160))
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			TRE2 R -1
			Stop
		StopBurning:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 0 A_StopSound(1)
			TNT1 AAA 0 A_SpawnItemEx("ExplosionSimpleSmokeColumn",Random(-24,24),Random(-24,24),Random(0,64),0,0,0,0,SXF_NOCHECKPOSITION,0)
			TNT1 A 1 A_SpawnItemEx ("BurnedOutBig_TreeHell",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLEARCALLERTID|SXF_TRANSFERSCALE|SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERPOINTERS|SXF_TRANSFERTRANSLATION, 0, TID)
			TNT1 A 30
			Stop	
	}
}



ACTOR BurningBig_TreeHell2: BurningBig_TreeHell {
	States
	{
		Spawn:
			TNT1 A 0 NODELAY A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TNT1 AAAAAA 0 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 180), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 AAA 0 //A_CustomMissile ("BurningHellTreeDamagingFlames", Random(128, 180), Random(-24,24), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TRE2 PPPPPPPPPPPPPPPPPPPP 1 A_CustomMissile ("RedFlameTrailsbIG",Random(32, 100), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TRE2 PPPPPP 16 A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 70), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TRE2 PPPPPP 16 A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 70), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
		Stand:
			TNT1 A 0
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TRE2 PPPPPPPP 16 BRIGHT A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 70), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TNT1 A 0 A_Jump(64, "StopBurning")
			Loop
		Death:
		Death.Fire:
		Death.Flames:
			TNT1 A 0
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 0 A_StopSound(1)
			TNT1 AAAAAA 0 A_CustomMissile ("TinyBurningPiece3", Random(24,64), 0, random (0, 360), 2, random (0, 360))
			TNT1 AAAAA 0 A_CustomMissile ("WoodParticle", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAA 0 A_CustomMissile ("CoalLump", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("CoalLumpSmall", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAAA 0 A_CustomMissile ("WoodParticleBig", Random(50,80), 0, random (0, 360), 2, random (0, 160))
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			TRE2 T -1
			Stop
		StopBurning:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 0 A_StopSound(1)
			TNT1 AAA 0 A_SpawnItemEx("ExplosionSimpleSmokeColumn",Random(-24,24),Random(-24,24),Random(0,64),0,0,0,0,SXF_NOCHECKPOSITION,0)
			TNT1 A 1 A_SpawnItemEx ("BurnedOutBig_TreeHell2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLEARCALLERTID|SXF_TRANSFERSCALE|SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERPOINTERS|SXF_TRANSFERTRANSLATION, 0, TID)
			TNT1 A 30
			Stop
	}
}


ACTOR BurningTorchTreeHell: BurningBig_TreeHell //VERY small sprite barely 70 high
{
	Radius 16
	Height 56
    deathheight 32
	burnheight 32
	Health 170
	States
	{
		Spawn:
			TNT1 A 0 NODELAY A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 150, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			TNT1 AAAAAA 0 A_CustomMissile ("RedFlameTrailsbIG",Random(64, 180), Random(-32,32), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 AAA 0 //A_CustomMissile ("BurningHellTreeDamagingFlames", Random(128, 180), Random(-24,24), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TRE1 YYYYYYYYYY 2 A_CustomMissile ("RedFlameTrailsbIG",Random(32, 48), Random(-12,12), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, Random(70,90)) // up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TRE1 YYYYYY 16 A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 48), Random(-12,12), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TRE1 YYYYYY 16  A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 48), Random(-12,12), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
		Stand:
			TNT1 A 0
			TNT1 A 0 A_Playsound("props/redfire", 1)
			
			TRE1 YYYYYYYY 16 BRIGHT A_CustomMissile ("BurningHellTreeDamagingFlames", Random(32, 48), Random(-12,12), random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // straight up
			TNT1 A 0 A_Jump(64, "StopBurning")
			Loop
		Death:
		Death.Fire:
		Death.Flames:
			TNT1 A 0
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 0 A_StopSound(1)
			TNT1 AAAAAA 0 A_CustomMissile ("TinyBurningPiece3", Random(24,64), 0, random (0, 360), 2, random (0, 360))
			TNT1 AAAAA 0 A_CustomMissile ("WoodParticle", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAA 0 A_CustomMissile ("CoalLump", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("CoalLumpSmall", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAAA 0 A_CustomMissile ("WoodParticleBig", Random(50,50), 0, random (0, 360), 2, random (0, 160))
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			TRE1 C -1
			Stop
		StopBurning:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
			TNT1 A 0 A_StopSound(1)
			TNT1 AAA 0 A_SpawnItemEx("ExplosionSimpleSmokeColumn",Random(-12,12),Random(-12,12),Random(0,32),0,0,0,0,SXF_NOCHECKPOSITION,0)
			TNT1 A 1 A_SpawnItemEx ("BurnedOutTorchTreeHell",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLEARCALLERTID|SXF_TRANSFERSCALE|SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERPOINTERS|SXF_TRANSFERTRANSLATION, 0, TID)
			TNT1 A 30
			Stop	
	}
}

ACTOR BurnedOutHellTree01  {
	+SOLID
    +SHOOTABLE
    +FORCEYBILLBOARD
	+NOPAIN
	+NOTAUTOAIMED
    Mass 99999
    Health 400
	height 96
	radius 16
	+NOBLOODDECALS
	+NOTARGET	
	BloodType "BurnedTreeBlood"
	damagefactor "Fire", 0.1	damagefactor "Flames", 0.1
	States {
		Spawn:
			YTRE I 1
			YTRE I -1
			Loop
		Death:
		XDeath:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("CoalLump", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("CoalLumpSmall", Random(24,150), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAA 0 A_CustomMissile ("ExplosionSmoke", Random(32, 128), 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, Random(-70,-5)) // upwards
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			YTRE A 1
			YTRE A -1
			Stop
	}
}

ACTOR BurnedOutHellTree02: BurnedOutHellTree01 {
	States {
		Spawn:
			YTRE J 1
			YTRE J -1
			Loop
		Death:
		XDeath:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("CoalLump", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("CoalLumpSmall", Random(24,150), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAA 0 A_CustomMissile ("ExplosionSmoke", Random(32, 128), 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, Random(-70,-5)) // upwards
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			YTRE B 1
			YTRE B -1
			Stop
	}
}	

ACTOR BurnedOutHellTree03: BurnedOutHellTree01 {
	States {
		Spawn:
			YTRE K 1
			YTRE K -1
			Loop
		Death:
		XDeath:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("CoalLump", Random(24,64), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("CoalLumpSmall", Random(24,150), 0, random (0, 360), 2, random (0, 160))
			TNT1 AAAA 0 A_CustomMissile ("ExplosionSmoke", Random(32, 128), 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, Random(-70,-5)) // upwards
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			YTRE C 1
			YTRE C -1
			Stop
	}
}

ACTOR BurnedOutBig_TreeHell: BurnedOutHellTree01 {
	Radius 32
	Height 84
	ProjectilePassHeight -16
    deathheight 42
	burnheight 32
	States {
		Spawn:
			TRE2 S 1
			TRE2 S -1
			Loop
		Death:
		XDeath:
			TNT1 A 0
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("CoalLump", Random(24,64), Random(-16,16), random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("CoalLumpSmall", Random(24,70), Random(-16,16), random (0, 360), 2, random (0, 160))
			TNT1 AAAA 0 A_CustomMissile ("ExplosionSmoke", Random(32, 60), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, Random(-70,-5)) // upwards
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			TRE2 R -1
			Stop
	}
}


ACTOR BurnedOutBig_TreeHell2: BurnedOutBig_TreeHell {
	States {
		Spawn:
			TRE2 P 1
			TRE2 P -1
			Loop
		Death:
		XDeath:
			TNT1 A 0
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("CoalLump", Random(24,64), Random(-16,16), random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("CoalLumpSmall", Random(24,70), Random(-16,16), random (0, 360), 2, random (0, 160))
			TNT1 AAAA 0 A_CustomMissile ("ExplosionSmoke", Random(32, 60), Random(-16,16), random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, Random(-70,-5)) // upwards
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			TRE2 T -1
			Stop
	}
}	
	

ACTOR BurnedOutTorchTreeHell: BurnedOutBig_TreeHell //VERY small sprite barely 70 high
{
	Radius 16
	Height 56
    deathheight 32
	burnheight 32
	Health 140
	States
{
		Spawn:
			TRE1 Y 1
			TRE1 Y -1
			Loop
		Death:
		XDeath:
			TNT1 A 0
			TNT1 A 0 A_NoBlocking
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("CoalLump", Random(24,44), Random(-6,6), random (0, 360), 2, random (0, 160))
			TNT1 AAAAAA 0 A_CustomMissile ("CoalLumpSmall", Random(24,50), Random(-6,6), random (0, 360), 2, random (0, 160))
			TNT1 AAAA 0 A_CustomMissile ("ExplosionSmoke", Random(32,40), Random(-6,6), random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, Random(-70,-5)) // upwards
			TNT1 A 0 A_PlaySound("TREEDIE", 1)
			TRE1 C -1
			Stop
	}
}

ACTOR BurningHellTreeDamagingFlames :FlamethrowerBurningStuff {
	+NOGRAVITY
	+DONTFALL
	-FLOAT
	Alpha 0
	speed 1
	States  {
		Spawn:
			TNT1 A 0 
			TNT1 A 0 A_Jump(256, "Spawn1", "Spawn2", "Spawn3", "Spawn4")
		Spawn1:
			TNT1 A 0 
			TNT1 A 0 A_SetScale(1.5, 2.0)
			Goto Death
		Spawn2:
			TNT1 A 0 
			TNT1 A 0 A_SetScale(1.2, 1.7)
			Goto Death
		Spawn3:
			TNT1 A 0 
			TNT1 A 0 A_SetScale(-1.2, 1.5)
			Goto Death
		Spawn4:
			TNT1 A 0 
			TNT1 A 0 A_SetScale(-1.6, 1.7)
			Goto Death	
		XDeath:
		Death:
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("RealisticFireSparks1", 10, 0, random (0, 140), 2, random (0, 160))
			NF4R MNOPABCDFEGHIJKLMNOP 1 BRIGHT A_FadeIn(0.05)
			TNT1 A 0 A_Explode(10, 64)
			TNT1 A 0 A_Playsound("props/redfire", 1)
			TNT1 A 0 A_CustomMissile ("CheBiggerBlackSmoke", 50, 0, random (0, 360), CMF_AIMDIRECTION | CMF_SAVEPITCH, 90)
			NF4R ABCDFEGHIJKLMNOP 1 BRIGHT
			TNT1 A 0 A_Explode(10, 64)
			NF4R ABCDFEGHIJKLMNOP 1 BRIGHT
			TNT1 A 0 A_Explode(10, 64)
			NF4R QRSTUV 1 BRIGHT
			//TNT1 A 0 A_checkFloor("Smoke")
			Stop
	}
}

Actor PlantHellshrub: Plant01 1991 //: Plant10 replaces Plant10
{
	Scale 0.5
	states 
	{
		Spawn:
			PLNT I 1
			PLNT I -1
			Stop
		Death:	
			TNT1 A 0 A_NoBlocking
			TNT1 AA 0 A_CustomMissile ("HellShrubPiece1", 20, 0, random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, random (30, 90))
			TNT1 AA 0 A_CustomMissile ("HellShrubPiece2", 20, 0, random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, random (30, 90))
			Stop			
		Death.Fire:	
		Death.GreenFire:
		Death.Flames:
		Death.Plasma:
		Death.Plasma2:
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 A_CustomMissile ("BigBlackSmoke", 32, 0, random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, 90)
			TNT1 A 0 A_CustomMissile ("FlamethrowerBurningStuff", 32, 0, 0, CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // downwards
			Stop			
	}
}


Actor PlantHellshrub2: PlantHellshrub 1491 // Plant08: Plant01 1491
{
	Scale 1.0
	States
	{
		//***Che PLNT T is PLNT J recolored brown by hand to remove any traces of green
		Spawn:
			PLNT T 1
			PLNT T -1
			Stop	
	}
}

ACTOR HellFeatherPlant: Plant01 1490 //: Plant07 replaces Plant07 
{
	Scale 0.9
	states {
		Spawn:
			PLNT H 1
			PLNT H -1
			Stop
		Death:	
			TNT1 A 0 A_NoBlocking
			TNT1 AA 0 A_CustomMissile ("HellFeatherPlantPiece1", 20, 24, random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, random (30, 90))
			TNT1 AA 0 A_CustomMissile ("HellFeatherPlantPiece2", 20, 24, random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, random (30, 90))
			TNT1 AA 0 A_CustomMissile ("HellFeatherPlantPiece1", 20, -24, random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, random (30, 90))
			TNT1 AA 0 A_CustomMissile ("HellFeatherPlantPiece2", 20, -24, random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, random (30, 90))
			Stop			
		Death.Fire:	
		Death.GreenFire:
		Death.Flames:
		Death.Plasma:
		Death.Plasma2:
			TNT1 A 0 A_NoBlocking
			YTRE D 70 A_CustomMissile ("FlamethrowerBurningStuff", 32, 0, 0, CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, -90) // downwards
			// we cannot have them flying out of the center: YTRE D is a sprite with its middle 
			// burned into bare,charred branches and only the tips remaining leafy
			TNT1 A 0 A_CustomMissile ("HellFeatherPlantPiece1", 20, 40, random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, random (30, 90))
			TNT1 A 0 A_CustomMissile ("HellFeatherPlantPiece2", 20, 40, random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, random (30, 90))
			TNT1 A 0 A_CustomMissile ("HellFeatherPlantPiece1", 20, -40, random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, random (30, 90))
			TNT1 A 0 A_CustomMissile ("HellFeatherPlantPiece2", 20, -40, random (0, 360), CMF_AIMDIRECTION | CMF_ABSOLUTEPITCH, random (30, 90))			
			TNT1 A 5
			Stop			
	}
}

ACTOR HellShrubPiece1: BushPiece1
{
	Scale 1.0
	Speed 5
	Gravity 0.3
	+DOOMBOUNCE
	BounceFactor 0.1
    States
    {
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_Jump(256, "Spawn1", "Spawn2")
		Spawn1:	
			TNT1 A 0
			TNT1 A 0 A_SetScale(0.5, 0.5)
			Goto Fly
		Spawn2:	
			TNT1 A 0
			TNT1 A 0 A_SetScale(-0.5, 0.5)
			Goto Fly			
		Fly:
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			YTRE Q 5 A_CheckFloor("Death")
			Loop
		Death:
			YTRE Q 1
			TNT1 A 0 ACS_NamedExecuteAlways("BDCheckFloorType", 0, 0, 0, 0) // puts "IsOverXXX" items into this thing's inventory, based on floor texture
			YTRE Q 3 // obligatory delay: scripts are executing asynchronously, result is not immediate
			TNT1 A 0 A_JumpIfInventory("IsOverLava", 1, "LandOnLava")
			YTRE Q 1000
			Stop
		Splash:
			YTRE Q 1000
			Stop
		LandOnLava:
			TNT1 A 0
			TNT1 A 0 A_SpawnItemEx("BloodDropLandingOnLava", 0, 0)
			TNT1 A 5
			Stop
    }
}

ACTOR HellShrubPiece2: HellShrubPiece1 {
    States
    {
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_Jump(256, "Spawn1", "Spawn2")
		Spawn1:	
			TNT1 A 0
			TNT1 A 0 A_SetScale(0.5, 0.5)
			Goto Fly
		Spawn2:	
			TNT1 A 0
			TNT1 A 0 A_SetScale(-0.5, 0.5)
			Goto Fly			
		Fly:
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			YTRE R 5 A_CheckFloor("Death")
			Loop
		Death:
			YTRE R 1
			TNT1 A 0 ACS_NamedExecuteAlways("BDCheckFloorType", 0, 0, 0, 0) // puts "IsOverXXX" items into this thing's inventory, based on floor texture
			YTRE R 3 // obligatory delay: scripts are executing asynchronously, result is not immediate
			TNT1 A 0 A_JumpIfInventory("IsOverLava", 1, "LandOnLava")
			YTRE R 1000
			Stop
		Splash:
			YTRE R 1000
			Stop
	}
}

ACTOR HellFeatherPlantPiece1: HellShrubPiece1
{
	Scale 1.0
	Speed 5
	Gravity 0.15
	+DOOMBOUNCE
	BounceFactor 0.1
    States
    {
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_Jump(256, "Spawn1", "Spawn2")
		Spawn1:	
			TNT1 A 0
			TNT1 A 0 A_SetScale(0.9, 0.9)
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			Goto Fly
		Spawn2:	
			TNT1 A 0
			TNT1 A 0 A_SetScale(-0.9, 0.9)
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			Goto Fly			
		Fly:
			YTRE LLL 8 A_CheckFloor("Death")
			YTRE MN 8 A_CheckFloor("Death")
			YTRE OOO 8 A_CheckFloor("Death")
			YTRE NM 8 A_CheckFloor("Death")
			Loop
		Death:
			YTRE E 1
			TNT1 A 0 ACS_NamedExecuteAlways("BDCheckFloorType", 0, 0, 0, 0) // puts "IsOverXXX" items into this thing's inventory, based on floor texture
			YTRE E 3 // obligatory delay: scripts are executing asynchronously, result is not immediate
			TNT1 A 0 A_JumpIfInventory("IsOverLava", 1, "LandOnLava")
			YTRE E 1000
			Stop
		Splash:
			YTRE L 1000
			Stop
    }
}

ACTOR HellFeatherPlantPiece2: HellFeatherPlantPiece1 {
	// the same as 1 but mirrored *vertically*. Thus it uses YTRE P, which is the same as YTRE E except its origin shifted, designed to land upside down
    States
    {
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_Jump(256, "Spawn1", "Spawn2")
		Spawn1:	
			TNT1 A 0
			TNT1 A 0 A_SetScale(0.9, -0.9)
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			Goto Fly
		Spawn2:	
			TNT1 A 0
			TNT1 A 0 A_SetScale(-0.9, -0.9)
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			Goto Fly			
		Fly:
			YTRE LLL 8 A_CheckFloor("Death")
			YTRE MN 8 A_CheckFloor("Death")
			YTRE OOO 8 A_CheckFloor("Death")
			YTRE NM 8 A_CheckFloor("Death")
			Loop
		Death:
			YTRE P 1
			TNT1 A 0 ACS_NamedExecuteAlways("BDCheckFloorType", 0, 0, 0, 0) // puts "IsOverXXX" items into this thing's inventory, based on floor texture
			YTRE P 3 // obligatory delay: scripts are executing asynchronously, result is not immediate
			TNT1 A 0 A_JumpIfInventory("IsOverLava", 1, "LandOnLava")
			YTRE P 1000
			Stop
		Splash:
			YTRE L 1000
			Stop
    }	

}



