actor Grenademan_W : BaseMM8BDMWep_CBM
{
tag "$TAGC_8G"
dropitem "FlashBombWep"
Weapon.AmmoUse 0
Weapon.AmmoGive 35
Obituary "$OB_FLASHBOMB"
Inventory.Pickupmessage "CRUSH EVERYONE, HA HA HA"
weapon.ammotype "I'llPunishYouAmmo"
weapon.ammotype2 "ThatFeltGoodAmmo"
+WEAPON.NOAUTOAIM
States
{
Spawn:
C_08 G 1
loop

Deselect:
GRHU A 0
goto DeselectSwap
Select:
GRHU A 0
goto SelectSwap

Ready:
GRHU A 0 ACS_NamedExecuteWithResult("core_weaponcolor",DYE_GRENADEMAN)
GRHU A 0 A_GunFlash("Flash.Begin",1)
goto Ready0
Ready0:
GRHU A 0 A_JumpIfInventory("I'llPunishYouAmmo",4,"Ready1")
GRHU A 10 A_WeaponReady(4)
Goto Ready2
Ready1:
GRHU A 10 A_WeaponReady
Goto Ready3
Ready2:
GRHU A 0 A_JumpIfInventory("I'llPunishYouAmmo",4,"Ready3")
GRHU A 5 A_WeaponReady(4)
GRHU A 0 A_GiveInventory("I'llPunishYouAmmo",1)
loop
Ready3:
GRHU A 5 A_WeaponReady
GRHU A 0 A_GiveInventory("I'llPunishYouAmmo",1)
loop

Fire:
GRHU A 2 Offset(22,56)A_GiveInventory("GrenadeM_FireCheck_P")
GRHU A 2 Offset(42,75)
GRHU A 2 Offset(22,56)
GRHU A 20 A_WeaponReady(14)
Goto Ready0

Altfire:
//GRHU A 0 A_JumpIfNoAmmo("NoAmmo")
GRHU A 0 A_GiveInventory("VivifyDelay8",1)
GRHU A 0 A_Refire(1)
GRHU A 2 Offset(-7,40)
GRHU A 2 Offset(-16,51)
GRHU A 0 A_JumpIfInventory("CuteBombDrain",1,"3Grenades")
GRHU A 0 A_JumpIfInventory("ThatFeltGoodAmmo",36,"7Grenades")
GRHU A 0 A_JumpIfInventory("ThatFeltGoodAmmo",27,"6Grenades")
GRHU A 0 A_JumpIfInventory("ThatFeltGoodAmmo",18,"5Grenades")
GRHU A 0 A_JumpIfInventory("ThatFeltGoodAmmo",9,"4Grenades")
3Grenades:
GRHU A 2 Offset(-27,64)A_GiveInventory("ShootGrrnade3",1)
GRHU A 2 Offset(6,44)A_GiveInventory("ShootGrrnade3",1)
GRHU A 2 Offset(67,17)A_GiveInventory("ShootGrrnade2",1)
GRHU A 2 Offset(125,-17)A_TakeInventory("I'llPunishYouAmmo",1,1)
goto AltfireEnd
AltfireEnd:
TNT1 A 5
GRHU A 3 Offset(8,111)
GRHU A 3 Offset(4,71)
GRHU A 3 A_WeaponReady(14)
GRHU A 0 A_Refire
Goto Ready0

4Grenades:
GRHU A 0 A_JumpIfInventory("I'llPunishYouAmmo",2,1)
goto 3Grenades
GRHU A 2 Offset(-27,64)A_GiveInventory("ShootGrrnade4")
GRHU A 2 Offset(6,44)A_GiveInventory("ShootGrrnade3")
GRHU AA 1 Offset(67,17)A_GiveInventory("ShootGrrnade3")
GRHU A 0 A_TakeInventory("I'llPunishYouAmmo",1)
GRHU A 2 Offset(125,-17)A_TakeInventory("I'llPunishYouAmmo",1,1)
goto AltfireEnd
5Grenades:
GRHU A 0 A_JumpIfInventory("I'llPunishYouAmmo",4,1)
goto 4Grenades
GRHU A 2 Offset(-27,64)A_GiveInventory("ShootGrrnade4")
GRHU A 1 Offset(6,44)A_GiveInventory("ShootGrrnade4")
GRHU A 1 Offset(6,44)A_GiveInventory("ShootGrrnade3")
GRHU AA 1 Offset(67,17)A_GiveInventory("ShootGrrnade3")
GRHU A 0 A_TakeInventory("I'llPunishYouAmmo",2)
GRHU A 2 Offset(125,-17)A_TakeInventory("I'llPunishYouAmmo",2,1)
goto AltfireEnd
6Grenades:
GRHU A 0 A_JumpIfInventory("I'llPunishYouAmmo",6,1)
goto 5Grenades
GRHU AA 1 Offset(-27,64)A_GiveInventory("ShootGrrnade4")
GRHU A 1 Offset(6,44)A_GiveInventory("ShootGrrnade4")
GRHU A 1 Offset(6,44)A_GiveInventory("ShootGrrnade3")
GRHU AA 1 Offset(67,17)A_GiveInventory("ShootGrrnade3")
GRHU A 0 A_TakeInventory("I'llPunishYouAmmo",3)
GRHU A 2 Offset(125,-17)A_TakeInventory("I'llPunishYouAmmo",3,1)
goto AltfireEnd
7Grenades:
GRHU A 0 A_JumpIfInventory("I'llPunishYouAmmo",7,1)
goto 6Grenades
GRHU A 1 Offset(-27,64)A_GiveInventory("ShootGrrnade5")
GRHU A 1 Offset(-27,64)A_GiveInventory("ShootGrrnade4")
GRHU AA 1 Offset(6,44)A_GiveInventory("ShootGrrnade4")
GRHU AA 1 Offset(67,17)A_GiveInventory("ShootGrrnade3")
GRHU A 1 Offset(125,-17)A_GiveInventory("ShootGrrnade3")
GRHU A 0 A_TakeInventory("I'llPunishYouAmmo",3)
GRHU A 1 Offset(125,-17)A_TakeInventory("I'llPunishYouAmmo",4,1)
goto AltfireEnd

NoAmmo:
GRHU A 1
Goto Ready+3

Flash.Begin:
TNT1 A 4
goto Flash
Flash:
TNT1 A 1 A_GiveInventory("Grenademan_Flash_P")
TNT1 A 0 A_JumpIfInventory("ThatFeltGoodAmmo",36,"Flash.RageStart")
loop
Flash.RageStart:
TNT1 A 0 A_PlaySoundEx("classes/skullabs","Body")



TNT1 A 0 A_TakeInventory("THATFELTGOODFlag")
TNT1 A 0 A_GiveInventory("I'llPunishYouAmmo",28)
TNT1 A 0 A_GiveInventory("CuteBombFlag",500)
TNT1 A 1 ACS_NamedExecuteWithResult("cbm_DynamicAmmoBaseSpeed",8)
goto Flash.Rage
Flash.Rage:
TNT1 A 0 A_SpawnItemEx("BasicHardQuakeFX",random(16,38),0,Random(42,56),random(0,1),0,1,random(0,359),0,64)
TNT1 A 1 A_TakeInventory("CuteBombFlag",1)
TNT1 A 0 A_JumpIfInventory("CuteBombFlag",1,"Flash.Rage")
TNT1 A 0 A_GiveInventory("CuteBombDrain",1)
TNT1 A 0 A_TakeInventory("CuteBombFlag")
goto Flash.RageDrain
Flash.RageDrain:
TNT1 A 0 A_TakeInventory("ThatFeltGoodAmmo",1)
TNT1 A 1 ACS_NamedExecuteWithResult("cbm_DynamicAmmoBaseSpeed",8)
TNT1 A 0 A_JumpIfInventory("ThatFeltGoodAmmo",1,"Flash.RageDrain")
TNT1 A 0 A_TakeInventory("CuteBombDrain")
TNT1 A 0 A_TakeInventory("ThatFeltGoodAmmo")
TNT1 A 0 A_TakeInventory("CuteBombFlag")
goto Flash
}
}

actor I'llPunishYouAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
+INVENTORY.IGNORESKILL
}

actor ThatFeltGoodAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 36
+INVENTORY.IGNORESKILL
}

actor CuteBombDrain : Inventory {}

actor CuteBombFlag : Inventory
{
inventory.amount 1
inventory.maxamount 500
}

actor THATFELTGOODFlag : Inventory
{
inventory.amount 1
inventory.maxamount 40
}

actor GrenadeM_FireCheck_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("I'llPunishYouAmmo",2)
TNT1 A 0 A_TakeInventory("I'llPunishYouAmmo",2,1)
TNT1 A 0 A_PlaySoundEx("weapon/GrenadeShot","Weapon")
TNT1 A 0 A_JumpIfInventory("CuteBombDrain",1,6)
TNT1 A 0 A_JumpIfInventory("ThatFeltGoodAmmo",36,"5RageFire")
TNT1 A 0 A_JumpIfInventory("ThatFeltGoodAmmo",35,"4RageFire")
TNT1 A 0 A_JumpIfInventory("ThatFeltGoodAmmo",25,"3RageFire")
TNT1 A 0 A_JumpIfInventory("ThatFeltGoodAmmo",15,"2RageFire")
TNT1 A 0 A_JumpIfInventory("ThatFeltGoodAmmo",5,"1RageFire")
TNT1 A 0 A_FireCustomMissile("FlashBombPBoss",0,1,8,0)
stop
1RageFire:
TNT1 A 0 A_FireCustomMissile("FlashBombPBoss1",0,1,8,0)
stop
2RageFire:
TNT1 A 0 A_FireCustomMissile("FlashBombPBoss2",0,1,8,0)
stop
3RageFire:
TNT1 A 0 A_FireCustomMissile("FlashBombPBoss3",0,1,8,0)
stop
4RageFire:
TNT1 A 0 A_FireCustomMissile("FlashBombPBoss4",0,1,8,0)
stop
5RageFire:
TNT1 A 0 A_FireCustomMissile("FlashBombPBoss4",0,1,8,0)
stop
}
}


actor Grenademan_Flash_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_NamedExecuteWithResult("cbm_DynamicAmmoBaseSpeed",8)
TNT1 A 0 A_JumpIfInventory("ThatFeltGoodAmmo",1,"Pickup0")
TNT1 A 0 A_TakeInventory("THATFELTGOODFlag")
stop
Pickup0:
TNT1 A 0 A_JumpIfInventory("THATFELTGOODFlag",40,"Pickup2")
TNT1 A 0 A_GiveInventory("THATFELTGOODFlag",1)
stop
Pickup2:
TNT1 A 0 A_TakeInventory("THATFELTGOODFlag")
TNT1 A 0 A_JumpIfInventory("EndlessAmmoCycle_F",1,3)
TNT1 A 0 A_TakeInventory("ThatFeltGoodAmmo",1)
TNT1 A 0 A_GiveInventory("EndlessAmmoCycle_F",1)
stop
TNT1 A 0 A_TakeInventory("ThatFeltGoodAmmo",1,1)
TNT1 A 0 A_TakeInventory("EndlessAmmoCycle_F")
stop
}
}

actor GrrnadeRageFX : BasicGraphicEffect
{
States
{
SpawnFrame:
SMFX XYZ 3
stop
}
}


actor ShootGrrnade : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
TNT1 A 0 A_Jump(256,"s18","s20","s22","s24","s26","s28","s30","s32","s34")
stop
}
}

actor ShootGrrnade2 : ShootGrrnade
{
states
{
s18:TNT1 A 0 A_FireCustomMissile("Grrnade18",random(-2,2),0,8,0,0,random(-2,2))stop
s20:TNT1 A 0 A_FireCustomMissile("Grrnade20",random(-2,2),0,8,0,0,random(-2,2))stop
s22:TNT1 A 0 A_FireCustomMissile("Grrnade22",random(-2,2),0,8,0,0,random(-2,2))stop
s24:TNT1 A 0 A_FireCustomMissile("Grrnade24",random(-2,2),0,8,0,0,random(-2,2))stop
s26:TNT1 A 0 A_FireCustomMissile("Grrnade26",random(-2,2),0,8,0,0,random(-2,2))stop
s28:TNT1 A 0 A_FireCustomMissile("Grrnade28",random(-2,2),0,8,0,0,random(-2,2))stop
s30:TNT1 A 0 A_FireCustomMissile("Grrnade30",random(-2,2),0,8,0,0,random(-2,2))stop
s32:TNT1 A 0 A_FireCustomMissile("Grrnade32",random(-2,2),0,8,0,0,random(-2,2))stop
s34:TNT1 A 0 A_FireCustomMissile("Grrnade34",random(-2,2),0,8,0,0,random(-2,2))stop
}
}

actor ShootGrrnade3 : ShootGrrnade
{
states
{
s18:TNT1 A 0 A_FireCustomMissile("Grrnade18",random(-3,3),0,8,0,0,random(-3,3))stop
s20:TNT1 A 0 A_FireCustomMissile("Grrnade20",random(-3,3),0,8,0,0,random(-3,3))stop
s22:TNT1 A 0 A_FireCustomMissile("Grrnade22",random(-3,3),0,8,0,0,random(-3,3))stop
s24:TNT1 A 0 A_FireCustomMissile("Grrnade24",random(-3,3),0,8,0,0,random(-3,3))stop
s26:TNT1 A 0 A_FireCustomMissile("Grrnade26",random(-3,3),0,8,0,0,random(-3,3))stop
s28:TNT1 A 0 A_FireCustomMissile("Grrnade28",random(-3,3),0,8,0,0,random(-3,3))stop
s30:TNT1 A 0 A_FireCustomMissile("Grrnade30",random(-3,3),0,8,0,0,random(-3,3))stop
s32:TNT1 A 0 A_FireCustomMissile("Grrnade32",random(-3,3),0,8,0,0,random(-3,3))stop
s34:TNT1 A 0 A_FireCustomMissile("Grrnade34",random(-3,3),0,8,0,0,random(-3,3))stop
}
}

actor ShootGrrnade4 : ShootGrrnade
{
states
{
s18:TNT1 A 0 A_FireCustomMissile("Grrnade18",random(-4,4),0,8,0,0,random(-4,4))stop
s20:TNT1 A 0 A_FireCustomMissile("Grrnade20",random(-4,4),0,8,0,0,random(-4,4))stop
s22:TNT1 A 0 A_FireCustomMissile("Grrnade22",random(-4,4),0,8,0,0,random(-4,4))stop
s24:TNT1 A 0 A_FireCustomMissile("Grrnade24",random(-4,4),0,8,0,0,random(-4,4))stop
s26:TNT1 A 0 A_FireCustomMissile("Grrnade26",random(-4,4),0,8,0,0,random(-4,4))stop
s28:TNT1 A 0 A_FireCustomMissile("Grrnade28",random(-4,4),0,8,0,0,random(-4,4))stop
s30:TNT1 A 0 A_FireCustomMissile("Grrnade30",random(-4,4),0,8,0,0,random(-4,4))stop
s32:TNT1 A 0 A_FireCustomMissile("Grrnade32",random(-4,4),0,8,0,0,random(-4,4))stop
s34:TNT1 A 0 A_FireCustomMissile("Grrnade34",random(-4,4),0,8,0,0,random(-4,4))stop
}
}

actor ShootGrrnade5 : ShootGrrnade
{
states
{
s18:TNT1 A 0 A_FireCustomMissile("Grrnade18",random(-5,5),0,8,0,0,random(-5,5))stop
s20:TNT1 A 0 A_FireCustomMissile("Grrnade20",random(-5,5),0,8,0,0,random(-5,5))stop
s22:TNT1 A 0 A_FireCustomMissile("Grrnade22",random(-5,5),0,8,0,0,random(-5,5))stop
s24:TNT1 A 0 A_FireCustomMissile("Grrnade24",random(-5,5),0,8,0,0,random(-5,5))stop
s26:TNT1 A 0 A_FireCustomMissile("Grrnade26",random(-5,5),0,8,0,0,random(-5,5))stop
s28:TNT1 A 0 A_FireCustomMissile("Grrnade28",random(-5,5),0,8,0,0,random(-5,5))stop
s30:TNT1 A 0 A_FireCustomMissile("Grrnade30",random(-5,5),0,8,0,0,random(-5,5))stop
s32:TNT1 A 0 A_FireCustomMissile("Grrnade32",random(-5,5),0,8,0,0,random(-5,5))stop
s34:TNT1 A 0 A_FireCustomMissile("Grrnade34",random(-5,5),0,8,0,0,random(-5,5))stop
}
}

actor Grrnade : ProjSpawnFuncActor
{
PROJECTILE
damagetype "GrenadeM_Nade"
Obituary "$OB_CARPETBOMB"
-NOGRAVITY
+SKYEXPLODE

+BOUNCEONWALLS
+BOUNCEONCEILINGS
BounceFactor 0.0
WallBounceFactor 0.0

reactiontime 15
Damage(20)
Radius 11
Height 7
speed 20
scale 2.5
States
{
Spawn:
GRHU U 0
GRHU U 0 A_ChangeVelocity(0,0,6.25)
GRHU UVWX 4
Goto Spawn+2
Death:
GRHU UVWX 4
GRHU UVWX 4
GRHU UVWX 4
//Goto XDeath
TNT1 A 0 A_PlaySoundEx("weapon/napalm", "Weapon")
TNT1 A 0 A_Explode(100,128,0)
TNT1 A 1 A_SpawnItemEx("BasicBoom5FX_4_215",0,0,0,0,0,0,0,1)
stop
XDeath:
TNT1 A 0 A_PlaySoundEx("weapon/napalm", "Weapon")
TNT1 A 0 A_Explode(80,128,0)
TNT1 A 1 A_SpawnItemEx("BasicBoom5FX_4_215",0,0,0,0,0,0,0,1)
stop
}
}

actor Grrnade18 : Grrnade {speed 18}
actor Grrnade20 : Grrnade {speed 20}
actor Grrnade22 : Grrnade {speed 22}
actor Grrnade24 : Grrnade {speed 24}
actor Grrnade26 : Grrnade {speed 26}
actor Grrnade28 : Grrnade {speed 28}
actor Grrnade30 : Grrnade {speed 30}
actor Grrnade32 : Grrnade {speed 32}
actor Grrnade34 : Grrnade {speed 34}


actor GrenademanDeathBoom : BasicExplosion
{
damagetype "GrenadeM_Kamikaze"
Obituary "$OB_THATFELTGOOD"
scale 5.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Quake(4,9,0,512,"none")
TNT1 A 0 A_PlaySoundEx("misc/hugequake","Weapon")
TNT1 A 0 A_PlaySoundEx("weapon/GrenadeGood","Body")
TNT1 A 0 A_PlaySoundEx("weapon/GrenadeGood","Voice")
TNT1 A 0 A_Explode(400*(CallACS("core_checkrune",RUNE_SPREAD,2)*2+1),500,0,0,96)
TNT1 A 15 A_SpawnItemEx("BasicBoom5FX_4_215",0,0,0,0,0,0,0,1+32+16384)
stop
}
}


actor PainGrenadeM_NadeHit : BasicWatcher
{
Args 1
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("CuteBombDrain",1,2,AAPTR_TARGET)
TNT1 A 0 A_GiveToTarget("THATFELTGOODAMMO",Args[0],AAPTR_TARGET)
TNT1 A 0
stop
}
}
actor DeathGrenadeM_NadeHit : PainGrenadeM_NadeHit{Args 2}

actor PainGrenadeM_BombHit : PainGrenadeM_NadeHit{Args 3}
actor DeathGrenadeM_BombHit : PainGrenadeM_NadeHit{Args 6}

actor FlashBombPBoss : ProjSpawnFuncActor
{
PROJECTILE
damagetype "GrenadeM_Bomb"
Obituary "$OB_FLASHBOMB"//Shining Bomb
+SKYEXPLODE
+EXPLODEONWATER
+FORCEXYBILLBOARD
damage (60)
Radius 8
Height 8
speed 26
scale 2.5
States
{
Spawn:
GRHU C 0
GRHU C 0 A_Jump(256,1,2,3,4)
SpawnL:
GRHU CDEF 3 A_SpawnItemEx("FlashBombPBossFX",0,0,0,frandom(-1,1),frandom(-1,1),frandom(5,6),0,1)
loop
Death:
//GRHU J 0 A_Stop
GRHU J 0 A_PlaySoundEx("weapons/mm8/flashbombexplode","Weapon")
GRHU J 1 A_SpawnItemEx("FlashBombExplosionBoss",0,0,0,0,0,0,0,1)
stop
}
}

actor FlashBombPBossFX : BasicGraphicEffect
{
+FORCEXYBILLBOARD
Speed 100
States
{
SpawnFrame:
TNT1 A 0
TNT1 A 1
GRHU GHI 3
stop
}
}

actor FlashBombPBoss1 : FlashBombPBoss{speed 29}
actor FlashBombPBoss2 : FlashBombPBoss{speed 32}
actor FlashBombPBoss3 : FlashBombPBoss{speed 35}
actor FlashBombPBoss4 : FlashBombPBoss{speed 38}

actor FlashBombExplosionBoss : FlashBombPBoss
{
var int user_Flash;
damagetype "GrenadeM_Bomb"
+NOCLIP
+DONTBLAST
+DONTSPLASH
+BRIGHT
Reactiontime 5
Scale 3.5
States
{
Spawn:
GRHU J 0
GRHU J 0 A_SetUserVar("user_Flash",5)
GRHU JK 1 
GRHU LM 1
GRHU N 0 A_Explode(150,80,0)
GRHU NN 0 A_SpawnItemEx("FlashBombFX2_B",Random(-16, 16),Random(-40, 40), Random(-32, 32),0,0,0,0,1)
GRHU NO 1 A_SpawnItemEx("FlashBombFX1_B",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
GRHU PP 0 A_SpawnItemEx("FlashBombFX2_B",Random(-16, 16),Random(-40, 40), Random(-32, 32),0,0,0,0,1)
GRHU PO 1 A_SpawnItemEx("FlashBombFX1_B",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
GRHU N 0 A_Explode(100,80,0)
Goto Pattern1
Pattern1:
GRHU NO 1 A_SpawnItemEx("FlashBombFX1_B",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
GRHU P 0 A_SpawnItemEx("FlashBombFX2_B",Random(-16, 16),Random(-16, -40), Random(-32, 32),0,0,0,0,1)
GRHU PO 1 A_SpawnItemEx("FlashBombFX2_B",Random(-16, 16),Random(16, 40), Random(-32, 32),0,0,0,0,1)
GRHU N 0 A_SpawnItemEx("FlashBombFX1_B",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
Goto DamageNow
Pattern2:
GRHU NO 1 A_SpawnItemEx("FlashBombFX1_B",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
GRHU N 0 A_SpawnItemEx("FlashBombFX2_B",Random(-16, 16),Random(32, 64), Random(-32, 40),0,0,0,0,1)
GRHU N 0 A_SpawnItemEx("FlashBombFX2_B",Random(-16, 16),Random(-32, -64), Random(-32, 40),0,0,0,0,1)
GRHU NO 1 A_SpawnItemEx("FlashBombFX2_B",Random(-16, 16),Random(-40, 40), Random(-32, 32),0,0,0,0,1)
GRHU N 0 A_SpawnItemEx("FlashBombFX1_B",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
Goto DamageNow
DamageNow:
GRHU N 0 A_Explode(90+user_Flash*10,80,0)
Goto Continue
Continue:
GRHU N 0 A_CountDown
GRHU N 0 A_SetUserVar("user_Flash",user_Flash-1)
GRHU N 0 A_GiveInventory("CutterFlag",1)
GRHU N 0 A_Jump(256,"Pattern1","Pattern2")
Goto Death
Death:
GRHU P 0 A_SetGravity(0.0)
GRHU P 1
TNT1 A 1 
GRHU M 1
TNT1 A 1 
GRHU M 1
TNT1 A 1 
GRHU T 1
stop
}
}


actor FlashBombFX1_B : BasicGraphicEffect
{
+FORCEXYBILLBOARD
+BRIGHT
States
{
Spawn:
GRHU L 0
GRHU L 2 A_Jump(64, 2)
GRHU Q 2 A_Jump(8,"End")
GRHU S 1 A_Jump(8,"End")
TNT1 A 2 A_Jump(8,"End")
GRHU R 1
Goto End
End:
TNT1 A 0
stop
}
}

actor FlashBombFX2_B : FlashBombFX1_B
{
States
{
Spawn:
GRHU L 0
GRHU L 0 A_Jump(240,"Spawn2")
Goto "FlashBombFX1_B::Spawn"
Spawn2:
GRHU KLQ 1
GRHU Q 0 A_Jump(64,"Spawn3")
TNT1 A 1 
GRHU Q 1
TNT1 A 1 
GRHU L 1
TNT1 A 1 
GRHU L 1
Goto End
Spawn3:
GRHU Q 1
TNT1 A 1 
GRHU N 1
TNT1 A 1 
GRHU M 1
Goto End
}
}

actor FlashBombFX3_B : FlashBombFX2_B
{
States
{
Spawn:
GRHU L 0
GRHU L 0 A_Jump(128,"Spawn2")
Goto "FlashBombFX1_B::Spawn"
}
}

actor Grenademan_W_NormalBar : NormalBar {Args 229,77}
actor Grenademan_W_SecondBar : SecondBar {Args 4,194}
actor Grenademan_W_ScriptBar : ScriptBar {}