ACTOR BabyWatcher
{ 
MONSTER 
Health 150
Radius 24
Height 40 
Mass 150 
Speed 7
FloatSpeed 7
FastSpeed 7
Bloodcolor Green
ReactionTime 23
Painchance "SatanGuard", 0
Painchance "BabyWatcher", 0
Painchance "BloodElemental", 0
Painchance "Broat", 0
PainChance 160
MeleeRange 40
MeleeDamage 4
ReactionTime 17
+FLOAT
+NOGRAVITY
+FloorClip
+MissileMore
+MissileEvenMore
+DontHurtSpecies
+DontHarmSpecies
+DontHarmClass
Species "EleSouls"
Species "Souls"
DamageType "BabyWatcher"
DamageFactor "PDTBFG", 0.25
DamageFactor "PDTBFGTracer", 0.25
DamageFactor "PlayerDevBall", 0.125
DamageFactor "PlayerDevBall2", 0.125
DamageFactor "PlayerDevTracer", 0.125
DamageFactor "PlayerDTBFGRailgunSlug", 0.125
DamageFactor "PlayerDevTracer", 0.125
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor 0.75
//No Infighting
Damagefactor "BabyWatcher", 0.0
Damagefactor "Wicked", 0.0
Damagefactor "BloodSkull", 0.0
Damagefactor "BloodElemental", 0.0
Damagefactor "Broat", 0.0
DamageFactor "SoulToxic", 0.0
DamageFactor "BombBreath", 0.0
Damagefactor "EleSouls", 0.0
DropItem "LifeEssence", 180, 4
DropItem "HEMArmorBonusMax4", 180
SeeSound "observer/see" 
ActiveSound "observer/idle" 
AttackSound "caco/melee"
PainSound "observer/pain" 
DeathSound "observer/death" 
Obituary "%o was stalked to death by an Observer."
Tag "\c[x9]Observer\c-"
States 
	{ 
	Spawn: 
		OBVS A 10 A_Look
		Loop 
	See:
		OBVS AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Chase
		OBVS AAA 0 A_FastChase
		Loop 
	Missile:
		TNT1 A 0 A_Jump(80,"Tracer")
		OBVS EEEEFFFFFGGG 1 Bright A_FaceTarget 
		OBVS G 1 BRIGHT A_CustomMissile("ObserverShot",12,0,0) 
		OBVS DBCA 4
		Goto See
	Tracer:
		OBVS AABBEEEEFFFGGG 1 Bright A_FaceTarget 
		OBVS G 1 BRIGHT A_CustomMissile("WatcherTracer",12,0,0) 
		OBVS DBCA 4
		Goto See
	Melee:
		OBVS BBBBCCCDDCCCBBBAA 1 A_FaceTarget
		OBVS A 0 A_MeleeAttack
		OBVS A 2
		Goto See
	Pain:
		OBVS H 3 
		OBVS H 3 A_Pain 
		Goto See
	XDeath:
	Death: 
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("GreenGibbedGenerator",0,0,0,0,0,0,0,128,0)
		TNT1 A 0 A_PlaySound("Gore/Splat")
		OBVS I 4 A_Scream
		OBVS JK 3
		TNT1 A 0 A_Fall
		TNT1 A 0 A_ChangeFlag(SOLID,0)
		TNT1 A 0 A_ChangeFlag(THRUACTORS,1)
		TNT1 A 0 A_TakeInventory("Tic",999999)
	Fall:
		OBVS L 1 A_CheckFloor("Land")
		TNT1 A 0 A_JumpIfInventory("Tic",525,"Land")
		TNT1 A 0 A_GiveInventory("Tic",1)
		Loop
	Land:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("Tic",999999)	
		TNT1 A 0 A_ChangeFlag(CORPSE,1)
		OBVS MN 3
		TNT1 A 0 A_ChangeFlag(SOLID,0)
		TNT1 A 0 A_ChangeFlag(THRUACTORS,0)
		TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,1)
		OBVS O 525
	Fade:
		OBVS O 5 A_FadeOut(0.1,1)
		Loop
	}
}

ACTOR ObserverShot
{
PROJECTILE
Height 8
Radius 4
Speed 38
ALPHA 0.67
RENDERSTYLE ADD
Damage (random(10,15))
+THRUGHOST
+FORCEXYBILLBOARD
DamageType "BabyWatcher"
SeeSound "monster/obvatk"
DeathSound "monster/obvhit"
States
	{
	Spawn:
		FOBV AB 1 Bright A_SpawnItemEx("ObserverShotTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 AAA 0 Bright A_CustomMissile("Kaboom7",0,0,random(0,360),2,random(0,360))
		TNT1 AAA 0 Bright A_CustomMissile("SmokeFX4",0,0,random(0,360),2,random(0,360))		
		FOBV CDE 3 Bright
		Stop
	}
}

ACTOR ObserverShotTrail : BFG9500Trail
{
States
	{
	Spawn:
		TNT1 A 1 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		FOBV ABABABABAABABAB 2 Bright A_FadeOut(0.15,1)
		Stop
	}
}