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:
STAA A 0 ACS_ExecuteAlways(998,0,43)
STAA A 0 A_ClearRefire
STAA A 1 A_WeaponReady
Goto Ready+2
Deselect:
STAA A 0 A_JumpIfInventory("ShieldCheck",1,24)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
STAA A 1 A_Lower
Goto Deselect+1
STAA A 0
STAA A 0 A_TakeInventory("ShieldCheck",1)
STAA A 0 //A_FireCustomMissile("StarCrash",0,0,0,0)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
Goto Deselect+1
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
STAA A 1 A_Raise
Loop
Fire:
STAA A 0 A_JumpIfInventory("ShieldCheck",1,"ShieldThrow")
STAA A 0 A_JumpIfNoAmmo("NoAmmo")
STAA A 0 A_TakeInventory("BasicArmor",9999)
STAA A 0 A_TakeInventory("StarCrashAmmo",1)
STAA A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
STAA A 1 A_GiveInventory("ShieldCheck",1)//A_SpawnItemEx("BubbleLeadStart",6,0,0,8,0,8,0,0,0)
goto ShieldActive
Hold:
STAA A 1
goto Ready+1
ShieldActive:
STAA B 2 A_SpawnItemEx("StarCrash1", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA C 2 A_SpawnItemEx("StarCrash2", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA A 0 A_SpawnItemEx("StarRadius",0,0,0)
STAA D 2 A_SpawnItemEx("StarCrash3", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA E 2 A_SpawnItemEx("StarCrash4", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA A 0 A_SpawnItemEx("StarRadius",0,0,0)
Goto ShieldStart
ShieldStart:
STAA F 1 //A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash1", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA F 1 //A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash1", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
TNT1 A 1 //A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash2", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
TNT1 A 1 //A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash2", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA A 0 A_SpawnItemEx("StarRadius",0,0,0)
STAA G 1 A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash3", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA G 1 A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash3", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA H 1 A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash4", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA H 1 A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash4", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA A 0 A_SpawnItemEx("StarRadius",0,0,0)
STAA A 0 A_TakeInventory("StarCrashAmmo",1)
STAA A 0 A_JumpIfNoAmmo("NoAmmo")
Goto Shield
Shield:
STAA A 1 A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash1", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA A 1 A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash1", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA A 1 A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash2", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA A 1 A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash2", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA A 0 A_SpawnItemEx("StarRadius",0,0,0)
STAA A 1 A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash3", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA A 1 A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash3", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA A 1 A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash4", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA A 1 A_WeaponReady
STAA A 0 A_SpawnItemEx("StarCrash4", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
STAA A 0 A_SpawnItemEx("StarRadius",0,0,0)
STAA A 0 A_TakeInventory("StarCrashAmmo",1)
STAA A 0 A_JumpIfNoAmmo("NoAmmo")
loop
ShieldThrow:
STAA A 0 A_TakeInventory("ShieldCheck",999)
STAA A 5 A_FireCustomMissile("StarCrash",0,0,0,0)
STAA IJ 1
STAA K 18
STAA J 2
goto Ready+1
NoAmmo:
STAA A 1 ACS_Execute(979,0)
STAA A 0 A_TakeInventory("ShieldCheck",999)
STAA A 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
}
