ACTOR YouPlayer : PlayerPawn
{
  Speed 1
  Health 100
  Radius 16
  Height 90
  Mass 100
  PainChance 255
  Player.DisplayName "Marine"
  Player.CrouchSprite "PLYC"
  Player.StartItem "Weapon_Wrench"
  
		Speed 0.5
		Player.ForwardMove 2, 1
		Player.SideMove 2, 1
		Player.JumpZ 8.5
  
		Player.ViewHeight 80
		Player.AttackZOffset 35
		MaxStepHeight 36
		
		+NOSKIN

  States
  {
  
  
  Spawn:
	"####" "#" 0 A_JumpIf(height<50, "SpawnCrouch")
	"####" "#" 1
	"####" "#" 0 A_JumpIfInventory("YouPlayer_HoldingRifle",1,"Rifle.Idle")
	"####" "#" 0 A_JumpIfInventory("YouPlayer_HoldingPistol",1,"Pistol.Idle")
	"####" "##" 3
    MDL3 A 3 A_JumpIf(abs(velx + vely)>1, "See")
	MDL3 B 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL3 B 3 A_JumpIf(abs(velx + vely)>1, "See")
	MDL3 B 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL3 B 3 A_JumpIf(abs(velx + vely)>1, "See")
	MDL3 A 0 A_JumpIf(height<50, "SpawnCrouch")
    Goto Spawn
	
	
	Pistol.Idle:
	MDL2 B 0
    MDL2 B 3 A_JumpIf(abs(velx + vely)>1, "See")
	MDL2 A 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL2 A 3 A_JumpIf(abs(velx + vely)>1, "See")
	MDL2 B 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL2 B 3 A_JumpIf(abs(velx + vely)>1, "See")
	MDL2 B 0 A_JumpIf(height<50, "SpawnCrouch")
    Goto Spawn
	
	Rifle.Idle:
	MDL1 A 0
    MDL1 B 3 A_JumpIf(abs(velx + vely)>1, "See")
	MDL1 C 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL1 C 3 A_JumpIf(abs(velx + vely)>1, "See")
	MDL1 D 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL1 B 3 A_JumpIf(abs(velx + vely)>1, "See")
	MDL1 A 0 A_JumpIf(height<50, "SpawnCrouch")
    Goto Spawn
	
	
	SpawnCrouch:
	MDL3 A 2
	MDL4 A 2
	MDL4 A 0 A_JumpIf(height<50, "LoopCrouch")
	Goto EndCrouch
	LoopCrouch:
	MDL4 A 3
	MDL4 A 0 A_JumpIf(abs(velx + vely)>1, "CrouchSee")
	MDL4 A 0 A_JumpIf(height<50, "LoopCrouch")
	Goto EndCrouch
	EndCrouch:
	MDL4 AA 2 A_JumpIf(height<50, "LoopCrouch")
	MDL4 A 2
	MDL3 A 1 A_JumpIf(height<50, "SpawnCrouch")
	Goto Spawn
	CrouchSee:
	MDL4 ABC 3
	MDL4 D 0 A_JumpIf(height>55, "EndCrouch")
	MDL4 D 0 A_JumpIf(abs(velx + vely)>1, "CrouchSee2")
	MDL4 DA 2
	Goto LoopCrouch
	CrouchSee2:
	MDL4 DEF 3
	MDL4 A 0 A_PlaySound ("player/step",CHAN_5)
	MDL4 A 0 A_JumpIf(height>55, "EndCrouch")
	MDL4 A 0 A_JumpIf(abs(velx + vely)>1, "CrouchSee")
	MDL4 A 2
	Goto LoopCrouch
	
	See:
	"####" "#" 0 A_JumpIfInventory("YouPlayer_HoldingRifle",1,"Rifle.See")
	"####" "#" 0 A_JumpIfInventory("YouPlayer_HoldingPistol",1,"Pistol.See")
	Goto Generic.See
	
	
	//Generic Animation
  Generic.See:
	MDL3 E 0 A_JumpIfInventory("YouPlayer_HoldingRifle",1,"Rifle.See")
	MDL3 E 0 A_JumpIfInventory("YouPlayer_HoldingPistol",1,"Pistol.See")
	MDL3 EFG 4 //A_LogInt( abs(velx + vely) )
	MDL3 H 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL3 H 0 A_JumpIf(abs(velx + vely)>4, "Generic.RunSee2")
	MDL3 H 0 A_JumpIf(abs(velx + vely)>1, "Generic.See2")
	MDL3 HA 2
	Goto Spawn
	
	Generic.See2:
	MDL3 E 0 A_JumpIfInventory("YouPlayer_HoldingRifle",1,"Rifle.See")
	MDL3 E 0 A_JumpIfInventory("YouPlayer_HoldingPistol",1,"Pistol.See")
	MDL3 HIJ 4
	MDL3 E 0 A_PlaySound ("player/step",CHAN_5)
	MDL3 E 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL3 E 0 A_JumpIf(abs(velx + vely)>4, "Generic.RunSee")
	MDL3 E 0 A_JumpIf(abs(velx + vely)>1, "Generic.See")
	MDL3 EA 2
	Goto Spawn
	
	Generic.RunSee:
	MDL3 E 0 A_JumpIfInventory("YouPlayer_HoldingRifle",1,"Rifle.See")
	MDL3 E 0 A_JumpIfInventory("YouPlayer_HoldingPistol",1,"Pistol.See")
	MDL3 KL 3
	MDL3 M 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL3 M 0 A_JumpIf(abs(velx + vely)>4, "Generic.RunSee2")
	MDL3 M 0 A_JumpIf(abs(velx + vely)>1, "Generic.See2")
	MDL3 MA 2
	Goto Spawn
	
	Generic.RunSee2:
	MDL3 E 0 A_JumpIfInventory("YouPlayer_HoldingRifle",1,"Rifle.See")
	MDL3 E 0 A_JumpIfInventory("YouPlayer_HoldingPistol",1,"Pistol.See")
	MDL3 MN 3
	MDL3 K 0 A_PlaySound ("player/step",CHAN_5)
	MDL3 K 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL3 K 0 A_JumpIf(abs(velx + vely)>4, "Generic.RunSee")
	MDL3 K 0 A_JumpIf(abs(velx + vely)>1, "Generic.See")
	MDL3 KA 2
	Goto Spawn
	
	
	//Rifle Animation
  Rifle.See:
	MDL1 E 0 A_JumpIfInventory("YouPlayer_HoldingRifle",1,"Rifle.SeeC")
	Goto See
	Rifle.SeeC:
	MDL1 EFG 4 //A_LogInt( abs(velx + vely) )
	MDL1 H 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL1 H 0 A_JumpIf(abs(velx + vely)>4, "Rifle.RunSee2")
	MDL1 H 0 A_JumpIf(abs(velx + vely)>1, "Rifle.See2")
	MDL1 HA 2
	Goto Spawn
	
	Rifle.See2:
	MDL1 H 0 A_JumpIfInventory("YouPlayer_HoldingRifle",1,"Rifle.See2C")
	Goto See
	Rifle.See2C:
	MDL1 HIJ 4
	MDL1 E 0 A_PlaySound ("player/step",CHAN_5)
	MDL1 E 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL1 E 0 A_JumpIf(abs(velx + vely)>4, "Rifle.RunSee")
	MDL1 E 0 A_JumpIf(abs(velx + vely)>1, "Rifle.See")
	MDL1 EA 2
	Goto Spawn
	
	Rifle.RunSee:
	MDL1 K 0 A_JumpIfInventory("YouPlayer_HoldingRifle",1,"Rifle.RunSeeC")
	Goto See
	Rifle.RunSeeC:
	MDL1 KL 3
	MDL1 M 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL1 M 0 A_JumpIf(abs(velx + vely)>4, "Rifle.RunSee2")
	MDL1 M 0 A_JumpIf(abs(velx + vely)>1, "Rifle.See2")
	MDL1 MA 2
	Goto Spawn
	
	Rifle.RunSee2:
	MDL1 M 0 A_JumpIfInventory("YouPlayer_HoldingRifle",1,"Rifle.RunSee2C")
	Goto See
	Rifle.RunSee2C:
	MDL1 MN 3
	MDL1 K 0 A_PlaySound ("player/step",CHAN_5)
	MDL1 K 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL1 K 0 A_JumpIf(abs(velx + vely)>4, "Rifle.RunSee")
	MDL1 K 0 A_JumpIf(abs(velx + vely)>1, "Rifle.See")
	MDL1 KA 2
	Goto Spawn
	
	
	//Pistol Animation
  Pistol.See:
	MDL2 E 0 A_JumpIfInventory("YouPlayer_HoldingPistol",1,"Pistol.SeeC")
	Goto See
	Pistol.SeeC:
	MDL2 EFG 4 //A_LogInt( abs(velx + vely) )
	MDL2 H 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL2 H 0 A_JumpIf(abs(velx + vely)>4, "Pistol.RunSee2")
	MDL2 H 0 A_JumpIf(abs(velx + vely)>1, "Pistol.See2")
	MDL2 HA 2
	Goto Spawn
	
	Pistol.See2:
	MDL2 H 0 A_JumpIfInventory("YouPlayer_HoldingPistol",1,"Pistol.See2C")
	Goto See
	Pistol.See2C:
	MDL2 HIJ 4
	MDL2 E 0 A_PlaySound ("player/step",CHAN_5)
	MDL2 E 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL2 E 0 A_JumpIf(abs(velx + vely)>4, "Pistol.RunSee")
	MDL2 E 0 A_JumpIf(abs(velx + vely)>1, "Pistol.See")
	MDL2 EA 2
	Goto Spawn
	
	Pistol.RunSee:
	MDL2 K 0 A_JumpIfInventory("YouPlayer_HoldingPistol",1,"Pistol.RunSeeC")
	Goto See
	Pistol.RunSeeC:
	MDL2 KL 3
	MDL2 M 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL2 M 0 A_JumpIf(abs(velx + vely)>4, "Pistol.RunSee2")
	MDL2 M 0 A_JumpIf(abs(velx + vely)>1, "Pistol.See2")
	MDL2 MA 2
	Goto Spawn
	
	Pistol.RunSee2:
	MDL2 M 0 A_JumpIfInventory("YouPlayer_HoldingPistol",1,"Pistol.RunSee2C")
	Goto See
	Pistol.RunSee2C:
	MDL2 MN 3
	MDL2 K 0 A_PlaySound ("player/step",CHAN_5)
	MDL2 K 0 A_JumpIf(height<50, "SpawnCrouch")
	MDL2 K 0 A_JumpIf(abs(velx + vely)>4, "Pistol.RunSee")
	MDL2 K 0 A_JumpIf(abs(velx + vely)>1, "Pistol.See")
	MDL2 KA 2
	Goto Spawn
	
	
	

  Death:
    MDL1 A 0
    MDL8 A 4 A_PlayerScream
    MDL8 B 4 A_NoBlocking
    MDL8 CDEFGHI 4
    MDL8 I 800
	TNT1 A -1
    Stop
  }
}

ACTOR YouPlayer_HoldingRifle : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
}

ACTOR YouPlayer_HoldingPistol : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 1
}