actor YellowEyeBoss : BaseMM8BDMWep_CBM
{
    dropitem "CopyClassUpgradeDropped"
    Tag "$TAGC_1Y"
    Weapon.AmmoUse 60
    Weapon.AmmoGive 180
    Obituary "$OB_YELLOWCLOSE"
    weapon.ammotype "YellowEyeAmmo"
    States
    {
        Spawn:
        C_00 X 1
        loop
        Ready:
		YD_H AA 0
        YD_H A 0 ACS_ExecuteWithResult(998,DYE_YELLOWDEVIL)
		YD_H A 5
		YD_H A 0 A_GiveInventory("TheEye_P")
		goto Ready1
		Delay:
		YD_H A 10 A_WeaponReady(WRF_NOFIRE)
        Ready1:
		YD_H B 0 A_JumpIfInventory("YellowEyeAmmo",60,"Ready2")
		YD_H A 0 A_GiveInventory("YellowEyeAmmo",1)
        YD_H A 1 A_WeaponReady
        loop
        Ready2:
		YD_H A 0 A_GiveInventory("YellowEyeAmmo",1)
        YD_H A 1 A_WeaponReady(WRF_ALLOWRELOAD)
        goto Ready1

        Deselect:
        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
        YD_H A 1 A_Lower
        Loop
        Select:
        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
        YD_H A 1 A_Raise
        Loop

        Fire:
        YD_H B 0
		YD_H B 0 A_JumpIfInventory("YDEyeOutFlag",1,"FireCube")
        YD_H B 1 Offset(12,50)
        YD_H B 1 Offset(24,68)
        goto FireCharge

        FireCharge:
		YD_H B 0 A_JumpIfInventory("BumoCharge",60,"FireEye")
		YD_H B 0 A_PlaySoundEx("fuseman/telestart","weapon")
		YD_H C 0 ACS_NamedExecuteWithResult("BULL_SetState",1)
		YD_H BBBB 0 A_SpawnItemEx("YDEyeShotFX",(24*cos(pitch))+frandom(5,10),frandom(-20,20),(64+(24*sin(-pitch)))+frandom(-20,20),0,0,0,0,1)
        YD_H BBBBB 1 Offset(24,68) A_GiveInventory("BumoCharge",2)
        YD_H B 0 A_Refire("FireCharge")
		FireEnd:
		YD_H B 0 A_PlaySoundEx("weapon/sunstarcooldown","weapon")
		YD_H B 1 Offset(20,62)A_TakeInventory("BumoCharge",6)
        YD_H B 1 Offset(16,56)A_TakeInventory("BumoCharge",6)
        YD_H B 1 Offset(12,50)A_TakeInventory("BumoCharge",6)
        YD_H BB 1 Offset(8,44)A_TakeInventory("BumoCharge",6)
		YD_H BB 1 Offset(4,38)A_TakeInventory("BumoCharge",6)
		YD_H A 0 A_WeaponReady(WRF_NOFIRE)//NOSECONDARY
		FireEndLooper:
        YD_H A 1 A_TakeInventory("BumoCharge",6)
		YD_H B 0 A_JumpIfInventory("BumoCharge",1,"FireEndLooper")
		goto Ready1

		FireEyeCheck:
		YD_H B 0 A_JumpIfInventory("BumoCharge",1,"FireEye")
		goto FireEyeEnd
		

        FireEye:
		YD_H B 0 A_JumpIfInventory("YDEyeOutFlag",1,"FireCube")
        TNT1 A 0 A_GiveInventory("YellowDevilMain_CI")
		STEA M 0 A_GiveInventory("YDEyeShotFlag",1)
		YD_H C 0 ACS_NamedExecuteWithResult("BULL_SetState",1)
        YD_H BBBBBBBBBBBBBBBBBBBB 1 Offset(24,68)A_TakeInventory("BumoCharge", 1)
		YD_H B 0 A_Refire("FireEyeCheck")
		YD_H B 0 A_JumpIfInventory("BumoCharge",1,"FireEnd")
		FireEyeEnd:
        YD_H B 1 Offset(20,62)
        YD_H B 1 Offset(16,56)
        YD_H B 1 Offset(12,50)
        YD_H B 2 Offset(8,44)
        YD_H B 2 Offset(4,38)
        goto Ready1
		
        FireCube:
        YD_H B 1 Offset(12,50)
        YD_H B 1 Offset(18,59)
        YD_H B 1 Offset(24,68)
        YD_H B 1 Offset(30,77)
        YD_H B 1 Offset(36,86)
        YD_H B 1 Offset(42,94)
		TNT1 A 5
		FireCubeLoop:
		TNT1 A 9 A_GiveInventory("YellowDevilMainCube_CI")
		TNT1 A 0 A_JumpIfInventory("YouCanStopNowLol",1,"FireCubeEnd")
		TNT1 A 0 A_Refire("FireCubeLoop")
		FireCubeEnd:
		YD_H B 3 Offset(42,94)
		YD_H B 3 Offset(30,77)
        YD_H B 3 Offset(18,59)
		YD_H A 5 A_WeaponReady(WRF_NOFIRE)//NOSECONDARY
        goto Ready1
        /*TNT1 A 0 A_GiveInventory("YellowDevilMainCube_CI")
		YD_H CD 1 Offset(20,8)
		YD_H E 1 Offset(12,17)
		YD_H E 1 Offset(2,27)
		YD_H E 8 Offset(-10,37)
		YD_H A 1 Offset(-8,36)
		YD_H A 1 Offset(-6,35)
		YD_H A 1 Offset(-4,34)
		YD_H A 1 Offset(-2,33)*/
        Goto Ready1
		
		AltfireCube:
        YD_H B 0 //A_TakeInventory("BumoCharge", 60)
		YD_H A 1 Offset(8,26)
		YD_H C 1 Offset(8,26)
		YD_H C 1 Offset(20,16)
		YD_H C 1 Offset(30,6)
        TNT1 A 0 A_GiveInventory("YellowDevilAltCube_CI")
        YD_H C 2 Offset(30,6) 
        YD_H C 2 Offset(28,8)
        YD_H E 1 Offset(20,8)
		YD_H E 1 Offset(12,17)
        YD_H E 1 Offset(2,27)
        YD_H A 2 Offset(-8,36)
        YD_H A 2 Offset(-4,34)
        Goto Ready1

		Reload:
        YD_H B 0 A_PlaySoundEx("misc/YD_Toss","weapon")
		YD_H B 0 //A_TakeInventory("BumoCharge", 60)
        YD_H B 0 A_GiveInventory("YellowDevilMain2_CI",1)
        YD_H B 8 Offset(24,68)
        YD_H B 1 Offset(20,62)
        YD_H B 1 Offset(16,56)
        YD_H B 1 Offset(12,50)
        YD_H B 2 Offset(8,44)
        YD_H B 2 Offset(4,38)
        goto Delay

        Altfire:
        YD_H B 0 A_JumpIfInventory("YDEyeOutFlag",1,"AltfireCube")
		YD_H A 1 Offset(8,26)
		YD_H C 1 Offset(20,16)
        YD_H C 0 A_Refire("AltfireCharge")
        Altfire2:
		YD_H C 0 A_TakeInventory("BumoCharge", 60)
		YD_H C 0 A_PlaySoundEx("wep/YD_Toss","weapon")
		YD_H C 0 A_GiveInventory("YellowDevilAltFake_CI",1)
		YD_H C 2 Offset(20,8)
		YD_H C 1 Offset(12,17)
		YD_H D 1 Offset(2,27)
		YD_H D 1 Offset(-30,47)
		YD_H D 1 Offset(-50,57)
		YD_H D 1 Offset(-70,67)
		TNT1 A 16
		YD_H A 1 Offset(-16,72)
		YD_H A 1 Offset(-12,54)
		YD_H A 1 Offset(-8,36)
		YD_H A 1 Offset(-6,35)
		YD_H A 1 Offset(-4,34)
		YD_H A 1 Offset(-2,33)
		Goto Ready1

        AltfireCharge:
        YD_H C 0 A_JumpIfInventory("BumoCharge",60,"AltfireCharged")
        YD_H C 1 Offset(29,6) A_GiveInventory("BumoCharge")
        YD_H C 0 A_Refire("AltfireCharge")
        Goto Altfire2

        AltfireCharged:
        YD_H C 0 A_PlaySoundEx("weapon/bumobrr","weapon")
        YD_H CC 1 Offset(30,6)
        YD_H CC 1 Offset(28,8)
        YD_H D 1 A_Refire("AltfireCharged")
		YD_H C 0 ACS_NamedExecuteWithResult("BULL_SetState",2)
		YD_H C 0 A_TakeInventory("BumoEnd",3)
        YD_H C 0 A_PlaySoundEx("wep/YD_Toss","weapon")
		YD_H C 0 SetPlayerProperty(0,1,0)
		YD_H C 0 A_ChangeFlag("PICKUP",0)
        YD_H C 0 A_ChangeFlag("NOTELEPORT",1)
		YD_H C 0 A_GiveInventory("YellowDevilAlt2_CI",1)
        YD_H D 3 Offset(28,8)A_TakeInventory("BumoCharge", 60)
        goto AltfireLoop

        AltfireLoop:
        YD_H E 0 A_SpawnItemEx("YellowDevilChargedDamager",0,0,-8,momx,momy,momz,0,8,0)
//		YD_H E 0 A_SpawnItemEx("YD11GoblinFX",0,0,0,0,0,0,0,1)
        YD_H E 1 Offset(12,17) A_JumpIfInventory("BumoEnd",1,"AltfireEnd")
        loop

        AltfireEnd:
        //YD_H E 0 A_ChangeFlag("INVISIBLE",0)
        YD_H E 0 A_ChangeFlag("PICKUP",1)
        YD_H E 0 A_ChangeFlag("NOTELEPORT",0)
		YD_H C 0 SetPlayerProperty(0,0,0)
        AltfireEnd2:
		YD_H E 0 A_ScaleVelocity(.25)
        YD_H E 1 Offset(12,17)
        YD_H E 1 Offset(2,27)
        YD_H E 18 Offset(-10,37)
        YD_H A 1 Offset(-8,36)
        YD_H A 1 Offset(-6,35)
        YD_H A 1 Offset(-4,34)
        YD_H A 1 Offset(-2,33)
        Goto Ready1
    }
}

actor TheEye_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0
//TNT1 A 5 A_JumpIf(CallACS("IsTargetClient")==1,"Death")
goto Spawn2
Spawn2:
TNT1 A 0 A_SpawnItemEx("TheEyeWarper",24,0,64,0,0,0,0,1)
TNT1 A 1
stop
Death:
TNT1 A 0
stop
}
}

actor TheEyeWarper
{
PROJECTILE
damage (0)
Radius 0
Height 0
scale 2.5
+THRUACTORS
+NOINTERACTION
States
{
Spawn:
TNT1 AA 0
TNT1 A 1
SpawnLoop:
STEA M 0 A_JumpIfInTargetInventory("YDEyeOutFlag",1,"InvisLoop")
STEA M 0 A_JumpIfInTargetInventory("PowerMarkedForDeath",1,"InvisLoop")
STEA M 0 A_JumpIfInTargetInventory("IsDead",1,"Death")
STEA M 0 A_JumpIfInTargetInventory("YDEyeHurtFlag",1,"PainLoop")
STEA M 0 A_JumpIfInTargetInventory("YDEyeShotFlag",1,"FlashLoop")
YDEY A 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
STEA M 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
STEA M 0 A_Warp(AAPTR_Target, 24*cos(pitch), 0, 64 + 24*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
loop
InvisLoop:
TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
TNT1 A 0 A_Warp(AAPTR_Target, 24*cos(pitch), 0, 64 + 24*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
TNT1 A 1 A_JumpIfInTargetInventory("YDEyeOutFlag",1,"InvisLoop")
STEA M 0 A_GiveToTarget("YouCanStopNowLol")
goto Spawn
FlashLoop:
YDEY B 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
STEA M 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
STEA M 0 A_Warp(AAPTR_Target, 24*cos(pitch), 0, 64 + 24*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
YDEY B 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
STEA M 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
STEA M 0 A_Warp(AAPTR_Target, 24*cos(pitch), 0, 64 + 24*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
YDEY B 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
STEA M 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
STEA M 0 A_Warp(AAPTR_Target, 24*cos(pitch), 0, 64 + 24*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
YDEY C 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
STEA M 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
STEA M 0 A_Warp(AAPTR_Target, 24*cos(pitch), 0, 64 + 24*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
YDEY C 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
STEA M 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
STEA M 0 A_Warp(AAPTR_Target, 24*cos(pitch), 0, 64 + 24*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
YDEY C 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
STEA M 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
STEA M 0 A_Warp(AAPTR_Target, 24*cos(pitch), 0, 64 + 24*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
YDEY B 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
STEA M 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
STEA M 0 A_Warp(AAPTR_Target, 24*cos(pitch), 0, 64 + 24*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
YDEY B 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
STEA M 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
STEA M 0 A_Warp(AAPTR_Target, 24*cos(pitch), 0, 64 + 24*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
YDEY B 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
STEA M 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
STEA M 0 A_Warp(AAPTR_Target, 24*cos(pitch), 0, 64 + 24*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
goto SpawnLOOP
PainLoop:
YDEY D 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
STEA M 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
STEA M 0 A_Warp(AAPTR_Target, 24*cos(pitch), 0, 64 + 24*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
STEA M 0 A_JumpIfInTargetInventory("YDEyeHurtFlag",1,"PainLoop")
goto SpawnLOOP
Death:
TNT1 A 0 A_SpawnItemEx("PuchiDieFX",0,0,0,0,0,10,0,1)
TNT1 A 6
stop
}
}

actor YellowEyeAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 180
+INVENTORY.IGNORESKILL
}

actor BumoCharge : Inventory
{
inventory.amount 1
inventory.maxamount 60
}

actor BumoEnd : Inventory
{
inventory.amount 1
inventory.maxamount 3
}

actor PowerMarkedForDeath : BasePowerWeak
{
damagefactor "Normal",1.35
powerup.duration 75
}

actor YellowDevilCProtect : PowerProtection
{
Powerup.Duration 3
DamageFactor "DMGNoHitstun", 1.0
}

actor YDEyeOutFlag : PowerUp
{
Powerup.Duration 10
}

actor YDEyeShotFlag : PowerUp
{
Powerup.Duration 3
}

actor YouCanStopNowLol : PowerUp
{
Powerup.Duration 10
}

actor PetitFlag1 : Powerup
{
Powerup.Duration 3
}
actor PetitFlag2 : PetitFlag1{}
actor PetitFlag3 : PetitFlag1{}

actor YDEyeHurtFlag : PowerUp
{
Powerup.Duration 22
}

actor YD_DevilHornKnockProtect : PowerUp
{
Powerup.Duration 70
}

actor YD_DevilHornProtect : PowerProtection
{
Powerup.Duration 35
DamageFactor "YD_DevilHorn", 0.0
}

actor BumoUseItem : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.icon "YdevIcon"
scale 2.0
inventory.pickupmessage "BUMOBUMOBUMOBUMO"
Tag "$TAGC_1Y2"
+INVBAR
states
{
Spawn:
BUMO A 1
loop
Use:
TNT1 A 0 A_PlaySoundEx("item/ItemUseMM9","SoundSlot6")
TNT1 A 0 A_GiveInventory("ICOMMANDYOUTOSTOP",1)
fail
}
}

actor PetitInv : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("PetitFlag3",1,"KillTheFirst")
TNT1 A 0 A_JumpIfInventory("PetitFlag2",1,"Give3")
TNT1 A 0 A_JumpIfInventory("PetitFlag1",1,"Give2")
Give1:
TNT1 A 0 A_GiveInventory("PetitFlag1",1)
stop
Give2:
TNT1 A 0 A_GiveInventory("PetitFlag2",1)
stop
Give3:
TNT1 A 0 A_GiveInventory("PetitFlag3",1)
stop
KillTheFirst:
TNT1 A 0 A_TakeInventory("PetitFlag1",1)
stop
}
}

actor MarkedForDeathHandler : BasicHelper
{
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 A_GiveToTarget("DevilMarked_CI",1)
        Spawn2:
        TNT1 A 1
		TNT1 A 0 A_JumpIfInTargetInventory("PowerMarkedForDeath",1,"Spawn2")
		TNT1 A 0 A_TakeFromTarget("GuardDownFlag",999)
		stop
	}
}

actor MarkedVisualB
{
scale 2.5
Radius 1
Height 1
-SOLID
+NOGRAVITY
+NOINTERACTION
+DONTBLAST
RenderStyle "Translucent"
Alpha 0.8
States
{
Spawn:
YD_H Q 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists")==0,3)
YD_H Q 1 A_Warp(AAPTR_TARGET,-10,0,100,0,16)
YD_H Q 0 A_JumpIfInTargetInventory("PowerMarkedForDeath",1,"Spawn")
YD_H Q 0
stop
}
}

actor MarkedVisual : MarkedVisualB {translation "192:192=216:216", "198:198=220:220"}
actor MarkedVisualR : MarkedVisualB {translation "192:192=171:171", "198:198=41:41"}
actor MarkedVisualO : MarkedVisualB {translation "192:192=104:104", "198:198=128:128"}
actor MarkedVisualP : MarkedVisualB {translation "192:192=229:229", "198:198=232:232"}

actor YellowDevilCube //If you change this or the actors below, be sure to change the one in BearerClass.txt; they're intended to be fairly similar. Can't just inherit due to DECORATE inclusion order.
{
	Translation "192:192=216:216", "198:198=220:220"
	PROJECTILE
	Obituary "$OB_YELLOWMAIN1"
	damagetype "DMGNoHitstun"
	+SKYEXPLODE
	-NOGRAVITY
	damage (20)
	BounceType Doom
	BounceCount 5
	reactiontime 15
	wallbouncefactor 1.0
	bouncefactor 1.0
	gravity 2
	Radius 36
	Height 18
	speed 25
	scale 2.5
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
		SpawnLOOP:
		YD_H FGHI 3
		loop
		Death:
		TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
		TNT1 A 1 A_Stop
		TNT1 A 0 A_PlaySound("wep/YD_Sploosh","Weapon",0.35)
		TNT1 A 0 A_CheckCeiling("DeathCeiling")
		TNT1 AAAA 0 A_SpawnItemEX("YellowDevilCubeBitFX",0,0,12,8,0,frandom(5,10),frandom(0,36)*10,1)
		stop
		DeathCeiling:
		TNT1 AAAA 0 A_SpawnItemEX("YellowDevilCubeBitFX",0,0,-12,8,0,frandom(-5,-10),frandom(0,36)*10,1)
		stop
		XDeath:
		TNT1 A 0
		stop
	}
}

actor YellowDevilCubeCharged : YellowDevilCube //This inherits solely to have identical physics.
{
	+DONTBLAST
	+DONTREFLECT
	+DONTSPLASH
	+THRUACTORS
	scale 2.5
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 ACS_ExecuteAlways(815,0,200)
		TNT1 A 0 ThrustThingZ(0,14,0,1)
		TNT1 A 0 A_Countdown
		TNT1 A 12 A_JumpIfInTargetInventory("BumoEnd",1,"Death")
		Goto Spawn+3
		Death:
        XDeath:
		TNT1 A 0 A_GiveToTarget("BumoEnd",1)
		TNT1 A 0 A_GiveInventory("ProjectilePortDead",1)
		TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
		TNT1 A 1 A_Stop
		stop
	}
}

actor YellowDevilChargedDamager
{
PROJECTILE
damagetype "DMGNoHitstun"
Obituary "$OB_YELLOWMAIN3"
+DONTSPLASH
+DONTBLAST
//+NOEXPLODEFLOOR
+THRUGHOST
+DONTREFLECT
damage (0)
Radius 45
Height 70
scale 2.5
States
{
Spawn:
TNT1 A 1
stop
Crash:
XDeath:
TNT1 A 1 A_GiveToTarget("BumoEnd",1)
stop
Death:
TNT1 A 1 A_GiveToTarget("BumoEnd",1)
Stop
}
}

actor YellowDevilCubeB : YellowDevilCube{translation "192:192=205:205", "198:198=74:74"}
actor YellowDevilCubeR : YellowDevilCube{translation "192:192=171:171", "198:198=41:41"}
actor YellowDevilCubeO : YellowDevilCube{translation "192:192=104:104", "198:198=128:128"}
actor YellowDevilCubeP : YellowDevilCube{translation "192:192=229:229", "198:198=232:232"}
actor YellowDevilCubeChargedB : YellowDevilCubeCharged{translation "192:192=205:205", "198:198=74:74"}
actor YellowDevilCubeChargedR : YellowDevilCubeCharged{translation "192:192=171:171", "198:198=41:41"}
actor YellowDevilCubeChargedO : YellowDevilCubeCharged{translation "192:192=104:104", "198:198=128:128"}
actor YellowDevilCubeChargedP : YellowDevilCubeCharged{translation "192:192=229:229", "198:198=232:232"}

actor YellowDevilCubeBit
{
PROJECTILE
Obituary "$OB_YELLOWMAIN2"
damagetype "DMGNoHitstun"
+DONTSPLASH
-NOGRAVITY
//+HEXENBOUNCE
damage (4)
Radius 8//25
Height 8//20
speed 14
gravity 1.5
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
YD_H JKL 2
loop
Death:
TNT1 A 0 A_CheckFloor(1)
goto Nah
YD_H JKLJKJKLJK 2 A_SetScale(ScaleX+0.2,ScaleY-0.24)
Nah:
TNT1 A 0
stop
}
}

actor YellowDevilEyeShot
{
	translation "192:192=210:210 ","198:198=41:41"
	PROJECTILE
	+FORCEXYBILLBOARD
	damagetype "YD_DevilRay"
	Obituary "$OB_YELLOWLASER"
	radius 20
	height 22
	damage (20)
	speed 60
	scale 2.5
	States
	{
		Spawn:
		TNT1 AA 0
		TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
		TMFX KJI 1
		SpawnLOOP:
		YDSH ABCB 1 A_SpawnItemEx("YDEyeShotFX",0,frandom(-20,20),frandom(-20,20),0,0,0,0,1)
		YD_H R 0 A_ChangeFlag("THRUSPECIES",FALSE)
		loop
	}
}

actor YellowDevilEyeShotB : YellowDevilEyeShot{translation "192:192=205:205", "198:198=74:74"}
actor YellowDevilEyeShotR : YellowDevilEyeShot{translation "192:192=171:171", "198:198=41:41"}
actor YellowDevilEyeShotO : YellowDevilEyeShot{translation "192:192=104:104", "198:198=128:128"}
actor YellowDevilEyeShotP : YellowDevilEyeShot{translation "192:192=229:229", "198:198=232:232"}

actor PetitDevilEyeShot : YellowDevilEyeShot
{
	+THRUSPECIES
	species "YD_Eye"
	radius 10
	height 10
	damage (3)
	States
	{
		Spawn:
		TNT1 AA 0
		TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
		SpawnLOOP:
		YD_H R 1 A_SpawnItemEx("PDEyeShotFX",0,0,0,0,0,0,0,1)
		YD_H R 0 A_ChangeFlag("THRUSPECIES",FALSE)
		loop
	}
}

actor YDEyeShotSpawnFX
{
scale 2.5
Radius 1
Height 1
-SOLID
+NOGRAVITY
+NOINTERACTION
+DONTBLAST
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
RenderStyle "add"
Alpha .5
States
{
Spawn:
TNT1 AA 0
TNT1 A 1
ACIA MNOPQ 1 A_Stop
stop
}
}

actor YDEyeShotFX : YDEyeShotSpawnFX
{
Alpha 1.0
renderstyle normal
States
{
Spawn:
TNT1 AA 0
TNT1 A 0 A_Jump(256,"Spawn1","Spawn2","Spawn3","Spawn4","Spawn5","Spawn6")
Spawn1:
YDSH DEF 1
stop
Spawn2:
YDSH GHI 1
stop
Spawn3:
YDSH DEFGHI 1
stop
Spawn4:
YDSH GHIDEF 1
stop
Spawn5:
YDSH DEFGHIDEF 1
stop
Spawn6:
YDSH GHIDEFGHI 1
stop
}
}

actor PDEyeShotFX : YDEyeShotSpawnFX
{
Alpha 1.0
States
{
Spawn:
TNT1 AA 0
JOSH A 1 A_FadeOut(0.15)
loop
}
}

actor YD11GoblinFX
{
scale 2.5
Radius 1
Height 1
-SOLID
+NOGRAVITY
+NOINTERACTION
+DONTBLAST
States
{
Spawn:
TNT1 AA 0
YD_H FGHIFGHIFGHI 3
stop
}
}
  
ACTOR PuchiNumberGiver : CustomInventory
{
States
{
Pickup:
TNT1 A 0 
TNT1 A 0 A_JumpIfInTargetInventory("ClashLaunched1",1,1)
goto Bomb1
TNT1 A 0 A_JumpIfInTargetInventory("ClashLaunched2",1,1)
goto Bomb2
TNT1 A 0 A_JumpIfInTargetInventory("ClashLaunched3",1,"Bomb1")
goto Bomb3/*
TNT1 A 0 A_JumpIfInTargetInventory("ClashLaunched3",1,1)
goto Bomb3
TNT1 A 0 A_JumpIfInTargetInventory("ClashLaunched4",1,"Bomb1")
goto Bomb4*/
Bomb1:
TNT1 A 0 A_TakeFromTarget("ClashLaunched2",1)
TNT1 A 0 A_GiveToTarget("ClashLaunched1",1)
TNT1 A 0 A_GiveToTarget("ClashFlag1",1)
TNT1 A 0 A_GiveInventory("ClashLaunched1",1)
Stop
Bomb2:
TNT1 A 0 A_TakeFromTarget("ClashLaunched3",1)
TNT1 A 0 A_GiveToTarget("ClashLaunched2",1)
TNT1 A 0 A_GiveToTarget("ClashFlag2",1)
TNT1 A 0 A_GiveInventory("ClashLaunched2",1)
Stop
Bomb3:
TNT1 A 0 A_TakeFromTarget("ClashLaunched1",1)
TNT1 A 0 A_GiveToTarget("ClashLaunched3",1)
TNT1 A 0 A_GiveToTarget("ClashFlag3",1)
TNT1 A 0 A_GiveInventory("ClashLaunched3",1)
Stop/*
Bomb3:
TNT1 A 0 A_TakeFromTarget("ClashLaunched4",1)
TNT1 A 0 A_GiveToTarget("ClashLaunched3",1)
TNT1 A 0 A_GiveToTarget("ClashFlag3",1)
TNT1 A 0 A_GiveInventory("ClashLaunched3",1)
Stop*/
Bomb4:
TNT1 A 0 A_TakeFromTarget("ClashLaunched1",1)
TNT1 A 0 A_GiveToTarget("ClashLaunched4",1)
TNT1 A 0 A_GiveToTarget("ClashFlag4",1)
TNT1 A 0 A_GiveInventory("ClashLaunched4",1)
Stop
}
}

actor YellowDevilPuchi //If you change this or the actors below, be sure to change the one in BearerClass.txt; they're intended to be fairly similar. Can't just inherit due to DECORATE inclusion order.
{
	Translation "192:192=216:216", "198:198=220:220", "202:202=41:41"
	PROJECTILE
	Obituary "$OB_YELLOWMAIN1"
	damagetype "YD_EyeToss"
	+THRUSPECIES
	+SHOOTABLE
	-NOBLOCKMAP
	+RIPPER
	+SKYEXPLODE
	+HEXENBOUNCE
	+DONTSEEKINVISIBLE//
	+NOTARGETSWITCH
	+SEEKERMISSILE
	+LOOKALLAROUND
	PainChance "YD_ReturnCube", 256
	PainChance "YD_BounceCube", 256
	species "YD_Eye"
	seesound "wep/YD_Sploosh"
	damage (0)
	reactiontime 15
	Radius 25
	Height 40
	speed 60
	scale 2.5
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("PuchiNumberGiver",1)
		TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV CCCC 1 A_ScaleVelocity(.85)
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV CCCC 1 A_ScaleVelocity(.85)
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV CCCC 1 A_ScaleVelocity(.85)
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV BBBB 1 A_ScaleVelocity(.85)
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV BBAA 1 A_ScaleVelocity(.85)
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV AAAA 1 A_ScaleVelocity(.85)
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV AA 2 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		
		PDEV A 0 A_JumpIfInventory("ClashLaunched4",1,"ReadyAimFire4")
		PDEV A 0 A_JumpIfInventory("ClashLaunched3",1,"ReadyAimFire3")
		PDEV A 0 A_JumpIfInventory("ClashLaunched2",1,"ReadyAimFire2")
		PDEV A 0 A_JumpIfInventory("ClashLaunched1",1,"ReadyAimFire1")

		ReadyAimFire1:
		PDEV A 0 A_Stop
		PDEV A 0 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+100,30)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		PDEV A 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV A 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		ICEB Z 0 A_GiveToTarget("CBM_TargetMarker",1)
		PDEV A 0 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV C 0 A_GiveInventory("BumoCharge",1)
		loop
		ReadyAimFire2:
		PDEV A 0 A_Stop
		PDEV A 0 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+100,30)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		PDEV A 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV A 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		ICEB Z 0 A_GiveToTarget("CBM_TargetMarker",1)
		PDEV A 0 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV C 0 A_GiveInventory("BumoCharge",1)
		loop
		ReadyAimFire3: 
		PDEV A 0 A_Stop
		PDEV A 0 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+100,30)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath")
		PDEV A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		PDEV A 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV A 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		ICEB Z 0 A_GiveToTarget("CBM_TargetMarker",1)
		PDEV A 0 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV C 0 A_GiveInventory("BumoCharge",1)
		loop
		ReadyAimFire4:
		PDEV A 0 A_Stop
		PDEV A 0 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+100,30)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		PDEV A 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV A 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		ICEB Z 0 A_GiveToTarget("CBM_TargetMarker",1)
		PDEV A 0 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV C 0 A_GiveInventory("BumoCharge",1)
		loop
		
		
		Shoota:
		PDEV A 0 A_Stop
		PDEV A 0 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV A 1 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+100,30)
		PDEV B 0 A_PlaySoundEx("weapon/lshot","weapon")
		TNT1 A 0 A_SpawnItemEx("YDEyeShotSpawnFX",0,0,30,Cos(pitch)*10,0,-sin(pitch)*10,0,1)
		ShootaShoota:
		PDEV AAAAAAAAA 1 A_SpawnItemEx("PetitDevilEyeShot",0,0,30,Cos(pitch)*45,0,-sin(pitch)*45,0,1)
		TNT1 A 0 A_StopSoundEx("Weapon")
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		Death:
		TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
		PDEV A 5 A_Stop
		PDEV C 0 A_TakeFromTarget("BumoCharge",99)
		TNT1 A 0 A_PlaySound("wep/YD_Sploosh","Weapon",0.35)
		TNT1 A 0 A_SpawnItemEx("YellowDevilCubeBitFX",0,0,12,11,0,10,45,1)
		TNT1 A 0 A_SpawnItemEx("YellowDevilCubeBitFX",0,0,12,11,0,10,135,1)
		TNT1 A 0 A_SpawnItemEx("YellowDevilCubeBitFX",0,0,12,11,0,10,225,1)
		TNT1 A 0 A_SpawnItemEx("YellowDevilCubeBitFX",0,0,12,11,0,10,315,1)
		TNT1 A 0 A_SpawnItemEx("PuchiDieFX",0,0,0,0,0,10,0,1)
		TNT1 A 15
		stop
		Pain.YD_ReturnCube:
		Pain.YD_BounceCube:
		TNT1 A 0 A_SpawnItemEx("YDEyeShotSpawnFX",0,0,32,Cos(pitch)*10,0,-sin(pitch)*10,0,1)
		
		CDRL F 0 A_JumpIfInventory("ClashLaunched4",1,"Pain4")
		CDRL F 0 A_JumpIfInventory("ClashLaunched3",1,"Pain3")
		CDRL F 0 A_JumpIfInventory("ClashLaunched2",1,"Pain2")
		CDRL F 0 A_JumpIfInventory("ClashLaunched1",1,"Pain1")
Pain1:
		TNT1 A 0 A_SpawnItemEx("YellowDevilPuchier1",0,0,0,Cos(pitch)*30,0,-sin(pitch)*30,45,1)
		TNT1 A 0 A_SpawnItemEx("YellowDevilPuchier1",0,0,0,Cos(pitch)*30,0,-sin(pitch)*30,0,1)
		TNT1 A 0 A_SpawnItemEx("YellowDevilPuchier1",0,0,0,Cos(pitch)*30,0,-sin(pitch)*30,-45,1)
		stop
Pain2:
		TNT1 A 0 A_SpawnItemEx("YellowDevilPuchier2",0,0,0,Cos(pitch)*30,0,-sin(pitch)*30,45,1)
		TNT1 A 0 A_SpawnItemEx("YellowDevilPuchier2",0,0,0,Cos(pitch)*30,0,-sin(pitch)*30,0,1)
		TNT1 A 0 A_SpawnItemEx("YellowDevilPuchier2",0,0,0,Cos(pitch)*30,0,-sin(pitch)*30,-45,1)
		stop
Pain3:
		TNT1 A 0 A_SpawnItemEx("YellowDevilPuchier3",0,0,0,Cos(pitch)*30,0,-sin(pitch)*30,45,1)
		TNT1 A 0 A_SpawnItemEx("YellowDevilPuchier3",0,0,0,Cos(pitch)*30,0,-sin(pitch)*30,0,1)
		TNT1 A 0 A_SpawnItemEx("YellowDevilPuchier3",0,0,0,Cos(pitch)*30,0,-sin(pitch)*30,-45,1)
		stop
Pain4:
		TNT1 A 0 A_SpawnItemEx("YellowDevilPuchier4",0,0,0,Cos(pitch)*30,0,-sin(pitch)*30,45,1)
		TNT1 A 0 A_SpawnItemEx("YellowDevilPuchier4",0,0,0,Cos(pitch)*30,0,-sin(pitch)*30,0,1)
		TNT1 A 0 A_SpawnItemEx("YellowDevilPuchier4",0,0,0,Cos(pitch)*30,0,-sin(pitch)*30,-45,1)
		stop
	}
}

actor YellowDevilPuchiB : YellowDevilPuchi{translation "192:192=205:205", "198:198=74:74"}
actor YellowDevilPuchiR : YellowDevilPuchi{translation "192:192=171:171", "198:198=41:41"}
actor YellowDevilPuchiO : YellowDevilPuchi{translation "192:192=104:104", "198:198=128:128"}
actor YellowDevilPuchiP : YellowDevilPuchi{translation "192:192=229:229", "198:198=232:232"}

actor YellowDevilPuchier : YellowDevilPuchi
{
	Radius 8
	Height 16
	-SHOOTABLE
	+NOBLOCKMAP
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV FFFF 1 A_ScaleVelocity(.85)
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV FFFF 1 A_ScaleVelocity(.85)
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV FFFF 1 A_ScaleVelocity(.85)
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV EEEE 1 A_ScaleVelocity(.85)
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV EEDD 1 A_ScaleVelocity(.85)
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV DDDD 1 A_ScaleVelocity(.85)
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV DD 2 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		ReadyAimFire:
		PDEV D 0 A_Stop
		PDEV D 0 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+100,15)
		PDEV A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		PDEV DD 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV D 0 A_GiveToTarget("CBM_TargetMarker",1)
		PDEV D 0 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV D 0 A_GiveInventory("BumoCharge",1)
		loop
		Shoota:
		PDEV A 0 A_Stop
		PDEV A 0 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV D 1 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+100,20)
		TNT1 A 0 A_SpawnItemEx("YDEyeShotSpawnFX",0,0,20,Cos(pitch)*10,0,-sin(pitch)*10,0,1)
		PDEV B 0 A_PlaySoundEx("misc/minilaser","weapon")
		PDEV DDD 1 A_SpawnItemEx("PetitDevilEyeShot",0,0,30,Cos(pitch)*45,0,-sin(pitch)*45,0,1)
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		
		XDeath:
		Death:
		TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
		PDEV A 0 A_Stop
		PDEV C 0 A_TakeFromTarget("BumoCharge",99)
		TNT1 A 0 A_PlaySound("wep/YD_Sploosh","Weapon",0.15)
		TNT1 A 0 A_SpawnItemEx("YellowDevilCubeBitFX",0,0,0,0,0,10,0,1)
		TNT1 A 15
		stop
	}
}


actor YellowDevilPuchier1 : YellowDevilPuchier
{ 
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
		//TNT1 A 0 A_GiveInventory("ClashLaunched1",1)
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85) 
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		ReadyAimFire:
		PDEV D 0 A_Stop
		PDEV D 0 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+100,20)
		PDEV A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag1",1,"XDeath") 
		PDEV D 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV D 0 A_GiveToTarget("CBM_TargetMarker",1)
		PDEV D 0 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV D 0 A_GiveInventory("BumoCharge",1)
		loop 
	}
}


actor YellowDevilPuchier2 : YellowDevilPuchier
{ 
	States
	{
		Spawn: 
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
		//TNT1 A 0 A_GiveInventory("ClashLaunched1",1)
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85) 
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		ReadyAimFire:
		PDEV D 0 A_Stop
		PDEV D 0 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+100,20)
		PDEV A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag2",1,"XDeath") 
		PDEV D 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV D 0 A_GiveToTarget("CBM_TargetMarker",1)
		PDEV D 0 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV D 0 A_GiveInventory("BumoCharge",1)
		loop 
	}
}


actor YellowDevilPuchier3 : YellowDevilPuchier
{ 
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
		//TNT1 A 0 A_GiveInventory("ClashLaunched1",1)
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85) 
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		ReadyAimFire:
		PDEV D 0 A_Stop
		PDEV D 0 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+100,20)
		PDEV A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag3",1,"XDeath") 
		PDEV D 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV D 0 A_GiveToTarget("CBM_TargetMarker",1)
		PDEV D 0 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV D 0 A_GiveInventory("BumoCharge",1)
		loop 
	}
}


actor YellowDevilPuchier4 : YellowDevilPuchier
{ 
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
		//TNT1 A 0 A_GiveInventory("ClashLaunched1",1)
		PDEV A 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV F 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV E 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85) 
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 1 A_ScaleVelocity(.85)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 1 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		ReadyAimFire:
		PDEV D 0 A_Stop
		PDEV D 0 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+100,20)
		PDEV A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV A 0 A_JumpIfInTargetInventory("ClashFlag4",1,"XDeath") 
		PDEV D 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"Shoota")
		PDEV D 0 A_GiveToTarget("YDEyeOutFlag")
		PDEV D 0 A_GiveToTarget("CBM_TargetMarker",1)
		PDEV D 0 ACS_NamedExecuteWithResult("CCBM_PitchAngleSetter",1)
		PDEV D 0 A_GiveInventory("BumoCharge",1)
		loop 
	}
}

actor PuchiDieFX
{
+MISSILE
+THRUACTORS
+CLIENTSIDEONLY
Gravity 1.25
Radius 2
Height 2
scale 2.5
States
{
Spawn:
PDEV D 1
loop
}
}

  Actor YellowDevilMM1Cube
  {
	Translation "192:192=216:216", "198:198=220:220"
    Projectile
    damagetype "YD_ReturnCube"
    Obituary "$OB_YELLOWMM1"
    Damage (10)
    Radius 20
    Height 12
    Speed 0.1
	//gravity 0.75
    Scale 1
    States
    {
        Spawn:
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
		YDBL EFG 3 A_SetScale(scalex+0.5)
		TNT1 A 0 A_ScaleVelocity(400)
		SpawnL:
        YDBL GHIJ 3
		Loop
       
        Death:
        YDBL GFE 3
stop

    }
  }
  
actor YellowDevilMM1CubeB : YellowDevilMM1Cube{translation "192:192=205:205", "198:198=74:74"}
actor YellowDevilMM1CubeR : YellowDevilMM1Cube{translation "192:192=171:171", "198:198=41:41"}
actor YellowDevilMM1CubeO : YellowDevilMM1Cube{translation "192:192=104:104", "198:198=128:128"}
actor YellowDevilMM1CubeP : YellowDevilMM1Cube{translation "192:192=229:229", "198:198=232:232"}

  Actor YellowDevilMK2Cube
  {
	Translation "192:192=216:216", "198:198=220:220"
    Projectile
    damagetype "YD_BounceCube"
    Obituary "$OB_YELLOWMM3"
    -NOGRAVITY
    +BOUNCEONFLOORS
	+STEPMISSILE
    BounceFactor 1.0
    BounceCount 10
	BounceSound "weapon/minitubthumpin"
    Damage (10)
    Radius 20
    Height 12
    Speed 35
	//gravity 0.75
    Scale 2.5
    States
    {
        Spawn:
		TNT1 A 0
		TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
		SpawnL:
        YDBL ABCD 3
		Loop
       
        Death:
        TNT1 A 0 //A_SpawnItemEx("NitroWheelBouncer",0,0,10,40,0,0,0,1)
        goto DeathFX
		
DeathFX:
TNT1 A 2
stop

    }
  }
  
actor YellowDevilMK2CubeB : YellowDevilMK2Cube{translation "192:192=205:205", "198:198=74:74"}
actor YellowDevilMK2CubeR : YellowDevilMK2Cube{translation "192:192=171:171", "198:198=41:41"}
actor YellowDevilMK2CubeO : YellowDevilMK2Cube{translation "192:192=104:104", "198:198=128:128"}
actor YellowDevilMK2CubeP : YellowDevilMK2Cube{translation "192:192=229:229", "198:198=232:232"}

actor BumoBarrage_Spawner
{
Translation "192:192=216:216", "198:198=220:220"
PROJECTILE
Damagetype "DMGNoHitstun"
Obituary "$OB_LASERTRIDENT"
+SKYEXPLODE
+EXPLODEONWATER
+DONTBLAST
+DONTREFLECT
+THRUACTORS
+NOINTERACTION
//ReactionTime 6
Damage (0)
radius 2
height 2
Speed 0.01
Scale 2.5
States
{
Spawn:
TNT1 AA 0
YD_B A 6 A_SpawnItemEx("BumoBarrageSelf",0,0,0,momx*4000,momy*4000,momz*4000,0,41)
YD_B AAA 0 A_SpawnItemEX("YellowDevilCubeBitFX",frandom(-48,48),0,frandom(-28,128),0,0,frandom(-1,1),frandom(0,36)*10,1)
YD_H C 0 A_PlaySound("wep/YD_Toss",1)
YD_B A 6 A_SpawnItemEx("BumoBarrage",0,0,0,momx*4000,momy*4000,momz*4000,0,41)
YD_B AAA 0 A_SpawnItemEX("YellowDevilCubeBitFX",frandom(-48,48),0,frandom(-28,128),0,0,frandom(-1,1),frandom(0,36)*10,1)
YD_H C 0 A_PlaySound("wep/YD_Toss",2)
YD_B A 6 A_SpawnItemEx("BumoBarrage",0,0,0,momx*4000,momy*4000,momz*4000,0,41)
YD_B AAA 0 A_SpawnItemEX("YellowDevilCubeBitFX",frandom(-48,48),0,frandom(-28,128),0,0,frandom(-1,1),frandom(0,36)*10,1)
YD_H C 0 A_PlaySound("wep/YD_Toss",3)
YD_B A 6 A_SpawnItemEx("BumoBarrage",0,0,0,momx*4000,momy*4000,momz*4000,0,41)
YD_B AAA 0 A_SpawnItemEX("YellowDevilCubeBitFX",frandom(-48,48),0,frandom(-28,128),0,0,frandom(-1,1),frandom(0,36)*10,1)
YD_H C 0 A_PlaySound("wep/YD_Toss",4)
YD_B A 6 A_SpawnItemEx("BumoBarrage",0,0,0,momx*4000,momy*4000,momz*4000,0,41)
YD_B AAA 0 A_SpawnItemEX("YellowDevilCubeBitFX",frandom(-48,48),0,frandom(-28,128),0,0,frandom(-1,1),frandom(0,36)*10,1)
YD_H C 0 A_PlaySound("wep/YD_Toss",5)
YD_B A 6 A_SpawnItemEx("BumoBarrage",0,0,0,momx*4000,momy*4000,momz*4000,0,41)
YD_B AAA 0 A_SpawnItemEX("YellowDevilCubeBitFX",frandom(-48,48),0,frandom(-28,128),0,0,frandom(-1,1),frandom(0,36)*10,1)
YD_H C 0 A_PlaySound("wep/YD_Toss",6)
YD_B AAAAAAAAAAAA 0 A_SpawnItemEX("YellowDevilCubeBitFX",frandom(-48,48),0,frandom(-28,128),0,0,frandom(-1,1),frandom(0,36)*10,1)
stop
}
}

actor BumoBarrage_SpawnerB : BumoBarrage_Spawner{translation "192:192=205:205", "198:198=74:74"}
actor BumoBarrage_SpawnerR : BumoBarrage_Spawner{translation "192:192=171:171", "198:198=41:41"}
actor BumoBarrage_SpawnerO : BumoBarrage_Spawner{translation "192:192=104:104", "198:198=128:128"}
actor BumoBarrage_SpawnerP : BumoBarrage_Spawner{translation "192:192=229:229", "198:198=232:232"}

Actor BumoBarrage
{
Translation "192:192=216:216", "198:198=220:220"
Projectile
damagetype "DMGNoHitstun"
Obituary "$OB_YELLOWROACH"
-NOGRAVITY
Damage (0)
radius 16
Height 52
Speed 40
gravity 2
Scale 2.5
States
{
Spawn:
TNT1 AA 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
Rising:
YD_B K 1 A_JumpIf(momz<1,"Falling")
YD_B K 0 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"DevilHornable")
loop
Falling:
YD_B L 1 A_JumpIf(momz>1,"Rising")
YD_B L 0 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"DevilHornable")
loop

DevilHornable:
TNT1 A 0 A_ChangeFlag(THRUACTORS,TRUE)
TNT1 A 0 A_ChangeFlag(NOEXPLODEFLOOR,TRUE)
TNT1 A 0 A_CheckFloor("HornTime")
TNT1 A 0 A_Changevelocity(0,0,-30,CVF_REPLACE)
DevilHornFall:
YD_H FFFGGGHHHIII 1 A_CheckFloor("HornTime")
loop

Horntime:
TNT1 A 0 A_Stop
TNT1 A 0 A_ChangeFlag(THRUACTORS,TRUE)
YD_B MMNN 1 A_SetScale(ScaleX-0.25,ScaleY-0.5)
X_8B ABC 0 A_SpawnItemEX("YellowDevilCubeBitFX",random(-5,5),0,4,3,0,frandom(6,12),frandom(0,36)*10,1)
TNT1 A 0 A_SpawnItemEX("DevilHornDamager",0,0,0,0,0,60,0,1)
TNT1 A 0 A_SetScale(2.5)
YD_H C 0 A_PlaySoundEx("weapon/DevilHornRise","Body")
YDSP ABCCCCCCCCCCC 1
YDSP CBA 1 A_SetScale(ScaleX-1.25,ScaleX-1.25)
stop
Death:
TNT1 A 0 A_Explode(15,128,0,0,64)
YD_H E 0 A_PlaySoundEx("wep/YD_Sploosh","Body")
YD_H E 0 A_CheckCeiling("DeathFXCeiling")
X_8B ABCDEF 1 A_SpawnItemEX("YellowDevilCubeBitFX",0,0,12,8,0,frandom(5,10),frandom(0,36)*10,1)
stop
DeathFXCeiling:
X_8B ABCDEF 1 A_SpawnItemEX("YellowDevilCubeBitFX",0,0,12,8,0,frandom(-5,-10),frandom(0,36)*10,1)
stop
}
}

Actor BumoBarrageThrown : BumoBarrage
{
States
{
Death:
YD_H E 0 A_CheckFloor("RoachHASLEGSOHSHIT")
TNT1 A 0 A_Explode(15,128,0,0,64)
YD_H E 0 A_PlaySoundEx("wep/YD_Sploosh","Body")
YD_H E 0 A_CheckCeiling("DeathFXCeiling")
X_8B ABCDEF 1 A_SpawnItemEX("YellowDevilCubeBitFX",0,0,12,8,0,frandom(5,10),frandom(0,36)*10,1)
stop
DeathFXCeiling:
X_8B ABCDEF 1 A_SpawnItemEX("YellowDevilCubeBitFX",0,0,12,8,0,frandom(-5,-10),frandom(0,36)*10,1)
stop
RoachHASLEGSOHSHIT:
TNT1 A 0 A_SpawnItemEX("BumoBarrageWalk",0,0,0,20,0,0,0,1)
stop
}
}

Actor BumoBarrageWalk : BumoBarrage
{
+NOEXPLODEFLOOR
+STEPMISSILE
States
{
Spawn:
TNT1 AA 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
YD_B OOOOO 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"DevilHornable")
TNT1 A 0 A_JumpIf(z-floorz>0,"Falling")
Y_AG C 0 A_JumpIf(momx * momx + momy * momy + momz* momz <= 5, "Death")
YD_B PPPPP 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"DevilHornable")
TNT1 A 0 A_JumpIf(z-floorz>0,"Falling")
Y_AG C 0 A_JumpIf(momx * momx + momy * momy + momz* momz <= 5, "Death")
YD_B QQQQQ 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"DevilHornable")
TNT1 A 0 A_JumpIf(z-floorz>0,"Falling")
Y_AG C 0 A_JumpIf(momx * momx + momy * momy + momz* momz <= 5, "Death")
YD_B RRRRR 1 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"DevilHornable")
TNT1 A 0 A_JumpIf(z-floorz>0,"Falling")
Y_AG C 0 A_JumpIf(momx * momx + momy * momy + momz* momz <= 5, "Death")
loop
Rising:
YD_B K 1 A_JumpIf(momz<1,"Falling")
YD_H E 0 A_CheckFloor("SpawnLOOP")
YD_B K 0 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"DevilHornable")
loop
Falling:
YD_B L 1 A_JumpIf(momz>1,"Rising")
YD_H E 0 A_CheckFloor("SpawnLOOP")
YD_B L 0 A_JumpIfInTargetInventory("ICOMMANDYOUTOSTOP",1,"DevilHornable")
loop
Death:
TNT1 A 0 A_Explode(15,128,0,0,64)
YD_H E 0 A_PlaySoundEx("wep/YD_Sploosh","Body")
YD_H E 0 A_CheckCeiling("DeathFXCeiling")
X_8B ABCDEF 1 A_SpawnItemEX("YellowDevilCubeBitFX",0,0,12,8,0,frandom(5,10),frandom(0,36)*10,1)
stop
}
}

actor DevilHornDamager
{
PROJECTILE
damagetype "YD_DevilHorn"
Obituary "$OB_YELLOWHORN"
+DONTSPLASH
+DONTBLAST
+NOINTERACTION
//+NOEXPLODEFLOOR
+THRUGHOST
+DONTREFLECT
damage (0)
Radius 45
Height 2
scale 2.5
States
{
Spawn:
TNT1 AA 0
TNT1 AAAA 1 A_Explode(18,48,0,0,48)
stop
Crash:
XDeath:
TNT1 A 1
stop
Death:
TNT1 A 1
Stop
}
}

actor YellowDevilCubeBitFX : YellowDevilCubeBit
{
damage (0)
+CLIENTSIDEONLY
+THRUACTORS
}

  Actor BumoBarrageSelf : BumoBarrage
  {
    States
    {
Spawn:
TNT1 AA 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
TNT1 A 0 ACS_ExecuteAlways(815,0,200)
Rising:
TNT1 A 1 A_JumpIf(momz<1,"Falling")
loop
Falling:
TNT1 A 1 A_JumpIf(momz>1,"Rising")
loop
}
}

actor BumoBarrageThrownB : BumoBarrageThrown{translation "192:192=205:205", "198:198=74:74"}
actor BumoBarrageThrownR : BumoBarrageThrown{translation "192:192=171:171", "198:198=41:41"}
actor BumoBarrageThrownO : BumoBarrageThrown{translation "192:192=104:104", "198:198=128:128"}
actor BumoBarrageThrownP : BumoBarrageThrown{translation "192:192=229:229", "198:198=232:232"}

actor YellowDevilMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("YellowDevilEyeShot",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("YellowDevilEyeShotB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("YellowDevilEyeShotR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("YellowDevilEyeShotO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("YellowDevilEyeShotP",0,0,0,0)
goto Done
Done:
YD_H B 0 A_PlaySoundEx("misc/minilaser","weapon")
stop
}
}

actor YellowDevilMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("YellowDevilPuchi",0,0,0,-16)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("YellowDevilPuchiB",0,0,0,-16)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("YellowDevilPuchiR",0,0,0,-16)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("YellowDevilPuchiO",0,0,0,-16)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("YellowDevilPuchiP",0,0,0,-16)
goto Done
Done:
YD_H C 0 A_TakeInventory("YellowEyeAmmo",60)
stop
}
}

actor YellowDevilMainCube_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("YellowDevilMM1Cube",0,0,frandom(-16,16),frandom(-16,16),0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("YellowDevilMM1CubeB",0,0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("YellowDevilMM1CubeR",0,0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("YellowDevilMM1CubeO",0,0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("YellowDevilMM1CubeP",0,0,0,0,0)
goto Done
Done:
YD_H C 0 A_PlaySoundEx("wep/YD_Toss","weapon")
stop
}
}

actor YellowDevilAltCube_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("YellowDevilMK2Cube",0,0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("YellowDevilMK2CubeB",0,0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("YellowDevilMK2CubeR",0,0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("YellowDevilMK2CubeO",0,0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("YellowDevilMK2CubeP",0,0,0,0,0)
goto Done
Done:
YD_H C 0 A_PlaySoundEx("wep/YD_Toss","weapon")
stop
}
}

actor YellowDevilAlt2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("BumoBarrage_Spawner",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("BumoBarrage_SpawnerB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("BumoBarrage_SpawnerR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("BumoBarrage_SpawnerO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("BumoBarrage_SpawnerP",0,0,0,0)
goto Done
}
}

actor YellowDevilAltFake_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("BumoBarrageThrown",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("BumoBarrageThrownB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("BumoBarrageThrownR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("BumoBarrageThrownO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("BumoBarrageThrownP",0,0,0,0)
goto Done
}
}

actor DevilMarked_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_SpawnItemEx("MarkedVisual",0,0,100,momx,momy,momz,0,9)
stop
FireB:
TNT1 A 0 A_SpawnItemEx("MarkedVisualB",0,0,100,momx,momy,momz,0,9)
stop
FireR:
TNT1 A 0 A_SpawnItemEx("MarkedVisualR",0,0,100,momx,momy,momz,0,9)
stop
FireO:
TNT1 A 0 A_SpawnItemEx("MarkedVisualO",0,0,100,momx,momy,momz,0,9)
stop
FireP:
TNT1 A 0 A_SpawnItemEx("MarkedVisualP",0,0,100,momx,momy,momz,0,9)
stop
}
}
