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
  DamageFactor "ZombieTankDamage", 0.1

  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 { }
