actor TimeStopperBoss : MegaBuster
{
Weapon.AmmoUse 7
Weapon.AmmoGive 28
Weapon.SlotNumber 6
Obituary "%o was pelted by %k's Flash Buster."
weapon.ammotype "TimeAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
WEAP N 1
loop
Ready:
FLSA A 0 ACS_ExecuteAlways(998,0,106)
FLSA A 0 A_GunFlash
FLSA A 0 ACS_ExecuteAlways(994,0)
FLSA A 0 ACS_Execute(978,0)
FLSA A 0 A_JumpIfInventory("TimeAmmo",28,"Ready2")
FLSA A 1 A_WeaponReady(WRF_NOSECONDARY)
FLSA A 0 A_GiveInventory("TimeStock",1)
Goto Ready+4
Ready2:
FLSA A 1 A_WeaponReady
loop
Deselect:
FLSA A 0 A_TakeInventory("TimeStopperBoss")
FLSA A 0 A_GiveInventory("TimeStopperBoss")
FLSA A 1 A_SelectWeapon("TimeStopperBoss")
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
FLSA A 1 A_Raise
Loop
Fire:
FLSA A 0
FLSA BC 2
Hold:
FLSA C 0 A_JumpIfInventory("Burned1",1,"Fire2")
FLSA C 0 A_JumpIfInventory("Burned2",1,"Fire3")
FLSA C 0 A_JumpIfInventory("Burned3",1,"Fire4")
FLSA C 0 A_JumpIfInventory("Burned4",1,"Fire5")
FLSA C 0 A_JumpIfInventory("Burned5",1,"Fire6")
FLSA C 0 A_JumpIfInventory("Burned6",1,"Fire7")
FLSA C 0 A_JumpIfInventory("Burned7",1,"Fire8")
FLSA I 0 A_JumpIfInventory("Burned8",1,"Fire9")
FLSA C 0 A_JumpIfInventory("Burned9",1,"Fire10")
FLSA C 0 A_JumpIfInventory("Burned10",1,"Fire11")
FLSA C 0 A_JumpIfInventory("Burned11",1,"Fire12")
FLSA C 0 A_JumpIfInventory("Burned12",1,"Fire13")
FLSA C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
FLSA C 3 A_FireCustomMissile("FlashBullet",0,0,8,0)
FLSA C 0 A_GiveInventory("Burned1")
FLSA C 0 A_ReFire
goto End
Fire2:
FLSA C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
FLSA C 3 A_FireCustomMissile("FlashBullet",-5,0,8,0)
FLSA C 0 A_GiveInventory("Burned2")
FLSA C 0 A_TakeInventory("Burned1")
FLSA C 0 A_Refire
goto End
Fire3:
FLSA C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
FLSA C 3 A_FireCustomMissile("FlashBullet",-10,0,8,0)
FLSA C 0 A_GiveInventory("Burned3")
FLSA C 0 A_TakeInventory("Burned2")
FLSA C 0 A_Refire
goto End
Fire4:
FLSA C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
FLSA C 3 A_FireCustomMissile("FlashBullet",-15,0,8,0)
FLSA C 0 A_GiveInventory("Burned4")
FLSA C 0 A_TakeInventory("Burned3")
FLSA C 0 A_Refire
goto End
Fire5:
FLSA C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
FLSA C 3 A_FireCustomMissile("FlashBullet",-10,0,8,0)
FLSA C 0 A_GiveInventory("Burned5")
FLSA C 0 A_TakeInventory("Burned4")
FLSA C 0 A_Refire
goto End
Fire6:
FLSA C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
FLSA C 3 A_FireCustomMissile("FlashBullet",-5,0,8,0)
FLSA C 0 A_GiveInventory("Burned6")
FLSA C 0 A_TakeInventory("Burned5")
FLSA C 0 A_Refire
goto End
Fire7:
FLSA C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
FLSA C 3 A_FireCustomMissile("FlashBullet",0,0,8,0)
FLSA C 0 A_GiveInventory("Burned7")
FLSA C 0 A_TakeInventory("Burned6")
FLSA C 0 A_Refire
goto End
Fire8:
FLSA C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
FLSA C 3 A_FireCustomMissile("FlashBullet",5,0,8,0)
FLSA C 0 A_GiveInventory("Burned8")
FLSA C 0 A_TakeInventory("Burned7")
FLSA C 0 A_Refire
goto End
Fire9:
FLSA C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
FLSA C 3 A_FireCustomMissile("FlashBullet",10,0,8,0)
FLSA C 0 A_GiveInventory("Burned9")
FLSA C 0 A_TakeInventory("Burned8")
FLSA C 0 A_Refire
goto End
Fire10:
FLSA C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
FLSA C 3 A_FireCustomMissile("FlashBullet",15,0,8,0)
FLSA C 0 A_GiveInventory("Burned10")
FLSA C 0 A_TakeInventory("Burned9")
FLSA C 0 A_Refire
goto End
Fire11:
FLSA C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
FLSA C 3 A_FireCustomMissile("FlashBullet",10,0,8,0)
FLSA C 0 A_GiveInventory("Burned11")
FLSA C 0 A_TakeInventory("Burned10")
FLSA C 0 A_Refire
goto End
Fire12:
FLSA C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
FLSA C 3 A_FireCustomMissile("FlashBullet",5,0,8,0)
FLSA C 0 A_GiveInventory("Burned12")
FLSA C 0 A_TakeInventory("Burned11")
FLSA C 0 A_Refire
goto End
Fire13:
FLSA C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
FLSA C 3 A_FireCustomMissile("FlashBullet",0,0,8,0)
FLSA C 0 A_TakeInventory("Burned12")
//FLSA C 0 A_GiveInventory("TimeAmmo",1)
FLSA C 0 A_Refire
End:
FLSA CBA 2
//FIRE G 0 A_TakeInventory("Burned1")
//FIRE G 0 A_TakeInventory("Burned2")
//FIRE G 0 A_TakeInventory("Burned3")
//FIRE G 0 A_TakeInventory("Burned4")
//FIRE G 0 A_TakeInventory("Burned5")
//FIRE G 0 A_TakeInventory("Burned6")
//FIRE G 0 A_TakeInventory("Burned7")
//FIRE G 0 A_TakeInventory("Burned8")
//FIRE G 0 A_TakeInventory("Burned9")
//FIRE G 0 A_TakeInventory("Burned10")
//FIRE G 0 A_TakeInventory("Burned11")
//FIRE G 0 A_TakeInventory("Burned12")
Goto Ready+2
AltFire:
FLSA A 1 A_JumpIfInventory("TimeAmmo",28,"TimeStopper")
goto Ready+2
TimeStopper:
//FLSA A 0 A_JumpIfNoAmmo("NoAmmo")
FLSA A 0 A_GiveInventory("TimeStopperFlag",1)
FLSA A 0 A_TakeInventory("TimeAmmo",1)
FLSA A 0 A_GunFlash
FLSA A 0 A_PlaySoundEx("weapon/timestopper","Weapon")
FLSA A 0 A_FireCustomMissile("TimeStopperRadius",0,1,8,0)
//CENB A 0 A_GiveInventory("Repulsion",1)
FLSA A 40 ACS_ExecuteAlways(976,0)
FLSA A 0 A_Refire
Goto Ready+2
NoAmmo:
FLSA A 0
//FLSA A 1 ACS_Execute(979,0)
goto Ready+2
Flash:
TNT1 A 0 A_JumpIfInventory("TimeStopperFlag", 1, "Deplete")
TNT1 A 0 A_TakeInventory("TimeStock",999)
goto Reload
Reload:
TNT1 A 1 A_GiveInventory ("TimeStock", 2)
CRAA A 0 A_JumpIfInventory("TimeStock", 70, "Give")
loop
Give:
TNT1 A 0 A_TakeInventory("TimeStock",70)
TNT1 A 0 A_GiveInventory ("TimeAmmo", 1)
goto Reload+1
Deplete:
TNT1 A 4 A_TakeInventory("TimeAmmo",1)
TNT1 A 0 A_JumpIfInventory("TimeAmmo", 1, "Deplete")
TNT1 A 0 A_TakeInventory("TimeStopperFlag",999)
goto Flash
NoFlash:
//TNT1 A 0
stop
}
}

actor TimeStock : Inventory
{
inventory.amount 1
inventory.maxamount 999
}

actor FlashBullet : FastProjectile
{
PROJECTILE
+LOOKALLAROUND
+SKYEXPLODE
+DONTBLAST
damagetype "Buster"
//seesound "weapon/mbuster"
Speed 64
Damage (6)
radius 5
height 5
scale 2.5
States
{
Spawn:
TNT1 A 1
BASB A 7
stop
}
}


actor TimeStopperRadius
{
-SOLID
+NOGRAVITY
PROJECTILE
damage 0
radius 1
height 1
damagetype "TimeStop"
Obituary "%o's suck was immortalized by %k's Time Bender."
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(5, 450,0)
stop
}
}

actor Burned1 : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor Burned2 : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor Burned3 : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor Burned4 : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor Burned5 : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor Burned6 : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor Burned7 : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor Burned8 : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor Burned9 : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor Burned10 : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor Burned11 : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor Burned12 : Ammo
{
inventory.amount 1
inventory.maxamount 1
}

actor TimeStopperFlag : Inventory
{
inventory.amount 1
inventory.maxamount 1
}