actor RainGrenadeWep_NormalBar : NormalBar{args 215, 110}
actor RainGrenadeWep : BaseMM8BDMWep
{
Weapon.AmmoUse 6
Weapon.AmmoGive 30
Weapon.SlotNumber 6
Inventory.Pickupmessage "$PU_RAINGRENADE"
Obituary "$OB_RAINGRENADE"
Tag "$TAG_RAINGRENADE"
weapon.ammotype "RainGrenadeAmmo"
inventory.icon "RGREICON"
States
{
SpawnLoop:
RGRE Z -1
loop
Ready:
RGRH A 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_RAINGRENADE)
RGRH O 0 A_JumpIfNoAmmo("ReadyNoAmmo")
RGRH O 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
ReadyNoAmmo:
RGRH A 1 A_WeaponReady
RGRH A 0 A_JumpIfNoAmmo("ReadyNoAmmo")
Goto Ready+1
Deselect:
RGRH A 0
goto DeselectSwap
Select:
RGRH A 0
goto SelectSwap
Fire:
RGRH A 0 A_JumpIfNoAmmo("NoAmmo")
RGRH A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
RGRH A 0 A_FireCustomMissile("RainGrenade",0,1,0,0)
RGRH BCDEFG 2
TNT1 A 20
RGRH HIO 1
Goto Ready+1
NoAmmo:
RGRH A 1 ACS_NamedExecute("core_noammo",0)
goto Ready+1
}
}


actor RainGrenade : BasicProjectile
{
PROJECTILE
+MISSILE
-NOGRAVITY
scale 2.5
Speed 50
Radius 8
Height 8
Damage (0)
+HEXENBOUNCE
-BOUNCEONACTORS
+SKYEXPLODE
+CANBOUNCEWATER
//-NOBLOCKMAP
Obituary "$OB_RAINGRENADE"
bouncefactor 0.45
wallbouncefactor 0.5
States
{
Spawn:
RAIF G 0
RAIF G 0 ThrustThingZ(0,25,0,1)
Flying:
RAIF G 0 A_JumpIfInventory("CutterFlag",16,"Explode")
RAIF GHIJ 4 A_GiveInventory("CutterFlag",1)
loop
Death:
Explode:
RAIF H 0 A_Stop
RAIF H 0 A_ChangeFlag("NOGRAVITY",1)
RAIF H 0 A_SpawnItemEx("RainGrenadeRain")
MMFX BCDE 3
stop
}
}


actor RainGrenadeRain : BasicProjectile
{
damagetype "RainGrenade"
+NOGRAVITY
+MISSILE
+SKYEXPLODE
+NOINTERACTION
Obituary "$OB_RAINGRENADE"
height 1
radius 1
-SOLID
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/rainflush","Voice")
TNT1 A 0 A_Explode(CallACS("vile_cbm_damage",25),512,0)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_Explode(CallACS("vile_cbm_damage",8),512,0)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_Explode(CallACS("vile_cbm_damage",8),512,0)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_Explode(CallACS("vile_cbm_damage",8),512,0)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 0 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)
TNT1 A 1 A_SpawnItemEx("RainGrenSprinkle", random(-128,384), random(-128,384), 256, -30, 0, -30, 90, SXF_RAINFLUSH)

stop
}
}

actor RainGrenSprinkle : BasicGraphicEffect
{
var int user_TranslateWhiteColors;
States
{
SpawnFrame:
RAIN D 30
stop
}
}


actor RainGrenadeAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 30
+INVENTORY.IGNORESKILL
}

