actor NoHealthBar : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor BossHealth1 : Inventory
{
inventory.amount 1
inventory.maxamount 1000
} 

actor BossHealth2 : Inventory
{
inventory.amount 1
inventory.maxamount 250
} 

actor BossHealth3 : Inventory
{
inventory.amount 1
inventory.maxamount 800
} 

actor BossHealth4 : Inventory
{
inventory.amount 1
inventory.maxamount 2500
} 

actor BossHealth5 : Inventory
{
inventory.amount 1
inventory.maxamount 1000
} 

actor ETank : CustomInventory 10091
{
inventory.amount 1
//Inventory.RespawnTics 350
inventory.maxamount 1
inventory.pickupmessage "Support Item! E-Tank!"
inventory.icon "ETANK"
Inventory.PickupSound "item/1up"
+INVBAR
+COUNTITEM
scale 2.0
States
{
Spawn:
EBAL E 0 
EBAL E 0 A_JumpIf(ACS_ExecuteWithResult(975,0)==3,"Death")
EBAL EF 6
Goto Spawn+2
Use:
EBAL E 0 A_JumpIfHealthLower(100,"Success")
fail
Success:
EBAL E 0 A_PlaySound("item/energyup")
EBAL E 0 A_PlaySoundEx("item/refill","Voice")
EBAL E 0 HealThing(100)
EBAL E 0 A_TakeInventory("ETank",1)
fail
Death:
TNT1 A 0
stop
}
}

actor WTank : CustomInventory 10151
{
inventory.amount 1
inventory.maxamount 5
//Inventory.RespawnTics 350
inventory.pickupmessage "Support Item! W-Tank!"
inventory.icon "WTANK"
Inventory.PickupSound "item/1up"
+INVBAR
+COUNTITEM
scale 2.0
States
{
Spawn:
EBAL EH 6
loop
Use:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(984,0),"Success")
fail
Success:
EBAL E 0 A_PlaySound("item/energyup")
EBAL E 0 A_PlaySoundEx("item/refill","Voice")
EBAL E 0 ACS_Execute(992, 0, 255)
EBAL E 0 A_TakeInventory("WTank",1)
fail
}
}

actor MTank : CustomInventory 10154
{
inventory.amount 1
inventory.maxamount 1
//Inventory.RespawnTics 450
inventory.pickupmessage "Support Item! M-Tank!"
inventory.icon "MTANK"
Inventory.PickupSound "item/1up"
+INVBAR
+COUNTITEM
scale 2.0
States
{
Spawn:
EBAL E 0 
EBAL E 0 A_JumpIf(ACS_ExecuteWithResult(975,0)==3,"Death")
EBAL EG 6
Goto Spawn+2
Use:
EBAL E 0 A_PlaySound("item/energyup")
EBAL E 0 A_PlaySoundEx("item/refill","Voice")
EBAL E 0 HealThing(100)
EBAL E 0 A_GiveInventory("BubbleAmmo",255)
EBAL E 0 A_GiveInventory("LeafAmmo",255)
EBAL E 0 A_GiveInventory("AtomicAmmo",255)
EBAL E 0 A_GiveInventory("ShadowAmmo",255)
EBAL E 0 A_GiveInventory("NapalmAmmo",255)
EBAL E 0 A_GiveInventory("AirAmmo",255)
EBAL E 0 A_GiveInventory("BombAmmo",255)
EBAL E 0 A_GiveInventory("MagnetAmmo",255)
EBAL E 0 A_GiveInventory("TopAmmo",255)
EBAL E 0 A_GiveInventory("NeedleAmmo",255)
EBAL E 0 A_GiveInventory("GeminiAmmo",255)
EBAL E 0 A_GiveInventory("SnakeAmmo",255)
EBAL E 0 A_GiveInventory("TimeAmmo",255)
EBAL E 0 A_GiveInventory("SuperArmAmmo",255)
EBAL E 0 A_GiveInventory("IceAmmo",255)
EBAL E 0 A_GiveInventory("ThunderBeamAmmo",255)
EBAL E 0 A_GiveInventory("DiveMissileAmmo",255)
EBAL E 0 A_GiveInventory("MetalBladeAmmo",255)
EBAL E 0 A_GiveInventory("HardKnuckleAmmo",255)
EBAL E 0 A_GiveInventory("DrillBombAmmo",255)
EBAL E 0 A_GiveInventory("BlizzardAttackAmmo",255)
EBAL E 0 A_GiveInventory("FireStormAmmo",255)
EBAL E 0 A_GiveInventory("QuickBoomerangAmmo",255)
EBAL E 0 A_GiveInventory("CrashBombAmmo",255)
EBAL E 0 A_GiveInventory("ChargeKickAmmo",255)
EBAL E 0 A_GiveInventory("RollingCutterAmmo",255)
EBAL E 0 A_GiveInventory("RingBoomerangAmmo",255)
EBAL E 0 A_GiveInventory("SparkShockAmmo",255)
EBAL E 0 A_GiveInventory("GyroAttackAmmo",255)
EBAL E 0 A_GiveInventory("PowerStoneAmmo",255)
EBAL E 0 A_GiveInventory("DustCrusherAmmo",255)
EBAL E 0 A_GiveInventory("PharaohShotAmmo",255)
EBAL E 0 A_GiveInventory("SkullBarrierAmmo",255)
EBAL E 0 A_GiveInventory("WaterWaveAmmo",255)
EBAL E 0 A_GiveInventory("CrystalEyeAmmo",255)
EBAL E 0 A_GiveInventory("FlameBlastAmmo",255)
EBAL E 0 A_GiveInventory("YamatoSpearAmmo",255)
EBAL E 0 A_GiveInventory("DiveMissileAmmo",255)
EBAL E 0 A_GiveInventory("PlantBarrierAmmo",255)
EBAL E 0 A_GiveInventory("SilverTomahawkAmmo",255)
EBAL E 0 A_GiveInventory("WindStormAmmo",255)
EBAL E 0 A_GiveInventory("KnightCrushAmmo",255)
EBAL E 0 A_GiveInventory("StarCrashAmmo",255)
EBAL E 0 A_GiveInventory("RainFlushAmmo",255)
EBAL E 0 A_GiveInventory("SakugarneAmmo",255)
EBAL E 0 A_GiveInventory("BalladeCrackerAmmo",255)
EBAL E 0 A_GiveInventory("ScrewCrusherAmmo",255)
EBAL E 0 A_GiveInventory("FlashStopperAmmo",255)
EBAL E 0 A_GiveInventory("GravityHoldAmmo",255)
EBAL E 0 A_GiveInventory("CentaurFlashAmmo",255)
EBAL E 0 A_GiveInventory("MirrorBusterAmmo",255)
EBAL E 0 A_GiveInventory("FreezeCrackerAmmo",255)
EBAL E 0 A_GiveInventory("DangerWrapAmmo",255)
EBAL E 0 A_GiveInventory("JunkShieldAmmo",255)
EBAL E 0 A_GiveInventory("ThunderBoltAmmo",255)
EBAL E 0 A_GiveInventory("SlashClawAmmo",255)
EBAL E 0 A_GiveInventory("ScorchWheelAmmo",255)
EBAL E 0 A_GiveInventory("NoiseCrushAmmo",255)
EBAL E 0 A_GiveInventory("WildCoilAmmo",255)
stop
Death:
TNT1 A 0
stop
}
}


actor BeatCall : CustomInventory 10157
{
//Inventory.RespawnTics 210
inventory.amount 1
inventory.maxamount 1
inventory.pickupmessage "Support Item! Beat Call!"
Inventory.PickupSound "item/1up"
scale 2.0
+COUNTITEM
states
{
Spawn:
WEA3 I 1
loop
Pickup:
WEA3 I 0 A_GiveInventory("BeatCallCheck",1)
stop
}
}

actor BeatCallCheck : Inventory 
{
inventory.amount 1
inventory.maxamount 1
states
{
Spawn:
WEA3 I 1
loop
}
}

actor BeatActivate : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+INVENTORY.AUTOACTIVATE
states
{
Spawn:
TNT1 A 1
loop
Pickup:
TNT1 A 1 A_SpawnItemEx("BeatGiver")
stop
}
}

actor BeatGiver
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 AAA 1 A_GiveToTarget("BeatFX1",1)
TNT1 AAA 1 A_GiveToTarget("BeatFX3",1)
TNT1 AAA 1 A_GiveToTarget("BeatFX2",1)
TNT1 A 0 A_TakeFromTarget("BeatCounter",1)
TNT1 A 0 A_JumpIfInTargetInventory("SpinTime",1,"Death2")
TNT1 A 0 A_JumpIfInTargetInventory("BeatCounter",5,"Spawn")
TNT1 A 0 A_TakeFromTarget("BeatCallCheck",1)
TNT1 A 0 A_JumpIfInTargetInventory("BeatCounter",1,"Spawn")
TNT1 A 0 A_GiveToTarget("FlyDeactivate",1)
TNT1 A 0 A_TakeFromTarget("BeatCallCheck",1)
TNT1 A 0 A_TakeFromTarget("BeatCounter",100)
stop
Death2:
TNT1 A 0 A_GiveToTarget("FlyDeactivate",1)
TNT1 A 0 A_TakeFromTarget("BeatCallCheck",1)
TNT1 A 0 A_TakeFromTarget("BeatCounter",100)
stop
}
}

actor BeatCounter : Inventory
{
inventory.amount 1
inventory.maxamount 20
States
{
Spawn:
TNT1 A 0
stop
}
}


actor BeatFX1 : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+AUTOACTIVATE
States
{
Spawn:
TNT1 A 1
loop
Use:
TNT1 A 1 SetPlayerProperty(0,1,3)
TNT1 A 1 A_SpawnItemEx("BeatFeet1",0,0,52,0,0,0,0,SXF_NOCHECKPOSITION)
stop
}
}

actor BeatFX2 : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+AUTOACTIVATE
States
{
Spawn:
TNT1 A 1
loop
Use:
TNT1 A 1 SetPlayerProperty(0,1,3)
TNT1 A 1 A_SpawnItemEx("BeatFeet2",0,0,52,0,0,0,0,SXF_NOCHECKPOSITION)
stop
}
}

actor BeatFX3 : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+AUTOACTIVATE
States
{
Spawn:
TNT1 A 1
loop
Use:
TNT1 A 1 SetPlayerProperty(0,1,3)
TNT1 A 1 A_SpawnItemEx("BeatFeet3",0,0,52,0,0,0,0,SXF_NOCHECKPOSITION)
stop
}
}

actor BeatFeet1
{
-SOLID
+CLIENTSIDEONLY
+NOGRAVITY
+NOINTERACTION
Scale 2.5
States
{
Spawn:
BEAT A 2
stop
}
}

actor BeatFeet2
{
-SOLID
+CLIENTSIDEONLY
+NOGRAVITY
+NOINTERACTION
Scale 2.5
States
{
Spawn:
BEAT B 2
stop
}
}

actor BeatFeet3
{
-SOLID
+CLIENTSIDEONLY
+NOGRAVITY
+NOINTERACTION
Scale 2.5
States
{
Spawn:
BEAT C 2
stop
}
}

actor RushCoil : CustomInventory 10090
{
//Inventory.RespawnTics 300
inventory.amount 1
inventory.maxamount 1
inventory.pickupmessage "Support Item! Rush Coil!"
inventory.icon "RCOIL"
Inventory.PickupSound "item/1up"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
WEAP B 1
loop
Use:
WEAP B 0 A_PlaySoundEx("item/refill","Voice")
WEAP B 0 A_SpawnItemEx("Rush", 40, 0, 256, 0, 0, -32, 0, SXF_NOCHECKPOSITION, 0)
stop
}
}

actor RushJet : CustomInventory 10152
{
//Inventory.RespawnTics 875
inventory.amount 1
inventory.maxamount 1
inventory.pickupmessage "Support Item! Rush Jet!"
inventory.icon "RUSHJ"
Inventory.PickupSound "item/1up"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
WEA2 B 1
loop
Use:
WEA2 B 0 A_JumpIfInventory("RushJetCounter",1,3)
WEA2 B 0 A_PlaySoundEx("item/refill","Voice")
WEA2 B 0 A_SpawnItemEx("Rush2", 40, 0, 256, 0, 0, -32, 0, SXF_NOCHECKPOSITION, 0)
stop
WEA2 B 0 A_PlaySoundEx("item/refill","Voice")
WEA2 B 0 A_GiveInventory("RushJetCounter",20)
stop
}
}


actor ProtoUpgrade : CustomInventory 10153
{
//Inventory.RespawnTics 350
inventory.amount 1
inventory.maxamount 1
inventory.pickupmessage "Support Item! Proto Upgrade!"
inventory.icon "PROTUP"
Inventory.PickupSound "item/1up"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
WEA2 Q 0
WEA2 Q 1 A_JumpIf(ACS_ExecuteWithResult(975,0)==3,"Death")
WEA2 Q 1
Goto Spawn + 2
Use:
WEA2 Q 0 A_PlaySoundEx("item/refill","Voice")
WEA2 Q 0 A_GiveInventory("ProtoBuster",1)
WEA2 Q 0 A_SelectWeapon("ProtoBuster")
WEA2 Q 0 A_TakeInventory("MegaBuster",1)
WEA2 Q 0 A_TakeInventory("BassBuster",1)
WEA3 A 0 A_TakeInventory("SuperadaptorWep",1)
stop
Death:
TNT1 A 0
Stop
}
}

actor BassUpgrade : CustomInventory 10155
{
//Inventory.RespawnTics 350
inventory.amount 1
inventory.maxamount 1
inventory.pickupmessage "Support Item! Bass Upgrade!"
inventory.icon "BASSUP"
Inventory.PickupSound "item/1up"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
WEA3 A 1
loop
Use:
WEA2 Q 0 A_PlaySoundEx("item/refill","Voice")
WEA3 A 0 A_GiveInventory("BassBuster",1)
WEA3 A 0 A_SelectWeapon("BassBuster")
WEA2 Q 0 A_TakeInventory("ProtoBuster",1)
WEA3 A 0 A_TakeInventory("MegaBuster",1)
WEA3 A 0 A_TakeInventory("SuperadaptorWep",1)
stop
}
}

actor EddieSummon : CustomInventory 10046
{
inventory.amount 1
inventory.maxamount 1
inventory.pickupmessage "Support Item! Eddie Call!"
inventory.icon "EDDIEC"
Inventory.PickupSound "item/1up"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
WEAP Q 0
WEAP Q 1 A_JumpIf(ACS_ExecuteWithResult(975,0)==3,"Death")
WEAP Q 1
Goto Spawn+2
Use:
WEAP Q 0 A_PlaySoundEx("item/refill","Voice")
WEAP Q 0 A_SpawnItemEx("Eddie", 80, 0, 256, 0, 0, -24, 0, SXF_NOCHECKPOSITION, 0)
stop
Death:
TNT1 A 0
stop
}
}

actor TangoSummon : CustomInventory 10156
{
Inventory.RespawnTics 350
inventory.amount 1
inventory.maxamount 1
inventory.pickupmessage "Support Item! Tango Roll!"
inventory.icon "TANGOSI"
Inventory.PickupSound "item/1up"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
WEA3 B 1
loop
Use:
WEA3 B 0 A_PlaySoundEx("item/refill","Voice")
WEA3 B 0 A_SpawnItemEx("Tango", 40, 0, 256, 0, 0, -24, 0, SXF_NOCHECKPOSITION, 0)
stop
}
}

actor Tango
{
+DONTBLAST
- SOLID
+NOGRAVITY
+MISSILE
+SKYEXPLODE
+NOCLIP
speed 0
scale 2.5
Radius 12
Height 32
reactiontime 250
meleerange 80
states
{
Spawn:
TANG D 0 A_Jump(256,"Death")
TANG H 1 A_ChangeFlag("MISSILE",0)
TANG H 1 
TANG H 1 //A_PlaySound("support/rushsummon")
TANG H 1 A_JumpIf(z-floorz<=0, "Look")
Goto Spawn+4
Look:
TANG I 0 A_ChangeFlag("NOCLIP",0)
TANG IJ 2
TANG ABCDBCA 4
TANG A 0 A_SpawnItemEx("TangoAttack",0,0,0,30,0,9)
stop
Death:
TANG F 0 A_SpawnItemEx("TangoDeath",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
stop
}
}

actor TangoAttack
{
PROJECTILE
+DONTBLAST
+DOOMBOUNCE
bouncefactor 1.0
Damage (20)
-NOGRAVITY
speed 30
damagetype "Cat"
scale 2.5
+RIPPER
Height 10
Radius 14
obituary "%o got Tango'd by %k."
reactiontime 25
States
{
Spawn:
TANG E 0 A_CountDown
TANG EFG 3
loop
Death:
TANG E 0 A_SpawnItemEx("TangoDeath",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
stop
}
}

actor TangoDeath
{
PROJECTILE
+RIPPER
Damagetype "Cat"
+DONTBLAST
+BLOODLESSIMPACT
+CLIENTSIDEONLY
scale 2.5
Damage 0
Speed 30
Radius 4
reactiontime 35
Height 60
States
{
Spawn:
TANG JI 2
TANG H 0 ThrustThingZ(0, 40, 0, 1)
TANG H 1 A_CountDown
Goto Spawn+3
Death:
TANG H 0
stop
}
}

actor Rush
{
- SOLID
+NOGRAVITY
+MISSILE
+DONTBLAST
+NOCLIP
+SKYEXPLODE
speed 0
scale 2.5
Radius 12
Height 32
reactiontime 250
meleerange 80
states
{
Spawn:
RUSH D 0 A_Jump(256,"Death")
RUSH D 1 A_ChangeFlag("MISSILE",0)
RUSH D 1 
RUSH D 1 //A_PlaySound("support/rushsummon")
RUSH D 1 A_JumpIf(z-floorz<=0, "Look")
Goto Spawn+4
Look:
RUSH E 0 A_ChangeFlag("NOCLIP",0)
RUSH EF 2
RUSH AAABBB 1 A_Chase
RUSH A 0 A_CountDown
Goto Look+3
Melee:
RUSH C 1 A_JumpIfInTargetInventory("StrongSpring",1,"Melee2")
RUSH C 18 A_GiveToTarget("SpringActivate",1)
RUSH C 0 A_Die
Goto Death
Melee2:
RUSH C 18 A_GiveToTarget("SpringActivate2",1)
RUSH C 0 A_Die
Goto Death
Death:
RUSH F 0 A_SpawnItemEx("RushDeath",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
stop
}
}

actor StrongSpring : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor Rush2
{
- SOLID
+NOGRAVITY
+MISSILE
+NOCLIP
+DONTBLAST
+SKYEXPLODE
speed 0
scale 2.5
Radius 12
Height 32
reactiontime 250
meleerange 20
states
{
Spawn:
RUSH D 0 A_Jump(256,"Death")
RUSH D 1 A_ChangeFlag("MISSILE",0)
RUSH D 1 
RUSH D 1 //A_PlaySound("support/rushsummon")
RUSH D 1 A_JumpIf(z-floorz<=0, "Look")
Goto Spawn+4
Look:
RUSH E 0 A_ChangeFlag("NOCLIP",0)
RUSH EF 2
RUSH I 3 A_Chase
RUSH A 0 A_CountDown
Goto Look+3
Melee:
TNT1 A 0 A_GiveToTarget("RushJetCounter",20)
TNT1 A 1 A_GiveToTarget("FlyActivate",1)
Goto FlyCheck1
FlyCheck1:
TNT1 AAAAA 1 A_GiveToTarget("RushJetFX1",1)
TNT1 AAAAA 1 A_GiveToTarget("RushJetFX2",1)
TNT1 AAAAA 1 A_GiveToTarget("RushJetFX1",1)
TNT1 AAAAA 1 A_GiveToTarget("RushJetFX2",1)
TNT1 AAAAA 1 A_GiveToTarget("RushJetFX1",1)
TNT1 AAAAA 1 A_GiveToTarget("RushJetFX2",1)
TNT1 AAAAA 1 A_GiveToTarget("RushJetFX1",1)
TNT1 A 0 A_TakeFromTarget("RushJetCounter",1)
TNT1 A 0 A_JumpIfInTargetInventory("SpinTime",1,"Death2")
TNT1 A 0 A_JumpIfInTargetInventory("InBoat",1,"Death2")
TNT1 A 0 A_JumpIfInTargetInventory("RushJetCounter",1,"FlyCheck2")
TNT1 A 0 A_GiveToTarget("FlyDeactivate",1)
stop
FlyCheck2:
TNT1 AAAAA 1 A_GiveToTarget("RushJetFX2",1)
TNT1 AAAAA 1 A_GiveToTarget("RushJetFX1",1)
TNT1 AAAAA 1 A_GiveToTarget("RushJetFX2",1)
TNT1 AAAAA 1 A_GiveToTarget("RushJetFX1",1)
TNT1 AAAAA 1 A_GiveToTarget("RushJetFX2",1)
TNT1 AAAAA 1 A_GiveToTarget("RushJetFX1",1)
TNT1 AAAAA 1 A_GiveToTarget("RushJetFX2",1)
TNT1 A 0 A_TakeFromTarget("RushJetCounter",1)
TNT1 A 0 A_JumpIfInTargetInventory("SpinTime",1,"Death2")
TNT1 A 0 A_JumpIfInTargetInventory("InBoat",1,"Death2")
TNT1 A 0 A_JumpIfInTargetInventory("RushJetCounter",1,"FlyCheck1")
TNT1 A 0 A_GiveToTarget("FlyDeactivate",1)
stop
Death:
RUSH F 0 A_SpawnItemEx("RushDeath",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
stop
Death2:
TNT1 A 0 A_TakeFromTarget("RushJetCounter",20)
TNT1 A 0 A_GiveToTarget("FlyDeactivate",1)
stop
}
}

actor RushDeath
{
PROJECTILE
+RIPPER
+BLOODLESSIMPACT
+CLIENTSIDEONLY
scale 2.5
Damage 0
Speed 30
Radius 4
reactiontime 35
Height 60
States
{
Spawn:
RUSH FE 2
RUSH D 0 ThrustThingZ(0, 40, 0, 1)
RUSH D 1 A_CountDown
Goto Spawn+3
Death:
RUSH D 0
stop
}
}

actor RushJetCounter : Inventory
{
inventory.amount 1
inventory.maxamount 20 
States
{
Spawn:
TNT1 A 0
stop
}
}

actor RushJetFX1 : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+AUTOACTIVATE
States
{
Spawn:
TNT1 A 1
loop
Use:
TNT1 A 1 SetPlayerProperty(0,1,3)
TNT1 A 1 A_SpawnItemEx("RushJetFeet1",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
stop
}
}

actor RushJetFX2 : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+AUTOACTIVATE
States
{
Spawn:
TNT1 A 1
loop
Use:
TNT1 A 1 A_SpawnItemEx("RushJetFeet2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
stop
}
}

actor RushJetFeet1
{
-SOLID
+CLIENTSIDEONLY
+NOGRAVITY
+NOINTERACTION
Scale 2.5
States
{
Spawn:
RUSH G 2
stop
}
}


actor RushJetFeet2
{
-SOLID
+CLIENTSIDEONLY
+NOGRAVITY
+NOINTERACTION
Scale 2.5
States
{
Spawn:
RUSH H 2
stop
}
}

actor FlyActivate : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+AUTOACTIVATE
States
{
Spawn:
TNT1 A 1
loop
Use:
TNT1 A 1 SetPlayerProperty(0,1,3)
stop
}
}

actor FlyDeactivate : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+AUTOACTIVATE
States
{
Spawn:
TNT1 A 1
loop
Use:
TNT1 A 1 SetPlayerProperty(0,0,3)
stop
}
}

actor SpringActivate : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+AUTOACTIVATE
States
{
Spawn:
TNT1 A 1
loop
Use:
TNT1 A 1 ThrustThingZ(0, 95, 0, 0)
TNT1 A 1 A_TakeInventory("JumpCancler",1)
stop
}
}

actor SpringActivate2 : SpringActivate
{
States
{
Use:
TNT1 A 1 ThrustThingZ(0, 160, 0, 0)
TNT1 A 1 A_TakeInventory("JumpCancler",1)
stop
}
}

actor Eddie
{
- SOLID
+NOGRAVITY
+DONTBLAST
+NOCLIP
+SKYEXPLODE
+MISSILE
scale 2.5
Radius 12
Height 32
speed 6
meleerange 80
reactiontime 250
states
{
Spawn:
RUSH D 0 A_Jump(256,"Death")
RUSH D 1 A_ChangeFlag("MISSILE",0)
RUSH D 1
RUSH D 1 //A_PlaySound("support/rushsummon")
RUSH D 1 A_JumpIf(z-floorz<=0, "Search")
Goto Spawn+4
Search:
EDDI A 0 A_ChangeFlag("NOCLIP",0)
EDDI A 3
EDDI AAAABBBBAAAACCCCDDDD 1 A_Chase
EDDI A 0 A_CountDown
Goto Search+3
Melee:
EDDI E 4 A_FaceTarget
EDDI F 18 A_SpawnItemEx("RandomWeapon",0,0,32,0,0,0)
EDDI F 0 A_Die
Goto Death
Death:
RUSH D 0 ThrustThingZ(0, 34, 0, 1)
RUSH D 1 A_JumpIf(z-ceilingz==0-32, "Bye")
Goto Death+1
Bye:
RUSH D 1
stop
}
}

actor RandomWeapon
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Jump(256, 
"ETank",
"WTank",
"MTank",
"ProtoUpgrade",
"BassUpgrade",
"TangoSummon",
"RollingCutterWep",
"BubbleLeadWep",
"LeafShieldWep",
"AtomicFireWep",
"ShadowBladeWep",
"NapalmBombWep",
"AirShooterWep",
"HyperBombWep",
"MagnetMissileWep",
"TopSpinWep",
"NeedleCannonWep",
"GeminiLaserWep",
"SearchSnakeWep",
"TimeStopperWep",
"SuperArmWep",
"IceSlasherWep",
"ThunderBeamWep",
"MetalBladeWep",
"HardKnuckleWep",
"BlizzardAttackWep",
"DrillBombWep",
"FireStormWep",
"CrashBombWep",
"ChargeKickWep",
"RingBoomerangWep",
"SparkShockWep",
"PowerStoneWep",
"GyroAttackWep",
"DustCrusherWep",
"PharaohShotWep",
"WaterWaveWep",
"CrystalEyeWep",
"SkullBarrierWep",
"FlameBlastWep",
"YamatoSpearWep",
"DiveMissileWep",
"PlantBarrierWep",
"SilverTomahawkWep",
"WindStormWep",
"KnightCrushWep",
"StarCrashWep",
"RainFlushWep",
"ScrewCrusherWep",
"BalladeCrackerWep",
"CentaurFlashWep",
"DiveMissileWep",
"GravityHoldWep",
"FlashStopperWep",
"MirrorBusterWep",
"SakugarneWep",
"FreezeCrackerWep",
"ThunderBoltWep",
"SlashClawWep",
"ScorchWheelWep",
"DangerWrapWep",
"NoiseCrushWep",
"JunkShieldWep",
"WildCoilWep",
"AdaptorUpgrade",
"TrebleSentry"
)
stop
ETank:
TNT1 A 1 A_SpawnItemEx("ETank",0,0,0,10,0,5)
stop
WTank:
TNT1 A 1 A_SpawnItemEx("WTank",0,0,0,10,0,5)
stop
MTank:
TNT1 A 1 A_SpawnItemEx("MTank",0,0,0,10,0,5)
stop
ProtoUpgrade:
TNT1 A 1 A_SpawnItemEx("ProtoUpgrade",0,0,0,10,0,5)
stop
BassUpgrade:
TNT1 A 1 A_SpawnItemEx("BassUpgrade",0,0,0,10,0,5)
stop
RollingCutterWep:
TNT1 A 1 A_SpawnItemEx("RollingCutterWep",0,0,0,10,0,5)
stop
BubbleLeadWep:
TNT1 A 1 A_SpawnItemEx("BubbleLeadWep",0,0,0,10,0,5)
stop
LeafShieldWep:
TNT1 A 1 A_SpawnItemEx("LeafShieldWep",0,0,0,10,0,5)
stop
AtomicFireWep:
TNT1 A 1 A_SpawnItemEx("AtomicFireWep",0,0,0,10,0,5)
stop
ShadowBladeWep:
TNT1 A 1 A_SpawnItemEx("ShadowBladeWep",0,0,0,10,0,5)
stop
NapalmBombWep:
TNT1 A 1 A_SpawnItemEx("NapalmBombWep",0,0,0,10,0,5)
stop
AirShooterWep:
TNT1 A 1 A_SpawnItemEx("AirShooterWep",0,0,0,10,0,5)
stop
HyperBombWep:
TNT1 A 1 A_SpawnItemEx("HyperBombWep",0,0,0,10,0,5)
stop
MagnetMissileWep:
TNT1 A 1 A_SpawnItemEx("MagnetMissileWep",0,0,0,10,0,5)
stop
TopSpinWep:
TNT1 A 1 A_SpawnItemEx("TopSpinWep",0,0,0,10,0,5)
stop
NeedleCannonWep:
TNT1 A 1 A_SpawnItemEx("NeedleCannonWep",0,0,0,10,0,5)
stop
GeminiLaserWep:
TNT1 A 1 A_SpawnItemEx("GeminiLaserWep",0,0,0,10,0,5)
stop
SearchSnakeWep:
TNT1 A 1 A_SpawnItemEx("SearchSnakeWep",0,0,0,10,0,5)
stop
TimeStopperWep:
TNT1 A 1 A_SpawnItemEx("TimeStopperWep",0,0,0,10,0,5)
stop
SuperArmWep:
TNT1 A 1 A_SpawnItemEx("SuperArmWep",0,0,0,10,0,5)
stop
IceSlasherWep:
TNT1 A 1 A_SpawnItemEx("IceSlasherWep",0,0,0,10,0,5)
stop
ThunderBeamWep:
TNT1 A 1 A_SpawnItemEx("ThunderBeamWep",0,0,0,10,0,5)
stop
MetalBladeWep:
TNT1 A 1 A_SpawnItemEx("MetalBladeWep",0,0,0,10,0,5)
stop
HardKnuckleWep:
TNT1 A 1 A_SpawnItemEx("HardKnuckleWep",0,0,0,10,0,5)
stop
FireStormWep:
TNT1 A 1 A_SpawnItemEx("FireStormWep",0,0,0,10,0,5)
stop
BlizzardAttackWep:
TNT1 A 1 A_SpawnItemEx("BlizzardAttackWep",0,0,0,10,0,5)
stop
DrillBombWep:
TNT1 A 1 A_SpawnItemEx("DrillBombWep",0,0,0,10,0,5)
stop
SparkShockWep:
TNT1 A 1 A_SpawnItemEx("SparkShockWep",0,0,0,10,0,5)
stop
ChargeKickWep:
TNT1 A 1 A_SpawnItemEx("ChargeKickWep",0,0,0,10,0,5)
stop
RingBoomerangWep:
TNT1 A 1 A_SpawnItemEx("RingBoomerangWep",0,0,0,10,0,5)
stop
CrashBombWep:
TNT1 A 1 A_SpawnItemEx("CrashBombWep",0,0,0,10,0,5)
stop
GyroAttackWep:
TNT1 A 1 A_SpawnItemEx("GyroAttackWep",0,0,0,10,0,5)
stop
PowerStoneWep:
TNT1 A 1 A_SpawnItemEx("PowerStoneWep",0,0,0,10,0,5)
stop
DustCrusherWep:
TNT1 A 1 A_SpawnItemEx("DustCrusherWep",0,0,0,10,0,5)
stop
PharaohShotWep:
TNT1 A 1 A_SpawnItemEx("PharaohShotWep",0,0,0,10,0,5)
stop
WaterWaveWep:
TNT1 A 1 A_SpawnItemEx("WaterWaveWep",0,0,0,10,0,5)
stop
CrystalEyeWep:
TNT1 A 1 A_SpawnItemEx("CrystalEyeWep",0,0,0,10,0,5)
stop
SkullBarrierWep:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(975,0)==1,"Spawn")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(975,0)==4,"Spawn")
TNT1 A 1 A_SpawnItemEx("SkullBarrierWep",0,0,0,10,0,5)
stop
FlameBlastWep:
TNT1 A 1 A_SpawnItemEx("FlameBlastWep",0,0,0,10,0,5)
stop
YamatoSpearWep:
TNT1 A 1 A_SpawnItemEx("YamatoSpearWep",0,0,0,10,0,5)
stop
PlantBarrierWep:
TNT1 A 1 A_SpawnItemEx("PlantBarrierWep",0,0,0,10,0,5)
stop
SilverTomahawkWep:
TNT1 A 1 A_SpawnItemEx("SilverTomahawkWep",0,0,0,10,0,5)
stop
WindStormWep:
TNT1 A 1 A_SpawnItemEx("WindStormWep",0,0,0,10,0,5)
stop
KnightCrushWep:
TNT1 A 1 A_SpawnItemEx("KnightCrushWep",0,0,0,10,0,5)
stop
StarCrashWep:
TNT1 A 1 A_SpawnItemEx("StarCrashWep",0,0,0,10,0,5)
stop
RainFlushWep:
TNT1 A 1 A_SpawnItemEx("RainFlushWep",0,0,0,10,0,5)
stop
TangoSummon:
TNT1 A 1 A_SpawnItemEx("TangoSummon",0,0,0,10,0,5)
stop
BalladeCrackerWep:
TNT1 A 1 A_SpawnItemEx("BalladeCrackerWep",0,0,0,10,0,5)
stop
ScrewCrusherWep:
TNT1 A 1 A_SpawnItemEx("ScrewCrusherWep",0,0,0,10,0,5)
stop
CentaurFlashWep:
TNT1 A 1 A_SpawnItemEx("CentaurFlashWep",0,0,0,10,0,5)
stop
GravityHoldWep:
TNT1 A 1 A_SpawnItemEx("GravityHoldWep",0,0,0,10,0,5)
stop
DiveMissileWep:
TNT1 A 1 A_SpawnItemEx("DiveMissileWep",0,0,0,10,0,5)
stop
FlashStopperWep:
TNT1 A 1 A_SpawnItemEx("FlashStopperWep",0,0,0,10,0,5)
stop
MirrorBusterWep:
TNT1 A 1 A_SpawnItemEx("MirrorBusterWep",0,0,0,10,0,5)
stop
SakugarneWep:
TNT1 A 1 A_SpawnItemEx("SakugarneWep",0,0,0,10,0,5)
stop
FreezeCrackerWep:
TNT1 A 1 A_SpawnItemEx("FreezeCrackerWep",0,0,0,10,0,5)
stop
ThunderBoltWep:
TNT1 A 1 A_SpawnItemEx("ThunderBoltWep",0,0,0,10,0,5)
stop
SlashClawWep:
TNT1 A 1 A_SpawnItemEx("SlashClawWep",0,0,0,10,0,5)
stop
ScorchWheelWep:
TNT1 A 1 A_SpawnItemEx("ScorchWheelWep",0,0,0,10,0,5)
stop
DangerWrapWep:
TNT1 A 1 A_SpawnItemEx("DangerWrapWep",0,0,0,10,0,5)
stop
NoiseCrushWep:
TNT1 A 1 A_SpawnItemEx("NoiseCrushWep",0,0,0,10,0,5)
stop
JunkShieldWep:
TNT1 A 1 A_SpawnItemEx("JunkShieldWep",0,0,0,10,0,5)
stop
WildCoilWep:
TNT1 A 1 A_SpawnItemEx("WildCoilWep",0,0,0,10,0,5)
stop
AdaptorUpgrade:
TNT1 A 1 A_SpawnItemEx("AdaptorUpgrade",0,0,0,10,0,5)
stop
TrebleSentry:
TNT1 A 1 A_SpawnItemEx("TrebleSentry",0,0,0,10,0,5)
stop
}
}

actor Item1 : CustomInventory 10147
{
Inventory.RespawnTics 210
inventory.amount 3
inventory.maxamount 3
inventory.pickupmessage "Support Item! Item 1!"
inventory.icon "ITEM1"
Inventory.PickupSound "item/1up"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
WEA2 A 1
loop
Use:
WEA2 A 0 A_SpawnItemEx("Item1Platform", 56, 0, 38, 0, 0, 0, 0, 0, 0)
stop
}
}


actor Item1Platform
{
height 4
radius 24
scale 2.5
+FORCEYBILLBOARD
+NOGRAVITY
-SHOOTABLE
+SOLID
States
{
Spawn:
ITEM ABABABABABABABABABABABABAB 3
Goto Death
Death:
MMFX B 0 A_ChangeFlag("SOLID",0)
MMFX BCDE 2
stop
}
}


actor AdaptorUpgrade : CustomInventory 10158
{
Inventory.RespawnTics 350
inventory.amount 1
inventory.maxamount 1
inventory.pickupmessage "Support Item! Super adaptor Upgrade!"
inventory.icon "ADAPSI"
Inventory.PickupSound "item/1up"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
WEA3 P 0
WEA3 P 1 A_JumpIf(ACS_ExecuteWithResult(975,0)==3,"Death")
WEA3 P 1
Goto Spawn+2
Use:
WEA2 Q 0 A_PlaySoundEx("item/refill","Voice")
WEA3 A 0 A_GiveInventory("SuperadaptorWep",1)
WEA3 A 0 A_SelectWeapon("SuperadaptorWep")
WEA2 Q 0 A_TakeInventory("ProtoBuster",1)
WEA3 A 0 A_TakeInventory("MegaBuster",1)
WEA3 A 0 A_TakeInventory("BassBuster",1)
stop
Death:
WEA3 P 1
stop
}
}

actor TrebleSentry : CustomInventory 10159
{
//Inventory.RespawnTics 300
inventory.amount 1
inventory.maxamount 1
inventory.pickupmessage "Support Item! Treble Sentry!"
inventory.icon "TRBLSI"
Inventory.PickupSound "item/1up"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
TRBI A 1
loop
Use:
TRBI A 0 A_PlaySoundEx("item/refill","Voice")
TRBI A 0 A_SpawnItemEx("Treble", 40, 0, 256, 0, 0, -32, 0, SXF_NOCHECKPOSITION, 0)
stop
}
}

actor Treble
{
- SOLID
+NOGRAVITY
MONSTER
//+MISSILE
+NOCLIP
+DONTBLAST
+SKYEXPLODE
-SOLID
-COUNTKILL
+FRIENDLY
-SHOOTABLE
speed 0
scale 2.5
+MISSILEMORE
+MISSILEEVENMORE
Radius 12
Height 32
reactiontime 256
meleerange 20
states
{
Spawn:
TRBL F 0 A_Jump(256,"Death")
TRBL F 1 A_ChangeFlag("MISSILE",0)
TRBL F 1 
TRBL F 1 //A_PlaySound("support/rushsummon")
TRBL F 1 A_JumpIf(z-floorz<=0, "Look")
Goto Spawn+4
Look:
TRBL F 0 A_ChangeFlag("NOGRAVITY",0)
TRBL F 0 A_ChangeFlag("NOCLIP",0)
TRBL F 0 A_ClearTarget
TRBL GH 2
Goto See
TeamTreble:
TRBL A 0 A_JumpIfInventory("CutterFlag",35,"Death")
TRBL A 0 A_PlaySoundEx("misc/devilfire","Voice")
TRBL I 5 A_CustomMissile("TrebleShot",5,0,random(-1,1),2,0)
TRBL A 8 A_GiveInventory("CutterFlag",1)
loop
See:
TRBL A 0 //A_ClearTarget
TRBL A 1 A_JumpIf(ACS_ExecuteWithResult(975,1)==1,"TeamTreble")
TRBL A 1
TRBL AAAAAAAA 1 A_Chase
TRBL BCBCBC 4 A_Chase
TRBL A 0 A_JumpIfTargetInLOS ("Missile", 0, 0)
TRBL A 0 A_GiveInventory("CutterFlag",2)
TRBL A 0 A_JumpIfInventory("CutterFlag",35,"Death")
loop
Missile:
TRBL A 1 A_FaceTarget
TRBL A 0 A_JumpIfInventory("CutterFlag",35,"Death")
TRBL A 0 A_PlaySoundEx("misc/devilfire","Voice")
TRBL I 5 A_CustomMissile("TrebleShot",5,0,0,0)
TRBL A 4 A_GiveInventory("CutterFlag",2)
TRBL A 0 A_JumpIfTargetInLOS ("Missile", 0, 0)
TRBL A 4 A_ClearTarget
Goto See 
Death:
TNT1 A 1
TNT1 A 1 A_SpawnItemEx("TrebleDeath",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
TNT1 A 1
stop
}
}

actor TrebleDeath
{
PROJECTILE
+RIPPER
+BLOODLESSIMPACT
+CLIENTSIDEONLY
scale 2.5
Damage 0
Speed 30
Radius 4
reactiontime 35
Height 60
States
{
Spawn:
TRBL HG 2
TRBL F 0 ThrustThingZ(0, 40, 0, 1)
TRBL F 1 A_CountDown
Goto Spawn+3
Death:
TRBL F 0
stop
}
}

actor TrebleShot
{
obituary "%o was destroyed by %k's Treble Sentry."
PROJECTILE
+DONTBLAST
Damage (18)
Speed 39
scale 2.5
Height 8
Radius 8
Damagetype "Treble"
States
{
Spawn:
BASB A 1
loop
}
}

actor ExitUnit : ArtiTeleport  10160
{
//Inventory.RespawnTics 300
inventory.amount 1
inventory.maxamount 1
inventory.pickupmessage "Support Item! Exit Unit!"
inventory.icon "EXITSI"
Inventory.PickupSound "item/1up"
scale 2.0
+COUNTITEM
-FLOATBOB
+INVBAR
states
{
Spawn:
EXIT A 1
EXIT A 1 A_JumpIf(ACS_ExecuteWithResult(975,0)==3,"Death")
EXIT A 1
Goto Spawn+2
Death:
EXIT A 1
stop
}
}
