actor MRevenant : Revenant //replaces Revenant
{
  tag Revenant
  health 300
  radius 20
  height 56
  mass 500
  speed 10
  Scale 0.85

  PainChance "Control", 255
  DamageFactor "Control", 1
  
  // Takes damage from 
  DamageFactor "MarineDamage", 1
  DamageFactor "ImpBallDamage", 0.5
  DamageFactor "ZombiesDamage", 0.5
  DamageFactor "CacoDamage", 0.5
  DamageFactor "FatsoDamage", 0.5
  DamageFactor "KnightDamage", 0.5
  DamageFactor "ArachDamage", 0.5
  DamageFactor "viledamage", 0.5
  DamageFactor "ZombieTankDamage", 0.1
  // immune to
  DamageFactor "SkelDamage", 0
  DamageFactor "SkelDamageGren", 0
  
  states
  {
  Spawn:
    SKEL A 10 A_Look 
	SKEL B 10
	SKEL A 0 Thing_SetSpecial (0,226,409,0,health)
   loop
  See:
    SKEL AABBCCDDEEFF 2 A_Chase
    SKEL A 0 A_JumpIf (special != 226,1) 
	loop	
	SKEL A 0 Thing_SetSpecial (0,226,409,0,health)
	goto see

  Missile:
    SKEL J 10 Bright A_FaceTarget
    SKEL J 0 A_JUMP(76,"TRACER")
    SKEL K 10 A_CustomMissile("RevMissile",58)
    GOTO SEE
  TRACER:
    SKEL K 10 A_SkelMissile
    SKEL K 10 A_FaceTarget
    Goto See



  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,8)
	TNT1 A 10
	stop
  Death:
    SKEL A 0 A_GiveToTarget ("MarineExp",4)
    SKEL LM 7
    SKEL N 7 A_Scream
    SKEL O 7 A_NoBlocking
    SKEL P 7 
    SKEL Q 1000
    stop	
  }
}

actor MRevenantTracer : RevenantTracer
{
  DamageType "SkelDamage"
}

actor RevMissile
{
  radius 12
  height 8
  speed 16
  damage 11
  renderstyle "Add"
  scale 1
  seesound "skeleton/attack"
  deathsound "skeleton/tracex"
  DamageType "SkelDamage"
  PROJECTILE
  states
  {
  Spawn:
    FATB AB 2 bright
    //FATB A 0 A_SpawnItem("TracerSmoke",0)
    loop
  Death:
    FBXP A 8 bright
    FBXP B 6 bright 
    FBXP C 4 bright 
    stop
  }
}


ACTOR MRevenantTracerSmoke replaces RevenantTracerSmoke
{
  +CLIENTSIDEONLY
  +NOBLOCKMAP
  +NOGRAVITY
  +NOTELEPORT
  RenderStyle Translucent 
  Alpha 0.5
  States
  {	
  Spawn:
	TNT1 A 1
    //PUFF ABABC 4
    Stop
  }
}