
// --------------------------------------------------------------------------
//
// Grenade launcher
//
// --------------------------------------------------------------------------

ACTOR Grenade_Launcher : DoomWeapon //Replaces GrenadeLauncher
{
	Weapon.AmmoUse1 1
	Weapon.AmmoUse2 1
	Weapon.AmmoGive 6
	Weapon.AmmoType1 "RocketAmmo"
	Weapon.AmmoType2 "RocketAmmo"
    Inventory.PickupSound "ROCKPKUP"
    +WEAPON.NOAUTOAIM
	Inventory.PickupMessage "$GOTLAUNCHER"
	States
	{
	Ready:
        TNT1 A 0 A_PlaySound("RLANDRAW")
        GLSW ABC 1
        TNT1 AAAAA 0
        TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		TNT1 A 0 A_JumpIfInventory("Salute1", 1, "Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2", 1, "Salute")
        TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		GLAN A 1 A_WeaponReady
        Goto Ready+7
	Deselect:
        GLSW CBA 1
		TNT1 A 1 A_Lower
		Wait
	Select:
		TNT1 A 0 A_Takeinventory("FistsSelected",1)
	TNT1 A 0 A_Takeinventory("SawSelected",1)
	TNT1 A 0 A_Takeinventory("ShotgunSelected",1)
	TNT1 A 0 A_Takeinventory("SSGSelected",1)
	TNT1 A 0 A_Takeinventory("MinigunSelected",1)
	TNT1 A 0 A_Takeinventory("PlasmaGunSelected",1)
	//TNT1 A 0 A_Giveinventory("RocketLauncherSelected",1)
	TNT1 A 0 A_Takeinventory("RocketLauncherSelected",1)
    TNT1 A 0 A_Giveinventory("GrenadeLauncherSelected",1)
	TNT1 A 0 A_Takeinventory("BFGSelected",1)
	TNT1 A 0 A_Takeinventory("BFG10kSelected",1)
	TNT1 A 0 A_Takeinventory("RailGunSelected",1)
	TNT1 A 0 A_Takeinventory("SubMachineGunSelected",1)
	TNT1 A 0 A_Takeinventory("RevenantLauncherSelected",1)
	TNT1 A 0 A_Takeinventory("LostSoulSelected",1)
	TNT1 A 0 A_Takeinventory("FlameCannonSelected",1)
	TNT1 A 0 A_Takeinventory("HasBarrel",1)
	
		MISG A 0 A_Raise
		Wait
		
	Fire:
		TNT1 A 0 A_FireCustomMissile("RedFlareSpawn",-5,0,0,0)
		TNT1 AAAAAA 0 BRIGHT A_FireCustomMissile("ShotgunParticles", random(-16,16), 0, -1, random(-9,9))
		GLAF A 2 BRIGHT A_FireCustomMissile("GrenadeMissile", 0, 1, 0, 0)
		TNT1 A 0 A_PlaySound("weapons/firegrenade")
        TNT1 A 0 ACS_Execute(281, 0, 0, 0, 0)
		GLAF BCB 2
		GLAN A 5
		GLAN DEFGHIJK 2
		TNT1 A 0 A_PlaySound("Weapons/GrenadeOpen")
		TNT1 AAAA 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		GLAN L 5
		TNT1 AAAA 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		GLAN L 5
		GLAN MNOPQ 2
		TNT1 A 0 A_PlaySound("Weapons/GrenadeLoad")
		GLAN RST 2
		GLSW ABC 2
		TNT1 A 0 A_PlaySound("Weapons/GrenadeClose")
		GLAN A 1
        Goto Ready+7

AltFire:
		TNT1 A 0 A_FireCustomMissile("RedFlareSpawn",-5,0,0,0)
		TNT1 AAAAAA 0 BRIGHT A_FireCustomMissile("ShotgunParticles", random(-16,16), 0, -1, random(-9,9))
		GLAF A 2 BRIGHT A_FireCustomMissile("BouncingGrenade", 0, 1, 0, 0)
		TNT1 A 0 A_PlaySound("weapons/firegrenade")
        TNT1 A 0 ACS_Execute(281, 0, 0, 0, 0)
		GLAF BCB 2
		GLAN A 5
		GLAN DEFGHIJK 2
		TNT1 A 0 A_PlaySound("Weapons/GrenadeOpen")
		TNT1 AAAA 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		GLAN L 5
		TNT1 AAAA 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		GLAN L 5
		GLAN MNOPQ 2
		TNT1 A 0 A_PlaySound("Weapons/GrenadeLoad")
		GLAN RST 2
		GLSW ABC 2
		TNT1 A 0 A_PlaySound("Weapons/GrenadeClose")
		GLAN A 1
        Goto Ready+7
		
	Spawn:
		GLAP A -1
		Stop

    DoKick:
        TNT1 A 0 A_jumpifinventory("PowerStrength",1,"BerserkerKick")
		KICK BCD 1
		RIFF A 0 A_FireCustomMissile("KickAttack", 0, 0, -1, 0)
        KICK H 4
		KICK A 0 A_Takeinventory("Kicking",1)
		KICK IGFEDCBA 1 
		Goto Ready+7
    BerserkerKick:
		KICK ABCDEFG 1
        RIFF A 0 A_FireCustomMissile("SuperKickAttack", 0, 0, -1, 0)
        KICK H 3
		KICK A 0 A_Takeinventory("Kicking",1)
		KICK IGFEDCBA 1 
		Goto Ready+7
    Taunt:
        TNT1 A 5
		FUCK A 2
        FUCK B 2 A_PlaySound("FUCK", 1)
        FUCK C 2 A_AlertMonsters
		FUCK D 15 A_Takeinventory("Taunting",1)
        FUCK CBA 5
        TNT1 A 5
		Goto Ready
	Salute:
	    TNT1 A 0 SetPlayerProperty(0,1,0)
		TNT1 A 0 A_ALertMonsters
		SALU ABCDEDCDEDCDEDCBA 4
		TNT1 A 0 A_TakeInventory("Salute1",1)
		TNT1 A 0 A_TakeInventory("Salute2",1)
		TNT1 A 0 SetPlayerProperty(0,0,0)
		Goto Ready
	}
}

Actor RocketerAmmo: Inventory
{
inventory.maxamount 6
}

