actor StarCrashWep : MegaBuster 10073
{
Weapon.AmmoGive 28
Weapon.SlotNumber 7
Obituary "%o was crashed by %k's Star Crash."
Inventory.Pickupmessage "Power up! Star Crash!"
weapon.ammotype "StarCrashAmmo"
weapon.ammouse 1
inventory.pickupsound "weapon/weaponup"
inventory.icon "STARSI"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
WEA2 X 1
loop
Ready:
STAR I 0 ACS_ExecuteAlways(998,0,43)
STAR I 0 A_ClearRefire
STAR I 1 A_WeaponReady
Goto Ready+2
Deselect:
STAR I 0 A_JumpIfInventory("ShieldCheck",1,24)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
STAR I 1 A_Lower
Goto Deselect+1
STAR I 0
STAR I 0 A_TakeInventory("ShieldCheck",1)
STAR I 0 A_FireCustomMissile("StarCrash",0,0,0,0)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
Goto Deselect+1
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
STAR I 1 A_Raise
Loop
Fire:
STAR I 0 A_JumpIfInventory("ShieldCheck",1,"ShieldThrow")
STAR I 0 A_JumpIfNoAmmo("NoAmmo")
STAR I 0 A_TakeInventory("StarCrashAmmo",1)
STAR I 0 A_PlaySoundEx("weapon/mbuster","Weapon")
STAR I 1 A_GiveInventory("ShieldCheck",1)//A_SpawnItemEx("BubbleLeadStart",6,0,0,8,0,8,0,0,0)
goto ShieldActive
Hold:
STAR I 1
goto Ready+1
ShieldActive:
STAR J 2 A_SpawnItemEx("StarCrash1", 0, 0, 0, 0, 0, 0, 0, 0, 0)
STAR J 2 A_SpawnItemEx("StarCrash2", 0, 0, 0, 0, 0, 0, 0, 0, 0)
STAR J 0 A_SpawnItemEx("StarRadius",0,0,0)
STAR J 2 A_SpawnItemEx("StarCrash3", 0, 0, 0, 0, 0, 0, 0, 0, 0)
STAR J 2 A_SpawnItemEx("StarCrash4", 0, 0, 0, 0, 0, 0, 0, 0, 0)
STAR J 0 A_SpawnItemEx("StarRadius",0,0,0)
Goto Shield
Shield:
STAR J 1 A_WeaponReady
STAR J 0 A_SpawnItemEx("StarCrash1", 0, 0, 0, 0, 0, 0, 0, 0, 0)
STAR J 1 A_WeaponReady
STAR J 0 A_SpawnItemEx("StarCrash1", 0, 0, 0, 0, 0, 0, 0, 0, 0)
STAR J 1 A_WeaponReady
STAR J 0 A_SpawnItemEx("StarCrash2", 0, 0, 0, 0, 0, 0, 0, 0, 0)
STAR J 1 A_WeaponReady
STAR J 0 A_SpawnItemEx("StarCrash2", 0, 0, 0, 0, 0, 0, 0, 0, 0)
STAR J 0 A_SpawnItemEx("StarRadius",0,0,0)
STAR J 1 A_WeaponReady
STAR J 0 A_SpawnItemEx("StarCrash3", 0, 0, 0, 0, 0, 0, 0, 0, 0)
STAR J 1 A_WeaponReady
STAR J 0 A_SpawnItemEx("StarCrash3", 0, 0, 0, 0, 0, 0, 0, 0, 0)
STAR J 1 A_WeaponReady
STAR J 0 A_SpawnItemEx("StarCrash4", 0, 0, 0, 0, 0, 0, 0, 0, 0)
STAR J 1 A_WeaponReady
STAR J 0 A_SpawnItemEx("StarCrash4", 0, 0, 0, 0, 0, 0, 0, 0, 0)
STAR J 0 A_SpawnItemEx("StarRadius",0,0,0)
STAR J 0 A_TakeInventory("StarCrashAmmo",1)
STAR J 0 A_JumpIfNoAmmo("NoAmmo")
loop
ShieldThrow:
STAR J 0 A_TakeInventory("ShieldCheck",999)
STAR J 5 A_FireCustomMissile("StarCrash",0,0,0,0)
STAR K 5
STAR I 20
goto Ready+1
NoAmmo:
STAR I 1 ACS_Execute(979,0)
STAR I 0 A_TakeInventory("ShieldCheck",999)
STAR I 0 A_Refire
goto Ready+1
}
}

actor StarRadius
{
PROJECTILE
+DONTSPLASH
Damagetype "Star"
Damage 0
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(14,160,0)
stop
}
}

actor StarCrash1
{
scale 2.5
- SOLID
+NOGRAVITY
+DONTSPLASH
+NONETID
States
{
Spawn:
STAR A 1
STAR A 1
stop
}
}

actor StarCrash2
{
scale 2.5
- SOLID
+NOGRAVITY
+DONTSPLASH
+NONETID
States
{
Spawn:
STAR B 1
STAR B 1 
stop
}
}

actor StarCrash3
{
scale 2.5
- SOLID
+NOGRAVITY
+DONTSPLASH
+NONETID
States
{
Spawn:
STAR C 1
STAR C 1
stop
}
}

actor StarCrash4
{
scale 2.5
- SOLID
+NOGRAVITY
+DONTSPLASH
+NONETID
States
{
Spawn:
STAR D 1
STAR D 1
stop
}
}


actor StarCrash
{
scale 2.5
PROJECTILE
+DONTSPLASH
Damage (40)
Speed 30
Radius 12
Height 12
States
{
Spawn:
STAR EFGH 2
loop
}
}

actor StarCrashAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
}
