ACTOR CrowGrenadeLauncher: DravenWeaponBase Replaces RocketLauncher
{
  	Weapon.AmmoType "RocketAmmo"
  	Weapon.AmmoGive 8
  	Weapon.AmmoUse 1
  	+WEAPON.NOALERT
  	+FloorClip
  	weapon.bobstyle inversesmooth
    weapon.bobspeed 2.0
  	weapon.bobrangex 0.75
  	weapon.bobrangey 0.75
  	Inventory.Pickupmessage "You got the Grenade Launcher! (Slot 5)"
	inventory.pickupsound "misc/w_pkup"
	Weapon.UpSound "Weapon/switch"
	Obituary "%o was blown up by %k's grenades."
	+FORCEXYBILLBOARD
	+weapon.noautoaim
	+WEAPON.EXPLOSIVE
	Tag "Grenade Launcher"
	Scale 0.5
	States
	{
	Ready:
		CM79 A 1 A_WeaponReady(WRF_ALLOWZOOM|WRF_ALLOWRELOAD)
		Loop
	Fire:
		TNT1 A 0 A_SetPitch(pitch-2)
		TNT1 A 0 A_GunFlash
		TNT1 A 0 A_TakeInventory("RocketAmmo",1)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_PlaySound("crow/m79",1)
		CM79 B 1 Bright A_FireCustomMissile("CrowGrenade",1,0,5,12)
		TNT1 A 0 A_SetPitch(pitch+3)
		CM79 C 1 Bright
		CM79 CDEFAA 1 A_SetPitch(pitch+0.1)
		CM79 A 10
		SM79 EDCBA 1
		TNT1 A 9
		SM79 ABCDE 1 
		Goto Ready
	Select:
		BNJO AAAAAAAAA 0 A_Raise
		BNJO A 0 A_WeaponReady
		Goto RaiseWeapon
	RaiseWeapon:
		SM79 ABCDE 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOFIRE)
		Goto Ready
	Deselect:
		SM79 EDCBA 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOFIRE)
		CM79 AAAAAAAAAAA 0 A_Lower
		Wait
	Spawn:
		GRNP A -1
		Loop
	KickFlash:
		CM79 A 19 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		stop
	}
}
ACTOR CrowGrenade
{
	Health 10
	+NOBLOOD
	Radius 10
	Height 10
	Speed 40
	BounceCount 4
	Damage (random(60, 90))
    +MISSILE
    +BLOODSPLATTER
    Gravity 0.7
	DamageType Explosive
	+SKYEXPLODE
	+BOUNCEONFLOORS
	+SHOOTABLE
	+BOUNCEONWALLS
	+BOUNCEONCEILINGS
	+EXPLODEONWATER
	+THRUSPECIES
	DamageType Kick
    BounceFactor 0.5
	WallBounceFactor 0.35
	SeeSound "Grenade/Explode"
	DeathSound "none"
	Decal "Scorch"
	Obituary "$OB_MPROCKET"
	Scale 0.16
	-BOUNCEONFLOORS
	-BOUNCEONWALLS
	-BOUNCEONCEILINGS
	+SLIDESONWALLS
	Damage (random(150, 150))
	SeeSound "None"
	Damagetype Explosive
	+FORCERADIUSDMG
	States
	{
	Spawn:
		TNT1 A 0 A_GiveInventory("CrowGrenadeTimer", 1)
		TNT1 A 0 A_JumpIfInventory("CrowGrenadeTimer", 6, "Explode")
		GR40 AAABBBCCCDDD 1 A_CustomMissile("CrowGrenadeTrail52", 2, 0, random (70, 110), 2, random (0, 360))
		TNT1 A 0 A_JumpIfInventory("CrowGrenadeTimer", 6, "Explode")
		TNT1 A 0 A_GiveInventory("CrowGrenadeTimer", 1)
		GR40 EEEFFFGGGHHH 1 A_CustomMissile("CrowGrenadeTrail52", 2, 0, random (70, 110), 2, random (0, 360))
		TNT1 A 0 A_JumpIfInventory("CrowGrenadeTimer", 6, "Explode")
		Loop
	Death:
	XDeath:
		TNT1 A 1
		Goto Explode
	Explode:
		TNT1 A 0 A_PlaySOund("grenade/explode",1)
		TNT1 A 0 A_PlaySOund("M79/explode1",3)
		TNT1 A 0 A_PlaySOund("M79/explode2",5)
        EXPL A 0 Radius_Quake (3, 8, 0, 15, 0)
		TNT1 A 0 A_SpawnItemEx("CrowGrenadeExplosion",0,0,0)
		TNT1 A 0 A_Explode(150)
		Stop
	}

}
ACTOR CrowGrenadeTrail52
{
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
    +CLIENTSIDEONLY
    +NOINTERACTION
	+NOGRAVITY
	+DOOMBOUNCE
	+THRUACTORS
	BounceFactor 0.5
	Radius 0
	Height 0
	Alpha 0.01
	RenderStyle Translucent
	Scale 1.2
	Speed 1
	Mass 0
	Speed 1
	Alpha 0.3
	Scale 0.3
	States
	{
	Spawn:
		TNT1 A 2
		SMK3 B 20
		SMK3 CDEFGHIJKLM 1
		Stop
	}
}
ACTOR CrowGrenadeTimer: Inventory
{
inventory.maxamount 20
}
ACTOR CrowGrenadeExplosion : CrowGrenadeTrail52
{
	Renderstyle Normal
	Scale 1.0
	+NOGRAVITY
	States
	{
	Spawn:
		FLIR ABCDEFGHIJKLM 3 Bright
		Stop
	}
}