// --------------------------------------------------------------------------
//
//	Player
//
// --------------------------------------------------------------------------

ACTOR U_Purist : Doomer
{
	Player.DisplayName "Purist"	
	//Startstuff
	Player.StartItem "IsPlayer", 1
	Player.StartItem "IsPlayingAsPurist", 1
	Player.StartItem "StartingWeaponChecker", 1
	Player.StartItem "U_AmmoDropper", 1
	//More startstuff
	Player.StartItem "U_ClassicFist"
	//Misc
	damagefactor "Minigun", 0.7
}

ACTOR Doomer3 : Doomer Replaces Doomer
{
	Player.DisplayName "Modern weapons"
	//Startstuff
	Player.StartItem "IsPlayer", 1
	Player.StartItem "JustStartedGame", 1
	Player.StartItem "NeverSelectedShotgun", 1
	Player.StartItem "StartingWeaponChecker", 1
	Player.StartItem "U_AmmoDropper", 1
	//More startstuff
	Player.StartItem "Melee_Attacks"
	Player.StartItem "U_HandGrenades", 1
	Player.StartItem "BerettaAmmo", 15
	Player.StartItem "BDSMGAmmo", 40
	Player.StartItem "TE_RevolverAmmo", 6
	Player.StartItem "MP40Ammo", 32
	Player.StartItem "U_ShotgunAmmo", 8
	Player.StartItem "SSGAmmo", 2
	Player.StartItem "M1014Ammo", 8
	Player.StartItem "AssaultShotgunAmmo", 20
	Player.StartItem "RifleAmmo", 31
	Player.StartItem "DoubleRifleAmmo", 31
	Player.StartItem "LeftRifleAmmo", 31
	Player.StartItem "MachinegunAmmo", 60
	Player.StartItem "SniperAmmo", 5
	Player.StartItem "U_RocketRounds", 6
	Player.StartItem "GrenadeRounds", 1
	Player.StartItem "PlasmaAmmoOld", 50
	Player.StartItem "PlasmaAmmo", 50
	Player.StartItem "RailAmmo", 8
	Player.StartItem "GrenadeAmmo", 1
	//Bullets in the revolver
	Player.StartItem "RevolverCylinderSlot1", 1
	Player.StartItem "RevolverCylinderSlot2", 1
	Player.StartItem "RevolverCylinderSlot3", 1
	Player.StartItem "RevolverCylinderSlot4", 1
	Player.StartItem "RevolverCylinderSlot5", 1
	Player.StartItem "RevolverCylinderSlot6", 1
	//Misc
	damagefactor "Minigun", 0.7
	States
	{
	Pain.Melee:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("IsDown", 1, "PainIsDown")
		TNT1 A 0 Radius_quake(4, 2, 0, 2, 0)
		TNT1 A 0 A_SetAngle(angle+frandom(-1, 1))
		PLAY GG 1 A_SetPitch(pitch-1)
		PLAY GG 1 A_SetPitch(pitch+1)
		Goto Pain

	FatalityBaron:
		TNT1 A 0 SetPlayerProperty(0,1,0)
		TNT1 A 0 ACS_ExecuteAlways(400, 0, 0, 0, 0)//Start Camera
		TNT1 A 0 ACS_Execute(acsFatality, 0)
		BHF1 AAABCDEF 2
		BHF1 G 3 A_PlaySound("weapons/gswing")
		BHF1 HIJKLLLMN 2
		BHF1 O 3 A_PlaySound("demon/pain")
		TNT1 AAAAAAA 0 A_CustomMissile ("U_Green_Blood", 35, 0, random (0, 180), 2, random (0, 180))
		TNT1 A 0 A_PlaySound("misc/xdeath4")
		BHF1 PQR 3 A_CustomMissile ("U_Green_Blood", 35, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_PlaySound("misc/xdeath4")
		TNT1 A 0 A_PlaySound("misc/xdeath3")
		TNT1 A 0 A_PlaySound("misc/xdeath2")
		TNT1 A 0 A_PlaySound("misc/xdeath1")
		TNT1 A 0 A_CustomMissile ("ShakeShakeShake", 1, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAA 0 A_CustomMissile ("U_Green_Blood", 35, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 ACS_Execute(580, 0, 0, 0, 0)
		TNT1 A 0 ACS_Execute(581, 0, 0, 0, 0)
		BHF1 STUV 3 A_CustomMissile ("U_Green_Blood", 35, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_CustomMissile ("ShakeShakeShake", 1, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 ACS_Execute(581, 0, 0, 0, 0)
		TNT1 AAAAAAA 0 A_CustomMissile ("U_GreenXDeath1", 10, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAA 0 A_CustomMissile ("U_GreenXDeath1", 50, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_SpawnItem ("GreenMeatDeathSmall", 30)
		BHF1 WXYZZZZZZZZZZZZZZ 3
		TNT1 A 0 A_TakeInventory("GoFatality", 1)
		TNT1 A 0 A_TakeInventory("BaronFatality",1)
		TNT1 AAAA 0 A_GiveInventory("Medikit",1)
		TNT1 A 0 A_SpawnItemEx("DeadBaronNoHead", 0, 1, 1, 1, 1)
		TNT1 A 0 ACS_ExecuteAlways(402, 0, 0, 0, 0)//Stop Camera
		TNT1 A 0 SetPlayerProperty(0,0,0)
		Goto StandStill

	FatalityHK:
		TNT1 A 0 SetPlayerProperty(0,1,0)
		TNT1 A 0 ACS_ExecuteAlways(400, 0, 0, 0, 0)//Start Camera
		TNT1 A 0 ACS_Execute(acsFatality, 0)
		HKF1 AB 6
		TNT1 A 0 A_CustomMissile ("GoreSound", 22, 0, random (0, 360), 2, random (0, 160))
		HKF1 C 6 A_PlaySound("PSXDPN")
		TNT1 AAA 0 A_CustomMissile ("U_Green_Blood", 45, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_CustomMissile ("ShakeShakeShake", 1, 0, random (0, 360), 2, random (0, 160))
		HKF1 C 5
		TNT1 A 0 A_PlaySound("imp/melee")
		HKF1 C 5
		TNT1 AAAAAAA 0 A_CustomMissile ("U_Green_Blood", 55, 0, random (0, 180), 2, random (0, 180))
		TNT1 A 0 A_CustomMissile ("ShakeShakeShake", 1, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAA 0 A_CustomMissile ("Instestin2", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAA 0 A_CustomMissile ("U_GreenXDeath1", 10, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAA 0 A_CustomMissile ("U_GreenXDeath2d", 10, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAA 0 A_CustomMissile ("U_GreenXDeath3d", 10, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAAAAA 0 A_CustomMissile ("U_GreenXDeath1", 50, 0, random (0, 360), 2, random (0, 160))
		HKF1 CDE 6 A_SpawnItem ("U_Green_Blood", 30)
		HKF1 FG 6 A_SpawnItem ("U_Green_Blood", 15)
		HKF1 HHH 6
		TNT1 A 0 A_TakeInventory("GoFatality", 1)
		TNT1 A 0 A_TakeInventory("HKFatality",1)
		TNT1 A 0 A_GiveInventory("HealthBonus",10)
		TNT1 A 0 A_SpawnItemEx("RapedHK", 0, 1, 1, 1, 1)
		TNT1 A 0 ACS_ExecuteAlways(402, 0, 0, 0, 0)//Stop Camera
		TNT1 A 0 SetPlayerProperty(0,0,0)
		Goto StandStill
		
	FatalityHK2:
		TNT1 A 0 SetPlayerProperty(0,1,0)
		TNT1 A 0 ACS_ExecuteAlways(400, 0, 0, 0, 0)//Start Camera
		TNT1 A 0 ACS_Execute(acsFatality, 0)
		HKF2 AAB 6
		TNT1 A 0 SetPlayerProperty(0,1,0)
		TNT1 A 0 A_PlaySound("PSXDPN")
		HKF2 DEFFGH 8
		TNT1 A 0 A_CustomMissile ("ShakeShakeShake", 1, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_PlaySound("PSXDPN")
		HKF2 IJIJIJ 4
		TNT1 AAAAA 0 A_CustomMissile ("U_GreenXDeath1", 10, 0, random (0, 360), 2, random (0, 160))
		TNT1 AA 0 A_CustomMissile ("U_Green_Blood", 10, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAA 0 A_CustomMissile ("U_GreenXDeath1", 50, 0, random (0, 360), 2, random (0, 160))
		HKF2 KL 6
		TNT1 A 0 A_CustomMissile ("XDeathHellKnightHead", 64, 0, random (0, 360), 2, random (60, 120))
		HKF2 MNNNNN 6
		TNT1 A 0 A_TakeInventory("HKFatality2",1)
		TNT1 A 0 A_TakeInventory("GoFatality", 1)
		TNT1 A 0 A_GiveInventory("HealthBonus",10)
		TNT1 A 0 A_SpawnItemEx("OmgSoDeadHK", 0, 1, 1, 1, 1)
		TNT1 A 0 ACS_ExecuteAlways(402, 0, 0, 0, 0)//Stop Camera
		TNT1 A 0 SetPlayerProperty(0,0,0)
		Goto StandStill
		
	FatalityHK3:
		TNT1 A 0 SetPlayerProperty(0,1,0)
		TNT1 A 0 ACS_ExecuteAlways(400, 0, 0, 0, 0)//Start Camera
		TNT1 A 0 ACS_Execute(acsFatality, 0)
		TNT1 A 0 A_PlaySound("weapons/gswing", 1)
		TNT1 A 0 A_PlaySound("PSXDPN")
		HKF3 ABC 6
		TNT1 A 0 SetPlayerProperty(0,1,0)
		TNT1 A 0 A_CustomMissile ("ShakeShakeShake", 1, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_PlaySound("PSXDPN", 2)
		HKF3 D 15
		TNT1 A 0 A_PlaySound("knight/death")
		TNT1 AAAAAAA 0 A_CustomMissile ("U_GreenXDeath1", 50, 0, random (0, 360), 2, random (0, 160))
		TNT1 AA 0 A_CustomMissile ("U_Green_Blood", 50, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAAAAA 0 A_CustomMissile ("U_GreenXDeath1", 50, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_CustomMissile ("XDeathHellKnightArm", 40, 0, 90, 2, random (0, 20))
		HKF3 EFGG 7 A_CustomMissile ("U_Green_Blood", 40, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_PlaySound("PSXDPN")
		HKF3 H 15
		TNT1 AAAAAAA 0 A_CustomMissile ("U_GreenXDeath1", 60, 0, random (0, 360), 2, random (0, 160))
		TNT1 AA 0 A_CustomMissile ("U_Green_Blood", 60, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAAAAA 0 A_CustomMissile ("U_GreenXDeath1", 60, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_CustomMissile ("XDeathHellKnightHead", 40, 0, 270, 2, random (0, 20))
		HKF3 I 20
		TNT1 A 0 A_TakeInventory("HKFatality3",1)
		TNT1 A 0 A_TakeInventory("GoFatality", 1)
		TNT1 A 0 A_GiveInventory("HealthBonus",10)
		TNT1 A 0 A_SpawnItemEx("NoArmNoHeadFatalizedHK", 0, 1, 1, 1, 1)
		TNT1 A 0 ACS_ExecuteAlways(402, 0, 0, 0, 0)//Stop Camera
		TNT1 A 0 SetPlayerProperty(0,0,0)
		Goto StandStill
	}
}


// --------------------------------------------------------------------------
//
//	Bloody foot prints
//
// --------------------------------------------------------------------------
/*
ACTOR U_RedBloodFootPrintLeft: GrowingBloodPool replaces RedBloodFootPrintLeft
{
	Scale 0.09
	+CLIENTSIDEONLY
	Renderstyle Shaded
	StencilColor "55 00 00"
	states
	{
	Spawn:
	Death:
	Crash:
		TNT1 A 0 A_JumpIf(waterlevel > 0, "Splash")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1045)!=0, "Splash")
		TNT1 A 0 A_CheckFloor("ShowUp")
		Goto Splash
	ShowUp:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		TNT1 A 0 A_QueueCorpse
		BPDL A 600
		TNT1 A 0 A_JumpIfInventory("LowGraphicsMode", 1, "Splash")
		BPDL A -1
		Stop
	Splash:
		TNT1 A 0
		Stop
	}
}


ACTOR U_RedBloodFootPrintRight: GrowingBloodPool replaces RedBloodFootPrintRight
{
	Scale 0.09
	+CLIENTSIDEONLY
	Renderstyle Shaded
	StencilColor "55 00 00"
	states
	{
	Spawn:
	Death:
	Crash:
		TNT1 A 0 A_JumpIf(waterlevel > 0, "Splash")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1045)!=0, "Splash")
		TNT1 A 0 A_CheckFloor("ShowUp")
		Goto Splash
	ShowUp:
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		TNT1 A 0 A_QueueCorpse
		BPDR A 600
		TNT1 A 0 A_JumpIfInventory("LowGraphicsMode", 1, "Splash")
		BPDR A -1
		Stop
	Splash:
		TNT1 A 0
		Stop
	}
}

ACTOR U_BlueBloodFootPrintLeft: U_RedBloodFootPrintLeft replaces BlueBloodFootPrintLeft
{
	Decal BlueBloodSplat
	Renderstyle Shaded
	StencilColor "00 00 44"
}
ACTOR U_BlueBloodFootPrintRight: U_RedBloodFootPrintRight replaces BlueBloodFootPrintRight
{
	Decal BlueBloodSplat
	Renderstyle Shaded
	StencilColor "00 00 44"
}
ACTOR U_GreenBloodFootPrintLeft: U_RedBloodFootPrintLeft replaces GreenBloodFootPrintLeft
{
	Decal GreenBloodSplat
	Renderstyle Shaded
	StencilColor "00 44 00"
}
ACTOR U_GreenBloodFootPrintRight: U_RedBloodFootPrintRight replaces GreenBloodFootPrintRight
{
	Decal GreenBloodSplat
	Renderstyle Shaded
	StencilColor "00 44 00"
}
*/

// --------------------------------------------------------------------------
//
//	Other stuff that is player-related
//
// --------------------------------------------------------------------------

Actor StartingWeaponChecker : Weapon
{
	Inventory.PickupMessage ""
	Obituary ""
	tag ""
	AttackSound ""
	+WEAPON.CHEATNOTWEAPON
	States
	{
    Select:
		TNT1 A 0
		TNT1 A 0 A_Raise
		Wait
    Deselect:
		TNT1 A 0
		TNT1 A 0 A_Lower
		Wait
    Fire:
		TNT1 A 0
		Goto Ready
	Ready:
		TNT1 A 3
		TNT1 A 0 A_TakeInventory("Clip2", 999)
		TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist", 1, "Purist")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1047)==2, "Bot")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1047)==1, "DM")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1023)==0, "None")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1023)==1, "KnifeStart")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1023)==2, "PistolStart")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1023)==3, "RifleStart")
	None:
		TNT1 A 0 A_SelectWeapon("Melee_Attacks")
		TNT1 A 0 A_TakeInventory("StartingWeaponChecker", 1)
		Goto Ready
	KnifeStart:
		TNT1 A 0 A_GiveInventory("Knife", 1)
		TNT1 A 0 A_SelectWeapon("Knife")
		TNT1 A 0 A_TakeInventory("StartingWeaponChecker", 1)
		Goto Ready
	PistolStart:
		TNT1 A 0 A_GiveInventory("Beretta", 1)
		TNT1 A 0 A_GiveInventory("9mmMagazine", 20)
		TNT1 A 0 A_SelectWeapon("Beretta")
		TNT1 A 0 A_TakeInventory("StartingWeaponChecker", 1)
		Goto Ready
	RifleStart:
		TNT1 A 0 A_GiveInventory("U_Rifle", 1)
		TNT1 A 0 A_GiveInventory("Clip2", 50)
		TNT1 A 0 A_SelectWeapon("U_Rifle")
		TNT1 A 0 A_TakeInventory("StartingWeaponChecker", 1)
		Goto Ready
	Bot:
		TNT1 A 0 A_GiveInventory("PlayerIsABot", 1)
		TNT1 A 0 A_GiveInventory("RevolverBullets", 30)
		TNT1 A 0 A_GiveInventory("AmmoShell", 30)
		TNT1 A 0 A_GiveInventory("2Shell", 30)
		TNT1 A 0 A_GiveInventory("MinigunAmmo", 100)
		TNT1 A 0 A_GiveInventory("AmmoRocket", 20)
		TNT1 A 0 A_GiveInventory("AmmoCell", 80)
		TNT1 A 0 A_GiveInventory("RailCore", 20)
		TNT1 A 0 A_GiveInventory("Clip2", 100)
	DM:
		TNT1 A 0 A_TakeInventory("JustStartedGame", 1)
		TNT1 A 0 A_TakeInventory("NeverSelectedShotgun", 1)
		Goto RifleStart
	Purist:
		TNT1 A 0 A_GiveInventory("Clip2", 50)
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1047)==1, "PuristDM")
		TNT1 A 0 A_GiveInventory("U_ClassicPistol", 1)
		TNT1 A 0 A_SelectWeapon("U_ClassicPistol")
		TNT1 A 0 A_TakeInventory("StartingWeaponChecker", 1)
		Goto Ready
	PuristDM:
		TNT1 A 0 A_GiveInventory("U_ClassicSMG", 1)
		TNT1 A 0 A_SelectWeapon("U_ClassicSMG")
		TNT1 A 0 A_TakeInventory("StartingWeaponChecker", 1)
		Goto Ready
	}
}