actor TimeBenderWep : BaseMM8BDMWep
{
dropitem "TimeBenderWepCDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 28
Weapon.SlotNumber 6
Inventory.Pickupmessage "$PU_TIMEBENDER"
Obituary "$OB_TIMEBENDER"
Tag "$TAG_TIMEBENDER"
weapon.ammotype "YouBrokeItAmmo"
inventory.icon "TSTOE"
States
{
Spawn:
TSTO E 1
loop
Ready:
TSTO A 0 ACS_ExecuteAlways(998,0,13)
TSTO A 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
TSTO A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
TSTO A 1 A_Raise
Loop
Fire:
TSTO A 0 A_JumpIfNoAmmo("NoAmmo")
TSTO BC 2
TSTO A 0 A_PlaySoundEx("weapon/timestopper","Weapon")
TSTO A 0 A_FireCustomMissile("TimeStopperRadius",0,1,8,0)
TSTO A 0 A_SpawnItemEx("TimeStopSparkleHelper")
TSTO D 1 ACS_ExecuteAlways(976,0)
Goto TimeStop
TimeStop:
TSTO D 4 A_TakeInventory("YouBrokeItAmmo",1)
TSTO D 0 A_JumpIfInventory("YouBrokeItAmmo",28,"Fire")
TSTO D 0 A_JumpIfInventory("YouBrokeItAmmo",1,"TimeStop")
TSTO A 0 A_Jump(256,"NoAmmo")
Goto NoAmmo
NoAmmo:
TSTO A 0 A_TakeInventory("TimeBenderWep",1)
TSTO A 1 ACS_Execute(979,0)
Goto Ready+1
}
}

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

actor FlashBulbWep : BaseMM8BDMWep
{
dropitem "FlashBulbWepCDropped"
Weapon.AmmoUse 6
Weapon.AmmoGive 30
Weapon.SlotNumber 7
Inventory.Pickupmessage "$PU_BRIGHTBULB"
Obituary "$OB_BRIGHTBULB"
Tag "$TAG_BRIGHTBULB"
weapon.ammotype "FlashBulbAmmo"
inventory.icon "BULBJ"
States
{
Spawn:
BULB J 1
loop
Ready:
BULB A 0 ACS_ExecuteAlways(998,0,49)
BULB A 0 A_JumpIfNoAmmo("NoAmmo")
BULB A 1 A_WeaponReady
Goto Ready+2
ReadyNoAmmo:
FSTO A 1 A_WeaponReady
FSTO A 0 A_JumpIfNoAmmo("ReadyNoAmmo")
Goto Ready+1

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
BULB A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
BULB A 1 A_Raise
Loop
Fire:
BULB A 0 A_JumpIfNoAmmo("NoAmmo")
BULB A 0 A_PlaySoundEx("weapon/BombThrow","Weapon")
BULB A 0 A_FireCustomMissile("BrightBulb2",0,1,8,0)
BULB BCDEFG 2
TNT1 A 30
BULB HI 1
BULB A 2
BULB A 0 A_Refire
Goto Ready+1
NoAmmo:
FSTO A 1 ACS_Execute(979,0)
Goto ReadyNoAmmo
}
}

actor FlashBulbAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 30
+INVENTORY.IGNORESKILL
}

actor SkullSniperWep : BaseMM8BDMWep
{
dropitem "SkullSniperWepCDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 28
Weapon.SlotNumber 2
Inventory.Pickupmessage "$PU_SKULLSNIPER"
Obituary "$OB_SKULLSNIPER"
Tag "$TAG_SKULLSNIPER"
weapon.ammotype "SkullSniperAmmo"
inventory.icon "SSNIA"
States
{
Spawn:
SSNI A 1
loop
Ready:
SKLB G 0 ACS_ExecuteAlways(998,0,34)
SKLB G 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
SKLB G 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
SKLB G 1 A_Raise
Loop
Fire:
SKLB G 0 A_JumpIfNoAmmo("NoAmmo")
SKLB G 0 A_PlaySoundEx("weapon/skullbust","Weapon")
SKLB G 0 A_FireCustomMissile("SkullShot2",0,1,8,0)
SKLB HIG 4
SKLB G 4 A_Refire
Goto Ready+1
NoAmmo:
SKLB G 1 ACS_Execute(979,0)
Goto Ready+1
}
}

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


actor SkullShot2 : SkullShot
{
Obituary "$OB_SKULLSNIPER"
damagetype "SkullSniper"
damage (10)
States
{
Spawn:
TNT1 A 1
SSNI C 1
TNT1 A 1
SSNI D 1
Goto Spawn+1
Death:
TNT1 A 1
stop
}
}

actor GravitySphereWep : BaseMM8BDMWep
{
dropitem "GravitySphereWepCDropped"
Weapon.AmmoUse 7
Weapon.AmmoGive 28
Weapon.SlotNumber 5
Inventory.Pickupmessage "$PU_GRAVITYSPHERE"
Obituary "$OB_GRAVITYSPHERE"
Tag "$TAG_GRAVITYSPHERE"
weapon.ammotype "GravitySphereAmmo"
inventory.icon "GBALA"
States
{
Spawn:
GBAL A 1
loop
Ready:
GBAL J 0 ACS_ExecuteAlways(998,0,49)
GBAL J 1 A_WeaponReady
goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
GBAL J 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
GBAL J 1 A_Raise
Loop
Fire:
GBAL J 0 A_JumpIfNoAmmo("NoAmmo")
GBAL J 0 A_PlaySoundEx("weapon/mbuster","Weapon")
GBAL K 0 A_FireCustomMissile("GravitySphere",0,1,8,0)
GBAL KL 2
GBAL L 30
GBAL LKJ 3
GBAL J 0 A_Refire
goto Ready+1
NoAmmo:
GBAL J 1 ACS_Execute(979,0)
Goto Ready+1
}
}

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


actor GravitySphere
{
PROJECTILE
Obituary "$OB_GRAVITYSPHERE"
damagetype "GravityB2"
+RIPPER
+THRUGHOST
Damage (0)
Height 9
Radius 16
Scale 2.5
gravity 3.0
speed 10
States
{
Spawn:
GBAL BBBCCCDDDEEEFFFGGGHHHII 1
GBAL I 1 A_PlaySoundEx("weapon/gravityhold","Weapon")
GBAL I 0 A_SpawnItemEx("GravityBlower")
GBAL I 0 A_SpawnItemEx("GravityBlower2")
loop
}
}

actor GravityBlower : BasicExplosion
{
Translation "198:198=239:239","192:192=4:4"
Obituary "$OB_GRAVITYSPHERE_2"
damagetype "GravityS1"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(8,256,0)
stop
}
}

actor GravityBlower2 : GravityBlower
{
Obituary "$OB_GRAVITYSPHERE"
damagetype "GravityB2"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(8,256,0)
TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GravityManHoldFX",random(192,256),0,random(128,256),0,0,-40,random(0,359),129)
TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GravityManHoldFX",random(128,192),0,random(128,256),0,0,-40,random(0,359),129)
TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GravityManHoldFX",random(64,128),0,random(128,256),0,0,-40,random(0,359),129)
TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GravityManHoldFX",random(0,64),0,random(128,256),0,0,-40,random(0,359),129)
TNT1 A 1
TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GravityManHoldFX",random(192,256),0,random(0,128),0,0,-40,random(0,359),129)
TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GravityManHoldFX",random(128,192),0,random(0,128),0,0,-40,random(0,359),129)
TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GravityManHoldFX",random(64,128),0,random(0,128),0,0,-40,random(0,359),129)
TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("GravityManHoldFX",random(0,64),0,random(0,128),0,0,-40,random(0,359),129)
TNT1 A 1
stop
}
}

actor GravitySphereCollide : GravityCollide
{
Obituary "$OB_GRAVITYSPHERE"
}

actor GravitySphereCollideX : GravitySphereCollide
{
Obituary "$OB_GRAVITYSPHEREX"
}

actor DarkShieldWep : BaseMM8BDMWep
{
dropitem "DarkShieldWepCDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 28
Weapon.SlotNumber 7
Inventory.Pickupmessage "$PU_DARKSHIELD"
Obituary "$OB_DARKSHIELD"
Tag "$TAG_DARKSHIELD"
weapon.ammotype "DarkShieldAmmo"
inventory.icon "DKC2Z"
States
{
Spawn:
DKC2 Z 1
loop
Ready:
DKC2 L 0 ACS_ExecuteAlways(998,0,809)
DKC2 L 0 A_GunFlash
DKC2 L 1 A_WeaponReady
Goto Ready+2
ReadyShield:
DKC2 SSSSSSSSSS 2 A_WeaponReady
DKC2 S 0 A_TakeInventory("DarkShieldAmmo",1)
DKC2 S 0 A_JumpIfInventory("DarkShieldAmmo",1,"ReadyShield")
goto ShieldThrow
Deselect:
TNT1 A 0 A_TakeInventory("ShieldCheck",1)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
DKC2 L 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
DKC2 L 1 A_Raise
Loop
Fire:
DKC2 M 0 A_JumpIfInventory("ShieldCheck",1,"ShieldThrow")
DKC2 M 0 A_JumpIfNoAmmo("NoAmmo")
DKC2 M 0 A_GiveInventory("ShieldCheck",1)
DKC2 M 1
DKC2 M 1
DKC2 NOPQ 2
DKC2 RS 2
DKC2 S 0 A_TakeInventory("DarkShieldAmmo",1)
goto ReadyShield
ShieldThrow:
DKC2 T 0 A_TakeInventory("ShieldCheck",999)
DKC2 T 0 A_FireCustomMissile("DarkShieldReleaseSpawnerC",0,1,0,0)
DKC2 UV 3
DKC2 V 10
DKC2 U 3
Goto Ready+2

Flash:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,2)
TNT1 A 1
loop
TNT1 A 0 A_PlaySoundEX("weapon/shieldhum","SoundSlot7")
TNT1 A 0 A_SpawnItemEx("DarkShieldSegmentC",55,0,0,momx,momy,momz,0,44,0)
TNT1 A 1 A_SpawnItemEx("DarkShieldSegmentC",55,0,0,momx,momy,momz,180,44,0)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegmentC",55,0,0,momx,momy,momz,160,44,0)
TNT1 A 1 A_SpawnItemEx("DarkShieldSegmentC",55,0,0,momx,momy,momz,340,44,0)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegment2C",55,0,0,momx,momy,momz,140,44,0)
TNT1 A 1 A_SpawnItemEx("DarkShieldSegment2C",55,0,0,momx,momy,momz,320,44,0)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegment2C",55,0,0,momx,momy,momz,120,44,0)
TNT1 A 1 A_SpawnItemEx("DarkShieldSegment2C",55,0,0,momx,momy,momz,300,44,0)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegment3C",55,0,0,momx,momy,momz,100,44,0)
TNT1 A 1 A_SpawnItemEx("DarkShieldSegment3C",55,0,0,momx,momy,momz,280,44,0)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegment3C",55,0,0,momx,momy,momz,80,44,0)
TNT1 A 1 A_SpawnItemEx("DarkShieldSegment3C",55,0,0,momx,momy,momz,260,44,0)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegmentC",55,0,0,momx,momy,momz,60,44,0)
TNT1 A 1 A_SpawnItemEx("DarkShieldSegmentC",55,0,0,momx,momy,momz,240,44,0)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegmentC",55,0,0,momx,momy,momz,40,44,0)
TNT1 A 1 A_SpawnItemEx("DarkShieldSegmentC",55,0,0,momx,momy,momz,220,44,0)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,1)
goto Flash
TNT1 A 0 A_SpawnItemEx("DarkShieldSegment2C",55,0,0,momx,momy,momz,20,44,0)
TNT1 A 1 A_SpawnItemEx("DarkShieldSegment2C",55,0,0,momx,momy,momz,200,44,0)
TNT1 A 0 A_JumpIfInventory(ShieldCheck,1,"Flash")
goto Flash

NoAmmo:
DKC2 L 1 ACS_Execute(979,0)
Goto Ready+2
}
}

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

actor DarkShieldSegmentC : DarkShieldSegment
{
Translation "202:202=93:93"
Obituary "$OB_DARKSHIELD"
}
actor DarkShieldSegment2C : DarkShieldSegment2
{
Translation "202:202=93:93"
Obituary "$OB_DARKSHIELD"
}
actor DarkShieldSegment3C : DarkShieldSegment3
{
Translation "202:202=93:93"
Obituary "$OB_DARKSHIELD"
}
actor DarkShieldReleaseSpawnerC : DarkShieldReleaseSpawner
{
Translation "202:202=93:93"
Obituary "$OB_DARKSHIELD"
}


actor CentaurArrowWep : BaseMM8BDMWep
{
dropitem "CentaurArrowWepCDropped"
Weapon.AmmoUse 2
Weapon.AmmoGive 28
Weapon.SlotNumber 5
Inventory.Pickupmessage "$PU_CENTAURARROW"
Obituary "$OB_CENTAURARROW"
Tag "$TAG_CENTAURARROW"
weapon.ammotype "CentaurArrowAmmo"
inventory.icon "ARROA"
States
{
Spawn:
ARRO A 1
loop
Ready:
WOOD I 0 ACS_ExecuteAlways(998,0,51)
WOOD I 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
WOOD I 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
WOOD I 1 A_Raise
Loop
Fire:
WOOD I 0 A_JumpIfNoAmmo("NoAmmo")
WOOD I 0 A_PlaySoundEx("weapon/pshot","Weapon")
WOOD I 0 A_FireCustomMissile("CentaurArrow",0,1,8,0)
WOOD I 0 A_FireCustomMissile("CentaurArrow",(random(0,1)*2-1)*random(4,10),0,8,0)
WOOD JK 3
WOOD K 10
WOOD KJ 3 
WOOD I 0 A_Refire
Goto Ready+1
NoAmmo:
WOOD I 1 ACS_Execute(979,0)
Goto Ready+1
}
}

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


actor CentaurArrow
{
PROJECTILE
+RIPPER
Radius 6
Height 7
Obituary "$OB_CENTAURARROW"
damagetype "CentaurArrow"
scale 2.5
damage (10)
speed 20
States
{
Spawn:
ARRO BC 3
loop
}
}

actor DynamoTendrilWep : BaseMM8BDMWep
{
dropitem "DynamoTendrilWepCDropped"
Weapon.AmmoUse 2
Weapon.AmmoGive 28
Weapon.SlotNumber 2
Inventory.Pickupmessage "$PU_DYNAMOTENDRIL"
Obituary "$OB_DYNAMOTENDRIL"
Tag "$TAG_DYNAMOTENDRIL"
weapon.ammotype "DynamoTendrilAmmo"
inventory.icon "DYNATEND"
States
{
Spawn:
LIBO X 1
loop
Ready:
LIBO R 0 ACS_ExecuteAlways(998,0,177)
LIBO R 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
LIBO R 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
LIBO R 1 A_Raise
Loop
Fire:
LIBO R 0 A_JumpIfNoAmmo("NoAmmo")
LIBO S 0 A_PlaySoundEx("weapon/magnetmissile","Weapon")
LIBO S 0 A_FireCustomMissile("DynamoDish2",0,1,8,0)
LIBO ST 3
LIBO T 10
LIBO TS 3 
LIBO S 0 A_Refire
Goto Ready+1
NoAmmo:
LIBO R 1 ACS_Execute(979,0)
Goto Ready+1
}
}

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

actor DynamoDish2// : DynamoDish
{
translation "192:192=217:217","198:198=4:4","202:202=93:93","199:199=229:229"
PROJECTILE
damagetype "ClassBase"
Obituary "$OB_DYNAMOTENDRIL"
Radius 10
Height 6
scale 2.5
damage (10)
speed 24
States
{
Spawn:
DYPJ AB 6
Flying:
DYPJ C 0 A_SpawnItemEx("DynamoDishElecTH2",0,0,0,momx/2+33*-sin(angle)    ,momy/2+33*cos(angle)    ,momz/2,-90,9)
DYPJ C 0 A_SpawnItemEx("DynamoDishElecFXC",0,0,0,momx/2+33*-sin(angle)    ,momy/2+33*cos(angle)    ,momz/2,-90,9)
DYPJ C 0 A_SpawnItemEx("DynamoDishElecFXB",0,0,0,momx/2+33*-sin(angle)*2/3,momy/2+33*cos(angle)*2/3,momz/2,-90,9)
DYPJ C 0 A_SpawnItemEx("DynamoDishElecFXA",0,0,0,momx/2+33*-sin(angle)/3  ,momy/2+33*cos(angle)/3  ,momz/2,-90,9)
DYPJ C 0 A_SpawnItemEx("DynamoDishElecTH2",0,0,0,momx/2-33*-sin(angle)    ,momy/2-33*cos(angle)    ,momz/2,90,9)
DYPJ C 0 A_SpawnItemEx("DynamoDishElecFXC",0,0,0,momx/2-33*-sin(angle)    ,momy/2-33*cos(angle)    ,momz/2,90,9)
DYPJ C 0 A_SpawnItemEx("DynamoDishElecFXB",0,0,0,momx/2-33*-sin(angle)*2/3,momy/2-33*cos(angle)*2/3,momz/2,90,9)
DYPJ C 0 A_SpawnItemEx("DynamoDishElecFXA",0,0,0,momx/2-33*-sin(angle)/3  ,momy/2-33*cos(angle)/3  ,momz/2,90,9)
DYPJ C 1
DYPJ C 0 A_SpawnItemEx("DynamoDishElecTH2",0,0,0,momx/2+33*-sin(angle)    ,momy/2+33*cos(angle)    ,momz/2,-90,9)
DYPJ C 0 A_SpawnItemEx("DynamoDishElecFXF",0,0,0,momx/2+33*-sin(angle)    ,momy/2+33*cos(angle)    ,momz/2,-90,9)
DYPJ C 0 A_SpawnItemEx("DynamoDishElecFXE",0,0,0,momx/2+33*-sin(angle)*2/3,momy/2+33*cos(angle)*2/3,momz/2,-90,9)
DYPJ C 0 A_SpawnItemEx("DynamoDishElecFXD",0,0,0,momx/2+33*-sin(angle)/3  ,momy/2+33*cos(angle)/3  ,momz/2,-90,9)
DYPJ C 0 A_SpawnItemEx("DynamoDishElecTH2",0,0,0,momx/2-33*-sin(angle)    ,momy/2-33*cos(angle)    ,momz/2,90,9)
DYPJ C 0 A_SpawnItemEx("DynamoDishElecFXF",0,0,0,momx/2-33*-sin(angle)    ,momy/2-33*cos(angle)    ,momz/2,90,9)
DYPJ C 0 A_SpawnItemEx("DynamoDishElecFXD",0,0,0,momx/2-33*-sin(angle)*2/3,momy/2-33*cos(angle)*2/3,momz/2,90,9)
DYPJ C 0 A_SpawnItemEx("DynamoDishElecFXE",0,0,0,momx/2-33*-sin(angle)/3  ,momy/2-33*cos(angle)/3  ,momz/2,90,9)
DYPJ C 1
loop
Crash:
TNT1 A 1
stop
Death:
MMFX BCDE 3
stop
}
}

actor DynamoDishElecTH2 : DynamoDishElecTH{Obituary "$OB_DYNAMOTENDRIL"}

actor RainbowGalaxyWep : BaseMM8BDMWep
{//SerendipityGunner
dropitem "RainbowGalaxyWepCDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 56
Weapon.SlotNumber 3
Inventory.Pickupmessage "$PU_RAINBOWGALAXY"
Obituary "$OB_RAINBOWGALAXY"
Tag "$TAG_RAINBOWGALAXY"//Rainbow Gunner
weapon.ammotype "RainbowGalaxyAmmo"
inventory.icon "BLKHZ"
States
{
Spawn:
BLKH Z 1
loop
Ready:
BHUD A 0 ACS_ExecuteAlways(998,0,196)
BHUD A 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
BHUD A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
BHUD A 1 A_Raise
Loop
Fire:
BHUD A 0 A_JumpIfNoAmmo("NoAmmo")
BHUD A 0 A_PlaySoundEx("weapon/blackholebombC","Weapon")
BHUD A 0 A_GiveInventory("RainbowGalaxyPew_Pickup",1)
BHUD BCA 2
BHUD A 0 A_Refire
Goto Ready+1
NoAmmo:
BHUD A 1 ACS_Execute(979,0)
Goto Ready+1
}
}

actor RainbowGalaxyAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 56
+INVENTORY.IGNORESKILL
}

actor RainbowGalaxyPew
{
Translation "192:192=59:59", "198:198=62:62"
PROJECTILE
damagetype "BlackHoleBomb"
Obituary "$OB_RAINBOWGALAXY"
+FORCEXYBILLBOARD
Damage (10)
radius 10
height 10
Speed 13
scale 1.25
States
{
Spawn:
TNT1 A 1
BLKH BBCCDDEE 1 A_SpawnItemEx("BlackHoleBombXFX3",0,0,0,random(-1,-4),random(2,-2),random(2,-2),0,1)
goto Spawn+1
}
}

actor RainbowGalaxyPew1 : RainbowGalaxyPew{Translation"192:192=205:205","198:198=206:206" Speed 15}
actor RainbowGalaxyPew2 : RainbowGalaxyPew{Translation"192:192=58:58","198:198=60:60" Speed 14}
actor RainbowGalaxyPew3 : RainbowGalaxyPew{Translation"192:192=39:39","198:198=40:40" Damage (12)}
actor RainbowGalaxyPew4 : RainbowGalaxyPew{Translation"192:192=225:225","198:198=227:227" Radius 12 Height 12 Scale 1.5}
actor RainbowGalaxyPew5 : RainbowGalaxyPew{Translation"192:192=229:229","198:198=230:230" Damage (11) Speed 11}
actor RainbowGalaxyPew6 : RainbowGalaxyPew{Translation"192:192=104:104","198:198=111:111" Damage (11) Radius 11 Height 11 Speed 14 Scale 1.5}
actor RainbowGalaxyPew7 : RainbowGalaxyPew{Translation"192:192=103:103","198:198=116:116" Speed 12}

actor RainbowGalaxyPew_Pickup : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_Jump(256,1,2,3,4,5,6,7,8)
TNT1 A 0 A_FireCustomMissile("RainbowGalaxyPew1",random(-4,4),1,8,0)stop
TNT1 A 0 A_FireCustomMissile("RainbowGalaxyPew2",random(-3,3),1,8,0)stop
TNT1 A 0 A_FireCustomMissile("RainbowGalaxyPew3",random(-4,4),1,8,0)stop
TNT1 A 0 A_FireCustomMissile("RainbowGalaxyPew4",random(-4,4),1,8,0)stop
TNT1 A 0 A_FireCustomMissile("RainbowGalaxyPew5",random(-2,2),1,8,0)stop
TNT1 A 0 A_FireCustomMissile("RainbowGalaxyPew6",random(-4,4),1,8,0)stop
TNT1 A 0 A_FireCustomMissile("RainbowGalaxyPew7",random(-3,3),1,8,0)stop
TNT1 A 0 A_FireCustomMissile("RainbowGalaxyPew", random(-2,2),1,8,0,0,0)
stop
}
}

actor BusterRodGWep : BaseMM8BDMWep
{
dropitem "BusterRodGWepCDropped"
Weapon.AmmoUse 2
Weapon.AmmoGive 28
Weapon.SlotNumber 3
Inventory.Pickupmessage "$PU_BUSTERRODPOLE"
Obituary "$OB_BUSTERRODPOLE"
Tag "$TAG_BUSTERRODPOLE"
weapon.ammotype "BusterRodGCopyAmmo"
inventory.icon "BRGCOPIC"
States
{
Spawn:
BROG X 1
loop
Ready:
BROG M 0 ACS_ExecuteAlways(998,0,950)
BROG M 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
BROG M 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
BROG M 1 A_Raise
Loop
Fire:
BROG M 0 A_JumpIfNoAmmo("NoAmmo")
BROG M 0 A_SetUserVar("user_wepangle", angle)
BROG M 0 A_SetUserVar("user_weppitch", pitch)
BROG M 0 A_TakeInventory("BusterRodGCopyAmmo",2)
BROG M 0 A_PlaySoundEx("weapon/BRGStaff","Weapon")
BROG N 1 A_GiveInventory("LaunchBusterRodC1",1)
BROG N 1 A_GiveInventory("LaunchBusterRodC2",1)
BROG N 1 A_GiveInventory("LaunchBusterRodC3",1)
BROG N 1 A_GiveInventory("LaunchBusterRodC4",1)
BROG O 1 A_GiveInventory("LaunchBusterRodC5",1)
BROG O 1 A_GiveInventory("LaunchBusterRodC6",1)
BROG O 1 A_GiveInventory("LaunchBusterRodC7",1)
BROG O 1 A_GiveInventory("LaunchBusterRodC8",1)
BROG O 1 A_GiveInventory("LaunchBusterRodC8",1)
BROG O 1 A_GiveInventory("LaunchBusterRodC7",1)
BROG O 1 A_GiveInventory("LaunchBusterRodC6",1)
BROG O 1 A_GiveInventory("LaunchBusterRodC5",1)
BROG N 1 A_GiveInventory("LaunchBusterRodC4",1)
BROG N 1 A_GiveInventory("LaunchBusterRodC3",1)
BROG N 1 A_GiveInventory("LaunchBusterRodC2",1)
BROG N 1 A_GiveInventory("LaunchBusterRodC1",1)
BROG M 5
BROG M 10
//36
Goto Ready+1
NoAmmo:
BROG M 1 ACS_Execute(979,0)
Goto Ready+1
}
}

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

actor LaunchBusterRodC1 : CustomInventory
{
states
{
pickup:
TNT1 A 0 A_FireCustomMissile("BusterRodEndC1",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
pickup2:
TNT1 A 0
stop
}
}

actor LaunchBusterRodC2 : LaunchBusterRodC1
{
states
{
pickup:
TNT1 A 0 A_FireCustomMissile("BusterRodEndC2",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
pickup2:
TNT1 A 0 A_FireCustomMissile("BusterRod1",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
goto "Super::Pickup2"
}
}

actor LaunchBusterRodC3 : LaunchBusterRodC2
{
states
{
pickup:
TNT1 A 0 A_FireCustomMissile("BusterRodEndC3",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
pickup2:
TNT1 A 0 A_FireCustomMissile("BusterRod2",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
goto "Super::Pickup2"
}
}

actor LaunchBusterRodC4 : LaunchBusterRodC3
{
states
{
pickup:
TNT1 A 0 A_FireCustomMissile("BusterRodEndC4",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
pickup2:
TNT1 A 0 A_FireCustomMissile("BusterRod3",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
goto "Super::Pickup2"
}
}

actor LaunchBusterRodC5 : LaunchBusterRodC4
{
states
{
pickup:
TNT1 A 0 A_FireCustomMissile("BusterRodEndC5",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
pickup2:
TNT1 A 0 A_FireCustomMissile("BusterRod4",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
goto "Super::Pickup2"
}
}

actor LaunchBusterRodC6 : LaunchBusterRodC5
{
states
{
pickup:
TNT1 A 0 A_FireCustomMissile("BusterRodEndC6",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
pickup2:
TNT1 A 0 A_FireCustomMissile("BusterRod5",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
goto "Super::Pickup2"
}
}

actor LaunchBusterRodC7 : LaunchBusterRodC6
{
states
{
pickup:
TNT1 A 0 A_FireCustomMissile("BusterRodEndC7",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
pickup2:
TNT1 A 0 A_FireCustomMissile("BusterRod6",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
goto "Super::Pickup2"
}
}

actor LaunchBusterRodC8 : LaunchBusterRodC7
{
states
{
pickup:
TNT1 A 0 A_FireCustomMissile("BusterRodEndC8",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
pickup2:
TNT1 A 0 A_FireCustomMissile("BusterRod7",ACS_ExecuteWithResult(811,WEPANGLE_NUM)-angle,0,8,0,0,pitch-ACS_ExecuteWithResult(811,WEPPITCH_NUM))
goto "Super::Pickup2"
}
}

actor BusterRodEndC : BusterRod
{
Obituary "$OB_BUSTERRODPOLE"
Damagetype "BusterRodG"
}

actor BusterRodEndCO : BusterRodEndC
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_Stop
BRGX O 1 A_Explode(8,40,0,0,40)
stop
}
}

actor BusterRodEndCP : BusterRodEndC
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_Stop
BRGX P 1 A_Explode(8,40,0,0,40)
stop
}
}

actor BusterRodEndC1 : BusterRodEndCO{speed 20}
actor BusterRodEndC2 : BusterRodEndCO{speed 40}
actor BusterRodEndC3 : BusterRodEndCP{speed 60}
actor BusterRodEndC4 : BusterRodEndCP{speed 80}
actor BusterRodEndC5 : BusterRodEndCO{speed 115}
actor BusterRodEndC6 : BusterRodEndCO{speed 135}
actor BusterRodEndC7 : BusterRodEndCP{speed 155}
actor BusterRodEndC8 : BusterRodEndCP{speed 175}



actor MegaWaterSWep : BaseMM8BDMWep
{
dropitem "MegaWaterSWepCDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 28
Weapon.SlotNumber 7
Inventory.Pickupmessage "$PU_MEGAWATERBARRIER"
Obituary "$OB_MEGAWATERBARRIER"
Tag "$TAG_MEGAWATERBARRIER"
weapon.ammotype "MegaWaterSCopyAmmo"
inventory.icon "MWSCOPIC"
States
{
Spawn:
MWSH X 1
loop
Ready:
MWSH M 0 ACS_ExecuteAlways(998,0,951)
MWSH M 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
MWSH M 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
MWSH M 1 A_Raise
Loop
Deselect:
//TNT1 A 0 A_GunFlash("LightDone",GFF_NOEXTCHANGE)
TNT1 A 0 A_JumpIfInventory("ShieldCheck", 1, "Deactivate")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
MWSH M 1 A_Lower
Goto Deselect+3
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
MWSH M 1 A_Raise
Loop
Fire:
MWSH M 0 A_JumpIfNoAmmo("NoAmmo")
MWSH M 0 A_JumpIfInventory("ShieldCheck",1,"Finish")
MWSH M 0 A_GiveInventory("ShieldCheck",1)
MWSH P 0 A_TakeInventory("MegaWaterSCopyAmmo",1)
MWSH M 0 A_PlaySound("classes/MWS_Shield",4,1.0)
MWSH NO 2
MWSH O 0 A_GunFlash
MWSH P 2
Goto BarrierActive
BarrierActive:
MWSH P 0 A_JumpIfNoAmmo("Finish")
MWSH P 0 A_SpawnItemEx("MWSCopyShield",23,0,0,momx,momy,momz,0,8,0)
MWSH P 0 A_SpawnItemEx("MWSCopyShieldFX1",23,0,8,momx,momy,momz,0,8,0)
MWSH P 1 A_WeaponReady
MWSH P 0 A_JumpIfNoAmmo("Finish")
MWSH P 0 A_SpawnItemEx("MWSCopyShield",23,0,0,momx,momy,momz,0,8,0)
MWSH P 0 A_SpawnItemEx("MWSCopyShieldFX1",23,0,8,momx,momy,momz,0,8,0)
MWSH P 1 A_WeaponReady
MWSH P 0 A_JumpIfNoAmmo("Finish")
MWSH P 0 A_SpawnItemEx("MWSCopyShield",23,0,0,momx,momy,momz,0,8,0)
MWSH P 0 A_SpawnItemEx("MWSCopyShieldFX2",23,0,8,momx,momy,momz,0,8,0)
MWSH P 1 A_WeaponReady
MWSH P 0 A_JumpIfNoAmmo("Finish")
MWSH P 0 A_SpawnItemEx("MWSCopyShield",23,0,0,momx,momy,momz,0,8,0)
MWSH P 0 A_SpawnItemEx("MWSCopyShieldFX2",23,0,8,momx,momy,momz,0,8,0)
MWSH P 1 A_WeaponReady
loop
Finish:
MWSH P 0 A_PlaySound("classes/ShieldPop",4,1.0)
MWSH P 0 A_TakeInventory("ShieldCheck",9)
MWSH P 0 A_FireCustomMissile("MWSPushCopy",0,0,0,0)
MWSH PPPPP 0 A_SpawnItemEx("MWS_SplashFX2",random(-5,5),random(-5,5),16,random(-5,5),random(-5,5),random(2,6),0,1)
MWSH PPPPP 0 A_SpawnItemEx("MWS_SplashFX2",random(-5,5),random(-5,5),32,random(-5,5),random(-5,5),random(2,6),0,1)
MWSH PPPPP 0 A_SpawnItemEx("MWS_SplashFX2",random(-5,5),random(-5,5),48,random(-5,5),random(-5,5),random(2,6),0,1)
MWSH O 2
MWSH NM 2 A_TakeInventory("MWSShieldCharge",99)
MWSH M 5
Goto Ready+1
Deactivate:
MWSH P 0 A_PlaySound("classes/ShieldPop",4,1.0)
MWSH P 0 A_TakeInventory("ShieldCheck",9)
MWSH P 0 A_FireCustomMissile("MWSPushCopy",0,0,0,0)
MWSH PPPPP 0 A_SpawnItemEx("MWS_SplashFX2",random(-5,5),random(-5,5),16,random(-5,5),random(-5,5),random(2,6),0,1)
MWSH PPPPP 0 A_SpawnItemEx("MWS_SplashFX2",random(-5,5),random(-5,5),32,random(-5,5),random(-5,5),random(2,6),0,1)
MWSH PPPPP 0 A_SpawnItemEx("MWS_SplashFX2",random(-5,5),random(-5,5),48,random(-5,5),random(-5,5),random(2,6),0,1)
MWSH O 2
MWSH NM 2 A_TakeInventory("MWSShieldCharge",99)
MWSH M 5
Goto Deselect+1
Flash:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 2 A_GiveInventory("MWSShieldCharge",1)
TNT1 A 0 A_JumpIfInventory("ShieldCheck",1,1)
stop
TNT1 A 2 A_GiveInventory("MWSShieldCharge",1)
TNT1 A 0 A_JumpIfInventory("ShieldCheck",1,1)
stop
TNT1 A 2 A_GiveInventory("MWSShieldCharge",1)
TNT1 A 0 A_JumpIfInventory("ShieldCheck",1,1)
stop
TNT1 A 2 A_GiveInventory("MWSShieldCharge",1)
TNT1 A 0 A_JumpIfInventory("ShieldCheck",1,1)
stop
TNT1 A 2 A_GiveInventory("MWSShieldCharge",1)
TNT1 A 0 A_JumpIfInventory("ShieldCheck",1,1)
stop
TNT1 A 2 A_GiveInventory("MWSShieldCharge",1)
TNT1 A 0 A_JumpIfInventory("ShieldCheck",1,1)
stop
TNT1 A 2 A_GiveInventory("MWSShieldCharge",1)
TNT1 A 0 A_JumpIfInventory("ShieldCheck",1,1)
stop
TNT1 A 2 A_GiveInventory("MWSShieldCharge",1)
TNT1 A 0 A_JumpIfInventory("ShieldCheck",1,1)
stop
TNT1 A 2 A_GiveInventory("MWSShieldCharge",1)
TNT1 A 0 A_JumpIfInventory("ShieldCheck",1,1)
stop
TNT1 A 0 A_TakeInventory("MegaWaterSCopyAmmo",1)
loop
NoAmmo:
MWSH M 1 ACS_Execute(979,0)
Goto Ready+1
}
}

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


actor MWSCopyShield : ProtoShieldX
{
Height 64
Radius 20
+NOTIMEFREEZE
+DONTBLAST
damagefactor "ProtoBuster", 1.0
damagefactor "MWSPush", 0.0
}

actor MWSCopyShieldFX1 : ProtoShieldFX
{
Translation "200:202=210:210","203:205=196:196","206:207=118:118"
renderstyle translucent
alpha 0.5
+NOTIMEFREEZE
scale 1.25
States
{
Spawn:
MWSH Q 0
MWSH Q 1
stop
}
}

actor MWSCopyShieldFX2 : MWSCopyShieldFX1
{
States
{
Spawn:
MWSH R 0
MWSH R 1
stop
}
}


actor MWSPushCopy : MWSPush
{
Obituary "$OB_MEGAWATERBARRIER"
}


actor HyperStormHWep : BaseMM8BDMWep
{
dropitem "HyperStormHWepCDropped"
Weapon.AmmoUse 2
Weapon.AmmoGive 56
Weapon.SlotNumber 4
inventory.pickupmessage "$PU_HYPERSTORMBLASTER"
Obituary "$OB_HYPERSTORMBLASTER"
Tag "$TAG_HYPERSTORMBLASTER"
weapon.ammotype "HyperStormHCopyAmmo"
inventory.icon "HSHCOPIC"
States
{
Spawn:
HSHH X 1
loop
Ready:
HSHH M 0 ACS_ExecuteAlways(998,0,952)
HSHH M 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
HSHH M 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
HSHH M 1 A_Raise
Loop

Fire:
HSHH M 0 A_JumpIfNoAmmo("NoAmmo")
HSHH M 0 A_GunFlash
goto Hold
Hold:
HSHH M 0 A_JumpIfNoAmmo("NoAmmo")
HSHH M 0 A_JumpIfInventory("WeaponCharge", 25, "Charge2")
HSHH M 0 A_JumpIfInventory("WeaponCharge", 15, "Charge")
HSHH MMM 0 A_FireCustomMissile("HSHSucker2",random(-17,17),0,random(-10,10),random(-10,10),0,random(-10,10))
HSHH M 0 A_FireCustomMissile("HSHSucker",0,0)
HSHH M 2 A_GiveInventory("WeaponCharge", 1)
HSHH M 0 A_Refire
Goto Fire1
Charge:
HSHH N 0 A_JumpIfInventory("WeaponCharge", 25, "Charge2")
HSHH NN 0 A_FireCustomMissile("HSHSucker2",random(-17,17),0,random(-10,10),random(-10,10),0,random(-10,10))
HSHH N 0 A_FireCustomMissile("HSHSucker",0,0)
HSHH N 2 A_GiveInventory("WeaponCharge", 1)
HSHH N 0 A_Refire
Goto Fire2
Charge2:
HSHH O 0 A_FireCustomMissile("HSHSucker2",random(-17,17),0,random(-10,10),random(-10,10),0,random(-10,10))
HSHH O 0 A_FireCustomMissile("HSHSuckerWeak",0,0)
HSHH O 2 A_JumpIfInventory("IsBot",1,"BotCharge")
HSHH O 0 A_Refire
Goto Fire3
BotCharge:
HSHH O 2 A_Jump(64,"Fire1")
HSHH O 0 A_Refire
Goto Charge2+2

Flash:
TNT1 A 24 A_PlaySound("weapon/HSHSuckBlow",1,1.0)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,"Flash")
stop

Fire1:
HSHH O 0 A_TakeInventory("WeaponCharge",999)
HSHH O 0 A_ChangeVelocity(-Cos(pitch)*4, 0, sin(pitch)*4,1)
HSHH O 0 A_PlaySoundEx("weapon/GrenadeShot","Weapon")
HSHH O 0 A_FireCustomMissile("HSHBulletX",0,1,8,0)
HSHH OO 0 A_FireCustomMissile("HSHBulletX",random(-3,3),0,8,0,0,random(-3,3))
HSHH MNON 2
HSHH M 10
Goto Ready+1
Fire2:
HSNI C 0 A_TakeInventory("WeaponCharge",999)
HSNI C 0 A_PlaySoundEx("weapon/GrenadeShot","Weapon")
HSNI C 0 A_JumpIfInventory("HyperStormHCopyAmmo",4, "Fire2r")
Goto Fire1
Fire2r:
HSHH O 0 A_ChangeVelocity(-Cos(pitch)*7, 0, sin(pitch)*7,1)
HSHH O 0 A_TakeInventory("HyperStormHCopyAmmo",4)
HSHH O 0 A_FireCustomMissile("HSHBulletX",0,0,8,0)
HSHH OOOOO 0 A_FireCustomMissile("HSHBulletX",random(-5,5),0,8,0,0,random(-4,4))
HSHH NM 4
HSHH M 14
Goto Ready+1
Fire3:
HSNI C 0 A_TakeInventory("WeaponCharge",999)
HSNI C 0 A_PlaySoundEx("weapon/GrenadeShot","Weapon")
HSNI C 0 A_JumpIfInventory("HyperStormHCopyAmmo", 8, "Fire3r")
HSNI C 0 A_JumpIfInventory("HyperStormHCopyAmmo", 4, "Fire2r")
Goto Fire1
Fire3r:
HSHH O 0 A_ChangeVelocity(-Cos(pitch)*11, 0, sin(pitch)*11,1)
HSHH O 0 A_TakeInventory("HyperStormHCopyAmmo",8)
HSHH O 0 A_FireCustomMissile("HSHBulletX",0,0,8,0)
HSHH OOOOOOOOOOOO 0 A_FireCustomMissile("HSHBulletX",random(-7,7),0,8,0,0,random(-5,5))
HSHH NM 6
HSHH M 16
Goto Ready+1
NoAmmo:
HSHH M 1 ACS_Execute(979,0)
Goto Ready+1
}
}

actor HyperStormHCopyAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 56
+INVENTORY.IGNORESKILL
}

actor HSHBulletX
{
PROJECTILE
Radius 8
Height 8
DamageType "HyperStormHF"
Obituary "$OB_HYPERSTORMBLASTER"
scale 2.0
Damage (4)
speed 45
States
{
Spawn:
BASB A -1
loop
}
}
