
//==============================================================================
//========================== Corvettes's Golden Wand ===========================
//==============================================================================


ACTOR ClassicGoldWand : HereticWeapon replaces Pistol
{
	-AMMO_OPTIONAL
	-ALT_AMMO_OPTIONAL
	+BLOODSPLATTER
	+NOEXTREMEDEATH
	Weapon.SelectionOrder 4
	Inventory.RestrictedTo "Corvette"
	Inventory.ForbiddenTo "BrutalCorvus"
	Weapon.AmmoGive1 0
	Weapon.AmmoUse1 1
	Weapon.AmmoUse2 5
	Weapon.AmmoType1 "ClassicGoldWandAmmo"
	Weapon.AmmoType2 "ClassicGoldWandAmmo"
	Weapon.SisterWeapon "None"
	Weapon.YAdjust 5
	Inventory.PickupMessage "This is the starting weapon, did you leave yours at home?"
	Obituary "$OB_MPGOLDWAND"
	Tag "$TAG_GOLDWAND"
	Weapon.SlotNumber 2
	Speed 4
  
	States
	{
		Spawn:
			TNT1 A 0 A_SpawnItemEx("YellowFlareSmall",0,0,41)
			GWAN DD 1 Bright A_SetAngle(angle+speed)
			Goto Spawn
		Ready:
			TNT1 A 0 A_SetCrosshair (8)
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			GWND AAAABBBBCCCCDDDDEEEEFFFFGGGGFFFFEEEEDDDDCCCCBBBBAAAA 1 //DDDDDDDDDDDDDDDEEEEEEEFFFFFGGGFFFFFEEEEEEEDDDDDDDDDDDDDD 1 
			{
				A_WeaponReady (WRF_ALLOWZOOM);
				
				If (CountInv("Action1") == 1)
				{
					return state("Kicking");
				}
				Else
				{
					return state("");
				}
			}
			Loop
		Deselect:
			GWND A 0 A_Lower
			TNT1 A 0 A_StopSound(4)
			GWND A 1 A_Lower
			Loop
		Select:
			GWND D 0 A_Raise
			GWND A 1 A_Raise
			Loop
		Fire:
			TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredFire")
			GWND H 3 
			GWND I 3 Bright
			{
				A_PlayWeaponSound("GWANDFIR");
				A_FireBullets(0,0,1,0,"FakeSwitchPuff",FBF_NOFLASH);
				
				If (GetCVAR("NoScalingPlz") == 1)
				{
					A_FireProjectile("WimpyGoldWandTracer",0,TRUE,0,0,0,-1);
				}
				Else
				{
					A_FireProjectile("GoldWandTracer",0,TRUE,0,0,0,-1);
				}
			}
			GWND H 2 Bright A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_JumpIfInventory("Action1",1,"KickShotCancel")
			GWND A 3 A_SetPitch(pitch+(0.25 * GetCVAR("SteadyHand")))
			GWND A 3 A_ReFire("Daka")
			GWND A 3
			goto Ready
		Daka:
			GWND A 0 A_JumpIfNoAmmo("Reload")
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredFire")
			GWND H 3 
			GWND I 3 Bright
			{
				A_PlayWeaponSound("GWANDFIR");
				A_FireBullets(0,0,1,0,"FakeSwitchPuff",FBF_NOFLASH);
				
				If (GetCVAR("NoScalingPlz") == 1)
				{
					A_FireProjectile("WimpyGoldWandTracer",frandom(-1.0,1.0),TRUE,0,0,0,-1);
				}
				Else
				{
					A_FireProjectile("GoldWandTracer",frandom(-1.0,1.0),TRUE,0,0,0,-1);
				}
			}
			GWND H 2 Bright A_SetPitch(pitch-(0.5  * GetCVAR("SteadyHand")))
			TNT1 A 0 A_JumpIfInventory("Action1",1,"KickShotCancel")
			GWND A 3 A_SetPitch(pitch+(0.5  * GetCVAR("SteadyHand")))
			GWND A 3 A_ReFire("Daka")
			goto Ready
		AltFire:
			TNT1 A 0 A_JumpIfInventory("PowerClassicLevel2",1,"PoweredAltFireCheck")
			TNT1 A 0 A_JumpIf(CallACS("ExpressSkills")==1, "SuperAttack")
			TNT1 A 0 A_JumpIfInventory("Level",3,"SuperAttack")
			TNT1 A 0 ACS_NamedExecuteAlways("NeedLevelAttack",0,3)
			Goto Ready
		SuperAttack:
			TNT1 A 0 A_PlayWeaponSound("GWANDFI3")
			GWND A 1 Bright Offset(0,42) 
			GWND K 1 Bright
			TNT1 A 0 A_FireCustomMissile("GoldWandBomb",0,TRUE,0,0,0,0)
			TNT1 A 0 A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_Recoil(1 * GetCVAR("SteadyHand"))
			GWND K 7 Bright Offset(0,41) A_SetPitch(pitch-(0.2 * GetCVAR("SteadyHand")))
			GWND L 2 Bright Offset(0,41) A_SetPitch(pitch+(0.3 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_Recoil(-1 * GetCVAR("SteadyHand"))
			GWND M 2 Offset(0,38) A_SetPitch(pitch+(0.2 * GetCVAR("SteadyHand")))
			GWND N 2 Offset(0,35) A_SetPitch(pitch+(0.1 * GetCVAR("SteadyHand")))
			GWND O 2
			GWND A 1 Offset(0,33) A_Refire("Waiting")
			Goto Ready
		Waiting:
			GWND ADGDA 1 A_WeaponReady(WRF_NOSECONDARY)
			Goto Ready
		PoweredAltFireCheck:
			TNT1 A 0 A_JumpIf(CallACS("ExpressSkills")==1, "PoweredAltFire")
			TNT1 A 0 A_JumpIfInventory("Level",11,"PoweredAltFire")
			TNT1 A 0 ACS_NamedExecuteAlways("NeedLevelAttack",0,11)
			Goto Ready
		PoweredAltFire:
			GWND A 2 
			GWND H 1 A_Light(1)
			GWND H 1 A_Light(3)
			GWND H 1 A_Light(5)
			GWND H 1 A_Light(7)
			GWND K 1 Offset(0,42) A_Light(9)
			TNT1 A 0 A_PlayWeaponSound("GWANDFI2")
			TNT1 A 0 A_RailAttack(random(1,9)+(CountInv("Stat_Magicalstrength",AAPTR_PLAYER1)/2),0,TRUE,None,"Gold",RGF_SILENT | RGF_FULLBRIGHT | RGF_CENTERZ ,1,"BulletPuff",0,0,0,0,1,5,"FairyDustYellow",10)
			//TNT1 A 0 A_CustomRailGun(random(10,39)+(CountInv("Stat_Magicalstrength",AAPTR_PLAYER1)/2),0,"","",RGF_SILENT ,0,0,"BulletPuff",0,0,0,0,15,50,"FairyDustYellow",0,270,0,0)
			TNT1 AAA 0 A_FireCustomMissile("GoldWandBombAlt",0,FALSE)
			TNT1 A 0 A_Light(0)
			TNT1 A 0 A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_Recoil(1 * GetCVAR("SteadyHand"))
			GWND K 7 Bright Offset(0,41) A_SetPitch(pitch-(0.2 * GetCVAR("SteadyHand")))
			GWND L 2 Bright Offset(0,41) A_SetPitch(pitch+(0.3 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_Recoil(-1 * GetCVAR("SteadyHand"))
			GWND M 2 Offset(0,38) A_SetPitch(pitch+(0.2 * GetCVAR("SteadyHand")))
			GWND N 2 Offset(0,35) A_SetPitch(pitch+(0.1 * GetCVAR("SteadyHand")))
			GWND O 2
			GWND A 1 Offset(0,33)
			Goto Ready
		PoweredFire:
			GWND H 2 
			TNT1 A 0 A_PlayWeaponSound("GWANDFI3")
			GWND I 2 Bright Offset(0,42)
			TNT1 A 0 A_JumpIf(GetCVAR("NoScalingPlz"),3)
			TNT1 A 0 A_FireCustomMissile("PowerGoldWandTracer",0,FALSE,0,0,0,0)
			TNT1 A 0 A_Jump(256,2)
			TNT1 A 0 A_FireCustomMissile("WimpyPowerGoldWandTracer",0,FALSE,0,0,0,0)
			TNT1 A 0 A_SetPitch(pitch-(0.5  * GetCVAR("SteadyHand")))
			TNT1 A 0 A_Recoil(1 * GetCVAR("SteadyHand"))
			GWN2 I 1 Bright Offset(0,41) A_SetPitch(pitch-(0.2 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_JumpIf(GetCVAR("NoScalingPlz"),4)
			TNT1 A 0 A_FireCustomMissile("PowerGoldWandTracer",6,TRUE,0,-1,-2,0)
			TNT1 A 0 A_FireCustomMissile("PowerGoldWandTracer",-6,TRUE,0,-1,2,0)
			TNT1 A 0 A_Jump(256,4)
			TNT1 A 0 A_FireCustomMissile("WimpyPowerGoldWandTracer",6,TRUE,0,-1,-2,0)
			TNT1 A 0 A_FireCustomMissile("WimpyPowerGoldWandTracer",-6,FALSE,0,-1,2,0)
			GWND I 1 Bright Offset(0,41) A_SetPitch(pitch+(0.3 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_JumpIf(GetCVAR("NoScalingPlz"),4)
			TNT1 A 0 A_FireCustomMissile("PowerGoldWandTracerAlt",12,FALSE,0,-2,0,0)
			TNT1 A 0 A_FireCustomMissile("PowerGoldWandTracerAlt",-12,FALSE,0,-2,0,0)
			TNT1 A 0 A_Jump(256,4)
			TNT1 A 0 A_FireCustomMissile("WimpyPowerGoldWandTracerAlt",12,TRUE,0,-2,0,0)
			TNT1 A 0 A_FireCustomMissile("WimpyPowerGoldWandTracerAlt",-12,TRUE,0,-2,0,0)
			TNT1 A 0 A_Recoil(-1 * GetCVAR("SteadyHand"))
			GWND H 2 Offset(0,38) A_SetPitch(pitch+(0.2 * GetCVAR("SteadyHand")))
			GWND A 1 Offset(0,35) A_SetPitch(pitch+(0.1 * GetCVAR("SteadyHand")))
			GWND A 1 Offset(0,33)
			GWND C 2 
			Goto Ready
		Kicking:
			GWND A 1 Offset(0,41)
			GWND A 1 Offset(0,45)
			GWND A 1 Offset(0,55)
			GWND A 1 Offset(0,65)
			GWND A 1 Offset(0,75)	
			//TNT1 A 0 A_PlaySound("WHOP")
			TNT1 A 0 A_StartSound("WHOP",1,CHANF_NOPAUSE)
			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")
			GWND A 1 Offset(-1,76)
			GWND A 1 Offset(0,72)
			GWND A 1 Offset(0,68)
			GWND A 1 Offset(0,58)
			GWND A 1 Offset(0,52)
			TNT1 A 0 A_WeaponReady
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			Goto Ready
		KickCancel:
			GWND A 1 Offset(-20,55)
			GWND A 0 Offset(-3,46)
			TNT1 A 0 A_WeaponReady
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			Goto Ready
		KickShotCancel:
			GWND A 1 Offset(0,41)
			GWND A 1 Offset(0,45)
			GWND A 1 Offset(0,55)
			GWND A 1 Offset(0,65)
			GWND A 1 Offset(0,75)	
			//TNT1 A 0 A_PlaySound("WHOP")
			TNT1 A 0 A_StartSound("WHOP",1,CHANF_NOPAUSE)
			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
			GWND A 1 Offset(-1,76)
			GWND A 1 Offset(0,72)
			GWND A 1 Offset(0,68)
			GWND A 1 Offset(0,58)
			GWND A 1 Offset(0,52)
			TNT1 A 0 A_WeaponReady
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			Goto Ready
	}
}