//===========================================================================
//
// Dobermann
//
//===========================================================================

ACTOR DGDobermann
{
	Health 30
	Speed 12
	PainChance 180
	Radius 12
	Height 28
	Mass 100
	Monster
	+JUMPDOWN
	ActiveSound "enemies/dogs/active"
	AttackSound "enemies/dogs/attack"
	DeathSound "enemies/dogs/death"
	PainSound "enemies/dogs/pain"
	SeeSound "enemies/dogs/sight"
	Obituary "%o can't outrun a ferocious Dobermann."
	States
	{
	Spawn:
		DG01 L 5 A_Look
		Loop
	See:
		TNT1 A 0 A_PlaySound("enemies/dogs/chase",1,0.25)
		DG01 A 2 A_Chase
		DG01 B 1 A_Chase
		DG01 C 2 A_Chase
		DG01 D 1 A_Chase
		DG01 A 2 A_Chase
		DG01 B 1 A_Chase
		DG01 C 2 A_Chase
		DG01 D 1 A_Chase
		Loop
	Melee:
		DG01 EF 3 A_FaceTarget
		DG01 G 3 A_CustomMeleeAttack(4*random(1,10),"enemies/dogs/attack","enemies/dogs/active")
		DG01 FE 3 A_FaceTarget
		Goto See
	Pain:
		DG01 H 2
		DG01 H 2 A_Pain
		Goto See
	Death:
		DG01 H 3 A_Scream
		DG01 I 4 A_Fall
		DG01 J 4 A_PlaySound("misc/dogs/drop")
		DG01 K -1
		Stop
	Death.Fire:
		NULL A 0 A_ChangeFlag("FLOATBOB",false)
		NULL A 0 A_ChangeFlag("FLOAT",false)
		NULL A 0 A_ChangeFlag("NOGRAVITY",false)
		NULL A 0 A_SetTranslucent(1.0)
		NULL A 0 A_SetScale(0.6)
		NULL A 0 A_PlaySound("enemies/dog/fire")
		NULL A 0 A_StopSound(1)
		NULL A 0 A_SetFloorClip
		DG00 A 3 BRIGHT A_ScreamAndUnblock
		DG00 B 3 BRIGHT
		DG00 C 3 BRIGHT
		DG00 D -1 BRIGHT
		Stop
	Death.Plas:
		NULL A 0 A_ChangeFlag("FLOATBOB",false)
		NULL A 0 A_ChangeFlag("FLOAT",false)
		NULL A 0 A_ChangeFlag("NOGRAVITY",false)
		NULL A 0 A_SetTranslucent(1.0)
		NULL A 0 A_SetScale(0.6)
		NULL A 0 A_PlaySound("enemies/dog/fire")
		NULL A 0 A_StopSound(1)
		NULL A 0 A_SetFloorClip
		DG00 A 3 BRIGHT A_ScreamAndUnblock
		DG00 B 3 BRIGHT
		DG00 C 3 BRIGHT
		DG00 D -1 BRIGHT
		Stop
	Pain.Shock:
		NULL A 0 A_SetScale(0.45)
		DG00 P 2 A_ChangeFlag ("NoPain",1)
	ShockLoop:
		DG00 P 2 A_Pain
		DG00 P 2 BRIGHT
		TNT1 A 0 A_SetScale(1)
		TNT1 A 0 A_ChangeFlag ("NoPain",0)
		TNT1 A 0 A_Jump(256,"See")
		Stop
	Death.Shock:
		TNT1 A 0 A_ChangeFlag("NoPain",0)
		TNT1 A 0 A_SetScale(1)
		TNT1 A 0 A_Jump(256,"Death")
		Stop
	Raise:
		DG01 KJIH 3
		Goto See
	}
}

//===========================================================================
//
// Schäferhund (German Sheperd)
//
//===========================================================================

ACTOR DGSchaferhund
{
	Health 30
	Speed 12
	PainChance 180
	Radius 12
	Height 28
	Mass 100
	Monster
	+JUMPDOWN
	ActiveSound "enemies/dogs/active"
	AttackSound "enemies/dogs/attack"
	DeathSound "enemies/dogs/death"
	PainSound "enemies/dogs/pain"
	SeeSound "enemies/dogs/sight"
	Obituary "%o was bitten by a Schaeferhund."
	States
	{
	Spawn:
		DG02 P 5 A_Look
		Loop
	See:
		TNT1 A 0 A_PlaySound("enemies/dogs/chase",1,0.25)
		DG02 A 2 A_Chase
		DG02 B 1 A_Chase
		DG02 C 2 A_Chase
		DG02 D 1 A_Chase
		DG02 A 2 A_Chase
		DG02 B 1 A_Chase
		DG02 C 2 A_Chase
		DG02 D 1 A_Chase
		Loop
	Melee:
		DG02 EF 3 A_FaceTarget
		DG02 G 3 A_CustomMeleeAttack(4*random(1,10),"enemies/dogs/attack","enemies/dogs/active")
		DG02 FE 3 A_FaceTarget
		Goto See
	Pain:
		DG02 H 2
		DG02 H 2 A_Pain
		Goto See
	Death:
		DG02 H 4 A_Scream
		DG02 I 4 A_Fall
		DG02 J 3 A_PlaySound("misc/dogs/drop")
		DG02 K 3 
		DG02 K -1
		Stop
	Death.Fire:
		NULL A 0 A_ChangeFlag("FLOATBOB",false)
		NULL A 0 A_ChangeFlag("FLOAT",false)
		NULL A 0 A_ChangeFlag("NOGRAVITY",false)
		NULL A 0 A_SetTranslucent(1.0)
		NULL A 0 A_SetScale(0.6)
		NULL A 0 A_PlaySound("enemies/dogs/fire")
		NULL A 0 A_StopSound(1)
		NULL A 0 A_SetFloorClip
		DG00 A 3 BRIGHT A_NoBlocking
		DG00 B 3 BRIGHT
		DG00 C 3 BRIGHT
		DG00 D -1
		Stop
	Death.Plas:
		NULL A 0 A_ChangeFlag("FLOATBOB",false)
		NULL A 0 A_ChangeFlag("FLOAT",false)
		NULL A 0 A_ChangeFlag("NOGRAVITY",false)
		NULL A 0 A_SetTranslucent(1.0)
		NULL A 0 A_SetScale(0.6)
		NULL A 0 A_PlaySound("enemies/dogs/fire")
		NULL A 0 A_StopSound(1)
		NULL A 0 A_SetFloorClip
		DG00 A 3 BRIGHT A_NoBlocking
		DG00 B 3 BRIGHT
		DG00 C 3 BRIGHT
		DG00 D -1
		Stop
	Pain.Shock:
		NULL A 0 A_SetScale(0.45)
		DG00 P 2 A_ChangeFlag("NoPain",1)
	ShockLoop:
		DG00 P 2 A_Pain
		DG00 P 2 BRIGHT
		TNT1 A 0 A_SetScale(1)
		TNT1 A 0 A_ChangeFlag("NoPain",0)
		TNT1 A 0 A_Jump(256,"See")
		Stop
	Death.Shock:
		TNT1 A 0 A_ChangeFlag("NoPain",0)
		TNT1 A 0 A_SetScale(1)
		TNT1 A 0 A_Jump(256,"Death")
		Stop
	Raise:
		DG02 LKJIH 3
		Goto See
	}
}

//===========================================================================
//
// Cyber Schäferhund
//
//===========================================================================

ACTOR Cyberhund
{
	Health 50
	Speed 14
	PainChance 180
	Radius 12
	Height 28
	Mass 100
	Monster
	+JUMPDOWN
	DropItem BonusShard, 156
	ActiveSound "enemies/dogs/active"
	AttackSound "enemies/dogs/attack"
	DeathSound "enemies/dogs/death"
	PainSound "enemies/dogs/pain"
	SeeSound "enemies/dogs/sight"
	Obituary "%o's skin was chewed off by a Cyberhund."
	States
	{
	Spawn:
		DG03 A 5 A_Look
		Loop
	See:
		TNT1 A 0 A_PlaySound("enemies/dogs/chase",1,0.25)
		DG03 B 2 A_Chase
		DG03 C 1 A_Chase
		DG03 D 2 A_Chase
		DG03 E 1 A_Chase
		DG03 B 2 A_Chase
		DG03 C 1 A_Chase
		DG03 D 2 A_Chase
		DG03 E 1 A_Chase
		Loop
	Melee:
		DG03 FG 2 A_FaceTarget
		DG03 H 3 A_CustomMeleeAttack(4*random(1,10),"enemies/dogs/attack","enemies/dogs/active")
		DG03 GF 3 A_FaceTarget
		Goto See
	Pain:
		DG03 I 2
		DG03 I 2 A_Pain
		Goto See
	Death:
		DG03 I 4 A_Scream
		DG03 J 4 A_Fall
		DG03 K 3 A_PlaySound("misc/dogs/drop")
		DG03 L 3 
		DG03 M -1
		Stop
	XDeath:
		DG03 N 3 A_Scream
		DG03 O 4 A_Fall
		DG03 P 4 
		DG03 Q -1
		Stop
	Death.Fire:
		NULL A 0 A_ChangeFlag("FLOATBOB",false)
		NULL A 0 A_ChangeFlag("FLOAT",false)
		NULL A 0 A_ChangeFlag("NOGRAVITY",false)
		NULL A 0 A_SetTranslucent(1.0)
		NULL A 0 A_SetScale(0.6)
		NULL A 0 A_PlaySound("enemies/dogs/fire")
		NULL A 0 A_StopSound(1)
		NULL A 0 A_SetFloorClip
		DG00 A 4 BRIGHT A_NoBlocking
		DG00 B 4 BRIGHT
		DG00 C 4 BRIGHT
		DG00 D -1
		Stop
	Death.Plas:
		NULL A 0 A_ChangeFlag("FLOATBOB",false)
		NULL A 0 A_ChangeFlag("FLOAT",false)
		NULL A 0 A_ChangeFlag("NOGRAVITY",false)
		NULL A 0 A_SetTranslucent(1.0)
		NULL A 0 A_SetScale(0.6)
		NULL A 0 A_PlaySound("enemies/dogs/fire")
		NULL A 0 A_StopSound(1)
		NULL A 0 A_SetFloorClip
		DG00 A 3 BRIGHT A_NoBlocking
		DG00 B 3 BRIGHT
		DG00 C 3 BRIGHT
		DG00 D -1
		Stop
	Pain.Shock:
		NULL A 0 A_SetScale(0.45)
		DG00 P 2 A_ChangeFlag("NoPain",1)
	ShockLoop:
		DG00 P 2 A_Pain
		DG00 P 2 BRIGHT
		TNT1 A 0 A_SetScale(1)
		TNT1 A 0 A_ChangeFlag("NoPain",0)
		TNT1 A 0 A_Jump(256,"See")
		Stop
	Death.Shock:
		TNT1 A 0 A_ChangeFlag("NoPain",0)
		TNT1 A 0 A_SetScale(1)
		TNT1 A 0 A_Jump(256,"Death")
		Stop
	Raise:
		DG03 LKJIH 3
		Goto See
	}
}