actor MegaBallBoss : BaseMM8BDMWep_CBM
{
dropitem "MegaBallWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 777
Weapon.SlotNumber 1
Inventory.Pickupmessage "$PU_MEGABALL"
Obituary "$OB_ROCKBALL"
weapon.ammotype "BallsOfSteelAmmo"
inventory.icon "MEGABALI"
States
{
Spawn:
C_00 D 1
loop

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
H0RK Z 1 offset(1,60)A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
H0RK Z 1 offset(1,60)A_Raise
Loop

Ready:
H0RK A 0 ACS_ExecuteAlways(998,0,703)
goto ReadyBall
ReadyBall:
H0RK A 0 A_JumpIfInventory("BallsOfSteelAmmo",111,"ReadyBall2")
H0RK A 2 A_WeaponReady(4)
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",10)
loop
ReadyBall2:
H0RK A 2 A_WeaponReady
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",10)
loop

Fire:
H0RK A 0 A_JumpIfInventory("RockBallCharge",6,"Fire1")
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK A 1 A_GiveInventory("RockBallCharge",1)
H0RK A 0 A_Refire("Fire")
goto OldFire
Fire1:
H0RK A 0 A_JumpIfInventory("RockBallCharge",12,"Fire2")
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK A 0 A_GiveInventory("RockBallCharge",1)
H0RK A 1 offset(0,34)A_WeaponReady(7)
H0RK A 0 A_Refire("Fire1")
goto OldFire
Fire2:
H0RK A 0 A_JumpIfInventory("RockBallCharge",24,"Fire3")
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK A 0 A_GiveInventory("RockBallCharge",1)
H0RK A 1 offset(0,36)A_WeaponReady(7)
H0RK A 0 A_Refire("Fire2")
goto OldFire
Fire3:
H0RK A 0 A_JumpIfInventory("RockBallCharge",36,"Fire4")
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK A 0 A_GiveInventory("RockBallCharge",1)
H0RK A 1 offset(0,40)A_WeaponReady(7)
H0RK A 0 A_Refire("Fire3")
goto OldFire
Fire4:
H0RK A 0 A_JumpIfInventory("RockBallCharge",48,"Fire5")
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK A 0 A_GiveInventory("RockBallCharge",1)
H0RK A 1 offset(0,44)A_WeaponReady(7)
H0RK A 0 A_Refire("Fire4")
goto OldFire
Fire5:
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK A 1 offset(0,45)A_WeaponReady(7)
H0RK A 0 A_Refire(1)
goto OldFire
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK A 1 offset(0,46)A_WeaponReady(7)
H0RK A 0 A_Refire(1)
goto OldFire
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK A 1 offset(0,47)A_WeaponReady(7)
H0RK A 0 A_Refire(1)
goto OldFire
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK A 1 offset(0,48)A_WeaponReady(7)
H0RK A 0 A_Refire(1)
goto OldFire
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK A 1 offset(0,48)A_WeaponReady(7)
H0RK A 0 A_Refire(1)
goto OldFire
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK A 1 offset(0,47)A_WeaponReady(7)
H0RK A 0 A_Refire(1)
goto OldFire
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK A 1 offset(0,46)A_WeaponReady(7)
H0RK A 0 A_Refire(1)
goto OldFire
H0RK A 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK A 1 offset(0,45)A_WeaponReady(7)
H0RK A 0 A_Refire("Fire5")
goto OldFire


OldFire:
H0RK F 0 A_PlaySoundEx("weapon/mbuster","Weapon")
H0RK F 0 A_TakeInventory("BallsOfSteelAmmo",111)
H0RK F 0 A_JumpIf(pitch>=45 && pitch<=90,"FireDown")
goto FireB
FireB:
H0RK F 0 A_GiveInventory("RockBallDrop_CI",1)
goto FireAni
FireDown:
H0RK F 0 A_JumpIf(z-floorz==0,"FireB")
H0RK F 0 A_PlaySoundEx("weapon/RockBall","SoundSlot7")
H0RK F 0 A_SpawnItemEx("MMFX_BCDE",16,0,-32)
H0RK F 0 A_JumpIfInventory("RockBallCharge",56,"FireDownX")
H0RK F 0 ThrustThingZ(0,44,0,0)
goto FireAni
FireDownX:
H0RK F 0 ThrustThingZ(0,60,0,0)
goto FireAni
FireAni:
H0RK F 0 A_JumpIfInventory("RockBallCharge",48,4)
H0RK F 0 A_JumpIfInventory("RockBallCharge",24,2)
H0RK F 1 offset(0,33)
H0RK F 1 offset(0,40)
H0RK F 1 offset(0,48)
H0RK F 1 offset(0,56)A_TakeInventory("RockBallCharge",200)
H0RK F 1 offset(0,64)
H0RK F 1 offset(0,72)A_WeaponReady(7)
H0RK F 1 offset(0,80)A_WeaponReady(7)
H0RK F 1 offset(0,88)A_WeaponReady(7)
H0RK F 1 offset(0,96)A_WeaponReady(7)

H0RK A 1 offset(0,88)A_WeaponReady(7)
H0RK A 1 offset(0,80)A_WeaponReady(7)
H0RK A 1 offset(0,72)A_WeaponReady(7)
H0RK A 1 offset(0,64)A_WeaponReady(7)
H0RK A 1 offset(0,56)A_WeaponReady(7)
H0RK A 1 offset(0,48)A_WeaponReady(7)
H0RK A 1 offset(0,40)A_WeaponReady(7)
Goto ReadyBall

Altfire:
H0RK G 0 A_GiveInventory("RockKickFlag",1)
H0RK G 0 A_WeaponReady(14)//resets offset
H0RK G 0 A_JumpIfInventory("RockBallCharge",1,"Altfire2")
H0RK G 0 A_PlaySoundEx("weapon/chargekick","Weapon")
H0RK I 1 offset(0,35)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK I 1 offset(0,31)
H0RK I 1 offset(0,27)
H0RK J 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK J 1 offset(0,28)
H0RK J 1 offset(0,25)A_GiveInventory("RockBallAlt_CI",1)
H0RK K 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,28)
H0RK K 1 offset(0,25)
H0RK K 1 offset(0,23)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,21)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,27)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,31)
H0RK L 1 offset(0,22)
H0RK L 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK L 1 offset(0,40)
H0RK L 1 offset(0,49)
H0RK L 1 offset(0,58)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK L 1 offset(0,67)
H0RK L 1 offset(0,76)A_TakeInventory("RockBallCharge",200)
H0RK L 0 A_TakeInventory("RockKickFlag",1)
Goto ReadyBall
Altfire2:
H0RK I 1 offset(0,35)A_GiveInventory("Rock_M_Pickup_X",1)
H0RK I 1 offset(0,31)A_TakeInventory("BallsOfSteelAmmo",111)
H0RK I 1 offset(0,27)
H0RK J 1 offset(0,31)
H0RK J 1 offset(0,28)
H0RK J 1 offset(0,25)
H0RK K 1 offset(0,31)
H0RK K 1 offset(0,28)
H0RK K 1 offset(0,25)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,21)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,27)
H0RK K 1 offset(0,31)
H0RK L 1 offset(0,22)A_TakeInventory("RockBallCharge",200)
H0RK L 1 offset(0,31)
H0RK L 1 offset(0,40)
H0RK L 1 offset(0,49)
H0RK L 1 offset(0,58)
H0RK L 1 offset(0,67)
H0RK L 1 offset(0,76)
H0RK L 0 A_TakeInventory("RockKickFlag",1)
Goto ReadyBall

NoAmmo:
H0RK F 1
Goto ReadyBall
}
}

actor MegaIceBallBoss : BaseMM8BDMWep_CBM
{
dropitem "MegaBallWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 777
Weapon.SlotNumber 2
Inventory.Pickupmessage "$PU_MEGABALL"
Obituary "$OB_ROCKBALL"
weapon.ammotype "BallsOfSteelAmmo"
inventory.icon "ICESI"
States
{
Spawn:
C_00 D 1
loop

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
H0RK Z 1 offset(1,60)A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
H0RK Z 1 offset(1,60)A_Raise
Loop

Ready:
H0RK B 0 ACS_ExecuteAlways(998,0,703)
goto ReadyBall
ReadyBall:
H0RK B 0 A_JumpIfInventory("BallsOfSteelAmmo",111,"ReadyBall2")
H0RK B 2 A_WeaponReady(4)
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",10)
loop
ReadyBall2:
H0RK B 2 A_WeaponReady
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",10)
loop


Fire:
H0RK B 0 A_JumpIfInventory("RockBallCharge",7,"Fire1")
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK B 1 A_GiveInventory("RockBallCharge",1)
H0RK B 0 A_Refire("Fire")
goto OldFire
Fire1:
H0RK B 0 A_JumpIfInventory("RockBallCharge",14,"Fire2")
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK B 0 A_GiveInventory("RockBallCharge",1)
H0RK B 1 offset(0,34)A_WeaponReady(7)
H0RK B 0 A_Refire("Fire1")
goto OldFire
Fire2:
H0RK B 0 A_JumpIfInventory("RockBallCharge",28,"Fire3")
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK B 0 A_GiveInventory("RockBallCharge",1)
H0RK B 1 offset(0,36)A_WeaponReady(7)
H0RK B 0 A_Refire("Fire2")
goto OldFire
Fire3:
H0RK B 0 A_JumpIfInventory("RockBallCharge",42,"Fire4")
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK B 0 A_GiveInventory("RockBallCharge",1)
H0RK B 1 offset(0,40)A_WeaponReady(7)
H0RK B 0 A_Refire("Fire3")
goto OldFire
Fire4:
H0RK B 0 A_JumpIfInventory("RockBallCharge",56,"Fire5")
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK B 0 A_GiveInventory("RockBallCharge",1)
H0RK B 1 offset(0,44)A_WeaponReady(7)
H0RK B 0 A_Refire("Fire4")
goto OldFire
Fire5:
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK B 1 offset(0,45)A_WeaponReady(7)
H0RK B 0 A_Refire(1)
goto OldFire
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK B 1 offset(0,46)A_WeaponReady(7)
H0RK B 0 A_Refire(1)
goto OldFire
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK B 1 offset(0,47)A_WeaponReady(7)
H0RK B 0 A_Refire(1)
goto OldFire
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK B 1 offset(0,48)A_WeaponReady(7)
H0RK B 0 A_Refire(1)
goto OldFire
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK B 1 offset(0,48)A_WeaponReady(7)
H0RK B 0 A_Refire(1)
goto OldFire
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK B 1 offset(0,47)A_WeaponReady(7)
H0RK B 0 A_Refire(1)
goto OldFire
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK B 1 offset(0,46)A_WeaponReady(7)
H0RK B 0 A_Refire(1)
goto OldFire
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK B 0 A_GiveInventory("BallsOfSteelAmmo",1)
H0RK B 1 offset(0,45)A_WeaponReady(7)
H0RK B 0 A_Refire("Fire5")
goto OldFire

OldFire:
H0RK F 0 A_PlaySoundEx("weapon/mbuster","Weapon")
H0RK F 0 A_TakeInventory("BallsOfSteelAmmo",111)
H0RK F 0 A_JumpIf(pitch>=45 && pitch<=90,"FireDown")
goto FireB
FireB:
H0RK F 0 A_GiveInventory("RockBallDropI_CI",1)
goto FireAni
FireDown:
H0RK F 0 A_JumpIf(z-floorz==0,"FireB")
H0RK F 0 A_PlaySoundEx("weapon/RockBall","SoundSlot7")
H0RK F 0 A_SpawnItemEx("MMFX_BCDE",16,0,-32)
H0RK F 0 A_JumpIfInventory("RockBallCharge",56,"FireDownX")
H0RK F 0 ThrustThingZ(0,44,0,0)
goto FireAni
FireDownX:
H0RK F 0 ThrustThingZ(0,60,0,0)
goto FireAni
FireAni:
H0RK F 0 A_JumpIfInventory("RockBallCharge",56,4)
H0RK F 0 A_JumpIfInventory("RockBallCharge",28,2)
H0RK F 1 offset(0,33)
H0RK F 1 offset(0,40)
H0RK F 1 offset(0,48)
H0RK F 1 offset(0,56)A_TakeInventory("RockBallCharge",200)
H0RK F 1 offset(0,64)A_WeaponReady(7)
H0RK F 1 offset(0,72)A_WeaponReady(7)
H0RK F 1 offset(0,80)A_WeaponReady(7)
H0RK F 1 offset(0,88)A_WeaponReady(7)
H0RK F 1 offset(0,96)A_WeaponReady(7)

H0RK B 1 offset(0,88)A_WeaponReady(7)
H0RK B 1 offset(0,80)A_WeaponReady(7)
H0RK B 1 offset(0,72)A_WeaponReady(7)
H0RK B 1 offset(0,64)A_WeaponReady(7)
H0RK B 1 offset(0,56)A_WeaponReady(7)
H0RK B 1 offset(0,48)A_WeaponReady(7)
H0RK B 1 offset(0,40)A_WeaponReady(7)
Goto ReadyBall

Altfire:
H0RK G 0 A_GiveInventory("RockKickFlag",1)
H0RK G 0 A_WeaponReady(14)//resets offset
H0RK G 0 A_JumpIfInventory("RockBallCharge",1,"Altfire2")
H0RK G 0 A_PlaySoundEx("weapon/chargekick","Weapon")
H0RK I 1 offset(0,35)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK I 1 offset(0,31)
H0RK I 1 offset(0,27)
H0RK J 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK J 1 offset(0,28)
H0RK J 1 offset(0,25)A_GiveInventory("RockBallAlt_CI",1)
H0RK K 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,28)
H0RK K 1 offset(0,25)
H0RK K 1 offset(0,23)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,21)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,27)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,31)
H0RK L 1 offset(0,22)
H0RK L 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK L 1 offset(0,40)
H0RK L 1 offset(0,49)
H0RK L 1 offset(0,58)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK L 1 offset(0,67)
H0RK L 1 offset(0,76)A_TakeInventory("RockBallCharge",200)
H0RK L 0 A_TakeInventory("RockKickFlag",1)
Goto ReadyBall
Altfire2:
H0RK I 1 offset(0,35)A_GiveInventory("Rock_I_Pickup_X",1)
H0RK I 1 offset(0,31)A_TakeInventory("BallsOfSteelAmmo",111)
H0RK I 1 offset(0,27)
H0RK J 1 offset(0,31)
H0RK J 1 offset(0,28)
H0RK J 1 offset(0,25)
H0RK K 1 offset(0,31)
H0RK K 1 offset(0,28)
H0RK K 1 offset(0,25)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,21)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,27)
H0RK K 1 offset(0,31)
H0RK L 1 offset(0,22)A_TakeInventory("RockBallCharge",200)
H0RK L 1 offset(0,31)
H0RK L 1 offset(0,40)
H0RK L 1 offset(0,49)
H0RK L 1 offset(0,58)
H0RK L 1 offset(0,67)
H0RK L 1 offset(0,76)
H0RK L 0 A_TakeInventory("RockKickFlag",1)
Goto ReadyBall

NoAmmo:
H0RK F 1
Goto ReadyBall
}
}
actor MegaElecBallBoss : BaseMM8BDMWep_CBM
{
dropitem "MegaBallWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 777
Weapon.SlotNumber 3
Inventory.Pickupmessage "$PU_MEGABALL"
Obituary "$OB_ROCKBALL"
weapon.ammotype "BallsOfSteelAmmo"
inventory.icon "THUNSI"
States
{
Spawn:
C_00 D 1
loop

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
H0RK Z 1 offset(1,60)A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
H0RK Z 1 offset(1,60)A_Raise
Loop

Ready:
H0RK C 0 ACS_ExecuteAlways(998,0,703)
goto ReadyBall
ReadyBall:
H0RK C 0 A_JumpIfInventory("BallsOfSteelAmmo",111,"ReadyBall2")
H0RK C 2 A_WeaponReady(4)
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",10)
loop
ReadyBall2:
H0RK C 2 A_WeaponReady
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",10)
loop

Fire:
H0RK C 0 A_JumpIfInventory("RockBallCharge",7,"Fire1")
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK C 1 A_GiveInventory("RockBallCharge",1)
H0RK C 0 A_Refire("Fire")
goto OldFire
Fire1:
H0RK C 0 A_JumpIfInventory("RockBallCharge",14,"Fire2")
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK C 0 A_GiveInventory("RockBallCharge",1)
H0RK C 1 offset(0,34)A_WeaponReady(7)
H0RK C 0 A_Refire("Fire1")
goto OldFire
Fire2:
H0RK C 0 A_JumpIfInventory("RockBallCharge",28,"Fire3")
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK C 0 A_GiveInventory("RockBallCharge",1)
H0RK C 1 offset(0,36)A_WeaponReady(7)
H0RK C 0 A_Refire("Fire2")
goto OldFire
Fire3:
H0RK C 0 A_JumpIfInventory("RockBallCharge",42,"Fire4")
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK C 0 A_GiveInventory("RockBallCharge",1)
H0RK C 1 offset(0,40)A_WeaponReady(7)
H0RK C 0 A_Refire("Fire3")
goto OldFire
Fire4:
H0RK C 0 A_JumpIfInventory("RockBallCharge",56,"Fire5")
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK C 0 A_GiveInventory("RockBallCharge",1)
H0RK C 1 offset(0,44)A_WeaponReady(7)
H0RK C 0 A_Refire("Fire4")
goto OldFire
Fire5:
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK C 1 offset(0,45)A_WeaponReady(7)
H0RK C 0 A_Refire(1)
goto OldFire
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK C 1 offset(0,46)A_WeaponReady(7)
H0RK C 0 A_Refire(1)
goto OldFire
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK C 1 offset(0,47)A_WeaponReady(7)
H0RK C 0 A_Refire(1)
goto OldFire
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK C 1 offset(0,48)A_WeaponReady(7)
H0RK C 0 A_Refire(1)
goto OldFire
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK C 1 offset(0,48)A_WeaponReady(7)
H0RK C 0 A_Refire(1)
goto OldFire
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK C 1 offset(0,47)A_WeaponReady(7)
H0RK C 0 A_Refire(1)
goto OldFire
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK C 1 offset(0,46)A_WeaponReady(7)
H0RK C 0 A_Refire(1)
goto OldFire
H0RK C 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK C 1 offset(0,45)A_WeaponReady(7)
H0RK C 0 A_Refire("Fire5")
goto OldFire

OldFire:
H0RK F 0 A_PlaySoundEx("weapon/mbuster","Weapon")
H0RK F 0 A_TakeInventory("BallsOfSteelAmmo",111)
H0RK F 0 A_JumpIf(pitch>=45 && pitch<=90,"FireDown")
goto FireB
FireB:
H0RK F 0 A_GiveInventory("RockBallDropE_CI",1)
goto FireAni
FireDown:
H0RK F 0 A_JumpIf(z-floorz==0,"FireB")
H0RK F 0 A_PlaySoundEx("weapon/RockBall","SoundSlot7")
H0RK F 0 A_SpawnItemEx("MMFX_BCDE",16,0,-32)
H0RK F 0 A_JumpIfInventory("RockBallCharge",56,"FireDownX")
H0RK F 0 ThrustThingZ(0,44,0,0)
goto FireAni
FireDownX:
H0RK F 0 ThrustThingZ(0,60,0,0)
goto FireAni
FireAni:
H0RK F 0 A_JumpIfInventory("RockBallCharge",56,4)
H0RK F 0 A_JumpIfInventory("RockBallCharge",28,2)
H0RK F 1 offset(0,33)
H0RK F 1 offset(0,40)
H0RK F 1 offset(0,48)
H0RK F 1 offset(0,56)A_TakeInventory("RockBallCharge",200)
H0RK F 1 offset(0,64)
H0RK F 1 offset(0,72)A_WeaponReady(7)
H0RK F 1 offset(0,80)A_WeaponReady(7)
H0RK F 1 offset(0,88)A_WeaponReady(7)
H0RK F 1 offset(0,96)A_WeaponReady(7)

H0RK C 1 offset(0,88)A_WeaponReady(7)
H0RK C 1 offset(0,80)A_WeaponReady(7)
H0RK C 1 offset(0,72)A_WeaponReady(7)
H0RK C 1 offset(0,64)A_WeaponReady(7)
H0RK C 1 offset(0,56)A_WeaponReady(7)
H0RK C 1 offset(0,48)A_WeaponReady(7)
H0RK C 1 offset(0,40)A_WeaponReady(7)
Goto ReadyBall

Altfire:
H0RK G 0 A_GiveInventory("RockKickFlag",1)
H0RK G 0 A_WeaponReady(14)//resets offset
H0RK G 0 A_JumpIfInventory("RockBallCharge",1,"Altfire2")
H0RK G 0 A_PlaySoundEx("weapon/chargekick","Weapon")
H0RK I 1 offset(0,35)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK I 1 offset(0,31)
H0RK I 1 offset(0,27)
H0RK J 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK J 1 offset(0,28)
H0RK J 1 offset(0,25)A_GiveInventory("RockBallAlt_CI",1)
H0RK K 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,28)
H0RK K 1 offset(0,25)
H0RK K 1 offset(0,23)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,21)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,27)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,31)
H0RK L 1 offset(0,22)
H0RK L 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK L 1 offset(0,40)
H0RK L 1 offset(0,49)
H0RK L 1 offset(0,58)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK L 1 offset(0,67)
H0RK L 1 offset(0,76)A_TakeInventory("RockBallCharge",200)
H0RK L 0 A_TakeInventory("RockKickFlag",1)
Goto ReadyBall
Altfire2:
H0RK I 1 offset(0,35)A_GiveInventory("Rock_E_Pickup_X",1)
H0RK I 1 offset(0,31)A_TakeInventory("BallsOfSteelAmmo",111)
H0RK I 1 offset(0,27)
H0RK J 1 offset(0,31)
H0RK J 1 offset(0,28)
H0RK J 1 offset(0,25)
H0RK K 1 offset(0,31)
H0RK K 1 offset(0,28)
H0RK K 1 offset(0,25)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,21)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,27)
H0RK K 1 offset(0,31)
H0RK L 1 offset(0,22)A_TakeInventory("RockBallCharge",200)
H0RK L 1 offset(0,31)
H0RK L 1 offset(0,40)
H0RK L 1 offset(0,49)
H0RK L 1 offset(0,58)
H0RK L 1 offset(0,67)
H0RK L 1 offset(0,76)
H0RK L 0 A_TakeInventory("RockKickFlag",1)
Goto ReadyBall

NoAmmo:
H0RK F 1
Goto ReadyBall
}
}
actor MegaFireBallBoss : BaseMM8BDMWep_CBM
{
dropitem "MegaBallWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 777
Weapon.SlotNumber 4
Inventory.Pickupmessage "$PU_MEGABALL"
Obituary "$OB_ROCKBALL"
weapon.ammotype "BallsOfSteelAmmo"
inventory.icon "FIRESI"
States
{
Spawn:
C_00 D 1
loop

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
H0RK Z 1 offset(1,60)A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
H0RK Z 1 offset(1,60)A_Raise
Loop

Ready:
H0RK D 0 ACS_ExecuteAlways(998,0,703)
goto ReadyBall
ReadyBall:
H0RK D 0 A_JumpIfInventory("BallsOfSteelAmmo",111,"ReadyBall2")
H0RK D 2 A_WeaponReady(4)
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",10)
loop
ReadyBall2:
H0RK D 2 A_WeaponReady
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",10)
loop

Fire:
H0RK D 0 A_JumpIfInventory("RockBallCharge",7,"Fire1")
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK D 1 A_GiveInventory("RockBallCharge",1)
H0RK D 0 A_Refire("Fire")
goto OldFire
Fire1:
H0RK D 0 A_JumpIfInventory("RockBallCharge",14,"Fire2")
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK D 0 A_GiveInventory("RockBallCharge",1)
H0RK D 1 offset(0,34)A_WeaponReady(7)
H0RK D 0 A_Refire("Fire2")
goto OldFire
Fire2:
H0RK D 0 A_JumpIfInventory("RockBallCharge",28,"Fire3")
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK D 0 A_GiveInventory("RockBallCharge",1)
H0RK D 1 offset(0,36)A_WeaponReady(7)
H0RK D 0 A_Refire("Fire2")
goto OldFire
Fire3:
H0RK D 0 A_JumpIfInventory("RockBallCharge",42,"Fire4")
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK D 0 A_GiveInventory("RockBallCharge",1)
H0RK D 1 offset(0,40)A_WeaponReady(7)
H0RK D 0 A_Refire("Fire3")
goto OldFire
Fire4:
H0RK D 0 A_JumpIfInventory("RockBallCharge",56,"Fire5")
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK D 0 A_GiveInventory("RockBallCharge",1)
H0RK D 1 offset(0,44)A_WeaponReady(7)
H0RK D 0 A_Refire("Fire4")
goto OldFire
Fire5:
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK D 1 offset(0,45)A_WeaponReady(7)
H0RK D 0 A_Refire(1)
goto OldFire
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK D 1 offset(0,46)A_WeaponReady(7)
H0RK D 0 A_Refire(1)
goto OldFire
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK D 1 offset(0,47)A_WeaponReady(7)
H0RK D 0 A_Refire(1)
goto OldFire
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK D 1 offset(0,48)A_WeaponReady(7)
H0RK D 0 A_Refire(1)
goto OldFire
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK D 1 offset(0,48)A_WeaponReady(7)
H0RK D 0 A_Refire(1)
goto OldFire
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK D 1 offset(0,47)A_WeaponReady(7)
H0RK D 0 A_Refire(1)
goto OldFire
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK D 1 offset(0,46)A_WeaponReady(7)
H0RK D 0 A_Refire(1)
goto OldFire
H0RK D 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK D 1 offset(0,45)A_WeaponReady(7)
H0RK D 0 A_Refire("Fire5")
goto OldFire

OldFire:
H0RK F 0 A_PlaySoundEx("weapon/mbuster","Weapon")
H0RK F 0 A_TakeInventory("BallsOfSteelAmmo",111)
H0RK F 0 A_JumpIf(pitch>=45 && pitch<=90,"FireDown")
goto FireB
FireB:
H0RK F 0 A_GiveInventory("RockBallDropF_CI",1)
goto FireAni
FireDown:
H0RK F 0 A_JumpIf(z-floorz==0,"FireB")
H0RK F 0 A_PlaySoundEx("weapon/RockBall","SoundSlot7")
H0RK F 0 A_SpawnItemEx("MMFX_BCDE",16,0,-32)
H0RK F 0 A_JumpIfInventory("RockBallCharge",56,"FireDownX")
H0RK F 0 ThrustThingZ(0,44,0,0)
goto FireAni
FireDownX:
H0RK F 0 ThrustThingZ(0,60,0,0)
goto FireAni
FireAni:
H0RK F 0 A_JumpIfInventory("RockBallCharge",56,4)
H0RK F 0 A_JumpIfInventory("RockBallCharge",28,2)
H0RK F 1 offset(0,33)
H0RK F 1 offset(0,40)
H0RK F 1 offset(0,48)
H0RK F 1 offset(0,56)A_TakeInventory("RockBallCharge",200)
H0RK F 1 offset(0,64)
H0RK F 1 offset(0,72)A_WeaponReady(7)
H0RK F 1 offset(0,80)A_WeaponReady(7)
H0RK F 1 offset(0,88)A_WeaponReady(7)
H0RK F 1 offset(0,96)A_WeaponReady(7)

H0RK D 1 offset(0,88)A_WeaponReady(7)
H0RK D 1 offset(0,80)A_WeaponReady(7)
H0RK D 1 offset(0,72)A_WeaponReady(7)
H0RK D 1 offset(0,64)A_WeaponReady(7)
H0RK D 1 offset(0,56)A_WeaponReady(7)
H0RK D 1 offset(0,48)A_WeaponReady(7)
H0RK D 1 offset(0,40)A_WeaponReady(7)
Goto ReadyBall

Altfire:
H0RK G 0 A_GiveInventory("RockKickFlag",1)
H0RK G 0 A_WeaponReady(14)//resets offset
H0RK G 0 A_JumpIfInventory("RockBallCharge",1,"Altfire2")
H0RK G 0 A_PlaySoundEx("weapon/chargekick","Weapon")
H0RK I 1 offset(0,35)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK I 1 offset(0,31)
H0RK I 1 offset(0,27)
H0RK J 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK J 1 offset(0,28)
H0RK J 1 offset(0,25)A_GiveInventory("RockBallAlt_CI",1)
H0RK K 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,28)
H0RK K 1 offset(0,25)
H0RK K 1 offset(0,23)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,21)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,27)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,31)
H0RK L 1 offset(0,22)
H0RK L 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK L 1 offset(0,40)
H0RK L 1 offset(0,49)
H0RK L 1 offset(0,58)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK L 1 offset(0,67)
H0RK L 1 offset(0,76)A_TakeInventory("RockBallCharge",200)
H0RK L 0 A_TakeInventory("RockKickFlag",1)
Goto ReadyBall
Altfire2:
H0RK I 1 offset(0,35)A_GiveInventory("Rock_F_Pickup_X",1)
H0RK I 1 offset(0,31)A_TakeInventory("BallsOfSteelAmmo",111)
H0RK I 1 offset(0,27)
H0RK J 1 offset(0,31)
H0RK J 1 offset(0,28)
H0RK J 1 offset(0,25)
H0RK K 1 offset(0,31)
H0RK K 1 offset(0,28)
H0RK K 1 offset(0,25)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,21)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,27)
H0RK K 1 offset(0,31)
H0RK L 1 offset(0,22)A_TakeInventory("RockBallCharge",200)
H0RK L 1 offset(0,31)
H0RK L 1 offset(0,40)
H0RK L 1 offset(0,49)
H0RK L 1 offset(0,58)
H0RK L 1 offset(0,67)
H0RK L 1 offset(0,76)
H0RK L 0 A_TakeInventory("RockKickFlag",1)
Goto ReadyBall

NoAmmo:
H0RK F 1
Goto ReadyBall
}
}
actor MegaBombBallBoss : BaseMM8BDMWep_CBM
{
dropitem "MegaBallWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 777
Weapon.SlotNumber 5
Inventory.Pickupmessage "$PU_MEGABALL"
Obituary "$OB_ROCKBALL"
weapon.ammotype "BallsOfSteelAmmo"
inventory.icon "BOMBSI"
States
{
Spawn:
C_00 D 1
loop

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
H0RK Z 1 offset(1,60)A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
H0RK Z 1 offset(1,60)A_Raise
Loop

Ready:
H0RK E 0 ACS_ExecuteAlways(998,0,703)
goto ReadyBall
ReadyBall:
H0RK E 0 A_JumpIfInventory("BallsOfSteelAmmo",111,"ReadyBall2")
H0RK E 2 A_WeaponReady(4)
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",10)
loop
ReadyBall2:
H0RK E 2 A_WeaponReady
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",10)
loop

Fire:
H0RK E 0 A_JumpIfInventory("RockBallCharge",7,"Fire1")
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK E 1 A_GiveInventory("RockBallCharge",1)
H0RK E 0 A_Refire("Fire")
goto OldFire
Fire1:
H0RK E 0 A_JumpIfInventory("RockBallCharge",14,"Fire2")
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK E 0 A_GiveInventory("RockBallCharge",1)
H0RK E 1 offset(0,34)A_WeaponReady(7)
H0RK E 0 A_Refire("Fire2")
goto OldFire
Fire2:
H0RK E 0 A_JumpIfInventory("RockBallCharge",28,"Fire3")
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK E 0 A_GiveInventory("RockBallCharge",1)
H0RK E 1 offset(0,36)A_WeaponReady(7)
H0RK E 0 A_Refire("Fire2")
goto OldFire
Fire3:
H0RK E 0 A_JumpIfInventory("RockBallCharge",42,"Fire4")
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK E 0 A_GiveInventory("RockBallCharge",1)
H0RK E 1 offset(0,40)A_WeaponReady(7)
H0RK E 0 A_Refire("Fire3")
goto OldFire
Fire4:
H0RK E 0 A_JumpIfInventory("RockBallCharge",56,"Fire5")
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK E 0 A_GiveInventory("RockBallCharge",1)
H0RK E 1 offset(0,44)A_WeaponReady(7)
H0RK E 0 A_Refire("Fire4")
goto OldFire
Fire5:
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK E 1 offset(0,45)A_WeaponReady(7)
H0RK E 0 A_Refire(1)
goto OldFire
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK E 1 offset(0,46)A_WeaponReady(7)
H0RK E 0 A_Refire(1)
goto OldFire
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK E 1 offset(0,47)A_WeaponReady(7)
H0RK E 0 A_Refire(1)
goto OldFire
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK E 1 offset(0,48)A_WeaponReady(7)
H0RK E 0 A_Refire(1)
goto OldFire
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK E 1 offset(0,48)A_WeaponReady(7)
H0RK E 0 A_Refire(1)
goto OldFire
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK E 1 offset(0,47)A_WeaponReady(7)
H0RK E 0 A_Refire(1)
goto OldFire
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK E 1 offset(0,46)A_WeaponReady(7)
H0RK E 0 A_Refire(1)
goto OldFire
H0RK E 0 A_GiveInventory("BallsOfSteelAmmo",2)
H0RK E 1 offset(0,45)A_WeaponReady(7)
H0RK E 0 A_Refire("Fire5")
goto OldFire

OldFire:
H0RK F 0 A_PlaySoundEx("weapon/mbuster","Weapon")
H0RK F 0 A_TakeInventory("BallsOfSteelAmmo",111)
H0RK F 0 A_JumpIf(pitch>=45 && pitch<=90,"FireDown")
goto FireB
FireB:
H0RK F 0 A_GiveInventory("RockBallDropB_CI",1)
goto FireAni
FireDown:
H0RK F 0 A_JumpIf(z-floorz==0,"FireB")
H0RK F 0 A_PlaySoundEx("weapon/RockBall","SoundSlot7")
H0RK F 0 A_SpawnItemEx("MMFX_BCDE",16,0,-32)
H0RK F 0 A_JumpIfInventory("RockBallCharge",56,"FireDownX")
H0RK F 0 ThrustThingZ(0,44,0,0)
goto FireAni
FireDownX:
H0RK F 0 ThrustThingZ(0,60,0,0)
goto FireAni
FireAni:
H0RK F 0 A_JumpIfInventory("RockBallCharge",56,4)
H0RK F 0 A_JumpIfInventory("RockBallCharge",28,2)
H0RK F 1 offset(0,33)
H0RK F 1 offset(0,40)
H0RK F 1 offset(0,48)
H0RK F 1 offset(0,56)A_TakeInventory("RockBallCharge",200)
H0RK F 1 offset(0,64)
H0RK F 1 offset(0,72)A_WeaponReady(7)
H0RK F 1 offset(0,80)A_WeaponReady(7)
H0RK F 1 offset(0,88)A_WeaponReady(7)
H0RK F 1 offset(0,96)A_WeaponReady(7)

H0RK E 1 offset(0,88)A_WeaponReady(7)
H0RK E 1 offset(0,80)A_WeaponReady(7)
H0RK E 1 offset(0,72)A_WeaponReady(7)
H0RK E 1 offset(0,64)A_WeaponReady(7)
H0RK E 1 offset(0,56)A_WeaponReady(7)
H0RK E 1 offset(0,48)A_WeaponReady(7)
H0RK E 1 offset(0,40)A_WeaponReady(7)
Goto ReadyBall

Altfire:
H0RK G 0 A_GiveInventory("RockKickFlag",1)
H0RK G 0 A_WeaponReady(14)//resets offset
H0RK G 0 A_JumpIfInventory("RockBallCharge",1,"Altfire2")
H0RK G 0 A_PlaySoundEx("weapon/chargekick","Weapon")
H0RK I 1 offset(0,35)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK I 1 offset(0,31)
H0RK I 1 offset(0,27)
H0RK J 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK J 1 offset(0,28)
H0RK J 1 offset(0,25)A_GiveInventory("RockBallAlt_CI",1)
H0RK K 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,28)
H0RK K 1 offset(0,25)
H0RK K 1 offset(0,23)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,21)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,27)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK K 1 offset(0,31)
H0RK L 1 offset(0,22)
H0RK L 1 offset(0,31)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK L 1 offset(0,40)
H0RK L 1 offset(0,49)
H0RK L 1 offset(0,58)A_GiveInventory("BallsOfSteelAmmo",6)
H0RK L 1 offset(0,67)
H0RK L 1 offset(0,76)A_TakeInventory("RockBallCharge",200)
H0RK L 0 A_TakeInventory("RockKickFlag",1)
Goto ReadyBall
Altfire2:
H0RK I 1 offset(0,35)A_GiveInventory("Rock_B_Pickup_X",1)
H0RK I 1 offset(0,31)A_TakeInventory("BallsOfSteelAmmo",111)
H0RK I 1 offset(0,27)
H0RK J 1 offset(0,31)
H0RK J 1 offset(0,28)
H0RK J 1 offset(0,25)
H0RK K 1 offset(0,31)
H0RK K 1 offset(0,28)
H0RK K 1 offset(0,25)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,21)
H0RK K 1 offset(0,23)
H0RK K 1 offset(0,27)
H0RK K 1 offset(0,31)
H0RK L 1 offset(0,22)A_TakeInventory("RockBallCharge",200)
H0RK L 1 offset(0,31)
H0RK L 1 offset(0,40)
H0RK L 1 offset(0,49)
H0RK L 1 offset(0,58)
H0RK L 1 offset(0,67)
H0RK L 1 offset(0,76)
H0RK L 0 A_TakeInventory("RockKickFlag",1)
Goto ReadyBall

NoAmmo:
H0RK F 1
Goto ReadyBall
}
}


actor BallsOfSteelAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 777
+INVENTORY.IGNORESKILL
}

actor RockFlag :OnceC{}

actor RockBallFlashFlag :OnceC{}

actor RockBallCharge : Inventory
{
inventory.amount 1
inventory.maxamount 56
}

actor BallDropFlag :OnceC{}

actor RockNoKickFlag :OnceC{}

actor RockKickFlag :OnceC{}

actor KickBallDelay : PowerUp
{
powerup.duration 8
}

actor RockMultiDelay : PowerUp
{
powerup.duration 2
}


actor RockKickC
{
Translation "198:198=225:225", "192:192=247:247"//"198:198=208:208", "192:192=225:225"
PROJECTILE
Radius 12//14
Height 20//25
scale 2.0
damage (15)
damagetype "RockKick"
Obituary "$OB_ROCKKICK"
speed 40

RenderStyle "translucent"
Alpha 0.70

Species "RockBall"
+THRUSPECIES
+NOEXPLODEFLOOR
States
{
Spawn:
X_5F D 0
X_5F DEF 2
TNT1 A 1
stop
}
}

actor RockKickCB : RockKickC{translation "192:192=205:205","198:198=74:74"}
actor RockKickCR : RockKickC{translation "192:192=171:171","198:198=41:41"}
actor RockKickCO : RockKickC{translation "192:192=104:104","198:198=128:128"}
actor RockKickCP : RockKickC{translation "192:192=229:229","198:198=232:232"}


actor Rock_B_M
{
Translation "195:195=61:61","204:204=203:203"
PROJECTILE
-NOGRAVITY
+DONTSPLASH
+FORCEXYBILLBOARD
+HEXENBOUNCE
+NOEXPLODEFLOOR
+BOUNCEAUTOOFF
BounceFactor 0.5
WallBounceFactor 0.01
scale 2.5
height 12
radius 16
speed 0
damage (12)
damagetype "MegaBall"
Obituary "$OB_ROCKBALL"

mass 99999
ReactionTime 150

States
{
Spawn:
H6RK B 0
H6RK B 0 A_Jump(256,1,5,9,13,17,21,25)
//H6RK HGFEDCB 2 A_JumpIf(z-floorz < 8, "Spawn2")

H6RK H 1 A_JumpIf(z-floorz<8,"Spawn2")
H6RK H 0 A_JumpIfCloser(34,"KCH")
H6RK H 1 A_JumpIf(z-floorz<8,"Spawn2")
H6RK H 0 A_JumpIfCloser(34,"KCHH")
H6RK G 1 A_JumpIf(z-floorz<8,"Spawn2")
H6RK G 0 A_JumpIfCloser(34,"KCG")
H6RK G 1 A_JumpIf(z-floorz<8,"Spawn2")
H6RK G 0 A_JumpIfCloser(34,"KCGG")
H6RK F 1 A_JumpIf(z-floorz<8,"Spawn2")
H6RK F 0 A_JumpIfCloser(34,"KCF")
H6RK F 1 A_JumpIf(z-floorz<8,"Spawn2")
H6RK F 0 A_JumpIfCloser(34,"KCFF")
H6RK E 1 A_JumpIf(z-floorz<8,"Spawn2")
H6RK E 0 A_JumpIfCloser(34,"KCE")
H6RK E 1 A_JumpIf(z-floorz<8,"Spawn2")
H6RK E 0 A_JumpIfCloser(34,"KCEE")
H6RK D 1 A_JumpIf(z-floorz<8,"Spawn2")
H6RK D 0 A_JumpIfCloser(34,"KCD")
H6RK D 1 A_JumpIf(z-floorz<8,"Spawn2")
H6RK D 0 A_JumpIfCloser(34,"KCDD")
H6RK C 1 A_JumpIf(z-floorz<8,"Spawn2")
H6RK C 0 A_JumpIfCloser(34,"KCC")
H6RK C 1 A_JumpIf(z-floorz<8,"Spawn2")
H6RK C 0 A_JumpIfCloser(34,"KCCC")
H6RK B 1 A_JumpIf(z-floorz<8,"Spawn2")
H6RK B 0 A_JumpIfCloser(34,"KCB")
H6RK B 1 A_JumpIf(z-floorz<8,"Spawn2")
H6RK B 0 A_JumpIfCloser(34,"KCBB")
H6RK B 0
goto Spawn+2
KCH:
H6RK H 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK H 0 A_Jump(256,"KickOrSpring2")
H6RK H 0
Goto Spawn+4
KCHH:
H6RK H 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK H 0 A_Jump(256,"KickOrSpring2")
H6RK H 0
Goto Spawn+6
KCG:
H6RK G 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK G 0 A_Jump(256,"KickOrSpring2")
H6RK G 0
Goto Spawn+8
KCGG:
H6RK G 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK G 0 A_Jump(256,"KickOrSpring2")
H6RK G 0
Goto Spawn+10
KCF:
H6RK F 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK F 0 A_Jump(256,"KickOrSpring2")
H6RK F 0
Goto Spawn+12
KCFF:
H6RK F 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK F 0 A_Jump(256,"KickOrSpring2")
H6RK F 0
Goto Spawn+14
KCE:
H6RK E 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK E 0 A_Jump(256,"KickOrSpring2")
H6RK E 0
Goto Spawn+16
KCEE:
H6RK E 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK E 0 A_Jump(256,"KickOrSpring2")
H6RK E 0
Goto Spawn+18
KCD:
H6RK D 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK D 0 A_Jump(256,"KickOrSpring2")
H6RK D 0
Goto Spawn+20
KCDD:
H6RK D 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK D 0 A_Jump(256,"KickOrSpring2")
H6RK D 0
Goto Spawn+22
KCC:
H6RK C 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK C 0 A_Jump(256,"KickOrSpring2")
H6RK C 0
Goto Spawn+24
KCCC:
H6RK C 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK C 0 A_Jump(256,"KickOrSpring2")
H6RK C 0
Goto Spawn+26
KCB:
H6RK B 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK B 0 A_Jump(256,"KickOrSpring2")
H6RK B 0
Goto Spawn+28
KCBB:
H6RK B 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK B 0 A_Jump(256,"KickOrSpring2")
H6RK B 0
Goto Spawn+2//30

Spawn2:
H6RK "#" 0 A_CountDown//A_GiveInventory("WeaponCharge",1)
H6RK "#" 0 A_JumpIfCloser(34,"KickCheck")
H6RK "#" 0 ThrustThing(angle*256/360,0)
H6RK "#" 1 ThrustThingZ(0,0,0,1)
//H6RK "#" 0 A_JumpIfInventory("WeaponCharge",150,"Death")
loop
KickCheck:
H6RK "#" 0 A_JumpIfInTargetInventory("KickBallDelay",1,2)
H6RK "#" 0 A_Jump(256,"KickOrSpring")
H6RK "#" 0
Goto Spawn2+2
KickOrSpring:
H6RK "#" 0
H6RK "#" 1 A_GiveToTarget("Rock_M_Pickup",1)
Goto Death
KickOrSpring2:
H6RK "#" 0
H6RK "#" 1 A_GiveToTarget("Rock_M_PickupA",1)
Goto Death
Death:
H6RK "#" 0 A_ChangeFlag("NOGRAVITY",1)
H6RK "#" 0 A_Stop
H6RK "#" 1
VMFX FGHI 1
stop
}
}

actor Rock_B_MB:Rock_B_M{translation"195:195=74:74","204:204=205:205"}
actor Rock_B_MR:Rock_B_M{translation"195:195=41:41","204:204=171:171"}
actor Rock_B_MO:Rock_B_M{translation"195:195=128:128","204:204=104:104"}
actor Rock_B_MP:Rock_B_M{translation"195:195=232:232","204:204=229:229"}

actor Rock_B_I : Rock_B_M
{
Translation "195:195=203:203","204:204=4:4"
States
{
KickOrSpring:
H6RK "#" 0
H6RK "#" 1 A_GiveToTarget("Rock_I_Pickup",1)
Goto Death
KickOrSpring2:
H6RK "#" 0
H6RK "#" 1 A_GiveToTarget("Rock_I_PickupA",1)
Goto Death}}

actor Rock_B_IB:Rock_B_I{translation"195:195=74:74","204:204=205:205"}
actor Rock_B_IR:Rock_B_I{translation"195:195=41:41","204:204=171:171"}
actor Rock_B_IO:Rock_B_I{translation"195:195=128:128","204:204=104:104"}
actor Rock_B_IP:Rock_B_I{translation"195:195=232:232","204:204=229:229"}

actor Rock_B_E : Rock_B_M
{
Translation "195:195=215:215","204:204=4:4"
States
{
KickOrSpring:
H6RK "#" 0
H6RK "#" 1 A_GiveToTarget("Rock_E_Pickup",1)
Goto Death
KickOrSpring2:
H6RK "#" 0
H6RK "#" 1 A_GiveToTarget("Rock_E_PickupA",1)
Goto Death}}

actor Rock_B_EB:Rock_B_E{translation"195:195=74:74","204:204=205:205"}
actor Rock_B_ER:Rock_B_E{translation"195:195=41:41","204:204=171:171"}
actor Rock_B_EO:Rock_B_E{translation"195:195=128:128","204:204=104:104"}
actor Rock_B_EP:Rock_B_E{translation"195:195=232:232","204:204=229:229"}

actor Rock_B_F : Rock_B_M
{
Translation "195:195=227:227","204:204=229:229"
States
{
KickOrSpring:
H6RK "#" 0
H6RK "#" 1 A_GiveToTarget("Rock_F_Pickup",1)
Goto Death
KickOrSpring2:
H6RK "#" 0
H6RK "#" 1 A_GiveToTarget("Rock_F_PickupA",1)
Goto Death}}

actor Rock_B_FB:Rock_B_F{translation"195:195=74:74","204:204=205:205"}
actor Rock_B_FR:Rock_B_F{translation"195:195=41:41","204:204=171:171"}
actor Rock_B_FO:Rock_B_F{translation"195:195=128:128","204:204=104:104"}
actor Rock_B_FP:Rock_B_F{translation"195:195=232:232","204:204=229:229"}

actor Rock_B_B : Rock_B_M
{
Translation "195:195=110:110","204:204=4:4"
States
{
KickOrSpring:
H6RK "#" 0
H6RK "#" 1 A_GiveToTarget("Rock_B_Pickup",1)
Goto Death
KickOrSpring2:
H6RK "#" 0
H6RK "#" 1 A_GiveToTarget("Rock_B_PickupA",1)
Goto Death}}

actor Rock_B_BB:Rock_B_B{translation"195:195=74:74","204:204=205:205"}
actor Rock_B_BR:Rock_B_B{translation"195:195=41:41","204:204=171:171"}
actor Rock_B_BO:Rock_B_B{translation"195:195=128:128","204:204=104:104"}
actor Rock_B_BP:Rock_B_B{translation"195:195=232:232","204:204=229:229"}

actor Rock_BK_M
{
Translation "195:195=61:61","204:204=203:203","198:198=212:212","192:192=4:4"
PROJECTILE
+THRUSPECIES
+HEXENBOUNCE//+DOOMBOUNCE
-NOGRAVITY
+FORCEXYBILLBOARD
+CANBOUNCEWATER
scale 2.5
height 16
radius 16
damage(21)
bouncecount 11
bouncefactor 0.9
wallbouncefactor 0.9
Gravity 0.50
speed 35
Species "RockBall"
seesound "weapon/megaball"
damagetype "MegaBall"
Obituary "$OB_MEGABALL"
States
{
Spawn:
H6RK B 2
H6RK B 0 ThrustThingZ(0,20,0,1)
H6RK BCDEFGHI 1 A_SpawnItemEx("Rock_BK_MFX",0,0,0,0,0,0,0,1)
Goto Spawn+2
Death:
VMFX FGHI 2
stop
}
}

actor Rock_BK_MB:Rock_BK_M{translation"195:195=74:74","204:204=205:205"}
actor Rock_BK_MR:Rock_BK_M{translation"195:195=41:41","204:204=171:171","198:198=41:41","192:192=171:171"}
actor Rock_BK_MO:Rock_BK_M{translation"195:195=128:128","204:204=104:104","198:198=128:128","192:192=104:104"}
actor Rock_BK_MP:Rock_BK_M{translation"195:195=232:232","204:204=229:229","198:198=232:232","192:192=229:229"}

actor Rock_BK2_M : Rock_BK_M
{
+NOGRAVITY
bouncefactor 1.0
wallbouncefactor 1.0
damage(23)
speed 45
States
{
Spawn:
H6RK BCDEFGHI 1 A_SpawnItemEx("Rock_BK_MFX",0,0,0,0,0,0,0,1)
loop
}
}

actor Rock_BK2_MB:Rock_BK2_M{translation"195:195=74:74","204:204=205:205"}
actor Rock_BK2_MR:Rock_BK2_M{translation"195:195=41:41","204:204=171:171","198:198=41:41","192:192=171:171"}
actor Rock_BK2_MO:Rock_BK2_M{translation"195:195=128:128","204:204=104:104","198:198=128:128","192:192=104:104"}
actor Rock_BK2_MP:Rock_BK2_M{translation"195:195=232:232","204:204=229:229","198:198=232:232","192:192=229:229"}

actor Rock_BK_I : Rock_BK_M
{
damagetype "MegaIceBall"
Obituary "$OB_MEGAICEBALL"
Translation "195:195=203:203","204:204=4:4"
damage(16)
bouncecount 8
bouncefactor 0.85
wallbouncefactor 0.90
Gravity 0.65
speed 31
States
{
Spawn:
H6RK B 2
H6RK B 0 ThrustThingZ(0,20,0,1)
H6RK BCDEFGHI 1 A_SpawnItemEx("Rock_BK_IFX",0,Random(-18,18),random(4,-6),0,0,0,0,1)
Goto Spawn+2
}
}
actor Rock_BK2_I : Rock_BK_I{speed 39 damage(17)}

actor Rock_BK_IB:Rock_BK_I{translation"195:195=74:74","204:204=205:205"}
actor Rock_BK_IR:Rock_BK_I{translation"195:195=41:41","204:204=171:171"}
actor Rock_BK_IO:Rock_BK_I{translation"195:195=128:128","204:204=104:104"}
actor Rock_BK_IP:Rock_BK_I{translation"195:195=232:232","204:204=229:229"}

actor Rock_BK2_IB:Rock_BK2_I{translation"195:195=74:74","204:204=205:205"}
actor Rock_BK2_IR:Rock_BK2_I{translation"195:195=41:41","204:204=171:171"}
actor Rock_BK2_IO:Rock_BK2_I{translation"195:195=128:128","204:204=104:104"}
actor Rock_BK2_IP:Rock_BK2_I{translation"195:195=232:232","204:204=229:229"}

actor Rock_BK_E : Rock_BK_M
{
damagetype "MegaElecBall"
Obituary "$OB_MEGAELECBALL"
Translation "195:195=215:215","204:204=4:4"
+RIPPER
damage(9)
bouncecount 7
bouncefactor 0.975
wallbouncefactor 0.975
Gravity 0.85
speed 35
States
{
Spawn:
H6RK B 2
H6RK B 0 ThrustThingZ(0,20,0,1)
H6RK BCDEFGHI 1 A_SpawnItemEx("Rock_BK_EFX",0,0,0,0,0,0,0,1)
Goto Spawn+2
}
}
actor Rock_BK2_E : Rock_BK_E{damage(10) speed 40}

actor Rock_BK_EB:Rock_BK_E{translation"195:195=74:74","204:204=205:205"}
actor Rock_BK_ER:Rock_BK_E{translation"195:195=41:41","204:204=171:171"}
actor Rock_BK_EO:Rock_BK_E{translation"195:195=128:128","204:204=104:104"}
actor Rock_BK_EP:Rock_BK_E{translation"195:195=232:232","204:204=229:229"}

actor Rock_BK2_EB:Rock_BK2_E{translation"195:195=74:74","204:204=205:205"}
actor Rock_BK2_ER:Rock_BK2_E{translation"195:195=41:41","204:204=171:171"}
actor Rock_BK2_EO:Rock_BK2_E{translation"195:195=128:128","204:204=104:104"}
actor Rock_BK2_EP:Rock_BK2_E{translation"195:195=232:232","204:204=229:229"}

actor Rock_BK_F : Rock_BK_M
{
damagetype "MegaFireBall"
Obituary "$OB_MEGAFIREBALL"
Translation "195:195=227:227","204:204=229:229"
damage(4)
bouncecount 5
bouncefactor 0.99
wallbouncefactor 0.85
speed 55
States
{
Spawn:
H6RK B 2
H6RK B 0 ThrustThingZ(0,20,0,1)
H6RK BCDEFGHI 1 A_SpawnItemEx("Rock_BK_FFX",0,0,0,0,0,0,0,1)
Goto Spawn+2
}
}


actor RockFireBallBurn : BasicExplosion
{
damagetype "WilyFireB2"
Obituary "$OB_MEGAFIREBALLX"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(2,15,0,0,15)
stop
}
}

actor Rock_BK2_F : Rock_BK_F
{
bouncecount 6
speed 70
}

actor Rock_BK_FB:Rock_BK_F{translation"195:195=74:74","204:204=205:205"}
actor Rock_BK_FR:Rock_BK_F{translation"195:195=41:41","204:204=171:171"}
actor Rock_BK_FO:Rock_BK_F{translation"195:195=128:128","204:204=104:104"}
actor Rock_BK_FP:Rock_BK_F{translation"195:195=232:232","204:204=229:229"}

actor Rock_BK2_FB:Rock_BK2_F{translation"195:195=74:74","204:204=205:205"}
actor Rock_BK2_FR:Rock_BK2_F{translation"195:195=41:41","204:204=171:171"}
actor Rock_BK2_FO:Rock_BK2_F{translation"195:195=128:128","204:204=104:104"}
actor Rock_BK2_FP:Rock_BK2_F{translation"195:195=232:232","204:204=229:229"}

actor Rock_BK_B : Rock_BK_M
{
-HEXENBOUNCE
Bouncetype Classic
+BOUNCEONWALLS
damagetype "MegaBombBall"
Obituary "$OB_MEGABOMBBALL"
//Translation "247:247=249:249"//239
Translation "195:195=110:110","204:204=4:4","202:202=215:215"
damage(2)
bouncecount 1
bouncefactor 0.0
wallbouncefactor 1.0
Gravity 1.25
speed 35
States
{
Spawn:
H6RK B 2
H6RK B 0 ThrustThingZ(0,28,0,1)
H6RK BCDEFGHI 1 A_SpawnItemEx("Rock_BK_BFX",0,0,0,0,0,0,0,1)
Goto Spawn+2
Death:
TNT1 A 0 A_Stop
TNT1 A 0 A_PlaySoundEx("weapon/hyperbomb","Weapon")
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_Explode(18,128,0,0,12)
TH_B BCDEFGHIJKLMNOPQR 1
stop
}
}

actor Rock_BK_BB:Rock_BK_B{translation"195:195=74:74","204:204=205:205","202:202=205:205"}
actor Rock_BK_BR:Rock_BK_B{translation"195:195=41:41","204:204=171:171","202:202=171:171"}
actor Rock_BK_BO:Rock_BK_B{translation"195:195=128:128","204:204=104:104","202:202=104:104"}
actor Rock_BK_BP:Rock_BK_B{translation"195:195=232:232","204:204=229:229","202:202=229:229"}

actor Rock_BK2_B : Rock_BK_B{damage(4) speed 45 bouncecount 2 bouncefactor 1.0 States{
Death:
TNT1 A 0 A_Stop
TNT1 A 0 A_PlaySoundEx("weapon/hyperbomb","Weapon")
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_Explode(19,128,0,0,56)
TH_B BCDEFGHIJKLMNOPQR 1
stop}}

actor Rock_BK2_BB:Rock_BK2_B{translation"195:195=74:74","204:204=205:205","202:202=205:205"}
actor Rock_BK2_BR:Rock_BK2_B{translation"195:195=41:41","204:204=171:171","202:202=171:171"}
actor Rock_BK2_BO:Rock_BK2_B{translation"195:195=128:128","204:204=104:104","202:202=104:104"}
actor Rock_BK2_BP:Rock_BK2_B{translation"195:195=232:232","204:204=229:229","202:202=229:229"}


actor Rock_BK_MFX : BasicClientSide
{
+FORCEXYBILLBOARD
RenderStyle "translucent"
Alpha 0.70
States
{
Spawn:
TNT1 A 2
H6RK JKLM 2 A_FadeOut
stop
}
}
actor Rock_BK_IFX : Rock_BK_MFX{Alpha 0.95 Scale 2.5 States{Spawn:
TNT1 A 2
TNT1 A 0 A_Jump(256,1,6)
H6RK NNOOO 2 A_FadeOut
stop
H6RK PPQQQ 2 A_FadeOut
stop
}
}
actor Rock_BK_EFX : Rock_BK_MFX{Scale 1.5 States{Spawn:
TNT1 A 2
H6RK RSTU 2 A_FadeOut
stop
}
}
actor Rock_BK_FFX : Rock_BK_MFX{Alpha 0.85 Scale 1.75 States{Spawn:
TNT1 A 2
H6RK VWX 3 A_FadeOut
stop
}
}
actor Rock_BK_BFX : Rock_BK_MFX{Scale 2.0 States{Spawn:
TNT1 A 2//COLOR 249
H6RK YYYY 2 A_FadeOut
stop
}
}

actor Rock_M_Pickup : CustomInventory
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/RockBall","SoundSlot7")
TNT1 A 0 A_JumpIfInventory("RockKickFlag",1,"Kicker_S")
TNT1 A 0 A_JumpIf(z-floorz==0,"Kicker")
TNT1 A 1 ThrustThingZ(0,60,0,0)
TNT1 A 1 A_TakeInventory("JumpCancler",1)
stop
Kicker:
TNT1 A 0 A_GiveInventory("KickBallDelay",1)
TNT1 A 0 A_Jump(256,"Kick")
goto Kick
Kick:
TNT1 A 0 A_GiveInventory("RockBall_CI",1)
stop
Kicker_S:
TNT1 A 0 A_JumpIfInventory("RockMultiDelay",1,"Kick_S2")
TNT1 A 0 A_GiveInventory("RockMultiDelay",1)
TNT1 A 0 A_Jump(256,"Kick_S")
goto Kick_S
Kick_S:
TNT1 A 0 A_GiveInventory("RockBall2_CI",1)
stop
Kick_S2:
TNT1 A 0 A_GiveInventory("RockBall3_CI",1)
stop
}
}

//RockBallCharge

actor Rock_M_PickupA : Rock_M_Pickup
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/RockBall","SoundSlot7")
TNT1 A 0 A_JumpIfInventory("RockKickFlag",1,"Kicker_S")
TNT1 A 0 A_GiveInventory("KickBallDelay",1)
TNT1 A 0 A_Jump(256,"Kick")
goto Kick
Kick:
TNT1 A 0 A_GiveInventory("RockBall_CI",1)
stop
Kick_S:
TNT1 A 0
TNT1 A 0 A_GiveInventory("RockBall2_CI",1)
stop
}
}

actor Rock_I_Pickup : Rock_M_Pickup{States{
Kick:TNT1 A 0 A_GiveInventory("RockBallI_CI",1)stop
Kick_S:TNT1 A 0 A_GiveInventory("RockBallI2_CI",1)stop
Kick_S2:TNT1 A 0 A_GiveInventory("RockBallI3_CI",1)stop}}
actor Rock_I_PickupA : Rock_M_PickupA{States{
Kick:TNT1 A 0 A_GiveInventory("RockBallI_CI",1)stop
Kick_S:TNT1 A 0 A_GiveInventory("RockBallI2_CI",1)stop
Kick_S2:TNT1 A 0 A_GiveInventory("RockBallI3_CI",1)stop}}

actor Rock_E_Pickup : Rock_M_Pickup{States{
Kick:TNT1 A 0 A_GiveInventory("RockBallE_CI",1)stop
Kick_S:TNT1 A 0 A_GiveInventory("RockBallE2_CI",1)stop
Kick_S2:TNT1 A 0 A_GiveInventory("RockBallE3_CI",1)stop}}
actor Rock_E_PickupA : Rock_M_PickupA{States{
Kick:TNT1 A 0 A_GiveInventory("RockBallE_CI",1)stop
Kick_S:TNT1 A 0 A_GiveInventory("RockBallE2_CI",1)stop
Kick_S2:TNT1 A 0 A_GiveInventory("RockBallE3_CI",1)stop}}

actor Rock_F_Pickup : Rock_M_Pickup{States{
Kick:TNT1 A 0 A_GiveInventory("RockBallF_CI",1)stop
Kick_S:TNT1 A 0 A_GiveInventory("RockBallF2_CI",1)stop
Kick_S2:TNT1 A 0 A_GiveInventory("RockBallF3_CI",1)stop}}
actor Rock_F_PickupA : Rock_M_PickupA{States{
Kick:TNT1 A 0 A_GiveInventory("RockBallF_CI",1)stop
Kick_S:TNT1 A 0 A_GiveInventory("RockBallF2_CI",1)stop
Kick_S2:TNT1 A 0 A_GiveInventory("RockBallF3_CI",1)stop}}

actor Rock_B_Pickup : Rock_M_Pickup{States{
Kick:TNT1 A 0 A_GiveInventory("RockBallB_CI",1)stop
Kick_S:TNT1 A 0 A_GiveInventory("RockBallB2_CI",1)stop
Kick_S2:TNT1 A 0 A_GiveInventory("RockBallB3_CI",1)stop}}
actor Rock_B_PickupA : Rock_M_PickupA{States{
Kick:TNT1 A 0 A_GiveInventory("RockBallB_CI",1)stop
Kick_S:TNT1 A 0 A_GiveInventory("RockBallB2_CI",1)stop
Kick_S2:TNT1 A 0 A_GiveInventory("RockBallB3_CI",1)stop}}


actor Rock_M_Pickup_X : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_PlaySoundEx("weapon/RockBall","SoundSlot7")
TNT1 A 0 A_JumpIfInventory("RockBallCharge",48,"Kick_S")
goto Kick
Kick:
TNT1 A 0 A_GiveInventory("RockBallX_CI",1)
stop
Kick_S:
TNT1 A 0 A_GiveInventory("RockBallX2_CI",1)
stop
}
}

actor Rock_I_Pickup_X : CustomInventory{States{Pickup:TNT1 A 0 A_PlaySoundEx("weapon/RockBall","SoundSlot7")
TNT1 A 0 A_JumpIfInventory("RockBallCharge",56,"Kick_S")goto Kick
Kick:TNT1 A 0 A_GiveInventory("RockBallIX_CI",1)stop
Kick_S:TNT1 A 0 A_GiveInventory("RockBallIX2_CI",1)stop}}

actor Rock_E_Pickup_X : CustomInventory{States{Pickup:TNT1 A 0 A_PlaySoundEx("weapon/RockBall","SoundSlot7")
TNT1 A 0 A_JumpIfInventory("RockBallCharge",56,"Kick_S")goto Kick
Kick:TNT1 A 0 A_GiveInventory("RockBallEX_CI",1)stop
Kick_S:TNT1 A 0 A_GiveInventory("RockBallEX2_CI",1)stop}}

actor Rock_F_Pickup_X : CustomInventory{States{Pickup:TNT1 A 0 A_PlaySoundEx("weapon/RockBall","SoundSlot7")
TNT1 A 0 A_JumpIfInventory("RockBallCharge",56,"Kick_S")goto Kick
Kick:TNT1 A 0 A_GiveInventory("RockBallFX_CI",1)stop
Kick_S:TNT1 A 0 A_GiveInventory("RockBallFX2_CI",1)stop}}

actor Rock_B_Pickup_X : CustomInventory{States{Pickup:TNT1 A 0 A_PlaySoundEx("weapon/RockBall","SoundSlot7")
TNT1 A 0 A_JumpIfInventory("RockBallCharge",56,"Kick_S")goto Kick
Kick:TNT1 A 0 A_GiveInventory("RockBallBX_CI",1)stop
Kick_S:TNT1 A 0 A_GiveInventory("RockBallBX2_CI",1)stop}}



actor RockBallAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("RockKickC",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("RockKickCB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("RockKickCR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("RockKickCO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("RockKickCP",0,0,8,0)
goto Done
}
}

actor RockBallDrop_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_SpawnItemEx("Rock_B_M",cos(-pitch)*64,0,32+(sin(-pitch)*64))
goto Done
FireB:
TNT1 A 0 A_SpawnItemEx("Rock_B_MB",cos(-pitch)*64,0,32+(sin(-pitch)*64))
goto Done
FireR:
TNT1 A 0 A_SpawnItemEx("Rock_B_MR",cos(-pitch)*64,0,32+(sin(-pitch)*64))
goto Done
FireO:
TNT1 A 0 A_SpawnItemEx("Rock_B_MO",cos(-pitch)*64,0,32+(sin(-pitch)*64))
goto Done
FireP:
TNT1 A 0 A_SpawnItemEx("Rock_B_MP",cos(-pitch)*64,0,32+(sin(-pitch)*64))
goto Done
}
}

actor RockBall_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("Rock_BK_M",0,0,0,-16)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("Rock_BK_MB",0,0,0,-16)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("Rock_BK_MR",0,0,0,-16)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("Rock_BK_MO",0,0,0,-16)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("Rock_BK_MP",0,0,0,-16)
goto Done
}
}

actor RockBall2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_M",0,0,0,-16)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_MB",0,0,0,-16)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_MR",0,0,0,-16)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_MO",0,0,0,-16)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_MP",0,0,0,-16)
goto Done
}
}


actor RockBallX_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("Rock_BK_M",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("Rock_BK_MB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("Rock_BK_MR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("Rock_BK_MO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("Rock_BK_MP",0,0,0,0)
goto Done
}
}

actor RockBallX2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_M",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_MB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_MR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_MO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_MP",0,0,0,0)
goto Done
}
}

actor RockBall3_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_M",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_MB",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_MR",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_MO",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("Rock_BK2_MP",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))
goto Done
}
}

actor RockBallDropI_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_SpawnItemEx("Rock_B_I",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireB:TNT1 A 0 A_SpawnItemEx("Rock_B_IB",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireR:TNT1 A 0 A_SpawnItemEx("Rock_B_IR",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireO:TNT1 A 0 A_SpawnItemEx("Rock_B_IO",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireP:TNT1 A 0 A_SpawnItemEx("Rock_B_IP",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done}}
actor RockBallI_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK_I",0,0,0,-16)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK_IB",0,0,0,-16)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK_IR",0,0,0,-16)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK_IO",0,0,0,-16)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK_IP",0,0,0,-16)goto Done}}
actor RockBallI2_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK2_I",0,0,0,-16)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK2_IB",0,0,0,-16)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK2_IR",0,0,0,-16)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK2_IO",0,0,0,-16)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK2_IP",0,0,0,-16)goto Done}}
actor RockBallIX_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK_I",0,0,0,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK_IB",0,0,0,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK_IR",0,0,0,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK_IO",0,0,0,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK_IP",0,0,0,0)goto Done}}
actor RockBallIX2_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK2_I",0,0,0,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK2_IB",0,0,0,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK2_IR",0,0,0,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK2_IO",0,0,0,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK2_IP",0,0,0,0)goto Done}}
actor RockBallI3_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK2_I",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK2_IB",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK2_IR",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK2_IO",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK2_IP",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done}}

actor RockBallDropE_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_SpawnItemEx("Rock_B_E",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireB:TNT1 A 0 A_SpawnItemEx("Rock_B_EB",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireR:TNT1 A 0 A_SpawnItemEx("Rock_B_ER",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireO:TNT1 A 0 A_SpawnItemEx("Rock_B_EO",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireP:TNT1 A 0 A_SpawnItemEx("Rock_B_EP",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done}}
actor RockBallE_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK_E",0,0,0,-16)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK_EB",0,0,0,-16)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK_ER",0,0,0,-16)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK_EO",0,0,0,-16)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK_EP",0,0,0,-16)goto Done}}
actor RockBallE2_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK2_E",0,0,0,-16)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK2_EB",0,0,0,-16)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK2_ER",0,0,0,-16)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK2_EO",0,0,0,-16)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK2_EP",0,0,0,-16)goto Done}}
actor RockBallEX_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK_E",0,0,0,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK_EB",0,0,0,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK_ER",0,0,0,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK_EO",0,0,0,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK_EP",0,0,0,0)goto Done}}
actor RockBallEX2_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK2_E",0,0,0,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK2_EB",0,0,0,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK2_ER",0,0,0,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK2_EO",0,0,0,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK2_EP",0,0,0,0)goto Done}}
actor RockBallE3_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK2_E",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK2_EB",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK2_ER",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK2_EO",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK2_EP",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done}}

actor RockBallDropF_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_SpawnItemEx("Rock_B_F",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireB:TNT1 A 0 A_SpawnItemEx("Rock_B_FB",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireR:TNT1 A 0 A_SpawnItemEx("Rock_B_FR",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireO:TNT1 A 0 A_SpawnItemEx("Rock_B_FO",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireP:TNT1 A 0 A_SpawnItemEx("Rock_B_FP",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done}}
actor RockBallF_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK_F",0,0,0,-16)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK_FB",0,0,0,-16)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK_FR",0,0,0,-16)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK_FO",0,0,0,-16)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK_FP",0,0,0,-16)goto Done}}
actor RockBallF2_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK2_F",0,0,0,-16)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK2_FB",0,0,0,-16)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK2_FR",0,0,0,-16)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK2_FO",0,0,0,-16)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK2_FP",0,0,0,-16)goto Done}}
actor RockBallFX_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK_F",0,0,0,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK_FB",0,0,0,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK_FR",0,0,0,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK_FO",0,0,0,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK_FP",0,0,0,0)goto Done}}
actor RockBallFX2_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK2_F",0,0,0,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK2_FB",0,0,0,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK2_FR",0,0,0,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK2_FO",0,0,0,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK2_FP",0,0,0,0)goto Done}}
actor RockBallF3_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK2_F",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK2_FB",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK2_FR",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK2_FO",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK2_FP",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done}}

actor RockBallDropB_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_SpawnItemEx("Rock_B_B",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireB:TNT1 A 0 A_SpawnItemEx("Rock_B_BB",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireR:TNT1 A 0 A_SpawnItemEx("Rock_B_BR",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireO:TNT1 A 0 A_SpawnItemEx("Rock_B_BO",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done
FireP:TNT1 A 0 A_SpawnItemEx("Rock_B_BP",cos(-pitch)*64,0,32+(sin(-pitch)*64))goto Done}}
actor RockBallB_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK_B",0,0,0,-16)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK_BB",0,0,0,-16)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK_BR",0,0,0,-16)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK_BO",0,0,0,-16)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK_BP",0,0,0,-16)goto Done}}
actor RockBallB2_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK2_B",0,0,0,-16)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK2_BB",0,0,0,-16)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK2_BR",0,0,0,-16)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK2_BO",0,0,0,-16)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK2_BP",0,0,0,-16)goto Done}}
actor RockBallBX_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK_B",0,0,0,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK_BB",0,0,0,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK_BR",0,0,0,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK_BO",0,0,0,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK_BP",0,0,0,0)goto Done}}
actor RockBallBX2_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK2_B",0,0,0,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK2_BB",0,0,0,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK2_BR",0,0,0,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK2_BO",0,0,0,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK2_BP",0,0,0,0)goto Done}}
actor RockBallB3_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("Rock_BK2_B",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireB:TNT1 A 0 A_FireCustomMissile("Rock_BK2_BB",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireR:TNT1 A 0 A_FireCustomMissile("Rock_BK2_BR",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireO:TNT1 A 0 A_FireCustomMissile("Rock_BK2_BO",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done
FireP:TNT1 A 0 A_FireCustomMissile("Rock_BK2_BP",(random(0,1)*2-1)*random(1,7),0,0,-16,0,random(-5,5))goto Done}}

