actor RollSweepWep_NormalBar : NormalBar { args 35, 41 }

actor RollSweepWep : BaseMM8BDMWep
{
Weapon.AmmoUse 2
Weapon.AmmoGive 28
Weapon.SlotNumber 4
Inventory.Pickupmessage "$PU_ROLLSWEEP"
Obituary "$OB_ROLLSWEEP"
Tag "$TAG_ROLLSWEEP"
weapon.ammotype "RollSweepAmmo"
inventory.icon "XTR0WI_A"
States
{
SpawnLoop:
XWI0 A -1
loop

Deselect:
XH0A A 0 A_TakeInventory("RollSweepFlag")
goto DeselectSwap
Select:
XH0A A 0 A_TakeInventory("RollSweepFlag")
goto SelectSwap

Ready:
XH0A A 0 ACS_NamedExecuteWithResult("core_weaponcolor",DYE_ROLLSWEEP)
XH0A A 1 A_WeaponReady
wait

Fire:
XH0A A 0 A_JumpIfNoAmmo("NoAmmo")
XH0A A 0 A_PlaySoundEx("weapon/RollSwing","Weapon")
XH0A A 0 A_JumpIfInventory("RollSweepFlag",1,"Fire2")
XH0A B 2 OffSet(-12,20)
XH0A C 0 A_Blast(BF_NOIMPACTDAMAGE,255,192,25.0,"RollSweepBlastFX")
XH0A C 2 OffSet(-39,23)A_FireCustomMissile("RollSweepShot",0,1,0,0)
XH0A C 2 OffSet(-84,32)
XH0A D 2 OffSet(-133,42)
XH0A E 2 OffSet(-164,44)
XH0A E 2 OffSet(-208,55)
XH0A E 2 OffSet(-256,69)
XH0A E 2 OffSet(-304,86)
TNT1 A 3 A_GiveInventory("RollSweepFlag",1)
TNT1 A 8 A_WeaponReady
TNT1 A 0 A_TakeInventory("RollSweepFlag")
XH0A A 2 OffSet(-48,217)A_WeaponReady(1)
XH0A A 2 OffSet(-32,162)A_WeaponReady(1)
XH0A A 2 OffSet(-19,118)A_WeaponReady(1)
XH0A A 2 OffSet(-10,83)A_WeaponReady(1)
XH0A A 2 OffSet(-3,55)A_WeaponReady(1)
Goto Ready+1

Fire2:
XH0A F 2 OffSet(-110,47)
XH0A G 0 A_Blast(BF_NOIMPACTDAMAGE,255,192,40.0,"RollSweepBlastFX")
XH0A G 2 OffSet(-93,42)A_FireCustomMissile("RollSweepShot2",0,1,0,0)
XH0A G 2 OffSet(-46,33)
XH0A H 2 OffSet(-30,25)
XH0A H 2 OffSet(19,19)
XH0A H 2 OffSet(72,21)
XH0A H 2 OffSet(129,33)
TNT1 A 2
TNT1 A 2 A_TakeInventory("RollSweepFlag")
XH0A A 2 OffSet(78,67)A_WeaponReady(1)
XH0A A 2 OffSet(54,54)A_WeaponReady(1)
XH0A A 2 OffSet(32,45)A_WeaponReady(1)
XH0A A 2 OffSet(16,39)A_WeaponReady(1)
XH0A A 2 OffSet(6,35)A_WeaponReady(1)
XH0A A 0
Goto Ready+1

NoAmmo:
XH0A A 0 A_TakeInventory("RollSweepFlag",99)
XH0A A 1 ACS_NamedExecuteAlways("core_noammo",0)
Goto Ready+1
}
}

actor RollSweepAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
+INVENTORY.IGNORESKILL
}

actor RollSweepFlag : Inventory{}

actor RollSweepBlastFX : BasicGraphicEffect
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1
stop
}
}

actor RollSweepShot : ProjSpawnFuncActor
{
PROJECTILE
damagetype "RollSweep"
Obituary "$OB_ROLLSWEEP"
+DONTBLAST
+SKYEXPLODE
+EXPLODEONWATER
+NOGRAVITY
-NOBLOCKMAP
+SHOOTABLE
+NOTARGETSWITCH
//+NODAMAGE
+INVULNERABLE
+NORADIUSDMG
+DONTRIP
+DONTREFLECT
+NOBLOOD
+THRUSPECIES
Species "RollSweep"
ReactionTime 1
Damage (0)
Radius 20
Height 16
speed 27
Scale 2.5
States
{
Spawn:
XH0A P 0
XH0A Q 0 A_SpawnItemEx("PropBlowerEffect")
XH0A QRS 1
XH0A T 1 A_CountDown
wait
Death:
XH0A T 0
XH0A T 0 A_SpawnItemEx("PropBlowerEffect")
XH0A T 1 A_Explode(160,104,0,0,32)
stop
XDeath:
XH0A T 0
XH0A T 0 A_SpawnItemEx("PropBlowerEffect")
XH0A T 1 A_Explode(210,112,0,0,32)
stop
}
}

actor RollSweepShot2 : RollSweepShot
{
//damagetype "RollSweep"
Speed 30
States
{
Spawn:
XH0A K 0
XH0A L 0 A_SpawnItemEx("PropBlowerEffect")
XH0A LMN 1
XH0A O 1 A_CountDown
wait
Death:
XH0A O 0
XH0A O 0 A_SpawnItemEx("PropBlowerEffect")
XH0A O 1 A_Explode(160,104,0,0,32)
stop
XDeath:
XH0A O 0
XH0A O 0 A_SpawnItemEx("PropBlowerEffect")
XH0A O 1 A_Explode(210,112,0,0,32)
stop
}
}

