actor DarkBusterBoss : BaseMM8BDMWep_CBM
{
dropitem "DarkShieldWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 28
Weapon.SlotNumber 1
Obituary "$OB_DARK4BUSTER"
Inventory.Pickupmessage "no again"
weapon.ammotype "DarkShieldAmmo"
States
{
Spawn:
C_05 L 1
loop
Ready:
DKC4 B 0 ACS_ExecuteAlways(998,0,811)
DKC4 A 0 A_GunFlash
DKC4 A 1 A_WeaponReady
Goto Ready+1
Ready2:
DKC4 A 0
DKC4 A 1 A_WeaponReady
loop
Deselect:
TNT1 A 0 A_TakeInventory("ShieldCheck",999)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
DKC4 A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
DKC4 A 1 A_Raise
Loop
Fire:
DKC4 A 0 A_JumpIfInventory("ShieldCheck",1,"ShieldFire")
DKC4 B 0 A_PlaySoundEx("weapon/napalm","Weapon")
DKC4 B 0 A_GiveInventory("Darkman4Main_CI",1)
DKC4 BCBAA 3
BUST B 0 A_Refire
Goto Ready+1
ShieldFire:
DKC4 A 0 A_PlaySoundEx("weapon/napalm","Weapon")
DKC4 A 0 A_GiveInventory("Darkman4Main2_CI",1)
DKC4 A 0 A_JumpIfHealthLower(19,"Fire7")//11
DKC4 A 0 A_JumpIfHealthLower(37,"Fire6")//26
DKC4 A 0 A_JumpIfHealthLower(55,"Fire5")//41
DKC4 A 0 A_JumpIfHealthLower(73,"Fire4")//56
DKC4 A 0 A_JumpIfHealthLower(91,"Fire3")//71
DKC4 A 0 A_JumpIfHealthLower(109,"Fire2")//86
DKC4 BCBA 4
DKC4 A 5
DKC4 B 0 A_Refire
Goto Ready2+1
Fire2:
DKC4 BCBA 4
DKC4 A 4
DKC4 B 0 A_Refire
Goto Ready2+1
Fire3:
DKC4 BCB 4
DKC4 A 3
DKC4 A 4
DKC4 B 0 A_Refire
Goto Ready2+1
Fire4:
DKC4 B 3
DKC4 CB 4
DKC4 A 3
DKC4 A 4
DKC4 B 0 A_Refire
Goto Ready2+1
Fire5:
DKC4 BC 3
DKC4 B 4
DKC4 A 3
DKC4 A 4
DKC4 B 0 A_Refire
Goto Ready2+1
Fire6:
DKC4 BCBA 3
DKC4 A 4
DKC4 B 0 A_Refire
Goto Ready2+1
Fire7:
DKC4 BCBAA 3
DKC4 B 0 A_Refire
Goto Ready2+1
AltFire:
DKC4 A 0 A_JumpIfInventory("ShieldCheck",1,"ShieldThrow")
DKC4 A 0 A_GiveInventory("ShieldCheck",1)
DKC4 BC 4 
DKC4 A 4
goto Ready2+1
ShieldThrow:
DKC4 A 0 A_TakeInventory("ShieldCheck",999)
DKC4 C 0 A_GiveInventory("Darkman2Alt2_CI",1)
DKC4 BC 4
DKC4 C 16
DKC4 BA 4
Goto Ready+1
NoAmmo:
DKC4 A 0
Goto Ready+1

Flash:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,2)
TNT1 A 1 ACS_ExecuteAlways(648,0,18)//ACS_ExecuteAlways(191,0,12)
loop
TNT1 A 0 A_PlaySoundEX("weapon/shieldhum","SoundSlot7")
TNT1 A 0 A_SpawnItemEx("DarkShieldSegment",55,0,0,momx,momy,momz,0,45,0)//SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION
TNT1 A 1 A_SpawnItemEx("DarkShieldSegment",55,0,0,momx,momy,momz,180,45,0)
TNT1 A 0 ACS_ExecuteAlways(648,0,18)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegment",55,0,0,momx,momy,momz,160,45,0)//2
TNT1 A 1 A_SpawnItemEx("DarkShieldSegment",55,0,0,momx,momy,momz,340,45,0)//20
TNT1 A 0 ACS_ExecuteAlways(648,0,18)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegment2",55,0,0,momx,momy,momz,140,45,0)//4
TNT1 A 1 A_SpawnItemEx("DarkShieldSegment2",55,0,0,momx,momy,momz,320,45,0)//22
TNT1 A 0 ACS_ExecuteAlways(648,0,18)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegment2",55,0,0,momx,momy,momz,120,45,0)//6
TNT1 A 1 A_SpawnItemEx("DarkShieldSegment2",55,0,0,momx,momy,momz,300,45,0)//24
TNT1 A 0 ACS_ExecuteAlways(648,0,18)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegment3",55,0,0,momx,momy,momz,100,45,0)//8
TNT1 A 1 A_SpawnItemEx("DarkShieldSegment3",55,0,0,momx,momy,momz,280,45,0)//26
TNT1 A 0 ACS_ExecuteAlways(648,0,18)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegment3",55,0,0,momx,momy,momz,80,45,0)//10
TNT1 A 1 A_SpawnItemEx("DarkShieldSegment3",55,0,0,momx,momy,momz,260,45,0)//28
TNT1 A 0 ACS_ExecuteAlways(648,0,18)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegment",55,0,0,momx,momy,momz,60,45,0)//12
TNT1 A 1 A_SpawnItemEx("DarkShieldSegment",55,0,0,momx,momy,momz,240,45,0)//30
TNT1 A 0 ACS_ExecuteAlways(648,0,18)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegment",55,0,0,momx,momy,momz,40,45,0)//14
TNT1 A 1 A_SpawnItemEx("DarkShieldSegment",55,0,0,momx,momy,momz,220,45,0)//32
TNT1 A 0 ACS_ExecuteAlways(648,0,18)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegment2",55,0,0,momx,momy,momz,20,45,0)//16
TNT1 A 1 A_SpawnItemEx("DarkShieldSegment2",55,0,0,momx,momy,momz,200,45,0)//34
TNT1 A 0 ACS_ExecuteAlways(648,0,18)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,"Flash")
goto Flash
}
}

actor DarkClassShot
{
Translation "202:202=216:216"
var int user_POWER;
PROJECTILE
+THRUGHOST
+DONTREFLECT
damagetype "DarkShot"
Obituary "$OB_DARK4BUSTER"
Speed 30
Damage (15+user_POWER)
radius 10
height 10
scale 2.5
States
{
Spawn:
DSHO A 3
DSHO A 1 A_ChangeFlag("THRUGHOST", 0)
DSHO A 3 A_JumpIf(user_POWER>=5,"Spawn2")
DSHO A 0 A_SetUserVar("user_POWER",user_POWER+1)
goto spawn+2
Spawn2:
DSHO A 1
DSHO A 1
wait
Death:
TNT1 A 1
stop
}
}

actor DarkClassShotB : DarkClassShot{translation "202:202=205:205"}
actor DarkClassShotR : DarkClassShot{translation "202:202=171:171"}
actor DarkClassShotO : DarkClassShot{translation "202:202=104:104"}
actor DarkClassShotP : DarkClassShot{translation "202:202=229:229"}

actor Dark4SniperShot
{
var int user_POWER;
Translation "202:202=216:216"
PROJECTILE
radius 10
height 10
speed 30
scale 2.5
//damage (10)
Damage(20+user_POWER)
damagetype "DarkShot"
Obituary "$OB_DARK4BUSTER"
States
{
Spawn:
DSHO A 0
DSHO A 0 A_JumpIf(user_POWER>=2,"Spawn2")
DSHO AA 2 A_SpawnItemEx("DarkSniperTrail1",0,0,0,0,0,0,0,1)
DSHO A 0 A_SetUserVar("user_POWER",user_POWER+1)
loop
Spawn2:
DSHO A 0
DSHO A 0 A_JumpIf(user_POWER>=5,"Spawn3")
DSHO AA 2 A_SpawnItemEx("DarkSniperTrail2",0,0,0,0,0,0,0,1)
DSHO A 0 A_SetUserVar("user_POWER",user_POWER+1)
loop
Spawn3:
DSHO A 0
DSHO A 0 A_JumpIf(user_POWER>=7,"Spawn4")
DSHO AA 2 A_SpawnItemEx("DarkSniperTrail3",0,0,0,0,0,0,0,1)
DSHO A 0 A_SetUserVar("user_POWER",user_POWER+1)
loop
Spawn4:
DSHO A 0
DSHO A 0 A_JumpIf(user_POWER>=10,"SpawnDone")
DSHO AA 2 A_SpawnItemEx("DarkSniperTrail4",0,0,0,0,0,0,0,1)
DSHO A 0 A_SetUserVar("user_POWER",user_POWER+1)
loop
SpawnDone:
DSHO A 1 A_SpawnItemEx("DarkSniperTrail5",0,0,0,0,0,0,0,1)
loop
Death:
DSHO A 0
stop
}
}

actor Dark4SniperShotB : Dark4SniperShot{translation "202:202=205:205"}
actor Dark4SniperShotR : Dark4SniperShot{translation "202:202=171:171"}
actor Dark4SniperShotO : Dark4SniperShot{translation "202:202=104:104"}
actor Dark4SniperShotP : Dark4SniperShot{translation "202:202=229:229"}

actor Darkman4Main_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("Dark4SniperShot",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("Dark4SniperShotB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("Dark4SniperShotR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("Dark4SniperShotO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("Dark4SniperShotP",0,0,8,0)
goto Done
}
}

actor Darkman4Main2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DarkClassShot",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DarkClassShotB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DarkClassShotR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DarkClassShotO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DarkClassShotP",0,0,8,0)
goto Done
}
}