//==============================================================================
// Schallkraftwerk
//==============================================================================

ACTOR HDSonicGun : KriegslandMediumWeapon
{
	+WEAPON.NOAUTOFIRE
	+INVENTORY.UNDROPPABLE
	Weapon.SelectionOrder 1100
	Weapon.AmmoUse 5
	Weapon.SlotNumber 6
	Weapon.AmmoGive 30
	Weapon.AmmoType "BOBT1"
	Inventory.Pickupmessage "You got the Schallkraftwerk!"
	Inventory.PickupSound 	"weapons/generic/pickup3"
	Tag "Schallkraftwerk"
	Scale 0.7
	States
	{
	Deselect:
		NULL A 0 A_StopSound(6)
		NULL A 0 A_StopSound(7)
		WPJG A 1 Offset(2, 34)
		WPJG A 1 Offset(7, 39)
		WPJG A 1 Offset(10, 47)
		WPJG A 1 Offset(22, 58)
		WPJG A 1 Offset(32, 69)
		WPJG A 1 Offset(54, 81)
		WPJG A 1 Offset(67, 100)
		WPJG A 1 A_Lower
		Wait 
	Ready:
		TNT1 A 0 A_PlaySound("weapons/SWX/idle",6,1,1)
		WPJG A 1 A_WeaponReady
		NULL A 0 A_JumpifInventory("IsKicking",1,"Kick")
		NULL A 0 A_JumpIfInventory("IsKnifing",1,"Knife")
		NULL A 0 A_JumpIfInventory("SlidePlayer",1,"IsSliding")
		NULL A 0 A_JumpifInventory("IsBombing",1,"ThrowGrenade")
		Loop
	Select:
		NULL A 0 A_Playsound("weapons/generic/select3",7)
		WPJG A 1 Offset(67, 100)
		WPJG A 1 Offset(54, 81)
		WPJG A 1 Offset(32, 69)
		WPJG A 1 Offset(22, 58)
		WPJG A 1 Offset(10, 47)
		WPJG A 1 Offset(7, 39)
		WPJG A 1 Offset(2, 34)
		WPJG A 1 A_Raise
		Wait
	Fire:	
		NULL A 0 A_JumpIfInventory("BOBT1",5,1)
		Goto Dryfire
		NULL A 0 A_Playsound("weapons/SWX/fire",7)
		NULL A 0 A_FireCustomMissile("SonicBoom",Random(2,-2),1,15,0,0,Random(2,-2))
		NULL A 0 A_AlertMonsters
		NULL A 0 A_Gunflash
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPJF A 1 BRIGHT
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		NULL A 0 A_JumpIf(ACS_NamedExecuteWithResult("RecoilToggle")==0,2)
		NULL A 0 A_SetPitch(pitch -0.6)
		WPJF B 1 Bright Offset(8,40)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPJF C 1 Bright Offset(16,48)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPJF D 1 Bright Offset(14,46)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPJG A 1 Offset(12,44)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPJG A 1 Offset(10,42)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPJG A 1 Offset(8,40)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPJG A 1 Offset(6,38)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPJG A 1 Offset(4,36)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPJG A 1 Offset(2,34)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPJG A 1 Offset(0,32)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPJG A 1
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		NULL A 0 A_ReFire
		Goto Ready
	Dryfire:
		NULL A 0 A_Print("No ammo",1)
		Goto Ready
	Altfire:
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPJG A 1 A_JumpIfInventory("HDSonicgunX2",1,"SelectAkimbo")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		Goto Ready
	SelectAkimbo:
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPJG A 1 A_SelectWeapon("HDSonicgunX2")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		Goto Ready	
	Kick:
		WPJH AB 1
		TNT1 A 2
		KICF A 1 Offset(-10,32)
		KICF CE 1
		KICF FG 1 A_Recoil(-1)
		TNT1 A 0 A_Jump(128,2)
		TNT1 A 0 A_PlaySound("FKPlayer/Grunt")
		KICF H 5 A_CustomPunch(6,0,0,"FightPuff") 
		KICF IGFEDC 1 
		KICF BA 1 A_Recoil(+0.5)
		TNT1 A 2
		WPJH BA 1
		Goto Ready
	IsSliding:
		TNT1 A 0 A_TakeInventory("SlidePlayer",1)
		TNT1 A 0 A_JumpIfInventory("CrouchPlayer",1,"Ready")
		WPJH AB 1
		NULL A 0 A_PlaySound("FKPlayer/slide/start",4)
		NULL A 0 A_PlaySound("FKPlayer/slide/loop",5,0.5,TRUE)
		NULL A 0 A_SetPitch(pitch+0.8)
		SLDK ABCDEF 2
		NULL A 0 A_SetPitch(pitch-0.8)
		SLDK G 6 A_FireCustomMissile("KickAttack",0,0,0,0)
		NULL A 0 A_StopSound(5)
		NULL A 0 A_PlaySound("FKPlayer/slide/end",6)
		SLDK HI 2
		Goto Ready
	Knife:
		WPJH AB 1
 		NULL A 0 Offset(-10,32)
		NULL A 3
		WP1L AB 1
		NULL A 0 A_Jump(86,2)
		NULL A 0 A_PlaySound("FKPlayer/Grunt")
		WP1L C 1 A_CustomPunch(8,0,0,"KnifePuff")
		WP1L DEF 1
		NULL A 3
		WPJH BA 1
		Goto Ready
	Throwgrenade:
		NULL A 0 A_JumpIf(waterlevel>2,"Dryfire")
		NULL A 0 A_JumpIfInventory("BOGR1",1,1)
		Goto Dryfire
		WPJH AB 1
		NULL A 0 A_StopSound(1)
		NULL A 0 Offset(-20,32)
		TNT1 A 3 Offset(-20,32)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 A 1 Offset(0,28)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 B 1 Offset(0,24)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 C 1 Offset(0,23)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 D 1 Offset(0,26) A_PlaySound("weapons/SHG/throw")
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 D 1 Offset(0,28)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		NULL A 0 A_SpawnItemEx("RealGrenade",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,3,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)
		NULL A 0 A_TakeInventory("BOGR1",1)
		MND2 E 1 Offset(-3,30)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 E 1 Offset(-6,31)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 F 1 Offset(-9,32)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 F 1 Offset(-12,33)
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		NULL A 0 A_TakeInventory("GetOnWithIt", 100)
		NULL A 0 A_JumpIfNoAmmo("Dryfire")
		TNT1 A 5 Offset (75, 152)
		TNT1 A 1 Offset (6, 42)
		WPJH BA 1
		Goto Ready
	Flash:
		TNT1 A 4 Bright A_Light1
		Goto LightDone
		TNT1 A 4 Bright A_Light2
		Goto LightDone
 	Spawn:
		WPJP A -1
		Stop
	}
}

//==============================================================================
// Zwei Schallkraftwerk
//==============================================================================

ACTOR HDSonicgunX2 : KriegslandMediumWeapon
{
	+WEAPON.NOAUTOFIRE
	+INVENTORY.UNDROPPABLE
	Weapon.SelectionOrder 1100
	Weapon.SlotNumber 0
	Weapon.AmmoUse 5
	Weapon.AmmoGive 50
	Weapon.AmmoType "BOBT1"
	Inventory.Pickupmessage "You got the Schallkraftwerk!"
	Inventory.PickupSound 	"weapons/generic/pickup3"
	Obituary "%o's skull has been blown by %k's Dual Schallkraftwerk."
	Tag "Zwei Schallkraftwerk"
	States
	{
	Deselect:
		TNT1 A 0 A_Gunflash("LightDone")
		WPJR ABC 1
		TNT1 A 0 A_TakeInventory("FireRight",1)
		TNT1 A 0 A_StopSound(6)
		TNT1 A 1 A_Lower
		Wait 
	Ready:
		TNT1 A 0 A_PlaySound("weapons/SWX/idle",6,1,1)
		WPJR CBA 1
		TNT1 A 0 A_TakeInventory("StopDualWield", 1)
		TNT1 A 0 A_GunFlash
		Goto ReadyToFire
	ReadyToFire:
		TNT1 A 0 A_JumpIfInventory("FiredPrimary",1,"FireLeftGun")
		WJLG A 1 A_WeaponReady(WRF_ALLOWZOOM)
		TNT1 A 0 A_JumpifInventory("IsKicking",1,"Kick")
		TNT1 A 0 A_JumpIfInventory("IsKnifing",1,"Knife")
		NULL A 0 A_JumpIfInventory("SlidePlayer",1,"IsSliding")
		TNT1 A 0 A_JumpifInventory("IsBombing",1,"ThrowGrenade")
		Loop
	Fire:
		TNT1 A 0 A_JumpIfInventory("FiredPrimary",1,"FireLeftGun")
		WJLG A 1
		TNT1 A 0 A_JumpifInventory("IsKicking",1,"Kick")
		TNT1 A 0 A_JumpIfInventory("IsKnifing",1,"Knife")
		NULL A 0 A_JumpIfInventory("SlidePlayer",1,"IsSliding")
		TNT1 A 0 A_JumpifInventory("IsBombing",1,"ThrowGrenade")
		TNT1 A 0 A_JumpIfInventory("FiredPrimary",1,"FireLeftGun")
		Goto ReadyToFire
	Select:
		TNT1 A 0 A_Playsound("weapons/generic/select3",7)
		TNT1 A 0 Offset(67, 100)
		TNT1 A 0 Offset(54, 81)
		TNT1 A 0 Offset(32, 69)
		TNT1 A 0 Offset(22, 58)
		TNT1 A 0 Offset(10, 47)
		TNT1 A 0 Offset(7, 39)
		TNT1 A 0 Offset(2, 34)
		TNT1 A 0 Offset(0, 32)
		TNT1 A 1 A_Raise
		Wait
	FireLeftGun:
		NULL A 0 A_JumpIfInventory("BOBT1",5,1)
		Goto Dryfire
		NULL A 0 A_Playsound("weapons/SWX/fire",7)
		NULL A 0 A_FireCustomMissile("SonicBoom",Random(-2,2),1,-15,0,0,Random(-2,2))
		NULL A 0 A_AlertMonsters
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJLF A 1 BRIGHT
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		NULL A 0 A_JumpIf(ACS_NamedExecuteWithResult("RecoilToggle")==0,2)
		NULL A 0 A_SetPitch(pitch -0.9)
		WJLF B 1 Bright
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJLF C 1 Bright
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJLF D 1 Bright
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJLG A 1
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJLG B 1
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJLG C 1
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJLG D 1
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJLG E 1
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJLG A 3
		TNT1 AAA 0 A_JumpIfInventory("FiredPrimary",1,"FireLeftGun")
		Goto ReadyToFire
	FireRightGun:
		TNT1 A 0 A_JumpIfInventory("StopDualWield", 1, "LightDone")
		TNT1 A 0 A_GiveInventory("IsFiringSecondary", 1)
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("FiredSecondary",1)
		NULL A 0 A_JumpIfInventory("BOBT1",5,1)
		Goto Dryfire
		NULL A 0 A_Playsound("weapons/SWX/fire",7)
		NULL A 0 A_FireCustomMissile("SonicBoom",Random(2,-2),1,15,0,0,Random(2,-2))
		NULL A 0 A_AlertMonsters
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJRF A 1 BRIGHT
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		NULL A 0 A_JumpIf(ACS_NamedExecuteWithResult("RecoilToggle")==0,2)
		NULL A 0 A_SetPitch(pitch -0.9)
		WJRF B 1 Bright
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJRF C 1 Bright
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJRF D 1 Bright
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJRG A 1
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJRG B 1
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJRG C 1
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJRG D 1
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJRG E 1
		NULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WJRG A 3
		TNT1 A 0 A_JumpIfInventory("StopDualWield", 1, "LightDone")
		TNT1 A 0 A_TakeInventory("IsFiringSecondary",1)
		TNT1 AAA 0 A_JumpIfInventory("FiredSecondary",1,"FireRightGun")
		Goto Flash
	Zoom:
		TNT1 A 0 A_Gunflash("LightDone")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPJD A 2 A_SelectWeapon("HDSonicgun")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		Goto ReadyToFire
	Dryfire:
		TNT1 A 0 A_Print("No ammo",1)
		TNT1 A 0 A_TakeInventory("IsFiringSecondary",1)
		TNT1 A 0 A_TakeInventory("FiredSecondary",1)
		WPJD A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_GunFlash
		Goto ReadyToFire
	Kick:
		TNT1 A 0 A_Gunflash("LightDone")
		WPJR ABC 1
		TNT1 A 2
		KICF A 1 Offset(-10,32)
		KICF CE 1
		KICF FG 1 A_Recoil(-1)
		TNT1 A 0 A_Jump(128,2)
		TNT1 A 0 A_PlaySound("FKPlayer/Grunt")
		KICF H 5 A_CustomPunch(6,0,0,"FightPuff") 
		KICF IGFEDC 1 
		KICF BA 1 A_Recoil(+0.5)
		TNT1 A 2
		WPJR CBA 1
		TNT1 A 0 A_Gunflash
		Goto ReadyToFire
	IsSliding:
		TNT1 A 0 A_Gunflash("LightDone")
		TNT1 A 0 A_TakeInventory("SlidePlayer",1)
		TNT1 A 0 A_JumpIfInventory("CrouchPlayer",1,"Ready")
		WPJR ABC 1
		TNT1 A 0 A_PlaySound("FKPlayer/slide/start",4)
		TNT1 A 0 A_PlaySound("FKPlayer/slide/loop",5,0.5,TRUE)
		TNT1 A 0 A_SetPitch(pitch+0.8)
		SLDK ABCDEF 2
		TNT1 A 0 A_SetPitch(pitch-0.8)
		SLDK G 6 A_FireCustomMissile("KickAttack",0,0,0,0)
		TNT1 A 0 A_StopSound(5)
		TNT1 A 0 A_PlaySound("FKPlayer/slide/end",6)
		SLDK HI 2
		Goto Ready
	Knife:
		TNT1 A 0 A_Gunflash("LightDone")
		WPJR ABC 1
 		NULL A 0 Offset(-10,32)
		NULL A 3
		WP1L AB 1
		NULL A 0 A_Jump(86,2)
		NULL A 0 A_PlaySound("FKPlayer/Grunt")
		WP1L C 1 A_CustomPunch(8,0,0,"KnifePuff")
		WP1L DEF 1
		NULL A 3
		WPJR CBA 1
		TNT1 A 0 A_Gunflash
		Goto ReadyToFire
	Throwgrenade:
		TNT1 A 0 A_GunFlash("LightDone")
		WPJR ABC 1
		TNT1 A 0 Offset(-10,36)
		TNT1 A 0 A_JumpIf(waterlevel>2,"Dryfire")
		TNT1 A 0 A_JumpIfInventory("BOGR1",1,1)
		Goto Dryfire
		TNT1 A 0 A_StopSound(1)
		TNT1 A 0 Offset(-20,32)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 A 1 Offset(0,28)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 B 1 Offset(0,24)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 C 1 Offset(0,23)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 D 1 Offset(0,26) A_PlaySound("weapons/SHG/throw")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 D 1 Offset(0,28)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_SpawnItemEx("RealGrenade",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,3,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)
		TNT1 A 0 A_TakeInventory("BOGR1",1)
		MND2 E 1 Offset(0,30)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 E 1 Offset(0,31)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 F 1 Offset(0,32)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 F 1 Offset(0,33)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_TakeInventory("GetOnWithIt", 100)
		TNT1 A 0 A_JumpIfNoAmmo("Dryfire")
		TNT1 A 7 Offset (75, 152)
		TNT1 A 1 Offset (6, 42)
		Goto Ready
	Flash:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("StopDualWield", 1, "LightDone")
		WJRG A 1
		TNT1 A 0 A_JumpIfInventory("FiredSecondary", 1, "FireRightGun")
		Loop
	DontFlash:
		TNT1 A 1
		Goto Flash
 	Spawn:
		WPJP A -1
		Stop
	}
}

//==============================================================================
// Schallkraftwerk projectile actors
//==============================================================================

ACTOR SonicBoom : UberLaser
{
	+NOGRAVITY
	+RIPPER
	+RANDOMIZE
	+BLOODLESSIMPACT
	PROJECTILE
	SeeSound ""
	Damagetype SonicBlast
	Radius 2
	Height 2
	DeathSound "weapons/SWX/projectilehit"
	RenderStyle Add
	Alpha 0.5
	Speed 30
	Scale 0.75
	Decal "None"
	DamageType "SonicBlast"
	Obituary "%o was sonically crushed by %k's Schallkraftwerk."
	Damage (Random(40,50))
	States
	{
	Spawn:
		NULL A 0 A_SetScale(0.75)
		WPJB A 1 BRIGHT A_PlaySound("weapons/SWX/projectileidle",6,1,True)
		NULL A 0 A_SpawnItem("SonicShadow",0,0,0)
		Loop
	Death:
		NULL A 0 A_StopSound
		NULL A 0 A_Scream
		WPJB A 1 BRIGHT A_SetScale(0.9)
		WPJB A 1 BRIGHT A_SetScale(0.7)
		WPJB A 1 BRIGHT A_SetScale(0.5)
		WPJB A 1 BRIGHT A_SetScale(0.3)
		WPJB A 1 BRIGHT A_SetScale(0.1)
		WPJB A 1 BRIGHT A_SetScale(0.3)
		WPJB A 1 BRIGHT A_SetScale(0.5)
		WPJB A 1 BRIGHT A_SetScale(0.7)
		WPJB A 1 BRIGHT A_SetScale(0.9)
		WPJB A 1 BRIGHT A_SetScale(1)
		NULL A 0 A_SetScale(1.3) 
		WPJB A 1 BRIGHT
		NULL A 0 A_SetScale(1.5)
		WPJB A 1 BRIGHT
		NULL A 0 A_SetScale(1.7) 
		WPJB A 1 BRIGHT
		NULL A 0 A_SetScale(1.9) 
		WPJB A 1 BRIGHT A_Fadeout(0.1)
		NULL A 0 A_SetScale(2.1)
		WPJB AA 1 BRIGHT A_Fadeout(0.1)
		Stop
	}
}

ACTOR SonicShadow
{
	+NOGRAVITY
	PROJECTILE
	RenderStyle Add
	Alpha 1.0
	Scale 1
	Speed 30
	States
	{
	Spawn:
		NULL A 0
		WPJB A 1 BRIGHT
	Death:
		WPJB A 5 A_Fadeout(0.7)
		Stop
	}
}