

// Snout puff ---------------------------------------------------------------

class SnoutPuff : Actor
{
	Default
	{
		+NOBLOCKMAP
		+NOGRAVITY
		Renderstyle "Translucent";
		Alpha 0.6;
	}

	States
	{
	Spawn:
		FHFX STUVW 4;
		Stop;
	}
}


// Snout --------------------------------------------------------------------

class Snout : Weapon
{
	Default
	{
		Weapon.SelectionOrder 10000;
		+WEAPON.DONTBOB
		+WEAPON.MELEEWEAPON
		Weapon.Kickback 150;
		Weapon.YAdjust 10;
	}

	action native void A_SnoutAttack ();

	States
	{
	Ready:
		WPIG A 1 A_WeaponReady;
		Loop;
	Deselect:
		WPIG A 1 A_Lower;
		Loop;
	Select:
		WPIG A 1 A_Raise;
	Fire:
		WPIG A 4 A_SnoutAttack;
		WPIG B 8 A_SnoutAttack;
		Goto Ready;
	Grunt:
		WPIG B 8;
		Goto Ready;
	}
}


// Pig player ---------------------------------------------------------------

class PigPlayer : PlayerPawn native
{
	Default
	{
		Health 30;
		ReactionTime 0;
		PainChance 255;
		Radius 16;
		Height 24;
		Speed 1;
		+WINDTHRUST
		+NOSKIN
		-PICKUP
		PainSound "PigPain";
		DeathSound "PigDeath";
		Player.JumpZ 6;
		Player.Viewheight 28;
		Player.ForwardMove 0.96, 0.98;
		Player.SideMove 0.95833333, 0.975;
		Player.SpawnClass "Pig";
		Player.SoundClass "Pig";
		Player.DisplayName "Pig";
		Player.MorphWeapon "Snout";
	}

	States
	{
	Spawn:
		PIGY A -1;
		Stop;
	See:
		PIGY ABCD 3;
		Loop;
	Pain:
		PIGY D 4 A_PigPain;
		Goto Spawn;
	Melee:
	Missile:
		PIGY A 12;
		Goto Spawn;
	Death:
		PIGY E 4 A_Scream;
		PIGY F 3 A_NoBlocking;
		PIGY G 4;
		PIGY H 3;
		PIGY IJK 4;
		PIGY L -1;
		Stop;
	Ice:
		PIGY M 5 A_FreezeDeath;
		PIGY M 1 A_FreezeDeathChunks;
		Wait;
	}
}
	


// Pig (non-player) ---------------------------------------------------------

class Pig : MorphedMonster
{
	Default
	{
		Health 25;
		Painchance 128;
		Speed 10;
		Radius 12;
		Height 22;
		Mass 60;
		Monster;
		-COUNTKILL
		+WINDTHRUST
		+DONTMORPH
		SeeSound "PigActive1";
		PainSound "PigPain";
		DeathSound "PigDeath";
		ActiveSound "PigActive1";
	}

	States
	{
	Spawn:
		PIGY B 10 A_Look;
		Loop;
	See:
		PIGY ABCD 3 A_Chase;
		Loop;
	Pain:
		PIGY D 4 A_PigPain;
		Goto See;
	Melee:
		PIGY A 5 A_FaceTarget;
		PIGY A 10 A_CustomMeleeAttack(random[PigAttack](2,3), "PigAttack");
		Goto See;
	Death:
		PIGY E 4 A_Scream;
		PIGY F 3 A_NoBlocking;
		PIGY G 4 A_QueueCorpse;
		PIGY H 3;
		PIGY IJK 4;
		PIGY L -1;
		Stop;
	Ice:
		PIGY M 5 A_FreezeDeath;
		PIGY M 1 A_FreezeDeathChunks;
		Wait;
	}
}

