actor DustCrusherBoss : BaseMM8BDMWep_CBM
{
dropitem "DustCrusherWepCDropped"
Weapon.AmmoUse 2
Weapon.AmmoGive 0
Weapon.SlotNumber 1
Obituary "$OB_DUSTCRUSHER"
Inventory.Pickupmessage "Power up! Yo momma!"
weapon.ammotype "CrushEmAmmo"
+WEAPON.NOAUTOAIM
inventory.icon "DUSTSI"
States
{
Spawn:
C_04 F 1
loop
Ready:
DUSB A 0 ACS_ExecuteAlways(998,0,785)
Ready2:
DUSB A 1 A_WeaponReady
Goto Ready2
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
TNT1 A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
TNT1 A 1 A_Raise
Loop
Fire:
DUSB A 0 A_JumpIfInventory("CrushEmAmmo",16,"FireJunk")
goto NoAmmoFire
FireJunk:
DUSB A 0 A_PlaySoundEx("weapon/shoomp","Weapon")
DUSB A 0 A_GiveInventory("DustmanMain1_CI",1)
DUSB A 0 A_TakeInventory("CrushEmAmmo",24)//16
DUSB HIH 4
DUSB A 12
DUSB A 0 A_Refire
Goto Ready2
NoAmmoFire:
DUSB A 0 A_PlaySoundEx("Weapon/Mbuster","Weapon")
//DUSB A 0 A_FireCustomMissile("DustShot",0,0,8,-24)
DUSB A 0 A_GiveInventory("DustmanMain3_CI",1)
DUSB BC 3
DUSB A 2
DUSB A 0 A_ReFire
goto Ready2
AltFire:
DUSB D 2
goto AltSuck
AltSuck:
//DUSA D 2 A_FireBullets (20, 20, 1, 0, "DustSucker", 0, 400)
DUSB E 0 A_FireCustomMissile("DustSucker",0,0,0,0)
DUSB E 0 A_FireCustomMissile("DustSuckerGrab",0,0,0,0)
DUSB EEE 0 A_FireCustomMissile("DustSucker2",random(-15,15),0,random(-10,10),random(-10,10),0,random(-10,10))
DUSB E 2
DUSB E 0 A_Refire("AltSuck2")
DUSB D 2
Goto Ready2
AltSuck2:
DUSB E 0 A_FireCustomMissile("DustSucker",0,0,0,0)
DUSB E 0 A_FireCustomMissile("DustSuckerGrab",0,0,0,0)
DUSB FFF 0 A_FireCustomMissile("DustSucker2",random(-15,15),0,random(-10,10),random(-10,10),0,random(-10,10))
DUSB F 2
DUSB F 0 A_Refire("AltSuck3")
DUSB D 2
Goto Ready2
AltSuck3:
DUSB E 0 A_FireCustomMissile("DustSucker",0,0,0,0)
DUSB E 0 A_FireCustomMissile("DustSuckerGrab",0,0,0,0)
DUSB GGG 0 A_FireCustomMissile("DustSucker2",random(-15,15),0,random(-10,10),random(-10,10),0,random(-10,10))
DUSB G 2
DUSB G 0 A_Refire("AltSuck4")
DUSB D 2
Goto Ready2
AltSuck4:
DUSB E 0 A_FireCustomMissile("DustSucker",0,0,0,0)
DUSB E 0 A_FireCustomMissile("DustSuckerGrab",0,0,0,0)
DUSB FFF 0 A_FireCustomMissile("DustSucker2",random(-15,15),0,random(-10,10),random(-10,10),0,random(-10,10))
DUSB F 2
DUSB F 0 A_Refire("AltSuck")
DUSB D 2
Goto Ready2
}
}

actor DustBitterBoss : BaseMM8BDMWep_CBM
{
dropitem "DustCrusherWepCDropped"
Weapon.AmmoUse 2
Weapon.AmmoGive 0
Weapon.SlotNumber 2
Obituary "$OB_DUSTCRUSHER"
Inventory.Pickupmessage "Power up! Yo sucker!"
weapon.ammotype "CrushEmAmmo"
+WEAPON.NOAUTOAIM
inventory.icon "DustIcon"
States
{
Spawn:
C_04 F 1
loop
Ready:
DUSA A 0 ACS_ExecuteAlways(998,0,785)
Ready2:
DUSA A 1 A_WeaponReady
Goto Ready2
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
TNT1 A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
DUSA A 1 A_Raise
Loop

Fire:
DUSA A 0 A_JumpIfInventory("CrushEmAmmo",1,"DustBitShot")
goto NoAmmoFire
DustBitShot:
DUSA A 0 A_PlaySoundEx("weapon/dustbit","Weapon")
DUSA A 0 A_GiveInventory("DustmanMain2_CI",1)
DUSA BC 3
DUSA A 4
DUSA A 0 A_Refire
Goto Ready+1
NoAmmoFire:
DUSA A 0 A_PlaySoundEx("Weapon/Mbuster","Weapon")
//DUSA A 0 A_FireCustomMissile("DustShot",0,0,8,-24)
DUSA A 0 A_GiveInventory("DustmanMain3_CI",1)
DUSA BC 3
DUSA A 2
DUSA A 0 A_ReFire
goto Ready2

AltFire:
DUSA D 2
goto AltSuck
AltSuck:
DUSA E 0 A_FireCustomMissile("DustSucker",0,0,0,0)
DUSA E 0 A_FireCustomMissile("DustSuckerGrab",0,0,0,0)
DUSA EEE 0 A_FireCustomMissile("DustSucker2",random(-15,15),0,random(-10,10),random(-10,10),0,random(-10,10))
DUSA E 2
DUSA E 0 A_Refire("AltSuck2")
DUSA D 2
Goto Ready2
AltSuck2:
DUSA E 0 A_FireCustomMissile("DustSucker",0,0,0,0)
DUSA E 0 A_FireCustomMissile("DustSuckerGrab",0,0,0,0)
DUSA FFF 0 A_FireCustomMissile("DustSucker2",random(-15,15),0,random(-10,10),random(-10,10),0,random(-10,10))
DUSA F 2
DUSA F 0 A_Refire("AltSuck3")
DUSA D 2
Goto Ready2
AltSuck3:
DUSA E 0 A_FireCustomMissile("DustSucker",0,0,0,0)
DUSA E 0 A_FireCustomMissile("DustSuckerGrab",0,0,0,0)
DUSA GGG 0 A_FireCustomMissile("DustSucker2",random(-15,15),0,random(-10,10),random(-10,10),0,random(-10,10))
DUSA G 2
DUSA G 0 A_Refire("AltSuck4")
DUSA D 2
Goto Ready2
AltSuck4:
DUSA E 0 A_FireCustomMissile("DustSucker",0,0,0,0)
DUSA E 0 A_FireCustomMissile("DustSuckerGrab",0,0,0,0)
DUSA FFF 0 A_FireCustomMissile("DustSucker2",random(-15,15),0,random(-10,10),random(-10,10),0,random(-10,10))
DUSA F 2
DUSA F 0 A_Refire("AltSuck")
DUSA D 2
Goto Ready2

}
}

actor CrushEmAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 224//56
+INVENTORY.IGNORESKILL
}

actor DustCrusherDust
{
//Translation "93:93=87:87"
Translation "199:199=87:87", "202:202=4:4", "198:198=87:87", "192:192=4:4"
PROJECTILE
Radius 12
Height 12
scale 2.5
damage (35)
speed 30
damagetype "DustCrusher"
Obituary "$OB_DUSTCRUSHER"
States
{
Spawn:
DUSA T 4
loop
Crash:
XDeath:
TMFX B 0 A_SpawnItemEx("DustBit1DustC",0,0,0,28,0,0,45,1)
TMFX B 0 A_SpawnItemEx("DustBit2DustC",0,0,0,28,0,0,-45,1)
TMFX B 0 A_SpawnItemEx("DustBit3DustC",0,0,0,28,0,0,225,1)
TMFX B 0 A_SpawnItemEx("DustBit4DustC",0,0,0,28,0,0,-225,1)
TMFX BCDE 2
stop
Death:
TMFX B 0 A_SpawnItemEx("DustCrusherDustPickup",0,0,0,random(0,2),0,4,0,1)
TMFX B 0 A_SpawnItemEx("DustBit1Dust",0,0,0,28,0,0,45,1)
TMFX B 0 A_SpawnItemEx("DustBit2Dust",0,0,0,28,0,0,-45,1)
TMFX B 0 A_SpawnItemEx("DustBit3Dust",0,0,0,28,0,0,225,1)
TMFX B 0 A_SpawnItemEx("DustBit4Dust",0,0,0,28,0,0,-225,1)
TMFX BCDE 2
stop
}
}

actor DustCrusherDustB : DustCrusherDust{translation "202:202=205:205", "199:199=74:74", "192:192=205:205", "198:198=74:74"}
actor DustCrusherDustR : DustCrusherDust{translation "202:202=171:171", "199:199=41:41", "192:192=171:171", "198:198=41:41"}
actor DustCrusherDustO : DustCrusherDust{translation "202:202=104:104", "199:199=128:128", "192:192=104:104", "198:198=128:128"}
actor DustCrusherDustP : DustCrusherDust{translation "202:202=229:229", "199:199=232:232", "192:192=229:229", "198:198=232:232"}


actor DustBit1Dust
{
Translation "199:199=87:87", "202:202=4:4"
PROJECTILE
Radius 7
Height 7
scale 2.5
damage (10)
damagetype "DustCrusherBit"
Obituary "$OB_DUSTCRUSHER"
ReactionTime 90
speed 28
states
{
Spawn:
DUSA U 4 
loop
}
}

actor DustBit2Dust : DustBit1Dust
{
states
{
Spawn:
DUSA V 4
loop
}
}

actor DustBit3Dust : DustBit1Dust
{
states
{
Spawn:
DUSA W 4
loop
}
}

actor DustBit4Dust : DustBit1Dust
{
states
{
Spawn:
DUSA X 4
loop
}
}

actor DustBit1DustC : DustBit1Dust
{
Damage (15)
+THRUACTORS
states
{
Spawn:
DUSA U 5
DUSA U 0 A_ChangeFlag("THRUACTORS",0)
DUSA U 4 A_CountDown
goto Spawn+2
}
}

actor DustBit2DustC : DustBit1Dust
{

states
{
Spawn:
DUSA V 5
DUSA V 0 A_ChangeFlag("THRUACTORS",0)
DUSA V 4 A_CountDown
goto Spawn+2
}
}

actor DustBit3DustC : DustBit1Dust
{
states
{
Spawn:
DUSA W 5
DUSA W 0 A_ChangeFlag("THRUACTORS",0)
DUSA W 4 A_CountDown
goto Spawn+2
}
}

actor DustBit4DustC : DustBit1Dust
{
states
{
Spawn:
DUSA X 5
DUSA X 0 A_ChangeFlag("THRUACTORS",0)
DUSA X 4 A_CountDown
goto Spawn+2
}
}


actor DustBitPew : DustBit1Dust
{
-THRUACTORS
Radius 8
Height 8
Translation "199:199=87:87", "202:202=4:4"
damage (15)
speed 34
states
{
Spawn:
DUSA U 0
DUSA U 0 A_Jump(256,"U","V","W","X")
U:
DUSA U 1
loop
V:
DUSA V 1
loop
W:
DUSA W 1
loop
X:
DUSA X 1
loop
Death:
TNT1 A 1
stop
}
}

actor DustBitPewB : DustBitPew{translation "202:202=205:205", "199:199=74:74"}
actor DustBitPewR : DustBitPew{translation "202:202=171:171", "199:199=41:41"}
actor DustBitPewO : DustBitPew{translation "202:202=104:104", "199:199=128:128"}
actor DustBitPewP : DustBitPew{translation "202:202=229:229", "199:199=232:232"}


actor DustShot
{
Translation "204:204=215:215"
PROJECTILE
Radius 6
Height 6
Obituary "$OB_DUSTBUSTER"
damagetype "Buster"
damage (10)
speed 28
scale 2.5
States
{
Spawn:
TNT1 A 1
BASB T 1
goto Spawn+1
}
}

actor DustShotB : DustShot{translation "204:204=205:205"}
actor DustShotR : DustShot{translation "204:204=171:171"}
actor DustShotO : DustShot{translation "204:204=104:104"}
actor DustShotP : DustShot{translation "204:204=229:229"}

actor DustBits : ScrapMetalBase
{
inventory.pickupmessage "Picked up some scrap metal."
States
{
Spawn2:
TNT1 A 1 A_Jump(256,"One","Two","Three","Four")
TNT1 A 1
loop
One:
DUST B 500
stop
Two:
DUST C 500
stop
Three:
DUST D 500
stop
Four:
DUST E 500
stop
}
}

actor DustCrusherDustPickup : ScrapMetalBase
{
States
{
Spawn2:
TNT1 A 1 A_Jump(256,"S_J","S_K","S_L","S_M","S_N","S_O","S_P")
TNT1 A 1
loop
S_J:
DUSA J 500
stop
S_K:
DUSA K 500
stop
S_L:
DUSA L 500
stop
S_M:
DUSA M 500
stop
S_N:
DUSA N 500
stop
S_O:
DUSA O 500
stop
S_P:
DUSA P 500
stop
}
}


/*
actor DustSucker : BulletPuff
{
+PUFFGETSOWNER
+ALWAYSPUFF
States
{
Crash:
TNT1 A 0
TNT1 A 0 ACS_ExecuteAlways(209,0,0,64,-4)
goto Death
Spawn:
Melee:
Death:
XDeath:
TNT1 A 0
TNT1 A 0 A_CustomMissile("VacuumParticle", 0, 0, 0, 0)
TNT1 A 12
stop
}
}
*/

actor DustSucker
{
PROJECTILE
+NOINTERACTION
height 0
radius 0
speed 0
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("CrushEmAmmo",224,"Spawn2")
TNT1 A 0 ACS_ExecuteAlways(C_JAX_SUCKRECODE,0,700,10,2)
TNT1 A 3
stop
Spawn2:
TNT1 A 0 ACS_ExecuteAlways(C_JAX_SUCKRECODE,0,700,10,5)//HSH Weak suck.
TNT1 A 3
stop
}
}

actor DustSuckerGrab : FastProjectile
{
PROJECTILE
+SKYEXPLODE
+DONTBLAST
+DONTSPLASH
+DONTREFLECT
Speed 650//450
Damage (0)
radius 12
height 12
States
{
Spawn:
TNT1 A 1
goto Death
Crash:
XDeath:
Death:
TNT1 A 0 A_Stop
TNT1 A 1 A_SpawnItemEx("DustGrabber")
stop
}
}

actor DustSucker2 : DustSuckerGrab
{
//+CLIENTSIDEONLY
//-PICKUP
States
{
Spawn:
//TNT1 A 0
TNT1 A 1
goto Death
Crash:
XDeath:
Death:
TNT1 A 0 A_Stop
TNT1 A 1 A_CustomMissile("VacuumParticle", 0, 0, 0, 0)
stop
}
}

actor DustGrabber
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+DONTBLAST
+DONTREFLECT
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 A 0
TNT1 A 2 Thing_ChangeTID(0,(ACS_ExecuteWithResult(147,0)+800))
stop
}
}

actor VacuumParticle
{
PROJECTILE
+CLIENTSIDEONLY
+DONTSPLASH
+DONTBLAST
//+NOINTERACTION
-SOLID
+NOGRAVITY
height 5
radius 5
Scale 2.5
Speed 45
States
{
Spawn:
COSS BBBBBBBBBBBBBBBB 1 A_JumpIfCloser(60,"Death")
stop
Death:
TNT1 A 1
stop
}
}


actor DustmanMain1_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DustCrusherDust",0,0,0,8)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DustCrusherDustB",0,0,0,8)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DustCrusherDustR",0,0,0,8)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DustCrusherDustO",0,0,0,8)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DustCrusherDustP",0,0,0,8)
goto Done
}
}


actor DustmanMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DustBitPew",0,1,8,-24)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DustBitPewB",0,1,8,-24)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DustBitPewR",0,1,8,-24)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DustBitPewO",0,1,8,-24)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DustBitPewP",0,1,8,-24)
goto Done
}
}

actor DustmanMain3_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DustShot",random(-3,3),0,8,-24)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DustShotB",random(-3,3),0,8,-24)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DustShotR",random(-3,3),0,8,-24)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DustShotO",random(-3,3),0,8,-24)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DustShotP",random(-3,3),0,8,-24)
goto Done
}
}

