//===========================================================================
//
// Revenant
//
//===========================================================================
ACTOR Revenant1: Revenant Replaces Revenant
{
	GibHealth 25
	Health 250
	Monster
	MeleeThreshold 196
	+MISSILEMORE 
	+FLOORCLIP
    damagefactor "Crush", 10.0
    damagefactor "Plasma", 0.5
	damagefactor "MinorHead", 1.2
	damagefactor "Head", 1.2
	PainChance "Kick", 255
    BloodType "NashGore_Blood"
	SeeSound "skeleton/sight"
	PainSound "skeleton/pain"
	DeathSound "skeleton/death"
	ActiveSound "skeleton/active"
	MeleeSound "skeleton/melee"
	HitObituary "$OB_UNDEADHIT"
	Obituary "$OB_UNDEAD"
	DropItem "DemonStrengthRune" 5
damagefactor "Blood", 0.0 damagefactor "BlueBlood", 0.0 damagefactor "GreenBlood", 0.0
	MaxStepHeight 24
	+DONTHURTSPECIES
	MaxDropOffHeight 32
	Radius 20
	Height 60
	States
	{
	Spawn:
	    TNT1 A 0 A_JumpIfInventory("Curbstomp_Marine", 1, "FatalityMarine")
		SKEL B 0 A_CheckSight("Spawn2")
		TNT1 A 0 A_SpawnItem("HeadshotTarget8", 0, 70, 0)
		SKEL A 6 A_Look
		Loop
	Spawn2:
	    TNT1 A 0 A_JumpIfInventory("Curbstomp_Marine", 1, "FatalityMarine")
		SKEL B 1 A_Look
		Goto Spawn

	See:
	    TNT1 A 0 A_JumpIfInventory("Curbstomp_Marine", 1, "FatalityMarine")
        TNT1 A 0 A_SpawnItemEx("FootStep", 0, 0, 20, 0, 0)
		TNT1 A 0 A_SpawnItem("HeadshotTarget8", 0, 70, 0)
		SKEL AAA 2 A_Chase
		TNT1 A 0 A_SpawnItem("HeadshotTarget8", 0, 70, 0)
        SKEL BBB 2 A_Chase
		TNT1 A 0 A_SpawnItem("HeadshotTarget8", 0, 70, 0)
        SKEL CCC 2 A_Chase
		TNT1 A 0 A_SpawnItem("HeadshotTarget8", 0, 70, 0)
        SKEL DDD 2 A_Chase
		TNT1 A 0 A_SpawnItem("HeadshotTarget8", 0, 70, 0)
		Loop

	Melee:
	    TNT1 A 0 A_JumpIfInventory("Curbstomp_Marine", 1, "FatalityMarine")
		TNT1 A 0 A_SpawnItem("HeadshotTarget8", 0, 70, 0)
		SKEL G 1 A_FaceTarget
		TNT1 A 0 A_SpawnItem("HeadshotTarget8", 0, 70, 0)
		SKEL G 6 A_SkelWhoosh
		TNT1 A 0 A_SpawnItem("HeadshotTarget8", 0, 70, 0)
		SKEL H 6 A_FaceTarget
		TNT1 A 0 A_SpawnItem("HeadshotTarget8", 0, 70, 0)
		SKEL I 6 A_CustomMissile("RevenantAttack",10,0,0,0)
		Goto See

	Missile:
	    TNT1 A 0 A_JumpIfInventory("Curbstomp_Marine", 1, "FatalityMarine")
        TNT1 A 0 A_Jump (200, 4)
        TNT1 A 0
        Goto SpecialAttack
        TNT1 AAAAAA 0
		TNT1 A 0 A_SpawnItem("HeadshotTarget8", 0, 70, 0)
		SKEL J 1 BRIGHT A_FaceTarget 
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 70, 0)
		SKEL J 9 BRIGHT A_FaceTarget
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 70, 0)
		SKEL K 10 A_CustomMissile("RevenantSeeker",60,30,0,0)
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 70, 0)
		SKEL K 10 A_FaceTarget
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 70, 0)
		SKEL J 1 BRIGHT A_FaceTarget 
		SKEL J 9 BRIGHT A_FaceTarget
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 70, 0)
		SKEL K 10 A_CustomMissile("RevenantSeeker",60,-30,0,0)
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 70, 0)
		SKEL K 10 A_FaceTarget
		Goto See

	SpecialAttack:
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 70, 0)
		SKEL J 1 BRIGHT A_FaceTarget 
		SKEL J 11 BRIGHT A_FaceTarget
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 50, 0)
		SKEL K 8 A_CustomMissile("RevenantMissile",60,-30,0,0)
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 50, 0)
		SKEL J 8 A_FaceTarget
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 50, 0)
		SKEL K 8 A_CustomMissile("RevenantMissile",60,30,0,0)
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 50, 0)
		SKEL J 8 A_FaceTarget
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 50, 0)
		SKEL K 8 A_CustomMissile("RevenantMissile",60,-30,0,0)
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 50, 0)
		SKEL J 8 A_FaceTarget
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 50, 0)
		SKEL K 8 A_CustomMissile("RevenantMissile",60,30,0,0)
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 50, 0)
		SKEL J 8 A_FaceTarget
		Goto See
	Pain:
	    TNT1 A 0 A_JumpIfInventory("Curbstomp_Marine", 1, "FatalityMarine")
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 70, 0)
		SKEL L 5
		SKEL L 5 A_Pain
		Goto See

	Pain.Kick:
        TNT1 A 0 A_FaceTarget
        TNT1 A 0 A_Recoil(6)
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 70, 0)
		SKEL L 10 A_Pain  
		TNT1 A 0 A_SpawnItem("HeadshotTarget10", 0, 70, 0)
		SKEL L 10
		Goto See
		
		
	   FatalityMarine:
        TNT1 A 0 A_SetInvulnerable
		TNT1 A 0 A_PlaySound("DSFDTHE")
       REFP A 30
	    EXPL A 0 Radius_Quake (2, 24, 0, 15, 0)
        TNT1 AAA 0 A_CustomMissile ("Brains1", 50, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAA 0 A_CustomMissile ("XDeath1", 50, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath2", 50, 0, random (0, 360), 2, random (0, 160))
		 TNT1 A 0 A_CustomMissile ("MuchBlood", 50, 0, random (0, 360), 2, random (0, 160))
       TNT1 A 0 A_PlaySound("XDeath1")
	   REFP BCDE 8
	   REFP F 40
	   REFP GHI 4
	   TNT1 A 0 A_PlaySound("XDeath1")
	   REFP J 20
	   
	   
        TNT1 A 0 A_TakeInventory("Curbstomp_Marine",1)
        TNT1 A 0 A_UnSetInvulnerable
TNT1 A 0 A_SpawnItem ("MarineFatalizedByRevenant", 1)
Goto See


	Death:
		SKEL LM 8
		SKEL N 8 A_Scream
		SKEL O 8 A_NoBlocking
		SKEL P 8
		SKEL Q 1
		TNT1 A 0 A_SpawnItem ("MediumBloodSpot")
        TNT1 A 0 A_SpawnItem ("DeadSkeleton", 1)
        Stop

    Death.Fatality:
        TNT1 A 0 A_NoBlocking
        TNT1 A 0 A_Jump(128,5)
        TNT1 A 0 A_GiveToTarget("RevenantFatality", 1)
        Stop
        TNT1 AAAAAAA 0
        TNT1 A 0 A_GiveToTarget("RevenantFatality2", 1)
        TNT1 A 1
        TNT1 A 0
		Stop

    Death.Decaptate:
    Death.Minorhead:
    Death.Head:
		TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("Xdeath1", 72, 0, random (0, 360), 2, random (0, 160))
        REVH A 24
        REVH B 8 A_NoBlocking
        REVH CD 8
		TNT1 A 0 A_SpawnItem ("MediumBloodSpot")
        TNT1 A 0 A_SpawnItem ("DeadSkeletonNoHead", 1)
        Stop

	Death.SSG:
	Death.Cut:
	Death.Cutless:
		TNT1 A 0 A_Jump (120,1)
		Goto Death
		TNT1 A 0 A_Jump (160,1)
		Goto Death.Rare
	    SKEX A 100 A_CustomMissile ("SkeletonXDeath", 0, 0, random (0, 360), 2, random (0, 160))
		SKEX BCDE 8
		TNT1 A 0 A_SpawnItem ("MediumBloodSpot")
        TNT1 A 0 A_SpawnItem ("XDeadSkeleton", 1)
        Stop

    Death.Plasma: Death.Plasma2:
        TNT1 A 0
        TNT1 A 0 A_Scream
        TNT1 A 0 A_NoBlocking
        TNT1 AAA 0 A_CustomMissile ("Nashgore_FlyingBlood", 50, 0, random (0, 360), 2, random (0, 160))
	    TNT1 A 0 A_CustomMissile ("XDeathBurnedSkull", 32, 0, random (0, 360), 2, random (0, 160))
		EXPL AAAA 0 A_CustomMissile ("ExplosionSmoke", 32, 0, random (0, 360), 2, random (0, 360))
		RVDP ABCDEFG 5 BRIGHT A_SpawnItem("BlueFlare3",0,30)
        RVDP GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 10 A_CustomMissile ("SmallSmoke", 1, 0, random (0, 360), 2, random (0, 160))
        RVDP G -1
        Stop
	
	 Death.Fire:
		SKEL LM 4
		SKEL N 4 A_Scream
		SKEL O 4 A_NoBlocking
		SKEL P 1
		TNT1 A 0 A_Playsound("props/redfire")
		CARB NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 2 A_CustomMissile ("FlameTrails", 25, 0, random (0, 360), 2, random (70, 130))
        CARB NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 10 A_CustomMissile ("PlasmaSmoke", 25, 0, random (0, 360), 2, random (70, 130))
        CARB N -1
        Stop

	XDeath:
		TNT1 A 0 A_Jump (190,1)
		Goto Death.Rare
	    SKEX A 100 A_CustomMissile ("SkeletonXDeath", 0, 0, random (0, 360), 2, random (0, 160))
		SKEX BCDE 8
        TNT1 A 0 A_SpawnItem ("XDeadSkeleton", 1)
        Stop
	Death.Rare:
		    TNT1 A 0 A_CustomMissile ("SkeletonXDeathRare", 0, 0, random (0, 360), 2, random (0, 160))
			Stop
	Raise:
		SKEL Q 5
		SKEL PONML 5
		Goto See

    Pain.KillMe:
    Pain.Taunt:
        TNT1 A 0
        Goto Missile
    Death.KillMe:
    Death.Taunt:
        TNT1 A 0 A_SpawnItem("Revenant")
        Stop
	}
}


ACTOR RoamingLegs
{
    Radius 12
    Height 30
    Speed 6
	Health 100
	+SHOOTABLE
    +FLOORCLIP
    +LOOKALLAROUND
    States
    {
    Spawn:
	Goto See
    See:
        DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
        DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
        DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
        DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
        DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
		DKEL A 0
        DKEL AABB 2 A_Wander
	Goto Death
		Death:
		SKEX A 10
		SKEX BCDE 10
		TNT1 A 0 A_SpawnItem ("XDeadSkeleton", 1)
		Stop
    Crush:
        TNT1 A 0 A_PlaySound("misc/xdeath4")
        CRS2 A 5
        CRS2 A -1
        Stop
	}
}

ACTOR RevenantSeeker
{
	Game Doom
	SpawnID 53
	Radius 11
	Height 8
	Speed 11
	FastSpeed 15
	Damage 3
	PROJECTILE
	+THRUGHOST
	+SEEKERMISSILE
	Scale 1.0
    damagetype "ExplosiveImpact"
	SeeSound "skeleton/attack"
	DeathSound "skeleton/tracex"
	States
	{
	Spawn:
		FATB AB 1 BRIGHT A_SpawnItem("RedFlareSmall22",0,0)
        TNT1 A 0 A_SeekerMissile (4,8)
		TNT1 A 0 A_SpawnItemEx("SmallFlameTrails", 0, 0, 0, 0, 0, 0, 0, 128) 
		//TNT1 A 0 A_SpawnItemEx("RealFlameTrailsWeird", -10, 0, 0, 0, 0, 0, 0, 128) 
		Loop
	Death:
	    EXPL A 0 Radius_Quake (2, 54, 0, 15, 0)
		BFE1 A 0 Bright A_Explode(7, 120, 1)
		TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_SpawnItemEx("ExplosionParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
		EXPL A 0
        TNT1 AAAAA 0 A_CustomMissile ("SmallExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 10
		Stop
	}
}

ACTOR RevenantMissile
{
	Game Doom
	SpawnID 53
	Radius 11
	Height 8
	Speed 13
	FastSpeed 18
	Damage 5
	PROJECTILE
	+THRUGHOST
	Scale 1.0
    damagetype "Blast"
	SeeSound "skeleton/attack"
	DeathSound "skeleton/tracex"
	States
	{
	Spawn:
		FATB AB 1 BRIGHT A_SpawnItem("YellowFlare22",0,0)
		TNT1 A 0 A_SpawnItemEx("SmallFlameTrails", 0, 0, 0, 0, 0, 0, 0, 128) 
		Loop
	Death:
	    EXPL A 0 Radius_Quake (2, 54, 0, 15, 0)
		BFE1 A 0 Bright A_Explode(7, 120, 1)
        TNT1 A 0 A_SpawnItemEx("ExplosionParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
		EXPL A 0
		TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 AAAA 0 A_CustomMissile ("SmallExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 10
		Stop
	}
}





Actor DeadSkeleton
{
    Radius 12
    Height 18
    Scale 1.0
    +SHOOTABLE
    -SOLID
    +NOTELEPORT
    +MOVEWITHSECTOR
    +CORPSE
    Mass 1000
    Health 200
    damagefactor "Blood", 0.0
    damagefactor "Trample", 0.0
States
    {
    Spawn:
		SKEL Q -1
        Stop
	Raise:
		SKEL Q 5
		SKEL PONML 5
        TNT1 A 0 A_SpawnItem ("Revenant1", 3)
		Stop
    Death:
  	    TNT1 AAAA 0 A_CustomMissile ("BloodSplasher", 0, 0, random (0, 360), 2, random (0, 160))		 TNT1 AAA 0 A_CustomMissile ("XDeath1", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath2", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath3", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath4", 5, 0, random (0, 360), 2, random (0, 160))
         Stop
    Death.flames:
    Death.burn:
    Death.Plasma: Death.Plasma2:
        TNT1 A 0
        TNT1 A 0 A_Scream
        TNT1 A 0 A_NoBlocking
        TNT1 AAA 0 A_CustomMissile ("Nashgore_FlyingBlood", 50, 0, random (0, 360), 2, random (0, 160))
	    TNT1 A 0 A_CustomMissile ("XDeathBurnedSkull", 32, 0, random (0, 360), 2, random (0, 160))
		EXPL AAAAAA 0 A_CustomMissile ("ExplosionSmoke", 32, 0, random (0, 360), 2, random (0, 360))
        CARB NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 10 A_CustomMissile ("SmallSmoke", 1, 0, random (0, 360), 2, random (0, 160))
        CARB N -1
        Stop
		
	Death.Cut:
	TNT1 A 0
	TNT1 A 0 A_CustomMissile ("SkeletonXDeath", 0, 0, random (0, 360), 2, random (0, 160))
	TNT1 A 0 A_SpawnItem ("XDeadSkeleton", 1)
	Stop
	}}


Actor DeadSkeletonNoHead: DeadSkeleton
{Health 200 States{Spawn:
		REVH D -1
        Stop    
       Death.Cutless:	        Death:
  	    TNT1 AAAA 0 A_CustomMissile ("BloodSplasher", 0, 0, random (0, 360), 2, random (0, 160))		 TNT1 AAA 0 A_CustomMissile ("XDeath1", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath2", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath3", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath4", 5, 0, random (0, 360), 2, random (0, 160))
		Stop
			Death.Cut:
	TNT1 A 0
	TNT1 A 0 A_CustomMissile ("SkeletonXDeath", 0, 0, random (0, 360), 2, random (0, 160))
	TNT1 A 0 A_SpawnItem ("XDeadSkeleton", 1)
	Stop}}

Actor XDeadSkeleton: DeadSkeleton
{Health 200 States{Spawn:
		SKEX E -1
        Stop    
       Death.Cutless:	        Death.Cut: Death:
  	    TNT1 AAAA 0 A_CustomMissile ("BloodSplasher", 0, 0, random (0, 360), 2, random (0, 160))		 TNT1 AAA 0 A_CustomMissile ("XDeath1", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath2", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath3", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath4", 5, 0, random (0, 360), 2, random (0, 160))
		Stop}}
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
ACTOR REvenantAttack: BaronBall
{
	Radius 24
	Height 16
	DamageType RVFT
	Projectile 
	+RANDOMIZE
	+FORCEXYBILLBOARD
    +THRUGHOST
	RenderStyle Add
	Alpha 0.6
    Damage 14
    Speed 28
	//HitObituary "$OB_IMPHIT"
	SeeSound "none"
	DeathSound "none"
	Decal "none"
	States
	{
	Spawn:
		TNT1 A 1 BRIGHT
        TNT1 A 1 //A_PlaySound("weapons/gswing")
		Goto Death
	Death:
		TNT1 A 0 BRIGHT
		Stop
	}
}