//===========================================================================
//
//  Marine
//
//===========================================================================

ACTOR "Marine" : PlayerPawn Replaces rDoomPlayer
{
	Speed 1
	Health 100
	Radius 16
	Height 56
	Mass 100
	PainChance 255
	Player.DisplayName "Marine"
	Player.SoundClass "Roman"
	Player.StartItem "ClassID", 1
	Player.StartItem "MarineToken", 1
	Player.StartItem "BlueArmor2b", 1
	Player.StartItem "HealthBackpack", 100
	Player.StartItem "AssaultRifle2", 1
	Player.StartItem "Clip2", 150
	Player.StartItem "StartChainsaw", 1
	Player.StartItem "Chainsaw2", 1
    DamageFactor "Player", 0
	Player.ForwardMove 1.02
	Player.SideMove 1.02
    Player.WeaponSlot 1, "Chainsaw2"
    Player.WeaponSlot 2, "AssaultRifle2"
	Player.ColorRange 112, 127
	States
	{
	Spawn:
		MARI A -1
		Loop
	See:
		MARI ABCD 5
		Loop
	Missile:
		MARI E 12
		Goto Spawn
	Melee:
		MARI F 5 Bright
		Goto Missile
	Pain:
		MARI G 4
		MARI G 4 A_Pain
		Goto Spawn
	Pain.WhirlWind:
        MARI G 2
        TNT1 A 0 ThrustThing(random(0, 360)*256/360, random(-8, 8), 0, 0)
        TNT1 A 0 ThrustThingZ(0, random(0, 4), random(0,1), 1)
        TNT1 A 0 A_SetAngle(angle+random(-1,1)*random(25,50))
        TNT1 A 0 A_SetBlend("10 10 10", 0.6, 24)
        Goto Pain
    Pain.DeathKnightStun:
        MARI G 2
        TNT1 A 0 acs_executealways(616, 0, 30)
        Goto Pain
    Pain.DeathKnightAssassinate:
        MARI G 2
	    TNT1 A 0 acs_terminate(616, 0)
	    TNT1 A 0 a_takeinventory("armor", 250)
        TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)
	    TNT1 A 0 SetPlayerProperty(0, 1, 4)
	    TNT1 A 0 A_SetGravity(0.75)
        TNT1 A 0 ThrustThingZ(0, 64, 0, 0)
	    TNT1 A 0 a_spawnitemex("deathknightassassinate2")
        Goto Pain
    Pain.DeathKnightDash:
        MARI G 2
	    TNT1 A 0 acs_terminate(616, 0)
	    TNT1 A 0 acs_execute(618, 0)
        Goto Pain
	Pain.SlimeSpit:
		MARI G 0  
		MARI G 0 A_JumpIfInventory("SlimerSpitWindow",1,"Pain") 		
		MARI G 0 A_GiveInventory("SlimerSpitWindow",1)
        MARI G 1 ACS_NamedExecuteAlways("Slimer Spit",0)
        Goto Pain	
	Death:
		MARI H 10 A_PlayerScream
		TNT1 H 0 A_spawnitemex("AmmoPack2", random(-10, 10), random(-10, 10), random(20, 44), random(1,2), random(1,2), random(3,4), 0, 0, 255)
		TNT1 H 0 a_spawnitemex("AmmoPack2", random(-10, 10), random(-10, 10), random(20, 44), random(1,2), random(1,2), random(3,4), 0, 0, 55)
		TNT1 H 0 a_spawnitemex("StimPack2C", random(-10, 10), random(-10, 10), random(20, 44), random(1,2), random(1,2), random(3,4), 0, 0, 255)
		TNT1 H 0 a_spawnitemex("StimPack2C", random(-10, 10), random(-10, 10), random(20, 44), random(1,2), random(1,2), random(3,4), 0, 0, 200)
		TNT1 H 0 a_spawnitemex("StimPack2C", random(-10, 10), random(-10, 10), random(20, 44), random(1,2), random(1,2), random(3,4), 0, 0, 150)
		TNT1 H 0 a_spawnitemex("StimPack2C", random(-10, 10), random(-10, 10), random(20, 44), random(1,2), random(1,2), random(3,4), 0, 0, 100)
		MARI I 10 
		MARI J 10 A_NoBlocking
		MARI KLM 10
		MARI N -1
		Stop
    XDeath:
	    MARI G 2 A_XScream
	    TNT1 AAAAAA 0 A_CustomMissile("CeilBloodLauncherLong",0,0,Random(0,360),2,Random(50,130))
		TNT1 AA 0 A_CustomMissile("XDeath1",32,0,Random(0,360),2,Random(0,160))
		TNT1 AA 0 A_CustomMissile("XDeath2",32,0,Random(0,360),2,Random(0,160))
		TNT1 AA 0 A_CustomMissile("XDeath3",32,0,Random(0,360),2,Random(0,160))
		TNT1 AA 0 A_CustomMissile("XDeath4",32,0,Random(0,360),2,Random(0,160))
		TNT1 AA 0 A_CustomMissile("XDeath5",32,0,Random(0,360),2,Random(0,160))
		TNT1 AAAAAAAA 0 A_CustomMissile("SuperWallRedBlood",40,0,Random(0,360),2,Random(-5,5))
		TNT1 AAAA 0 A_CustomMissile("Instestin",32,0,Random(0,360),2,Random(0,160))
	    TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("Brutal_FlyingBlood",35,0,Random(0,360),2,Random(0,160))
	    TNT1 AAAAAA 0 A_CustomMissile("SuperGoreSpawner",32,0,Random(0,360),2,Random(50,130))
		TNT1 A -1
		Stop
    }
}

ACTOR SlimerSpitWindow : Inventory
{
    Inventory.Amount 0
    Inventory.MaxAmount 1
}