actor ArchWoolReload
{
	Translation "198:198=36:36", "192:192=248:248"
	PROJECTILE
	+NOGRAVITY
	+DONTBLAST
	+DONTREFLECT
	+NOTARGETSWITCH
	+NOINTERACTION
	+NOCLIP
	Obituary "$OB_SHEEPARC"
	DamageType "DMGNoHitstun"
	Radius 15
	Height 12
	scale 2.5
	damage (0)
	speed 40
	var int user_angle;
	var int user_rotate;
	reactiontime 26
	States
	{
		Spawn:
		SHPC A 0
		SHPC A 0 A_RearrangePointers(0,0,2)
		Spawn2:

		SHPC A 1 A_Warp(AAPTR_TARGET, 21, 0, 0, user_angle, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		SHPC B 1 A_Warp(AAPTR_TARGET, 42, 0, 0, user_angle, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		SHPC A 1 A_Warp(AAPTR_TARGET, 64, 0, 0, user_angle, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		SHPC A 0 A_Stop
		Spawn3:
		SHPC C 0 A_PlaySound("weapon/woolshock", "Body", 0.6)
		SHPC C 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC D 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC C 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)		
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC D 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)		
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC C 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)		
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC D 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)		
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		TNT1 A 0 A_Countdown
		loop
		
		Death:
		SHPC A 1 A_SetTranslucent(0.9)
		SHPC A 1 A_SetTranslucent(0.8)
		SHPC B 1 A_SetTranslucent(0.7)
		SHPC B 1 A_SetTranslucent(0.6)
		SHPC A 1 A_SetTranslucent(0.5)
		SHPC A 1 A_SetTranslucent(0.4)
		SHPC B 1 A_SetTranslucent(0.3)
		SHPC B 1 A_SetTranslucent(0.2)
		SHPC A 1 A_SetTranslucent(0.1)
		SHPC A 1 A_SetTranslucent(0)
		stop
	}
}

actor ArchWoolReloadB : ArchWoolReload{Translation "192:192=205:205","198:198=74:74"}
actor ArchWoolReloadR : ArchWoolReload{Translation "192:192=171:171","198:198=41:41"}
actor ArchWoolReloadO : ArchWoolReload{Translation "192:192=104:104","198:198=128:128"}
actor ArchWoolReloadP : ArchWoolReload{Translation "192:192=229:229","198:198=232:232"}

actor ArchWoolReload2
{
	Translation "198:198=36:36", "192:192=248:248"
	PROJECTILE
	+NOGRAVITY
	+DONTBLAST
	+DONTREFLECT
	+NOTARGETSWITCH
	+NOINTERACTION
	+NOCLIP
	Obituary "$OB_SHEEPARC"
	DamageType "DMGNoHitstun"
	Radius 15
	Height 12
	scale 2.5
	damage (0)
	speed 40
	var int user_angle;
	var int user_rotate;
	reactiontime 26
	States
	{
		Spawn:
		SHPC A 0
		SHPC A 0 A_RearrangePointers(0,0,2)
		Spawn2:
		SHPC A 1 A_Warp(AAPTR_TARGET, 21, 0, 0, user_angle+180, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		SHPC B 1 A_Warp(AAPTR_TARGET, 42, 0, 0, user_angle+180, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		SHPC A 1 A_Warp(AAPTR_TARGET, 64, 0, 0, user_angle+180, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		SHPC A 0 A_Stop
		Spawn3:
		SHPC C 0 A_PlaySound("weapon/woolshock", "Body", 0.6)
		SHPC C 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+180, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)			
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)		
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC D 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+180, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)			
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)		
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC C 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+180, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)			
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)		
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC D 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+180, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)		
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC C 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+180, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)		
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC D 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+180, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)		
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		TNT1 A 0 A_Countdown
		loop
		
		Death:
		SHPC A 1 A_SetTranslucent(0.9)
		SHPC A 1 A_SetTranslucent(0.8)
		SHPC B 1 A_SetTranslucent(0.7)
		SHPC B 1 A_SetTranslucent(0.6)
		SHPC A 1 A_SetTranslucent(0.5)
		SHPC A 1 A_SetTranslucent(0.4)
		SHPC B 1 A_SetTranslucent(0.3)
		SHPC B 1 A_SetTranslucent(0.2)
		SHPC A 1 A_SetTranslucent(0.1)
		SHPC A 1 A_SetTranslucent(0)
		stop
	}
}

actor ArchWoolReload2B : ArchWoolReload2{Translation "192:192=205:205","198:198=74:74"}
actor ArchWoolReload2R : ArchWoolReload2{Translation "192:192=171:171","198:198=41:41"}
actor ArchWoolReload2O : ArchWoolReload2{Translation "192:192=104:104","198:198=128:128"}
actor ArchWoolReload2P : ArchWoolReload2{Translation "192:192=229:229","198:198=232:232"}

actor ArchWoolReload3
{
	Translation "198:198=36:36", "192:192=248:248"
	PROJECTILE
	+NOGRAVITY
	+DONTBLAST
	+DONTREFLECT
	+NOTARGETSWITCH
	+NOINTERACTION
	+NOCLIP
	Obituary "$OB_SHEEPARC"
	DamageType "DMGNoHitstun"
	Radius 15
	Height 12
	scale 2.5
	damage (0)
	speed 40
	var int user_angle;
	var int user_rotate;
	reactiontime 26
	States
	{
		Spawn:
		SHPC A 0
		SHPC A 0 A_RearrangePointers(0,0,2)
		Spawn2:
		SHPC A 1 A_Warp(AAPTR_TARGET, 21, 0, 0, user_angle+90, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		SHPC B 1 A_Warp(AAPTR_TARGET, 42, 0, 0, user_angle+90, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		SHPC A 1 A_Warp(AAPTR_TARGET, 64, 0, 0, user_angle+90, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		SHPC A 0 A_Stop
		Spawn3:
		SHPC C 0 A_PlaySound("weapon/woolshock", "Body", 0.6)
		SHPC C 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+90, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)			
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)		
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC D 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+90, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)		
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)		
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC C 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+90, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)		
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC D 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+90, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)		
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC C 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+90, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC D 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+90, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)			
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		TNT1 A 0 A_Countdown
		loop
		
		Death:
		SHPC A 1 A_SetTranslucent(0.9)
		SHPC A 1 A_SetTranslucent(0.8)
		SHPC B 1 A_SetTranslucent(0.7)
		SHPC B 1 A_SetTranslucent(0.6)
		SHPC A 1 A_SetTranslucent(0.5)
		SHPC A 1 A_SetTranslucent(0.4)
		SHPC B 1 A_SetTranslucent(0.3)
		SHPC B 1 A_SetTranslucent(0.2)
		SHPC A 1 A_SetTranslucent(0.1)
		SHPC A 1 A_SetTranslucent(0)
		stop
	}
}

actor ArchWoolReload3B : ArchWoolReload3{Translation "192:192=205:205","198:198=74:74"}
actor ArchWoolReload3R : ArchWoolReload3{Translation "192:192=171:171","198:198=41:41"}
actor ArchWoolReload3O : ArchWoolReload3{Translation "192:192=104:104","198:198=128:128"}
actor ArchWoolReload3P : ArchWoolReload3{Translation "192:192=229:229","198:198=232:232"}

actor ArchWoolReload4
{
	Translation "198:198=36:36", "192:192=248:248"
	PROJECTILE
	+NOGRAVITY
	+DONTBLAST
	+DONTREFLECT
	+NOTARGETSWITCH
	+NOINTERACTION
	+NOCLIP
	Obituary "$OB_SHEEPARC"
	DamageType "DMGNoHitstun"
	Radius 15
	Height 12
	scale 2.5
	damage (0)
	speed 40
	var int user_angle;
	var int user_rotate;
	reactiontime 26
	States
	{
		Spawn:
		SHPC A 0
		SHPC A 0 A_RearrangePointers(0,0,2)
		Spawn2:
		SHPC A 1 A_Warp(AAPTR_TARGET, 21, 0, 0, user_angle+270, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		SHPC B 1 A_Warp(AAPTR_TARGET, 42, 0, 0, user_angle+270, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		SHPC A 1 A_Warp(AAPTR_TARGET, 64, 0, 0, user_angle+270, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		SHPC A 0 A_Stop
		Spawn3:
		SHPC C 0 A_PlaySound("weapon/woolshock", "Body", 0.6)
		SHPC C 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+270, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC D 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+270, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC C 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+270, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC D 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+270, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC C 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+270, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		SHPC D 1 A_Warp(AAPTR_TARGET, 64+user_rotate, 0, 0, user_angle+270, WARPF_ABSOLUTEANGLE|WARPF_NOCHECKPOSITION|WARPF_INTERPOLATE)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,0,0,0,0,1)
		TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,momx,momy,-10,0,552)
		TNT1 A 0 A_SetUserVar("user_angle", user_angle + 12)
		TNT1 A 0 A_SetUserVar("user_rotate", user_rotate + 2)				
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
		TNT1 A 0 A_Countdown
		loop
		
		Death:
		SHPC A 1 A_SetTranslucent(0.9)
		SHPC A 1 A_SetTranslucent(0.8)
		SHPC B 1 A_SetTranslucent(0.7)
		SHPC B 1 A_SetTranslucent(0.6)
		SHPC A 1 A_SetTranslucent(0.5)
		SHPC A 1 A_SetTranslucent(0.4)
		SHPC B 1 A_SetTranslucent(0.3)
		SHPC B 1 A_SetTranslucent(0.2)
		SHPC A 1 A_SetTranslucent(0.1)
		SHPC A 1 A_SetTranslucent(0)
		stop
	}
}

actor ArchWoolReload4B : ArchWoolReload4{Translation "192:192=205:205","198:198=74:74"}
actor ArchWoolReload4R : ArchWoolReload4{Translation "192:192=171:171","198:198=41:41"}
actor ArchWoolReload4O : ArchWoolReload4{Translation "192:192=104:104","198:198=128:128"}
actor ArchWoolReload4P : ArchWoolReload4{Translation "192:192=229:229","198:198=232:232"}

actor SheepHold
{
Translation "198:198=36:36", "192:192=248:248"
PROJECTILE
Renderstyle Translucent
Alpha 0.35
Obituary "$OB_SHEEPBOLT"
damagetype "DMGNoHitstun"
+THRUSPECIES
+NOCLIP
+NOINTERACTION
species "ThunderWoolBoss"
Damage (0)
radius 5
height 5
Speed 60
scale 2.5
States
{
Spawn:
SHPC A 0
SpawnLoop:
SHPC C 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
SHPC C 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
SHPC C 0 A_JumpIfInTargetInventory("SheepHoldChecker",1,"Death")
SHPC C 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 16 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
SHPC C 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
SHPC C 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
SHPC C 0 A_JumpIfInTargetInventory("SheepHoldChecker",1,"Death")
SHPC C 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 16 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
SHPC C 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
SHPC C 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
SHPC C 0 A_JumpIfInTargetInventory("SheepHoldChecker",1,"Death")
SHPC C 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 16 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
SHPC D 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
SHPC D 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
SHPC D 0 A_JumpIfInTargetInventory("SheepHoldChecker",1,"Death")
SHPC D 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 16 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
SHPC D 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
SHPC D 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
SHPC D 0 A_JumpIfInTargetInventory("SheepHoldChecker",1,"Death")
SHPC D 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 16 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
SHPC D 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
SHPC D 0 A_SetPitch(CallACS("Bull_CheckFor",AAPTR_Target,4), 0)
SHPC D 0 A_JumpIfInTargetInventory("SheepHoldChecker",1,"Death")
SHPC D 0 A_Warp(AAPTR_Target, 96*cos(pitch), 0, 16 + 96*sin(-pitch), 0, WARPF_NOCHECKPOSITION)
loop
Death:
SHPC A 1 A_SetTranslucent(0.4)
SHPC A 1 A_SetTranslucent(0.3)
SHPC B 1 A_SetTranslucent(0.2)
SHPC B 1 A_SetTranslucent(0.1)
SHPC A 1 A_SetTranslucent(0)
stop
}
}

actor SheepHoldB : SheepHold{Translation "192:192=205:205","198:198=74:74"}
actor SheepHoldR : SheepHold{Translation "192:192=171:171","198:198=41:41"}
actor SheepHoldO : SheepHold{Translation "192:192=104:104","198:198=128:128"}
actor SheepHoldP : SheepHold{Translation "192:192=229:229","198:198=232:232"}

// [BG] + 32 on the zofs so its actually relative to the player
// Also changed 256*sin for 96*sin so it actually warps in a circle
// change the + 32 if you want it to spawn higher/lower
// add a (+ something) on the xoff to make it have a set range

//weapon/woolshock RAINLTNG
//weapon/woolrise THNDWOL
//weapon/woolfire THDWOLE

actor SheepBolter : FastProjectile
{
PROJECTILE
Translation "199:199=218:218", "202:202=212:212"
damagetype "SheepM_Bolt"
Obituary "$OB_SHEEPBOLT"
Damage (6)
radius 8
height 8
+FLOATBOB
Speed 60
scale 2.50
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0 A_PlaySoundEx("weapon/woolfire", "Weapon")
TNT1 A 1
Spawn2:
TWOR AB 2
loop


Death:
TNT1 A 1
stop
}
}

actor SheepBolterB : SheepBolter{Translation "202:202=205:205","199:199=74:74"}
actor SheepBolterR : SheepBolter{Translation "202:202=171:171","199:199=41:41"}
actor SheepBolterO : SheepBolter{Translation "202:202=104:104","199:199=128:128"}
actor SheepBolterP : SheepBolter{Translation "202:202=229:229","199:199=232:232"}

actor ArchOfWool
{
Translation "198:198=36:36", "192:192=248:248", "199:199=218:218", "202:202=212:212"
PROJECTILE
Renderstyle Translucent
Alpha 0.5
Bouncetype Hexen
+THRUACTORS
+DONTBLAST
+SKYEXPLODE
+BOUNCEONWALLS
+USEBOUNCESTATE
+NOTARGETSWITCH
+NOGRAVITY
BounceFactor 0.5
WallBounceFactor 0.5
speed 15
scale 2.5
Radius 16
Height 16
gravity 1
Species "ThunderWoolBoss"
reactiontime 10
states
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
SHPC A 0
SHPC A 0 A_PlaySoundEx("weapon/woolrise", "Body")
Ready:
SHPC A 1 A_SetTranslucent(0.6)
SHPC A 1 A_SetTranslucent(0.7)
SHPC A 1 A_SetTranslucent(0.8)
SHPC A 1 A_SetTranslucent(0.9) 
SHPC B 1 A_SetTranslucent(1)
SHPC B 1
SHPC B 1
SHPC B 1
See:
SHPC C 0 A_PlaySoundEx("weapon/woolshock", "Weapon")
SHPC C 1 A_SpawnItemEx("ArchWoolProjectile",0,0,0,0,0,0,0,1)
SHPC C 0 A_SpawnItemEx("ArchWoolProjectileExplosion",0,0,0,momx,momy,-10,0,552)
SHPC C 0 A_JumpIfInTargetInventory("SheepItemCheck",1,"SeeEnd")
SHPC C 0 ThrustThingZ(0,2,0,1)
SHPC C 0 A_Recoil(-1)
SHPC D 1 A_SpawnItemEx("ArchWoolProjectile2",0,0,0,0,0,0,0,1)
SHPC D 0 A_SpawnItemEx("ArchWoolProjectileExplosion",0,0,0,momx,momy,-10,0,552)
SHPC D 0 A_JumpIfInTargetInventory("SheepItemCheck",1,"SeeEnd")
SHPC D 0 ThrustThingZ(0,2,0,1)
SHPC D 0 A_Recoil(-1)
SHPC C 1 A_SpawnItemEx("ArchWoolProjectile",0,0,0,0,0,0,0,1)
SHPC C 0 A_SpawnItemEx("ArchWoolProjectileExplosion",0,0,0,momx,momy,-10,0,552)
SHPC C 0 A_JumpIfInTargetInventory("SheepItemCheck",1,"SeeEnd")
SHPC C 0 ThrustThingZ(0,2,0,1)
SHPC C 0 A_Recoil(-1)
SHPC D 1 A_SpawnItemEx("ArchWoolProjectile2",0,0,0,0,0,0,0,1)
SHPC D 0 A_SpawnItemEx("ArchWoolProjectileExplosion",0,0,0,momx,momy,-10,0,552)
SHPC D 0 A_JumpIfInTargetInventory("SheepItemCheck",1,"SeeEnd")
SHPC D 0 ThrustThingZ(0,2,0,1)
SHPC D 0 A_Recoil(-1)
SHPC C 1 A_SpawnItemEx("ArchWoolProjectile",0,0,0,0,0,0,0,1)
SHPC C 0 A_SpawnItemEx("ArchWoolProjectileExplosion",0,0,0,momx,momy,-10,0,552)
SHPC C 0 A_JumpIfInTargetInventory("SheepItemCheck",1,"SeeEnd")
SHPC C 0 ThrustThingZ(0,2,0,1)
SHPC C 0 A_Recoil(-1)
SHPC D 1 A_SpawnItemEx("ArchWoolProjectile2",0,0,0,0,0,0,0,1)
SHPC D 0 A_SpawnItemEx("ArchWoolProjectileExplosion",0,0,0,momx,momy,-10,0,552)
SHPC D 0 A_JumpIfInTargetInventory("SheepItemCheck",1,"SeeEnd")
SHPC D 0 ThrustThingZ(0,2,0,1)
SHPC D 0 A_Recoil(-1)
SHPC D 0 A_Countdown
goto See

SeeEnd:
SHPC C 0 A_Stop
SHPC C 0 A_PlaySoundEx("weapon/woolshock", "Weapon")
SHPC CDC 1 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,0,0,0,0,1)
SHPC C 0 A_SpawnItemEx("ArchWoolProjectileEndExplode",0,0,0,0,0,0,0,1)
SHPC C 0 A_PlaySoundEx("weapon/woolshock", "Weapon")
SHPC DCD 1 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,0,0,0,0,1)
SHPC D 0 A_SpawnItemEx("ArchWoolProjectileEndExplode2",0,0,0,0,0,0,0,1)
SHPC D 0 A_PlaySoundEx("weapon/woolshock", "Weapon")
SHPC CDC 1 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,0,0,0,0,1)
SHPC C 0 A_SpawnItemEx("ArchWoolProjectileEndExplode",0,0,0,0,0,0,0,1)
SHPC C 0 A_PlaySoundEx("weapon/woolshock", "Weapon")
SHPC DCD 1 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,0,0,0,0,1)
SHPC D 0 A_SpawnItemEx("ArchWoolProjectileEndExplode2",0,0,0,0,0,0,0,1)
goto Death

Death:
SHPC A 1 A_SetTranslucent(0.9)
SHPC A 1 A_SetTranslucent(0.8)
SHPC B 1 A_SetTranslucent(0.7)
SHPC B 1 A_SetTranslucent(0.6)
SHPC A 1 A_SetTranslucent(0.5)
SHPC A 1 A_SetTranslucent(0.4)
SHPC B 1 A_SetTranslucent(0.3)
SHPC B 1 A_SetTranslucent(0.2)
SHPC A 1 A_SetTranslucent(0.1)
SHPC A 1 A_SetTranslucent(0)
stop
}
}

actor ArchOfWoolB : ArchOfWool{Translation "192:192=205:205","198:198=74:74","202:202=205:205","199:199=74:74"}
actor ArchOfWoolR : ArchOfWool{Translation "192:192=171:171","198:198=41:41","202:202=171:171","199:199=41:41"}
actor ArchOfWoolO : ArchOfWool{Translation "192:192=104:104","198:198=128:128","202:202=104:104","199:199=128:128"}
actor ArchOfWoolP : ArchOfWool{Translation "192:192=229:229","198:198=232:232","202:202=229:229","199:199=232:232"}

actor ArchWoolProjectile
{
Translation "198:198=218:218", "202:202=212:212"
PROJECTILE
Obituary "$OB_SHEEPARC"
damagetype "ArchOfWool"
+THRUSPECIES
+DONTBLAST
+DONTREFLECT
+FORCEYBILLBOARD
+CLIENTSIDEONLY
Species "ThunderWoolBoss"
Damage (0)
Radius 16
Height 16
Speed 1
scale 2.5
States
{
Spawn:
XW_W J 0
XW_W J 0 ThrustThingZ(0,-20,0,1)
XW_W J 0 A_SpawnItemEx("ArchWoolProjectile2",0,0,0,momx,momy,momz,0,553)
XW_W J 0 A_SpawnItemEx("ArchWoolProjectileExplosion",0,0,0,momx,momy,momz,0,552)
XW_W J 1 A_Stop
Stop

Death:
TNT1 A 0 A_PlaySound("woolfire",1,0.75)
XW_W LM 1
stop
}
}

actor ArchWoolProjectile2 : ArchWoolProjectile
{
States
{
Spawn:
XW_W K 0
XW_W K 0 ThrustThingZ(0,-20,0,1)
XW_W K 0 A_SpawnItemEx("ArchWoolProjectile",0,0,0,momx,momy,momz,0,553)
XW_W K 1 A_Stop
Stop

Death:
TNT1 A 0 A_PlaySound("woolfire",1,0.75)
XW_W LM 1
stop
}
}

actor ArchWoolProjectileExplosion
{
PROJECTILE
Species "ThunderWoolBoss"
Obituary "$OB_SHEEPARC"
damagetype "ArchOfWool"
+THRUACTORS
+THRUSPECIES
+THRUGHOST
+DONTBLAST
+DONTREFLECT
+SERVERSIDEONLY
renderstyle none
damage (0)
Radius 8
Height 8
speed 51
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion",0,0,0,0,0,momz,0,552)
TNT1 A 0 A_Stop
TNT1 A 1 A_Explode(7,32,0,0,33)
stop
Death:
TNT1 A 1
stop
}
}

actor ArchWoolProjectile3 : ArchWoolProjectile
{
States
{
Spawn:
XW_W J 0
XW_W J 0 ThrustThingZ(0,-20,0,1)
XW_W J 0 A_SpawnItemEx("ArchWoolProjectile4",0,0,0,momx,momy,momz,0,553)
XW_W J 1 A_Stop
Stop

Death:
TNT1 A 0 A_PlaySound("woolfire",1,0.75)
XW_W LMLM 1
stop
}
}

actor ArchWoolProjectile4 : ArchWoolProjectile
{
States
{
Spawn:
XW_W K 0
XW_W K 0 ThrustThingZ(0,-20,0,1)
XW_W K 0 A_SpawnItemEx("ArchWoolProjectile3",0,0,0,momx,momy,momz,0,553)
XW_W K 1 A_Stop
Stop

Death:
TNT1 A 0 A_PlaySound("woolfire",1,0.75)
XW_W LMLM 1
stop
}
}

actor ArchWoolProjectileExplosion2
{
PROJECTILE
Species "ThunderWoolBoss"
Obituary "$OB_SHEEPARC"
damagetype "ArchOfWool"
+THRUACTORS
+THRUSPECIES
+THRUGHOST
+DONTBLAST
+DONTREFLECT
+SERVERSIDEONLY
renderstyle none
damage (0)
Radius 8
Height 8
speed 51
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("ArchWoolProjectileExplosion2",0,0,0,0,0,momz,0,552)
TNT1 A 0 A_Stop
TNT1 A 1 A_Explode(3,32,0,0,32)
stop
Death:
TNT1 A 1
stop
}
}

actor ArchWoolProjectileEndExplode
{
Translation "199:199=218:218", "202:202=212:212"
PROJECTILE
Obituary "$OB_SHEEPSTRIKE"
damagetype "DMGNoHitstun"
+THRUACTORS
+THRUSPECIES
+DONTBLAST
+DONTREFLECT
+FORCEYBILLBOARD
Species "ThunderWoolBoss"
Damage (0)
Radius 8
Height 8
Speed 1
scale 3.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ThrustThingZ(0,-1000,0,1)
Spawn2:
TNT1 A 1
loop

Death:
TNT1 A 0 A_PlaySound("woolfire",1,0.75)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,45,1)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,90,1)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,135,1)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,180,1)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,225,1)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,270,1)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,315,1)
TNT1 A 1
stop
}
}

actor ArchWoolProjectileEndExplode2
{
Translation "199:199=218:218", "202:202=212:212"
PROJECTILE
Obituary "$OB_SHEEPSTRIKE"
damagetype "DMGNoHitstun"
+THRUACTORS
+THRUSPECIES
+DONTBLAST
+DONTREFLECT
+FORCEYBILLBOARD
Species "ThunderWoolBoss"
Damage (0)
Radius 8
Height 8
Speed 1
scale 3.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ThrustThingZ(0,-1000,0,1)
Spawn2:
TNT1 A 1
loop

Death:
TNT1 A 0 A_PlaySound("woolfire",1,0.75)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,22.5,1)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,67.5,1)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,112.5,1)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,157.5,1)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,202.5,1)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,247.5,1)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,292.5,1)
TNT1 A 0 A_SpawnItemEx("SheepBolter2",0,0,5,35,0,0,337.5,1)
TNT1 A 1
stop
}
}

actor SheepBolter2
{
PROJECTILE
Translation "199:199=218:218", "202:202=212:212"
damagetype "ArchOfWoolGround"
Obituary "$OB_SHEEPSTRIKE"
Damage (5)
radius 12
height 12
Speed 39
scale 2
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0 A_PlaySoundEx("weapon/woolfire", "Weapon")
TWOR A 1
TWOR A 1
TWOR B 1
TWOR B 1
TWOR A 1
TWOR A 1
TWOR B 1
TWOR B 1
TWOR A 1// A_SetScale(ScaleX-0.25)
TWOR A 1

Death:
TNT1 A 1
stop
}
}