// Common Player

ACTOR SFortPlayer : DoomPlayer replaces DoomPlayer
{
  Health 100
  GibHealth 25
  Player.ColorRange 112, 127
  Player.DamageScreenColor "Purple", 1.0, "PlasmaGrenade"
  //Player.DamageScreenColor "Green", 1.0, "Pulse"
  //Player.DamageScreenColor "Red", 0.5
  //Player.DamageScreenColor "Red", 1.0, "ScorcherFire"
  Player.DamageScreenColor "Green", 1.0, "Poison"
  +DONTBLAST
  -NOSKIN
  States
  {
  Spawn:
    PLAY A -1
    Loop
  See:
    PLAY ABCD 4
    Goto Spawn
  Missile:
    PLAY E 9
    Goto Spawn
  Melee:
    PLAY F 6 Bright
    Goto Missile
  Pain:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard")
    PLAY G 6 A_Pain
    Goto Spawn
  Guard:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain+1
  Pain.Drowning:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard.Drowning")
    PLAY G 6 A_PlaySound("player/drowning",CHAN_VOICE)
    Goto Spawn
  Guard.Drowning:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain.Drowning+1
  Death.Fist:
    TNT1 A 0 A_GivePlayerMedal("Fisting",0,AAPTR_TARGET)
	Goto Death
  Death.BFGSplash:
    TNT1 A 0 A_GiveInventory("SFortSpamChecker",1,AAPTR_TARGET)
	Goto XDeath
  Death:
    PLAY H 10 A_PlayerScream
    PLAY I 8
    PLAY J 8 A_NoBlocking
    PLAY KLM 8
    PLAY N -1
    Stop
  XDeath:
    PLAY O 5 A_XScream
    PLAY P 5
    PLAY Q 5 A_NoBlocking
    PLAY RSTUV 5
    PLAY W -1
    Stop
  }
}

// Infantry

ACTOR InfantryPlayer : SFortPlayer
{
  Speed 1.0
  Radius 16
  Height 56
  Mass 100
  PainChance 255
  Player.Face "STF"
  Player.DisplayName "Infantry"
  //Player.ScoreIcon "Infaicon"
  Player.WeaponSlot 1, InfantryFist
  Player.WeaponSlot 2, InfantryPistol
  Player.WeaponSlot 3, InfantrySuperShotgun
  Player.WeaponSlot 4, InfantryMachinegun
  Player.WeaponSlot 6, InfantryPlasmaRifle
  Player.Weaponslot 7, SFortBFG9000, SFortBFG10K
  Player.StartItem "BlueArmor100"
  Player.StartItem "InfantrySuperShotgun"
  Player.StartItem "InfantryPlasmaRifle"
  Player.StartItem "InfantryMachinegun"
  Player.StartItem "InfantryPistol"
  Player.StartItem "InfantryFist"
  Player.StartItem "Clip", 50
  Player.StartItem "Shell", 16
  Player.StartItem "Cell", 100
  States
  {
  Spawn:
    PINF A -1
    Loop
  See:
    PINF A 5 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PINF B 4
    PINF C 5 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PINF D 4
    Goto Spawn
  Missile:
    PINF E 9
    Goto Spawn
  Melee:
    PINF F 6 Bright
    Goto Missile
  Pain:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard")
    PINF G 6 A_Pain
    Goto Spawn
  Guard:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain+1
  Pain.Nail:
	TNT1 A 0 A_GiveInventory("NailSlower",1)
	Goto Pain
  Pain.ScorcherFire:
	TNT1 A 0 ACS_NamedExecuteAlways("ScorcherFireText",0)
	TNT1 A 0 A_CustomMissile("SFortPlayerFire",16)
	Goto Pain
  Pain.Poison:
	TNT1 A 0 ACS_NamedExecuteAlways("PoisonText",0)
	Goto Pain
  //Pain.Pulse:
    TNT1 A 0 A_TakeInventory("BasicArmor",5)
	Goto Pain
  Pain.PlasmaGrenade:
	TNT1 A 0 A_TakeInventory("BasicArmor",300)
	TNT1 A 0 ACS_NamedExecuteAlways("PlasmaGrenadeText",0)
	Goto Pain
  Pain.Drowning:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard.Drowning")
    PINF G 6 A_PlaySound("player/drowning",CHAN_VOICE)
    Goto Spawn
  Guard.Drowning:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain.Drowning+1
  Death.Fist:
    TNT1 A 0 A_GivePlayerMedal("Fisting",0,AAPTR_TARGET)
	Goto Death
  Death.BFGSplash:
    TNT1 A 0 A_GiveInventory("SFortSpamChecker",1,AAPTR_TARGET)
	Goto XDeath
  Death:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PINF H 10 A_PlayerScream
    PINF I 8
    PINF J 8 A_NoBlocking
    PINF KLM 8
    PINF N -1
    Stop
  Death.Drowning:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PINF H 10 A_PlaySound("player/drowndeath",CHAN_VOICE)
	Goto Death+4
  XDeath:
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
  XDeath.Suicide:
    PINF O 5 ACS_NamedExecuteAlways("RandomTip")
    PINF P 5 A_XScream
    PINF Q 5 A_NoBlocking
    PINF RSTUV 5
    PINF W -1
    Stop
  }
}

// Scout

ACTOR ScoutPlayer : SFortPlayer
{
  Speed 1.2
  Radius 16
  Height 56
  Mass 50
  PainChance 255
  DamageFactor "Rocket", 0.7
  DamageFactor "Grenade", 0.7
  Player.JumpZ 8.5
  Player.Face "SCT"
  Player.DisplayName "Scout"
  //Player.ScoreIcon "Scouicon"
  Player.WeaponSlot 1, ScoutFist
  Player.WeaponSlot 2, ScoutPistol
  Player.WeaponSlot 3, ScoutScatterPistol //SFortAutoShotgun
  Player.WeaponSlot 4, ScoutNailPistol
  Player.Weaponslot 7, SFortBFG9000, SFortBFG10K
  Player.StartItem "GreenArmor50"
  Player.StartItem "ScoutScatterPistol" //"SFortAutoShotgun"
  Player.StartItem "ScoutNailPistol"
  Player.StartItem "ScoutPistol"
  Player.StartItem "ScoutFist"
  Player.StartItem "SFortHandGrenade"
  Player.StartItem "Clip", 100
  Player.StartItem "Shell", 16
  Player.StartItem "RocketAmmo", 5
  States
  {
  Spawn:
    PSCO A -1
    Loop
  See:
    PSCO A 4 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PSCO B 4
    PSCO C 4 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PSCO D 4
    Goto Spawn
  Missile:
    PSCO E 9
    Goto Spawn
  Melee:
    PSCO F 6 Bright
    Goto Missile
  Pain.Nail:
	TNT1 A 0 A_GiveInventory("NailSlower",1)
  Pain:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard")
    PSCO G 6 A_Pain
    Goto Spawn
  Guard:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain+1
  Pain.ScorcherFire:
	TNT1 A 0 ACS_NamedExecuteAlways("ScorcherFireText",0)
	TNT1 A 0 A_CustomMissile("SFortPlayerFire",16)
	Goto Pain
  Pain.Poison:
	TNT1 A 0 ACS_NamedExecuteAlways("PoisonText",0)
	Goto Pain
  //Pain.Pulse:
    TNT1 A 0 A_TakeInventory("BasicArmor",5)
	Goto Pain
  Pain.PlasmaGrenade:
	TNT1 A 0 A_TakeInventory("BasicArmor",300)
	TNT1 A 0 ACS_NamedExecuteAlways("PlasmaGrenadeText",0)
	Goto Pain
  Pain.Drowning:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard.Drowning")
    PSCO G 6 A_PlaySound("player/drowning",CHAN_VOICE)
    Goto Spawn
  Guard.Drowning:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain.Drowning+1
    TNT1 A 0 A_GiveInventory("SFortSpamChecker",1,AAPTR_TARGET)
	Goto Death
  Death.Fist:
    TNT1 A 0 A_GivePlayerMedal("Fisting",0,AAPTR_TARGET)
	Goto Death
  Death.BFGSplash:
    TNT1 A 0 A_GiveInventory("SFortSpamChecker",1,AAPTR_TARGET)
	Goto XDeath
  Death:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PSCO H 10 A_PlayerScream
    PSCO I 8
    PSCO J 8 A_NoBlocking
    PSCO KLM 8
    PSCO N -1
    Stop
  Death.Drowning:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PSCO H 10 A_PlaySound("player/drowndeath",CHAN_VOICE)
	Goto Death+4
  XDeath:
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
  XDeath.Suicide:
    PSCO O 5 ACS_NamedExecuteAlways("RandomTip")
    PSCO P 5 A_XScream
    PSCO Q 5 A_NoBlocking
    PSCO RSTUV 5
    PSCO W -1
    Stop
  }
}

// Rocketeer

ACTOR RocketeerPlayer : SFortPlayer
{
  Speed 0.7
  Radius 16
  Height 56
  Mass 100
  PainChance 255
  DamageFactor "Rocket", 0.7
  DamageFactor "Grenade", 0.7
  Player.Face "ROC"
  Player.DisplayName "Rocketeer"
  //Player.ScoreIcon "Rockicon"
  Player.WeaponSlot 1, RocketeerFist
  Player.WeaponSlot 2, RocketeerPistol
  Player.WeaponSlot 3, RocketeerSuperShotgun
  Player.WeaponSlot 4, RocketeerMachinegun
  Player.WeaponSlot 5, SFortRocketLauncher
  Player.Weaponslot 7, SFortBFG9000, SFortBFG10K
  Player.StartItem "SFortRedArmor"
  Player.StartItem "SFortRocketLauncher"
  Player.StartItem "RocketeerSuperShotgun"
  Player.StartItem "RocketeerMachinegun"
  Player.StartItem "RocketeerPistol"
  Player.StartItem "RocketeerFist"
  Player.StartItem "Clip", 50
  Player.StartItem "Shell", 16
  Player.StartItem "RocketAmmo", 25
  States
  {
  Spawn:
    PROC A -1
    Loop
  See:
    PROC A 6 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PROC B 5
    PROC C 6 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PROC D 5
    Goto Spawn
  Missile:
    PROC E 9
    Goto Spawn
  Melee:
    PROC F 6 Bright
    Goto Missile
  Pain.Nail:
	TNT1 A 0 A_GiveInventory("NailSlower",1)
  Pain:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard")
    PROC G 6 A_Pain
    Goto Spawn
  Guard:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain+1
  Pain.ScorcherFire:
	TNT1 A 0 ACS_NamedExecuteAlways("ScorcherFireText",0)
	TNT1 A 0 A_CustomMissile("SFortPlayerFire",16)
	Goto Pain
  Pain.Poison:
	TNT1 A 0 ACS_NamedExecuteAlways("PoisonText",0)
	Goto Pain
  //Pain.Pulse:
    TNT1 A 0 A_TakeInventory("BasicArmor",5)
	Goto Pain
  Pain.PlasmaGrenade:
	TNT1 A 0 A_TakeInventory("BasicArmor",300)
	TNT1 A 0 ACS_NamedExecuteAlways("PlasmaGrenadeText",0)
	Goto Pain
  Pain.Drowning:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard.Drowning")
    PROC G 6 A_PlaySound("player/drowning",CHAN_VOICE)
    Goto Spawn
  Guard.Drowning:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain.Drowning+1
  Death.Fist:
    TNT1 A 0 A_GivePlayerMedal("Fisting",0,AAPTR_TARGET)
	Goto Death
  Death.BFGSplash:
    TNT1 A 0 A_GiveInventory("SFortSpamChecker",1,AAPTR_TARGET)
	Goto XDeath
  Death:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PROC H 10 A_PlayerScream
    PROC I 8
    PROC J 8 A_NoBlocking
    PROC KLM 8
    PROC N -1
    Stop
  Death.Drowning:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PROC H 10 A_PlaySound("player/drowndeath",CHAN_VOICE)
	Goto Death+4
  XDeath:
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
  XDeath.Suicide:
    PROC O 5 ACS_NamedExecuteAlways("RandomTip")
    PROC P 5 A_XScream
    PROC Q 5 A_NoBlocking
    PROC RSTUV 5
    PROC W -1
    Stop
  }
}

// Scorcher

ACTOR ScorcherPlayer : SFortPlayer
{
  Speed 1.0
  Radius 16
  Height 56
  Mass 100
  PainChance 255
  Player.Face "SCR"
  DamageFactor "Fire", 0.5
  DamageFactor "ScorcherFire", 0.0
  Player.DisplayName "Scorcher"
  //Player.ScoreIcon "Scoricon"
  Player.WeaponSlot 1, ScorcherFist
  Player.WeaponSlot 2, ScorcherPistol
  Player.WeaponSlot 3, SFortFlaregun
  Player.WeaponSlot 4, ScorcherNailgun
  Player.WeaponSlot 6, SFortFlameThrower
  Player.Weaponslot 7, SFortBFG9000, SFortBFG10K
  Player.StartItem "RedArmor150"
  Player.StartItem "SFortFlameThrower"
  Player.StartItem "ScorcherNailgun"
  Player.StartItem "SFortFlaregun"
  Player.StartItem "ScorcherPistol"
  Player.StartItem "ScorcherFist"
  Player.StartItem "Clip", 50
  Player.StartItem "Shell", 16
  Player.StartItem "Cell", 300
  States
  {
  Spawn:
    PSCR A -1
    Loop
  See:
    PSCR A 5 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PSCR B 4
    PSCR C 5 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PSCR D 4
    Goto Spawn
  Missile:
    PSCR E 9
    Goto Spawn
  Melee:
    PSCR F 6 Bright
    Goto Missile
  Pain.Nail:
	TNT1 A 0 A_GiveInventory("NailSlower",1)
  Pain:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard")
    PSCR G 6 A_Pain
    Goto Spawn
  Guard:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain+1
  Pain.Poison:
	TNT1 A 0 ACS_NamedExecuteAlways("PoisonText",0)
	Goto Pain
  //Pain.Pulse:
    TNT1 A 0 A_TakeInventory("BasicArmor",5)
	Goto Pain
  Pain.PlasmaGrenade:
	TNT1 A 0 A_TakeInventory("BasicArmor",300)
	TNT1 A 0 ACS_NamedExecuteAlways("PlasmaGrenadeText",0)
	Goto Pain
  Pain.Drowning:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard.Drowning")
    PSCR G 6 A_PlaySound("player/drowning",CHAN_VOICE)
    Goto Spawn
  Guard.Drowning:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain.Drowning+1
  Death.Fist:
    TNT1 A 0 A_GivePlayerMedal("Fisting",0,AAPTR_TARGET)
	Goto Death
  Death.BFGSplash:
    TNT1 A 0 A_GiveInventory("SFortSpamChecker",1,AAPTR_TARGET)
	Goto XDeath
  Death:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PSCR H 10 A_PlayerScream
    PSCR I 8
    PSCR J 8 A_NoBlocking
    PSCR K 8
	PSCR L -1
    Stop
  Death.Drowning:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PSCR H 10 A_PlaySound("player/drowndeath",CHAN_VOICE)
	Goto Death+4
  XDeath:
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
  XDeath.Suicide:
    PSCR O 5 ACS_NamedExecuteAlways("RandomTip")
    PSCR P 5 A_XScream
    PSCR Q 5 A_NoBlocking
    PSCR RSTUV 5
    PSCR W -1
    Stop
  }
}

// Gunner

ACTOR GunnerPlayer : SFortPlayer
{
  Speed 0.7
  Radius 16
  Height 56
  Player.AttackZOffset 18
  Player.ViewHeight 50
  Health 200
  Player.MaxHealth 200
  Player.MugShotMaxHealth 200
  Mass 2000
  PainChance 255
  Player.Face "GNR"
  Player.DisplayName "Gunner"
  //Player.ScoreIcon "Gunnicon"
  Player.WeaponSlot 1, GunnerFist
  Player.WeaponSlot 2, GunnerPistol
  Player.WeaponSlot 3, GunnerShotgun
  Player.WeaponSlot 4, SFortSuperNailgun, SFortMinigun
  Player.Weaponslot 7, SFortBFG9000, SFortBFG10K
  Player.StartItem "GunnerToken"
  Player.StartItem "SFortRedArmor"
  Player.StartItem "SFortMinigun"
  Player.StartItem "SFortSuperNailgun"
  Player.StartItem "GunnerShotgun"
  Player.StartItem "GunnerPistol"
  Player.StartItem "GunnerFist"
  Player.StartItem "Clip", 390 // Backpack gives the rest 10 bullets
  Player.StartItem "Shell", 4 // Backpack gives the rest 4 shells
  Player.StartItem "SFortBackPack"
  //Player.StartItem "PowerMinigunProtection" // For damage testing purposes - COMMENT OUT WHEN NOT NEEDED!
  States
  {
  Spawn:
    PGUN A -1
    Loop
  See:
    PGUN A 6 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PGUN B 6
    PGUN C 6 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PGUN D 6
    Goto Spawn
  Missile:
    PGUN E 9
    Goto Spawn
  Melee:
    PGUN F 6 Bright
    Goto Missile
  Pain:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard")
    PGUN G 6 A_Pain
    Goto Spawn
  Pain.Nail:
	TNT1 A 0 A_GiveInventory("NailSlower",1)
	Goto Pain
  Guard:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain+1
  Pain.ScorcherFire:
	TNT1 A 0 ACS_NamedExecuteAlways("ScorcherFireText",0)
	TNT1 A 0 A_CustomMissile("SFortPlayerFire",16)
	Goto Pain
  Pain.Poison:
	TNT1 A 0 ACS_NamedExecuteAlways("PoisonText",0)
	Goto Pain
  //Pain.Pulse:
    TNT1 A 0 A_TakeInventory("BasicArmor",5)
	Goto Pain
  Pain.PlasmaGrenade:
	TNT1 A 0 A_TakeInventory("BasicArmor",300)
	TNT1 A 0 ACS_NamedExecuteAlways("PlasmaGrenadeText",0)
	Goto Pain
  Pain.Drowning:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard.Drowning")
    PGUN G 6 A_PlaySound("player/drowning",CHAN_VOICE)
    Goto Spawn
  Guard.Drowning:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain.Drowning+1
  Death.Fist:
    TNT1 A 0 A_GivePlayerMedal("Fisting",0,AAPTR_TARGET)
	Goto Death
  Death.BFGSplash:
    TNT1 A 0 A_GiveInventory("SFortSpamChecker",1,AAPTR_TARGET)
	Goto XDeath
  Death:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PGUN H 10 A_PlayerScream
    PGUN I 8
    PGUN J 8 A_NoBlocking
    PGUN KLM 8
    PGUN N -1
    Stop
  Death.Drowning:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PGUN H 10 A_PlaySound("player/drowndeath",CHAN_VOICE)
	Goto Death+4
  XDeath:
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
  XDeath.Suicide:
    PGUN O 5 ACS_NamedExecuteAlways("RandomTip")
    PGUN P 5 A_XScream
    PGUN Q 5 A_NoBlocking
    PGUN RSTUV 5
    PGUN W -1
    Stop
  }
}

// Demolitioner

ACTOR DemolitionerPlayer : SFortPlayer
{
  Speed 0.8
  Radius 16
  Height 56
  Mass 100
  PainChance 255
  DamageFactor "Rocket", 0.5
  DamageFactor "Grenade", 0.5
  Player.Face "DMO"
  Player.DisplayName "Demolitioner"
  //Player.ScoreIcon "Demoicon"
  Player.WeaponSlot 1, DemolitionerFist
  Player.WeaponSlot 2, DemolitionerPistol
  Player.WeaponSlot 3, DemolitionerShotgun
  Player.WeaponSlot 4, DemolitionerNailgun
  Player.WeaponSlot 5, SFortStickyBombLauncher, SFortGrenadeLauncher
  Player.Weaponslot 7, SFortBFG9000, SFortBFG10K
  Player.StartItem "DemolitionerToken"
  Player.StartItem "RedArmor150"
  Player.StartItem "SFortGrenadeLauncher"
  Player.StartItem "SFortStickyBombLauncher"
  Player.StartItem "DemolitionerNailgun"
  Player.StartItem "DemolitionerShotgun"
  Player.StartItem "DemolitionerPistol"
  Player.StartItem "DemolitionerFist"
  Player.StartItem "Clip", 50
  Player.StartItem "Shell", 12
  Player.StartItem "RocketAmmo", 30
  States
  {
  Spawn:
    PDEM A -1
    Loop
  See:
    PDEM A 6 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PDEM B 5
    PDEM C 6 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PDEM D 5
    Goto Spawn
  Missile:
    PDEM E 9
    Goto Spawn
  Melee:
    PDEM F 6 Bright
    Goto Missile
  Pain.Nail:
	TNT1 A 0 A_GiveInventory("NailSlower",1)
  Pain:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard")
    PDEM G 6 A_Pain
    Goto Spawn
  Guard:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain+1
  Pain.ScorcherFire:
	TNT1 A 0 ACS_NamedExecuteAlways("ScorcherFireText",0)
	TNT1 A 0 A_CustomMissile("SFortPlayerFire",16)
    Goto Pain
  Pain.Poison:
	TNT1 A 0 ACS_NamedExecuteAlways("PoisonText",0)
	Goto Pain
  //Pain.Pulse:
    TNT1 A 0 A_TakeInventory("BasicArmor",5)
	Goto Pain
  Pain.PlasmaGrenade:
	TNT1 A 0 A_TakeInventory("BasicArmor",300)
	TNT1 A 0 A_GiveInventory("DetonatePipe",1)
	TNT1 A 0 ACS_NamedExecuteAlways("PlasmaGrenadeText",0)
	Goto Pain
  Pain.Drowning:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard.Drowning")
    PDEM G 6 A_PlaySound("player/drowning",CHAN_VOICE)
    Goto Spawn
  Guard.Drowning:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain.Drowning+1
  Death.Fist:
    TNT1 A 0 A_GivePlayerMedal("Fisting",0,AAPTR_TARGET)
	Goto Death
  Death.BFGSplash:
    TNT1 A 0 A_GiveInventory("SFortSpamChecker",1,AAPTR_TARGET)
	Goto XDeath
  Death:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
	TNT1 A 0 A_TakeInventory("DemolitionerToken",99)
    PDEM H 10 A_PlayerScream
    PDEM I 8
    PDEM J 8 A_NoBlocking
    PDEM KLM 8
    PDEM N -1
    Stop
  Death.Drowning:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PDEM H 10 A_PlaySound("player/drowndeath",CHAN_VOICE)
	Goto Death+5
  XDeath:
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
  XDeath.Suicide:
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
    PDEM O 5 A_TakeInventory("DemolitionerToken",99)
    PDEM P 5 A_XScream
    PDEM Q 5 A_NoBlocking
    PDEM RSTUV 5
    PDEM W -1
    Stop
  }
}

// Pioneer

ACTOR PioneerPlayer : SFortPlayer
{
  Speed 0.9
  Radius 16
  Height 56
  Mass 100
  PainChance 255
  Player.Face "PIO"
  Player.DisplayName "Pioneer"
  //Player.ScoreIcon "Pionicon"
  Player.WeaponSlot 1, PioneerFist, SFortWrench
  Player.WeaponSlot 2, PioneerPistol
  Player.WeaponSlot 3, PioneerShotgun
  Player.WeaponSlot 4, PioneerNailgun
  Player.Weaponslot 7, SFortBFG9000, SFortBFG10K
  Player.StartItem "PioneerToken"
  Player.StartItem "BlueArmor100"
  Player.StartItem "PioneerShotgun"
  Player.StartItem "PioneerNailgun"
  Player.StartItem "PioneerPistol"
  Player.StartItem "SFortWrench"
  Player.StartItem "PioneerFist"
  Player.StartItem "Clip", 100
  Player.StartItem "Shell", 12
  States
  {
  Spawn:
    PPIO A -1
    Loop
  See:
    PPIO A 5 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PPIO B 5
    PPIO C 5 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PPIO D 5
    Goto Spawn
  Missile:
    PPIO E 9
    Goto Spawn
  Melee:
    PPIO F 5 Bright
    Goto Missile
  Pain.Nail:
	TNT1 A 0 A_GiveInventory("NailSlower",1)
  Pain:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard")
    PPIO G 6 A_Pain
    Goto Spawn
  Guard:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain+1
  Pain.ScorcherFire:
	TNT1 A 0 ACS_NamedExecuteAlways("ScorcherFireText",0)
	TNT1 A 0 A_CustomMissile("SFortPlayerFire",16)
    Goto Pain
  Pain.Poison:
	TNT1 A 0 ACS_NamedExecuteAlways("PoisonText",0)
	Goto Pain
  //Pain.Pulse:
    TNT1 A 0 A_TakeInventory("BasicArmor",5)
	Goto Pain
  Pain.PlasmaGrenade:
	TNT1 A 0 A_TakeInventory("BasicArmor",300)
	TNT1 A 0 ACS_NamedExecuteAlways("PlasmaGrenadeText",0)
	Goto Pain
  Pain.Drowning:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard.Drowning")
    PPIO G 6 A_PlaySound("player/drowning",CHAN_VOICE)
    Goto Spawn
  Guard.Drowning:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain.Drowning+1
  Death.Fist:
    TNT1 A 0 A_GivePlayerMedal("Fisting",0,AAPTR_TARGET)
	Goto Death
  Death.BFGSplash:
    TNT1 A 0 A_GiveInventory("SFortSpamChecker",1,AAPTR_TARGET)
	Goto XDeath
  Death:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PPIO H 10 A_PlayerScream
    PPIO I 8
    PPIO J 8 A_NoBlocking
    PPIO KLM 8
    PPIO N -1
    Stop
  Death.Drowning:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PPIO H 10 A_PlaySound("player/drowndeath",CHAN_VOICE)
	Goto Death+4
  XDeath:
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
  XDeath.Suicide:
	PPIO O 5 ACS_NamedExecuteAlways("RandomTip")
    PPIO P 5 A_XScream
    PPIO Q 5 A_NoBlocking
    PPIO RSTUV 5
    PPIO W -1
    Stop
  }
}

// Marksman

ACTOR MarksmanPlayer : SFortPlayer
{
  Speed 0.9
  Radius 16
  Height 56
  Mass 100
  PainChance 255
  Player.Face "MRK"
  Player.DisplayName "Marksman"
  //Player.ScoreIcon "Markicon"
  Player.WeaponSlot 1, MarksmanFist
  Player.WeaponSlot 2, MarksmanPistol
  Player.WeaponSlot 3, MarksmanShotgun
  Player.WeaponSlot 4, MarksmanMachinegun
  Player.WeaponSlot 6, SFortRailgun
  Player.Weaponslot 7, SFortBFG9000, SFortBFG10K
  Player.StartItem "GreenArmor50"
  Player.StartItem "SFortRailgun"
  Player.StartItem "MarksmanMachinegun"
  Player.StartItem "MarksmanShotgun"
  Player.StartItem "MarksmanPistol"
  Player.StartItem "MarksmanFist"
  Player.StartItem "Clip", 50
  Player.StartItem "Shell", 12
  Player.StartItem "Cell", 150
  States
  {
  Spawn:
    PMRK A -1
    Loop
  See:
    PMRK A 5 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PMRK B 5
    PMRK C 5 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PMRK D 5
    Goto Spawn
  Missile:
    PMRK E 9
    Goto Spawn
  Melee:
    PMRK F 6 Bright
    Goto Missile
  Pain.Nail:
	TNT1 A 0 A_GiveInventory("NailSlower",1)
  Pain:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard")
    PMRK G 6 A_Pain
    Goto Spawn
  Guard:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain+1
  Pain.ScorcherFire:
	TNT1 A 0 ACS_NamedExecuteAlways("ScorcherFireText",0)
	TNT1 A 0 A_CustomMissile("SFortPlayerFire",16)
    Goto Pain
  Pain.Poison:
	TNT1 A 0 ACS_NamedExecuteAlways("PoisonText",0)
	Goto Pain
  //Pain.Pulse:
    TNT1 A 0 A_TakeInventory("BasicArmor",5)
	Goto Pain
  Pain.PlasmaGrenade:
	TNT1 A 0 A_TakeInventory("BasicArmor",300)
	TNT1 A 0 ACS_NamedExecuteAlways("PlasmaGrenadeText",0)
	Goto Pain
  Pain.Drowning:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard.Drowning")
    PMRK G 6 A_PlaySound("player/drowning",CHAN_VOICE)
    Goto Spawn
  Guard.Drowning:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain.Drowning+1
  Death.Fist:
    TNT1 A 0 A_GivePlayerMedal("Fisting",0,AAPTR_TARGET)
	Goto Death
  Death.BFGSplash:
    TNT1 A 0 A_GiveInventory("SFortSpamChecker",1,AAPTR_TARGET)
	Goto XDeath
  Death:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PMRK H 10 A_PlayerScream
    PMRK I 8
    PMRK J 8 A_NoBlocking
    PMRK KLM 8
    PMRK N -1
    Stop
  Death.Tip:
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	Goto Death+1
  Death.Drowning:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PMRK H 10 A_PlaySound("player/drowndeath",CHAN_VOICE)
	Goto Death+4
  XDeath:
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
  XDeath.Suicide:
    PMRK O 5 ACS_NamedExecuteAlways("RandomTip")
    PMRK P 5 A_XScream
    PMRK Q 5 A_NoBlocking
    PMRK RSTUV 5
    PMRK W -1
    Stop
  }
}

// Medic

ACTOR MedicPlayer : SFortPlayer
{
  Speed 1.1
  Radius 16
  Height 56
  Mass 100
  PainChance 255
  Player.JumpZ 8.5
  Player.Face "MDC"
  Player.DisplayName "Medic"
  //Player.ScoreIcon "Mediicon"
  Player.WeaponSlot 1, MedicFist
  Player.WeaponSlot 2, MedicPistol
  Player.WeaponSlot 3, MedicScatterPistol
  Player.WeaponSlot 4, MedicNailPistol
  Player.WeaponSlot 6, SFortPoisonBlaster
  Player.Weaponslot 7, SFortBFG9000, SFortBFG10K
  Player.StartItem "MedicHealthRegen"
  Player.StartItem "MedicToken"
  Player.StartItem "BlueArmor100"
  Player.StartItem "SFortPoisonBlaster"
  Player.StartItem "MedicNailPistol"
  Player.StartItem "MedicScatterPistol"
  Player.StartItem "MedicPistol"
  Player.StartItem "MedicFist"
  Player.StartItem "Clip", 100
  Player.StartItem "Shell", 16
  Player.StartItem "Cell", 100
  States
  {
  Spawn:
    PMED A -1
    Loop
  See:
    PMED A 4 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PMED B 4
    PMED C 4 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PMED D 4
    Goto Spawn
  Missile:
    PMED E 9
    Goto Spawn
  Melee:
    PMED F 5 Bright
    Goto Missile
  Pain.Nail:
	TNT1 A 0 A_GiveInventory("NailSlower",1)
  Pain:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard")
    PMED G 6 A_Pain
    Goto Spawn
  Guard:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain+1
  Pain.ScorcherFire:
	TNT1 A 0 ACS_NamedExecuteAlways("ScorcherFireText",0)
	TNT1 A 0 A_CustomMissile("SFortPlayerFire",16)
	Goto Pain
  Pain.Poison:
	TNT1 A 0 ACS_NamedExecuteAlways("PoisonText",0)
	Goto Pain
  //Pain.Pulse:
    TNT1 A 0 A_TakeInventory("BasicArmor",5)
	Goto Pain
  Pain.PlasmaGrenade:
	TNT1 A 0 A_TakeInventory("BasicArmor",300)
	TNT1 A 0 ACS_NamedExecuteAlways("PlasmaGrenadeText",0)
	Goto Pain
  Pain.Drowning:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard.Drowning")
    PMED G 6 A_PlaySound("player/drowning",CHAN_VOICE)
    Goto Spawn
  Guard.Drowning:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain.Drowning+1
  Death.Fist:
    TNT1 A 0 A_GivePlayerMedal("Fisting",0,AAPTR_TARGET)
	Goto Death
  Death.BFGSplash:
    TNT1 A 0 A_GiveInventory("SFortSpamChecker",1,AAPTR_TARGET)
	Goto XDeath
  Death:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PMED H 10 A_PlayerScream
    PMED I 8
    PMED J 8 A_NoBlocking
    PMED KLM 8
    PMED N -1
    Stop
  Death.Drowning:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PMED H 10 A_PlaySound("player/drowndeath",CHAN_VOICE)
	Goto Death+4
  XDeath:
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
  XDeath.Suicide:
    PMED O 5 ACS_NamedExecuteAlways("RandomTip")
    PMED P 5 A_XScream
    PMED Q 5 A_NoBlocking
    PMED RSTUV 5
    PMED W -1
    Stop
  }
}

// Ghost

ACTOR GhostPlayer : SFortPlayer
{
  Speed 1.0
  Radius 16
  Height 56
  Mass 100
  PainChance 255
  Player.Face "GHS"
  Player.DisplayName "Ghost"
  //Player.ScoreIcon "Ghosicon"
  Player.WeaponSlot 1, GhostFist
  Player.WeaponSlot 2, GhostPistol
  Player.WeaponSlot 3, GhostScatterPistol
  Player.WeaponSlot 4, GhostNailPistol
  Player.Weaponslot 7, SFortBFG9000, SFortBFG10K
  Player.StartItem "GreenArmor50"
  Player.StartItem "GhostScatterPistol"
  Player.StartItem "GhostNailPistol"
  Player.StartItem "GhostPistol"
  Player.StartItem "GhostFist"
  Player.StartItem "Clip", 100
  Player.StartItem "Shell", 16
  Player.StartItem "Cell", 100
  +DONTIDENTIFYTARGET
  States
  {
  Spawn:
    PGHO A -1
    Loop
  See:
	TNT1 A 0 A_JumpIfInventory("GhostStealthItem",1,"SeeCloaked")
	TNT1 A 0 A_JumpIfInventory("PowerGhostStealth9",1,"SeeCloaked")
    PGHO A 5 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PGHO B 4
    PGHO C 5 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PGHO D 4
    Goto Spawn
  SeeCloaked:
    PGHO A 5
    PGHO B 4
    PGHO C 5
    PGHO D 4
    Goto Spawn
  Missile:
    PGHO E 9
    Goto Spawn
  Melee:
    PGHO F 6 Bright
    Goto Missile
  Pain.Nail:
	TNT1 A 0 A_GiveInventory("NailSlower",1)
  Pain:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard")
	TNT1 A 0 A_TakeInventory("GhostStealthItem",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth9",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth8",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth7",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth6",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth5",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth4",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth3",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth2",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth1",1)
    PGHO G 2 A_Pain
	TNT1 A 0 A_TakeInventory("GhostStealthItem",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth9",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth8",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth7",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth6",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth5",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth4",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth3",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth2",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth1",1)
    PGHO G 2
	TNT1 A 0 A_TakeInventory("GhostStealthItem",1)
	//TNT1 A 0 A_TakeInventory("GhostStealthSlower",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth9",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth8",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth7",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth6",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth5",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth4",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth3",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth2",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth1",1)
    PGHO G 2
    Goto Spawn
  Guard:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain+1
  Pain.ScorcherFire:
	TNT1 A 0 ACS_NamedExecuteAlways("ScorcherFireText",0)
	TNT1 A 0 A_CustomMissile("SFortPlayerFire",16)
	Goto Pain
  Pain.Poison:
	TNT1 A 0 ACS_NamedExecuteAlways("PoisonText",0)
	Goto Pain
  //Pain.Pulse:
    TNT1 A 0 A_TakeInventory("BasicArmor",5)
	Goto Pain
  Pain.PlasmaGrenade:
	TNT1 A 0 A_TakeInventory("BasicArmor",300)
	TNT1 A 0 ACS_NamedExecuteAlways("PlasmaGrenadeText",0)
	Goto Pain
  Pain.Drowning:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard.Drowning")
	TNT1 A 0 A_TakeInventory("GhostStealthItem",1)
	//TNT1 A 0 A_TakeInventory("GhostStealthSlower",1)
	TNT1 A 0 A_TakeInventory("PowerGhostStealth9",1)
    PLAY G 2 A_PlaySound("player/drowning",CHAN_VOICE)
    Goto Pain+4
  Guard.Drowning:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain.Drowning+1
  Death.Fist:
    TNT1 A 0 A_GivePlayerMedal("Fisting",0,AAPTR_TARGET)
	Goto Death
  Death.BFGSplash:
    TNT1 A 0 A_GiveInventory("SFortSpamChecker",1,AAPTR_TARGET)
	Goto XDeath
  Death:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PGHO H 10 A_PlayerScream
    PGHO J 8 A_NoBlocking
    PGHO KLM 8
    PGHO N -1
    Stop
  Death.Drowning:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PGHO H 10 A_PlaySound("player/drowndeath",CHAN_VOICE)
	Goto Death+4
  XDeath:
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
  XDeath.Suicide:
    PGHO O 5 ACS_NamedExecuteAlways("RandomTip")
    PGHO P 5 A_XScream
    PGHO Q 5 A_NoBlocking
    PGHO RSTUV 5
    PGHO W -1
    Stop
  }
}

// Cyborg

ACTOR CyborgPlayer : SFortPlayer
{
  Speed 0.8
  Radius 16
  Height 56
  Mass 500
  PainChance 255
  Health 200
  Player.MaxHealth 200
  Player.MugShotMaxHealth 200
  Player.Face "CYB"
  Player.DisplayName "Cyborg"
  //Player.ScoreIcon "Cyboicon"
  Player.WeaponSlot 1, CyborgFist
  Player.WeaponSlot 2, CyborgPistol
  Player.WeaponSlot 3, SFortPulseShotgun
  Player.WeaponSlot 4, SFortThunderBolt
  Player.WeaponSlot 6, CyborgPlasmaRifle
  Player.Weaponslot 7, SFortBFG9000, SFortBFG10K
  Player.StartItem "CyborgHealthRegen"
  Player.StartItem "BlueArmor100"
  Player.StartItem "SFortThunderBolt"
  Player.StartItem "SFortPulseShotgun"
  Player.StartItem "CyborgPlasmaRifle"
  Player.StartItem "CyborgPistol"
  Player.StartItem "CyborgFist"
  Player.StartItem "SFortPlasmaGrenade"
  Player.StartItem "ThunderboltBattery", 50
  Player.StartItem "Cell", 150
  Player.StartItem "CyborgToken"
  States
  {
  Spawn:
    PCYB A -1
    Loop
  See:
    PCYB A 6 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PCYB B 5
    PCYB C 6 ACS_NamedExecuteAlways("SFortFootstepSound",0)
    PCYB D 5
    Goto Spawn
  Missile:
    PCYB E 9
    Goto Spawn
  Melee:
    PCYB F 6 Bright
    Goto Missile
  Pain.Nail:
	TNT1 A 0 A_GiveInventory("NailSlower",1)
  Pain:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard")
    PCYB G 6 A_Pain
    Goto Spawn
  Guard:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain+1
  Pain.ScorcherFire:
	TNT1 A 0 ACS_NamedExecuteAlways("ScorcherFireText",0)
	TNT1 A 0 A_CustomMissile("SFortPlayerFire",16)
	Goto Pain
  Pain.Poison:
	TNT1 A 0 ACS_NamedExecuteAlways("PoisonText",0)
	Goto Pain
  //Pain.Pulse:
    TNT1 A 0 A_TakeInventory("BasicArmor",5)
	Goto Pain
  Pain.PlasmaGrenade:
	TNT1 A 0 A_TakeInventory("BasicArmor",300)
	TNT1 A 0 ACS_NamedExecuteAlways("PlasmaGrenadeText",0)
	Goto Pain
  Pain.Drowning:
	TNT1 A 0 A_JumpIfInventory("PowerQuarterDamage",1,"Guard.Drowning")
    PCYB G 6 A_PlaySound("player/drowning",CHAN_VOICE)
    Goto Spawn
  Guard.Drowning:
    TNT1 A 0 A_Playsound("misc/gdhit",CHAN_7)
	Goto Pain.Drowning+1
  Death.Fist:
    TNT1 A 0 A_GivePlayerMedal("Fisting",0,AAPTR_TARGET)
	Goto Death
  Death.BFGSplash:
    TNT1 A 0 A_GiveInventory("SFortSpamChecker",1,AAPTR_TARGET)
	Goto XDeath
  Death:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PCYB H 5 A_PlayerScream
	PCYb H 5 A_PlaySound("cyborg/debris",CHAN_WEAPON)
    PCYB I 8
    PCYB J 8 A_NoBlocking
    PCYB KLM 8
    PCYB N -1
    Stop
  Death.Drowning:
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 ACS_NamedExecuteAlways("RandomTip")
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
    PCYB H 5 A_PlaySound("player/drowndeath",CHAN_VOICE)
	Goto Death+4
  XDeath:
	TNT1 A 0 A_DropItem("SFortAmmoPack",1)
  XDeath.Suicide:
	TNT1 A 0 A_PlaySound("cyborg/debris",CHAN_WEAPON)
    PCYB H 5 ACS_NamedExecuteAlways("RandomTip")
	PCYB H 3 A_XScream
    PCYB I 8 A_NoBlocking
    PCYB JKLM 8
    PCYB N -1
    Stop
  }
}