
//==============================================================================
//======================== Corvette's Ethereal Crossbow ========================
//==============================================================================


ACTOR ClassicCrossbow : HereticWeapon
{
	Weapon.SelectionOrder 3
	Weapon.AmmoUse1 1
	Weapon.AmmoUse2 1
	Weapon.AmmoGive1 4
	Weapon.Kickback 200
	Inventory.RestrictedTo "Corvette"
	Inventory.ForbiddenTo "BrutalCorvus"
	Weapon.AmmoType1 "ClassicCrossbowAmmo"
	Weapon.AmmoType2 "ClassicCrossbowAmmo"
	Weapon.SisterWeapon "None"
	Weapon.YAdjust 15
	ConversationID 194
	Inventory.PickupMessage "Picked up the Ethereal Crossbow, a Heretic's best friend."
	Tag "$TAG_CROSSBOW"
	Weapon.SlotNumber 3
	Speed 4

	States
	{
		Spawn:
			TNT1 A 0 A_SpawnItemEx("GreenFlareSmall",0,0,7)
			WBOW AA 1 Bright A_SetAngle(angle+speed)
			Goto Spawn
		Ready:
		ReadyDouble:
			TNT1 A 0 A_Light(0)
			TNT1 A 0 A_SetCrosshair (15)
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredReadyDouble")
			TNT1 A 0 A_JumpIfInventory("CrossBowMode2",1,"ReadySingle")
			CRB2 AABBCC 1
			{
				If (A_JumpIfInventory("Action1",1,"Kicking"))
				{
					return state("Kicking");
				}
				Else
				{
					A_WeaponReady (WRF_ALLOWRELOAD);
					return state("");
				}
			}	
			Loop
		ReadySingle:
			TNT1 A 0 A_SetCrosshair (9)
			TNT1 A 0 ACS_NamedExecute("CluckyFailsafe",0)
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredReadySingle")
			CRBW AABBCC 1
			{
				If (A_JumpIfInventory("Action1",1,"Kicking"))
				{
					return state("Kicking");
				}
				Else
				{
					A_WeaponReady (WRF_ALLOWZOOM|WRF_ALLOWRELOAD);
					return state("");
				}
			}
			Loop
		PoweredReadyDouble:
			TNT1 A 0 A_JumpIfInventory("CrossBowMode2",1,"PoweredReadySingle")
			TNT1 A 0 A_SetCrosshair (15)
			CRB2 IIJJKK 1
			{
				If (A_JumpIfInventory("Action1",1,"Kicking"))
				{
					return state("Kicking");
				}
				Else
				{
					A_WeaponReady (WRF_ALLOWZOOM|WRF_ALLOWRELOAD);
					return state("");
				}
			}
			Goto Ready 
		PoweredReadySingle:
			TNT1 A 0 A_SetCrosshair (9)
			CRBW IIJJKK 1
			{
				If (A_JumpIfInventory("Action1",1,"Kicking"))
				{
					return state("Kicking");
				}
				Else
				{
					A_WeaponReady (WRF_ALLOWZOOM|WRF_ALLOWRELOAD);
					return state("");
				}
			}
			Goto Ready
		Reload:
			TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PowerReload")
			TNT1 A 0 A_JumpIfInventory("CrossBowMode2",1,"Revert")
			CRBW A 0 A_GiveInventory("CrossBowMode2",1)
			TNT1 A 0 A_PlaySound("SORRISE")
			CRB2 H 2 Bright
			CRB2 G 2
			CRB2 F 2 Bright
			CRB2 E 2
			CRB2 D 2 Bright
			Goto Ready
		PowerReload:
			TNT1 A 0 A_JumpIfInventory("CrossBowMode2",1,"PowerRevert")
			CRBW A 0 A_GiveInventory("CrossBowMode2",1)
			TNT1 A 0 A_PlaySound("SORRISE")
			CRB2 P 2 Bright
			CRB2 O 2
			CRB2 N 2 Bright
			CRB2 M 2
			CRB2 L 2 Bright
			Goto Ready
		Revert:
			TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PowerRevert")
			TNT1 A 0 A_PlaySound("SORRISE")
			CRB2 D 2 Bright
			CRB2 E 2 
			CRB2 F 2 Bright
			CRB2 G 2 
			CRB2 H 2 Bright
			TNT1 A 0 A_TakeInventory("CrossBowMode2",1)
			Goto Ready
		PowerRevert:
			TNT1 A 0 A_PlaySound("SORRISE")
			CRB2 L 2 Bright
			CRB2 M 2 
			CRB2 N 2 Bright
			CRB2 O 2 
			CRB2 P 2 Bright
			TNT1 A 0 A_TakeInventory("CrossBowMode2",1)
			Goto Ready
		Deselect:
			TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredDeselect")
			CRBW C 0 A_Lower
			CRBW C 1 A_Lower
			Loop
		PoweredDeselect:
			CRBW K 0 A_Lower
			CRBW K 1 A_Lower
			Loop
		Select:
			TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredSelect")
			CRBW C 0 A_Raise
			CRBW C 1 A_Raise
			Loop
		PoweredSelect:
			CRBW K 0 A_Raise
			CRBW K 1 A_Raise
			Loop
		Fire:
		FireDouble:
			TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredFireDouble")
			TNT1 A 0 A_JumpIfInventory("CrossbowMode2",1,"FireSingle")
			//TNT1 A 0 A_PlayWeaponSound("BOWSHOT")
			TNT1 A 0 A_StartSound("BOWSHOT",1,CHANF_NOPAUSE)
			TNT1 A 0 
			{
				If (GetCVAR("NoScalingPlz") == 1)
				{
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), TRUE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), TRUE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
				}
				Else
				{
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), TRUE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), TRUE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
				}
			}
			TNT1 A 0 A_Recoil(3 * GetCVAR("SteadyHand"))
			CRBW D 10 A_SetPitch(pitch-(0.9 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_JumpIfInventory("Action1",1,"KickShotCancel")
			CRBW EFGH 3 A_SetPitch(pitch+(0.16 * GetCVAR("SteadyHand")))
			CRB2 DEFG 2
			CRB2 H 2 A_ReFire
			TNT1 A 0
			Goto Ready
		FireSingle:
			TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredFireSingle")
			//TNT1 A 0 A_PlayWeaponSound("BOWSHOT")
			TNT1 A 0 A_StartSound("BOWSHOT",1,CHANF_NOPAUSE)
			TNT1 A 0
			{
				If (GetCVAR("NoScalingPlz") == 1)
				{
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), TRUE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("WimpyEtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
				}
				Else
				{
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), TRUE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
					A_FireProjectile ("EtherealCrossbowBoltStrong", frandom(-3.5,3.5), FALSE, 0, -3, 0, frandom(-5.5,0));
				}
			}
			TNT1 A 0 A_Recoil(1 * GetCVAR("SteadyHand"))
			CRBW D 8 A_SetPitch(pitch-(0.9 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_JumpIfInventory("Action1",1,"KickShotCancel")
			CRBW EFGH 2 A_SetPitch(pitch+(0.16 * GetCVAR("SteadyHand")))
			CRBW AB 2
			CRBW C 2 A_ReFire
			Goto ReadySingle
		PoweredFireDouble:
			TNT1 A 0 A_JumpIfInventory("CrossbowMode2",1,"PoweredFireSingle")
			//TNT1 A 0 A_PlayWeaponSound("BOWSHOT4")
			TNT1 A 0 A_StartSound("BOWSHOT4",1,CHANF_NOPAUSE)
			TNT1 AA 0 A_FireProjectile ("PoweredCrossbowBolt", frandom(-6,-4), TRUE, 0, -3, 0, frandom(-1,1))
			TNT1 AA 0 A_FireProjectile ("PoweredCrossbowBolt", frandom(-3,-1), TRUE, 0, -3, 0, frandom(-1,1))
			TNT1 AA 0 A_FireProjectile ("PoweredCrossbowBolt", 0, TRUE, 0, -3)
			TNT1 AA 0 A_FireProjectile ("PoweredCrossbowBolt", frandom(1,3), TRUE, 0, -3, 0, frandom(-1,1))
			TNT1 AA 0 A_FireProjectile ("PoweredCrossbowBolt", frandom(4,6), TRUE, 0, -3, 0, frandom(-1,1))
			TNT1 A 0 A_Recoil(1 * GetCVAR("SteadyHand"))
			CRBW L 8 A_SetPitch(pitch-(0.9 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_JumpIfInventory("Action1",1,"KickShotCancel")
			CRBW EMNO 4 A_SetPitch(pitch+(0.16 * GetCVAR("SteadyHand")))
			CRB2 LMNO 2
			CRB2 P 2 A_ReFire
			TNT1 A 0
			Goto Ready
		PoweredFireSingle:
			//TNT1 A 0 A_PlayWeaponSound("BOWSHOT")
			TNT1 A 0 A_StartSound("BOWSHOT",1,CHANF_NOPAUSE)
			TNT1 A 0 A_FireProjectile ("PoweredCrossbowBolt", -30, TRUE, 0, -3, 0, frandom(-0.5,0.5))
			TNT1 A 0 A_FireProjectile ("PoweredCrossbowBolt", -20, TRUE, 0, -3, 0, frandom(-0.5,0.5))
			TNT1 A 0 A_FireProjectile ("PoweredCrossbowBolt", -10, TRUE, 0, -3, 0, frandom(-0.5,0.5))
			TNT1 A 0 A_FireProjectile ("PoweredCrossbowBolt", -5, TRUE, 0, -3, 0, frandom(-0.5,0.5))
			TNT1 AA 0 A_FireProjectile ("PoweredCrossbowBolt", 0, TRUE, 0, -3, 0, frandom(-0.5,0.5))
			TNT1 A 0 A_FireProjectile ("PoweredCrossbowBolt", 5, TRUE, 0, -3, 0, frandom(-0.5,0.5))
			TNT1 A 0 A_FireProjectile ("PoweredCrossbowBolt", 10, TRUE, 0, -3, 0, frandom(-0.5,0.5))
			TNT1 A 0 A_FireProjectile ("PoweredCrossbowBolt", 20, TRUE, 0, -3, 0, frandom(-0.5,0.5))
			TNT1 A 0 A_FireProjectile ("PoweredCrossbowBolt", 30, TRUE, 0, -3, 0, frandom(-0.5,0.5))
			TNT1 A 0 A_Recoil(1 * GetCVAR("SteadyHand"))
			CRBW L 8 A_SetPitch(pitch-(0.9 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_JumpIfInventory("Action1",1,"KickShotCancel")
			CRBW EMNO 2 A_SetPitch(pitch+(0.16 * GetCVAR("SteadyHand")))
			CRBW IJ 2
			CRBW K 2 A_ReFire
			TNT1 A 0
			Goto Ready
		AltFire:
			TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredAltFire")
			TNT1 A 0 A_JumpIf(CallACS("ExpressSkills")==1, "SuperAttackDouble")
			TNT1 A 0 A_JumpIfInventory("Level",4,"SuperAttackDouble")
			TNT1 A 0 ACS_NamedExecuteAlways("NeedLevelAttack",0,4)
			Goto Ready
		PoweredAltFire:
			TNT1 A 0 A_JumpIf(CallACS("ExpressSkills")==1, "PoweredSuperAttackDouble")
			TNT1 A 0 A_JumpIfInventory("Level",12,"PoweredSuperAttackDouble")
			TNT1 A 0 ACS_NamedExecuteAlways("NeedLevelAttack",0,10)
			Goto Ready
		SuperAttackDouble:
			TNT1 A 0 A_JumpIfInventory("CrossbowMode2",1,"SuperAttackSingle")
			//TNT1 A 0 A_PlayWeaponSound("BOWSHOT4")
			TNT1 A 0 A_StartSound("BOWSHOT4",1,CHANF_NOPAUSE)
			
			TNT1 A 0
			{
				If (GetCVAR("NoScalingPlz") == 1)
				{
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), TRUE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), TRUE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), TRUE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), TRUE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), TRUE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("WimpyEtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					}
				Else
				{
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), TRUE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), TRUE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), TRUE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), TRUE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), TRUE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					A_FireCustomMissile ("EtherealCrossbowBolt2", frandom(-8,8), FALSE, 0, -3, 0, frandom(-6,6));
					}
			}
			TNT1 A 0 A_Recoil(12 * GetCVAR("SteadyHand"))
			CRBW D 10 A_SetPitch(pitch-(0.9 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_JumpIfInventory("Action1",1,"KickShotCancel")
			CRBW EFGH 3 A_SetPitch(pitch+(0.16 * GetCVAR("SteadyHand")))
			CRB2 DEFG 2
			CRB2 H 2 A_ReFire
			TNT1 A 0
			Goto Ready   
		SuperAttackSingle:
			//TNT1 A 0 A_PlayWeaponSound("BOWSHOT")
			TNT1 A 0 A_StartSound("BOWSHOT",1,CHANF_NOPAUSE)
			TNT1 A 0
			{
			If (GetCVAR("NoScalingPlz") == 1)
				{
					A_FireProjectile ("WimpyJumboBolt",frandom(1,-1),TRUE, 0, 0, 0, frandom(0.5,-0.5));
				}
				Else
				{
					A_FireProjectile ("JumboBolt",frandom(1,-1),TRUE, 0, 0, 0, frandom(0.5,-0.5));
				}
			}
			TNT1 A 0 A_Recoil(1 * GetCVAR("SteadyHand"))
			CRBW D 8 A_SetPitch(pitch-(0.9 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_JumpIfInventory("Action1",1,"KickShotCancel")
			CRBW EFGH 3 A_SetPitch(pitch+(0.16 * GetCVAR("SteadyHand")))
			CRBW AB 3
			Goto ReadySingle  
		PoweredSuperAttackDouble:
			TNT1 A 0 A_JumpIfInventory("CrossbowMode2",1,"PoweredSuperAttackSingle")
			TNT1 A 0
			{
				//A_PlayWeaponSound("BOWSHOT4");
				A_StartSound("BOWSHOT4",1,CHANF_NOPAUSE);
				A_TakeInventory("ClassicCrossbowAmmo",8);
				A_Recoil(1 * GetCVAR("SteadyHand"));
				
				If (GetCVAR("NoScalingPlz") == 1)
				{
					A_FireCustomMissile ("WimpyPoweredJumboBolt",frandom(1,-1),TRUE, -4, -7, 0, frandom(0.5,-0.5));
					A_FireCustomMissile ("WimpyPoweredJumboBolt",frandom(1,-1),TRUE, 4, -7, 0, frandom(0.5,-0.5));
				}
				Else
				{
					A_FireCustomMissile ("PoweredJumboBolt",frandom(1,-1),TRUE, -4, -7, 0, frandom(0.5,-0.5));
					A_FireCustomMissile ("PoweredJumboBolt",frandom(1,-1),TRUE, 4, -7, 0, frandom(0.5,-0.5));
				}
			}
			CRBW DLDL 2 A_SetPitch(pitch-(0.2 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_JumpIfInventory("Action1",1,"PoweredKickShotCancel")
			CRBW MNO 3 A_SetPitch(pitch+(0.16 * GetCVAR("SteadyHand")))
			CRB2 LMNO 2
			CRB2 P 2
			Goto Ready
		PoweredSuperAttackSingle:
			TNT1 A 0
			{
				//A_PlayWeaponSound("BOWSHOT4");
				A_StartSound("BOWSHOT4",1,CHANF_NOPAUSE);
				A_TakeInventory("ClassicCrossbowAmmo",4);
				A_Recoil(1 * GetCVAR("SteadyHand"));
				
				If (GetCVAR("NoScalingPlz") == 1)
				{
					A_FireCustomMissile ("WimpyPoweredJumboBolt",frandom(1,-1),TRUE, 0, -7, 0, frandom(0.5,-0.5));
				}
				Else
				{
					A_FireCustomMissile ("PoweredJumboBolt",frandom(1,-1),TRUE, 0, -7, 0, frandom(0.5,-0.5));
				}
			}
			CRBW DLDL 2 A_SetPitch(pitch-(0.2 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_JumpIfInventory("Action1",1,"PoweredKickShotCancel")
			CRBW MNO 3 A_SetPitch(pitch+(0.16 * GetCVAR("SteadyHand")))
			CRBW JK 3
			Goto Ready	
		Kicking:
			TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredKicking")
			CRBW C 1 Offset(0,42)
			CRBW C 1 Offset(0,52)
			CRBW C 1 Offset(0,62)
			CRBW C 1 Offset(0,72)
			CRBW C 1 Offset(0,82)
			TNT1 A 0 A_PlaySound("WHOP")
			CKCK B 1 Offset(35,20)
			CKCK B 1 Offset(30,20)
			CKCK C 1 Offset(20,10)
			TNT1 A 0 A_FireCustomMissile("BootOfFury",0,0,0,0)
			TNT1 A 0 A_Recoil(-6)
			CKCK E 1 Offset(-30,40)
			CKCK E 1 Offset(-28,38)
			CKCK E 1 Offset(-32,40)
			CKCK E 1 Offset(-30,38)
			TNT1 A 0 A_Recoil(3)
			CKCK C 1 Offset(20,10)
			CKCK B 1 Offset(30,20)
			CKCK B 1 Offset(35,20)
			CKCK AA 1 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_ATTACK),"KickCancel")
			TNT1 AAA 1 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_ATTACK),"KickCancel")
			CRBW C 1 Offset(-1,76)
			CRBW C 1 Offset(0,72)
			CRBW C 1 Offset(0,68)
			CRBW C 1 Offset(0,58)
			CRBW C 1 Offset(0,52)
			TNT1 A 0 A_WeaponReady
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			Goto Ready
		KickShotCancel:
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredKicking")			
			CRBW C 1 Offset(0,42)
			CRBW C 1 Offset(0,52)
			CRBW C 1 Offset(0,62)
			CRBW C 1 Offset(0,72)
			CRBW C 1 Offset(0,82)
			TNT1 A 0 A_PlaySound("WHOP")
			CKCK B 1 Offset(35,20)
			CKCK B 1 Offset(30,20)
			CKCK C 1 Offset(20,10)
			TNT1 A 0 A_FireCustomMissile("BootOfFury",0,0,0,0)
			TNT1 A 0 A_Recoil(-6)
			CKCK E 1 Offset(-30,40)
			CKCK E 1 Offset(-28,38)
			CKCK E 1 Offset(-32,40)
			CKCK E 1 Offset(-30,38)
			TNT1 A 0 A_Recoil(3)
			CKCK C 1 Offset(20,10)
			CKCK B 1 Offset(30,20)
			CKCK B 1 Offset(35,20)
			CKCK AA 1
			TNT1 AAA 1
			CRBW C 1 Offset(-1,76)
			CRBW C 1 Offset(0,72)
			CRBW C 1 Offset(0,68)
			CRBW C 1 Offset(0,58)
			CRBW C 1 Offset(0,52)
			TNT1 A 0 A_WeaponReady
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			Goto Ready
		PoweredKicking:
			CRBW I 1 Offset(0,42)
			CRBW J 1 Offset(0,52)
			CRBW K 1 Offset(0,62)
			CRBW I 1 Offset(0,72)
			CRBW J 1 Offset(0,82)
			TNT1 A 0 A_PlaySound("WHOP")
			CKCK B 1 Offset(35,20)
			CKCK B 1 Offset(30,20)
			CKCK C 1 Offset(20,10)
			TNT1 A 0 A_FireCustomMissile("BootOfFury",0,0,0,0)
			TNT1 A 0 A_Recoil(-6)
			CKCK E 1 Offset(-30,40)
			CKCK E 1 Offset(-28,38)
			CKCK E 1 Offset(-32,40)
			CKCK E 1 Offset(-30,38)
			TNT1 A 0 A_Recoil(3)
			CKCK C 1 Offset(20,10)
			CKCK B 1 Offset(30,20)
			CKCK B 1 Offset(35,20)
			CKCK AA 1 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_ATTACK),"KickCancel")
			TNT1 AAA 1 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_ATTACK),"KickCancel")
			CRBW I 1 Offset(-1,76)
			CRBW J 1 Offset(0,72)
			CRBW K 1 Offset(0,68)
			CRBW I 1 Offset(0,58)
			CRBW J 1 Offset(0,52)
			TNT1 A 0 A_WeaponReady
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			TNT1 A 0 A_JumpIfInventory("Action1",1,"PoweredKicking")
			Goto Ready
		PoweredKickShotCancel:
			CRBW I 1 Offset(0,42)
			CRBW J 1 Offset(0,52)
			CRBW K 1 Offset(0,62)
			CRBW I 1 Offset(0,72)
			CRBW J 1 Offset(0,82)
			TNT1 A 0 A_PlaySound("WHOP")
			CKCK B 1 Offset(35,20)
			CKCK B 1 Offset(30,20)
			CKCK C 1 Offset(20,10)
			TNT1 A 0 A_FireCustomMissile("BootOfFury",0,0,0,0)
			TNT1 A 0 A_Recoil(-6)
			CKCK E 1 Offset(-30,40)
			CKCK E 1 Offset(-28,38)
			CKCK E 1 Offset(-32,40)
			CKCK E 1 Offset(-30,38)
			TNT1 A 0 A_Recoil(3)
			CKCK C 1 Offset(20,10)
			CKCK B 1 Offset(30,20)
			CKCK B 1 Offset(35,20)
			CKCK AA 1
			TNT1 AAA 1
			CRBW I 1 Offset(-1,76)
			CRBW J 1 Offset(0,72)
			CRBW K 1 Offset(0,68)
			CRBW I 1 Offset(0,58)
			CRBW J 1 Offset(0,52)
			TNT1 A 0 A_WeaponReady
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			TNT1 A 0 A_JumpIfInventory("Action1",1,"PoweredKicking")
			Goto Ready
	}
}	