//Movement recoded
actor Jupiter : VCBaseClass
{
Player.ScoreIcon "JUPIMUGS"
player.startitem "BaseFlagPack", 1
player.displayname "Jupiter"
player.soundclass "Jupiterc"
player.startitem "ElectricShockBoss"
player.startitem "UltimateAttackItem4"
player.startitem "UltSoundWatcherSpawn4"
player.startitem "CanThirdFire", 1
player.startitem "Base56Ammo", 56
player.startitem "BaseAltfireAmmo", 112
player.startitem "IsFromGB5"
player.viewheight 51
player.jumpz 12
States
{

Spawn:
JUPT B 0
JUPT B 1 A_JumpIf(z-floorz>0, "Jumping")
JUPT A 0 A_JumpIfInventory("JupiterFlightFlag",1,"JupiterFlightAnim")
JUPT A 0 A_JumpIfInventory("MaximumShockAnimFlag",1,"UltAnimHold")
JUPT A 1 A_JumpIf(z-floorz>0, "Jumping") 
Goto Spawn+2

See:
JUPT BBBBBCCCCCDDDDDDEEEEE 1 A_JumpIf(z-floorz>0, "Jumping")
Goto Spawn+1

Animation1:
Jumping:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("JupiterFlightFlag",1,"JupiterFlightAnim")
TNT1 A 0 A_JumpIfInventory("MaximumShockAnimFlag",1,"UltAnimHold")
JUPT J 1 A_JumpIf(z-floorz<=0, "Spawn")
Goto Jumping

Missile:
TNT1 A 0 A_JumpIf(z-floorz>0, "Air")
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,"Missile.ElectricShotgun")
TNT1 A 0 A_JumpIfInventory("MaximumShockFlag",1,"Missile.ElectricShotgun")
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag2",1,"Missile.ElectricShock")
TNT1 A 0 A_JumpIfInventory("JupiterSwoopFlag",1,"Missile.JupiterSwoop")
TNT1 A 0 A_JumpIfInventory("DownwardElectricShockFlag",1,"Missile.DownwardElectricShock")
JUPT F 1
loop

Air:
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,"Missile.ElectricShotgun")
TNT1 A 0 A_JumpIfInventory("MaximumShockFlag",1,"Missile.ElectricShotgun")
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag2",1,"Missile.ElectricShock")
TNT1 A 0 A_JumpIfInventory("JupiterSwoopFlag",1,"Missile.JupiterSwoop")
TNT1 A 0 A_JumpIfInventory("DownwardElectricShockFlag",1,"Missile.DownwardElectricShock")
JUPT N 1
Goto Missile

Missile.ElectricShotgun: //M1
JUPT FFF 1 A_JumpIf(z-floorz>0, "JumpingMissile.ElectricShotgun")

Missile2.ElectricShotgun:
JUPT GGGGGG 1 A_JumpIf(z-floorz>0, "JumpingMissile2.ElectricShotgun")
Goto Spawn+2

JumpingMissile.ElectricShotgun:
JUPT NNN 1 A_JumpIf(z-floorz<=0, "Missile.ElectricShotgun")

JumpingMissile2.ElectricShotgun:
JUPT NNNNNN 1 A_JumpIf(z-floorz<=0, "Missile2.ElectricShotgun")
Goto Jumping

Missile.JupiterSwoop: //M1 Air
JUPT S 1
JUPT S 1 A_JumpIfInventory("JupiterSwoopFlag",1,"Missile.JupiterSwoop")
JUPT S 1 A_JumpIfInventory("JupiterSwoopFlag",1,"Missile.JupiterSwoop")
Goto Jumping

Missile.ElectricShock: //M2
JUPT G 0 A_JumpIf(z-floorz>0, "JumpingMissile.ElectricShock")
JUPT G 1 A_JumpIf(z-floorz>0, "JumpingMissile.ElectricShock")
JUPT G 0 A_JumpIfInventory("BaseCustomFlag2",1,1)
Goto Spawn+2

Missile2.ElectricShock:
JUPT I 0 A_JumpIf(z-floorz>0, "JumpingMissile2.ElectricShock")
JUPT I 1 A_JumpIf(z-floorz>0, "JumpingMissile2.ElectricShock")
JUPT I 0 A_JumpIfInventory("BaseCustomFlag2",1,1)
Goto Spawn+2
TNT1 A 0
Goto Missile.ElectricShock

JumpingMissile.ElectricShock:
JUPT N 0 A_JumpIf(z-floorz<=0, "Missile.ElectricShock")
TNT1 A 0 A_JumpIfInventory("EndAltFlag",1,"JumpingMissile.ElectricShockEnd")
JUPT N 1 A_JumpIf(z-floorz<=0, "Missile.ElectricShock")

JumpingMissile2.ElectricShock:
JUPT T 0 A_JumpIf(z-floorz<=0, "Missile.ElectricShock")
TNT1 A 0 A_JumpIfInventory("EndAltFlag",1,"JumpingMissile.ElectricShockEnd")
JUPT T 1 A_JumpIf(z-floorz<=0, "Missile2.ElectricShock")
TNT1 A 0
Goto Missile.ElectricShock

JumpingMissile.ElectricShockEnd:
TNT1 A 0
Goto Jumping

Missile.DownwardElectricShock: //M2 Air
JUPT Q 1 A_JumpIfInventory("EndAltFlag",1,"Missile.DownwardElectricShockEnd")
JUPT R 1 A_JumpIfInventory("EndAltFlag",1,"Missile.DownwardElectricShockEnd")
loop

Missile.DownwardElectricShockEnd:
TNT1 A 0
Goto Spawn+2

JupiterFlightAnim:
JUPT JKL 1
loop

Animation2:
UltAnimHold:
JUPT UV 1
TNT1 A 0 A_JumpIfInventory("MaximumShockAnimFlag",1,"UltAnimHold")
JUPT UV 1
TNT1 A 0 A_JumpIfInventory("MaximumShockAnimFlag",1,"UltAnimHold")
Goto AnimEnd

AnimEnd:
TNT1 A 0
Goto Spawn+1

ClassPain:
JUPT HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
Goto Spawn+1
ClassDeath:
TNT1 A 0 A_GiveInventory("FraggedRemoveSound",1)
JUPT H 0 ACS_ExecuteAlways(991,0,5964)
JUPT H 20 ACS_ExecuteAlways(999,0,0)
JUPT H 0 A_PlayerScream
JUPT H 0 A_SpawnItemEx("FakeDeathFXMMV", 0, 0, 32, 0, 0, 0, 0, 1)
NOFX A 1 A_CheckPlayerDone
wait
WeaponGetM:
CUTM H 0 A_JumpIfInTargetInventory("ElectricShockWepM",1,2)
CUTM H 0 A_GiveToTarget("WeaponGetter")
CUTM H 0 A_GiveToTarget("ElectricShockWepM")
goto ClassDeath
}
}

const float MITIGATE_SOUND = 0.3;

Actor ElectricShockBoss : VCBaseWeapon
{
weapon.ammotype "Base56Ammo"
weapon.ammotype2 "BaseAltfireAmmo"
Obituary "$OB_JUPITER3"
const int SHOTGUN_SPREAD = 2;         const int FLIGHT_LAUNCH_SPEED = 35;  const int DISCHARGE_OFFSETS = 64;
const int ELECTRIC_SHOCK_OFFSET = 12; const int ELECTRIC_SHOCK_HEIGHT = 5; const int FORWARD_THRUST = -1;
const int ULT_SPREAD = 8;             const int SWOOP_RECOIL = -2;
States
{
Ready:
TNT1 A 0 A_JumpIfInventory("JupiterFlightFlag",1,"Ready.InFlight")
JUPH AAA 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",1,8))
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3 && ACS_NamedExecuteWithResult("Jupiter_No_Flight_Check",1)==1,"User1")
TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
JUPH A 0 A_GiveInventory("Base56Ammo",1) TNT1 A 0 A_GiveInventory("BaseAltfireAmmo",2)
Goto Ready
Ready.InFlight:
JUPH AAA 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",1,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",1,8))
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
JUPH A 0 A_GiveInventory("Base56Ammo",1)
TNT1 A 0 A_JumpIfInventory("JupiterFlightFlag",1,"Ready.InFlight")
Goto Ready
Ready.Ult:
TNT1 A 0 A_JumpIfInventory("MediumLongUltimateAmmo",1,1)
Goto Ready
TNT1 A 0 A_JumpIfInventory("JupiterFlightFlag",1,"Ready.UltInFlight")
JUPH IJK 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",1,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",1,4))
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3 && ACS_NamedExecuteWithResult("Jupiter_No_Flight_Check",1)==1,"User1")
TNT1 A 0 A_GiveInventory("Base56Ammo",1) TNT1 A 0 A_GiveInventory("BaseAltfireAmmo",2)
TNT1 A 0 A_JumpIfInventory("MediumLongUltimateAmmo",1,"Ready.Ult")
TNT1 A 0 A_TakeInventory("MaximumShockFlag",3)
Goto Ready
Ready.UltInFlight:
TNT1 A 0 A_JumpIfInventory("MediumLongUltimateAmmo",1,1)
Goto Ready
JUPH IJK 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",1,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",1,4))
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3 && ACS_NamedExecuteWithResult("Jupiter_No_Flight_Check",1)==1,"User1")
TNT1 A 0 A_GiveInventory("Base56Ammo",1)
TNT1 A 0 A_JumpIfInventory("MediumLongUltimateAmmo",1,"Ready.Ult")
TNT1 A 0 A_TakeInventory("MaximumShockFlag",3)
Goto Ready
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
JUPH A 1 A_Lower
Loop
Select:
TNT1 A 0 ACS_ExecuteAlways(991,0,5964)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
JUPH A 1 A_Raise
Loop

Fire:
TNT1 A 0 A_JumpIfInventory("MaximumShockFlag",1,"MaximumShocker")
TNT1 A 0 A_JumpIfInventory("JupiterFlightCancel",1,"Fire2")
TNT1 A 0 A_JumpIfInventory("JupiterFlightFlag",1,"JupiterSwoop")
Fire2:
TNT1 A 0 A_GiveInventory("BaseCustomFlag1",1)
JUPH B 3
TNT1 A 0 A_PlaySoundEx("weapon/jupitershot2","Weapon")
TNT1 A 0 A_FireCustomMissile("ElectricShotgunSpark",(SHOTGUN_SPREAD * 6),0,4,8)
TNT1 A 0 A_FireCustomMissile("ElectricShotgunSpark",(SHOTGUN_SPREAD * 2),0,4,8)
TNT1 A 0 A_FireCustomMissile("ElectricShotgunSpark",(SHOTGUN_SPREAD * -2),0,4,8)
TNT1 A 0 A_FireCustomMissile("ElectricShotgunSpark",(SHOTGUN_SPREAD * -6),0,4,8)
JUPH CBAA 3
TNT1 A 0 A_TakeInventory("BaseCustomFlag1",3)
Goto Ready

JupiterSwoop:
JUPH A 0 A_JumpIfInventory("JupiterFlightCancel",1,"Ready")
TNT1 A 0 A_GiveInventory("JupiterSwoopFlag",1)
TNT1 A 0 A_GiveInventory("DrillFlag")
JUPH A 1 Offset(-10, 32) A_JumpIfInventory("JupiterFlightCancel",1,"Ready")
JUPH A 1 Offset(-20, 32) A_JumpIfInventory("JupiterFlightCancel",1,"Ready")
JUPH A 1 Offset(-30, 32) A_JumpIfInventory("JupiterFlightCancel",1,"Ready")
TNT1 A 0 A_PlaySound("weapon/shadedive","Weapon")
JUPH A 0 A_GunFlash("Flash.Swoop")
JUCL ABC 1
Swooping:
TNT1 A 0 A_GiveInventory("JupiterSwoopMobility")//A_Recoil(SWOOP_RECOIL)
TNT1 A 0 ThrustThingZ(0,8,1,1)
TNT1 A 0 A_SpawnItemEx("JupiterSwoopHitBox")
TNT1 A 0 A_JumpIfInventory("SwoopTimer",25,"SwoopEnd")
JUCL C 1 A_JumpIf(floorz-z==0,"SwoopEnd")
TNT1 A 0 A_TakeInventory("Base56Ammo",1)
TNT1 A 0 A_GiveInventory("SwoopTimer",1)
loop
SwoopEnd:
TNT1 A 0 A_SpawnItemEx("JupiterSwoopHitBox")
TNT1 A 0 A_TakeInventory("Base56Ammo",1)
JUCL C 2 A_GiveInventory("JupiterSwoopMobility")//A_Recoil(SWOOP_RECOIL)
TNT1 A 0 A_SpawnItemEx("JupiterSwoopHitBox")
TNT1 A 0 A_TakeInventory("Base56Ammo",1)
JUCL C 2 A_GiveInventory("JupiterSwoopMobility")//A_Recoil(SWOOP_RECOIL)
TNT1 A 0 A_SpawnItemEx("JupiterSwoopHitBox")
TNT1 A 0 A_TakeInventory("Base56Ammo",1)
JUCL C 2 A_GiveInventory("JupiterSwoopMobility")//A_Recoil(SWOOP_RECOIL)
TNT1 A 0 A_SpawnItemEx("JupiterSwoopHitBox")
TNT1 A 0 A_TakeInventory("SwoopTimer",99) TNT1 A 0 ThrustThingZ(0,16,0,1) TNT1 A 0 A_TakeInventory("Base56Ammo",1)
JUCL C 2 A_GiveInventory("JupiterSwoopMobility")//A_Recoil(SWOOP_RECOIL)
TNT1 A 0 A_SpawnItemEx("JupiterSwoopHitBox")
TNT1 A 0 A_TakeInventory("Base56Ammo",1)
TNT1 A 0 ThrustThingZ(0,16,0,1)
JUCL C 2 A_GiveInventory("JupiterSwoopMobility")//A_Recoil(SWOOP_RECOIL)
TNT1 A 0 ThrustThingZ(0,16,0,1)
JUCL C 2 A_GiveInventory("JupiterSwoopMobility")//A_Recoil(SWOOP_RECOIL)
TNT1 A 0 ThrustThingZ(0,16,0,1)
JUCL C 4
TNT1 A 0 A_TakeInventory("JupiterSwoopFlag",3)
TNT1 A 0 A_GunFlash
JUCL CBA 2
JUPB A 1 Offset(-30, 32)
JUPB A 1 Offset(-20, 32)
JUPB A 1 Offset(-10, 32)
TNT1 A 0 A_TakeInventory("DrillFlag")
Goto Ready
Altfire:
RATU A 0 A_JumpIfInventory("NoAltfire",1,"Ready")
TNT1 A 0 A_JumpIfInventory("MaximumShockFlag",1,"MaximumShocker")
TNT1 A 0 A_JumpIfInventory("JupiterFlightFlag",1,"AirborneElectricShock")
TNT1 A 0 A_GiveInventory("BaseCustomFlag2", 1)
JUPH B 3
TNT1 A 0 A_SpawnItemEx("ElectricShockFieldFX",0,0,48)
TNT1 A 0 A_GiveInventory("ElectricShockSlowDown")
ShockerHold:
JUPH A 0 A_JumpIfInventory("Base56Ammo",2,1)
Goto AltEnd
TNT1 A 0 A_TakeInventory("Base56Ammo",2)
TNT1 A 0 A_PlaySoundEx("weapon/jupiteroldshock","Weapon")
JUPH C 1
TNT1 A 0 A_FireCustomMissile("JupiterBigLaserDamager",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT) 
TNT1 A 0 A_FireCustomMissile("JupiterBigLaser1Start",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT)
TNT1 A 0 A_FireCustomMissile("JupiterBigLaser1Start_T",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT)
JUPH S 1
TNT1 A 0 A_FireCustomMissile("JupiterBigLaserDamager",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT) 
TNT1 A 0 A_FireCustomMissile("JupiterBigLaser2Start",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT)
TNT1 A 0 A_FireCustomMissile("JupiterBigLaser2Start_T",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT)
TNT1 A 0 A_Refire(1)
Goto AltEnd
JUPH A 0 A_JumpIfInventory("Base56Ammo",2,1)
Goto AltEnd
JUPH C 1
TNT1 A 0 A_FireCustomMissile("JupiterBigLaserDamager",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT) 
TNT1 A 0 A_FireCustomMissile("JupiterBigLaser3Start",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT)
TNT1 A 0 A_FireCustomMissile("JupiterBigLaser3Start_T",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT)
JUPH S 1
TNT1 A 0 A_FireCustomMissile("JupiterBigLaserDamager",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT) 
TNT1 A 0 A_FireCustomMissile("JupiterBigLaser1Start",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT)
TNT1 A 0 A_FireCustomMissile("JupiterBigLaser1Start_T",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT)
TNT1 A 0 A_Refire(1)
Goto AltEnd
JUPH A 0 A_JumpIfInventory("Base56Ammo",2,1)
Goto AltEnd
TNT1 A 0 A_TakeInventory("Base56Ammo",2)
TNT1 A 0 A_PlaySoundEx("weapon/jupiteroldshock","Weapon")
JUPH C 1
TNT1 A 0 A_FireCustomMissile("JupiterBigLaserDamager",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT) 
TNT1 A 0 A_FireCustomMissile("JupiterBigLaser2Start",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT)
TNT1 A 0 A_FireCustomMissile("JupiterBigLaser2Start_T",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT)
JUPH S 1
TNT1 A 0 A_FireCustomMissile("JupiterBigLaserDamager",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT) 
TNT1 A 0 A_FireCustomMissile("JupiterBigLaser3Start",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT)
TNT1 A 0 A_FireCustomMissile("JupiterBigLaser3Start_T",0,0,ELECTRIC_SHOCK_OFFSET,ELECTRIC_SHOCK_HEIGHT)
TNT1 A 0 A_Refire("ShockerHold")
AltEnd:
TNT1 A 0 A_GiveInventory("EndAltFlag", 1)
TNT1 A 0 ACS_ExecuteAlways(991,0,5964)
TNT1 A 0 A_TakeInventory("BaseCustomFlag2", 3)
TNT1 A 0 A_TakeInventory("ElectricShockSlowDown")
JUPH B 3
TNT1 A 0 A_TakeInventory("EndAltFlag", 3)
Goto Ready

AirborneElectricShock:
TNT1 A 0 A_GiveInventory("DownwardElectricShockFlag", 1)
JUPH H 1 Offset(-5, 32) A_JumpIfInventory("JupiterFlightCancel",1,"Ready")
JUPH H 1 Offset(-10, 32) A_JumpIfInventory("JupiterFlightCancel",1,"Ready")
JUPH H 1 Offset(-15, 32) A_JumpIfInventory("JupiterFlightCancel",1,"Ready")
TNT1 A 0 A_SpawnItemEx("ElectricShockFieldFX",0,0,48)
AirAltHold:
JUPH A 0 A_JumpIfInventory("Base56Ammo",2,1)
Goto AirAltEnd
TNT1 A 0 A_GiveInventory("JupiterSwoopMobility")//A_Recoil(SWOOP_RECOIL)
TNT1 A 0 ThrustThingZ(0,0,0,0)
TNT1 A 0 A_TakeInventory("Base56Ammo",2)
TNT1 A 0 A_PlaySoundEx("weapon/jupiteroldshock","Weapon")
//JUPH D 0 A_SpawnItemEx("ElectricShockFXSpawner",0,0,-32,momx,momy,-1000,0,SXF_ABSOLUTEMOMENTUM)
JUPH D 1 A_SpawnItemEx("ElectricShockColumn",0,0,-32,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
JUPH T 1 ThrustThingZ(0,0,0,0)
TNT1 A 0 ThrustThingZ(0,0,0,0)
//JUPH D 0 A_SpawnItemEx("ElectricShockFXSpawner",0,0,-32,momx,momy,-1000,0,SXF_ABSOLUTEMOMENTUM)
JUPH D 1 A_SpawnItemEx("ElectricShockColumn2",0,0,-32,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
JUPH T 1 ThrustThingZ(0,0,0,0)
TNT1 A 0 A_Refire("AirAltHold")
AirAltEnd:
TNT1 A 0 A_GiveInventory("EndAltFlag", 1)
TNT1 A 0 A_TakeInventory("DownwardElectricShockFlag", 3)
JUPH H 1 Offset(-15, 32)
JUPH H 1 Offset(-10, 32)
JUPH H 1 Offset(-5, 32)
TNT1 A 0 A_TakeInventory("EndAltFlag", 3)
Goto Ready

User1:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("MaximumShockFlag",1,"User1.UltLaunch")
TNT1 A 0 A_JumpIfInventory("JupiterFlightFlag",1,"User1.Relaunch")
TNT1 A 0 A_JumpIfInventory("JupiterFlightCooldown",1,"Ready")
TNT1 A 0 A_PlaySound("weapon/jupiterBoost","Weapon",0.5)
TNT1 A 0 A_GiveInventory("JupiterFlightFlag")
TNT1 A 0 A_CheckFloor("GroundWind")
Goto Cont
GroundWind:
TNT1 A 0 A_SpawnItemEx("JupiterFlightGroundWind")
Cont:
JUPH A 1 Offset(0, 37)ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH A 1 Offset(0, 42)ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH A 1 Offset(0, 47)ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
User1.Launching:
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,1)
goto User1.Cancel
TNT1 A 0 A_PlaySound("weapon/jupiterHover","Jupiter",0.5)
TNT1 A 0 ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH A 1 Offset(0, 47)A_TakeInventory("BaseAltfireAmmo",1)
TNT1 A 0 ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0)  TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH A 1 Offset(0, 47)A_TakeInventory("BaseAltfireAmmo",1)
TNT1 A 0 ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH A 1 Offset(0, 47)A_TakeInventory("BaseAltfireAmmo",1)
JUPH AA 1 Offset(0, 47)A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1.Launching")
User1.EndLaunch:
JUPH A 1 Offset(0, 47)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
JUPH A 1 Offset(0, 42)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
JUPH A 1 Offset(0, 37)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
TNT1 A 0 A_GunFlash
goto Ready
User1.Cancel:
JUPH A 0 A_GunFlash("NoFlash")
JUPH A 1 Offset(0, 47)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
JUPH A 1 Offset(0, 42)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
JUPH A 1 Offset(0, 37)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
goto Ready

User1.Relaunch:
TNT1 A 0 A_GiveInventory("DrillFlag")
JUPH A 1 Offset(0, 37)ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH A 1 Offset(0, 42)ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH A 1 Offset(0, 47)ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
User1.Relaunching:
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,1)
goto User1.Cancel
TNT1 A 0 A_PlaySound("weapon/jupiterHover","Jupiter",0.5)
JUPH AA 1 Offset(0, 47)ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0)
TNT1 A 0 ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH A 1 Offset(0, 47)
JUPH AA 1 Offset(0, 47)A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1.Relaunching")
User1.EndLaunch2:
TNT1 A 0 A_TakeInventory("DrillFlag")
JUPH A 1 Offset(0, 47)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
JUPH A 1 Offset(0, 42)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
JUPH A 1 Offset(0, 37)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
goto Ready

User1.UltLaunch:
TNT1 A 0 A_JumpIfInventory("JupiterFlightFlag",1,"User1.UltRelaunch")
TNT1 A 0 A_PlaySound("weapon/jupiterBoost","Weapon",0.5)
TNT1 A 0 A_GiveInventory("JupiterFlightFlag")
TNT1 A 0 A_CheckFloor("GroundWind2")
TNT1 A 0 A_Jump(256,"Cont2")
GroundWind2:
TNT1 A 0 A_SpawnItemEx("JupiterFlightGroundWind")
Cont2:
JUPH I 1 Offset(0, 37)ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH J 1 Offset(0, 42)ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH K 1 Offset(0, 47)ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
User1.UltLaunching:
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,1)
goto User1.UltCancel
TNT1 A 0 A_PlaySound("weapon/jupiterHover","Jupiter",0.5)
TNT1 A 0 ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH I 1 Offset(0, 47)A_TakeInventory("BaseAltfireAmmo",1)
TNT1 A 0 ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0)  TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH J 1 Offset(0, 47)A_TakeInventory("BaseAltfireAmmo",1)
TNT1 A 0 ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH K 1 Offset(0, 47)A_TakeInventory("BaseAltfireAmmo",1)
JUPH IJ 1 Offset(0, 47)A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1.UltLaunching")
User1.UltEndLaunch:
JUPH I 1 Offset(0, 47)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
JUPH J 1 Offset(0, 42)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
JUPH K 1 Offset(0, 37)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
TNT1 A 0 A_GunFlash
goto Ready.Ult
User1.UltCancel:
JUPH A 0 A_GunFlash("NoFlash")
JUPH I 1 Offset(0, 47)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
JUPH J 1 Offset(0, 42)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
JUPH K 1 Offset(0, 37)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
goto Ready

User1.UltRelaunch:
TNT1 A 0 A_GiveInventory("DrillFlag")
JUPH I 1 Offset(0, 37)ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH J 1 Offset(0, 42)ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH K 1 Offset(0, 47)ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
User1.UltRelaunching:
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,1)
goto User1.UltEndLaunch2
TNT1 A 0 A_PlaySound("weapon/jupiterHover","Jupiter",0.5)
JUPH IIJ 1 Offset(0, 47)ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0)
TNT1 A 0 ThrustThingZ(0,FLIGHT_LAUNCH_SPEED,0,0) TNT1 A 0 A_GiveInventory("JupiterForwardThrust")//A_Recoil(FORWARD_THRUST)
JUPH K 1 Offset(0, 47)
JUPH IJ 1 Offset(0, 47)A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1.UltRelaunching")
User1.UltEndLaunch2:
TNT1 A 0 A_TakeInventory("DrillFlag")
JUPH I 1 Offset(0, 47)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
JUPH J 1 Offset(0, 42)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
JUPH K 1 Offset(0, 37)ThrustThingZ(0,(FLIGHT_LAUNCH_SPEED / 3),0,0)
goto Ready.Ult

MaximumShocker:
TNT1 A 0 A_PlaySoundEx("weapon/electricshock","Weapon") TNT1 A 0 A_TakeInventory("Base56Ammo",4)
TNT1 A 0 A_FireCustomMissile("MaximumShocker",(SHOTGUN_SPREAD * 8),0,5,8)
TNT1 A 0 A_FireCustomMissile("MaximumShocker",(SHOTGUN_SPREAD * 4),0,5,8)
TNT1 A 0 A_FireCustomMissile("MaximumShocker",(SHOTGUN_SPREAD * 0),0,5,8)
TNT1 A 0 A_FireCustomMissile("MaximumShocker",(SHOTGUN_SPREAD * -4),0,5,8)
TNT1 A 0 A_FireCustomMissile("MaximumShocker",(SHOTGUN_SPREAD * -8),0,5,8)
JUPH LMNOPQLMNIJKIJKIJKIJK 1
Goto Ready.Ult

UltimateAttack:
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
TNT1 A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,111) TNT1 A 0 A_PlaySoundEx("classes/ultimateactivation","Auto")
TNT1 A 0 A_GiveInventory("PowerUltBuildCooldown",1)
TNT1 A 0 A_GiveInventory("ElectricShockSlowDown") TNT1 A 0 A_GiveInventory("MaximumShockAnimFlag",1)
TNT1 A 0 A_GiveInventory("InvProtection",1)
TNT1 A 0 A_ChangeFlag("INVULNERABLE",1)
TNT1 A 0 A_PlaySoundEx("weapon/thunderbolt","Weapon") JUPH I 4 ACS_ExecuteAlways(991,0,10858) TNT1 A 0 A_GiveInventory("InvProtection",1) TNT1 A 0 A_ChangeFlag("INVULNERABLE",1) JUPH J 4 ACS_ExecuteAlways(991,0,10859) JUPH K 4 ACS_ExecuteAlways(991,0,10860)
TNT1 A 0 A_PlaySoundEx("weapon/thunderbolt","Weapon") JUPH I 3 ACS_ExecuteAlways(991,0,10858) JUPH J 3 ACS_ExecuteAlways(991,0,10859) JUPH K 3 ACS_ExecuteAlways(991,0,10860)
TNT1 A 0 A_PlaySoundEx("weapon/thunderbolt","Weapon") JUPH I 3 ACS_ExecuteAlways(991,0,10858) JUPH J 3 ACS_ExecuteAlways(991,0,10859) JUPH K 3 ACS_ExecuteAlways(991,0,10860)
TNT1 A 0 A_PlaySoundEx("weapon/thunderbolt","Weapon") JUPH I 2 ACS_ExecuteAlways(991,0,10858) JUPH J 2 ACS_ExecuteAlways(991,0,10859) JUPH K 2 ACS_ExecuteAlways(991,0,10860)
TNT1 A 0 A_PlaySoundEx("weapon/thunderbolt","Weapon") JUPH I 2 ACS_ExecuteAlways(991,0,10858) JUPH J 2 ACS_ExecuteAlways(991,0,10859) JUPH K 2 ACS_ExecuteAlways(991,0,10860)
TNT1 A 0 A_PlaySoundEx("weapon/thunderbolt","Weapon") JUPH I 2 ACS_ExecuteAlways(991,0,10858) JUPH J 2 ACS_ExecuteAlways(991,0,10859) JUPH K 2 ACS_ExecuteAlways(991,0,10860)
TNT1 A 0 A_TakeInventory("ElectricShockSlowDown")
TNT1 A 0 A_TakeInventory("MaximumShockAnimFlag",3)
TNT1 A 0 A_GiveInventory("MaximumShockFlag",1)
TNT1 A 0 A_SpawnItemEx("UltElectricShockFieldFX",0,0,48)
TNT1 A 0 A_TakeInventory("UltAttackFlag",1)
TNT1 A 0 A_TakeInventory("InvProtection",1)
TNT1 A 0 A_ChangeFlag("INVULNERABLE",0)
Goto Ready.Ult

Flash:
TNT1 A 0 A_PlaySoundEx("weapon/jupiterhover","Auto") 
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",2)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_CheckFloor("NoFlash")
TNT1 A 0 A_GiveInventory("JupiterJumpChecker")
TNT1 A 0 A_JumpIfInventory("JupiterFlightCancel",1,"NoFlash")
TNT1 A 0 A_GiveInventory("JupiterThruster")
TNT1 A 1 //A_JumpIfInventory("JupiterSwoopFlag",1,"ExitFlash")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_CheckFloor("NoFlash")
TNT1 A 0 A_GiveInventory("JupiterJumpChecker")
TNT1 A 0 A_JumpIfInventory("JupiterFlightCancel",1,"NoFlash")
TNT1 A 0 A_GiveInventory("JupiterThruster")
TNT1 A 1 //A_JumpIfInventory("JupiterSwoopFlag",1,"ExitFlash")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_CheckFloor("NoFlash")
TNT1 A 0 A_GiveInventory("JupiterJumpChecker")
TNT1 A 0 A_JumpIfInventory("JupiterFlightCancel",1,"NoFlash")
TNT1 A 0 A_GiveInventory("JupiterThruster")
TNT1 A 1 //A_JumpIfInventory("JupiterSwoopFlag",1,"ExitFlash")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_CheckFloor("NoFlash")
TNT1 A 0 A_GiveInventory("JupiterJumpChecker")
TNT1 A 0 A_JumpIfInventory("JupiterFlightCancel",1,"NoFlash")
TNT1 A 0 A_GiveInventory("JupiterThruster")
TNT1 A 1 //A_JumpIfInventory("JupiterSwoopFlag",1,"ExitFlash")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_CheckFloor("NoFlash")
TNT1 A 0 A_GiveInventory("JupiterJumpChecker")
TNT1 A 0 A_JumpIfInventory("JupiterFlightCancel",1,"NoFlash")
TNT1 A 0 A_GiveInventory("JupiterThruster")
TNT1 A 1 //A_JumpIfInventory("JupiterSwoopFlag",1,"ExitFlash")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_CheckFloor("NoFlash")
TNT1 A 0 A_GiveInventory("JupiterJumpChecker")
TNT1 A 0 A_JumpIfInventory("JupiterFlightCancel",1,"NoFlash")
TNT1 A 0 A_GiveInventory("JupiterThruster")
TNT1 A 1 //A_JumpIfInventory("JupiterSwoopFlag",1,"ExitFlash")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,"Flash")
goto NoFlash
ExitFlash:
TNT1 A 0
stop

Flash.Swoop:
TNT1 A 0 A_PlaySoundEx("weapon/jupiterhover","Auto") 
TNT1 A 6 A_TakeInventory("BaseAltfireAmmo",2)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
loop
NoFlash:
TNT1 A 0 A_StopSound("weapon")
TNT1 A 0 A_GiveInventory("JupiterFlightEnd",1)
stop
}
}

actor JupiterFlightCooldown : Ammo
{
	inventory.amount 1
	inventory.maxamount 70
	+INVENTORY.IGNORESKILL
}

actor JupiterFlightCooldownWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 1 A_TakeFromTarget("JupiterFlightCooldown",1)
TNT1 A 0 A_JumpIfInTargetInventory("JupiterFlightCooldown",1,"Spawn")
Death:
TNT1 A 1
stop
}
}

actor JupiterThruster : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+INVENTORY.AUTOACTIVATE
+COUNTITEM
+INVBAR
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("DownwardElectricShockFlag",1,"Nope")
TNT1 A 0 A_JumpIfInventory("JupiterSwoopFlag",1,"Nope")
TNT1 A 0 A_JumpIfInventory("DrillFlag",1,"Nope")
TNT1 A 0 ThrustThingZ(0,4,1,0)
stop
Nope:
TNT1 A 0
stop
}
}

actor JupiterFlightGroundWind
{
PROJECTILE
+NOINTERACTION
+NOCLIP
Damage(0)
Height 1
Radius 1
Speed 0
States
{
Spawn:
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("DarkSprintDustFX",0,0,0,random(-20,-30),0,random(3,5),random(0,360))
stop
}
}

actor ElectricShockSlowDown : PowerSpeed
{
+POWERSPEED.NOTRAIL
powerup.duration 0x7FFFFFFD
Speed 0.30
}

actor JupiterFlightFlag : Inventory
{
inventory.amount 1
inventory.maxamount 2
}
actor JupiterSwoopFlag : JupiterFlightFlag {}
actor DownwardElectricShockFlag : JupiterFlightFlag {}
actor MaximumShockAnimFlag : JupiterFlightFlag {}
actor MaximumShockFlag : JupiterFlightFlag {}
actor FraggedRemoveSound : JupiterFlightFlag {} 
actor EndAltFlag : JupiterFlightFlag {}

actor SwoopTimer : Inventory
{
inventory.amount 1
inventory.maxamount 50
}

actor ElectricShockFieldFX
{
PROJECTILE
+NOINTERACTION
+NOCLIP
Damage(0)
Height 1
Radius 1
Speed 0
Scale 3.0
const int WARP_Y_OFFSET = 0;
const int WARP_Z_OFFSET = 48;
const int DISCHARGE_OFFSETS = 48;
States
{
Spawn:
TNT1 A 1 A_Warp(AAPTR_TARGET, 0, WARP_Y_OFFSET, WARP_Z_OFFSET, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
ESHB F 1 A_Warp(AAPTR_TARGET, 0, WARP_Y_OFFSET, WARP_Z_OFFSET, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_SpawnItemEx("ElectricShockDischarge",random(-DISCHARGE_OFFSETS,DISCHARGE_OFFSETS),random(-DISCHARGE_OFFSETS,DISCHARGE_OFFSETS),random(-DISCHARGE_OFFSETS,DISCHARGE_OFFSETS))
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"End")
TNT1 A 0 A_JumpIfInTargetInventory("BaseCustomFlag2",1,"Spawn2")
TNT1 A 1 A_JumpIfInTargetInventory("DownwardElectricShockFlag",1,"Spawn2")
TNT1 A 0 A_JumpIfInTargetInventory("BaseCustomFlag2",1,"Spawn2")
TNT1 A 1 A_JumpIfInTargetInventory("DownwardElectricShockFlag",1,"Spawn2")
Goto End
Spawn2:
ESHB F 1 A_Warp(AAPTR_TARGET, 0, WARP_Y_OFFSET, WARP_Z_OFFSET, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_SpawnItemEx("ElectricShockDischarge",random(-DISCHARGE_OFFSETS,DISCHARGE_OFFSETS),random(-DISCHARGE_OFFSETS,DISCHARGE_OFFSETS),random(-DISCHARGE_OFFSETS,DISCHARGE_OFFSETS))
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"End")
TNT1 A 0 A_JumpIfInTargetInventory("BaseCustomFlag2",1,"Spawn3")
TNT1 A 1 A_JumpIfInTargetInventory("DownwardElectricShockFlag",1,"Spawn3")
TNT1 A 0 A_JumpIfInTargetInventory("BaseCustomFlag2",1,"Spawn3")
TNT1 A 1 A_JumpIfInTargetInventory("DownwardElectricShockFlag",1,"Spawn3")
Goto End
Spawn3:
ESHB G 1 A_Warp(AAPTR_TARGET, 0, WARP_Y_OFFSET, WARP_Z_OFFSET, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_SpawnItemEx("ElectricShockDischarge",random(-DISCHARGE_OFFSETS,DISCHARGE_OFFSETS),random(-DISCHARGE_OFFSETS,DISCHARGE_OFFSETS),random(-DISCHARGE_OFFSETS,DISCHARGE_OFFSETS))
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"End")
TNT1 A 0 A_JumpIfInTargetInventory("BaseCustomFlag2",1,"Spawn4")
TNT1 A 1 A_JumpIfInTargetInventory("DownwardElectricShockFlag",1,"Spawn4")
TNT1 A 0 A_JumpIfInTargetInventory("BaseCustomFlag2",1,"Spawn4")
TNT1 A 1 A_JumpIfInTargetInventory("DownwardElectricShockFlag",1,"Spawn4")
Goto End
Spawn4:
ESHB G 1 A_Warp(AAPTR_TARGET, 0, WARP_Y_OFFSET, WARP_Z_OFFSET, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_SpawnItemEx("ElectricShockDischarge",random(-DISCHARGE_OFFSETS,DISCHARGE_OFFSETS),random(-DISCHARGE_OFFSETS,DISCHARGE_OFFSETS),random(-DISCHARGE_OFFSETS,DISCHARGE_OFFSETS))
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"End")
TNT1 A 0 A_JumpIfInTargetInventory("BaseCustomFlag2",1,"Spawn")
TNT1 A 1 A_JumpIfInTargetInventory("DownwardElectricShockFlag",1,"Spawn")
TNT1 A 0 A_JumpIfInTargetInventory("BaseCustomFlag2",1,"Spawn")
TNT1 A 1 A_JumpIfInTargetInventory("DownwardElectricShockFlag",1,"Spawn")
Goto End
End:
TNT1 A 0
stop
}
}

actor UltElectricShockFieldFX : ElectricShockFieldFX //Also ult drain watcher
{
States
{
Spawn:
TNT1 A 0 A_Warp(AAPTR_TARGET, 0, WARP_Y_OFFSET, WARP_Z_OFFSET, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_PlaySound("weapon/smaplar","Auto")
TNT1 A 0 A_GiveToTarget("JupiterUltColor1")
TNT1 A 0 A_TakeFromTarget("MediumLongUltimateAmmo", 2)
ESHB F 1 A_Warp(AAPTR_TARGET, 0, WARP_Y_OFFSET, WARP_Z_OFFSET, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"End")
ESHB F 1 A_JumpIfInTargetInventory("MediumLongUltimateAmmo",1,"Spawn2")
ESHB F 1 A_JumpIfInTargetInventory("MediumLongUltimateAmmo",1,"Spawn2")
goto End
Spawn2:
TNT1 A 0 A_GiveToTarget("JupiterUltColor2")
ESHB G 1 A_Warp(AAPTR_TARGET, 0, WARP_Y_OFFSET, WARP_Z_OFFSET, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"End")
ESHB G 1 A_JumpIfInTargetInventory("MediumLongUltimateAmmo",1,"Spawn3")
ESHB G 1 A_JumpIfInTargetInventory("MediumLongUltimateAmmo",1,"Spawn3")
goto End
Spawn3:
TNT1 A 0 A_GiveToTarget("JupiterUltColor3")
TNT1 A 0 A_TakeFromTarget("MediumLongUltimateAmmo", 2)
ESHB F 1 A_Warp(AAPTR_TARGET, 0, WARP_Y_OFFSET, WARP_Z_OFFSET, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"End")
ESHB F 1 A_JumpIfInTargetInventory("MediumLongUltimateAmmo",1,"Spawn4")
ESHB F 1 A_JumpIfInTargetInventory("MediumLongUltimateAmmo",1,"Spawn4")
goto End
Spawn4:
TNT1 A 0 A_PlaySound("weapon/smaplar","Auto")
TNT1 A 0 A_GiveToTarget("JupiterUltColor1")
ESHB G 1 A_Warp(AAPTR_TARGET, 0, WARP_Y_OFFSET, WARP_Z_OFFSET, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"End")
ESHB G 1 A_JumpIfInTargetInventory("MediumLongUltimateAmmo",1,"Spawn5")
ESHB G 1 A_JumpIfInTargetInventory("MediumLongUltimateAmmo",1,"Spawn5")
goto End
Spawn5:
TNT1 A 0 A_GiveToTarget("JupiterUltColor2")
TNT1 A 0 A_TakeFromTarget("MediumLongUltimateAmmo", 1)
ESHB F 1 A_Warp(AAPTR_TARGET, 0, WARP_Y_OFFSET, WARP_Z_OFFSET, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"End")
ESHB F 1 A_JumpIfInTargetInventory("MediumLongUltimateAmmo",1,"Spawn6")
ESHB F 1 A_JumpIfInTargetInventory("MediumLongUltimateAmmo",1,"Spawn6")
goto End
Spawn6:
TNT1 A 0 A_GiveToTarget("JupiterUltColor3")
ESHB G 1 A_Warp(AAPTR_TARGET, 0, WARP_Y_OFFSET, WARP_Z_OFFSET, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
TNT1 A 0 A_JumpIfInTargetInventory("IsTheTerminator",1,"End")
ESHB G 1 A_JumpIfInTargetInventory("MediumLongUltimateAmmo",1,"Spawn")
ESHB G 1 A_JumpIfInTargetInventory("MediumLongUltimateAmmo",1,"Spawn")
goto End
TNT1 A 0
Goto Spawn+1 
End:
TNT1 A 0 A_GiveToTarget("JupiterUltColor0")
TNT1 A 0 A_TakeFromTarget("PowerUltBuildCooldown",1)
TNT1 A 0 A_TakeFromTarget("MaximumShockFlag",3)
stop
}
}

actor JupiterUltColor1 : CustomInventory
{
states
{
Pickup:
TNT1 A 0 ACS_ExecuteAlways(971,0,10858)
stop
}
}

actor JupiterUltColor2 : CustomInventory
{
states
{
Pickup:
TNT1 A 0 ACS_ExecuteAlways(971,0,10859)
stop
}
}

actor JupiterUltColor3 : CustomInventory
{
states
{
Pickup:
TNT1 A 0 ACS_ExecuteAlways(971,0,10860)
stop
}
}

actor JupiterUltColor0 : CustomInventory
{
states
{
Pickup:
TNT1 A 0 ACS_ExecuteAlways(991,0,5964)
stop
}
}

actor ElectricShotgunSpark
{
PROJECTILE
Obituary "$OB_JUPITER1"
damagetype "Jupiter"
damage (5)
radius 12
height 12
speed 30
scale 2.5
species "JupiAttackType"
+THRUSPECIES
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
ESHB HI 2
Goto Spawn+2
}
}

actor MaximumShocker : ElectricShotgunSpark
{
Obituary "$OB_JUPITER6"
damagetype "MaximumShocker"
damage (7)
radius 16
height 16
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
ESHB ABC 1 
TNT1 A 0 A_SpawnItemEx("SplitShockerTrail")
Goto Spawn+2
Death:
TNT1 A 0 A_SpawnItemEx("SplitShocker",0,0,0,30,0,0,60) TNT1 A 0 A_SpawnItemEx("SplitShocker",0,0,0,30,0,0,120)
TNT1 A 0 A_SpawnItemEx("SplitShocker",0,0,0,30,0,0,180) TNT1 A 0 A_SpawnItemEx("SplitShocker",0,0,0,30,0,0,240)
TNT1 A 0 A_SpawnItemEx("SplitShocker",0,0,0,30,0,0,300) TNT1 A 0 A_SpawnItemEx("SplitShocker",0,0,0,30,0,0,360)
TNT1 A 2 A_PlaySoundEx("weapon/electricshockspark","Body")
stop
}
}

actor SplitShocker : MaximumShocker
{
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
ESHB ABC 1 
TNT1 A 0 A_SpawnItemEx("SplitShockerTrail")
Goto Spawn+2
Death:
XDeath:
TNT1 A 0
stop
}
}

actor SplitShockerTrail : SplitShocker
{
damage (0)
speed 0
+NOINTERACTION
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
ESHB ABCABCAB 1 A_SetScale(scalex-0.25, scaley-0.25)
stop
}
}

actor ElectricShockColumn : ElectricShotgunSpark
{
+RIPPER
Damage (0)
damagetype "ElectricShockColumn"
Obituary "$OB_JUPITER3"
radius 16
height 16
mass 2
accuracy 32
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SpawnItemEx("ElectricShockColumn",0,0,-32,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
ESHB J 2 A_Explode(mass,accuracy,0,0,accuracy)
stop
Death:
TNT1 AA 0 A_SpawnItemEx("ElectricShockBit",0,0,1,20,0,0,random(0,359))
TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ElecricShockBossPuffSparkFX2",0,0,0,15,0,random(4,20),random(0,359),1)
TNT1 A 2 A_PlaySoundEx("weapon/electricshockspark","Body")
stop
}
}

actor ElectricShockColumn2 : ElectricShockColumn
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SpawnItemEx("ElectricShockColumn2",0,0,-32,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM)
ESHB K 2 A_Explode(mass,accuracy,0,0,accuracy)
stop
}
}

actor ElectricShockFXSpawner : ElectricShockColumn
{
+THRUACTORS
+FLOORHUGGER
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ElecricShockBossPuffSparkFX",0,0,8,15,0,random(4,20),random(0,359),1)
TNT1 A 2 A_PlaySoundEx("weapon/electricshockspark","Body")
stop
}
}

Actor ElectricShockColumnProtect : PowerProtection
{
	Powerup.Duration 2
	DamageFactor "ElectricShockColumn", 0.0
}

actor ElectricShockBit : ElectricShotgunSpark
{
Damage (4)
Speed 0
+FLOORHUGGER
+THRUACTORS
Obituary "$OB_JUPITER5"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
ESHB H 2
TNT1 A 0 A_ChangeFlag("THRUACTORS", False)
ESHB IHIHIHIHIHIHIH 2
stop
}
}

actor ElectricShockDischarge
{
species "DustManType"
+THRUSPECIES
PROJECTILE
damagetype "Jupiter"
Obituary "$OB_JUPITER4"
damage (4)
radius 4
height 4
speed 0
scale 2.5
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
ESHB HIHI 2
Death:
XDeath:
TNT1 A 0
stop
}
}

actor JupiterSwoopHitBox
{
species "DustManType"
+THRUSPECIES
PROJECTILE
+DONTBLAST
+DONTREFLECT
-NOBLOCKMAP
damagetype "JupiterSwoop"
Obituary "$OB_JUPITER2"
damage (25)
Radius 24
Height 24
Speed 0
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 1
stop
}
}

Actor JupiterSwoopProtect : PowerProtection
{
	Powerup.Duration -1
	DamageFactor "JupiterSwoop", 0.0
}

//CBM
const int JUPITER_LASERRANGE = 16;
const int JUPITER_ULTLASERRANGE = 10;
 
actor JupiterBigLaserDamager
{
PROJECTILE
Obituary "$OB_JUPITER3"
DamageType "JupiterElectricShock"
+THRUACTORS
+THRUGHOST
+DONTBLAST
+DONTREFLECT
+SERVERSIDEONLY
renderstyle none
damage (0)
Radius 8
Height 8
speed 35
mass 2
accuracy 32
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetPitch(pitch+1)
TNT1 A 0 A_JumpIf(pitch>JUPITER_LASERRANGE,"Death")
TNT1 A 0 A_SpawnItemEx("JupiterBigLaserDamager",0,0,0,momx,momy,momz,0,552)
TNT1 A 0 A_Stop
TNT1 A 1 A_Explode(mass,accuracy,0,0,accuracy)
stop
Death:
TNT1 A 1
stop
}
}

Actor ElectricShockProtect : PowerProtection
{
	Powerup.Duration 3
	DamageFactor "JupiterElectricShock", 0.0
}

actor ElecricShockBossPuffSparkFX
{
translation "229:229=216:216"
PROJECTILE
+DOOMBOUNCE
+THRUACTORS
+DONTBLAST
+DONTSPLASH
+FORCEXYBILLBOARD
alpha 0.9
gravity 0.3
radius 2
height 2
scale 2.5
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
ESPA XXXWWWVVV 1 bright A_FadeOut(0.04)
stop
}
}

actor ElecricShockBossPuffSparkFX2 : ElecricShockBossPuffSparkFX
{
+NOCLIP
+NOINTERACTION
}

actor JupiterBigLaser1FX
{
PROJECTILE
Obituary "$OB_JUPITER3"
DamageType "Jupiter"
+THRUACTORS
+DONTBLAST
+DONTREFLECT
-CLIENTSIDEONLY
+FORCEYBILLBOARD
+PAINLESS
damage (0)
Radius 8
Height 8
speed 30
scale 2.5
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
ESHB A 0 A_SetPitch(pitch+1)
ESHB A 0 A_JumpIf(pitch>JUPITER_LASERRANGE,"Death2")
ESHB A 0 A_SpawnItemEx("JupiterBigLaser1FX",0,0,0,momx,momy,momz,0,553)
ESHB A 1 A_Stop
stop
Death:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 AAAA 0 A_SpawnItemEx("ElecricShockBossPuffSparkFX",0,0,0,15,0,random(-15,15),random(0,359))
TNT1 A 1 A_PlaySoundEx("weapon/electricshockspark","Body")
stop
Death2:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
ESHB D 1 A_SpawnItemEx("ElecricShockBossPuffSparkFX",0,0,0,15,0,random(-15,15),random(0,359),1)
stop
}
}

actor JupiterBigLaser2FX : JupiterBigLaser1FX 
{
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
ESHB B 0 A_SetPitch(pitch+1)
ESHB B 0 A_JumpIf(pitch>JUPITER_LASERRANGE,"Death2")
ESHB B 0 A_SpawnItemEx("JupiterBigLaser2FX",0,0,0,momx,momy,momz,0,553)
ESHB B 1 A_Stop
stop
Death:
TNT1 AAAA 0 A_SpawnItemEx("ElecricShockBossPuffSparkFX",0,0,0,15,0,random(-15,15),random(0,359))
stop
Death2:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
ESHB E 1 A_SpawnItemEx("ElecricShockBossPuffSparkFX",0,0,0,15,0,random(-15,15),random(0,359),1)
stop
}
}

actor JupiterBigLaser3FX : JupiterBigLaser1FX 
{
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
ESHB C 0 A_SetPitch(pitch+1)
ESHB C 0 A_JumpIf(pitch>JUPITER_LASERRANGE,"Death2")
ESHB C 0 A_SpawnItemEx("JupiterBigLaser3FX",0,0,0,momx,momy,momz,0,553)
ESHB C 1 A_Stop
stop
Death:
TNT1 AAAA 0 A_SpawnItemEx("ElecricShockBossPuffSparkFX",0,0,0,15,0,random(-15,15),random(0,359))
stop
Death2:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_Jump(256,1,2)
ESHB D 1 A_SpawnItemEx("ElecricShockBossPuffSparkFX",0,0,0,15,0,random(-15,15),random(0,359),1)
stop
ESHB E 1 A_SpawnItemEx("ElecricShockBossPuffSparkFX",0,0,0,15,0,random(-15,15),random(0,359),1)
stop
}
}

actor JupiterBigLaser1Start : JupiterBigLaser1FX
{
+INVISIBLE
}
actor JupiterBigLaser2Start : JupiterBigLaser2FX
{
+INVISIBLE
}
actor JupiterBigLaser3Start : JupiterBigLaser3FX
{
+INVISIBLE
}

actor JupiterBigLaser1FX_T : JupiterBigLaser1FX
{
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SetPitch(pitch+1)
TNT1 A 0 A_JumpIf(pitch>JUPITER_LASERRANGE,2)
TNT1 A 0 A_SpawnItemEx("JupiterBigLaser1FX_T",0,0,0,momx,momy,momz,0,553)
//TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_istargetclient")!=1,"Death2")
goto Spawn2
Spawn2:
TNT1 A 1 A_Stop
stop
Death2:
ESHB A 1 A_Stop
stop
Death:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 AAAA 0 A_SpawnItemEx("ElecricShockBossPuffSparkFX",0,0,0,15,0,random(-15,15),random(0,359))
TNT1 A 1 A_PlaySoundEx("weapon/electricshockspark","Body")
stop
}
}
actor JupiterBigLaser2FX_T : JupiterBigLaser2FX
{
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SetPitch(pitch+1)
TNT1 A 0 A_JumpIf(pitch>JUPITER_LASERRANGE,2)
TNT1 A 0 A_SpawnItemEx("JupiterBigLaser2FX_T",0,0,0,momx,momy,momz,0,553)
//TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_istargetclient")!=1,"Death2")
goto Spawn2
Spawn2:
TNT1 A 1 A_Stop
stop
Death2:
ESHB B 1 A_Stop
stop
Death:
//TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_istargetclient")==1,"Spawn2")
TNT1 AAAA 0 A_SpawnItemEx("ElecricShockBossPuffSparkFX",0,0,0,15,0,random(-15,15),random(0,359))
stop
}
}
actor JupiterBigLaser3FX_T : JupiterBigLaser3FX
{
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SetPitch(pitch+1)
TNT1 A 0 A_JumpIf(pitch>JUPITER_LASERRANGE,2)
TNT1 A 0 A_SpawnItemEx("JupiterBigLaser3FX_T",0,0,0,momx,momy,momz,0,553)
//TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_istargetclient")!=1,"Death2")
goto Spawn2
Spawn2:
TNT1 A 1 A_Stop
stop
Death2:
ESHB C 1 A_Stop
stop
Death:
//TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_istargetclient")==1,"Spawn2")
TNT1 AAAA 0 A_SpawnItemEx("ElecricShockBossPuffSparkFX",0,0,0,15,0,random(-15,15),random(0,359))
stop
}
}

actor JupiterBigLaser1Start_T : JupiterBigLaser1FX_T
{
+INVISIBLE
-CLIENTSIDEONLY
+NONETID
}
actor JupiterBigLaser2Start_T : JupiterBigLaser2FX_T
{
+INVISIBLE
-CLIENTSIDEONLY
+NONETID
}
actor JupiterBigLaser3Start_T : JupiterBigLaser3FX_T
{
+INVISIBLE
-CLIENTSIDEONLY
+NONETID
}

actor JupiterAnimHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("DownwardElectricShockFlag",1,"Nope")
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
stop

Nope:
TNT1 A 0
stop
}
}

actor JupiterJumpChecker : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("JupiterFlightCancel",1,"Nope")
TNT1 A 0 A_JumpIfInventory("DownwardElectricShockFlag",1,"Nope")
TNT1 A 0 A_JumpIfInventory("DrillFlag",1,"Nope")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",2)>0,"Pickup2")
stop

Pickup2:
TNT1 A 0 A_GiveInventory("JupiterFlightCancel")
stop

Nope:
TNT1 A 0
stop
}
}

actor JupiterFlightCancel : Powerup 
{
powerup.duration 35
}

actor JupiterFlightEnd : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("JupiterFlightFlag", 3)
TNT1 A 0 A_TakeInventory("JupiterSwoopFlag",3)
TNT1 A 0 ACS_ExecuteAlways(991,0,5964)
TNT1 A 0 A_GiveInventory("JupiterAnimHandler")
TNT1 A 0 A_TakeInventory("DrillFlag")
TNT1 A 0 A_SpawnItemEx("JupiterFlightCooldownWatcher")
TNT1 A 0 A_GiveInventory("JupiterFlightCooldown",105)
stop
Nope:
TNT1 A 0
stop
}
}

actor JupiterSwoopMobility : BaseMovement
{
states
{
itTimeGo:
TNT1 A 0 A_Recoil(CallACS("VC_XYMob",-2))
stop
}
}

actor JupiterForwardThrust : BaseMovement
{
states
{
itTimeGo:
TNT1 A 0 A_Recoil(CallACS("VC_XYMob",-1))
stop
}
}