ACTOR NewMiscreant replaces Miscreant
{
	Health 70
	Radius 16
	Height 42
	Mass 50
	Speed 8
	PainChance 256
	Monster
	Bloodtype "CADustBlood"
	SeeSound "Miscreant/see"
	PainSound "Miscreant/pain"
	ActiveSound "Miscreant/idle"
	DeathSound "Miscreant/die"
	+FLOAT
	+NOGRAVITY
	+MISSILEMORE
	+DONTFALL
	+lookallaround
	+FORCEXYBILLBOARD
	+bright
	+FLOATBOB
	+DOHARMSPECIES
	+noblooddecals
	-solid
	-COUNTKILL
	Obituary  "%o fell victim to a Miscreant"

	var int user_CubeSpawned;
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 0 a_giveinventory ("MiscreantToken",1)
		TNT1 A 1 
		TNT1 A 0 a_jumpif (user_CubeSpawned >= 1, "Idle")
		TNT1 A 0 a_setuservar("user_CubeSpawned", user_CubeSpawned+1)
		TNT1 A 0 a_spawnitemex ("Teleportfog")
		TNT1 A 0 a_jump (30, "AnnounceProblems")
		YH11 DCBA 2
		YH11 DCCBBBAAAA 2
		YH11 ABCD 1 a_look
		goto idle
	AnnounceProblems:
		TNT1 A 0 a_playsound ("Miscreant/Spawn",CHAN_VOICE,1,0,0.90)
		YH11 DCBA 1
		YH11 DCBA 1
		YH11 DCBA 1
		YH11 DCBA 1
		YH11 DCBA 1
		YH11 DCBA 1
		YH11 DCBA 2
		YH11 DCBA 2
		YH11 DCBA 2
		YH11 DCBA 2
		YH11 DCBA 2
		YH11 DCBA 2
		YH11 DCCBBBAAAA 2
		YH11 DCCBBBAAAA 2
		YH11 ABCD 1 a_look
		goto idle
		
	Idle:
		TNT1 A 0
		TNT1 A 0 a_look
		TNT1 A 0 a_jump (30,"TauntPlayer")
		YH11 ABCD 4 a_wander
		loop
	TauntPlayer:
		TNT1 A 0
		YH11 A 1 a_playsound ("Miscreant/idle",CHAN_VOICE)
		goto idle
	See:
		YH11 ABCD 4 a_chase
		loop
	Missile:
		YH11 ABCD 4 
		YH11 ABCD 2
		TNT1 A 0 a_playsound ("Miscreant/Attack",CHAN_VOICE,1,0,0.60)
		YH11 ABCD 2 a_spawnitemex ("PuttiCharge",Frandom(-4,4),Frandom(-4,4),25,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		YH11 ABCD 2 a_spawnitemex ("PuttiCharge",Frandom(-4,4),Frandom(-4,4),25,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		YH11 ABCD 1 a_spawnitemex ("PuttiCharge",Frandom(-4,4),Frandom(-4,4),25,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		YH11 ABCD 1 a_spawnitemex ("PuttiCharge",Frandom(-4,4),Frandom(-4,4),25,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		YH11 ABCD 1 a_spawnitemex ("PuttiCharge",Frandom(-4,4),Frandom(-4,4),25,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		YH11 ABCD 1 a_spawnitemex ("PuttiCharge",Frandom(-4,4),Frandom(-4,4),25,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		YH11 ABCD 1 a_spawnitemex ("PuttiCharge",Frandom(-4,4),Frandom(-4,4),25,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		YH11 ABCD 1 a_spawnitemex ("PuttiCharge",Frandom(-4,4),Frandom(-4,4),25,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		TNT1 A 0 a_facetarget
		TNT1 A 0 a_playsound ("vile/firestrt",0,1,0,0.70)
		TNT1 A 0 a_playsound ("Miscreant/Spit",0,1,0,0.70)
		YH11 A 1 a_custommissile ("BaronBall")
		TNT1 A 0 a_recoil (6)
		YH11 AABBBCCCCDDDDDD 1
		TNT1 A 0 a_scalevelocity (0.40)
		YH11 DD 3
		TNT1 A 0 a_stop
		YH11 DCBA 3 a_wander
		goto see
	Pain:
		TNT1 A 0
		YH11 A 1
		YH11 A 2
		TNT1 A 0 a_playsound ("Miscreant/Clang",0,0.80)
		YH11 A 7 a_pain
		YH11 A 1 a_fastchase
		YH11 A 2 a_fastchase
		YH11 ABCD 2
		goto see
	Death:
		TNT1 A 0
		TNT1 A 0 a_scream
		YH11 ABCD 1
		YH11 ABCD 1
		YH11 ABCD 1
		YH11 A 2 A_setscale (1.05)
		YH11 A 2 A_setscale (1.15)
		TNT1 A 0 a_stopsound (CHAN_VOICE)
		TNT1 A 0 A_SpawnItemEx("MonsterFireExplosion",0,0,20,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("MiscreantExplosion",0,0,20,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_explode (20,150,1,0,40)
		TNT1 A 0 a_quake (5,20,0,300,0)
		TNT1 A 0 a_quake (3,20,0,1200,0)
		TNT1 A 0 a_setscale (1.30)
		TNT1 A 0 a_playsound ("weapons/rocklx",0,0.80,0,0.90)
		TNT1 A 30
		stop
	Death.CALinkedBomb:
	Death.CALinked:
		TNT1 A 0
		TNT1 A 0 a_changeflag ("nogravity",1)
		TNT1 A 0 a_scream
		YH11 ABCD 1
		YH11 ABCD 1
		YH11 ABCD 1
		YH11 A 2 A_setscale (1.05)
		YH11 A 2 A_setscale (1.15)
		TNT1 A 0 A_stopsound (CHAN_VOICE)
		TNT1 A 0 a_playsound ("Malefactors/LinkedHurt",0,0.80)
		TNT1 A 1 a_spawnitemex ("CALinkedKill",0,0,35)
		TNT1 A 0 a_playsound ("Malefactors/LinkedDeath",0,1,0,0.90)
		TNT1 A 2
		stop
	Death.CABladeBeam:
		TNT1 A 0
		TNT1 A 0 a_facetarget
		TNT1 A 0 a_scream
		TNT1 A 0 a_noblocking
		TNT1 A 0 A_changeflag ("FLOATBOB",0)
		TNT1 A 0 a_spawnitemex ("MalefactorCubeTop",0,0,10,random(-3,3),random(-3,3),random (1,2),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_playsound ("Malefactors/BladeBeamDeath1",0,1,0,0.90)
		8D17 B random (1,2)
		TNT1 A 0 a_nogravity
		8D17 B 2 a_scalevelocity (0.40)
		8D17 B 2 
		8D17 B 2 a_scalevelocity (0.40)
		TNT1 A 0 a_stopsound (CHAN_VOICE)
		TNT1 A 0 a_stop
		8D17 B random (36,40)
		TNT1 A 0 a_gravity
		8D17 B 1 thrustthingz (0,1,0,0)
	HalfFalling:
		8D17 B 1 A_JumpIf(Abs(VelZ) <= 0.01, "SlicedStop")
		loop
	SlicedStop:
		TNT1 A 0
		TNT1 AAA 0 a_spawnitemex("FireDebris",0,0,random(3,8),random(-8,8),random(-7,7),random(6,7),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_playsound ("Malefactors/BladeBeamExplosion",0,0.60,0)
		TNT1 A 1 A_SpawnItemEx("MonsterFireExplosion",0,0,30)
		stop
	}
}