actor NoiseCrushBoss : BaseMM8BDMWep_CBM 
{
tag "$TAGC_7G"
dropitem "NoiseCrushWepCDropped"
//Weapon.AmmoUse 28
Weapon.AmmoGive 56
Obituary "$OB_NOISECRUSH"
Inventory.Pickupmessage "Power up! Noise Crush!"
weapon.ammotype "MakeSomeNoiseAmmo"
States
{
Spawn:
C_07 G 1
loop
Ready:
SHDW A 0 ACS_ExecuteAlways(998,0,DYE_SHADEMAN)
goto Ready1
Ready1:
SHDW A 0 A_JumpIfInventory("NoiseCrushFlagB",1,"ReadyCharged")
SHDW A 2 A_WeaponReady
SHDW A 0 A_JumpIfInventory("NoiseCrushFlagB",1,"ReadyCharged")
SHDW A 2 A_WeaponReady
SHDW A 0 A_JumpIfInventory("ShadeNeedsLand",1,2)
SHDW A 0 A_GiveInventory("MakeSomeNoiseAmmo",1)
SHDW A 0
loop
ReadyCharged:
SHDW E 0 A_PlaySoundEx("weapon/noisecrushcharge","Weapon")
SLSA B 0 ///A_GiveInventory("ShadeMoonlightSpeed")
SHDW E 0 ACS_ExecuteAlways(998,0,DYE_SHADECHARGE1,6)
SHDW A 0 A_SpawnItemEx("BassChargeFX",32,0,random(0,48),velx,vely,velz+12,random(0,360),SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
SHDW E 1 A_WeaponReady
SHDW D 0 ACS_ExecuteAlways(998,0,DYE_SHADECHARGE2,7)
SHDW A 0 A_SpawnItemEx("BassChargeFX",32,0,random(0,48),velx,vely,velz+12,random(0,360),SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
SHDW D 1 A_WeaponReady
SHDW E 0 A_JumpIfInventory("PowerRage_ST",1,5)
SHDW E 0 ACS_ExecuteAlways(998,0,DYE_SHADECHARGE1,6)
SHDW A 0 A_SpawnItemEx("BassChargeFX",32,0,random(0,48),velx,vely,velz+12,random(0,360),SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
SHDW E 1 A_WeaponReady
SHDW D 0 ACS_ExecuteAlways(998,0,DYE_SHADECHARGE2,7)
SHDW A 0 A_SpawnItemEx("BassChargeFX",32,0,random(0,48),velx,vely,velz+12,random(0,360),SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
SHDW D 1 A_WeaponReady
SHDW E 0 A_PlaySoundEx("weapon/noisecrushcharge","Weapon")
SLSA B 0 //A_GiveInventory("ShadeMoonlightSpeed")
SHDW E 0 ACS_ExecuteAlways(998,0,DYE_SHADECHARGE1,6)
SHDW A 0 A_SpawnItemEx("BassChargeFX",32,0,random(0,48),velx,vely,velz+12,random(0,360),SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
SHDW E 1 A_WeaponReady
SHDW D 0 ACS_ExecuteAlways(998,0,DYE_SHADECHARGE2,7)
SHDW A 0 A_SpawnItemEx("BassChargeFX",32,0,random(0,48),velx,vely,velz+12,random(0,360),SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
SHDW D 1 A_WeaponReady
SHDW E 0 A_JumpIfInventory("PowerRage_ST",1,5)
SHDW E 0 ACS_ExecuteAlways(998,0,DYE_SHADECHARGE1,6)
SHDW A 0 A_SpawnItemEx("BassChargeFX",32,0,random(0,48),velx,vely,velz+12,random(0,360),SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
SHDW E 1 A_WeaponReady
SHDW D 0 ACS_ExecuteAlways(998,0,DYE_SHADECHARGE2,7)
SHDW A 0 A_SpawnItemEx("BassChargeFX",32,0,random(0,48),velx,vely,velz+12,random(0,360),SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
SHDW D 1 A_WeaponReady
SHDW D 0 A_JumpIfInventory("ShadeNeedsLand",1,2)
SHDW D 0 A_GiveInventory("MakeSomeNoiseAmmo",1)
SHDW D 0
loop

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
SHDW A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
SHDW A 1 A_Raise
Loop

Fire:
SHDW A 0 A_JumpIfInventory("ShadeGrabFlight",1,"SwoopThrustDunk")
SHDW A 0 A_JumpIfInventory("ShademanIsFlying",1,"FireFlying")
SHDW A 0 A_JumpIfInventory("NoiseCrushFlagB",1,"Fire2")
SHDW A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)
SHDW A 0 A_PlaySoundEx("weapon/NoiseC1","Weapon")
SHDW A 0 A_GiveInventory("ShademanMain_CI",1)
SHDW BC 2
SHDW CCCCBBBAA 1
SHDW A 4 //17
SHDW A 0 A_Refire
SHDW A 0 A_JumpIfInventory("ShademanIsFlying",1,1)
goto Ready1
TNT1 A 0
goto AltFire+5

FireFlying:
SHDW A 1 OffSet(-110,54)A_TakeInventory("ShadeFlightSpeed")
SHDW A 1 OffSet(-22,34)
FireFlyingHold:
SHDW A 0 A_TakeInventory("ShadeFlightSpeed")
SHDW A 0 A_PlaySoundEx("weapon/NoiseC1","Weapon")
SHDW A 0 A_GiveInventory("ShademanMain_CI",1)
SHDW BC 2
SHDW CCCCBBBAA 1
SHDW A 4
SHDW A 0 A_Refire("FireFlyingHold")
SHDW A 0 A_JumpIfInventory("ShademanIsFlying",1,1)
goto Ready1
TNT1 A 0 A_JumpIf(floorz-z==0,"FlightEnd")
goto AltFire+5

Fire2:
SHDW C 0 A_PlaySoundEx("weapon/NoiseC2","Weapon")
SHDW A 0 A_GiveInventory("ShademanMain2_CI",1)
SHDW C 0 A_TakeInventory("NoiseCrushFlagB",1)
SHDW G 1 Offset(-5, 41)
SHDW G 1 Offset(-9, 45)
SHDW H 1 Offset(-10, 46)
SHDW H 1 Offset(-10, 46)
SHDW C 0 ACS_ExecuteAlways(998,0,DYE_SHADEMAN,1)
/*SHDW C 14
SHDW BA 2
SHDW A 3 */ //25
SHDW C 1 Offset(-10, 46)
SHDW C 1 Offset(-10, 46)
SHDW B 1 Offset(-10, 46)
SHDW B 1 Offset(-10, 46)
SHDW A 1 Offset(-9, 45)
SHDW A 1 Offset(-5, 41)
SHDW A 1 Offset(-2, 37)
SHDW A 14 A_WeaponReady(14)
SHDW A 0 A_Refire
Goto Ready1

AltFire:
SHDW A 0 A_JumpIfInventory("ShadeGrabFlight",1,"SwoopThrustEndCancel")
SHDW A 0 A_JumpIfInventory("ShademanIsFlying",1,"FlightMode")
SHDW A 0 A_JumpIfInventory("NoiseCrushFlagB",1,"Fire2")
SHDW A 0 A_JumpIfInventory("MakeSomeNoiseAmmo",1,"Altfire2")
Goto Ready1
SHDW A 0 A_JumpIfInventory("MakeSomeNoiseAmmo",1,"Altfire2M")
Goto Ready1


//Copy of Altfire2 but goes straight to Flight so it doesnt thrust shademan upwards
Altfire2M:
SHDW A 0 A_TakeInventory("SuplexID",999)
SHDW A 0 A_GiveInventory("ShademanIsFlying",1)
SHDW A 0 A_PlaySound("weapon/shadewing",1,0.5)
SHDW A 1 OffSet(-22,34)
SHDW A 1 OffSet(-60,40)A_TakeInventory("ShadeIsDoneC",999)
SHDW A 1 OffSet(-110,54)
SHDW A 0 A_GiveInventory("ShademanIsFlying",1)
SHDW A 0 A_GiveInventory("ShadeNeedsLand",1)
SHDW A 0 A_GiveInventory("ShadeFDelay1",1)
TNT1 A 1 OffSet(-110,54)//A_GunFlash
TNT1 A 0 A_GiveInventory("ShadeFlightSpeed")
Goto Flight4
//-------------------

Altfire2:
SHDW A 0 A_TakeInventory("SuplexID",999)
SHDW A 0 A_GiveInventory("ShademanIsFlying",1)
SHDW A 0 A_PlaySound("weapon/shadewing",1,0.5)
SHDW A 3 OffSet(-22,34)
SHDW A 3 OffSet(-60,40)A_TakeInventory("ShadeIsDoneC",999)
SHDW A 2 OffSet(-110,54)
SHDW A 0 A_GiveInventory("ShademanIsFlying",1)
SHDW A 0 A_GiveInventory("ShadeNeedsLand",1)
SHDW A 0 A_GiveInventory("ShadeFDelay1",1)
TNT1 A 1 OffSet(-110,54)//A_GunFlash
TNT1 A 0 A_GiveInventory("ShadeFlightSpeed")
Goto FlightMode

FlightMode:
TNT1 A 0 A_TakeInventory("MakeSomeNoiseAmmo",4)
TNT1 A 0 A_JumpIfInventory("MakeSomeNoiseAmmo",1,"Thrust")
Goto Flight
Thrust:
TNT1 A 0 A_GiveInventory("ShadeWing",1)
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,2)
TNT1 A 0 ThrustThingZ(0,30,0,0)
TNT1 A 0 A_GiveInventory("ShadeFDelay2",1)
Flight:
TNT1 A 0 A_TakeInventory("NoiseCrushFlagB",999)
TNT1 A 0 //A_TakeInventory("IsInvunFlag",999)
TNT1 A 0 //A_ChangeFlag("INVULNERABLE",0)

TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,2)
TNT1 A 0 A_SetGravity(0.125)
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,2)
TNT1 A 0 A_SetGravity(0.125)
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,2)
TNT1 A 0 A_SetGravity(0.125)
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,2)
TNT1 A 0 A_SetGravity(0.125)
TNT1 A 1

//TNT1 AAAA 1
TNT1 A 0 A_TakeInventory("ShadeWing",1)
//TNT1 AAAAAAAAAAAAAAAA 1 A_JumpIf(floorz-z==0,"FlightEnd")

TNT1 A 0 A_JumpIfInventory("ShadeFDelay1",1,"Flight2")
goto Flight3
Flight2:
TNT1 A 0 A_JumpIf(floorz-z==0,"FlightEnd")
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,2)
TNT1 A 0 A_SetGravity(0.125)
TNT1 A 1 A_WeaponReady(WRF_NOFIRE)
TNT1 A 0 A_JumpIfInventory("ShadeFDelay1",1,"Flight2")
goto Flight4
Flight3:
TNT1 A 0 A_JumpIf(floorz-z==0,"FlightEnd")
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,2)
TNT1 A 0 A_SetGravity(0.125)
TNT1 A 1 A_WeaponReady(WRF_NOSECONDARY|WRF_AllowReload)
TNT1 A 0 A_JumpIfInventory("ShadeFDelay2",1,"Flight3")
goto Flight4
Flight4:
TNT1 A 0 A_JumpIf(floorz-z==0,"FlightEnd")
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,2)
TNT1 A 0 A_SetGravity(0.125)
TNT1 A 1 A_WeaponReady(WRF_AllowReload)
loop

Reload:
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("ShademanIsFlying",1,"Swoop")
goto Flight2

Swoop:
TNT1 A 0 A_JumpIfInventory("MakeSomeNoiseAmmo",10,"SwoopStart")
TNT1 A 0 //A_GiveInventory("ShadeNeedsLand",1)
Goto FlightEnd

SwoopStart:
TNT1 A 0 ACS_NamedExecuteAlways("BULL_SetState",0,1)
TNT1 A 0 A_TakeInventory("ShadeFlightSpeed")
TNT1 A 0 //SetPlayerProperty(0,1,1)//NoTarget
TNT1 A 0 A_PlaySoundEx("weapon/shadedive", "Body")
TNT1 A 0 A_GiveInventory("SwoopSafeGuard",1)
TNT1 A 0 A_TakeInventory("ZangiefAngle",255)
TNT1 A 0 A_TakeInventory("MakeSomeNoiseAmmo",10,1)
TNT1 A 0 //SetPlayerProperty(0,1,0)//Frozen
SHDW F 2 OffSet(0,70)//A_Stop
SHDW F 2 OffSet(0,36)ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,1,1)
Swooping:
SHDW F 0 //A_GiveInventory("IsInvunFlag",1)
SHDW F 0 //A_ChangeFlag("INVULNERABLE",1)
SHDW F 0 A_Recoil(-3)
SHDW F 0 ThrustThingZ(0,6,1,1)
SHDW F 0 A_SpawnItemEx("SwoopDamagerZ",40,0,-16,momx*1.05,momy*1.05,momz-1,0,8,0)
SHDW F 0 A_JumpIfInventory("SwoopSafeGuard",100,"SwoopFail")
SHDW F 1 OffSet(0,2)A_JumpIf(floorz-z==0,"SwoopFail")
SHDW F 0 A_JumpIfInventory("SuplexID",1,"SwoopSuplex")
SHDW F 0 A_GiveInventory("SwoopSafeGuard",1)
loop

SwoopSuplex:
SHDW F 0 A_TakeInventory("SwoopSafeGuard",999)
SHDW F 0 //A_TakeInventory("IsInvunFlag",99)
SHDW F 0 //A_ChangeFlag("INVULNERABLE",0)
SHDW F 0 A_GiveInventory("IsPerformingSuplex",1)
SHDW F 0 A_GiveInventory("ShadeInvulnerability",1)
SHDW F 0 A_GiveInventory("ShadeM_BasicArmor_P",1)
SHDW F 0 A_GiveInventory("SetDynamicArmorDosage_P",1)
SHDW F 0 A_SpawnItemEx("ShadeArmorHelper")
SHDW F 0 A_GiveInventory("ShadeGrabFlight",1)
SHDW F 0 //SetPlayerProperty(0,0,1)//NoTarget
SHDW F 0 //SetPlayerProperty(0,0,0)//Frozen

SHDW F 0 A_PlaySoundEx("KirbyNES/FoeGrab","SoundSlot7")

SHDW F 0 A_TakeInventory("UnSolid",99)
SHDW F 0 A_ChangeFlag("SOLID",0)
SHDW F 0 A_ChangeFlag("THRUSPECIES",1)
SHDW F 0 A_Stop

SHDW F 0 A_GiveInventory("ShadeSuckDelayZ",1)
SHDW F 0 A_GiveInventory("ShadeSuckDelay_RC",1)
SHDW F 0 A_GiveInventory("StunArmor",1)



SHDW F 0 A_GiveInventory("ZangiefAngle",CallACS("cbm_ZangiefFaceTarget",CallACS("cbm_ZangiefCountInv",2)+999))
SHDW F 0 A_SetAngle(CallACS("cbm_ZangiefCountInv",1)*360/256)

SHDW F 1 OffSet(0,19)ACS_NamedExecuteAlways("cbm_ZangiefStartGrab",0,CallACS("cbm_ZangiefCountInv",2)+999)
SHDW F 0 A_JumpIf(ACS_ExecuteWithResult(C_COMPARE_TEAM,CallACS("cbm_ZangiefCountInv",2)+999)==0,"SwoopSuplexTeam1")
//SHDW E 0 A_LOG("TIME FOR PAIN")
goto SwoopSuplex2
SwoopSuplex2:
SHDW F 0 A_Jumpif(CallACS("cbm_ZangiefGrab",25,CallACS("cbm_ZangiefCountInv",1),80)==0,"FlightEnd")
SHDW F 0 ThrustThingZ(0,12,0,0)
SHDW F 0 A_GiveInventory("TempPitProtect_P",1)
SHDW F 0 A_JumpIfInventory("ShadeIsDoneC",1,"SwoopThrustEnd")
SHDW F 0 A_JumpIfInventory("ShadeSuckDelay",1,"SwoopSuplex3")
goto SwoopSuplexSuck

SwoopSuplexTeam1:
//SHDW F 0 A_LOG("TEAM TIME")
SHDW F 0 A_GiveInventory("ShadeTeamGrabFlag",1)
SHDW F 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,120,100)//115% speed
goto SwoopSuplexTeam2
SwoopSuplexTeam2:
SHDW F 0 A_Jumpif(CallACS("cbm_ZangiefGrab",25,CallACS("cbm_ZangiefCountInv",1),80)==0,"FlightEnd")
SHDW F 0 ThrustThingZ(0,12,0,0)
SHDW F 0 A_GiveInventory("TempPitProtect_P",1)
SHDW F 0 A_JumpIfInventory("ShadeIsDoneC",1,"SwoopThrustEnd")
goto SwoopSuplexTeam3
SwoopSuplexTeam3:
SHDW F 0 A_JumpIfInventory("ShadeSuckDelayZ",1,"SwoopSuplexTeam4")
SHDW F 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TID_JUMP,CallACS("cbm_ZangiefCountInv",2)-1)==1,"SwoopThrustEnd")
SHDW F 1 A_WeaponReady
SHDW F 1 A_JumpIfInventory("ShadeGrabFlight",1,"SwoopSuplexTeam2")
Goto FlightEnd
SwoopSuplexTeam4:
SHDW F 1 A_WeaponReady(WRF_NOFIRE)
SHDW F 1 A_JumpIfInventory("ShadeGrabFlight",1,"SwoopSuplexTeam2")
Goto FlightEnd

SwoopSuplex3:
SHDW F 0 A_JumpIfInventory("ShadeSuckDelayZ",1,"SwoopSuplex4")
SHDW F 1 A_WeaponReady
SHDW F 1 A_JumpIfInventory("ShadeGrabFlight",1,"SwoopSuplex2")
Goto FlightEnd
SwoopSuplex4:
SHDW F 1 A_WeaponReady(WRF_NOFIRE)
SHDW F 1 A_JumpIfInventory("ShadeGrabFlight",1,"SwoopSuplex2")
Goto FlightEnd

SwoopSuplexSuck:
SHDW F 0 A_GiveInventory("ShadeSuckDelay_RC",1)
SHDW F 0 A_FireCustomMissile("ShadeSuckAtomicBuster",0,0,0,0)
goto SwoopSuplex3

SwoopThrustDunk:
SHDW E 0 A_PlaySoundEx("weapon/shadekickpush","Weapon")
SHDW F 0 A_SpawnItemEx("ShadeSuckAtomicDunk",0,0,0)
SHDW F 0 ACS_NamedExecuteAlways("cbm_ZangiefGiver",0,2,CallACS("cbm_ZangiefCountInv",2)+999)
SHDW F 0 //ThrustThing(CallACS("cbm_ZangiefCountInv",1),-25,1,0)
SHDW F 0 ThrustThingZ(0,60,0,1)
goto FlightEnd

SwoopThrustEndCancel:
SHDW F 0 A_SpawnItemEx("ShadeSuckAtomicShove",0,0,0)
SwoopThrustEnd:
SHDW F 0 ACS_NamedExecuteAlways("cbm_ZangiefGiver",0,2,CallACS("cbm_ZangiefCountInv",2)+999)
SHDW F 0 ThrustThing(CallACS("cbm_ZangiefCountInv",1),-35,1,0)
SHDW F 0 ThrustThingZ(0,20,0,1)
goto FlightEnd

SwoopFail:
SHDW F 0 //A_TakeInventory("IsInvunFlag",999)
SHDW F 0 //A_ChangeFlag("INVULNERABLE",0)
SHDW F 0 A_SpawnItemEx("SwoopDamagerZ",40,0,-16,momx*1.05,momy*1.05,momz-1,0,8,0)
SHDW F 2 A_Recoil(-2)
SHDW F 0 A_JumpIfInventory("SuplexID",1,"SwoopSuplex")
SHDW F 0 A_SpawnItemEx("SwoopDamagerZ",40,0,-16,momx*1.05,momy*1.05,momz-1,0,8,0)
SHDW F 2 A_Recoil(-2)
SHDW F 0 A_JumpIfInventory("SuplexID",1,"SwoopSuplex")
SHDW F 0 A_SpawnItemEx("SwoopDamagerZ",40,0,-16,momx*1.05,momy*1.05,momz-1,0,8,0)
SHDW F 2 A_Recoil(-2)
SHDW F 0 A_JumpIfInventory("SuplexID",1,"SwoopSuplex")
SHDW F 0 A_TakeInventory("SwoopSafeGuard",999)
SHDW F 0 ThrustThingZ(0,16,0,1)
SHDW F 1 OffSet(0,18)A_Recoil(-2)
SHDW F 1 OffSet(0,18)A_GiveInventory("NoJumpCancel",1)
SHDW F 0 //SetPlayerProperty(0,0,1)//NoTarget
SHDW F 0 ThrustThingZ(0,16,0,1)
SHDW F 2 OffSet(0,34)A_Recoil(-2)
SHDW F 0 ThrustThingZ(0,6,0,1)
SHDW F 2 OffSet(0,50)A_Recoil(-2)
SHDW F 0 ThrustThingZ(0,6,0,1)
SHDW F 2 OffSet(0,66)//SetPlayerProperty(0,0,0)//Frozen
SHDW F 2 OffSet(0,82)
Goto FlightEnd+2

FlightEnd:
TNT1 A 0 A_ChangeFlag("THRUSPECIES",0)
TNT1 A 0 A_SpawnItemEx("ResolidifyPlayer_H")
TNT1 A 0 A_GiveInventory("ShadeNeedsLand",1)
TNT1 A 0 A_GunFlash
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)//100% Speed
TNT1 A 0 A_GiveInventory("ShadeIsDoneC",1)
TNT1 A 0 //A_ChangeFlag("INVULNERABLE",0)
TNT1 A 0 //A_TakeInventory("IsInvunFlag",999)
TNT1 A 0 A_TakeInventory("StunArmor",999)
TNT1 A 0 A_TakeInventory("ShadeGrabFlight",999)
TNT1 A 0 A_TakeInventory("IsPerformingSuplex",999)
TNT1 A 0 A_TakeInventory("PowerTempPitProtect",99)
TNT1 A 0 //SetPlayerProperty(0,0,1)//NoTarget
TNT1 A 0 A_GiveInventory("EnvironmentGravity",1)
SHDW A 2 OffSet(-110,54)A_GiveInventory("ShadeIsDoneC",1)
SHDW A 3 OffSet(-60,40)A_GiveInventory("ShadeIsDoneC",1)
SHDW A 3 OffSet(-22,34)A_GiveInventory("ShadeIsDoneC",1)
SHDW A 0 A_TakeInventory("ShademanIsFlying",99)
SHDW A 0 A_TakeInventory("NoiseCrushFlagB",1)
SHDW A 0 A_TakeInventory("NoJumpCancel",1)
SHDW A 0 A_TakeInventory("ShadeFlightSpeed")
NoAmmo:
SHDW A 0
Goto Ready1


Flash:
TNT1 A 0 //A_LOG("IM FLYING")//A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIf(z-floorz==0,4)
TNT1 A 0 A_JumpIf(momz==0,3)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1
loop
TNT1 A 1
TNT1 A 0 A_JumpIf(z-floorz==0,2)
TNT1 A 0 A_JumpIf(momz==0,1)
goto Flash+3
TNT1 A 1 A_TakeInventory("ShadeNeedsLand",99)
SHDW A 0 A_TakeInventory("ShadeFlightSpeed")
stop

}
}

actor MakeSomeNoiseAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 56
+INVENTORY.IGNORESKILL
}

actor ShadeMoonlightSpeed : PowerSpeed
{
Speed 1.2
Powerup.Duration 105
}

actor ShadeFlightSpeed : PowerSpeed
{
Speed 1.3
+NOTRAIL
}

actor NoiseCrushFlagB : OnceC {}

actor ShademanIsFlying : OnceC {}

actor ShadeWing : OnceC {}

actor ShadeNeedsLand : OnceC {}

actor SwoopSafeGuard : Inventory
{
Inventory.amount 1
Inventory.maxamount 100
}

actor ShadeTeamGrabFlag : Powerup
{
Powerup.Duration 20
}

actor ShadeFDelay1 : PowerUp
{
Powerup.Duration 16
}

actor ShadeFDelay2 : ShadeFDelay1 {}

/*
actor ShadeDrainPower : Powerup//PowerDrain
{
Powerup.Duration -30
}

/*actor SwoopDamager : BasicExplosion
{
damagetype "ShadeDrain"
Speed 1
Obituary "$OB_SHADESWOOP"
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(10,90,0)//15 80
stop
} 
}

actor ShadeProtection : PowerProtection
{
powerup.duration 12
damagefactor "normal", 0.2
}
*/

actor ShadeGrabArmor : BasicArmorPickup
{
Armor.Savepercent 50.001
Armor.Saveamount 33
}

actor ShadeInvulnerability : PowerInvulnerable
{
powerup.duration 10
}

actor ShadeGrabFlight : PowerUp
{
Powerup.Duration -5//90
}

actor ShadeIsDoneC : OnceC {}

actor ShadeSuckDelay : Powerup
{
+INVENTORY.ADDITIVETIME
Powerup.Duration 10
}
actor ShadeSuckDelayZ : Powerup
{
Powerup.Duration 20
}

actor ShadeSuckDelay_RC : CustomInventory
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,"PickupR")
TNT1 A 0 A_GiveInventory("ShadeSuckDelay",1)
goto PickupR
PickupR:
TNT1 A 0 A_GiveInventory("ShadeSuckDelay",1)
stop
}
}

actor ShademanGrabRelease_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_Stop
TNT1 A 0 ThrustThingZ(0,12,0,0)
TNT1 A 0 A_GiveInventory("PowerShadeRelease",1)
stop
}
}

actor PowerShadeRelease : PowerSpeed
{
Powerup.Duration 14
Speed 3.0
}


actor ShadeSuckAtomicBuster : BasicExplosion
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 Thing_Move(0,CallACS("cbm_ZangiefCountInv",2,2)+999,1)
TNT1 A 0 A_FaceTarget
TNT1 A 0 A_CustomMissile("ShadeSuckWallCheck",-8,0,0,0)
TNT1 A 4 A_SpawnItemEx("ShadeSuckAtomicSuck",0,0,28)
stop
}
}

actor ShadeSuckWallCheck
{
PROJECTILE
+THRUACTORS
+DONTBLAST
+DONTREFLECT
renderstyle none
radius 8
height 4
speed 10
states
{
Spawn:
PLAY A 0
PLAY A 1 A_GiveInventory("CutterFlag",1)
PLAY AAAAA 1
stop
Death:
PLAY F 35 A_JumpIfInventory("CutterFlag",1,"Detatch")
stop
Detatch:
//PLAY H 0 A_Log("\cgunhand him you fiend!")
PLAY H 35 A_GiveToTarget("ShadeIsDoneC",1)
stop
}
}

actor ShadeSuckAtomicSuck : BasicExplosion
{
+NOCLIP
+NOTARGETSWITCH
Obituary "$OB_SHADESWOOP"
damagetype "ShadeM_Drain"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(5,15,0,1,15)
stop
}
}

actor ShadeSuckAtomicDunk : BasicExplosion
{
Obituary "$OB_SHADEDUNK"
damagetype "ShadeM_Dunk"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(10,96,0,0,96)
stop
}
}

actor ShadeSuckAtomicShove : ShadeSuckAtomicDunk
{
damagetype "DMGNoHitstun"
}

actor SwoopDamagerZ
{
var int user_shade;
var int user_grab;
//+NOINTERACTION
+MISSILE
+NOGRAVITY
+NOEXPLODEFLOOR
+DONTBLAST
+DONTREFLECT
+HITTRACER
+THRUGHOST
height 64
radius 64
renderstyle none
scale 2.5
states
{
Spawn:
TNT1 A 2
stop
Crash:
TNT1 A 0 A_JumpIfInTargetInventory("SuplexID",1,"DeathI")
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("cbm_istracerplayer")==1,"GiveSuplex")
stop
GiveSuplex:
TNT1 A 0 A_JumpIfInTargetInventory("SuplexID",1,"DeathI")
TNT1 A 1 A_GiveToTarget("SuplexID",(ACS_ExecuteWithResult(147,1)-1000)+1)
stop

/* OLD

Crash:
TNT1 A 0 A_JumpIfInTargetInventory("SuplexID",1,"DeathI")
TNT1 A 0 A_RearrangePointers(0,0,2)//AAPTR_TARGET = 2
//TNT1 A 1 A_SetUserVar("user_shade",ACS_ExecuteWithResult(257))
//TNT1 A 0 A_LOGINT(user_shade)
TNT1 A 0 A_JumpIfInventory("SuplexID",1,"DeathI",8)//AAPTR_TRACER = 8
TNT1 A 1 A_LookEx(LOF_NOSOUNDCHECK, 0, 70, 0, 360, "See")
stop
See:
TNT1 A 0 //A_LOG("FoundFriend")
TNT1 A 0 //A_JumpIfInventory("SuplexID",1,"DeathI",8)
//TNT1 A 1 //A_SetUserVar("user_grab",ACS_ExecuteWithResult(257))
TNT1 A 0 //A_LOGINT(user_grab+1000)
TNT1 A 0 //A_JumpIf(user_shade==user_grab,"DeathJ")
TNT1 A 0 A_JumpIfInventory("SuplexID",1,"DeathI",8)
//TNT1 A 1 //A_GiveInventory("SuplexID",(user_grab-1000)+1,8)
TNT1 A 1 A_GiveInventory("SuplexID",(ACS_ExecuteWithResult(257)-1000)+1,8)
stop

*/
DeathI:
TNT1 A 1 //A_LOG("FAILED, OWNER HAS ID")
stop
DeathJ:
TNT1 A 1 //A_LOG("FAILED, I TARGETED MY OWNER!")
stop
Death:
TNT1 A 1
stop
}
}

actor ShadeArmorHelper : BasicHelper
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("ShadeTeamGrabFlag",1,"SpawnT")
TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("ShadeIsDoneC",1,"DeathRelease")
TNT1 A 0 A_JumpIfInTargetInventory("BasicArmor",1,"Spawn")
goto Death
SpawnT:
TNT1 A 0
TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"DeathT")
TNT1 A 0 A_JumpIfInTargetInventory("ShadeIsDoneC",1,"DeathT")
TNT1 A 0 A_JumpIfInTargetInventory("BasicArmor",1,"SpawnT")
goto Death
DeathRelease:
TNT1 A 0 A_TakeFromTarget("MakeSomeNoiseAmmo",14)
goto Death+2
Death:
TNT1 A 0 A_JumpIfInTargetInventory("IsDead",1,"SuperDeath")
TNT1 A 0 A_TakeFromTarget("MakeSomeNoiseAmmo",20)
TNT1 A 1 A_GiveToTarget("ShadeIsDoneC",1)
TNT1 A 0 A_TakeFromTarget("SetDynamicArmorDosage_P")
TNT1 A 1
TNT1 A 1 A_TakeFromTarget("BasicArmor",9999)
stop
DeathT:
TNT1 A 0 A_JumpIfInTargetInventory("IsDead",1,"SuperDeath")
goto Death+2
SuperDeath:
TNT1 A 1
stop
}
}


actor ShadeNoiseCrush
{
Translation "4:4=104:104","192:192=106:106", "198:198=112:112"
PROJECTILE
damagetype "ShadeM_Shot"
Obituary "$OB_NOISECRUSH"
+DONTREFLECT
+FORCEXYBILLBOARD
+BOUNCEONFLOORS
+BOUNCEONWALLS
+BOUNCEONCEILINGS
+ALLOWBOUNCEONACTORS
+CANBOUNCEWATER
+USEBOUNCESTATE
+RIPPER
BounceFactor 1.0
WallBounceFactor 1.0
bouncecount 2
reactiontime 17
damage (5)
Radius 6
Height 6
speed 25
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX1",0,0,0,0,0,0,0,1)
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX2",0,0,0,0,0,0,0,1)
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX3",0,0,0,0,0,0,0,1)
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX4",0,0,0,0,0,0,0,1)
TNT1 A 1 //A_CountDown
Goto Look+1
Look:
TNT1 A 0 A_Jump(256,2,4,6,8)
TNT1 A 0 A_JumpIfCloser(40,"Give")
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX4",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIfCloser(40,"Give")
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX3",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIfCloser(40,"Give")
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX2",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIfCloser(40,"Give")
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX1",0,0,0,0,0,0,0,1)
Goto Look+1

Bounce:
TNT1 A 0
TNT1 A 0 A_ChangeFlag("USEBOUNCESTATE",0)
Goto Look2+1

Look2:
TNT1 A 0 A_Jump(256,2,4,6,8)
TNT1 A 0 A_JumpIfCloser(40,"Give")
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX4",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIfCloser(40,"Give")
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX3",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIfCloser(40,"Give")
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX2",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIfCloser(40,"Give")
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX1",0,0,0,0,0,0,0,1)
TNT1 A 0 A_CountDown
Goto Look2+1

Give:
TNT1 A 0 A_JumpIfInTargetInventory("ShademanIsFlying",1,"Look2")
TNT1 A 0 //A_GiveToTarget("ShadeMoonlightSpeed")
TNT1 A 2 A_GiveToTarget("NoiseCrushFlagB",1)
stop
}
}

actor ShadeNoiseCrushB : ShadeNoiseCrush{translation "192:192=205:205","198:198=74:74","4:4=196:196"}
actor ShadeNoiseCrushR : ShadeNoiseCrush{translation "192:192=171:171","198:198=41:41","4:4=169:169"}
actor ShadeNoiseCrushO : ShadeNoiseCrush{translation "192:192=104:104","198:198=128:128","4:4=104:104"}
actor ShadeNoiseCrushP : ShadeNoiseCrush{translation "192:192=229:229","198:198=232:232","4:4=229:229"}

actor ShadeNoiseCrush2
{
Translation "4:4=138:138","192:192=104:104", "198:198=106:106"
PROJECTILE
damagetype "ShadeM_Shot2"
Obituary "$OB_NOISECRUSH"
+FORCEXYBILLBOARD
damage (30)
Radius 22
Height 16
speed 40
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
SHDW E 0 A_PlaySoundEx("weapon/noisecrushtravel","Weapon")
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX8",0,0,0,0,0,0,0,1)
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX7",0,0,0,0,0,0,0,1)
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX6",0,0,0,0,0,0,0,1)
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX5",0,0,0,0,0,0,0,1)
loop
Death:
SHDW E 0 A_PlaySoundEx("weapon/noisecrushimpact","Weapon")
TNT1 AAAA 2 A_SpawnItemEx("ShadeNoiseDeathFX",0,0,0,0,0,0,0,1)
stop
}
}

actor ShadeNoiseCrush2B : ShadeNoiseCrush2{translation "192:192=205:205","198:198=74:74","4:4=196:196"}
actor ShadeNoiseCrush2R : ShadeNoiseCrush2{translation "192:192=171:171","198:198=41:41","4:4=169:169"}
actor ShadeNoiseCrush2O : ShadeNoiseCrush2{translation "192:192=104:104","198:198=128:128","4:4=104:104"}
actor ShadeNoiseCrush2P : ShadeNoiseCrush2{translation "192:192=229:229","198:198=232:232","4:4=229:229"}

actor ShadeNoiseDeathFX : ShadeNoiseCrush2
{
damage (0)
states
{
Spawn:
SHDW V 0 A_Stop
SHDW V 0 A_FadeOut(0.1)
SHDW V 1 A_SetScale(scalex+.25)
SHDW V 0 A_FadeOut(0.1)
SHDW V 1 A_SetScale(scalex+.25)
SHDW W 0 A_FadeOut(0.1)
SHDW W 1 A_SetScale(scalex+.25)
SHDW W 0 A_FadeOut(0.1)
SHDW W 1 A_SetScale(scalex+.25)
SHDW X 0 A_FadeOut(0.1)
SHDW X 1 A_SetScale(scalex+.25)
SHDW X 0 A_FadeOut(0.1)
SHDW X 1 A_SetScale(scalex+.25)
SHDW Y 0 A_FadeOut(0.1)
SHDW Y 1 A_SetScale(scalex+.25)
SHDW Y 0 A_FadeOut(0.1)
SHDW Y 1 A_SetScale(scalex+.25)
SHDW Y 0 A_FadeOut(0.1)
SHDW Y 1 A_SetScale(scalex+.25)
SHDW Y 0 A_FadeOut(0.1)
SHDW Y 1 A_SetScale(scalex+.25)
loop
Death:
TNT1 A 1
stop
}
}


actor ShadeNoiseCrush33 : ShadeNoiseCrush2
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX8",0,0,0,0,0,0,0,1)
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX7",0,0,0,0,0,0,0,1)
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX6",0,0,0,0,0,0,0,1)
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX5",0,0,0,0,0,0,0,1)
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX5",0,0,0,0,0,0,0,1)
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX6",0,0,0,0,0,0,0,1)
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX7",0,0,0,0,0,0,0,1)
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX8",0,0,0,0,0,0,0,1)
loop
}
}

actor ShadeNoiseCrush44 : ShadeNoiseCrush
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX10",0,0,0,0,0,0,0,1)
wait
}
}
actor ShadeNoiseCrush55 : ShadeNoiseCrush2
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
TNT1 A 1 A_SpawnItemEx("ShadeNoiseCrushFX20",0,0,0,0,0,0,0,1)
wait
}
}

actor ShadeNoiseCrushFX1 : BasicClientSide
{
+FORCEXYBILLBOARD
States
{
Spawn:
SHDW R 0
SHDW R 4
stop
}
}
actor ShadeNoiseCrushFX2 : ShadeNoiseCrushFX1
{
States
{
Spawn:
SHDW S 0
SHDW S 4
stop
}
}
actor ShadeNoiseCrushFX3 : ShadeNoiseCrushFX1
{
States
{
Spawn:
SHDW T 0
SHDW T 4
stop
}
}
actor ShadeNoiseCrushFX4 : ShadeNoiseCrushFX1
{
States
{
Spawn:
SHDW U 0
SHDW U 4
stop
}
}
actor ShadeNoiseCrushFX5 : ShadeNoiseCrushFX1
{
States
{
Spawn:
SHDW V 0
SHDW V 7
stop
}
}
actor ShadeNoiseCrushFX6 : ShadeNoiseCrushFX1
{
States
{
Spawn:
SHDW W 0
SHDW W 7
stop
}
}
actor ShadeNoiseCrushFX7 : ShadeNoiseCrushFX1
{
States
{
Spawn:
SHDW X 0
SHDW X 7
stop
}
}
actor ShadeNoiseCrushFX8 : ShadeNoiseCrushFX1
{
States
{
Spawn:
SHDW Y 0
SHDW Y 7
stop
}
}

actor ShadeNoiseCrushFX10 : ShadeNoiseCrushFX1
{
+FORCEXYBILLBOARD
States
{
Spawn:
SHDW U 0
SHDW UTSR 1
stop
}
}
actor ShadeNoiseCrushFX20 : ShadeNoiseCrushFX1
{
+FORCEXYBILLBOARD
States
{
Spawn:
SHDW Y 0
SHDW YXWV 1
stop
}
}


actor ShademanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("ShadeNoiseCrush",0,0,-8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("ShadeNoiseCrushB",0,0,-8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("ShadeNoiseCrushR",0,0,-8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("ShadeNoiseCrushO",0,0,-8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("ShadeNoiseCrushP",0,0,-8,0)
goto Done
}
}

actor ShademanMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("ShadeNoiseCrush2",0,0,-8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("ShadeNoiseCrush2B",0,0,-8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("ShadeNoiseCrush2R",0,0,-8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("ShadeNoiseCrush2O",0,0,-8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("ShadeNoiseCrush2P",0,0,-8,0)
goto Done
}
}
