Actor D4Commonus : D4Zombieman replaces FlemoidusCommonus
{
	Health 50
	SeeSound "grunt/sight"
	AttackSound "grunt/attack"
	PainSound "grunt/pain"
	DeathSound "grunt/death"
	ActiveSound "grunt/active"
	Obituary "$OB_ZOMBIE"
	Tag "Flemoidus Commonus"
	BloodColor "Green"
	States
	{
	Spawn:
		POSS A 0 NODELAY A_SetUserVar(user_bigmonstersound,0)
		Goto Idle
	Idle:
		POSS A 10 A_Look
		Loop
	See:
		POSS AABBCCDD 3 A_Chase
		Loop
	
		
	//------------------------	
	Missile:
		TNT1 A 0 A_PlaySound("Doom4/Monsters/Grunt/AttackOneInEight",CHAN_AUTO,1.0,false,1.2)
		POSS E 10 A_FaceTarget
		POSS F 5 Bright A_CustomMissile("FlemPlasmaBall",31,7,0)
		POSS E 5 A_FaceTarget
		POSS F 5 Bright A_CustomMissile("FlemPlasmaBall",31,7,0)
		POSS E 5 A_FaceTarget
		POSS F 5 Bright A_CustomMissile("FlemPlasmaBall",31,7,0)
		POSS E 5 A_FaceTarget
		POSS F 5 Bright A_CustomMissile("FlemPlasmaBall",31,7,0)
		POSS E 5 A_FaceTarget
		Goto See
	
	Pain:
		POSS G 3
		POSS G 3 A_Pain
		Goto See

	Death:
		"####" "#" 0 A_SpawnItemEx("SituationalPinata",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS)
		POSS H 4 
		POSS I 4 A_Scream
		POSS J 4 A_NoBlocking
		POSS K 4
		POSS L -1 
		Stop
	
	Raise:
		POSS LK 3
		POSS JIH 3
		Goto See
		
	//-------------------------
	// Regular chainsaw kill
	Death.ChainsawKill:
		TNT1 A 0 A_SpawnItemEx("D4PinataHealth",0,0,0,frandom(-4,4),frandom(-4,4),frandom(1,5),0,SXF_NOCHECKPOSITION)
		Goto XDeath
	//-------------------------
	// Chainsaw execution	
	Death.ChainsawPinata:	
		TNT1 A 0 A_GiveToTarget("SuccessfulExecutionToken",1)
		TNT1 A 0 A_SpawnItemEx("ChainsawExecutionPinata",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS)
		Goto XDeath
	//-------------------------		
	// BerserkKill
	Death.BerserkKill:
		TNT1 AA 0 A_SpawnItemEx("D4PinataHealth",0,0,0,frandom(-4,4),frandom(-4,4),frandom(1,5),0,SXF_NOCHECKPOSITION)
		Goto XDeath
		
	//------------------------------------------------------------------------
	// Start of Stagger / Glory Kill states
	//------------------------------------------------------------------------
	Wound:
		POSS G 0 A_SetUserVar(user_healto,20)
		Goto WoundStagger	// see MonsterBase.AED
		
	Death.GloryKill:
		POSS G 0
		Goto GloryKillGeneric // see MonsterBase.AED
		
	GloryEnd:	//depending on the monster, is what and how much will spawn
		TNT1 A 1 A_SpawnItemEx("GloryKillPinata",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS)
		Goto XDeath
	}
}


//----------------------------------------
Actor FlemExploder128 : PlasmaExploder128
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
	States
	{
	Spawn:
		DB19 AABBCCDD 1 Bright Light("GreenMediumFlicker1")
		Goto StopTravel
		
	StopTravel:
		TNT1 A 0 A_Stop
		//DB19 ABCDEFGHIJKL 2 Bright Light("OrangeMediumFlicker1")
		DB19 ABCDEFGH 2 Bright Light("GreenMediumFlicker1")
		Goto ExplodeTimer
	ExplosionEnd:
		TNT1 A 0 A_PlaySound("Doom4/Monsters/BigPlasmaExplo",CHAN_AUTO,1.0,false,0.9)
		TNT1 A 2 Light("GreenBigFlicker3") A_SpawnItemEx("FlemBombExplo",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATIoN)
		TNT1 A 2 Light("GreenMediumFlicker2")
		TNT1 A 2 Light("GreenMediumFlicker3")
		TNT1 A 2 Light("GreenSmallFlicker1")
		TNT1 A 2 Light("GreenSmallFlicker2")
		TNT1 A 2 Light("GreenSmallFlicker3")
		Stop
	}
}

Actor FlemBombExplo : PlasmaBombExplo
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
}



Actor FlemExploder192 : PlasmaExploder192
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
	States
	{
	Spawn:
		DB19 AABBCCDDEEFF 1 Bright Light("GreenMediumFlicker1")
		Goto StopTravel
	}
}
Actor FlemExploder256 : PlasmaExploder256
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
	States
	{
	Spawn:
		DB19 AABBCCDDEEFFGGHH 1 Bright Light("GreenMediumFlicker1")
		Goto StopTravel
	}
}
Actor FlemExploder320 : PlasmaExploder320
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
	States
	{
	Spawn:
		DB19 AABBCCDDEEFFGGHHIIJJ 1 Bright Light("GreenMediumFlicker1")
		Goto StopTravel
	}
}
Actor FlemExploder384 : PlasmaExploder384
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
	States
	{
	Spawn:
		DB19 AABBCCDDEEFFGGHHIIJJKKLL 1 Bright Light("GreenMediumFlicker1")
		Goto StopTravel
	}
}
Actor FlemExploder448 : PlasmaExploder448
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
	States
	{
	Spawn:
		DB19 AABBCCDDEEFFGGHHIIJJKKLLMMNN 1 Bright Light("GreenMediumFlicker1")
		Goto StopTravel
	}
}
Actor FlemExploder512 : PlasmaExploder512
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
	States
	{
	Spawn:
		DB19 AABBCCDDEEFFGGHHHHIIJJKKLLMMNNOO 1 Bright Light("GreenMediumFlicker1")
		Goto StopTravel
	}
}
Actor FlemExploder576 : PlasmaExploder576
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
	States
	{
	Spawn:
		DB19 AABBCCDDEEFFGGHHII 1 Bright Light("GreenMediumFlicker1")
		DB19 AABBCCDDEEFFGGHHII 1 Bright Light("GreenMediumFlicker1")
		Goto StopTravel
	}
}
Actor FlemExploder640 : PlasmaExploder640
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
	States
	{
	Spawn:
		DB19 AABBCCDDEEFFGGHHIIJJ 1 Bright Light("GreenMediumFlicker1")
		DB19 AABBCCDDEEFFGGHHIIJJ 1 Bright Light("GreenMediumFlicker1")
		Goto StopTravel
	}
}
Actor FlemExploder704 : PlasmaExploder704
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
	States
	{
	Spawn:
		DB19 AABBCCDDEEFFGGHHIIJJKK 1 Bright Light("OrangeMediumFlicker1")
		DB19 AABBCCDDEEFFGGHHIIJJKK 1 Bright Light("OrangeMediumFlicker1")
		Goto StopTravel
	}
}
Actor FlemExploder768 : PlasmaExploder768
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
	States
	{
	Spawn:
		DB19 AABBCCDDEEFFGGHHIIJJKKLL 1 Bright Light("GreenMediumFlicker1")
		DB19 AABBCCDDEEFFGGHHIIJJKKLL 1 Bright Light("GreenMediumFlicker1")
		Goto StopTravel
	}
}
Actor FlemExploder832 : PlasmaExploder832
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
	States
	{
	Spawn:
		DB19 AABBCCDDEEFFGGHHIIJJKKLLMM 1 Bright Light("GreenMediumFlicker1")
		DB19 AABBCCDDEEFFGGHHIIJJKKLLMM 1 Bright Light("GreenMediumFlicker1")
		Goto StopTravel
	}
}

//----------------------------------------
Actor FlemPlasmaBall : ZombiemanPlasmaBall
{
	SeeSound "grunt/attack"
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
	Decal "D4PlasmaMonster"
	States
	{
	Spawn:
		TNT1 A 0 NODELAY
		Goto Looper
	Looper:
		SPIR P 4 Bright Light("GreenSmallPoint2") 
		Loop
	Death:
		TNT1 A 0 A_SpawnItemEx("FlemPlasmaBallPuff",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)
		TNT1 A 3 Light("GreenSmallPoint1")
		TNT1 A 3 Light("GreenSmallPoint2")
		TNT1 A 3 Light("GreenSmallPoint3")
		Stop
	}
}

Actor FlemPlasmaBallPuff : ZombiePlasmaBallPuff
{
	Translation "0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]"
	States
	{
	Spawn:
		TNT1 A 0 NoDelay A_Jump(255,"Type1","Type2","Type3","Type4","Type5","Type6","Type7","Type8")
		Goto Type1
	Type1:
		DB21 ABCDEFGHI 1 Bright 
		Stop
	Type2:
		DB21 JKLMNOPQR 1 Bright
		Stop
	Type3:
		DB22 ABCDEFGHI 1 Bright 
		Stop
	Type4:
		DB22 JKLMNOPQR 1 Bright 
		Stop
	Type5:
		DB23 ABCDEFGHI 1 Bright 
		Stop
	Type6:
		DB23 JKLMNOPQR 1 Bright
		Stop
	Type7:
		DB24 ABCDEFGHI 1 Bright
		Stop
	Type8:
		DB24 JKLMNOPQR 1 Bright
		Stop
	}
}







//================================================================================================================
//================================================================================================================
//
//	"No drops" version
//	
//================================================================================================================
//================================================================================================================

Actor D4CommonusND : D4Commonus
{
	//$Angled
	//$Category "D4T Monsters (No Drops)"
	//$Color 12
	//$Title "Possessed Solider (pistol)"
	DropItem ""
}