//Many thanks to Binary for creating the original weapon

actor MagnetBeamAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28//56
+INVENTORY.IGNORESKILL
}

Actor MagnetBeamWep : BaseMM8BDMWep
{
	//$Category MM1-Weapons
	//$Title Magnet Beam
	Weapon.AmmoUse 2
	Weapon.AmmoGive 28
	Weapon.SlotNumber 2
	Inventory.Pickupmessage "$PU_MAGNETBEAM"
	Obituary "$OB_MAGNETBEAM"
	Tag "$TAG_MAGNETBEAM"
	Weapon.AmmoType "MagnetBeamAmmo"
	Inventory.Icon "MBEAIC"
	States
	{
		SpawnLoop:
			MBEA A -1
		Loop
		Ready:
		TNT1 A 0 A_GiveInventory("MagBeamColor_CI")//ACS_NamedExecuteWithResult("core_weaponcolor",CLR_MEGA"####"ER)
		TNT1 A 0 A_JumpIfInventory("IsMegaMan",1,"ReadyMega")
		TNT1 A 0 A_JumpIfInventory("IsProtoMan",1,"ReadyProto")
		TNT1 A 0 A_JumpIfInventory("IsBass",1,"ReadyBass")
		TNT1 A 0 A_JumpIfInventory("IsDuo",1,"ReadyDuo")
		TNT1 A 1
		Goto Ready+1
		Deselect:
		"####" B 0
		Goto DeselectSwap
		DeselectX:
			"####" B 0
		Goto DeselectSwap
		Select:
			"####" B 0
		Goto DeselectSwap

		ReadyMega:
			H4ME A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttackCheck")
			H4ME A 1 A_WeaponReady
		Goto ReadyMega
		ReadyProto:
			H4PR A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttackCheck")
			H4PR A 1 A_WeaponReady
		Goto ReadyProto
		ReadyBass:
			H5BA A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttackCheck")
			H5BA A 1 A_WeaponReady
		Goto ReadyBass
		ReadyDuo:
			H5DU A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttackCheck")
			H5DU A 1 A_WeaponReady
		Goto ReadyDuo
		
		Fire:
			"####" B 0 A_JumpIfNoAmmo("NoAmmo")
			"####" A 0 A_JumpIfInventory("PowerGearPowerup",1,"GearCheck")
			"####" B 0 A_GiveInventory("MagnetBeamDieB_P",1)
			"####" B 0 A_PlaySoundEx("weapon/mbeam","Weapon")
			"####" B 1 A_JumpIfInventory("MagnetBeamDieB_P",3,"Fire.KillBeams")
		Goto Fire.Cont
		Fire.Cont:
			"####" C 0 A_GiveInventory("MagBeamColor_CI2")//A_FireCustomMissile("MagnetBeamInitB",0,1,8,0)
			"####" CC 2
		Goto Hold.A
		Fire.KillBeams:
			"####" C 2 A_GiveInventory("MagnetBeamDie2_P",1)
			"####" C 1 A_TakeInventory("MagnetBeamDieB_P",2)
			"####" C 0 A_GiveInventory("MagBeamColor_CI2")////A_FireCustomMissile("MagnetBeamInitB",0,1,8,0)
			"####" C 1
		Goto Hold.A
		Hold.A:
			"####" C 0 A_GiveInventory("CutterFlag",1)
			"####" C 0 A_JumpIfInventory("CutterFlag",45,"Fire.Detonate")
			"####" C 1 A_RailWait
			"####" C 0 A_JumpIfInventory("MagnetBeamAmmo",1,1) Goto Fire.Detonate
			"####" C 0 A_TakeInventory("MagnetBeamAmmo",1,1)
			"####" C 0 A_Refire("Hold.B")
		Goto Fire.Detonate
		Hold.B:
			"####" C 1 A_RailWait
			"####" C 0 A_Refire("Hold.C")
		Goto Fire.Detonate
		Hold.C:
			"####" C 1 A_RailWait
			"####" C 0 A_Refire("Hold.D")
		Goto Fire.Detonate
		Hold.D:
			"####" C 1 A_RailWait
			"####" C 0 A_Refire("Hold.A")
		Goto Fire.Detonate
		Fire.Detonate:
			"####" CDD 0 A_ClearRefire
			"####" C 0 A_WeaponReady(14)
			"####" C 0 A_TakeInventory("CutterFlag",999)
			"####" C 0 A_GiveInventory("MagnetBeamActivate_P",1)
			"####" C 3
			"####" C 10
			"####" B 5
			"####" B 0 A_TakeInventory("MagnetBeamNoFX")
		Goto Ready+1
		NoAmmo:
		"####" A 1 ACS_NamedExecuteAlways("core_noammo",0)
		Goto Ready+1
		
		GearCheck:
		"####" A 0 A_JumpIfInventory("MagnetBeamAmmo",9,"Fire.Gear")
		Goto Fire+2
		Fire.Gear:
		"####" B 0 A_PlaySoundEx("weapon/mbeam","Weapon")
		"####" C 0 A_PlaySoundEx("weapon/jupiteroldshock","Body")
		"####" C 0 A_TakeInventory("MagnetBeamAmmo",9)
		"####" C 0 A_FireCustomMissile("MagnetBeamInitB",0,0,8,0)
		"####" C 0 A_FireCustomMissile("MagnetBeamInitB",10,0,8,0)
		"####" C 0 A_FireCustomMissile("MagnetBeamInitB",30,0,8,0)
		
		"####" C 0 A_FireCustomMissile("MagnetBeamInitB",-10,0,8,0)
		"####" C 0 A_FireCustomMissile("MagnetBeamInitB",-30,0,8,0)
		
		"####" C 0 A_FireCustomMissile("MagnetBeamInitB",0,0,8,0,0,10)
		"####" C 0 A_FireCustomMissile("MagnetBeamInitB",10,0,8,0,0,7)
		"####" C 0 A_FireCustomMissile("MagnetBeamInitB",-10,0,8,0,0,7)
		"####" C 0 A_GiveInventory("MagnetBeamNoFX",1)
		"####" CD 2
		Goto Hold.A
	}
}



Actor MagnetBeamActivate_P : Powerup{Powerup.Duration 10}
Actor MagnetBeamDie2_P : Powerup{Powerup.Duration 3}
Actor MagnetBeamDieB_P : Inventory{Inventory.Amount 1 Inventory.MaxAmount 3}
Actor MagnetBeamNoFX : Inventory{Inventory.Amount 1 Inventory.MaxAmount 1}

Actor MagnetBeamInitB : BasicProjectile
{
	PROJECTILE
	RenderStyle "Translucent"
	Alpha 0.8
	+FORCEXYBILLBOARD
	+NOTARGETSWITCH
	//+RIPPER
	Scale 2.5
	Damage (20)
	DamageType "SparkShock"
	Obituary "$OB_MAGNETBEAM"
	Speed 40.40//33.40
	const float SPD = 40.40;
	Radius 6
	Height 8
	ReactionTime 75
	States
	{
		Spawn:
			TNT1 A 0
			TNT1 A 0 ACS_NamedExecuteWithResult("core_targetyawpitch",0,0)
			MBEA B 2 A_SetArg(0,CallACS("BinACS_GetTargetBeamCount"))
		Spawn_L:
			MBEA B 0 A_GiveInventory("MagnetBeamLoopB_CI",1)
			MBEA B 0 A_SpawnItemEx("MagnetBeamWaitB",0,0,0,0,0,0,0,1|SXF_TRANSFERPITCH|SXF_TRANSFERTRANSLATION)
		
		
			MBEA B 0 A_SpawnItemEx("MagnetBeamWaitB",Cos(pitch) * (SPD)/4,0,-sin(pitch) * (SPD)/4,0,0,0,0,1|SXF_TRANSFERPITCH|SXF_TRANSFERTRANSLATION)
			MBEA B 0 A_SpawnItemEx("MagnetBeamWaitB",Cos(pitch) * (SPD)/2,0,-sin(pitch) * (SPD)/2,0,0,0,0,1|SXF_TRANSFERPITCH|SXF_TRANSFERTRANSLATION)//The one that works
			MBEA B 0 A_SpawnItemEx("MagnetBeamWaitB",Cos(pitch) * ((SPD*75)/100),0,-sin(pitch) * ((SPD*75)/100),0,0,0,0,1|SXF_TRANSFERPITCH|SXF_TRANSFERTRANSLATION)
			
			//MBEA B 0 A_SpawnItemEx("MagnetBeamWaitB",(abs(momx)+ abs(momy))/4,0,momz/2,0,0,0,0,1|SXF_TRANSFERPITCH|SXF_TRANSFERTRANSLATION)//The one that works
			//MBEA B 0 A_SpawnItemEx("MagnetBeamWaitB",((abs(momx)+ abs(momy))/4) * 3,0,(momz/3)*2,0,0,0,0,1|SXF_TRANSFERPITCH|SXF_TRANSFERTRANSLATION)
			
			
			MBEA B 0 A_GiveInventory("MagnetBeamLoopB_CI",1)
			//MBEA B 0 A_SpawnItemEx("MagnetBeamFXBWeave2",0,-9,14,0,0,0,0,1,0,CallACS("core_gettarget") + (3000 + args[0]))
			//MBEA B 0 A_SpawnItemEx("MagnetBeamFXBWeave",0,0,14,0,0,0,0,1,0,CallACS("core_gettarget") + (3000 + args[0]))

			//MBEA B 0 A_SpawnItemEx("MagnetBeamFXBDead",frandom(-24,24),frandom(-24,24),frandom(-24,24),(-cos(pitch)*8),0,(sin(pitch)*8),0,1)

			MBEA B 0 A_GiveInventory("MagnetBeamLoopB_CI",1)
			MBEA B 1 A_CountDown

			MBEA B 0 A_JumpIf(CallACS("core_targetexists",0) == 0, "Death")
		Loop
		Solidify:
			TNT1 A 0 A_JumpIf(CallACS("core_targetexists",0) == 0, "Death")
			TNT1 AAA 0 A_SpawnItemEx("MagnetBeamFXB",frandom(-24,24),frandom(-24,24),frandom(-24,24),0,0,0,0,1)
			TNT1 A 0 A_SpawnItemEx("MagnetBeamSolidifiedB",0,0,0,0,0,0,0,1|SXF_TRANSFERSPECIAL|SXF_TRANSFERTRANSLATION)
			TNT1 A 2
		Stop

		Death:
			TNT1 AAAAA 0 A_SpawnItemEx("MagnetBeamFXBDead",frandom(-24,24),frandom(-24,24),frandom(-24,24),0,0,0,0,1|SXF_TRANSFERTRANSLATION)
			TNT1 A 2
		Stop
	}
}

Actor MagnetBeamWaitB : MagnetBeamInitB
{
	Speed 0
	ReactionTime 40
	damage (0)
	States
	{
		Spawn:
			TNT1 A 0
		Spawn_L:
			//MBEA B 0 A_SpawnItemEx("MagnetBeamFXBDead",frandom(-24,24),frandom(-24,24),frandom(-24,24),(-cos(pitch)*8),0,(sin(pitch)*8),0,1)
			//MBEA B 0 A_SetPitch(pitch+10 % 360)

			MBEA BBB 1 A_GiveInventory("MagnetBeamLoopB_CI",1)
			MBEA B 1 A_CountDown
			MBEA B 0 A_JumpIf(CallACS("core_targetexists",0) == 0, "Death")
		Loop
	}
}

Actor MagnetBeamLoopB_CI : CustomInventory
{
	States
	{
		Pickup:
			TNT1 A 0 A_JumpIf(CallACS("core_targetexists",0) == 0, "Death")
			TNT1 A 0 A_JumpIfInventory("MagnetBeamActivate_P",1,"Solidify",2)
			TNT1 A 0 A_JumpIfInventory("MagnetBeamDieB_P",0,"Death",2)
		Stop
		Solidify:
			TNT1 A 0 A_JumpIfInTargetInventory("MagnetBeamAmmo",1,3)
			TNT1 AAA 0 A_SpawnItemEx("MagnetBeamFXB",frandom(-24,24),frandom(-24,24),frandom(-24,24),0,0,0,0,1)
			TNT1 A 0 A_SpawnItemEx("MagnetBeamSolidifiedB",0,0,0,0,0,0,0,1|SXF_TRANSFERSPECIAL)
			TNT1 A 0 A_PlaySoundEx("weapon/magnetminefly","Body",1)
			TNT1 A 0 Thing_Remove(0)
		Stop
		Death:
			TNT1 AAAAA 0 A_SpawnItemEx("MagnetBeamFXBDead",frandom(-24,24),frandom(-24,24),frandom(-24,24),0,0,0,0,1)
			TNT1 A 0 Thing_Remove(CallACS("core_gettarget") + (3000 + args[0]))
			TNT1 A 0 Thing_Remove(0)
		Stop
	}
}

actor MagnetBeamSolidifiedB //: BasicProjectile
{
	Height 8
	Radius 6
	Scale 2.5
	+NOTARGETSWITCH
	+FORCEXYBILLBOARD
	+GHOST
	+NOGRAVITY
	+DONTRIP
	+CANTSEEK
	+MISSILE
	+TOUCHY
	-SHOOTABLE
	+NOTAUTOAIMED
	+NOBLOOD
	+DONTBLAST
	DamageFactor "ConcreteShot", 0.0
	DamageFactor "MagnetBeam", 0.0
	DamageFactor "VehicleHazard", 9999.0
	Species "MovingPlatform"
	Obituary "%o was beamed by %k's Magnet Beam."
	+THRUSPECIES
	Mass 9999
	ReactionTime 200
	damage (0)
	States
	{
		Spawn:
			MBEA B 0
			MBEA B 0 //A_ClearTarget
			MBEA B 1 A_JumpIfCloser(32,"Death")
			MBEA B 0 A_ChangeFlag(TOUCHY, false)
			MBEA B 0 A_ChangeFlag(MISSILE, false)
			MBEA B 0 A_ChangeFlag(SOLID, true)
		Spawn_L:
			MBEA B 2 A_JumpIfInventory("MagnetBeamDieB_P",0,"Death",2)
			MBEA B 0 A_CountDown
			MBEA B 2 A_JumpIfInventory("MagnetBeamDieB_P",0,"Death",2)
			MBEA B 0 A_CountDown
			MBEA B 1 A_JumpIfInventory("MagnetBeamDieB_P",0,"Death",2)
			MBEA B 0 A_CountDown
			MBEA B 0 A_JumpIf(CallACS("core_targetexists",0) == 0, "Death")
		Loop
		Death:
			TNT1 A 0 A_NoBlocking
			TNT1 A 0 Thing_Remove(CallACS("core_gettarget") + (3000 + args[0]))
			TNT1 AAAAA 0 A_SpawnItemEx("MagnetBeamFXBDead",frandom(-24,24),frandom(-24,24),frandom(-24,24),0,0,0,0,1)
			TNT1 A 2
		Stop
	}
}

Actor MagnetBeamFXB : BasicGraphicEffect
{
	+FORCEXYBILLBOARD
	//RenderStyle "Add"
	States
	{
		Spawn:
		SpawnLoop:
			TNT1 A 0
			TNT1 A 1 A_Jump(256,"SpawnA","SpawnB")
		Goto SpawnA
		SpawnA:
			MFX9 D 0
		Goto Spawn_L
		SpawnB:
			MFX9 E 0
		Goto Spawn_L
		Spawn_L:
			MFX9 "#" 0 A_JumpIf(Alpha <= 0 || ScaleX <= 0 || ScaleY <= 0, "Death")
			MFX9 "#" 1 A_SetScale(ScaleX+0.02,ScaleY-0.01)
			MFX9 "#" 0 A_FadeOut(0.06)
		Loop
		Death:
			TNT1 A 0
		Stop
	}
}
Actor MagnetBeamFXBDead : MagnetBeamFXB
{
	Scale 2.0
	+FLOATBOB
}
Actor MagnetBeamFXBWeave : MagnetBeamFXBDead
{
	Accuracy 1
	const int MAX_MB_VERT = 2.85;
	const int MAX_MB_HORI = 2.85;
	const int INC_MB_HORI = 2.1;
	const int INC_MB_VERT = 2.1;
	States
	{
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_SetTranslucent(0.45)
			TNT1 A 0 A_SetArg(0,418)
			TNT1 A 1 A_Jump(256,"SpawnA","SpawnB")
		Goto SpawnA
		SpawnA:
			MFX9 D 0
		Goto Spawn_L
		SpawnB:
			MFX9 E 0
		Goto Spawn_L
		Spawn_L:
			MFX9 "#" 0 A_SetArg(1,args[1]+1)
			MFX9 "#" 1 A_Weave(Accuracy*INC_MB_HORI,INC_MB_VERT,MAX_MB_HORI,MAX_MB_VERT)
			MFX9 "#" 0 A_SetArg(1,args[1]+1)
			MFX9 "#" 0 A_CountdownArg(0,"Death")
			MFX9 "#" 0 A_JumpIfInventory("MagnetBeamActivate_P",1,"Spawn_L2S",2)
			MFX9 "#" 0 A_JumpIfInventory("MagnetBeamDie2_P",1,"Death",2)
		Loop
		Spawn_L2S:
			MFX9 "#" 0 A_SetArg(0,206 - (args[1]*0.47))
			MFX9 "#" 0 A_SetTranslucent(1.0)
		Spawn_L2:
			MFX9 "#" 1 A_Weave(Accuracy*INC_MB_HORI,INC_MB_VERT,MAX_MB_HORI,MAX_MB_VERT)
			MFX9 "#" 0 A_JumpIfInventory("MagnetBeamDie2_P",1,"Death",2)
			MFX9 "#" 0 A_JumpIf(args[0] <= 20, "Fade")
			MFX9 "#" 0 A_SetArg(0,args[0]-1)
		Loop
		Fade:
			MFX9 "#" 1 A_Weave(Accuracy*INC_MB_HORI,INC_MB_VERT,MAX_MB_HORI,MAX_MB_VERT)
			MFX9 "#" 0 A_FadeOut(0.06)
		Loop
	}
}

Actor MagnetBeamFXBWeave2 : MagnetBeamFXBWeave{Accuracy -1}



actor MagBeamColor_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsProtoMan",1,"Pickup2")
TNT1 A 0 A_JumpIfInventory("IsBass",1,"Pickup3")
TNT1 A 0 A_JumpIfInventory("IsDuo",1,"Pickup4")
TNT1 A 0 ACS_NamedExecuteWithResult("core_weaponcolor",CLR_MEGABUSTER)
stop

Pickup2:
TNT1 A 0 ACS_NamedExecuteWithResult("core_weaponcolor",CLR_PROTOBUSTER)
stop

Pickup3:
TNT1 A 0 ACS_ExecuteAlways(998,0,46)
stop

Pickup4:
TNT1 A 0 ACS_ExecuteAlways(998,0,10875)
stop
}
}

actor MagBeamColor_CI2 : CustomInventory
{
	States
	{
	Pickup:
	TNT1 A 0 A_JumpIfInventory("IsProtoMan",1,"Pickup2")
	TNT1 A 0 A_JumpIfInventory("IsBass",1,"Pickup3")
	TNT1 A 0 A_JumpIfInventory("IsDuo",1,"Pickup4")
	TNT1 A 0 A_FireCustomMissile("MagnetBeamInitB",0,1,8,0)
	stop
	Pickup2:
	TNT1 A 0 A_FireCustomMissile("MagnetBeamInitBPro",0,1,8,0)
	stop

	Pickup3:
	TNT1 A 0 A_FireCustomMissile("MagnetBeamInitBBass",0,1,8,0)
	stop

	Pickup4:
	TNT1 A 0 A_FireCustomMissile("MagnetBeamInitBDuo",0,1,8,0)
	stop
	}
}

actor MagnetBeamInitBPro : MagnetBeamInitB
{
Translation "192:192=87:87", "198:198=42:42"
}
actor MagnetBeamInitBBass : MagnetBeamInitB
{
Translation "192:192=217:217", "198:198=95:95"
}
actor MagnetBeamInitBDuo : MagnetBeamInitB
{
Translation "192:192=220:220", "198:198=195:195"
}

actor MagnetBeamWepM : MagnetBeamWep
{
States
{
Altfire:
"####" A 0 A_JumpIfInventory("IsDuo",1,"DashDash.Duo")
"####" A 0 A_JumpIf(z-floorz==0,"WhichSlide")
Goto Ready+1
WhichSlide: 
"####" A 0 A_JumpIfInventory("IsMegaman",1,"SlideSlide.MegaMan")
"####" A 0 A_JumpIfInventory("IsProtoman",1,"SlideSlide.ProtoMan")
"####" A 0 A_JumpIfInventory("IsBass",1,"DashDash.Bass")
Goto Ready+1

SlideSlide.MegaMan:
"####" C 0 A_GiveInventory("SlideThrust",1)
"####" CDDEEEFFFFFFFF 1
"####" E 3 SetPlayerProperty(0,0,0)
"####" C 3 A_TakeInventory("MegaSlide",1)
Goto Ready+1

SlideSlide.ProtoMan:
"####" C 0 A_GiveInventory("SlideThrust",1)
"####" CDDEEEFFFFFFFF 1
"####" E 3 SetPlayerProperty(0,0,0)
"####" C 3 A_TakeInventory("MegaSlide",1)
Goto Ready+1

DashDash.Bass:
"####" C 0 A_JumpIfInventory("BassDashCoolDown",1,"NoDash")
"####" C 0 A_JumpIfInventory("NoAltfire",1,"NoDash")
Goto BassDash
NoDash:
"####" C 0
Goto Ready+1
BassDash:
"####" C 2
"####" C 0 A_GiveInventory("BassAltPickUp",1)
"####" EFF 2 A_spawnItemEx("BassDashDustV",-16)
"####" FFFED 2
"####" E 0 A_JumpIf(z-floorz>0, "AirHold")
Goto BassDashFinish
AirHold:
"####" A 0 A_JumpIf(z-floorz<=0, "BassDashFinish")
"####" A 1 A_WeaponReady(WRF_NOSECONDARY)
loop
BassDashFinish:
"####" A 1
Goto Ready+1

DashDash.Duo:
"####" A 0 A_JumpIfInventory("ShoulderTackleCooldown",1,"NoAlt")
"####" A 0 A_JumpIfInventory("NoAltfire",1,"NoAlt")
"####" A 0 A_GiveInventory("DuoAltfirePickUp",1)
"####" C 1 Offset(-120,39)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(-60,35)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(20,33)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(22,35)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(24,36)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(26,37)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(26,38)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(26,39)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(26,40)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(26,41)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(26,42)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(24,43)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(22,44)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(20,45)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(15,46)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" C 1 Offset(10,47)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" E 1 Offset(-15,49)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" E 1 Offset(-39,51)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" E 1 Offset(-78,53)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" Z 1 Offset(-78,200)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" Z 1 Offset(-78,200)ACS_NamedExecuteWithResult("VC_SetState",2) "####" A 0 A_SpawnItemEx("ShoulderTackleHitBox",0,0,0,momx,momy,momz)
"####" A 1 Offset(78,98)ACS_NamedExecuteWithResult("VC_SetState",0)
"####" A 1 Offset(39,62)SetPlayerProperty(0,0,4)
"####" A 1 Offset(15,41)
NoAlt:
"####" A 2
Goto Ready+1
}
}