// All monsters need species "Monster" added to them for firewall to work properly

Actor GibDelay : PowerDamage
{
	powerup.duration -2
	damagefactor "normal", 1.0
}

Actor DisplayMenu : Ammo
{
	inventory.maxamount 1
	ammo.backpackamount 0
}

Actor PlayMusic : Ammo
{
	inventory.amount 1
	ammo.backpackamount 0
}

Actor RottClass : Inventory { -INVBAR +INVENTORY.UNDROPPABLE Inventory.MaxAmount 1 }

Actor IPFreeley : PlayerPawn
{
	Player.ScoreIcon "Freeley"
	Player.ForwardMove 1.02, 1.02
	Player.SideMove 1.02, 1.02
	XScale 0.68
	YScale 0.65
	Gravity 0.8125
	Species "Player"
	player.viewheight 48
	Player.Jumpz 9 // Default is 8
	Player.AttackZOffset 22
	Player.SoundClass "freely"
	Player.DisplayName "IPFreeley"
	Player.StartItem "IPFreelyBoost"
	Player.StartItem "RPistol"
	Player.StartItem "RottClass", 1
	Player.StartItem "Pistol", 0
	Player.StartItem "Fist", 0
	Player.StartItem "DisplayMenu"
	Player.StartItem "PlayMusic"
	Player.ColorRange 240, 247
//	+DONTTRANSLATE 

	states
	{
		Spawn:
		IPFS A -1
		Loop
		
		See:
		IPFW ABCD 4 
		Loop
	  
	  Missile:
		IPMS D 3
		IPMS E 3 BRIGHT
		Goto Spawn
		
	  Melee:
		IPFS B 3
		IPFS C 3 BRIGHT
		Goto Spawn
		
	  Death:
		IPFD B 4
		IPFD C 4 A_PlayerScream
		IPFD D 4 A_NoBlocking
		IPFD EFG 4
		IPFD A -1
	   Stop
		Pain:
		IPFS A 6 A_PAIN
		IFPS A 0 A_SpawnItemex ("giblets",0, 0, 32, random(3.0,4.5),random(3.0,4.5),random(-20.0,3.0),random(0.0,360.0), SXF_ABSOLUTEANGLE , 0)
		Goto Spawn
		
		pain.fire:
		IPFS A 0 a_playsound("player/burned")
		IPFS A 6 A_PAIN
		Goto Spawn

	   XDeath:
	   Death.RottExplosive:
		   GUTS A 1 A_PlaySound("Rott/gibbed")
//		   TNT1 A 0 A_Jump(96, 2)
//		   TNT1 A 0 A_GiveToTarget("LudicrousGibs", 1)
		   GUTS AAAAAAAAAAAAAAAAAAAAAAA 0 A_custommissile("wallgib",32.0, 0, random(0,360), CMF_AIMDIRECTION, random(0,45))
		   GUTS DDDDDDDDDDDDDDDDDDDDDDD 0 A_SpawnItemex ("giblets",0, 0, 32, random(3.0,5.0),random(3.0,5.0),random(0.0,10.0),random(0.0,360.0), SXF_ABSOLUTEANGLE , 0)
		   GUTS DDDD 0 A_SpawnItemex ("giblim",0, 0, 32, random(3.0,5.0),random(3.0,5.0),random(3.0,5.0),random(0.0,360.0), SXF_ABSOLUTEANGLE , 0)
		   GUTS DDDD 0 A_SpawnItemex ("gibpin",0, 0, 32, random(3.0,5.0),random(3.0,5.0),random(3.0,5.0),random(0.0,360.0), SXF_ABSOLUTEANGLE , 0)
		   GUTS DD 0 A_SpawnItemex ("gibarm",0, 0, 32, random(3.0,5.0),random(3.0,5.0),random(0.0,10.0),random(0.0,360.0), SXF_ABSOLUTEANGLE , 0)
		   GUTS D 0 A_SkuLLPOP ("Playerhead")
		   GUTS DD 0 A_SpawnItemex ("gibhip",0, 0, 32, random(3.0,5.0),random(3.0,5.0),random(0.0,10.0),random(0.0,360.0), SXF_ABSOLUTEANGLE , 0)
		   GUTS D 0 A_SpawnItemex ("gibhum",0, 0, 32, random(3.0,5.0),random(3.0,5.0), random(0.0,10.0),random(0.0,360.0), SXF_ABSOLUTEANGLE , 0)
		   GUTS DD 0 A_SpawnItemex ("gibleg",0, 0, 32, random(3.0,5.0),random(3.0,5.0),random(0.0,10.0),random(0.0,360.0), SXF_ABSOLUTEANGLE , 0)
		   GUTS DDDD 0 A_SpawnItemex ("giblim",0, 0, 32, random(3.0,5.0),random(3.0,5.0),random(0.0,10.0),random(0.0,360.0), SXF_ABSOLUTEANGLE , 0)
		   GUTS DDDD 0 A_SpawnItemex ("gibpin",0, 0, 32, random(3.0,5.0),random(3.0,5.0),random(0.0,10.0),random(0.0,360.0), SXF_ABSOLUTEANGLE , 0)
		   GUTS DD 0 A_SpawnItemex ("gibribs",0, 0, 32, random(3.0,5.0),random(3.0,5.0),random(0.0,10.0),random(0.0,360.0), SXF_ABSOLUTEANGLE , 0)
		   GUTS CDEFGHIJK 5 A_Fall
		   GUTS L -1
		   Stop
	   Death.RottDisintegrate:
		TNT1 A 0 A_Scream
		TNT1 A 0 A_SpawnItem("RGodModeDeath")
		BLAN A -1
		stop
	   
	   Burn:
	   Death.RottFire:
	    TNT1 A 0 A_Scream
		ske7 A 0 A_playsound("gen/burned") 
			ske7 ABCDEFGHIJKLMNOPQRSTUVWXYZ 2 bright
		skex ABCDEFGHIJKL 2 bright
			skex M 0 A_playsound("gen/skel") 
			skex MNOPQRSTUV 3 bright
		skex V -1 a_fall    
	   Stop	
	   
      CoOpModeOn:
        TNT1 A 0
        TNT1 A 0 A_ChangeFlag("THRUSPECIES",1)
        TNT1 A 0 A_ChangeFlag("DONTBLAST",1)
        CLER A 1
        goto See
      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeDMTaunt1",1)
        goto Death

      Death.DukeExplosive:
        TNT1 A 0 A_JumpIfHealthLower(-5,"DukeGibStart")
        goto Death.DukeDamage

      DukeGibStart:
	CLER H 1
        TNT1 A 0 A_UnsetSolid
        TNT1 A 0 A_PlaySound("duke/enemygib")
        TNT1 A 0 A_SpawnDebris("DukeGibs1")
        TNT1 A 0 A_SpawnDebris("DukeGibs2")
        TNT1 A 0 A_SpawnDebris("DukeGibs3")
        TNT1 A 0 A_SpawnDebris("DukeGibs4")
        TNT1 A 0 A_SpawnDebris("DukeGibs5")
        TNT1 A 0 A_SpawnDebris("DukeGibs6")
        TNT1 A 0 A_Jump(96,"XDeath")
        TNT1 A 0 A_GiveToTarget("DukeDMTaunt1",1)
        goto XDeath		
	}
}

Actor LudicrousGibs : CustomInventory
{
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.AUTOACTIVATE
	inventory.maxamount 1
	+IGNORESKILL
	
	States
	{
		Pickup:
		Use:
			TNT1 A 0 ACS_ExecuteAlways(996, 0)
		Stop
	}
}