//	Movement recoded
actor Quickman : SemiWeakArmorClass
{
	Player.ScoreIcon "QUICMUGS"
	player.startitem "BaseFlagPack", 1
	player.startitem "IsFromMM2"
	player.startitem "SemiWeakArmor"
	player.soundclass "QuickmanC"
	Player.ViewHeight 45
	player.displayname "Quickman"
	player.forwardmove 0.9, 0.9
	player.sidemove 0.88, 0.88
	player.jumpz 14
	player.startitem "QuickBoomerangBoss"
	player.startitem "Base28Ammo", 28
	player.startitem "UltimateAttackItem4", 1
	player.startitem "UltSoundWatcherSpawn4"
	States
	{
		Animation4:
		Spawn:
		QUIM A 0
		QUIM B 1 A_JumpIf(z-floorz>0, "Jumping")
		QUIM A 1 A_JumpIf(z-floorz>0, "Jumping")
		Goto Spawn+2
		
		See:
		QUIM BBBBCCCCDDDDEEEE 1 A_JumpIf(z-floorz>0, "Jumping")
		Goto Spawn
		
		Animation2:
		Jumping:
		QUIM I 1 A_JumpIf(z-floorz<=0, "Spawn")
		wait
		
		Missile:
		QUIM FFFFFGGGG 1 A_JumpIf(z-floorz>0, "JumpingMissile")
		goto Spawn
		
		JumpingMissile:
		QUIM JJJJJJJJJ 1 A_JumpIf(z-floorz<=0, "Missile")
		goto Jumping
		
		Animation1:
		QUIM K 20
		goto Spawn
		
		Animation3:
		QUIM LMLM 1
		loop
		
		ClassTimeStop:
		PLAY A 0 SetPlayerProperty(0,1,4)
		PLAY A 0 ACS_Execute(528,0)
		QUIM AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
		PLAY A 0 SetPlayerProperty(0,0,4)
		Goto pain+1
		ClassPain:
		QUIM H 0 A_JumpIfInventory("BaseCustomFlag1",1,"ClassPain.Spin")
		QUIM HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
		Goto Spawn+1
		ClassPain.Spin:
		QUIM LM 1 A_SpawnItem("PainFX",0,3)
		QUIM LM 1 A_SpawnItem("PainFX",0,3)
		goto Animation3
		ClassDeath:
		QUIM ] 12 ACS_ExecuteAlways(999,0,0)
		QUIM ] 8 A_SpawnItemEx("MM2Death")
		QUIM ] 0 A_PlayerScream
		NOFX A 0 A_SpawnItemEx("FakeDeathFXMM2",0,0,32)
		NOFX A 1 A_CheckPlayerDone
		wait
		ClassIceDeath:
		QUIM A 35
		NOFX A 0 A_SpawnItemEx("FrozenDeathFX",0,0,16)
		NOFX A 1 A_CheckPlayerDone
		wait
		WeaponGetM:
		CUTM H 0 A_JumpIfInTargetInventory("QuickBoomerangWepM",1,2)
		CUTM H 0 A_GiveToTarget("WeaponGetter")
		CUTM H 0 A_GiveToTarget("QuickBoomerangWepM")
		goto ClassDeath
	}
}

actor MM2Death : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("IsFromGB2",1,"Death")
2DED ABCDABCD 1 A_Warp(AAPTR_TARGET, 0.0,0.0,0.0,0.0,WARPF_NOCHECKPOSITION)
stop
}
}

actor QuickBoomerangBoss : VCBaseWeapon
{
	Weapon.AmmoUse 2
	Obituary "$OB_QUICKMAN1"
	States
	{
		Ready:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("QuickManCooldown",1,2)
		QUIK M 0 A_JumpIfInventory("Base28Ammo",14,"Ready.TF")
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		QUIK M 0 A_GiveInventory("Base28Ammo",1)
		goto Ready

		Ready.TF:
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		QUIK M 0 A_GiveInventory("Base28Ammo",1)
		goto Ready
		
		Ready.Ult:
		TNT1 A 0 A_GiveInventory("PharaohUltCooldown",1)
		TNT1 A 0 A_JumpIfInventory("PowerQuickSpeed",1,1)
		goto Ready
		QUIK M 0 A_JumpIfInventory("MediumLongUltimateAmmo",100,"Ready.UltTF")
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		QUIK M 0 A_GiveInventory("Base28Ammo",1)
		goto Ready.Ult
		
		Ready.UltTF:
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1.Ult")
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1.Ult")
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1.Ult")
		QUIK M 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) QUIK M 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1.Ult")
		QUIK M 0 A_GiveInventory("Base28Ammo",1)
		goto Ready.Ult
		
		Deselect:
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
		QUIK A 1 A_Lower
		Loop
		Select:
		TNT1 A 0
		TNT1 A 0 ACS_ExecuteAlways(991,0,2743)
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
		QUIK A 1 A_Raise
		Loop
		
		Fire:
		QUIK M 0 A_JumpIfNoAmmo("NoAmmoFire")
		QUIK M 0 A_JumpIfInventory("PowerQuickSpeed",1,"FireULT")
		QUIK M 0 A_FireCustomMissile("NormalQuickBoomerang",0,1,8)
		QUIK M 0 A_FireCustomMissile("NormalQuickBoomerang",20,0,8)
		QUIK M 0 A_FireCustomMissile("NormalQuickBoomerang",-20,0,8)
		QUIK N 1 Offset(10,40) A_PlaySoundEx("weapon/mm2shot","Weapon")
		QUIK N 1 Offset(15,45)
		QUIK M 1 Offset(22,52)
		QUIK M 1 Offset(24,54)

		QUIK M 1 Offset(25,55)
		QUIK M 1 Offset(25,55)
		QUIK M 1 Offset(24,54)
		QUIK M 1 Offset(22,52)
		QUIK M 1 Offset(13,43)
		QUIK M 1 Offset(10,40)
		QUIK M 1 Offset(7,37)

		QUIK M 1 Offset(4,34)
		QUIK M 1 A_WeaponReady(14)

		QUIK M 0 A_Refire
		goto Ready
		
		FireULT:
		QUIK M 0 A_FireCustomMissile("SuperQuickBoomerang",0,1,8)
		QUIK M 0 A_FireCustomMissile("SuperQuickBoomerang",20,0,8)
		QUIK M 0 A_FireCustomMissile("SuperQuickBoomerang",-20,0,8)
		QUIK N 1 Offset(10,40) A_PlaySoundEx("weapon/mm2shot","Weapon")
		QUIK N 1 Offset(15,45)
		QUIK M 1 Offset(22,52)
		QUIK M 1 Offset(24,54)
		QUIK M 1 Offset(25,55)
		QUIK M 1 Offset(25,55)
		QUIK M 1 Offset(24,54)
		QUIK M 1 Offset(22,52)
		QUIK M 1 Offset(13,43)
		QUIK M 1 Offset(10,40)
		QUIK M 1 Offset(7,37)

		QUIK M 1 Offset(4,34)
		QUIK M 1 A_WeaponReady(14)
		QUIK M 0 A_Refire
		QUIK M 0 A_JumpIfInventory("PowerQuickSpeed",1,"Ready.Ult")
		goto Ready

		NoAmmoFire:
		QUIK M 0 A_JumpIfInventory("PowerQuickSpeed",1,"NoAmmoFireULT")
		QUIK M 0 A_PlaySoundEx("weapon/mm2shot","Weapon")
		QUIK N 1 Offset(10,40) A_FireCustomMissile("QuickBoomerang2",0,0,8)
		QUIK N 1 Offset(22,52)

		QUIK M 1 Offset(25,55)
		QUIK M 1 Offset(24,54)
		QUIK M 1 Offset(13,43)
		QUIK M 1 Offset(7,37)
		QUIK M 1 Offset(4,34)
		QUIK M 1 A_WeaponReady(14)
		goto Ready
		
		NoAmmoFireULT:
		QUIK M 0 A_PlaySoundEx("weapon/mm2shot","Weapon")
		QUIK N 1 Offset(10,40) A_FireCustomMissile("SuperQuickBoomerang",0,0,8)
		QUIK N 1 Offset(22,52)

		QUIK M 1 Offset(25,55)
		QUIK M 1 Offset(24,54)
		QUIK M 1 Offset(13,43)
		QUIK M 1 Offset(7,37)
		QUIK M 1 Offset(4,34)
		QUIK M 1 A_WeaponReady(14)
		QUIK M 0 A_JumpIfInventory("PowerQuickSpeed",1,"Ready.Ult")
		goto Ready
		
		AltFire:
		RATU A 0 A_JumpIfInventory("NoAltfire",1,"NoAmmo")
		QUIK N 0 ACS_NamedExecuteWithResult("VC_SetState",1)
		QUIK M 0 A_PlaySoundEx("quickman/alt","Weapon")
		QUIK M 0 A_GiveInventory("QuickDashAnim")
		QUIK M 0 A_JumpIfInventory("PowerQuickSpeed",1,"AltULT")
		QUIK M 0 A_GiveInventory("WeaponCharge",10)
		QUIK M 0 A_TakeInventory("Base28Ammo",14)
		QUIK M 0 A_Jump(256,"AltContinue")
		AltContinue:
		QUIK O 1 A_SpawnItemEx("QuickDash_AftImg",32,0,0,0,0,0,0,1)
		QUIK N 0 A_ChangeVelocity(CallACS("VC_XYMob", 100.0),0,0,CVF_RELATIVE|CVF_REPLACE)
		QUIK N 0 SetPlayerProperty(0,1,4)
		TNT1 A 0 A_JumpIfInventory("IHaveHitAWall",1,"AltBounce")
		QUIK N 0 A_SpawnItemEx("QuickWallCheck", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
		QUIK N 0 A_GiveInventory("QuickAltHandler")
		QUIK N 0 A_TakeInventory("WeaponCharge",1)
		QUIK N 0 A_JumpIfInventory("WeaponCharge",1,"AltContinue")
		QUIK N 0 A_ScaleVelocity(0.285)
		QUIK N 0 SetPlayerProperty(0,0,4)
		QUIK OOOO 1 A_JumpIfInventory("IHaveHitAWall",1,"AltBounce")
		QUIK MMMM 1 A_TakeInventory("IHaveHitAWall",999)
		QUIK N 0 A_TakeInventory("WeaponCharge",999)
		QUIK MMMMMMMM 2 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
		QUIK MMMMMMMM 2 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
		goto Ready
		
		AltBounce:
		QUIK N 0 A_TakeInventory("WeaponCharge",999)
		QUIK N 0 A_TakeInventory("QuickDashAnim")
		QUIK N 0 ACS_NamedExecuteWithResult("VC_SetState",2)
		QUIK N 0 A_PlaySoundEx("weapon/concretehit","Weapon")
		QUIK N 0 SetPlayerProperty(0,0,4)
		QUIK N 0 A_ChangeVelocity(-25,0,10,CVF_RELATIVE|CVF_REPLACE)
		QUIK O 1 Offset(4,30)
		QUIK O 1 Offset(1,33)
		QUIK O 1 Offset(4,36)
		QUIK O 1 Offset(2,31)
		QUIK O 1 Offset(1,33)
		QUIK O 1 Offset(2,32)
		QUIK O 1 Offset(2,31)
		QUIK O 1 Offset(1,33)
		QUIK O 0 A_WeaponReady(WRF_NOFIRE)
		QUIK O 6 A_TakeInventory("IHaveHitAWall",999)
		QUIK M 0 A_JumpIfInventory("PowerQuickSpeed",1,"Ready.Ult")
		goto Ready

		AltULT:
		QUIK M 0 A_GiveInventory("WeaponCharge",14)
		QUIK M 0 A_TakeInventory("Base28Ammo",14)
		QUIK M 0 A_Jump(256,"AltULTContinue")
		AltULTContinue:
		QUIK O 1 A_SpawnItemEx("QuickDash_AftImg",32,0,0,0,0,0,0,1)
		QUIK N 0 A_SpawnItemEx("QuickDashFX",64,0,32)
		QUIK N 0 A_ChangeVelocity(CallACS("VC_XYMob", 105.0),0,0,CVF_RELATIVE|CVF_REPLACE)
		QUIK N 0 SetPlayerProperty(0,1,4)
		QUIK N 0 A_SpawnItemEx("QuickWallCheck", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
		TNT1 A 0 A_JumpIfInventory("IHaveHitAWall",1,"AltBounce")
		QUIK N 0 A_SpawnItemEx("QuickHitBox10", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
		QUIK N 0 A_TakeInventory("WeaponCharge",1)
		QUIK N 0 A_JumpIfInventory("WeaponCharge",1,"AltULTContinue")
		QUIK N 0 A_ScaleVelocity(0.285)
		QUIK N 0 SetPlayerProperty(0,0,4)
		QUIK OOOO 1 A_JumpIfInventory("IHaveHitAWall",1,"AltBounce")
		QUIK MMMM 1 A_TakeInventory("IHaveHitAWall",999)
		QUIK N 0 A_TakeInventory("WeaponCharge",999)
		QUIK MMMMMM 2 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
		QUIK MMMMMM 2 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
		QUIK M 0 A_JumpIfInventory("PowerQuickSpeed",1,"Ready.Ult")
		goto Ready
		
		User1:
		TNT1 A 0 A_GiveInventory("QuickTFHandler",1)
		QUIK P 0 A_JumpIfInventory("QuickTFStop",1,"User1.End")
		QUIK P 1 A_FireCustomMissile("QuickTFHitbox",0,0,0,8)
		QUIK Q 0 A_JumpIfInventory("QuickTFStop",1,"User1.End")
		QUIK Q 1 A_FireCustomMissile("QuickTFHitbox",0,0,0,8)
		QUIK R 0 A_JumpIfInventory("QuickTFStop",1,"User1.End")
		QUIK R 1 A_FireCustomMissile("QuickTFHitbox",0,0,0,8)
		QUIK R 0 A_GiveInventory("VC_Timer",1)
		QUIK R 0 A_JumpIfInventory("VC_Timer",19,"User1.End")
		goto User1+1
		
		User1.End:
		TNT1 A 10 A_GiveInventory("QuickTFEndHandler")
		QUIK M 2 Offset(0,96) 
		QUIK M 2 Offset(0,64)
		QUIK M 2 A_WeaponReady(WRF_NOFIRE)
		goto Ready
		
		User1.Ult:
		TNT1 A 0 A_GiveInventory("QuickTFHandler2",1)
		QUIK N 1 Offset(15,45)
		QUIK M 1 Offset(22,52)
		QUIK M 1 Offset(24,54)
		QUIK M 1 Offset(25,55)
		QUIK M 1 Offset(25,55)
		QUIK M 1 Offset(24,54)
		QUIK M 1 Offset(22,52)
		QUIK M 1 Offset(13,43)
		QUIK M 1 Offset(10,40)
		QUIK M 1 Offset(7,37)
		QUIK M 1 Offset(4,34)
		QUIK M 1 A_WeaponReady(14)
		QUIK M 0 A_JumpIfInventory("PowerQuickSpeed",1,"Ready.Ult")
		goto Ready
		
		UltimateAttack:
		TNT1 A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,20)
		TNT1 A 0 A_GiveInventory("PharaohUltCooldown",1)
		QUIK A 0 A_PlaySoundEx("classes/ultimateactivation","Auto")
		QUIK A 0 A_GiveInventory("QuickTimer",665)
		QUIK A 0 A_GunFlash
		QUIK A 0 A_GiveInventory("PowerQuickSpeed",1)
		QUIK A 0 A_GiveInventory("QuickUltArmor",1)
		QUIK A 0 A_TakeInventory("UltAttackFlag",1)
		goto Ready.Ult

		Flash:
		TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
		TNT1 A 0 A_JumpIfInventory("MediumLongUltimateAmmo",1,1)
		goto NoFlash
		TNT1 A 1 A_TakeInventory("QuickTimer",1)
		TNT1 A 0 A_GiveInventory("CutterFlag")
		TNT1 A 0 A_JumpIfInventory("CutterFlag",5,"Flash.Image")
		TNT1 A 0 A_SetGravity(0.6)
		TNT1 A 0 A_JumpIfInventory("QuickTimer",1,"Flash")
		NoFlash:
		TNT1 A 0 A_SetGravity(0.8)
		QUIK A 0 A_TakeInventory("QuickUltArmor")
		TNT1 A 0 A_TakeInventory("PowerQuickSpeed")
		TNT1 A 0 A_TakeInventory("CutterFlag",99)
		TNT1 A 0 A_TakeInventory("MediumLongUltimateAmmo",999)
		stop

		Flash.Image:
		TNT1 A 0 A_TakeInventory("MediumLongUltimateAmmo",3)
		TNT1 A 0 A_GiveInventory("QuickImageGiver")
		TNT1 A 0 A_TakeInventory("CutterFlag",99)
		goto Flash
		
		NoAmmo:
		QUIK M 4 A_GiveInventory("Base28Ammo",1)
		goto Ready
	}
}

actor QuickImageGiver : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("QuickDashAnim",1,"Dash")
TNT1 A 0 A_CheckFloor("Floor")
TNT1 A 0 A_SpawnItemEx("QuickAfterimageAir")
stop

Dash:
TNT1 A 0 A_SpawnItemEx("QuickAfterimageDash")
stop

Floor:
TNT1 A 0 A_SpawnItemEx("QuickAfterimage")
stop
}
}

actor QuickDashAnim : Powerup
{
Powerup.Duration 20
}

actor QuickAfterimage
{
translation "192:192=205:205", "198:198=74:74", "0:2=76:76"
PROJECTILE
+NOCLIP
+NOINTERACTION
+THRUGHOST
renderstyle translucent
alpha 0.6
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
QUIM BCDE 2
loopit:
QUIM BCDE 2 A_FadeOut(0.15)
loop
}
}

actor QuickAfterImageAir : QuickAfterImage
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
QUIM IIII 2
loopit:
QUIM IIII 2 A_FadeOut(0.15)
loop
}
}

actor QuickAfterImageDash : QuickAfterImage
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
QUIM KKKK 2
loopit:
QUIM KKKK 2 A_FadeOut(0.15)
loop
}
}

actor QuickmanDashProtection : PowerProtection
{
	DamageFactor "QuickDash", 0.0
	DamageFactor "QuickDash2", 0.0
	Powerup.Duration 10
}
actor PowerQuickSpeed : PowerSpeed
{
	Powerup.Duration 665
	Speed  1.5
}

actor QuickTimer : Inventory
{
	inventory.maxamount 665
	inventory.amount 1
}

actor QuickManCooldown : Inventory
{
	inventory.maxamount 175
	inventory.amount 1
}

actor NormalQuickBoomerang
{
	DamageType "QuickMan"
	Obituary "$OB_QUICKMAN2"
	Radius 10
	Height 10
	Scale 2.5
	Damage (9)
	Speed 40
	PROJECTILE
	States
	{
	Spawn:
	QUIC AA 0 A_GiveInventory("ProjectileCode",1)
	QUIC ABCDABCDAB 2
	QUIC A 0 A_ScaleVelocity(-1)
	QUIC CDABCDABCD 2
	stop
	}
}

actor SuperQuickBoomerang : NormalQuickBoomerang
{
	Obituary "$OB_QUICKMAN4"
	Translation "208:208=229:229"
	+SEEKERMISSILE
	States
	{
		Spawn:
		QUIC AA 0 A_GiveInventory("ProjectileCode",1)
		QUIC ABCD 2 A_GiveToTarget("PharaohUltCooldown",1)
		QUIC ABCD 2 A_Stop
		QUIC A 0 A_ChangeVelocity(30,0,0,CVF_RELATIVE|CVF_REPLACE)
		QUIC AB 0 A_SeekerMissile(90,90,SMF_PRECISE|SMF_LOOK,256,10)
		Derp:
		QUIC ABCD 2 A_GiveToTarget("PharaohUltCooldown",1)
		loop
	}
}

actor QuickDashFX
{
	Translation "192:192=105:105", "194:194=118:118"
	+CLIENTSIDEONLY
	+NOINTERACTION
	+NOGRAVITY
	-SOLID
	radius 2
	height 2
	scale 2.65
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
		GIGF HHIII 1 A_FadeOut(0.15)
		stop
	}
}

actor QuickDash_AftImg
{
	+CLIENTSIDEONLY
	+NOINTERACTION
	+NOGRAVITY
	-SOLID
	radius 2
	height 2
	scale 2.5
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
		QUIM KKKKKKK 1 A_Fadeout
		stop
	}
}

actor QuickHitBox1
{
	species "DustManType"
	+THRUSPECIES
	PROJECTILE
	Obituary "$OB_QUICKMAN3"
	DamageType "QuickDash"
	Radius 24
	Height 24
	Damage (5)
	States
	{
		Spawn:
		TNT1 A 1
		stop
	}
}

actor QuickHitBox2 : QuickHitBox1
{
	damage(10)
}

actor QuickHitBox3 : QuickHitBox1
{
	damage(15)
}

actor QuickHitBox4 : QuickHitBox1
{
	damage(20)
}

actor QuickHitBox5 : QuickHitBox1
{
	damage(25)
}

actor QuickHitBox6 : QuickHitBox1
{
	damage(30)
}

actor QuickHitBox7 : QuickHitBox1
{
	damage(35)
}

actor QuickHitBox8 : QuickHitBox1
{
	damage(40)
}

actor QuickHitBox9 : QuickHitBox1
{
	damage(45)
}

actor QuickHitBox10 : QuickHitBox1
{
	DamageType "QuickDash2"
	damage(50)
}

actor QuickBoomerang2
{
damagetype "QuickBoomerang"
Obituary "$OB_QUICKMAN2"
PROJECTILE
Radius 10
Height 10
scale 2.5
damage (7)
speed 60
reactiontime 4
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
QUIC A 0 A_CountDown
QUIC AABBCCDD 1 A_ChangeVelocity(-5,0,0,CVF_RELATIVE)
Goto Spawn+2
}
}

actor QuickAltHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("WeaponCharge",10,"Pickup10")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",9,"Pickup9")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",8,"Pickup8")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",7,"Pickup7")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",6,"Pickup6")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",5,"Pickup5")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",4,"Pickup4")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",3,"Pickup3")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",2,"Pickup2")
TNT1 A 0 A_SpawnItemEx("QuickHitBox10", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
stop

Pickup2:
TNT1 A 0 A_SpawnItemEx("QuickHitBox9", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
stop

Pickup3:
TNT1 A 0 A_SpawnItemEx("QuickHitBox8", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
stop

Pickup4:
TNT1 A 0 A_SpawnItemEx("QuickHitBox7", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
stop

Pickup5:
TNT1 A 0 A_SpawnItemEx("QuickHitBox6", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
stop

Pickup6:
TNT1 A 0 A_SpawnItemEx("QuickHitBox5", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
stop

Pickup7:
TNT1 A 0 A_SpawnItemEx("QuickHitBox4", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
stop

Pickup8:
TNT1 A 0 A_SpawnItemEx("QuickHitBox3", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
stop

Pickup9:
TNT1 A 0 A_SpawnItemEx("QuickHitBox2", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
stop

Pickup10:
TNT1 A 0 A_SpawnItemEx("QuickHitBox1", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
stop
}
}

actor QuickWallCheck : NiceWallCheck
{
+STEPMISSILE
maxstepheight 24
Radius 24
Height 24
states
{
Spawn:
TNT1 A 1
stop
Death:
XDeath:
Crash:
TNT1 A 0 A_GiveToTarget("IHaveHitAWall")
Stop
}
}

actor QuickmanSpinProtection : PowerProtection
{
	DamageFactor "QuickSpin", 0.0
	Powerup.Duration 70
}

actor QuickTFHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("Base28Ammo",14)
TNT1 A 0 A_GiveInventory("BaseCustomFlag1")
TNT1 A 0 ACS_Execute(191,0,APROP_JumpZ,25,1)
TNT1 A 0 A_SetGravity(2.4) 
TNT1 A 0 A_GiveInventory("QuickTFSpeed")
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",3)
TNT1 A 0 A_PlaySoundEx("misc/quintspin","Weapon")
TNT1 A 0 A_PlaySoundEx("misc/tengudash","Body")
stop
}
}

actor QuickTFEndHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("QuickTFSpeed") //Technically I don't need this here but you never know. -Fr3ak
TNT1 A 0 A_TakeInventory("BaseCustomFlag1")
TNT1 A 0 ACS_Execute(191,0,APROP_JumpZ,14,1)
TNT1 A 0 A_GiveInventory("GravityRestore") 
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",4)
TNT1 A 0 A_GiveInventory("QuickManCooldown",175)
TNT1 A 0 A_SpawnItemEx("QuickCooldownWatcher")
TNT1 A 0 A_TakeInventory("VC_Timer",99)
stop
}
}

actor QuickTFSpeed : PowerSpeed
{
	Powerup.Duration 57
	Speed 2.5
}

actor QuickTFHitbox : BasicExplosion
{
Obituary "$OB_QUICKMAN5"
damagetype "QuickSpin"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(30,40,0,0,40)
stop
}
}

actor QuickCooldownWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
Renderstyle none
reactiontime 175
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_TakeFromTarget("QuickManCooldown",1)
TNT1 A 0 A_Countdown
loop
Death:
TNT1 A 0 A_TakeFromTarget("QuickManCooldown",999)
stop
}
}

actor QuickTFHitHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("QuickTFSpeed")
TNT1 A 0 A_GiveInventory("Base28Ammo",14)
TNT1 A 0 A_GiveInventory("QuickTFStop",1)
stop
}
}

actor QuickTFStop : Powerup
{
Powerup.Duration 10
}

actor QuickManLens
{
PROJECTILE
height 4
radius 4
+THRUACTORS
scale 2.5
reactiontime 44
+DONTREFLECT
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
QTRA A 35
QTRA BABABA 2
QTRA A 0 A_PlaySoundEx("misc/quicktrap","Body")
loopit:
QTRA A 0 A_Countdown
QTRA A 1 A_SpawnItemEx("QuickManBeam",20,0,0,32,0,0,0,1)
loop
Death:
MMFX BCDE 2
stop
}
}

actor QuickManBeam
{
Obituary "$OB_QUICKMAN6"
PROJECTILE
height 32
radius 42
+RIPPER
scale 2.5
reactiontime 90
damage(999)
damagetype "QuickManBeam"
States
{
Spawn:
QBEA A 1
loop
}
}

actor QuickTFHandler2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("QuickManLens",20,0,32)
TNT1 A 0 A_PlaySoundEx("misc/BombCount","Weapon")
TNT1 A 0 A_TakeInventory("MediumLongUltimateAmmo",100)
stop
}
}

actor QuickUltArmor : PowerProtection
{
Powerup.Duration 0x7FFFFFFD
DamageFactor "Normal", 0.85
}