actor DocBusterWoodHeatWep : BaseMM8BDMWep
{
tag "$TAGC_DOC1"
dropitem "CarryDropped"
Weapon.AmmoUse 50
Weapon.AmmoGive 3
Weapon.SlotNumber 1
Obituary "$OB_DOCBUSTER"
weapon.ammotype "DocVirusAmmo"
inventory.icon "DOC1Icon"
States
{
Spawn:
C_03 I 1
loop
Ready:
DOCR A 0 ACS_ExecuteAlways(998,0,DYE_DOCROBOT)
DOCR A 0 A_GunFlash
Ready1:
DOCR A 1 A_WeaponReady(WRF_ALLOWRELOAD)
goto Ready1
Deselect:
DOCR A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"Ready1")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
DOCR A 1 A_Lower
Loop
Select:
DOCR A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"Ready1")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
DOCR A 1 A_Raise
Loop
Fire:
DOCR A 0 A_PlaySoundEx("weapon/pshot","weapon")
DOCR A 0 A_GiveInventory("DocRobotMain_CI",1)
DOCR B 1 Offset(5, 41)
DOCR B 1 Offset(9, 45)
DOCR B 1 Offset(10, 46)
DOCR B 1 Offset(9, 45)
DOCR B 1 Offset(5, 41)
DOCR B 1 Offset(2, 37)
DOCR A 8 A_WeaponReady(14)
DOCR A 0 A_Refire
Goto Ready1
Altfire:
TNT1 A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"AltfireNoAmmoConsumption")
DOCR A 0 A_JumpIfInventory("DocVirusAmmo",50,"AltfireShot")
Goto NoAmmo
AltfireShot:
DOCR A 0 A_PlaySoundEx("weapon/DocHeatShot","weapon")
DOCR A 0 A_GunFlash("NoFlash")
DOCR A 0 A_GiveInventory("DocRobotHeatAlt_CI",1)
DOCR B 1 Offset(50,80)
DOCR B 1 Offset(60,90)
DOCR A 1 Offset(63,93)
DOCR A 1 Offset(65,95)
DOCR A 1 Offset(66,96)
DOCR A 1 Offset(65,95)
DOCR A 1 Offset(63,93)
DOCR A 1 Offset(60,90)
DOCR A 1 Offset(50,80)
DOCR A 1 Offset(40,70)
DOCR A 1 Offset(30,60)
DOCR A 1 Offset(20,50)
DOCR A 1 Offset(10,40)
DOCR A 20 A_WeaponReady(14)
DOCR A 0 A_GunFlash
DOCR A 0 A_Refire
//DOCR DADADADAD 1
Goto Ready1
AltfireNoAmmoConsumption:
DOCR A 0 A_PlaySoundEx("weapon/DocHeatShot","weapon")
DOCR A 0 A_GiveInventory("DocRobotHeatAltNoTake_CI",1)
DOCR B 1 Offset(50,80)
DOCR B 1 Offset(60,90)
DOCR A 1 Offset(63,93)
DOCR A 1 Offset(65,95)
DOCR A 1 Offset(66,96)
DOCR A 1 Offset(65,95)
DOCR A 1 Offset(63,93)
DOCR A 1 Offset(60,90)
DOCR A 1 Offset(50,80)
DOCR A 1 Offset(40,70)
DOCR A 1 Offset(30,60)
DOCR A 1 Offset(20,50)
DOCR A 1 Offset(10,40)
DOCR A 20 A_WeaponReady(14)
DOCR A 0 A_Refire
//DOCR DADADADAD 1
Goto Ready1
Reload:
TNT1 A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"PowerKILL")
DOCR A 0 A_JumpIfInventory("DocVirusAmmo",350,"ReloadCHUNGUSTIMEAHAHAHAHAHA")
Goto NoAmmo
ReloadCHUNGUSTIMEAHAHAHAHAHA:
DOCR A 0 A_PlaySoundEx("weapon/DocWoodStartup","body") 
STAC A 0 A_GiveInventory("GuardUpFlag",1)
TNT1 A 0 A_GiveInventory("DocWoodSlowdown",1)
TNT1 A 0 A_GiveInventory("DocWoodArmor",1)
DOCR DADADADADADADADADADADADADADADADADADADADADADADADADADADADA 1 //A_TakeInventory("DocVirusAmmo",350)
DOCR A 0 A_GunFlash("WoodFlash")
goto Ready1
PowerKILL:
TNT1 A 0  A_TakeInventory("DocVirusAmmo",175)
goto Ready1
NoAmmo:
DOCR A 1
Goto Ready1
Flash:
TNT1 A 1 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_GiveInventory("DocVirusAmmo",1)
goto Flash
WoodFlash:
DOCR A 0 A_JumpIfInventory("DocVirusAmmo",1,1)
goto WoodFlashEnd
STAC A 0 A_GiveInventory("GuardUpFlag",1)
TNT1 A 0 A_TakeInventory("DocVirusAmmo",1)
TNT1 A 0 A_GiveInventory("DocWoodSlowdown",1)
TNT1 A 0 A_GiveInventory("DocWoodArmor",1)
TNT1 A 0 A_SpawnItemEx("DocWoodBodyFX1",random(-96,96),0,random(-96,96),0,0,0,frandom(0,359),1,96)
TNT1 A 0 A_SpawnItemEx("DocWoodBodyFX2",random(-96,96),0,random(-96,96),0,0,0,frandom(0,359),1,96)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlashBuffer")
TNT1 A 1 A_GiveInventory("DocBodyBoostFlag",1)
goto WoodFlash
WoodFlashEnd:
STAC A 0 A_PlaySoundEx("fuseman/hvend","body") 
STAC A 0 A_TakeInventory("GuardUpFlag",1)
TNT1 A 0 A_TakeInventory("DocVirusAmmo",1)
TNT1 A 0 A_TakeInventory("DocWoodSlowdown",1)
TNT1 A 0 A_TakeInventory("DocWoodArmor",1)
TNT1 A 0 A_TakeInventory("DocBodyBoostFlag",1)
goto Flash
NoFlashBuffer:
STAC A 0 A_PlaySoundEx("fuseman/hvend","body") 
STAC A 0 A_TakeInventory("GuardUpFlag",1)
TNT1 A 0 A_TakeInventory("DocVirusAmmo",1)
TNT1 A 0 A_TakeInventory("DocWoodSlowdown",1)
TNT1 A 0 A_TakeInventory("DocWoodArmor",1)
TNT1 A 0 A_TakeInventory("DocBodyBoostFlag",1)
goto NoFlash
}
}

actor DocBusterBubbleFlashWep : BaseMM8BDMWep
{
tag "$TAGC_DOC2"
dropitem "CarryDropped"
Weapon.AmmoUse 5
Weapon.AmmoGive 3
Weapon.SlotNumber 1
Obituary "$OB_DOCBUSTER"
weapon.ammotype "DocVirusAmmo"
inventory.icon "DOC2Icon"
States
{
Spawn:
C_03 I 1
loop
Ready:
DOCR A 0 ACS_ExecuteAlways(998,0,DYE_DOCROBOT)
DOCR A 0 A_GunFlash
Ready1:
DOCR A 1 A_WeaponReady(WRF_ALLOWRELOAD)
goto Ready1
Deselect:
DOCR A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"Ready1")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
DOCR A 1 A_Lower
Loop
Select:
DOCR A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"Ready1")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
DOCR A 1 A_Raise
Loop
Fire:
DOCR A 0 A_PlaySoundEx("weapon/pshot","weapon")
DOCR A 0 A_GiveInventory("DocRobotMain_CI",1)
DOCR B 1 Offset(5, 41)
DOCR B 1 Offset(9, 45)
DOCR B 1 Offset(10, 46)
DOCR B 1 Offset(9, 45)
DOCR B 1 Offset(5, 41)
DOCR B 1 Offset(2, 37)
DOCR A 8 A_WeaponReady(14)
DOCR A 0 A_Refire
Goto Ready1
Altfire:
TNT1 A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"AltfireNoAmmoConsumption")
DOCR A 0 A_JumpIfInventory("DocVirusAmmo",50,"AltfireShot")
Goto NoAmmo
AltfireShot:
DOCR A 0 ACS_NamedExecute("BULL_SetState",0,1)
DOCR A 0 A_GunFlash("NoFlash")
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAlt_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAlt2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAlt2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAlt2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAlt2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAlt2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAlt2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAlt2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAlt2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAlt2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
//DOCR A 0 A_Refire("Altfire")
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,1)
DOCR A 8 A_WeaponReady(14)
DOCR A 7 A_WeaponReady(14)
DOCR A 0 A_GunFlash
Goto Ready1
AltfireNoAmmoConsumption:
DOCR A 0 ACS_NamedExecute("BULL_SetState",0,1)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
DOCR A 0 A_PlaySoundEx("weapon/rbuster","Weapon")
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR A 0 A_GiveInventory("DocRobotFlashAltNoTake2_CI",1)
DOCR B 1 Offset(4,30)
DOCR B 1 Offset(1,33)
DOCR B 1 Offset(4,36)
//DOCR A 0 A_Refire("Altfire")
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,1)
DOCR A 8 A_WeaponReady(14)
DOCR A 7 A_WeaponReady(14)
Goto Ready1
Reload:
TNT1 A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"PowerKILL")
DOCR A 0 A_JumpIfInventory("DocVirusAmmo",350,"ReloadCHUNGUSTIMEAHAHAHAHAHA")
Goto Ready1
ReloadCHUNGUSTIMEAHAHAHAHAHA:
DOCR A 0 A_PlaySoundEx("weapon/DocBubbleStartup","body") 
TNT1 A 0 A_GiveInventory("CanAirJump",1)
TNT1 A 0 A_GiveInventory("CanAirJumpStack",99)
DOCR DADADADADADADADADADADADADADADADADADADADADADADADADADADADA 1 //A_TakeInventory("DocVirusAmmo",350)
DOCR A 0 A_GunFlash("BubbleFlashGive")
goto Ready1
PowerKILL:
TNT1 A 0  A_TakeInventory("DocVirusAmmo",175)
goto Ready1
NoAmmo:
DOCR A 1 
Goto Ready1
Flash:
TNT1 A 0 A_JumpIfInventory("DocShotAmmoStalling",1,1)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_GiveInventory("DocVirusAmmo",1)
goto Flash
BubbleFlashGive:
TNT1 A 0 A_GiveInventory("CanAirJump",1)
TNT1 A 0 A_GiveInventory("CanAirJumpStack",99)
BubbleFlash:
DOCR A 0 A_JumpIfInventory("DocVirusAmmo",1,1)
goto BubbleFlashEnd
//STAC A 0 A_GiveInventory("GuardUpFlag",1)
TNT1 A 0 A_TakeInventory("DocVirusAmmo",1)
//TNT1 A 0 A_GiveInventory("CanAirJump",1)
//TNT1 A 0 A_GiveInventory("CanAirJumpStack",2)
//TNT1 A 0 A_GiveInventory("DocWoodArmor",1)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlashBuffer")
TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BubProjFX",random(-96,96),0,random(-96,96),0,0,0,frandom(0,359),1,96)
TNT1 A 1 A_GiveInventory("DocBodyBoostFlag",1)
goto BubbleFlash
BubbleFlashEnd:
STAC A 0 A_PlaySoundEx("fuseman/hvend","body") 
//STAC A 0 A_TakeInventory("GuardUpFlag",1)
TNT1 A 0 A_TakeInventory("DocVirusAmmo",1)
TNT1 A 1 A_TakeInventory("CanAirJump",1)
TNT1 A 0 A_TakeInventory("CanAirJumpStack",2)
//TNT1 A 0 A_TakeInventory("DocWoodArmor",1)
TNT1 A 0 A_TakeInventory("DocBodyBoostFlag",1)
goto Flash
NoFlashBuffer:
STAC A 0 A_PlaySoundEx("fuseman/hvend","body") 
//STAC A 0 A_TakeInventory("GuardUpFlag",1)
TNT1 A 0 A_TakeInventory("DocVirusAmmo",1)
TNT1 A 1 A_TakeInventory("CanAirJump",1)
TNT1 A 0 A_TakeInventory("CanAirJumpStack",2)
//TNT1 A 0 A_TakeInventory("DocWoodArmor",1)
TNT1 A 0 A_TakeInventory("DocBodyBoostFlag",1)
goto NoFlash
}
}
actor DocBusterAirCrashWep : BaseMM8BDMWep
{
tag "$TAGC_DOC3"
dropitem "CarryDropped"
Weapon.AmmoUse 50
Weapon.AmmoGive 3
Weapon.SlotNumber 1
Obituary "$OB_DOCBUSTER"
weapon.ammotype "DocVirusAmmo"
inventory.icon "DOC3Icon"
States
{
Spawn:
C_03 I 1
loop
Ready:
DOCR A 0 ACS_ExecuteAlways(998,0,DYE_DOCROBOT)
DOCR A 0 A_GunFlash
Ready1:
DOCR A 1 A_WeaponReady(WRF_ALLOWRELOAD)
goto Ready1
Deselect:
DOCR A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"Ready1")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
DOCR A 1 A_Lower
Loop
Select:
DOCR A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"Ready1")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
DOCR A 1 A_Raise
Loop
Fire:
DOCR A 0 A_PlaySoundEx("weapon/pshot","weapon")
DOCR A 0 A_GiveInventory("DocRobotMain_CI",1)
DOCR B 1 Offset(5, 41)
DOCR B 1 Offset(9, 45)
DOCR B 1 Offset(10, 46)
DOCR B 1 Offset(9, 45)
DOCR B 1 Offset(5, 41)
DOCR B 1 Offset(2, 37)
DOCR A 8 A_WeaponReady(14)
DOCR A 0 A_Refire
Goto Ready1
Altfire:
TNT1 A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"AltfireNoAmmoConsumption")
DOCR A 0 A_JumpIfInventory("DocVirusAmmo",50,"AltfireShot")
DOCR A 1
Goto NoAmmo
AltfireShot:
DOCR A 0 A_GunFlash("NoFlash")
DOCR A 0 A_PlaySoundEx("weapon/DocCrashShot","weapon")
DOCR A 0 A_GiveInventory("DocRobotCrashAlt_CI",1)
DOCR B 0 A_ChangeVelocity(-12.5*cos(pitch),0,-12.5*-sin(pitch),3)
DOCR B 1 Offset(50,80)
DOCR B 1 Offset(60,90)
DOCR A 1 Offset(63,93)
DOCR A 1 Offset(65,95)
DOCR A 1 Offset(66,96)
DOCR A 1 Offset(65,95)
DOCR A 1 Offset(63,93)
DOCR A 1 Offset(60,90)
DOCR A 1 Offset(50,80)
DOCR A 1 Offset(40,70)
DOCR A 1 Offset(30,60)
DOCR A 1 Offset(20,50)
DOCR A 1 Offset(10,40)
//DOCR A 0 A_Refire("Altfire")
DOCR A 35 A_WeaponReady(14)
DOCR A 0 A_GunFlash
//DOCR DADADADAD 1
Goto Ready1
AltfireNoAmmoConsumption:
DOCR A 0 //A_GunFlash("NoFlash")
DOCR A 0 A_PlaySoundEx("weapon/DocCrashShot","weapon")
DOCR A 0 A_GiveInventory("DocRobotCrashAltNoTake_CI",1)
DOCR B 0 A_ChangeVelocity(-12.5*cos(pitch),0,-12.5*-sin(pitch),3)
DOCR B 1 Offset(50,80)
DOCR B 1 Offset(60,90)
DOCR A 1 Offset(63,93)
DOCR A 1 Offset(65,95)
DOCR A 1 Offset(66,96)
DOCR A 1 Offset(65,95)
DOCR A 1 Offset(63,93)
DOCR A 1 Offset(60,90)
DOCR A 1 Offset(50,80)
DOCR A 1 Offset(40,70)
DOCR A 1 Offset(30,60)
DOCR A 1 Offset(20,50)
DOCR A 1 Offset(10,40)
//DOCR A 0 A_Refire("Altfire")
DOCR A 35 A_WeaponReady(14)
DOCR A 0 //A_GunFlash
//DOCR DADADADAD 1
Goto Ready1
Reload:
TNT1 A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"PowerKILL")
DOCR A 0 A_JumpIfInventory("DocVirusAmmo",350,"ReloadCHUNGUSTIMEAHAHAHAHAHA")
Goto NoAmmo
ReloadCHUNGUSTIMEAHAHAHAHAHA:
DOCR A 0 A_PlaySoundEx("weapon/DocAirStartup","body")
TNT1 A 0 A_GiveInventory("PowerHighJump",1) 
DOCR DADADADADADADADADADADADADADADADADADADADADADADADADADADADA 1 //A_TakeInventory("DocVirusAmmo",350)
DOCR A 0 A_GunFlash("AirFlash")
goto Ready1
PowerKILL:
TNT1 A 0  A_TakeInventory("DocVirusAmmo",175)
goto Ready1
NoAmmo:
DOCR A 1
Goto Ready1
Flash:
TNT1 A 1 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_GiveInventory("DocVirusAmmo",1)
goto Flash
AirFlash:
DOCR A 0 A_JumpIfInventory("DocVirusAmmo",1,1)
goto AirFlashEnd
TNT1 A 0 A_TakeInventory("DocVirusAmmo",1)
TNT1 A 0 A_GiveInventory("DocAirJumpthrust",1) //A_GiveInventory("PowerHighJump",1)
TNT1 A 0 A_SpawnItemEX("DocAirBodyFX",random(32,64),0,random(8,64),0,0,frandom(0.1,1.1),random(90,270),1)
TNT1 A 0 //A_CheckFloor("P_Ground")
TNT1 A 0 //A_GiveInventory("DocAirControl",1)//ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,2,1)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlashBuffer")
TNT1 A 1 A_GiveInventory("DocBodyBoostFlag",1)
goto AirFlash
AirFlashEnd:
STAC A 0 A_PlaySoundEx("fuseman/hvend","body") 
TNT1 A 0 A_TakeInventory("DocVirusAmmo",1)
TNT1 A 0 A_TakeInventory("PowerHighJump",1)
TNT1 A 0 A_TakeInventory("DocAirControl",1)//ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)
TNT1 A 0 A_TakeInventory("DocBodyBoostFlag",1)
goto Flash
P_Ground:
TNT1 A 0 A_TakeInventory("DocAirControl",1)//ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlashBuffer")
TNT1 A 1 A_GiveInventory("DocBodyBoostFlag",1)
goto AirFlash
NoFlashBuffer:
STAC A 0 A_PlaySoundEx("fuseman/hvend","body") 
TNT1 A 0 A_TakeInventory("DocVirusAmmo",1)
TNT1 A 0 A_TakeInventory("PowerHighJump",1)
TNT1 A 0 A_TakeInventory("DocAirControl",1)//ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)
TNT1 A 0 A_TakeInventory("DocBodyBoostFlag",1)
goto NoFlash
}
}

actor DocBusterQuickMetalWep : BaseMM8BDMWep
{
tag "$TAGC_DOC4"
dropitem "CarryDropped"
Weapon.AmmoUse 50
Weapon.AmmoGive 3
Weapon.SlotNumber 1
Obituary "$OB_DOCBUSTER"
weapon.ammotype "DocVirusAmmo"
inventory.icon "DOC4Icon"
States
{
Spawn:
C_03 I 1
loop
Ready:
DOCR A 0 ACS_ExecuteAlways(998,0,DYE_DOCROBOT)
DOCR A 0 A_GunFlash
Ready1:
DOCR A 1 A_WeaponReady(WRF_ALLOWRELOAD)
goto Ready1
Deselect:
DOCR A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"Ready1")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
DOCR A 1 A_Lower
Loop
Select:
DOCR A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"Ready1")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
DOCR A 1 A_Raise
Loop
Fire:
DOCR A 0 A_PlaySoundEx("weapon/pshot","weapon")
DOCR A 0 A_GiveInventory("DocRobotMain_CI",1)
DOCR B 1 Offset(5, 41)
DOCR B 1 Offset(9, 45)
DOCR B 1 Offset(10, 46)
DOCR B 1 Offset(9, 45)
DOCR B 1 Offset(5, 41)
DOCR B 1 Offset(2, 37)
DOCR A 8 A_WeaponReady(14)
DOCR A 0 A_Refire
Goto Ready1
Altfire:
TNT1 A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"AltfireNoAmmoConsumption")
DOCR A 0 A_JumpIfInventory("DocVirusAmmo",50,"AltfireShot")
Goto NoAmmo
AltfireShot:
DOCR A 0 ACS_NamedExecute("BULL_SetState",0,2)
DOCR A 0 A_GunFlash("NoFlash")
DOCR A 0 A_PlaySoundEx("weapon/DocMetalCharge","weapon")
DOCR A 1 Offset(0,16)
DOCR A 1 Offset(0,32)
DOCR A 1 Offset(0,48)
DOCR A 1 Offset(0,64)
DOCR A 1 Offset(0,80)
DOCR A 0 Offset(0,96)
TNT1 A 1
DOCR A 1 Offset(-245,52)
DOCR A 1 Offset(-185,52)
DOCR A 1 Offset(-165,42)
DOCR B 1 Offset(-125,32)
DOCR A 0 A_PlaySoundEx("weapon/DocMetalShot","weapon")
DOCR B 1 Offset(-85,22)A_GiveInventory("DocRobotMetalAlt_CI",1)
DOCR B 1 Offset(-45,12)
DOCR B 1 Offset(-5,2)
DOCR B 1 Offset(35,12)
DOCR B 1 Offset(75,22)
DOCR B 1 OffSet(115,32)
DOCR A 1 Offset(155,42)
DOCR A 1 Offset(175,52)
TNT1 A 15 A_WeaponReady(14)
DOCR A 0 Offset(0,96)
DOCR A 1 Offset(0,80)
DOCR A 1 Offset(0,64)
DOCR A 1 Offset(0,48)
DOCR A 1 Offset(0,32)
DOCR A 1 Offset(0,16)
DOCR A 0 A_GunFlash
Goto Ready1
AltfireNoAmmoConsumption:
DOCR A 0 ACS_NamedExecute("BULL_SetState",0,2)
DOCR A 0 //A_GunFlash("NoFlash")
DOCR A 0 A_PlaySoundEx("weapon/DocMetalCharge","weapon")
DOCR A 1 Offset(0,16)
DOCR A 1 Offset(0,32)
DOCR A 1 Offset(0,48)
DOCR A 1 Offset(0,64)
DOCR A 1 Offset(0,80)
DOCR A 0 Offset(0,96)
TNT1 A 1
DOCR A 1 Offset(-245,52)
DOCR A 1 Offset(-185,52)
DOCR A 1 Offset(-165,42)
DOCR B 1 Offset(-125,32)
DOCR A 0 A_PlaySoundEx("weapon/DocMetalShot","weapon")
DOCR B 1 Offset(-85,22)A_GiveInventory("DocRobotMetalAltNoTake_CI",1)
DOCR B 1 Offset(-45,12)
DOCR B 1 Offset(-5,2)
DOCR B 1 Offset(35,12)
DOCR B 1 Offset(75,22)
DOCR B 1 OffSet(115,32)
DOCR A 1 Offset(155,42)
DOCR A 1 Offset(175,52)
TNT1 A 8 A_WeaponReady(14)
DOCR A 0 Offset(0,96)
DOCR A 1 Offset(0,80)
DOCR A 1 Offset(0,64)
DOCR A 1 Offset(0,48)
DOCR A 1 Offset(0,32)
DOCR A 1 Offset(0,16)
DOCR A 0 //A_GunFlash
Goto Ready1
Reload:
TNT1 A 0 A_JumpIfInventory("DocBodyBoostFlag",1,"PowerKILL")
DOCR A 0 A_JumpIfInventory("DocVirusAmmo",350,"ReloadCHUNGUSTIMEAHAHAHAHAHA")
Goto NoAmmo
ReloadCHUNGUSTIMEAHAHAHAHAHA:
DOCR A 0 A_PlaySoundEx("weapon/DocQuickStartup","body") 
STAC A 0 A_GiveInventory("GuardDownFlag",1)
TNT1 A 0 A_GiveInventory("DocQuickSpeedup",1)
TNT1 A 0 A_GiveInventory("DocQuickWeakness",1)
DOCR DADADADADADADADADADADADADADADADADADADADADADADADADADADADA 1 //A_TakeInventory("DocVirusAmmo",350)
DOCR A 0 A_GunFlash("QuickFlash")
goto Ready1
PowerKILL:
TNT1 A 0  A_TakeInventory("DocVirusAmmo",175)
goto Ready1
NoAmmo:
DOCR A 1
Goto Ready1
Flash:
TNT1 A 1 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_GiveInventory("DocVirusAmmo",1)
goto Flash
QuickFlash:
DOCR A 0 A_JumpIfInventory("DocVirusAmmo",1,1)
goto QuickFlashEnd
STAC A 0 A_GiveInventory("GuardDownFlag",1)
TNT1 A 0 A_TakeInventory("DocVirusAmmo",1)
TNT1 A 0 A_GiveInventory("DocQuickSpeedup",1)
TNT1 A 0 A_GiveInventory("DocQuickWeakness",1)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlashBuffer")
TNT1 A 1 A_GiveInventory("DocBodyBoostFlag",1)
goto QuickFlash
QuickFlashEnd:
STAC A 0 A_PlaySoundEx("fuseman/hvend","body") 
STAC A 0 A_TakeInventory("GuardDownFlag",1)
TNT1 A 0 A_TakeInventory("DocVirusAmmo",1)
TNT1 A 0 A_TakeInventory("DocQuickSpeedup",1)
TNT1 A 0 A_TakeInventory("DocQuickWeakness",1)
TNT1 A 0 A_TakeInventory("DocBodyBoostFlag",1)
goto Flash
NoFlashBuffer:
STAC A 0 A_PlaySoundEx("fuseman/hvend","body") 
STAC A 0 A_TakeInventory("GuardDownFlag",1)
TNT1 A 0 A_TakeInventory("DocVirusAmmo",1)
TNT1 A 0 A_TakeInventory("DocQuickSpeedup",1)
TNT1 A 0 A_TakeInventory("DocQuickWeakness",1)
TNT1 A 0 A_TakeInventory("DocBodyBoostFlag",1)
goto NoFlash
}
}

actor DocVirusAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 350
+INVENTORY.IGNORESKILL
}


actor DocSpeed100 : OnceC {}
actor DocSpeed090 : OnceC {}
actor DocSpeed105 : OnceC {}
actor DocSpeed110 : OnceC {}
actor DocSpeed115 : OnceC {}
actor DocSpeed120 : OnceC {}

actor DocJump100 : OnceC {}
actor DocJump110 : OnceC {}
actor DocJump120 : OnceC {}
actor DocJump130 : OnceC {}

actor DocBodyBoostFlag : OnceC {}
actor DocShotAmmoStalling : OnceC {}

actor DocWoodBodyFX1
{
+MISSILE
+THRUACTORS
+FORCEXYBILLBOARD
+DONTSPLASH
+NOINTERACTION
+NOGRAVITY
damage 0
Radius 2
Height 2
speed 0
scale 2.5
States
{
Spawn:
DCWD AB 4 A_Fadeout(0.1)
loop
}
}

actor DocWoodBodyFX2 : DocWoodBodyFX1
{
States
{
Spawn:
DCWD BA 4 A_Fadeout(0.1)
loop
}
}

actor DocAirBodyFX
{
+MISSILE
+THRUACTORS
+FORCEXYBILLBOARD
+DONTSPLASH
+NOINTERACTION
+NOGRAVITY
damage 0
Radius 2
Height 2
speed 0
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(4,"FX10")
TNT1 A 0 A_SetScale(ScaleX-frandom(0,1))
TNT1 A 0 A_Jump(256,"FX1","FX2","FX3","FX4","FX5","FX6","FX7","FX8","FX9")
FX1:
AIRA J 1
AIRA KLMN 2
stop
FX2:
AIRA IJ 1
AIRA KLM 2
AIRA N 3
stop
FX3:
AIRA K 2
AIRA LM 3
AIRA N 2
stop
FX4:
AIRA LM 3
AIRA N 4
stop
FX5:
AIRA IJ random(0,1)
AIRA KLMN random(1,2)
stop
FX6:
AIRA IJ random(1,2)
AIRA KLM random(2,3)
AIRA N random(0,1)
stop
FX7:
AIRA IJKLMN random(1,2)
stop
FX8:
AIRA J 1
AIRA KL random(1,2)
AIRA MN random(2,3)
stop
FX9:
AIRA I 1
AIRA JKLMN 2
stop
FX10:
AIRA IJKLMN random(1,3)
stop
}
}

actor DocShotB
{
Translation "204:204=215:215"
PROJECTILE
+FORCEXYBILLBOARD
damagetype "DocR_Buster"
Obituary "$OB_DOCBUSTER"
damage (15)
Radius 7
Height 7
speed 45
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
W_0D B 1
loop
}
}

actor DocShotBB : DocShotB{translation "204:204=205:205"}
actor DocShotBR : DocShotB{translation "204:204=171:171"}
actor DocShotBO : DocShotB{translation "204:204=104:104"}
actor DocShotBP : DocShotB{translation "204:204=229:229"}

actor DocHeatShot
{
Translation "204:204=215:215","202:202=213:213","198:198=41:41","192:192=217:217"
PROJECTILE
-NOGRAVITY
+FORCEXYBILLBOARD
damagetype "DMGNoHitstun"
Obituary "$OB_DOCHEATBUSTER"
damage (15)
Radius 7
Height 7
speed 60
scale 2.5
gravity 7.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
TNT1 A 0 ThrustThingZ(0,20,0,1)
SpawnLOOP:
TNT1 A 1 A_SpawnItemEx("DocHeatshotFX",0,0,0,0,0,0,0,1)
loop
Death:
BASB T 0 A_SpawnItemEx("DocHeatPillar",0,0,-(z-floorz),0,0,0,0,1)
TNT1 A 0 A_PlaySoundEx("weapon/DocHeatPillar","Body")
stop
XDeath:
BASB TTTTT 0 A_SpawnItemEx("DocHeatshotFX",0,0,0,random(-5,5),random(-5,5),random(-5,5),0,1)
stop
}
}

actor DocHeatShotB : DocHeatShot{translation "204:204=205:205","192:192=205:205","198:198=74:74","202:202=196:196"}
actor DocHeatShotR : DocHeatShot{translation "204:204=171:171","192:192=171:171","198:198=41:41","202:202=169:169"}
actor DocHeatShotO : DocHeatShot{translation "204:204=104:104","192:192=104:104","198:198=128:128","202:202=104:104"}
actor DocHeatShotP : DocHeatShot{translation "204:204=229:229","192:192=229:229","198:198=232:232","202:202=229:229"}

actor DocHeatshotFX
{
+MISSILE
+THRUACTORS
+FORCEXYBILLBOARD
+NOGRAVITY
damage 0
Radius 2
Height 2
scale 2.5
Translation "192:192=229:229", "198:198=41:41"
alpha 0.001
States
{
Spawn:
X_2G BBBBB 1 A_FadeIn(0.2)
X_2G A 5
X_2G BBBBB 1 A_FadeOut(0.2)
stop
}
}

Actor DocHeatPillar
{
PROJECTILE
-DONTBLAST
+FLOORHUGGER
Scale 2.5
-NOGRAVITY
DamageType "DMGNoHitstun"
Obituary "$OB_DOCHEATPILLAR"
Height 48
Speed 0
Radius 8
Damage (15)
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
QNF1 ACEGIKMOQSUWY 1 A_SpawnItemEx("OilPitIgnite",0,0,8)//A_PlaySoundEx("weapon/DocHeatPillar","Body")
QNF1 YYYZZYYYZZYYYZZYYYZZ 1 A_SpawnItemEx("OilPitIgnite",0,0,8)//A_PlaySoundEx("weapon/solarcharger","Body")
QNF1 ZXVTRPNLJHFDB 1 A_SpawnItemEx("OilPitIgnite",0,0,8)//A_PlaySoundEx("weapon/solarcharger","Body")
stop
}
}

actor DocCrashShot
{
Translation "202:202=4:4", "199:199=225:225", "202:202=215:215"
PROJECTILE
damagetype "DMGNoHitstun"
Obituary "$OB_DOCCRASHBUSTER"
damage (5)
Radius 7
+FORCEXYBILLBOARD
Height 7
speed 75
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
X_2N G 1 A_SpawnItemEx("DocCrashShotFX",0,0,0,0,0,0,0,1)
X_2N G 0 //ThrustThingZ(0, 7, 0, 1)
BASB T 0 A_SpawnItemEx("DocCrashShotFX",0,0,0,0,cos(pitch+270)*4,-sin(pitch+270)*4,0,1)
BASB T 0 A_SpawnItemEx("DocCrashShotFX",0,0,0,0,cos(pitch+90)*4,-sin(pitch+90)*4,0,1)
BASB T 0 A_SetPitch(pitch%360+30)
loop

Death:
TNT1 A 0 A_Stop
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
TNT1 A 1
TNT1 A 0 A_PlaySound("weapon/directcrash2")
TNT1 A 0 A_SpawnItemEx("ClashBomb_MineDirectBoomFX",0,0,0,0,0,0,0,1)
TNT1 AAAA 1 A_Explode(5,72,0,0,12)
stop
}
}

actor DocCrashShotB : DocCrashShot{translation "202:202=205:205", "199:199=74:74","202:202=205:205"}
actor DocCrashShotR : DocCrashShot{translation "202:202=171:171", "199:199=41:41","202:202=171:171"}
actor DocCrashShotO : DocCrashShot{translation "202:202=104:104", "199:199=128:128","202:202=104:104"}
actor DocCrashShotP : DocCrashShot{translation "202:202=229:229", "199:199=232:232","202:202=229:229"}

actor DocCrashShotFX
{
+MISSILE
+THRUACTORS
+FORCEXYBILLBOARD
+DONTSPLASH
+NOINTERACTION
+NOGRAVITY
damage 0
Radius 2
Height 2
speed 0
scale 1.0
renderstyle add
alpha 0.75
States
{
Spawn:
YMFX QQ 1 
UMFX RR 1 
UMFX SS 1 A_Fadeout
wait
}
}

actor DocFlashShot
{
Translation "192:192=216:216","195:195=216:216","204:204=4:4"
PROJECTILE
damagetype "Buster"
Obituary "$OB_DOCFLASHBUSTER"
Damage (2)
radius 6
height 6
Speed 55
scale 2.5
-NOGRAVITY
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
HEAP A 0 ThrustThingZ(0,16,0,1)
SpawnLOOP:
TNT1 A 1
BUBA DDDDDDDDDD 1 A_SpawnItemEx("BubProjFX",0,0,0,0,0,0,0,1)
wait
Death:
BBAB BCD 2 A_Stop
stop
}
}

actor DocFlashShotB : DocFlashShot{translation "192:192=205:205","195:195=205:205","204:204=4:4"}
actor DocFlashShotR : DocFlashShot{translation "192:192=171:171","195:195=171:171","204:204=4:4"}
actor DocFlashShotO : DocFlashShot{translation "192:192=104:104","195:195=104:104","204:204=4:4"}
actor DocFlashShotP : DocFlashShot{translation "192:192=229:229","195:195=229:229","204:204=4:4"}

actor DocMetalShot
{
Translation "199:199=216:216"
PROJECTILE
+RIPPER
+HEXENBOUNCE
damagetype "DMGNoHitstun"
Obituary "$OB_DOCMETALBUSTER"
Damage (9)
radius 18
height 6
Speed 69
scale 2.5
bouncecount 2
wallbouncefactor 1.0
bouncefactor 1.0
SeeSound "wep/shieldtink"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 1
DOCM AB 1 A_SpawnItemEx("DocMetalShotFX",0,0,0,0,0,0,0,1)
goto SpawnLOOP+1
Death:
TNT1 A 0 A_PlaySoundEx("wep/shieldtink","Body")
TNT1 A 1 A_SpawnItemEx("DocMetalDinkFX",0,0,0,-3,0,5,0,1)
stop
}
}

actor DocMetalShotB : DocMetalShot{translation "199:199=205:205"}
actor DocMetalShotR : DocMetalShot{translation "199:199=171:171"}
actor DocMetalShotO : DocMetalShot{translation "199:199=104:104"}
actor DocMetalShotP : DocMetalShot{translation "199:199=229:229"}

actor DocMetalShotFX
{
+MISSILE
+THRUACTORS
+FORCEXYBILLBOARD
+NOGRAVITY
damage 0
Radius 2
Height 2
scale 2.5
renderstyle add
Translation "199:199=215:215"
States
{
Spawn:
DOCM AB 1 A_Fadeout
loop
}
}

actor DocMetalDinkFX
{
+MISSILE
+THRUACTORS
+CLIENTSIDEONLY
Gravity 1.25
Radius 2
Height 2
scale 2.5
States
{
Spawn:
DOCM A 1
TNT1 A 1
DOCM B 1
TNT1 A 1
loop
}
}

actor DocWoodArmor : BasePowerPro
{
damagefactor "Normal", 0.65
}

actor DocWoodSlowdown : PowerSpeed//lol
{
+POWERSPEED.NOTRAIL
Speed 0.75
}

actor DocAirJumpthrust : CustomInventory
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_JumpIf(z-floorz<5, "End")
TNT1 A 0 ThrustThingZ(0, 1, 0, 1)
stop
End:
TNT1 A 0
stop
}
}

actor DocAirControl : PowerSpeed
{
+POWERSPEED.NOTRAIL
Speed 2.0
}

actor DocQuickWeakness : BasePowerWeak
{
damagefactor "Normal",1.25
}

actor DocQuickSpeedup : PowerSpeed
{
Speed 1.5
}

actor DocRobotMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DocShotB",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DocShotBB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DocShotBR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DocShotBO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DocShotBP",0,0,8,0)
goto Done
}
}

actor DocRobotHeatAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DocHeatShot",10,1,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShot",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShot",-10,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DocHeatShotB",10,1,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotB",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotB",-10,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DocHeatShotR",10,1,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotR",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotR",-10,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DocHeatShotO",10,1,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotO",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotO",-10,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DocHeatShotP",10,1,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotP",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotP",-10,0,8,0)
goto Done
}
}

actor DocRobotHeatAltNoTake_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DocHeatShot",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShot",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShot",-10,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DocHeatShotB",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotB",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotB",-10,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DocHeatShotR",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotR",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotR",-10,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DocHeatShotO",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotO",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotO",-10,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DocHeatShotP",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotP",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("DocHeatShotP",-10,0,8,0)
goto Done
}
}

actor DocRobotFlashAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DocFlashShot",0,1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DocFlashShotB",0,1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DocFlashShotR",0,1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DocFlashShotO",0,1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DocFlashShotP",0,1,8,0)
goto Done
}
}

actor DocRobotFlashAltNoTake_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DocFlashShot",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DocFlashShotB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DocFlashShotR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DocFlashShotO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DocFlashShotP",0,0,8,0)
goto Done
}
}

actor DocRobotFlashAlt2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DocFlashShot",random(-3,3),1,8,0,1,random(-3,3))
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DocFlashShotB",random(-3,3),1,8,0,1,random(-3,3))
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DocFlashShotR",random(-3,3),1,8,0,1,random(-3,3))
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DocFlashShotO",random(-3,3),1,8,0,1,random(-3,3))
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DocFlashShotP",random(-3,3),1,8,0,1,random(-3,3))
goto Done
}
}

actor DocRobotFlashAltNoTake2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DocFlashShot",random(-3,3),0,8,0,1,random(-3,3))
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DocFlashShotB",random(-3,3),0,8,0,1,random(-3,3))
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DocFlashShotR",random(-3,3),0,8,0,1,random(-3,3))
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DocFlashShotO",random(-3,3),0,8,0,1,random(-3,3))
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DocFlashShotP",random(-3,3),0,8,0,1,random(-3,3))
goto Done
}
}

actor DocRobotCrashAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DocCrashShot",0,1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DocCrashShotB",0,1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DocCrashShotR",0,1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DocCrashShotO",0,1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DocCrashShotP",0,1,8,0)
goto Done
}
}

actor DocRobotCrashAltNoTake_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DocCrashShot",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DocCrashShotB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DocCrashShotR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DocCrashShotO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DocCrashShotP",0,0,8,0)
goto Done
}
}

actor DocRobotMetalAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DocMetalShot",0,1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DocMetalShotB",0,1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DocMetalShotR",0,1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DocMetalShotO",0,1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DocMetalShotP",0,1,8,0)
goto Done
}
}

actor DocRobotMetalAltNoTake_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("DocMetalShot",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("DocMetalShotB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("DocMetalShotR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("DocMetalShotO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("DocMetalShotP",0,0,8,0)
goto Done
}
}

//for cbm
actor DocScanner : FastProjectile
{
//PROJECTILE
damagetype "ClassPainLess2"
Obituary "$OB_DOCSCANNER"
+DONTBLAST
+DONTREFLECT
+DONTSPLASH
+THRUGHOST
+HITTRACER
damage (2)
Radius 16
Height 16
speed 1
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_ScaleVelocity(180.0)
TNT1 A 1
TNT1 A 1
stop
Crash:
XDeath:
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_istracerplayer")==1,"DeathScan")
TNT1 A 1
stop
DeathScan:
TNT1 A 0 A_SpawnItemEx("DocScannerMarkFX_H",-6,0,8,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("DocScannerBitFX_H",-6,0,8,0,0,0,0,1025)
TNT1 A 10
stop
Death:
TNT1 A 1 A_SpawnItemEx("DocScannerGetFX",0,0,10,0,0,0,0,1)
stop
}
}

actor DocScannerLaserFX_H : BasicHelper
{
Speed 15
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_SpawnItemEx("DocScannerLaserFX",0,0,0,momx,momy,momz,0,41)
stop
}
}

actor DocScannerLaserFX
{
+MISSILE
+NOGRAVITY
+THRUACTORS
+DONTBLAST
+DONTREFLECT
+DONTSPLASH
+CLIENTSIDEONLY
+FORCEYBILLBOARD
+PAINLESS
ReactionTime 4
damage (0)
Radius 8
Height 8
speed 15
XScale 1.75
YScale 6.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetScale(ScaleX+0.05,ScaleY+2)
TNT1 A 0 A_JumpIf(ScaleY>=52,"Death")
TNT1 A 0 A_SpawnItemEx("DocScannerLaserFX",0,0,0,momx,momy,momz,0,16384+41)
TNT1 A 0 A_Stop
goto Spawn1
Spawn1:
TNT1 A 0 A_CountDown
TNT1 A 0 A_Jump(256,"R_1","R_2","R_3","R_4","R_5","R_6")
R_1:
X_9A G 1
TNT1 A 1
goto Spawn1
R_2:
X_9A H 1
TNT1 A 1
goto Spawn1
R_3:
X_9A GH 1
goto Spawn1
R_4:
X_9A HG 1
goto Spawn1
R_5:
X_9A GG 1
goto Spawn1
R_6:
X_9A HH 1
goto Spawn1

Death:
TNT1 A 1
stop
}
}
//This entire marker animation is accurate to Copy...frame wise
actor DocScannerBitFX_H : BasicHelper
{
var int user_TID;
var int user_Tracer;
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_TID",ACS_ExecuteWithResult(147,0))
TNT1 A 0 A_SetUserVar("user_Tracer",ACS_ExecuteWithResult(147,1))
TNT1 A 0 A_PlaySoundEx("Wep/DocScanHit","weapon")
TNT1 A 0 ACS_NamedExecuteAlways("cbm_DocScannerFetch",0,user_Tracer,user_TID,0)
TNT1 A 4 A_GiveToTarget("DocVirusAmmoDelay",1)
goto Spawn1
Spawn1:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 0 A_GiveInventory("WeaponCharge",1)
TNT1 A 0 A_GiveToTarget("DocVirusAmmoDelay",1)
TNT1 A 8 A_SpawnItemEx("DocScannerBitFX",0,0,-58,0,0,0,0,1)
TNT1 A 0 A_JumpIfInventory("WeaponCharge",4,"SpawnEnd")
goto Spawn2
Spawn2:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 0 A_GiveToTarget("DocVirusAmmoDelay",1)
TNT1 A 10 A_SpawnItemEx("DocScannerBitFX",0,0,6,0,0,0,0,1)
goto Spawn1
SpawnEnd:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 10 A_GiveToTarget("DocVirusAmmoDelay",1)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 0 A_GiveToTarget("DocVirusAmmoDelay",1)
TNT1 A 12 ACS_NamedExecuteAlways("cbm_DocScannerFetch",0,user_Tracer,user_TID,52)
stop
}
}


actor DocScannerGetSnd_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_PlaySoundEx("KirbyNES/GetPower","SoundSlot6")
TNT1 A 0 A_SpawnItemEx("DocScannerGetSnd_H")
stop
}
}

actor DocScannerGetSnd_H : BasicHelper
{
States
{
Spawn:
TNT1 A 4
TNT1 AAAAAAAA 4 A_GiveToTarget("DocScannerGetFX_P",1)
stop
}
}

actor DocScannerGetNoSnd_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_PlaySoundEx("KirbyNES/NoPower","SoundSlot6")
TNT1 A 0 A_SpawnItemEx("DocScannerGetNoSnd_H",0,0,28,0,0,0,0,1)
stop
}
}

actor DocScannerGetNoSnd_H : BasicClientSide
{
ReactionTime 7
States
{
Spawn:
TNT1 A 1
TNT1 AAA 0 A_SpawnItemEx("MagicMDeath_Confetti",random(-16,16),random(-16,16),Random(8,16),random(-3,3),random(-3,3),random(1,-1),0,1)
TNT1 A 0 A_CountDown
Loop
}
}


actor DocScannerGetFX_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("DocScannerGetFX",frandom(2,16)*4,0,frandom(1,18)*4,0,0,0,random(0,17)*20,1)
stop
}
}

actor DocScannerGetFX : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
DOCR IJ 2
stop
}
}

/*
70707
27071707
0727070707
27071707
0727070707
27071707
0727070707
27071707
07270700007777000077770000
*/

actor DocScannerMarkFX_H : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
TNT1 AA 2 A_SpawnItemEx("DocScannerMarkFX1",random(-4,4),random(-4,4),random(-4,4),0,0,0,0,1)
goto Spawn1
Spawn1:
//TNT1 A 0 A_SpawnItemEx("DocScannerBitFX",0,0,-58,0,0,0,0,1)
TNT1 A 0 A_GiveInventory("WeaponCharge",1)
TNT1 A 2 A_SpawnItemEx("DocScannerMarkFX3",random(-4,4),random(-4,4),random(-4,4),0,0,0,0,1)
TNT1 A 2 A_SpawnItemEx("DocScannerMarkFX1",random(-4,4),random(-4,4),random(-4,4),0,0,0,0,1)
TNT1 A 2 A_SpawnItemEx("DocScannerMarkFX2",random(-4,4),random(-4,4),random(-4,4),0,0,0,0,1)
TNT1 A 2 A_SpawnItemEx("DocScannerMarkFX1",random(-4,4),random(-4,4),random(-4,4),0,0,0,0,1)
TNT1 A 0 A_JumpIfInventory("WeaponCharge",4,"SpawnEnd")
goto Spawn2
Spawn2:
//TNT1 A 0 A_SpawnItemEx("DocScannerBitFX",0,0,6,0,0,0,0,1)
TNT1 A 2 A_SpawnItemEx("DocScannerMarkFX1",random(-4,4),random(-4,4),random(-4,4),0,0,0,0,1)
TNT1 A 2 A_SpawnItemEx("DocScannerMarkFX3",random(-4,4),random(-4,4),random(-4,4),0,0,0,0,1)
TNT1 AAA 2 A_SpawnItemEx("DocScannerMarkFX1",random(-4,4),random(-4,4),random(-4,4),0,0,0,0,1)
goto Spawn1
SpawnEnd:
TNT1 A 2 A_SpawnItemEx("DocScannerMarkFX1",random(-4,4),random(-4,4),random(-4,4),0,0,0,0,1)
TNT1 A 2 A_SpawnItemEx("DocScannerMarkFX3",random(-4,4),random(-4,4),random(-4,4),0,0,0,0,1)
TNT1 A 2 A_SpawnItemEx("DocScannerMarkFX1",0,0,0,0,0,0,0,1)

TNT1 AAAA 1 A_SpawnItemEx("DocScannerMarkFX1",0,0,0,0,0,0,0,1)
TNT1 A 3
TNT1 AAAA 1 A_SpawnItemEx("DocScannerMarkFX1",0,0,0,0,0,0,0,1)
TNT1 A 3
TNT1 AAAA 1 A_SpawnItemEx("DocScannerMarkFX1",0,0,0,0,0,0,0,1)
stop
}
}


actor DocScannerMarkFX1 : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,"S_1","S_2","S_3")
S_1:
DOCR N 1
stop
S_2:
DOCR O 1
stop
S_3:
DOCR P 1
stop
}
}
actor DocScannerMarkFX2 : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,"S_1","S_2","S_3")
S_1:
DOCR Q 1
stop
S_2:
DOCR R 1
stop
S_3:
DOCR S 1
stop
}
}
actor DocScannerMarkFX3 : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,"S_1","S_2","S_3")
S_1:
DOCR T 1
stop
S_2:
DOCR U 1
stop
S_3:
DOCR V 1
stop
}
}

actor DocScannerBitFX : BasicExplosion
{
var int user_TID;
var int user_S;
ReactionTime 1
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("Wep/DocScanCheck","weapon")//DocScanHit
DOCR K 0 A_SetUserVar("user_TID",ACS_ExecuteWithResult(257))
DOCR K 0 //A_LogInt(user_TID)
DOCR K 0 //A_Log("TID")
goto Spawn2
//RIP clean method that caused divide by zero fakeouts due to bad lag
Spawn2:
DOCR K 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",24,user_TID))
DOCR K 0 A_FaceTarget(360,90)
DOCR K 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR K 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",23,user_TID))
DOCR K 0 A_FaceTarget(360,90)
DOCR K 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR K 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",22,user_TID))
DOCR K 0 A_FaceTarget(360,90)
DOCR K 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR K 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",21,user_TID))
DOCR K 0 A_FaceTarget(360,90)
DOCR K 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR K 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",20,user_TID))
DOCR K 0 A_FaceTarget(360,90)
DOCR K 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR K 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",19,user_TID))
DOCR K 0 A_FaceTarget(360,90)
DOCR K 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR K 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",18,user_TID))
DOCR K 0 A_FaceTarget(360,90)
DOCR K 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR K 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",17,user_TID))
DOCR K 0 A_FaceTarget(360,90)
DOCR K 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)


DOCR L 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",16,user_TID))
DOCR L 0 A_FaceTarget(360,90)
DOCR L 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR L 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",15,user_TID))
DOCR L 0 A_FaceTarget(360,90)
DOCR L 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR L 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",14,user_TID))
DOCR L 0 A_FaceTarget(360,90)
DOCR L 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR L 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",13,user_TID))
DOCR L 0 A_FaceTarget(360,90)
DOCR L 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR L 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",12,user_TID))
DOCR L 0 A_FaceTarget(360,90)
DOCR L 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR L 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",11,user_TID))
DOCR L 0 A_FaceTarget(360,90)
DOCR L 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR L 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",10,user_TID))
DOCR L 0 A_FaceTarget(360,90)
DOCR L 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR L 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",9,user_TID))
DOCR L 0 A_FaceTarget(360,90)
DOCR L 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)


DOCR M 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",8,user_TID))
DOCR M 0 A_FaceTarget(360,90)
DOCR M 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR M 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",7,user_TID))
DOCR M 0 A_FaceTarget(360,90)
DOCR M 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR M 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",6,user_TID))
DOCR M 0 A_FaceTarget(360,90)
DOCR M 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR M 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",5,user_TID))
DOCR M 0 A_FaceTarget(360,90)
DOCR M 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR M 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",4,user_TID))
DOCR M 0 A_FaceTarget(360,90)
DOCR M 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR M 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",3,user_TID))
DOCR M 0 A_FaceTarget(360,90)
DOCR M 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR M 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",2,user_TID))
DOCR M 0 A_FaceTarget(360,90)
DOCR M 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)
DOCR M 0 A_SetUserVar("user_S",ACS_NamedExecuteWithResult("cbm_DocDistSpeedReturn",1,user_TID))
DOCR M 0 A_FaceTarget(360,90)
DOCR M 1 A_ChangeVelocity(cos(pitch)*user_S,0,sin(pitch)*user_S,3)

DOCR M 1 A_CountDown
wait

Death:
TNT1 A 1
stop
}
}

actor DocVirusAmmoDelay : Powerup
{
Powerup.Duration 20
}