actor FMarineFist : MarineFist replaces MarineFist
{
  health 125
  speed 20
  painchance 120
  +NODROPOFF
  +COUNTKILL
  meleedamage 3
  meleerange 60
  meleesound "marine/fists"
  PainChance "Control", 255
  DamageFactor "Control", 1
  Translation 2

  // takes damage from 
  DamageFactor "MarineDamage", 1
  DamageFactor "CybRLDamage", 0.25
  DamageFactor "ImpBallDamage", 0.5
  DamageFactor "CacoDamage", 0.5
  DamageFactor "SkelDamage", 0.5
  DamageFactor "FatsoDamage", 0.5
  DamageFactor "KnightDamage", 0.5
  DamageFactor "ArachDamage", 0.5
  DamageFactor "viledamage", 0.5
  DamageFactor "ZombiesDamage", 0.5

  states
  {
  Spawn:
    PLA1 A 4 A_Look 
    PLA1 A 4 A_Look 
    PLA1 A 4 A_Look 
    PLA1 A 4 A_Look 
    PLA1 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Idle:
    PLA1 A 4 A_Look 
    PLA1 A 4 A_Look 
    PLA1 A 4 A_Look 
    PLA1 A 4 A_Look 
    PLA1 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Pain:
    PLA1 G 4
    PLA1 G 4 A_Pain
    Goto See
  See:
    PLA1 ABCD 2 A_Chase
    PLA1 A 0 A_JumpIf (special != 226,1) 
    loop	
    PLA1 A 0 Thing_SetSpecial (0,226,409,0,health)
    goto see
  Melee:
    PLA1 E 4 A_FaceTarget
    PLA1 F 4 A_CustomMeleeAttack(3,"marine/fists","none", "FBulletPuff")
    PLA1 A 4
    Goto See
  Missile:
    Stop
  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,30)
    TNT1 A 10
    Stop
  Death:
    PLA1 H 10 A_GiveToTarget ("MarineExp",1)
    PLA1 I 10 A_Scream
    PLA1 J 10 A_NoBlocking
    PLA1 KLM 10
    PLA1 N 1000
    Stop
  XDeath:
    PLAY O 5 A_GiveToTarget ("MarineExp",1)
    PLAY P 5 A_XScream
    PLAY Q 5 A_NoBlocking
    PLAY RSTUV 5
    PLAY W 1000
    Stop
  Raise:
    PLA1 MLKJIH 5
    Goto See
  SkipAttack:
    Stop
  }
}

ACTOR FMarineBerserk : FMarineFist replaces MarineBerserk
{
  states
  {
  See:
    PLA1 AB 2 A_Chase
    PLA1 B 0 A_SpawnItemEx ("FBersRun",-5,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
    PLA1 CD 2 A_Chase
    PLA1 D 0 A_SpawnItemEx ("FBersRun",-5,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
    PLA1 A 0 A_JumpIf (special != 226,1) 
    loop	
    PLA1 A 0 Thing_SetSpecial (0,226,409,0,health)
    goto see
  Melee:
    PLA1 E 4 A_FaceTarget
    PLA1 F 4 A_CustomMeleeAttack(23,"marine/fists","none", "FBulletPuff")
    PLA1 A 4
    Goto See
  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,31)
    TNT1 A 10
    Stop
  Death:
    PLA1 H 10 A_GiveToTarget ("MarineExp",4)
    PLA1 I 10 A_Scream
    PLA1 J 10 A_NoBlocking
    PLA1 J 0 A_SpawnItemEx ("FBersSplode",0,0,20,0,0,0,0,SXF_NOCHECKPOSITION,0)
    PLA1 KLM 10
    PLA1 N 1000
    Stop
  XDeath:
    PLAY O 5 A_GiveToTarget ("MarineExp",4)
    PLAY P 5 A_XScream
    PLAY Q 5 A_NoBlocking
    PLAY Q 0 A_SpawnItemEx ("FBersSplode",0,0,20,0,0,0,0,SXF_NOCHECKPOSITION,0)
    PLAY RSTUV 5
    PLAY W 1000
    Stop
  }
}

actor FBersSplode
{
  +NOBLOCKMAP
  +NOGRAVITY
  +NOTELEPORT
  +DEHEXPLOSION
  States
  {
  Spawn:
    MISL B 0 bright
    MISL B 0 bright A_Explode (70, 128)
    MISL B 8 bright A_PlaySound ("weapons/rocklx")
    MISL C 6 bright
    MISL D 4 bright
    stop
  }
}


actor FBersRun
{
  Translation 0
  +NOBLOCKMAP
  +NOGRAVITY
  +NOTELEPORT
  RenderStyle translucent
  Alpha 0.40

  States
  {	
  Spawn:
    PLA1 ABCD 2
    stop
  }
}

ACTOR FMarineChainsaw : FMarineFist replaces MarineChainsaw
{
  dropitem "MChainsaw" 64 //256
  meleesound "none"
  states
  {
  Spawn:
    PLA8 A 4 A_Look
    PLA8 A 4 A_Look
    PLA8 A 4 A_Look
    PLA8 A 4 A_Look
    PLA8 A 0 A_PlayWeaponSound("weapons/sawidle")
    PLA8 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Idle:
    PLA8 A 4 A_Look
    PLA8 A 4 A_Look
    PLA8 A 4 A_Look
    PLA8 A 4 A_Look
    PLA8 A 0 A_PlayWeaponSound("weapons/sawidle")
    PLA8 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Pain:
    PLA8 G 4
    PLA8 G 4 A_Pain
    Goto See
  See:
    PLA8 AB 2 A_Chase
    PLA8 CD 2 A_Chase
    PLA8 A 0 A_PlayWeaponSound("weapons/sawidle")
    PLA8 A 0 A_JumpIf (special != 226,1) 
    loop	
    PLA8 A 0 Thing_SetSpecial (0,226,409,0,health)
    goto see
  Melee:
    PLA8 E 4 A_FaceTarget
    PLA8 F 4 BRIGHT A_CustomMeleeAttack(2,"weapons/sawhit","weapons/sawfull", "FBulletPuff")
    PLA8 F 0 A_M_SawRefire
    goto Melee+1
    PLA8 A 0
    Goto See
  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,32)
    TNT1 A 10
    Stop
  Death:
    PLA8 H 10 A_GiveToTarget ("MarineExp",2)
    PLA8 I 10 A_Scream
    PLA8 J 10 A_NoBlocking
    PLA8 KLM 10
    PLA8 N 1000
    Stop
  XDeath:
    PLA8 O 5 A_GiveToTarget ("MarineExp",2)
    PLA8 P 5 A_XScream
    PLA8 Q 5 A_NoBlocking
    PLA8 RSTUV 5
    PLA8 W 1000
    Stop
  Raise:
    PLA8 MLKJIH 5
    Goto See
  }
}

ACTOR FMarinePistol : FMarineFist replaces MarinePistol
{
  dropitem "MClip" 0 //updated
  speed 16
  attackSound "weapons/pistol"
  meleesound "none"
  states
  {
  Spawn:
    PLA2 A 4 A_Look
    PLA2 A 4 A_Look
    PLA2 A 4 A_Look
    PLA2 A 4 A_Look
    PLA2 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Idle:
    PLA2 A 4 A_Look
    PLA2 A 4 A_Look
    PLA2 A 4 A_Look
    PLA2 A 4 A_Look
    PLA2 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Pain:
    PLA2 G 4
    PLA2 G 4 A_Pain
    Goto See
  See:
    PLA2 ABCD 3 A_Chase
    PLA2 A 0 A_JumpIf (special != 226,1) 
    loop	
    PLA2 A 0 Thing_SetSpecial (0,226,409,0,health)
    goto see
  Missile:
    PLA2 E 4 A_FaceTarget
    PLA2 F 6 BRIGHT A_CustomBulletAttack (5.5,2.2,1,6,"FBulletPuff")
    PLA2 E 4 A_FaceTarget
    PLA2 E 0 A_M_Refire
    PLA2 A 5
    Goto See
  Melee:
    Stop
  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,33)
    TNT1 A 10
    Stop
  Death:
    PLA2 H 10 A_GiveToTarget ("MarineExp",2)
    PLA2 I 10 A_Scream
    PLA2 J 10 A_NoBlocking
    PLA2 KLM 10
    PLA2 N 1000
    Stop
  XDeath:
    PLA2 O 5 A_GiveToTarget ("MarineExp",2)
    PLA2 P 5 A_XScream
    PLA2 Q 5 A_NoBlocking
    PLA2 RSTUV 5
    PLA2 W 1000
    Stop
  Raise:
    PLA2 MLKJIH 5
    Goto See
  }
}

ACTOR FMarineShotgun : FMarineFist replaces MarineShotgun
{
  dropitem "MShotgun" 0 //updated
  speed 16
  attacksound "weapons/shotgf"
  meleesound "none"
  states
  {
  Spawn:
    PLA3 A 4 A_Look
    PLA3 A 4 A_Look
    PLA3 A 4 A_Look
    PLA3 A 4 A_Look
    PLA3 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Idle:
    PLA3 A 4 A_Look
    PLA3 A 4 A_Look
    PLA3 A 4 A_Look
    PLA3 A 4 A_Look
    PLA3 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Pain:
    PLA3 G 4
    PLA3 G 4 A_Pain
    Goto See
  See:
    PLA3 ABCD 3 A_Chase
    PLA3 A 0 A_JumpIf (special != 226,1) 
    loop	
    PLA3 A 0 Thing_SetSpecial (0,226,409,0,health)
    goto see
  Missile:
    PLA3 E 3 A_FaceTarget
    PLA3 F 7 BRIGHT A_CustomBulletAttack (7.6, 2.8, 8, 5, "FBulletPuff")
    PLA3 E 7 A_FaceTarget
    PLA3 E 0 A_M_Refire
    PLA3 A 5
    Goto See
  Melee:
    Stop
  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,34)
    TNT1 A 10
    Stop
  Death:
    PLA3 H 10 A_GiveToTarget ("MarineExp",3)
    PLA3 I 10 A_Scream
    PLA3 J 10 A_NoBlocking
    PLA3 KLM 10
    PLA3 N 1000
    Stop
  XDeath:
    PLA3 O 5 A_GiveToTarget ("MarineExp",3)
    PLA3 P 5 A_XScream
    PLA3 Q 5 A_NoBlocking
    PLA3 RSTUV 5
    PLA3 W 1000
    Stop
  Raise:
    PLA3 MLKJIH 5
    Goto See
  }
}

ACTOR FMarineSSG : FMarineFist replaces MarineSSG
{
  dropitem "MSuperShotgun" 64 //256
  speed 16
  attacksound "SSGUNER/SSG"
  meleesound "none"
  states
  {
  Spawn:
    PLA5 A 4 A_Look
    PLA5 A 4 A_Look
    PLA5 A 4 A_Look
    PLA5 A 4 A_Look
    PLA5 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Idle:
    PLA5 A 4 A_Look
    PLA5 A 4 A_Look
    PLA5 A 4 A_Look
    PLA5 A 4 A_Look
    PLA5 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Pain:
    PLA5 G 4
    PLA5 G 4 A_Pain
    Goto See
  See:
    PLA5 ABCD 3 A_Chase
    PLA5 A 0 A_JumpIf (special != 226,1) 
    loop	
    PLA5 A 0 Thing_SetSpecial (0,226,409,0,health)
    goto see
  Missile:
    PLA5 E 7 A_FaceTarget
    PLA5 F 14 BRIGHT A_CustomBulletAttack (13.2, 8.1, 20, 5, "FBulletPuff")
    PLA5 E 21 A_FaceTarget
    PLA5 E 0 A_M_Refire
    PLA5 A 5
    Goto See
  Melee:
    Stop
  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,35)
    TNT1 A 10
    Stop
  Death:
    PLA5 H 10 A_GiveToTarget ("MarineExp",4)
    PLA5 I 10 A_Scream
    PLA5 J 10 A_NoBlocking
    PLA5 KLM 10
    PLA5 N 1000
    Stop
  XDeath:
    PLA5 O 5 A_GiveToTarget ("MarineExp",4)
    PLA5 P 5 A_XScream
    PLA5 Q 5 A_NoBlocking
    PLA5 RSTUV 5
    PLA5 W 1000
    Stop
  Raise:
    PLA5 MLKJIH 5
    Goto See
  }
}

ACTOR FMarineChaingun : FMarineFist replaces MarineChaingun
{
  dropitem "MChaingun" 64 //256
  speed 16
  attacksound "weapons/pistol"
  meleesound "none"
  states
  {
  Spawn:
    PLA4 A 4 A_Look
    PLA4 A 4 A_Look
    PLA4 A 4 A_Look
    PLA4 A 4 A_Look
    PLA4 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Idle:
    PLA4 A 4 A_Look
    PLA4 A 4 A_Look
    PLA4 A 4 A_Look
    PLA4 A 4 A_Look
    PLA4 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Pain:
    PLA4 G 4
    PLA4 G 4 A_Pain
    Goto See
  See:
    PLA4 ABCD 3 A_Chase
    PLA4 A 0 A_JumpIf (special != 226,1) 
    loop	
    PLA4 A 0 Thing_SetSpecial (0,226,409,0,health)
    goto see
  Missile:
    PLA4 E 2 A_FaceTarget
    PLA4 F 2 BRIGHT A_CustomBulletAttack (7.2, 2.4, 1, 6, "FBulletPuff")
    PLA4 E 2 A_FaceTarget
    PLA4 F 2 BRIGHT A_CustomBulletAttack (7.2, 2.4, 1, 6, "FBulletPuff")
    PLA4 E 2 A_FaceTarget
    PLA4 E 0 A_M_Refire
  Goto Missile+1
    PLA4 A 5
    Goto See
  Melee:
    Stop
  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,36)
    TNT1 A 10
    Stop
  Death:
    PLA4 H 10 A_GiveToTarget ("MarineExp",4)
    PLA4 I 10 A_Scream
    PLA4 J 10 A_NoBlocking
    PLA4 KLM 10
    PLA4 N 1000
    Stop
  XDeath:
    PLAY O 5 A_GiveToTarget ("MarineExp",4)
    PLAY P 5 A_XScream
    PLAY Q 5 A_NoBlocking
    PLAY RSTUV 5
    PLAY W 1000
    Stop
  Raise:
    PLA4 MLKJIH 5
    Goto See
  }
}

ACTOR FMarineRocket : FMarineFist replaces MarineRocket
{
  speed 16
  MissileType PCybRocket
  meleesound "none"
  dropitem "MRocketlauncher" 64 //256
  states
  {
  Spawn:
    PLAR A 4 A_Look
    PLAR A 4 A_Look
    PLAR A 4 A_Look
    PLAR A 4 A_Look
    PLAR A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Idle:
    PLAR A 4 A_Look
    PLAR A 4 A_Look
    PLAR A 4 A_Look
    PLAR A 4 A_Look
    PLAR A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Pain:
    PLAR G 4
    PLAR G 4 A_Pain
    Goto See
  See:
    PLAR ABCD 3 A_Chase
    PLAR A 0 A_JumpIf (special != 226,1) 
    loop	
    PLAR A 0 Thing_SetSpecial (0,226,409,0,health)
    goto see
  Missile:
    PLAR E 0 A_JumpIfCloser (90,"See")
    PLAR E 8
    PLAR F 6 BRIGHT A_MissileAttack
    PLAR A 6
    PLAR A 1 A_Jump (100, 1) //0
    Goto Missile
    PLAR A 0 
    Goto See
  Melee:
    Stop
  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,37)
    TNT1 A 10
    Stop
  Death:
    PLAR H 10 A_GiveToTarget ("MarineExp",6)
    PLAR I 10 A_Scream
    PLAR J 10 A_NoBlocking
    PLAR KLM 10
    PLAR N 1000
    Stop
  XDeath:
    PLAR O 5 A_GiveToTarget ("MarineExp",6)
    PLAR P 5 A_XScream
    PLAR Q 5 A_NoBlocking
    PLAR RSTUV 5
    PLAR W 1000
    Stop
  Raise:
    PLAR MLKJIH 5
    Goto See
  }
}

ACTOR FMarinePlasma : FMarineFist replaces MarinePlasma
{
  speed 16
  MissileType FPlasmaBall
  dropitem "MPlasmaRifle" 64 //256
  dropitem "MCell" 0 //added
  meleesound "none"
  states
  {
  Spawn:
    PLA6 A 4 A_Look
    PLA6 A 4 A_Look
    PLA6 A 4 A_Look
    PLA6 A 4 A_Look
    PLA6 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Idle:
    PLA6 A 4 A_Look
    PLA6 A 4 A_Look
    PLA6 A 4 A_Look
    PLA6 A 4 A_Look
    PLA6 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Pain:
    PLA6 G 4
    PLA6 G 4 A_Pain
    Goto See
  See:
    PLA6 ABCD 3 A_Chase
    PLA6 A 0 A_JumpIf (special != 226,1) 
    loop	
    PLA6 A 0 Thing_SetSpecial (0,226,409,0,health)
    goto see
  Missile:
    PLA6 E 2 A_FaceTarget
    PLA6 F 3 BRIGHT A_MissileAttack
    PLA6 E 0 A_M_Refire
  Goto Missile
    PLA6 A 20
    Goto See
  Melee:
    Stop
  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,38)
    TNT1 A 10
    Stop
  Death:
    PLA6 H 10 A_GiveToTarget ("MarineExp",6)
    PLA6 I 10 A_Scream
    PLA6 J 10 A_NoBlocking
    PLA6 KLM 10
    PLA6 N 1000
    Stop
  XDeath:
    PLAY O 5 A_GiveToTarget ("MarineExp",6)
    PLAY P 5 A_XScream
    PLAY Q 5 A_NoBlocking
    PLAY RSTUV 5
    PLAY W 1000
    Stop
  Raise:
    PLA6 MLKJIH 5
    Goto See
  }
}

ACTOR FPlasmaBall : PlasmaBall
{
 DamageType "CybRLDamage"
}

ACTOR FMarineBFG : FMarineFist replaces MarineBFG
{
  dropitem "MBFG9000" 64 //256
  speed 12
  meleesound "none"
  states
  {
  Spawn:
    PLA7 A 4 A_Look
    PLA7 A 4 A_Look
    PLA7 A 4 A_Look
    PLA7 A 4 A_Look
    PLA7 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Idle:
    PLA7 A 4 A_Look
    PLA7 A 4 A_Look
    PLA7 A 4 A_Look
    PLA7 A 4 A_Look
    PLA7 A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  Pain:
    PLA7 G 4
    PLA7 G 4 A_Pain
    Goto See
  See:
    PLA7 ABCD 4 A_Chase
    PLA7 A 0 A_JumpIf (special != 226,1) 
    loop	
    PLA7 A 0 Thing_SetSpecial (0,226,409,0,health)
    goto see
  Missile:
    PLA7 E 5 A_M_BFGSound
    PLA7 EEEEE 5 A_FaceTarget
    PLA7 F 6 A_M_FireBFG
    PLA7 A 6 A_FaceTarget
    PLA7 A 0 A_M_Refire
    Loop
    PLAY A 0
    Goto See
  Melee:
    Stop
  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,40)
    TNT1 A 10
    Stop
  Death:
    PLA7 H 10 A_GiveToTarget ("MarineExp",9)
    PLA7 I 10 A_Scream
    PLA7 J 10 A_NoBlocking
    PLA7 KLM 10
    PLA7 N 1000
    Stop
  XDeath:
    PLA7 O 5 A_GiveToTarget ("MarineExp",9)
    PLA7 P 5 A_XScream
    PLA7 Q 5 A_NoBlocking
    PLA7 RSTUV 5
    PLAY W 1000
    Stop
  Raise:
    PLA7 MLKJIH 5
    Goto See
  }
}

actor FBFGBall : BFGBall replaces BFGBall
{
  DamageType "CybRLDamage"
  States
  {
  Death:
    BFE1 AB 8 bright
    BFE1 C 8 bright A_BFGSpray("FBFGExtra")
    BFE1 DEF 8 bright
    stop
  }
}

actor FBFGExtra : BFGExtra
{
  DamageType "CybRLDamage"
}

ACTOR FMarineRailgun : FMarinePlasma replaces MarineRailgun { }
