actor JetAdaptor_NormalBar : NormalBar {args 4,42}

actor JetAdaptorUpgrade : BaseMM8BDMBusterUpgrade
{
//$Category MM8BDM-Weapons
//$Title Jet Upgrade
//Inventory.RespawnTics 350
inventory.amount 1
inventory.maxamount 1
inventory.pickupmessage "$PU_JETADAPTOR"
Tag "$TAG_JETUPGRADE"
inventory.icon "JETUP"
Inventory.PickupSound "item/1up"
Inventory.RespawnTics 350
scale 2.0
+COUNTITEM
+INVBAR
states
{
SpawnLoop:
UPGR A 1
loop
Use:
TNT1 A 0 A_PlaySoundEx("item/refill","Voice")
TNT1 A 0 A_GiveInventory("BusterGiven",1)
TNT1 A 0 A_GiveInventory("JetAdaptor",1)
TNT1 A 0 A_SelectWeapon("JetAdaptor")
stop
}
}


actor JetAdaptorUpgrade_Respawn : 8BDMItemRespawn
{
	translation "192:192=4:4", "198:198=176:176"
	mass 350
}
actor JetAdaptorUpgrade_RespawnShadow : 8BDMItemRespawnShadow
{
	mass 350
	States
	{
	Spawn:
		UPGR A 0
		goto Super::Spawn
	}
}

actor JetAdaptor : BaseMM8BDMWep
{
Weapon.AmmoUse 1
Weapon.AmmoGive 56
Weapon.SlotNumber 1
Inventory.Pickupmessage "$PU_JETADAPTOR"
Obituary "$OB_JETADAPTOR"
Tag "$TAG_JETADAPTOR"
weapon.ammotype "JetMeter"
inventory.icon "NULLICON"
Dropitem ""
States
{
Spawn:
UPGR A 1
stop
Ready:
JETB A 0 A_JumpIfInventory("BusterGiven",1,"TakeBusters")
Goto Ready2
TakeBusters:
JETB A 0 A_GiveInventory("TakeBuster", 1)
Goto Ready2
Ready2:
JETB A 0 ACS_ExecuteAlways(998,0,DYE_POWERFLIGHT)
JETB A 0 ACS_NamedExecuteAlways("MM6_JetAdaptor",0)
JETB A 0 A_SpawnItemEx("JetWings",0,0,0,0,0,0,0,0)
Ready3:
JETB A 1 A_WeaponReady
goto Ready3
Deselect:
JETB A 0 
goto DeselectSwap
Select:
JETB A 0 
goto SelectSwap
Fire:
JETB C 0 A_PlaySoundEx("weapons/busters/megabusterfire","Weapon")
JETB C 3 A_FireCustomMissile("JetShot",0,0,8,0)
JETB C 0 A_PlaySoundEx("weapons/busters/megabusterfire","Weapon")
JETB C 3 A_FireCustomMissile("JetShot",-2.5,0,8,0)
JETB C 0 A_PlaySoundEx("weapons/busters/megabusterfire","Weapon")
JETB C 3 A_FireCustomMissile("JetShot",2.5,0,8,0)
JETB B 9
JETB A 3
JETB A 0 A_Refire
goto Ready3
}
}

actor JetMeter : Ammo
{
inventory.amount 1
inventory.maxamount 140
+INVENTORY.IGNORESKILL
}

actor JetAdaptor_F : Inventory{}


actor JetShot : BasicFastProjectile
{
PROJECTILE
Damagetype "Buster"
Obituary "$OB_JETADAPTOR"
+FORCEXYBILLBOARD
+BRIGHT
Damage (7)
radius 10
height 5
Speed 70
scale 2.5
States
{
Spawn:
TNT1 A 0 
TNT1 A 1
MMJT D 1
wait
Death:
MMJT EFG 2
stop
}
}

actor JetWings : BasicShieldWarper
{
speed 100
translation "192:192=4:4", "198:198=176:176"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("core_shieldwarper", 0, 1)
TNT1 A 0 A_Jump(256, "Shield")
Goto Shield
Shield:
MMJT B 0 ACS_NamedExecuteWithResult("core_copytranslation_client",0)
MMJT A 0 A_JumpIfInTargetInventory("JetBoostPower",1,"Shield2Start")
MMJT A 1 A_Warp(AAPTR_TARGET, -12, 0, 36, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)
loop
Shield2Start:
JETB A 0 A_PlaySound("misc/gutsgboost")
Shield2:
TNT1 A 0 A_SpawnItemEx("BoosterFX",0,-15,-12,0,-2,-10,0)
TNT1 A 0 A_SpawnItemEx("BoosterFX",0, 15,-12,0, 2,-10,0)
MMJT B 1 A_Warp(AAPTR_TARGET, -12, 0, 36, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)
Shield3:
MMJT B 1 A_Warp(AAPTR_TARGET, -12, 0, 36, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)
MMJT A 0 A_JumpIfInTargetInventory("JetBoostPower",1,"Shield2")
goto Shield
}
}


actor JetBoosting : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("JetBoostPower",1)
stop
}
}

actor JetBoostPower : Powerup
{
Powerup.Duration 10
}

actor JetAdaptor_Ammo_P : CustomInventory//ACS Given
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("JetMeter",2+CallACS("core_checkrune",RUNE_RAGE,0)*2)
stop
}
}

actor JetAdaptorBoosting_P : CustomInventory//ACS Given
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("JetMeter",1)
TNT1 A 0 A_TakeInventory("JetMeter",1,1)
TNT1 A 0 A_JumpIfInventory("PlayerPropertyGrounded",1,"Simple")
TNT1 A 0 A_JumpIf(momz>=0,"Simple")
TNT1 A 0 A_JumpIfInventory("BoostFlag",1,4)
TNT1 A 0 A_JumpIfInventory("JetBoostPower",1,3)
TNT1 A 0 A_TakeInventory("JetMeter",4)
TNT1 A 0 A_TakeInventory("JetMeter",4,1)
TNT1 A 0 ThrustThingZ(0,5,0,0)
Simple:
TNT1 A 0 A_TakeInventory("BoostFlag",1)
TNT1 A 0 A_GiveInventory("JetBoostPower",1)
TNT1 A 0 ThrustThingZ(0,4,0,1)
stop
}
}
