actor DocBusterC : MegaBuster
{
Weapon.AmmoUse 1
Weapon.AmmoGive 3
Weapon.SlotNumber 1
Obituary "%o was defeated by %k's Doc Buster."
weapon.ammotype "BusterAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
DOCB A 1
stop
Ready:
CBUS A 0 A_JumpIfInventory("Once",1,"Ready2")
BUST B 0 ACS_ExecuteAlways(981,0,0)
BUST B 0 ACS_ExecuteAlways(423,0,2)
BUST B 0 ACS_ExecuteAlways(648,0,8)
BUST B 0 A_SpawnItemEX("DocAmmoGiver")
PROC J 0 A_GiveInventory("Once",1)
Goto Ready2
Ready2:
DOCR A 0 ACS_ExecuteAlways(998,0,67)
DOCR A 1 A_WeaponReady
Goto Ready2+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
DOCR A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
DOCR A 1 A_Raise
Loop
Fire:
DOCR A 0 A_PlaySoundEx("weapon/pshot","weapon")
DOCR A 0 A_FireCustomMissile("DocShotB",0,0,8,0)
DOCR BCA 5
DOCR A 0 A_Refire
Goto Ready2+1
NoAmmo:
DOCR A 1 ACS_Execute(979,0)
Goto Ready2+1
}
}

actor DocShotB
{
PROJECTILE
+LOOKALLAROUND
+SKYEXPLODE
+DONTBLAST
Radius 5
Height 5
scale 2.5
damagetype "Buster"
damage (11)
speed 45
States
{
Spawn:
BASB A 1
loop
}
}

actor DocAmmoGiver
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 A 1
TNT1 A 0 A_JumpIfInTargetInventory("DocBusterC",1,1)
goto Death
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("CutterFlag",250,1)
loop
TNT1 A 0 A_GiveToTarget("DocAmmo",1)
TNT1 A 0 A_TakeInventory("CutterFlag",250)
loop
Death:
TNT1 A 0
stop
}
}

actor NormalDocArmor : BasicArmorPickup
{
Armor.Savepercent 17
Armor.Saveamount 999
}
actor SturdyDocArmor : NormalDocArmor
{
Armor.Savepercent 33
}
actor ToadDocArmor  : NormalDocArmor
{
Armor.Savepercent 48
}

