
//Dusk damage chart (type: Dmg)
//SP: 300
//MP: 60


//The "slow-mo grenades" launcher. aka "Leo mortero". Another argentinian joke.
ACTOR Dusk_Mortar_newammo : DuskWeapon //replaces rocketlauncher
{
	+POWERED_UP 
	Weapon.SisterWeapon Dusk_Mortar

Weapon.Kickback 0
	+WEAPON.NOALERT
+WEAPON.NOAUTOAIM
+WEAPON.EXPLOSIVE
	Weapon.SelectionOrder 40
Weapon.Slotnumber 8
//	Weapon.SisterWeapon Dusk_Mortar_Fastfire

	Weapon.AmmoUse 1
	Weapon.AmmoGive 2
	Weapon.AmmoType "Dusk_Wep8Ammo"
	Weapon.UpSound "mortar/raise"

	Inventory.PickupMessage "$MORT_PICK"
	Tag "Mortar"
	States
	{
	Ready:
TNT1 A 0 A_JumpIfInventory("Doosk_ExplosiveBarrelWeapon",1,"Select_Barrel")
TNT1 A 0 A_JumpIfInventory("Doosk_HereticBarrelWeapon",1,"Select_HereticBarrel")
TNT1 A 0 A_JumpIfInventory("Doosk_SoapWeapon",1,"Select_Soap")

		W08C A 1 A_WeaponReady(WRF_ALLOWRELOAD)
		Loop
	Deselect:
    TNT1 A 0 A_TakeInventory("SetWeaponMemory",50)
    TNT1 A 0 A_GiveInventory("SetWeaponMemory",11)
	DeselectLoop:
		TST1 AAA 0 A_Lower
		TST1 A 1 A_Lower
		Loop
	Select:
		TNT1 A 0 A_SetCrosshair(17)
    TNT1 A 0 A_TakeInventory("SetWeaponActual",50)
    TNT1 A 0 A_GiveInventory("SetWeaponActual",11)
		TNT1 A 1 A_WeaponReady//(WRF_NOFIRE)
		W08A ABCDEFGHIJKLM 1 A_WeaponReady//(WRF_NOFIRE)
		Goto Ready


	Reload://Weapon melee
	TNT1 A 0 A_PlaySound("sickles/fire")
		W01G A 0 A_CustomPunch(2 * random(1, 10), TRUE, 0, "MeleePuff")

		W08D ABCDE 1 A_WeaponReady (WRF_NOBOB)//(WRF_ALLOWRELOAD)
		W08D FGHIJK 1 A_WeaponReady (WRF_ALLOWRELOAD|WRF_NOBOB)
		W08D LMNOPQRSTUV 1 A_WeaponReady (WRF_ALLOWRELOAD)
		Goto Ready


	Fire:
		TNT1 A 0 A_GunFlash		TNT1 A 0 A_GiveInventory("Player_WeaponShot",1)

		W08F ABCD 1 bright A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)

	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("MultiplayerCheck",0,0,0,0) == 2,2)
TNT1 A 0 A_JumpIf(CallACS("mortartype")==2, "Fire_SupaOld")//If mutator is detected, jumps into old mortar with even slower firerate.
TNT1 A 0 A_JumpIf(CallACS("mortartype")==1, "Fire_Old")//If mutator is detected, jumps into old mortar.


TNT1 A 0 A_JumpIfInventory("Fastfire_TotemAmount",31,	"Fire_Stacked2")
TNT1 A 0 A_JumpIfInventory("Fastfire_TotemAmount",1,	"Fire_Stacked1")
		W08F EFGHIJKL 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W08F MNOPQR 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W08F STU 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W08C A 3 A_WeaponReady (WRF_NOPRIMARY|WRF_NOSWITCH|WRF_ALLOWRELOAD)
		Goto Ready

	Fire_Stacked1:
		W08F EFGHI 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W08F JK 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W08F LMNOPQRSTU 1 A_WeaponReady (WRF_NOSECONDARY|WRF_ALLOWRELOAD)
		Goto Ready


	Fire_Stacked2:
		W08F EF 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W08F GHIJKLMNOPQRSTU 1 A_WeaponReady (WRF_NOSECONDARY|WRF_ALLOWRELOAD)
		Goto Ready






	Fire_Old:
TNT1 A 0 A_JumpIfInventory("Fastfire_TotemAmount",31,	"Fire_Stacked2_Old")
TNT1 A 0 A_JumpIfInventory("Fastfire_TotemAmount",1,	"Fire_Stacked1_Old")
		W08F EFGHIJKLMNOPQRSTU 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W08C A 3 A_WeaponReady (WRF_NOfIRE|WRF_NOSWITCH|WRF_ALLOWRELOAD)
		Goto Ready

	Fire_Stacked1_Old:
		W08F EFGHIJK 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W08F LMNOPQRSTU 1 A_WeaponReady (WRF_NOSECONDARY|WRF_ALLOWRELOAD)
		Goto Ready


	Fire_Stacked2_Old:
		W08F EF 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W08F GHIJKLMNOPQRSTU 1 A_WeaponReady (WRF_NOSECONDARY|WRF_ALLOWRELOAD)
		Goto Ready




//Slower firerate
	Fire_SupaOld:
TNT1 A 0 A_JumpIfInventory("Fastfire_TotemAmount",31,	"Fire_Stacked2_SupaOld")
TNT1 A 0 A_JumpIfInventory("Fastfire_TotemAmount",1,	"Fire_Stacked1_SupaOld")
		W08F EFGHIJKLMNOPQRSTU 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W08C A 15 A_WeaponReady (WRF_NOfIRE|WRF_NOSWITCH|WRF_ALLOWRELOAD)
		Goto Ready

	Fire_Stacked1_SupaOld:
		W08F EFGHIJKLMNOPQR 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W08F STU 1 A_WeaponReady (WRF_NOSECONDARY|WRF_ALLOWRELOAD)
		Goto Ready


	Fire_Stacked2_SupaOld:
		W08F EFGHI 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W08F JKLMNOPQRSTU 1 A_WeaponReady (WRF_NOSECONDARY|WRF_ALLOWRELOAD)
		Goto Ready





	AltFire://Makes grenades explode midair.
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("MultiplayerCheck",0,0,0,0) == 2,2)
TNT1 A 0 A_JumpIf(CallACS("mortartype")==2, "Ready")
TNT1 A 0 A_JumpIf(CallACS("mortartype")==1, "Ready")
	TNT1 A 0 A_PlaySound("weapon/empty")
//		TNT1 A 0 Thing_Projectile(1999,201,0,0,0)
//		TNT1 A 0 Thing_ReMove(1999)
        TNT1 A 0 ACS_NamedExecuteWithResult("Doosk_MortarDetonate")

		W08C A 5 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W08C A 0 A_ReFire
		Goto Ready


	AltHold://Don't repeat the click sound if altfire is hold.
		W08C A 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		W08C A 0 A_ReFire
		Goto Ready
		



	Flash_DM:
	TNT1 A 0 A_PlaySound("mortar/fire", CHAN_WEAPON)
		TNT1 A 0 A_FireCustomMissile("Dusk_Grenade_DM",0,1,0,0,0,10)
	Goto FlashContinue

	Flash_Old:
	TNT1 A 0 A_PlaySound("mortar/old", CHAN_WEAPON)
		TNT1 A 0 A_FireCustomMissile("Dusk_Grenade_3sec",0,1,0,0,0,10)
	Goto FlashContinue



	Flash:
	TNT1 A 0 A_AlertMonsters
	    TNT1 A 0 A_JumpIfInventory("DeathMatchToken",1,"Flash_DM")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("MultiplayerCheck",0,0,0,0) == 2,2)
TNT1 A 0 A_JumpIf(CallACS("mortartype")==2, "Flash_Old")
TNT1 A 0 A_JumpIf(CallACS("mortartype")==1, "Flash_Old")
	TNT1 A 0 A_PlaySound("mortar/fire", CHAN_WEAPON)
		TNT1 A 0 A_FireCustomMissile("Dusk_Grenade",0,1,0,0,0,10)
	FlashContinue:
	TNT1 A 0 ACS_NamedExecuteAlways("Weapon_Recoil", 0, 1, 0, 0)
		TNT1 A 3 A_Light2
		TNT1 A 4 A_Light1
		Goto LightDone





	Spawn:
		W08Z A -1
		Stop
	}
}

