actor Burstman : SemiHighArmorClass
{
Player.ScoreIcon "BURSMUGS"
player.startitem "BaseFlagPack", 1
player.startitem "IsFromMM7"
player.soundclass "burstmanc"
Player.ViewHeight 64
projectilepassheight 77
player.displayname "Burstman"
player.startitem "DangerWrapBoss"
player.startitem "Base28Ammo", 28
player.startitem "BaseAltfireAmmo", 112
player.startitem "UltimateAttackItem2", 1
player.startitem "UltSoundWatcherSpawn2"
player.startitem "BurstFloatAmmo", 105
player.startitem "NoHealthBar"
States
{
Spawn:
BURS A 0
BURS B 1 A_JumpIf(z-floorz>0, "Jumping")
BURS A 1 A_JumpIf(z-floorz>0, "Jumping")
Goto Spawn+2

See:
BURS BBBBBCCCCCDDDDDEEEEE 1 A_JumpIf(z-floorz>0, "Jumping")
Goto Spawn

Animation2:
Jumping:
BURS J 1 A_JumpIf(z-floorz<=0, "Landing")
wait

Landing:
BURS ZZ 1 A_JumpIf(z-floorz>0,"Jumping")
Goto Spawn+2

Missile:
BURS F 0 A_JumpIfInventory("BaseCustomFlag1",1,"Missile.Float")
BURS FFFF 1 A_JumpIf(z-floorz>0, "JumpingMissile")

Missile2:
BURS G 0 A_JumpIfInventory("BaseCustomFlag1",1,"Missile.Float")
BURS GGGGG 1 A_JumpIf(z-floorz>0, "JumpingMissile2")
Goto Spawn+1

JumpingMissile:
BURS K 0 A_JumpIfInventory("BaseCustomFlag1",1,"Missile.Float")
BURS KKKK 1 A_JumpIf(z-floorz<=0, "Missile")

JumpingMissile2:
BURS U 0 A_JumpIfInventory("BaseCustomFlag1",1,"Missile.Float")
BURS UUUUU 1 A_JumpIf(z-floorz<=0, "Missile2")
Goto Jumping

Missile.Float:
BURS PRQ 4
goto Animation1

Animation1:
BURS MNO 4
loop

Animation3:
BURS L 4
BURS V 34
goto Spawn+1

Animation4:
BURS I 0 A_JumpIfInventory("BaseCustomFlag1",1,"Missile.Float")
BURS IIIIIIIII 1 A_JumpIf(z-floorz>0, "JumpingA4")
Goto Spawn+1

JumpingA4:
BURS TTTTTTTTT 1 A_JumpIf(z-floorz<=0, "Animation4")
Goto Jumping

ClassTimeStop:
PLAY A 0 SetPlayerProperty(0,1,4)
PLAY A 0 ACS_Execute(528,0)
BURS AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
PLAY A 0 SetPlayerProperty(0,0,4)
Goto pain+1
ClassPain:
BURS H 0 A_JumpIfInventory("BaseCustomFlag1",1,"ClassPain.Float")
BURS HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
Goto Spawn+1
ClassPain.Float:
BURS SSXXYY 2 A_SpawnItem("PainFX",0,3)
Goto Animation1

Death.FreezeCracker:
Death.FreezeCrackerBit:
Death.Freezeman:
TNT1 A 0 A_SpawnItemEx("DeadFrozenBurstMan",0,0,32)
NOFX A 20 ACS_ExecuteAlways(999,0,0)
NOFX A 1 A_CheckPlayerDone
wait
Death.ScorchWheel:
Death.TurbomanWheel:
Death.TurbomanWheel2:
Death.TurbomanBurn:
Death.TurbomanBurn2:
TNT1 A 0 A_SpawnItemEx("DeadBurnedBurstMan",0,0,32,0,0,0,0,SXF_TRANSFERTRANSLATION)
NOFX A 20 ACS_ExecuteAlways(999,0,0)
NOFX A 1 A_CheckPlayerDone
wait
ClassDeath:
TNT1 A 0 A_SpawnItemEx("DeadBurstMan",0,0,0,0,0,0,0,1)
NOFX A 20 ACS_ExecuteAlways(999,0,0)
NOFX A 1 A_CheckPlayerDone
wait
ClassIceDeath:
BURS A 35
NOFX A 0 A_SpawnItemEx("FrozenDeathFX",0,0,16)
NOFX A 1 A_CheckPlayerDone
wait
WeaponGetM:
CUTM H 0 A_JumpIfInTargetInventory("DangerWrapWepM",1,2)
CUTM H 0 A_GiveToTarget("WeaponGetter")
CUTM H 0 A_GiveToTarget("DangerWrapWepM")
goto ClassDeath
}
}

actor DeadBurstMan : DeadFreezeMan
{
meleerange 7842
States
{
Spawn:
BURS H 0
"####" "#" 0
goto loopit
}
}

actor DeadFrozenBurstMan
{
Translation "0:0=195:195", "192:192=202:202", "198:198=197:197"
PROJECTILE
-NOGRAVITY
+THRUACTORS
+BOUNCEONWALLS
+NOEXPLODEFLOOR
+BOUNCEONCEILINGS
+DONTBLAST
Gravity 1.0
WallBounceFactor 0.0
height 32
radius 32
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_PlaySoundEx("weapon/icefreeze","SoundSlot6")
TNT1 A 0 A_Recoil(20)
TNT1 A 0 ThrustThingZ(0,45,0,1)
B2RS A 2
B2RS A 1 A_CheckFloor("Death")
wait
Death:
TNT1 A 0 A_PlaySoundEx("mm7/dead","Auto")
TNT1 A 0 A_PlaySoundEx("weapon/centaurflash","Voice")
TNT1 A 0 A_SpawnItemEX("CriticalDeathSpawner",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
Stop
}
}

actor DeadBurnedBurstMan
{
PROJECTILE
-NOGRAVITY
+THRUACTORS
+BOUNCEONWALLS
+NOEXPLODEFLOOR
+BOUNCEONCEILINGS
+DONTBLAST
-NOINTERACTION
Gravity 1.0
WallBounceFactor 0.0
height 32
radius 32
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TUHU A 0 A_PlaySoundEx("weapon/turbowheel","Weapon")
TNT1 A 0 A_Recoil(20)
TNT1 A 0 ThrustThingZ(0,45,0,1)
B2RS BC 1
Spawn2:
B2RS BC 1 A_CheckFloor("Death")
loop
Death:
TNT1 A 0 A_Stop
TNT1 A 0 A_ChangeFlag("NOINTERACTION",True)
B2RS C 8 ACS_ExecuteAlways(971,0,5678)
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("MagmaUltDeathFX",random(0,48),0,random(0,64),0,0,frandom(0.0,1.0),random(0,359))
TNT1 A 0 A_PlaySoundEx("mm7/dead","Auto")
TNT1 A 0 A_PlaySoundEx("misc/lava","SoundSlot6")
Stop
}
}

actor DangerWrapBoss : VCBaseWeapon
{
	Weapon.AmmoType2 "BaseAltfireAmmo"
	Weapon.ammouse 4
	Obituary "$OB_BURSTMAN1"
	States
	{
		Ready:
		TNT1 A 0
		BURX A 0 A_JumpIfInventory("BaseAltfireAmmo",37,"Ready.TF")
		BURX A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,8)) BURX A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		BURX A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,8)) BURX A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		BURX A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,8)) BURX A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		BURX A 0 A_GiveInventory("Base28Ammo",1)
		BURX A 0 A_GiveInventory("BaseAltfireAmmo",2)
		goto Ready
		
		Ready.TF:
		BURX A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,8)) BURX A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") BURX A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		BURX A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,8)) BURX A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") BURX A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		BURX A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,8)) BURX A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") BURX A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		BURX A 0 A_GiveInventory("Base28Ammo",1)
		BURX A 0 A_GiveInventory("BaseAltfireAmmo",2)
		goto Ready
		
		Deselect:
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
		BURX A 1 A_Lower
		Loop

		Select:
        TNT1 A 0 A_SpawnItemEx("BurstPassiveWatcher")
        TNT1 A 0 ACS_ExecuteAlways(991,0,7842)
        TNT1 A 0 A_GunFlash
        SelectX:
        TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
        BURX A 1 A_Raise
        Loop
		
		
		User1:
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",4)
		BURX A 1 Offset(0,48) A_PlaySoundEx("weapon/rminestick","Weapon")
		BURX A 1 Offset(0,60)
		BURX A 1 Offset(0,68)
		BURX A 1 Offset(0,72)
		BURX A 8 A_GiveInventory("BurstTFHandler")
		BURX A 1 Offset(0,72)
		BURX A 1 Offset(0,68)
		BURX A 1 Offset(0,60)
		BURX A 1 Offset(0,48)
		goto Ready


		Fire:
		BURX B 0 A_JumpIfInventory("BaseCustomFlag2",1,"Fire.Ult")
		BURX B 0 A_FireCustomMissile("BurstmanWrap",0,1,0,8)
		BURX F 0 A_PlaySoundEx("weapon/wrapfire","Weapon")
		BURX B 4
		BURX C 4 Offset(6,38)
		BURX C 4 Offset(4,36)
		BURX C 18 Offset(0,32)
		BURX C 0 A_JumpIfNoAmmo(2)
		BURX C 0 A_Refire("Fire2")
		BURX B 1	
		goto Ready

		Fire2:
		BURX B 0 A_JumpIfInventory("BaseCustomFlag2",1,"Fire.Ult")
		BURX B 0 A_FireCustomMissile("BurstmanWrap",0,1,0,8)
		BURX F 0 A_PlaySoundEx("weapon/wrapfire","Weapon")
		//Offset(64,68)
		BURX C 4 Offset(8,40)//Offset(8,8)
		BURX C 4 Offset(6,38)
		BURX C 4 Offset(4,36)//Offset(-2,-2)
		BURX C 18 Offset(0,32) //Offset(-4,-4)
		BURX C 0 A_JumpIfNoAmmo(2)
		BURX C 0 A_Refire("Fire2")
		BURX B 1
		goto Ready
		
		Fire.Ult:
		BURX A 0 A_GiveInventory("BurstUltHandler",1)
		BURX GHA 4
		BURX A 9
		goto Ready
		
		
		Altfire:
		RATU A 0 A_JumpIfInventory("NoAltfire",1,"Ready")
		BURX B 0 A_JumpIfInventory("BaseCustomFlag2",1,"Fire.Ult")
		BURX A 0 A_CheckFloor("Altfire.Ground")
		BURX A 0 A_JumpIf(callACS("core_CheckFooting")== 1 || (abs(z-floorz) < 30 && momz <= 0),"Altfire.Ground")
		BURX A 0 A_JumpIfInventory("Base28Ammo",2,1)
		goto Ready
		BURX A 0 A_GiveInventory("BurstDropHandler",1)
		BURX A 1 Offset(0,48)
		BURX A 1 Offset(0,60)
		BURX A 1 Offset(0,68)
		BURX A 3 Offset(0,72)
		BURX A 1 Offset(0,68)
		BURX A 1 Offset(0,60)
		BURX A 1 Offset(0,48)
		BURX A 6 A_WeaponReady(WRF_NOFIRE)
		goto Ready
		
		Altfire.Ground:
		BURX A 0 A_FireCustomMissile("BurstPreviewPinpoint",0,0,0,20)
		BURX A 0 Offset(-8,48) A_GiveInventory("BurstM2StartHandler",1)
		BURX D 1
		
		Altfire.BubbleLaunch:
		BURX A 0 A_GiveInventory("BurstPinpointHandler",1)
		BURX E 0 Offset(2,72) A_FireCustomMissile("BurstPreviewPinpoint",0,0,0,20)//Offset(-19,72) A_FireCustomMissile("BurstPreviewPinpoint",0,0,0,20)
		BURX E 1 Offset(-1,72) A_FireCustomMissile("BurstPreviewPinpoint",0,0,0,20)//Offset(-21,72) A_FireCustomMissile("BurstPreviewPinpoint",0,0,0,20)
		
		Altfire.BubbleWait:
		BURX EEEEEEEEEEEEEEEE 1 Offset(1,72) A_FireCustomMissile("BurstPreviewPinpoint",0,0,0,20)
		BURX A 0 A_JumpIfInventory("BaseAltfireAmmo",8,1)
		goto Altfire.Finish
		BURX EEEEEEEEEEEEEEEE 1 Offset(1,72) A_FireCustomMissile("BurstPreviewPinpoint",0,0,0,20)
		BURX A 0 A_Refire("Altfire.BubbleLaunch")
		
		Altfire.Finish:
		BURX F 1 Offset(-18,68) A_GiveInventory("BurstM2FinishHandler",1)
		BURX F 1 Offset(-14,60)
		BURX F 1 Offset(-8,48)
		BURX A 10 A_WeaponReady(WRF_NOFIRE)
		goto Ready
		
		
		UltimateAttack:
		BURX A 1
		TNT1 A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,59)
		CUTA A 0 A_GiveInventory("TurboUltCooldown")
		CUTA A 0 ACS_NamedExecuteWithResult("VC_SetState",5)
		CUTA A 0 A_PlaySoundEx("classes/ultimateactivation","Auto")
		CUTA A 0 A_PlaySoundEx("misc/BombCount","Body")
		CUTA A 0 A_PlaySoundEx("weapon/burstult","SoundSlot7")
		CUTA A 0 A_GiveInventory("BaseCustomFlag2",1)
		CUTA A 0 A_TakeInventory("UltAttackFlag",999)
		CUTA A 0 A_SpawnItemEx("BurstUltWatcher")
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BurstUltFX",32,0,random(0,64),random(1,7),0,random(-1,4),random(0,359))	
		BURX A 1
		goto Ready
		
		
		Flash:
		TNT1 A 1 A_JumpIfInventory("IsDead",1,"NoFlash")
		TNT1 A 0 A_GiveInventory("BurstFlightAmmoHandler",1)
		TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,"Flash.FloatStart")
		loop
		
		Flash.FloatStart:
		TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,"Flash")
		TNT1 A 0 A_GiveInventory("BurstFloatHandler",1)
		
		Flash.FloatLoop:
		TNT1 A 1 A_GiveInventory("BurstFloatLoopHandler",1)
		TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
		TNT1 A 0 A_JumpIfInventory("BurstFloatAmmo",1,1)
		goto Flash.FloatStop
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",2)>0,"Flash.FloatLoop")
		TNT1 A 1 A_GiveInventory("BurstFloatLoopHandler",1)
		TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
		TNT1 A 0 A_JumpIfInventory("BurstFloatAmmo",1,1)
		goto Flash.FloatStop
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",2)>0,"Flash.FloatLoop")
		TNT1 A 1 A_GiveInventory("BurstFloatLoopHandler",1)
		TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
		TNT1 A 0 A_JumpIfInventory("BurstFloatAmmo",1,1)
		goto Flash.FloatStop
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",2)>0,"Flash.FloatLoop")
		TNT1 A 1 A_GiveInventory("BurstFloatLoopHandler",1)
		TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
		TNT1 A 0 A_JumpIfInventory("BurstFloatAmmo",1,1)
		goto Flash.FloatStop
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",2)>0,"Flash.FloatLoop")
		
		Flash.FloatStop:
		TNT1 A 0 A_GiveInventory("BurstFloatStopHandler",1)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_TakeInventory("BaseCustomFlag1",999)
		goto Flash
	}
}

actor BurstFloatAmmo : Ammo
{
	inventory.amount 1
	inventory.maxamount 105
	+INVENTORY.IGNORESKILL
}

actor BurstmanWrap
{
Obituary "$OB_BURSTMAN1"
PROJECTILE
damagetype "Burstman"
Radius 20
Height 20
scale 2.5
damage (4)
speed 24
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
DWAR ABC 5 ThrustThingZ(0,2,0,1)
goto Spawn+2
Death:
TNT1 A 0 A_PlaySoundEx("weapon/burstpop","Body")
TNT1 A 0 A_Stop
TNT1 A 0 A_SpawnItemEx("BurstmanFloorWrap")
BMBU BD 1
stop
XDeath:
TNT1 A 0 A_Stop
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_PlaySoundEx("weapon/mm7explode", "Weapon")
TNT1 A 0 A_Explode(20, 128, 0, 0, 32)
TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("MM7ExplodeFX",0,0,0,16,0,random(-8,8),random(0,359),1)
TNT1 A 1
stop
}
}

actor MM7ExplodeFX : BasicClientSide
{
States
{
Spawn:
7EXP ABCDEF 1
stop
}
}

actor BurstmanFloorWrap : BurstmanWrap
{
radius 12
height 12
damage (2)
gravity 2.0
-NOGRAVITY
+BOUNCEONCEILINGS
+NOEXPLODEFLOOR
damagetype "BurstmanFloor"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
DWAR DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 1 A_CheckFloor("Blink")
Blink:
DWAR DED 4 A_Stop
DWAR EDEDEDED 2
DWAR EDEDEDEDEDEDED 1
Death:
XDeath:
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_PlaySoundEx("weapon/mm7enemyexplode", "Weapon")
TNT1 A 0 A_Explode(17, 128, 0, 0, 32)
TNT1 A 1 A_SpawnItemEx("MM7ExplodeFX",0,0,12,0,0,0,0,1)
stop
}
}

actor BurstmanFloorWrap2 : BurstmanFloorWrap
{
Obituary "$OB_BURSTMAN5"
damagetype "BurstmanFloorProtected"
+THRUACTORS
damage (0)
States
{
XDeath:
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_PlaySoundEx("weapon/mm7enemyexplode", "Weapon")
TNT1 A 0 A_Explode(19, 128, 0, 0, 32)
TNT1 A 1 A_SpawnItemEx("MM7ExplodeFX",0,0,12,0,0,0,0,1)
stop
}
}

actor BurstmanFloorWrap3 : BurstmanFloorWrap
{
Obituary "$OB_BURSTMAN3"
}

actor BurstFlightAmmoHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_CheckFloor("Pickup2")
stop
Pickup2:
TNT1 A 0 A_GiveInventory("BurstFloatAmmo",1)
stop
}
}

actor BurstFloatHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
TNT1 A 0 A_PlaySoundEx("weapon/burstfloat","Body")
stop
}
}

actor BurstFloatLoopHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ThrustThingZ(0,14,0,0)
TNT1 A 0 A_TakeInventory("BurstFloatAmmo",1)
stop
}
}

actor BurstFloatStopHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
TNT1 A 0 A_SpawnItemEx("BurstBubblePop",0,0,32)
stop
}
}

actor BurstBubblePop : BasicClientSide
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_PlaySoundEx("weapon/burstpop2","Body")
BMBU BD 1
stop
}
}

actor BurstDropHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("BurstmanFloorWrap3",0,0,0,0,0,-10)
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon")
TNT1 A 0 A_TakeInventory("Base28Ammo",2)
stop
}
}

actor BurstM2StartHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_Execute(191,0,APROP_JumpZ,0,1)
TNT1 A 0 A_GiveInventory("GalaxyFlySlow",1)
TNT1 A 0 A_GiveInventory("WeaponCharge",1)
stop
}
}

actor BurstM2FinishHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_Execute(191,0,APROP_JumpZ,10,1)
TNT1 A 0 A_TakeInventory("GalaxyFlySlow",1)
TNT1 A 0 A_TakeInventory("WeaponCharge",999)
TNT1 A 0 A_TakeInventory("BaseCustomFlag1",999)
stop
}
}

actor BurstPreviewPinpoint : FastProjectile
{
PROJECTILE
+THRUACTORS
+THRUGHOST
+SKYEXPLODE
+DONTSPLASH
+DONTREFLECT
Speed 600
Radius 4
Height 4
MissileHeight 8
reactiontime 1
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 1 A_CountDown
wait
Death:
TNT1 A 0 A_SpawnItemEx("BurstSproutS")
TNT1 A 1
stop
}
}

actor BurstSproutS
{
+MISSILE
+THRUACTORS
+CLIENTSIDEONLY
gravity 999
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(z-floorz == 0,"Death")
TNT1 A 1
loop
Death:
TNT1 A 0 A_SpawnItemEx("BurstSproutHelper",0,0,0,0,0,0)
TNT1 A 1
stop
}
}

actor BurstSproutHelper : BasicHelper
{
+CLIENTSIDEONLY
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_CheckFloor("Spawn2")
stop
Spawn2:
TNT1 A 5 A_JumpIf(CallACS("GVH_IsTargetClient")==1,"Spawn3")
goto Death
Spawn3:
TNT1 A 0 A_SpawnItemEx("BurstSprout")
TNT1 A 1 A_JumpIf(CallACS("core_targetexists",0)==0,"Death")
stop
Death:
TNT1 A 0
stop
}
}

actor BurstSprout
{
renderstyle translucent
alpha 0.65
PROJECTILE
+THRUACTORS
+FLOORHUGGER
-DONTBLAST
Scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
DFLO AA 1 
stop
}
}

actor BurstPinpointHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",3)
TNT1 A 0 A_FireCustomMissile("BurstBubblePinpoint",0,0,0,20)
TNT1 A 0 A_PlaySoundEx("weapon/wrapfire","Weapon")
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",8)
stop
}
}

actor BurstBubblePinpoint : BurstPreviewPinpoint
{
radius 12
height 12
States
{
Death:
TNT1 A 0 A_SpawnItemEx("BurstSurpriseBubble")
TNT1 A 1
stop
}
}

actor BurstSurpriseBubble
{
Obituary "$OB_BURSTMAN2"
PROJECTILE
damagetype "BurstmanBubble"
+FLOORHUGGER
+THRUACTORS
+RIPPER
Radius 8
Height 8
scale 2.5
damage (0)
speed 24
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1
DFLO A 0 A_PlaySoundEx("weapon/wrapfire","Body")
DFLO AB 1
DFLO A 0 A_ChangeFlag("THRUACTORS",0)
DFLO A 0 A_ChangeFlag("FLOORHUGGER",0)
TNT1 A 0 A_Explode(3,32,0,0,32)
DFLO C 1 ThrustThingZ(0,3,0,1)
TNT1 A 0 A_Explode(3,32,0,0,32)
DFLO C 1 ThrustThingZ(0,3,0,1)
TNT1 A 0 A_Explode(3,32,0,0,32)
DFLO C 1 ThrustThingZ(0,3,0,1)
TNT1 A 0 A_Explode(3,32,0,0,32)
DFLO C 1 ThrustThingZ(0,3,0,1)
TNT1 A 0 A_Explode(3,32,0,0,32)
DFLO C 1 ThrustThingZ(0,3,0,1)
TNT1 A 0 A_Explode(3,32,0,0,32)
DFLO C 1 ThrustThingZ(0,3,0,1)
TNT1 A 0 A_Explode(3,32,0,0,32)
DFLO C 1 ThrustThingZ(0,3,0,1)

loopit:
DFLO C 1 A_Explode(3,32,0,0,32)
loop

Death:
TNT1 A 0 A_PlaySoundEx("weapon/burstpop","Body")
TNT1 A 0 A_Stop
BMBU BD 1
stop
}
}

Actor BurstBubbleProtect : PowerProtection
{
	Powerup.Duration 4
	DamageFactor "BurstmanBubble", 0.0
}

actor BurstPainHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_PlaySoundEx("weapon/mm7enemyhit","Auto")
TNT1 AAAAAAAA 0 A_SpawnItemEx("BurstmanFloorWrap2",0,0,16,random(1,21),0,random(3,17),random(0,359))
stop
}
}

actor BurstUltHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_FireCustomMissile("BurstmanMDR",0,0,0,8)
TNT1 A 0 A_PlaySoundEx("weapon/wrapfire","Weapon")
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Body")
TNT1 A 0 A_TakeInventory("MediumShortUltimateAmmo",67)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",4)
TNT1 A 0 A_TakeInventory("UltAttackFlag",999)
stop
}
}

actor BurstUltFX : BasicClientSide
{
scale 0.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
DFLO D 1 A_ScaleVelocity(0.9)
DFLO D 1 ThrustThingZ(0,1,0,1)
DFLO D 1 A_ScaleVelocity(0.9)
DFLO D 1 ThrustThingZ(0,1,0,1)
DFLO D 1 A_ScaleVelocity(0.9)
DFLO D 1 ThrustThingZ(0,1,0,1)
DFLO D 1 A_ScaleVelocity(0.9)
DFLO D 1 ThrustThingZ(0,1,0,1)
DFLO D 1 A_ScaleVelocity(0.9)
DFLO D 1 ThrustThingZ(0,1,0,1)
DFLO D 1 A_ScaleVelocity(0.9)
DFLO D 1 ThrustThingZ(0,1,0,1)
DFLO D 1 A_ScaleVelocity(0.9)
DFLO D 1 ThrustThingZ(0,1,0,1)
DFLO D 1 A_ScaleVelocity(0.9)
DFLO D 1 ThrustThingZ(0,1,0,1)
DFLO D 1 A_ScaleVelocity(0.9)
DFLO D 1 ThrustThingZ(0,1,0,1)
DFLO D 1 A_ScaleVelocity(0.9)
DFLO D 1 ThrustThingZ(0,1,0,1)
DFLO D 1 A_ScaleVelocity(0.9)
DFLO D 1 ThrustThingZ(0,1,0,1)
DFLO D 1 A_ScaleVelocity(0.9)
DFLO D 1 ThrustThingZ(0,1,0,1)
DFLO D 1 A_ScaleVelocity(0.9)
DFLO D 1 ThrustThingZ(0,1,0,1)
Death:
DFLO DDDDD 1 A_FadeOut(0.2)
stop
}
}

actor BurstmanMDR
{
Obituary "$OB_BURSTMAN4"
PROJECTILE
damagetype "BurstmanUlt"
Radius 20
Height 20
scale 2.5
damage (5)
speed 40
+HITTRACER
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
DFLO D 0 A_GiveToTarget("WindUltCooldown",1)
DFLO D 1 A_SpawnItemEx("BurstUltFX",random(-5,-10),random(-18,18),random(-12,36),0,0,random(0,2),0,1)
goto Spawn+2
Death:
TNT1 A 0 A_SpawnItemEx("BurstBubblePop",0,0,10)
stop
Crash:
XDeath:
TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
TNT1 A 0 A_ChangeFlag("NOCLIP",1)
TNT1 A 0 A_CheckFlag("INVULNERABLE", "StopIt", AAPTR_TRACER)
TNT1 A 0 A_JumpIfInventory("BurstUltFlag", 1, "StopIt", AAPTR_TRACER)
TNT1 A 0 A_JumpIfInventory("CanBeGrabBustered", 1, "TeamCheck", AAPTR_TRACER)
goto Next
TeamCheck:
TNT1 A 0 A_JumpIfInventory("LightTeamFlag", 1, "LightCheck", AAPTR_TARGET)
TNT1 A 0 A_JumpIfInventory("WilyTeamFlag", 1, "WilyCheck", AAPTR_TARGET)
TNT1 A 0 A_JumpIfInventory("CossackTeamFlag", 1, "CossackCheck", AAPTR_TARGET)
TNT1 A 0 A_JumpIfInventory("KingTeamFlag", 1, "KingCheck", AAPTR_TARGET)
goto Next
LightCheck:
TNT1 A 0 A_JumpIfInventory("LightTeamFlag", 1, "Failed", AAPTR_TRACER)
TNT1 A 1 A_JumpIf(true, "Next")
wait
WilyCheck:
TNT1 A 0 A_JumpIfInventory("WilyTeamFlag", 1, "Failed", AAPTR_TRACER)
TNT1 A 1 A_JumpIf(true, "Next")
wait
CossackCheck:
TNT1 A 0 A_JumpIfInventory("CossackTeamFlag", 1, "Failed", AAPTR_TRACER)
TNT1 A 1 A_JumpIf(true, "Next")
wait
KingCheck:
TNT1 A 0 A_JumpIfInventory("KingTeamFlag", 1, "Failed", AAPTR_TRACER)
TNT1 A 1 A_JumpIf(true, "Next")
wait
Next:
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",120,0,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",120,-60,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",120,-30,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",120,30,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",120,60,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",90,0,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",90,-60,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",90,-30,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",90,30,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",90,60,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",60,0,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",60,-60,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",60,-30,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",60,30,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",60,60,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",30,0,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",30,-60,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",30,-30,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",30,30,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",30,60,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",0,0,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",0,-60,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",0,-30,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",0,30,0,0,0,50)
TNT1 A 0 A_SpawnItemEx("BurstSpikeSpawner",0,60,0,0,0,50)
TNT1 A 0 A_Stop
Timer:
TNT1 A 1 A_Warp(AAPTR_TRACER,0,0,32,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("CutterFlag",145,"Boom")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",1) == 0, "StopIt")
loop
Boom:
TNT1 A 0 A_PlaySoundEx("weapon/mm7explode", "Weapon")
TNT1 A 0 A_Explode(1000, 32, 0, 0, 32)
TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("MM7ExplodeFX",0,0,0,16,0,random(-8,8),random(0,359),1)
StopIt:
TNT1 A 1
stop
}
}

actor BurstSpikeSpawner
{
PROJECTILE
+THRUACTORS
+SKYEXPLODE
radius 32
height 32
speed 0
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 AAA 1 A_CheckCeiling("Death.Ceiling")
Death.Ceiling:
TNT1 A 0 A_SpawnItemEx("BurstSpike",0,0,0,0,0,0,0,1)
stop
Death:
TNT1 A 0 A_CheckCeiling("Death.Ceiling")
stop
}
}

actor BurstSpike
{
Obituary "$OB_BURSTMAN4"
PROJECTILE
damage(1000)
scale 2.5
+RIPPER
+FOILINVUL
+THRUGHOST
radius 16
height 16
damagetype "Burstman"
alpha 0.0
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
HAZA DDDDDDDDDD 1 A_FadeIn(0.1)
HAZA DDDDDDDDDDDDDDDDDDDDDDDDD 7 A_GiveToTarget("WindUltCooldown",1)
Death:
TNT1 A 0 A_SpawnItemEx("MM7ExplodeFX",0,0,8)
stop
}
}

actor BurstUltWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 A 1 A_GiveToTarget("WindUltCooldown",1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_Warp(AAPTR_TARGET,0,0,16,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)
TNT1 A 0 A_SpawnItemEx("BurstUltFX",32,0,random(0,64),random(1,2),0,random(1,3),random(0,359),0,200)	
TNT1 A 1 A_JumpIfInTargetInventory("MediumShortUltimateAmmo",1,"Spawn")
TNT1 A 1 A_JumpIfInTargetInventory("MediumShortUltimateAmmo",1,"Spawn")

Death:
TNT1 AAA 1 A_TakeFromTarget("BaseCustomFlag2",999)
stop
}
}

actor BurstVision : PowerProtection
{
	Powerup.Color 246, 14, 8, 0.4
	Powerup.Duration -20
	damagefactor "Normal", 1.0
}
actor BurstUltFlag : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor BurstTrapWatcher
{
scale 2.5
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
reactiontime 12
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("BubbleFreeze",1)
TNT1 A 0 A_GiveToTarget("BurstLifter",1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_GiveToTarget("BurstVision",1)
DFLO E 1 A_Warp(AAPTR_TARGET,0,0,16,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)
TNT1 A 0 A_GiveToTarget("BubbleFreeze",1)
TNT1 A 0 A_GiveToTarget("BurstLifter",1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_GiveToTarget("BurstVision",1)
DFLO E 1 A_Warp(AAPTR_TARGET,0,0,16,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)
TNT1 A 0 A_GiveToTarget("BurstUltFlag",1)
TNT1 A 0 A_GiveToTarget("BubbleFreeze",1)
TNT1 A 0 A_GiveToTarget("BurstLifter",1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_GiveToTarget("BurstVision",1)
DFLO E 1 A_Warp(AAPTR_TARGET,0,0,16,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)
TNT1 A 0 A_GiveToTarget("BubbleFreeze",1)
TNT1 A 0 A_GiveToTarget("BurstLifter",1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_GiveToTarget("BurstVision",1)
DFLO E 1 A_Warp(AAPTR_TARGET,0,0,16,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)

TNT1 A 0 A_GiveToTarget("BubbleFreeze",1)
TNT1 A 0 A_GiveToTarget("BurstLifter",1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_GiveToTarget("BurstVision",1)
DFLO F 1 A_Warp(AAPTR_TARGET,0,0,16,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)
TNT1 A 0 A_GiveToTarget("BubbleFreeze",1)
TNT1 A 0 A_GiveToTarget("BurstLifter",1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_GiveToTarget("BurstVision",1)
DFLO F 1 A_Warp(AAPTR_TARGET,0,0,16,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)
TNT1 A 0 A_GiveToTarget("BubbleFreeze",1)
TNT1 A 0 A_GiveToTarget("BurstLifter",1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_GiveToTarget("BurstVision",1)
DFLO F 1 A_Warp(AAPTR_TARGET,0,0,16,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)
TNT1 A 0 A_GiveToTarget("BubbleFreeze",1)
TNT1 A 0 A_GiveToTarget("BurstLifter",1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_GiveToTarget("BurstVision",1)
DFLO F 1 A_Warp(AAPTR_TARGET,0,0,16,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)

TNT1 A 0 A_GiveToTarget("BubbleFreeze",1)
TNT1 A 0 A_GiveToTarget("BurstLifter",1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_GiveToTarget("BurstVision",1)
DFLO G 1 A_Warp(AAPTR_TARGET,0,0,16,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)
TNT1 A 0 A_GiveToTarget("BubbleFreeze",1)
TNT1 A 0 A_GiveToTarget("BurstLifter",1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_GiveToTarget("BurstVision",1)
DFLO G 1 A_Warp(AAPTR_TARGET,0,0,16,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)
TNT1 A 0 A_GiveToTarget("BubbleFreeze",1)
TNT1 A 0 A_GiveToTarget("BurstLifter",1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_GiveToTarget("BurstVision",1)
DFLO G 1 A_Warp(AAPTR_TARGET,0,0,16,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)
TNT1 A 0 A_GiveToTarget("BubbleFreeze",1)
TNT1 A 0 A_GiveToTarget("BurstLifter",1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_GiveToTarget("BurstVision",1)
DFLO G 1 A_Warp(AAPTR_TARGET,0,0,16,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)
TNT1 A 0 A_Countdown
loop

Death:
TNT1 A 0 A_GiveToTarget("MovementReturnFailSafe")
TNT1 A 0 A_TakeFromTarget("BurstVision",999)
stop
}
}

actor BurstLifter2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ThrustThingZ(0,6,0,0)
stop
}
}

actor BurstLifter : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_ChangeVelocity(0,0,1.6,CVF_RELATIVE|CVF_REPLACE)
stop
}
}

actor BurstPushBubble1
{
Obituary "$OB_BURSTMAN6"
damagetype "BurstPush"
damage(5)
+NOEXPLODEFLOOR
PROJECTILE
radius 16
height 16
+RIPPER
scale 2.5
speed 3
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
BMBU EFGHIG 2
BMBU E 0 A_SpawnItemEx("BurstPushBubbleB",0,0,0,20)
stop
Death:
TNT1 A 0 A_PlaySoundEx("weapon/burstpop","Body")
TNT1 A 0 A_Stop
BMBU KL 1
stop
}
}

actor BurstPushBubble2 : BurstPushBubble1
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
BMBU EFGHIG 2
BMBU E 0 A_SpawnItemEx("BurstPushBubbleB",0,0,0,20,0,0,30)
stop
}
}

actor BurstPushBubble3 : BurstPushBubble1
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
BMBU EFGHIG 2
BMBU E 0 A_SpawnItemEx("BurstPushBubbleB",0,0,0,20,0,0,-30)
stop
}
}

actor BurstPushBubbleB : BurstPushBubble1
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
BMBU HHHHHIIIIIGGGGGHHHHHIIIIIGGGGG 1 ACS_NamedExecuteAlways("cbm_missileyank",0,32)
goto Death
}
}

actor BurstTFHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_PlaySoundEx("weapon/waterballoon","Weapon")
TNT1 A 0 A_SpawnItemEx("BurstPushBubble1",0,0,81,6,0,-5)
TNT1 A 0 A_SpawnItemEx("BurstPushBubble2",0,0,81,8,0,-5,-30)
TNT1 A 0 A_SpawnItemEx("BurstPushBubble3",0,0,81,8,0,-5,30)
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",37)
stop
}
}

Actor BurstPushProtect : PowerProtection
{
	Powerup.Duration 6
	DamageFactor "BurstPush", 0.0
}

actor BurstPassiveWatcher
{
Height 0
Radius 0
+NOINTERACTION
+MISSILE
States
{
Spawn:
TNT1 A 0
TNT1 AA 1 A_TakeFromTarget("BurstmanHurtTimer",1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_JumpIfInventory("BurstmanHurtTimer",1,"Spawn",AAPTR_TARGET)
TNT1 A 0 A_TakeFromTarget("BurstmanHurtAmount",99)
TNT1 A 0 A_TakeFromTarget("BurstmanHurtTimer",99)
loop

Death:
TNT1 AAA 1 A_TakeFromTarget("BurstmanHurtAmount",99)
stop
}
}

actor BurstmanHurtTimer : Inventory
{
inventory.amount 1
inventory.maxamount 10
}

actor BurstmanHurtAmount : Inventory
{
inventory.amount 1
inventory.maxamount 100
}

Actor BurstHurtBombsProtection : PowerProtection
{
	Powerup.Duration 3//4
	DamageFactor "BurstmanFloorProtected", 0.0// 0.5
}