actor QuickBoomerangBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_2D"
dropitem "QuickBoomerangWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 90
Obituary "$OB_QUICKBOOMERANG"
weapon.ammotype "FastAmmo"
+WEAPON.NOAUTOAIM
States
{
Spawn:
C_02 D 1
loop
Ready:
QUIH A 0 ACS_ExecuteAlways(998,0,DYE_QUICKMAN)
goto Ready1
Ready1:
QUIH A 0 A_JumpIfInventory("QuickManTrail",1,"Ready3")
QUIH A 0 A_JumpIfInventory("FastAmmo",15,"Ready2")
QUIH A 1 A_WeaponReady(WRF_NOFIRE)
QUIH A 0 A_GiveInventory("FastAmmo_RC",1)
goto Ready1
Ready2:
QUIH A 0 A_JumpIfInventory("QuickManTrail",1,"Ready3")
QUIH A 1 A_WeaponReady
QUIH A 0 A_GiveInventory("FastAmmo_RC",1)
goto Ready1
Ready3:
QUIH G 1 A_WeaponReady
QUIH H 1 A_WeaponReady
QUIH I 1 A_WeaponReady
QUIH J 1 A_WeaponReady
QUIH K 1 A_WeaponReady
QUIH L 1 A_WeaponReady
goto Ready1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
QUIH A 1 A_Lower
loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
QUIH A 1 A_Raise
Loop
Fire:
QUIH A 0 A_JumpIfInventory("QuickManTrail",1,"Fire2")
goto Fire1
Fire1:
QUIH A 0 A_TakeInventory("FastAmmo",15)
QUIH A 0 A_PlaySoundEx("weapon/pshot","weapon")
QUIH A 0 A_GiveInventory("QuickM_MainInv_CI",1)
QUIH B 1 Offset(10,40) //A_GiveInventory("FastAmmo",1)
QUIH B 0 A_JumpIfInventory("PowerRage_ST",1,1)
QUIH B 1 Offset(15,45)
QUIH A 1 Offset(22,52)
QUIH A 1 Offset(24,54)

QUIH A 1 Offset(25,55) //A_GiveInventory("FastAmmo",1)
QUIH B 0 A_JumpIfInventory("PowerRage_ST",1,1)
QUIH A 1 Offset(25,55)
QUIH A 1 Offset(25,55)
QUIH A 1 Offset(24,54)
QUIH A 1 Offset(22,52) //A_GiveInventory("FastAmmo",1)
QUIH B 0 A_JumpIfInventory("PowerRage_ST",1,1)
QUIH A 1 Offset(13,43)
QUIH A 1 Offset(10,40)
QUIH A 1 Offset(7,37)

QUIH A 1 Offset(4,34)
QUIH A 0 //A_GiveInventory("FastAmmo",1)
QUIH A 2 A_WeaponReady(14)
Goto Ready1

Fire2:
QUIH A 0 A_TakeInventory("FastAmmo",15)
QUIH A 0 A_PlaySoundEx("weapon/pshot","weapon")
QUIH A 0 A_GiveInventory("QuickM_MainInv_CI",1)
QUIH B 1 Offset(10,40)A_JumpIfInventory("PowerRage_ST",1,1)
QUIH A 1 Offset(22,52)
QUIH A 1 Offset(25,55)A_JumpIfInventory("PowerRage_ST",1,1)
QUIH A 1 Offset(25,55)
QUIH A 1 Offset(22,52)A_JumpIfInventory("PowerRage_ST",1,1)
QUIH A 1 Offset(10,40)
QUIH A 1 Offset(7,37)A_JumpIfInventory("PowerRage_ST",1,1)
QUIH A 1 Offset(4,34)
QUIH A 1 A_WeaponReady(14)
Goto Ready1
Altfire:
QUIH A 0 A_JumpIfInventory("QuickManTrail",1,"Altfire2")
goto Altfire1

Altfire1:
QUIH A 0 A_TakeInventory("FastAmmo",15)
QUIH A 0 A_PlaySoundEx("weapon/quickbuster","Weapon")
QUIH A 0 A_GiveInventory("QuickM_AltInv_CI",1)
QUIH D 1 A_JumpIfInventory("PowerRage_ST",1,1)
QUIH E 1
QUIH F 1 A_JumpIfInventory("PowerRage_ST",1,1)
QUIH A 3 A_WeaponReady(14)
Goto Ready1

Altfire2:
QUIH A 0 A_TakeInventory("FastAmmo",15)
QUIH A 0 A_PlaySoundEx("weapon/quickbuster","Weapon")
QUIH A 0 A_GiveInventory("QuickM_AltInv_CI",1)
QUIH D 1 A_JumpIfInventory("PowerRage_ST",1,1)
QUIH E 1
QUIH F 1
Goto Ready1

}
}

actor FastAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 420
+INVENTORY.IGNORESKILL
}

actor FastAmmo_RC : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,"PickupR")
TNT1 A 0 A_GiveInventory("FastAmmo",2)
stop
PickupR:
TNT1 A 0 A_GiveInventory("FastAmmo",4)
stop
}
}

actor QuickManTrail : PowerSpeed
{
Speed 1.333
Powerup.Duration 105
}

actor QuickManVuln : BasePowerWeak
{
damagefactor "Normal",1.333
Powerup.Duration 105
}

actor QuickTrailItem : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.icon "QuiIcon"
scale 2.0
Tag "$TAGC_2D2"
inventory.pickupmessage "Five hour energy packed into less than five seconds."
+INVBAR
states
{
Spawn:
QUII A 1
loop
Use:
Use:
TNT1 A 0 A_JumpIfInventory("FastAmmo",420,"Success")
fail
Success:
QUIK N 0 A_PlaySoundEx("Class/QuickRun","SoundSlot6")
TNT1 A 0 A_GiveInventory("QuickManTrail",1)
TNT1 A 0 A_GiveInventory("QuickManVuln",1)
TNT1 A 0 A_GiveInventory("GuardDownFlag",1)
TNT1 A 0 A_SpawnItemEx("QuickManAmmoDrainer") //You know, so the SBAR actually works.
fail
}
}


actor QuickManAmmoDrainer : BasicHelper
{
reactiontime 105 //Quickman trail duration.
States
{
Spawn:
TNT1 AA 0 
QUIH A 0 A_JumpIfInTargetInventory("FastAmmo",1,"SpawnContinue")
goto Death
SpawnContinue:
TNT1 A 0 A_JumpIfInTargetInventory("IsDead",1,"Death")
TNT1 A 0 A_TakeFromTarget("FastAmmo",4)
TNT1 A 0 A_CountDown
TNT1 A 1
goto Spawn
Death:
TNT1 A 0 
TNT1 A 0 A_TakeFromTarget("QuickManTrail",1)
TNT1 A 0 A_TakeFromTarget("QuickManVuln",1)
TNT1 A 0 A_TakeFromTarget("GuardDownFlag",1)
stop
}
}


actor Quickbossrangs1 : QuickBoomerang
{
translation "192:192=229:229"
damage (6)
reactiontime 6
damagetype "QuickM_Rapid"
bouncecount 7
Radius 6
Speed 60
+USEBOUNCESTATE
+DOOMBOUNCE
States
{
Spawn:
TNT1 AA 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
QUIK QQRR 1 A_ChangeVelocity(-5,0,0,CVF_RELATIVE)
QUIK Q 0 A_CountDown
QUIK SSTT 1 A_ChangeVelocity(-5,0,0,CVF_RELATIVE)
QUIK Q 0 A_CountDown
loop
Bounce:
QUIK Q 0 A_PlaySound("wep/shieldtink",1,0.3)
QUIK Q 0 A_SpawnItemEx("QuickBoomerangDeathFX",0,0,0,random(2,8),random(-8,8),random(2,8),0,1)
stop
Bounce.Ceiling:
QUIK Q 0 A_PlaySound("wep/shieldtink",1,0.3)
QUIK Q 0 A_SpawnItemEx("QuickBoomerangDeathFX",0,0,0,random(-8,8),random(-8,8),random(-2,-8),0,1)
stop
}
}

actor Quickbossrangs1Speed : Quickbossrangs1
{
Speed 90
States
{
Spawn:
TNT1 AA 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
QUIK QQRR 1 A_ChangeVelocity(-7.5,0,0,CVF_RELATIVE)
QUIK Q 0 A_CountDown
QUIK SSTT 1 A_ChangeVelocity(-7.5,0,0,CVF_RELATIVE)
QUIK Q 0 A_CountDown
loop
}
}

actor Quickbossrangs1B : Quickbossrangs1{translation "192:192=74:74"}
actor Quickbossrangs1R : Quickbossrangs1{translation "192:192=41:41"}
actor Quickbossrangs1O : Quickbossrangs1{translation "192:192=128:128"}
actor Quickbossrangs1P : Quickbossrangs1{translation "192:192=232:232"}

actor Quickbossrangs1SpeedB : Quickbossrangs1Speed{translation "192:192=74:74"}
actor Quickbossrangs1SpeedR : Quickbossrangs1Speed{translation "192:192=41:41"}
actor Quickbossrangs1SpeedO : Quickbossrangs1Speed{translation "192:192=128:128"}
actor Quickbossrangs1SpeedP : Quickbossrangs1Speed{translation "192:192=232:232"}

actor Quickbossrangs2 : Quickbossrangs1
{
translation "192:192=4:4"
damagetype "QuickM_Shot"
}
actor Quickbossrangs2Speed : Quickbossrangs1Speed
{
translation "192:192=4:4"
damagetype "QuickM_Shot"
}

actor Quickbossrangs2B : Quickbossrangs2{translation "192:192=205:205"}
actor Quickbossrangs2R : Quickbossrangs2{translation "192:192=171:171"}
actor Quickbossrangs2O : Quickbossrangs2{translation "192:192=104:104"}
actor Quickbossrangs2P : Quickbossrangs2{translation "192:192=229:229"}

actor Quickbossrangs2SpeedB : Quickbossrangs2Speed{translation "192:192=205:205"}
actor Quickbossrangs2SpeedR : Quickbossrangs2Speed{translation "192:192=171:171"}
actor Quickbossrangs2SpeedO : Quickbossrangs2Speed{translation "192:192=104:104"}
actor Quickbossrangs2SpeedP : Quickbossrangs2Speed{translation "192:192=229:229"}

actor QuickBoomerangDeathFX
{
+MISSILE
+THRUACTORS
+CLIENTSIDEONLY
Gravity 1.25
Radius 2
Height 2
scale 2.5
States
{
Spawn:
QUIK T 1 A_Fadeout(0.05)
//TNT1 A 1
loop
}
}

actor Quickbossrangs2Return : Quickbossrangs2
{
States
{
Death:
goto XDeath
}
}

actor QuickM_MainInv_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("QuickManTrail",1,"Pickup2")
Pickup1:
TNT1 A 0 A_GiveInventory("QuickmanMain_CI")
stop
Pickup2:
TNT1 A 0 A_GiveInventory("QuickmanMain2_CI")
stop
}
}

actor QuickM_AltInv_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("QuickManTrail",1,"Pickup2")
Pickup1:
TNT1 A 0 A_GiveInventory("QuickmanAlt_CI")
stop
Pickup2:
TNT1 A 0 A_GiveInventory("QuickmanAlt2_CI")
stop
}
}

actor QuickmanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2",-10,1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2B",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2B",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2B",-10,1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2R",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2R",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2R",-10,1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2O",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2O",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2O",-10,1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2P",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2P",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2P",-10,1,8,0)
goto Done
}
}

actor QuickmanAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs1",0,1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs1B",0,1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs1R",0,1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs1O",0,1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs1P",0,1,8,0)
goto Done
}
}

actor QuickmanMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2Speed",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2Speed",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2Speed",-10,1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2SpeedB",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2SpeedB",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2SpeedB",-10,1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2SpeedR",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2SpeedR",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2SpeedR",-10,1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2SpeedO",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2SpeedO",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2SpeedO",-10,1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2SpeedP",10,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2SpeedP",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Quickbossrangs2SpeedP",-10,1,8,0)
goto Done
}
}

actor QuickmanAlt2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs1Speed",0,1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs1SpeedB",0,1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs1SpeedR",0,1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs1SpeedO",0,1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("Quickbossrangs1SpeedP",0,1,8,0)
goto Done
}
}

