//Mainfire explosion nerfed: 4 damage > 3 damage
actor Galaxyman : SemiWeakArmorClass
{
	Player.ScoreIcon "GALAMUGS"
	player.startitem "BaseFlagPack", 1
	player.startitem "SemiWeakArmor"
	player.soundclass "galaxymanc"
	Player.ViewHeight 42
	player.displayname "Galaxyman"
	player.jumpz 14
	player.startitem "Base28Ammo", 28
	player.startitem "BaseAltfireAmmo", 112
	player.startitem "BlackHoleBombBoss"
	player.startitem "UltimateAttackItem1", 1
	player.startitem "UltSoundWatcherSpawn1"
	player.startitem "CanThirdFire"
	player.startitem "IsFromMM9"
	States
	{
		Spawn:
		GALX B 0
		GALX B 0 A_JumpIf(z-floorz>0, "Jumping")
		GALX B 1 A_JumpIfInventory("BaseCustomFlag1",1,"See2")
		GALX A 0 A_JumpIf(z-floorz>0, "Jumping")
		GALX A 1 A_JumpIfInventory("BaseCustomFlag1",1,"See2")
		Goto Spawn+3
		
		See:
		GALX BBBBBCCCCCDDDDDEEEEE 1 A_JumpIf(z-floorz>0, "Jumping")
		Goto Spawn+1
		
		See2:
		GALX IJKL 3
		GALX B 0 A_JumpIfInventory("BaseCustomFlag1",1,"See2")
		goto Spawn
		
		Jumping:
		GALX A 0 A_JumpIfInventory("GalaxyFlyAnim",1,"Missile4")
		GALX M 1 A_JumpIf(z-floorz<=0, "Spawn")
		loop
		
		Missile:
		GALX A 0 A_JumpIfInventory("BaseCustomFlag1",1,"Missile3")
		GALX A 0 A_JumpIfInventory("GalaxyFlyAnim",1,"Missile4")
		GALX F 1 A_JumpIf(z-floorz>0, "JumpingMissile")
		GALX A 0 A_JumpIfInventory("GalaxyFlyAnim",1,"Missile4")
		GALX F 1 A_JumpIf(z-floorz>0, "JumpingMissile")
		GALX A 0 A_JumpIfInventory("GalaxyFlyAnim",1,"Missile4")
		GALX F 1 A_JumpIf(z-floorz>0, "JumpingMissile")
		GALX A 0 A_JumpIfInventory("GalaxyFlyAnim",1,"Missile4")
		GALX F 1 A_JumpIf(z-floorz>0, "JumpingMissile")
		GALX A 0 A_JumpIfInventory("GalaxyFlyAnim",1,"Missile4")
		GALX F 1 A_JumpIf(z-floorz>0, "JumpingMissile")
		
		Missile2:
		GALX GGGG 1 A_JumpIf(z-floorz>0, "JumpingMissile2")
		Goto Spawn+1
		
		JumpingMissile:
		GALX N 0 A_JumpIfInventory("BaseCustomFlag1",1,"Missile3")
		GALX N 0 A_JumpIfInventory("GalaxyFlyAnim",1,"Missile4")
		GALX N 1 A_JumpIf(z-floorz<=0, "Missile")
		GALX N 0 A_JumpIfInventory("GalaxyFlyAnim",1,"Missile4")
		GALX N 1 A_JumpIf(z-floorz<=0, "Missile")
		GALX N 0 A_JumpIfInventory("GalaxyFlyAnim",1,"Missile4")
		GALX N 1 A_JumpIf(z-floorz<=0, "Missile")
		GALX N 0 A_JumpIfInventory("GalaxyFlyAnim",1,"Missile4")
		GALX N 1 A_JumpIf(z-floorz<=0, "Missile")
		GALX N 0 A_JumpIfInventory("GalaxyFlyAnim",1,"Missile4")
		GALX N 1 A_JumpIf(z-floorz<=0, "Missile")
		
		JumpingMissile2:
		GALX NNNN 1 A_JumpIf(z-floorz<=0, "Missile2")
		Goto Jumping
		
		Missile3: //Same as Missile, sans the jump check
		GALX F 5
		GALX G 4
		GALX G 0 A_JumpIfInventory("BaseCustomFlag1",1,"See2")
		goto Spawn+2
		
		Missile4:
		GALX IJIJ 2
		goto See2
		
		Animation1:
		GALX V 20
		goto Spawn+1
		
		Animation2:
		GALX V 1
		GALX UT 3
		goto Spawn+1
		
		Animation3:
		GALX O 14
		goto Spawn+1
		
		ClassTimeStop:
		PLAY A 0 SetPlayerProperty(0,1,4)
		PLAY A 0 ACS_Execute(528,0)
		GALX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
		PLAY A 0 SetPlayerProperty(0,0,4)
		Goto pain+1
		ClassPain:
		GALX HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
		Goto Spawn+1
		ClassDeath:
		GALX H 20 ACS_ExecuteAlways(999,0,0)
		GALX H 0 A_PlayerScream
		NOFX A 0 A_SpawnItemEx("FakeDeathFXMM9",0,0,32)
		NOFX A 1 A_CheckPlayerDone
		wait
		ClassIceDeath:
		GALX A 35
		NOFX A 0 A_SpawnItemEx("FrozenDeathFX",0,0,16)
		NOFX A 1 A_CheckPlayerDone
		wait
		WeaponGetM:
		CUTM H 0 A_JumpIfInTargetInventory("BlackHoleBombWepM",1,2)
		CUTM H 0 A_GiveToTarget("WeaponGetter")
		CUTM H 0 A_GiveToTarget("BlackHoleBombWepM")
		goto ClassDeath
	}
}

actor BlackHoleBombBoss : VCBaseWeapon
{
	Weapon.AmmoUse 3
	Weapon.AmmoGive 28
	Obituary "$OB_GALAXYMAN1"
	weapon.ammotype "Base28Ammo"
	weapon.ammotype2 "BaseAltfireAmmo"
	States
	{
		Ready:
		TNT1 A 0
		GALH A 0 A_JumpIfInventory("BaseCustomFlag1",1,"Ready.TF")
		GALH A 0 A_JumpIfInventory("BaseAltfireAmmo",112,"Ready.TF")
		GALH A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,28)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,84)) GALH A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		GALH A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,28)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,84)) GALH A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
		GALH A 0 A_JumpIfInventory("BaseCustomFlag1",1,"Ready")
		GALH A 0 A_GiveInventory("BaseAltfireAmmo",1)
		Goto Ready+1
		
		Ready.TF:
		GALH A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,28)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,24)) GALH A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") GALH A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		GALH A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,28)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,24)) GALH A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") GALH A 0 A_JumpIf(CallACS("VC_CheckBtn",3)==3,"User1")
		GALH A 0 A_JumpIfInventory("BaseCustomFlag1",1,"Ready")
		GALH A 0 A_GiveInventory("BaseAltfireAmmo",1)
		Goto Ready+1
		
		Deselect:
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
		GALX A 1 A_Lower
		Loop
		
		Select:
		TNT1 A 0 A_SpawnItemEx("GalaxyColorWatcher")
		TNT1 A 0 ACS_ExecuteAlways(991,0,887)
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
		GALX A 1 A_Raise
		Loop
		
		User1:
		TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,"User1.Cancel")
		TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",112,"User1.Real")
		goto NoAmmo
		
		User1.Real:
		GALH A 0 A_GiveInventory("GalaxyFlyAnim")
		GALH A 0 ThrustThingZ(0,10,0,1)
		GALH A 0 A_GiveInventory("GalaxyFlySlow")
		GALH A 0 A_GunFlash
		TNT1 A 0 SetPlayerProperty(0,1,3)
		GALH A 1 Offset(0,40) A_GiveInventory("BaseCustomFlag1")
		GALH A 1 Offset(0,44)
		GALH A 3 Offset(0,46)
		GALH A 1 Offset(0,44) A_GiveInventory("BaseCustomFlag1")
		GALH A 1 Offset(0,40)
		GALH A 10 A_WeaponReady(WRF_NOFIRE)
		goto Ready
		
		User1.Cancel:
		GALH A 0 A_GiveInventory("GalaxyFlyAnim")
		GALH A 0 ThrustThingZ(0,10,1,1)
		GALH A 0 A_GunFlash("Flash.Stop")
		TNT1 A 0 SetPlayerProperty(0,0,3)
		GALH F 0 A_GiveInventory("GalaxyAmmoTaker2",1)
		GALH A 1 Offset(0,40) A_TakeInventory("BaseCustomFlag1")
		GALH A 1 Offset(0,44)
		GALH A 3 Offset(0,46)
		GALH A 1 Offset(0,44) A_TakeInventory("BaseCustomFlag1")
		GALH A 1 Offset(0,40)
		GALH A 10 A_WeaponReady(WRF_NOFIRE)
		goto Ready
		
		Fire:
		GALH B 0 A_JumpIfInventory("GalaxyActiveFlag",1,"Ready")
		GALH B 0 A_GiveInventory("GalaxyRelease")
		GALH BCC 1
		GALH B 0 A_TakeInventory("Base28Ammo",28)
		GALH A 0 A_SpawnItemEx("GalaxyManBHB", 0, 8, 32, cos(-pitch)*20, 0, sin(-pitch)*20, 0, SXF_TRANSFERPITCH)
		GALH DE 1
		
		Fire.Hold:
		GALH E 1 A_JumpIfInventory("TopAnim1",1,2)
		GALH D 0 A_Refire("Fire.Hold")
		GALH D 0 A_GiveInventory("DrillFlag")
		GALH D 0 A_ClearRefire
		GALH DCBA 2
		GALH D 0 A_TakeInventory("DrillFlag")
		goto Ready
		
		Altfire:
		RATU A 0 A_JumpIfInventory("NoAltfire",1,"NoAmmo")
		TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,"Altfire2")
		
		Altfire.Real:
		TNT1 A 0 A_SpawnItemEx("GalaxyWarpFX",0,0,0,0,0,0,0,1)
		TNT1 A 0 ACS_Execute(191,0,APROP_JumpZ,28,1)
		TNT1 A 0 A_GiveInventory("GalaxyWarpSpeed")
		HAZH D 0 A_TakeInventory("UnSolid",1)
		HAZH D 0 A_ChangeFlag("SOLID",0)
		HAZH D 0 A_ChangeFlag("PICKUP",0)
		PHAH J 0 A_ChangeFlag("INVULNERABLE",1)		
		PHAH J 0 A_GiveInventory("InvProtection",1)
		PHAH J 0 A_ChangeFlag("CANTSEEK",1)
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
		GALH JKLMNOP 2
		TNT1 AAA 2 A_SetTranslucent(0.0)
		
		Altfire.Hold:
		TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,1)
		goto Altfire.End
		TNT1 A 1 A_TakeInventory("BaseAltfireAmmo",4)
		TNT1 A 0 A_Refire("Altfire.Hold")
		
		Altfire.End:
		TNT1 A 0 A_PlaySoundEx("weapon/galaxywarp","Weapon")
		PHAH J 0 A_TakeInventory("BaseAltfireAmmo",60)
		PHAH J 0 A_ChangeFlag("INVULNERABLE",0)
		PHAH J 0 A_TakeInventory("InvProtection",1)
		PHAH J 0 A_ChangeFlag("CANTSEEK",0)
		TNT1 A 0 ACS_Execute(191,0,APROP_JumpZ,14,1)
		TNT1 A 0 A_TakeInventory("GalaxyWarpSpeed")
		TNT1 A 0 A_SpawnItemEx("GalaxyWarpHitbox")
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
		GALH PP 1 A_Stop
		TNT1 A 0 A_SetTranslucent(1.0)
		GALH OONNMMLL 1 A_Stop
		GALH KJA 2
		DRIA A 0 A_SpawnItemEx("ReSolidifier")
		TNT1 A 0 A_ChangeFlag("PICKUP",1)
		goto Ready

		Altfire2:
		GALH A 0 A_GiveInventory("GalaxyFlyAnim")
		GALH F 0 A_SpawnItemEx("GalaxySwoopHitbox")
		GALH F 0 A_GiveInventory("GalaxySoundSkip")
		GALH F 0 A_SpawnItemEx("GalaxySwoopFXWatcher")
		GALH F 0 A_PlaySoundEx("weapon/galaxyswoop","SoundSlot7")
		GALH F 0 A_GiveInventory("GalaxyAmmoTaker")
		GALH FFGGHHII 1 A_ChangeVelocity(CallACS("VC_XYMob",5*cos(pitch)),0,-4,CVF_RELATIVE)
		GALH FFGGHHII 1 A_ChangeVelocity(CallACS("VC_XYMob",5*cos(pitch)),0,-2,CVF_RELATIVE)
		GALH FFGGHHII 1 A_ChangeVelocity(CallACS("VC_XYMob",5*cos(pitch)),0,2,CVF_RELATIVE)
		GALH FFGGHHII 1 A_ChangeVelocity(CallACS("VC_XYMob",5*cos(pitch)),0,4,CVF_RELATIVE)
		GALH A 27
		goto Ready
		
		Flash:
		TNT1 A 0 A_GiveInventory("GalaxyFlySoundPlayer")
		TNT1 A 0 ThrustThingZ(0,20,0,1)
		TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",4)
		TNT1 AAAAAAAAAA 1 A_JumpIfInventory("IsDead",1,"NoFlash")
		TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
		TNT1 A 0 A_GiveInventory("GalaxyFlySoundPlayer")
		TNT1 A 0 ThrustThingZ(0,20,1,1)
		TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",4)
		TNT1 AAAAAAAAAA 1 A_JumpIfInventory("IsDead",1,"NoFlash")
		TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,"Flash")
		goto Flash.Stop
		
		Flash.Stop:
		TNT1 A 0 A_TakeInventory("GalaxyFlySlow")
		TNT1 A 0 A_TakeInventory("BaseCustomFlag1")
		TNT1 A 0 SetPlayerProperty(0,0,3)
		stop
		
		UltimateAttack:
		TNT1 A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,84)
		TNT1 A 0 A_GiveInventory("GalaxyUltCooldown",1)
		PLGH A 0 A_PlaySoundEx("classes/ultimateactivation","Auto")
		TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",3)
		TNT1 A 0 A_TakeInventory("ShortUltimateAmmo",999)
		TNT1 A 0 A_FireCustomMissile("GalaxyAdamskiSpawner",0,0,8,0)
		GALH JKKKKJ 2
		PLGH A 0 A_TakeInventory("UltAttackFlag",1)
		goto Ready+1
		
		NoAmmo:
		GALH A 2 A_GiveInventory("BaseAltfireAmmo",1)
		goto Ready
	}
}

actor GalaxyManBHB
{
translation "192:192=[240,120,248]:[240,120,248]", "198:198=[184,0,184]:[184,0,184]"
PROJECTILE
+NOTARGETSWITCH
+FORCEXYBILLBOARD
+RIPPER
+SKYEXPLODE
+DONTREFLECT
Obituary "$OB_GALAXYMAN1"
Radius 15
Height 8
scale 2.5
damage (0)
damagetype "GalaxyBHB"
speed 15
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
BLKH B 0 A_PlaySoundEx("weapon/blackholebomb","Weapon",1)
BLKH BB 1 A_JumpIfInTargetInventory("DrillFlag",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
BLKH B 0 ACS_ExecuteAlways(259, 0, 1)
BLKH B 0 A_ChangeVelocity(cos(-pitch)*17, 0, sin(-pitch)*17, CVF_RELATIVE|CVF_REPLACE)
BLKH BB 1 A_JumpIfInTargetInventory("DrillFlag",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
BLKH B 0 ACS_ExecuteAlways(259, 0, 1)
BLKH B 0 A_ChangeVelocity(cos(-pitch)*17, 0, sin(-pitch)*17, CVF_RELATIVE|CVF_REPLACE)

BLKH CC 1 A_JumpIfInTargetInventory("DrillFlag",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
BLKH B 0 A_ChangeVelocity(cos(-pitch)*17, 0, sin(-pitch)*17, CVF_RELATIVE|CVF_REPLACE)
BLKH CC 1 A_JumpIfInTargetInventory("DrillFlag",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
BLKH B 0 A_ChangeVelocity(cos(-pitch)*17, 0, sin(-pitch)*17, CVF_RELATIVE|CVF_REPLACE)

BLKH DD 1 A_JumpIfInTargetInventory("DrillFlag",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
BLKH B 0 ACS_ExecuteAlways(259, 0, 1)
BLKH B 0 A_ChangeVelocity(cos(-pitch)*17, 0, sin(-pitch)*17, CVF_RELATIVE|CVF_REPLACE)
BLKH DD 1 A_JumpIfInTargetInventory("DrillFlag",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
BLKH B 0 ACS_ExecuteAlways(259, 0, 1)
BLKH B 0 A_ChangeVelocity(cos(-pitch)*17, 0, sin(-pitch)*17, CVF_RELATIVE|CVF_REPLACE)

BLKH EE 1 A_JumpIfInTargetInventory("DrillFlag",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
BLKH B 0 A_ChangeVelocity(cos(-pitch)*17, 0, sin(-pitch)*17, CVF_RELATIVE|CVF_REPLACE)
BLKH EE 1 A_JumpIfInTargetInventory("DrillFlag",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
BLKH B 0 A_ChangeVelocity(cos(-pitch)*17, 0, sin(-pitch)*17, CVF_RELATIVE|CVF_REPLACE)
loop
Death:
BLKH B 0 A_StopSound
BLKH B 0 A_GiveToTarget("TopAnim1",1)
BLKH B 1 A_SpawnItemEx("GalaxyBHBHole",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION)
stop
}
}

actor GalaxyBHBHole
{
PROJECTILE
+NOINTERACTION
+FORCEXYBILLBOARD
+RIPPER
+SKYEXPLODE
+DONTREFLECT
damage (0)
Obituary "$OB_GALAXYMAN1"
Height 1
Radius 1
damagetype "GalaxyBHB"
reactiontime 3
Scale 3.0
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
BLKH F 0 A_GiveToTarget("GalaxyActiveFlag", 1)
BLKH F 0 A_SpawnItemEx("GalaxyBombFXSpawner", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERPOINTERS)
BLKH F 0 A_GiveToTarget("GalaxyAmmoWatcherSpawn", 1)
BLKH F 0 A_PlaySoundEx("weapon/blackholebombdetonate", "body", 1)
BLKH F 0 ACS_ExecuteAlways(247, 0, 4, 192)
BLKH F 0 A_Explode(3,64,0,0,64)
BLKH F 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH F 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH F 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH F 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH G 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH G 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH G 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH G 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH F 0 ACS_ExecuteAlways(247, 0, 4, 192)
BLKH F 0 A_Explode(3,64,0,0,64)
BLKH H 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH H 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH H 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH H 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH I 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH I 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH I 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH I 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH F 0 ACS_ExecuteAlways(247, 0, 4, 192)
BLKH F 0 A_Explode(3,64,0,0,64)
BLKH J 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH J 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH J 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH J 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH K 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH K 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH K 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH K 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH F 0 ACS_ExecuteAlways(247, 0, 4, 192)
BLKH F 0 A_Explode(3,64,0,0,64)
BLKH L 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH L 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH L 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH L 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH M 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH M 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH M 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH M 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH F 0 ACS_ExecuteAlways(247, 0, 4, 192)
BLKH F 0 A_Explode(3,64,0,0,64)
BLKH N 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH N 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH N 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH N 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH O 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH O 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH O 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH O 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH F 0 ACS_ExecuteAlways(247, 0, 4, 192)
BLKH F 0 A_Explode(3,64,0,0,64)
BLKH P 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH P 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH P 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH P 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH Q 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH Q 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH Q 0 A_JumpIfInTargetInventory("GalaxyHitFlag",1,"Next")
BLKH Q 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH Q 0 A_Countdown
goto Spawn+5
Next:
BLKH F 0 ACS_ExecuteAlways(247, 0, 10, 256)
BLKH F 0 A_Explode(3,64,0,0,64)
BLKH FFGG 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH F 0 ACS_ExecuteAlways(247, 0, 10, 256)
BLKH F 0 A_Explode(3,64,0,0,64)
BLKH HHII 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH F 0 ACS_ExecuteAlways(247, 0, 10, 256)
BLKH F 0 A_Explode(3,64,0,0,64)
BLKH JJKK 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH F 0 ACS_ExecuteAlways(247, 0, 10, 256)
BLKH F 0 A_Explode(3,64,0,0,64)
BLKH LLMM 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH F 0 ACS_ExecuteAlways(247, 0, 10, 256)
BLKH F 0 A_Explode(3,64,0,0,64)
BLKH NNOO 1 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
BLKH F 0 A_Explode(3,64,0,0,64)//A_SpawnItemEx("BHBLaunchHitbox")
BLKH F 0 A_GiveToTarget("GalaxyCancelFlag",1)
goto Death
Death:
TNT1 A 0 A_StopSound
BLKH CTSR 2
stop
}
}

actor BHBLaunchHitbox : BasicExplosion
{
Obituary "$OB_GALAXYMAN1"
damagetype "GalaxyLaunch"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(3,64,0,0,64)
stop
}
}

actor GalaxyBombFXSpawner : BlackHoleBombFXSpawner
{
PROJECTILE
-NOINTERACTION
-CLIENTSIDEONLY
reactiontime 12
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 AA 0 A_SpawnItemEx("BlackHoleBombFX", 256, 0, 0, 0, 0, 0, random(0, 359), SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("GalaxyCancelFlag",1,"Death")
TNT1 A 1 A_SpawnItemEx("BlackHoleBombFX", 256, 0, 0, 0, 0, 0, random(0, 359), SXF_TRANSFERTRANSLATION)
TNT1 AA 0 A_SpawnItemEx("BlackHoleBombFX", 256, 0, 0, 0, 0, 0, random(0, 359), SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("GalaxyCancelFlag",1,"Death")
TNT1 A 1 A_SpawnItemEx("BlackHoleBombFX", 256, 0, 0, 0, 0, 0, random(0, 359), SXF_TRANSFERTRANSLATION)
TNT1 AA 0 A_SpawnItemEx("BlackHoleBombFX", 256, 0, 0, 0, 0, 0, random(0, 359), SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("GalaxyCancelFlag",1,"Death")
TNT1 A 1 A_SpawnItemEx("BlackHoleBombFX", 256, 0, 0, 0, 0, 0, random(0, 359), SXF_TRANSFERTRANSLATION)
TNT1 AA 0 A_SpawnItemEx("BlackHoleBombFX", 256, 0, 0, 0, 0, 0, random(0, 359), SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("GalaxyCancelFlag",1,"Death")
TNT1 A 1 A_SpawnItemEx("BlackHoleBombFX", 256, 0, 0, 0, 0, 0, random(0, 359), SXF_TRANSFERTRANSLATION)
TNT1 AA 0 A_SpawnItemEx("BlackHoleBombFX", 256, 0, 0, 0, 0, 0, random(0, 359), SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("GalaxyCancelFlag",1,"Death")
TNT1 A 1 A_SpawnItemEx("BlackHoleBombFX", 256, 0, 0, 0, 0, 0, random(0, 359), SXF_TRANSFERTRANSLATION)
TNT1 AA 0 A_SpawnItemEx("BlackHoleBombFX", 256, 0, 0, 0, 0, 0, random(0, 359), SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_JumpIfInTargetInventory("GalaxyRelease",1,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("GalaxyCancelFlag",1,"Death")
TNT1 A 1 A_SpawnItemEx("BlackHoleBombFX", 256, 0, 0, 0, 0, 0, random(0, 359), SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_Countdown
loop
}
}

actor GalaxyColorWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
reactiontime 10
States
{
Spawn:
TNT1 A 0
TNT1 AAA 1 A_JumpIfInTargetInventory("IsTheTerminator",1,"Death")
TNT1 AAAA 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_GiveToTarget("GalaxyColor2")
TNT1 AAAAAAA 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_GiveToTarget("GalaxyColor3")
TNT1 AAAAAAA 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_GiveToTarget("GalaxyColor4")
TNT1 AAAAAAA 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_GiveToTarget("GalaxyColor5")
TNT1 AAAAAAA 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_GiveToTarget("GalaxyColor6")
TNT1 AAAAAAA 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_GiveToTarget("GalaxyColor7")
TNT1 AAAAAAA 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_GiveToTarget("GalaxyColor1")
loop
Death:
TNT1 A 0 A_GiveToTarget("GalaxyColor1")
stop
}
}

actor GalaxyColor1 : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+INVENTORY.AUTOACTIVATE
+COUNTITEM
+INVBAR
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsTheTerminator",1,"Nope")
TNT1 A 1 ACS_ExecuteAlways(991,0,890,0)
stop
Nope:
TNT1 A 0
stop
}
}

actor GalaxyColor2 : GalaxyColor1
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsTheTerminator",1,"Nope")
TNT1 A 1 ACS_ExecuteAlways(991,0,891,0)
stop
}
}

actor GalaxyColor3 : GalaxyColor1
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsTheTerminator",1,"Nope")
TNT1 A 1 ACS_ExecuteAlways(991,0,892,0)
stop
}
}

actor GalaxyColor4 : GalaxyColor1
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsTheTerminator",1,"Nope")
TNT1 A 1 ACS_ExecuteAlways(991,0,893,0)
stop
}
}

actor GalaxyColor5 : GalaxyColor1
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsTheTerminator",1,"Nope")
TNT1 A 1 ACS_ExecuteAlways(991,0,894,0)
stop
}
}

actor GalaxyColor6 : GalaxyColor1
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsTheTerminator",1,"Nope")
TNT1 A 1 ACS_ExecuteAlways(991,0,895,0)
stop
}
}

actor GalaxyColor7 : GalaxyColor1
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsTheTerminator",1,"Nope")
TNT1 A 1 ACS_ExecuteAlways(991,0,896,0)
stop
}
}

actor GalaxyRelease : Powerup
{
Powerup.Duration 4
}

actor GalaxyFlyAnim : Powerup
{
Powerup.Duration 32
}

actor GalaxyActiveFlag : Powerup
{
Powerup.Duration 60
}

actor GalaxySoundSkip : Powerup
{
Powerup.Duration 32
}

actor GalaxyHitFlag : Powerup
{
Powerup.Duration 3
}

actor GalaxyCancelFlag : Powerup
{
Powerup.Duration 3
}

actor GalaxyAmmoWatcherSpawn : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+INVENTORY.AUTOACTIVATE
+COUNTITEM
+INVBAR
states
{
Pickup:
TNT1 A 1 A_SpawnItemEx("GalaxyAmmoWatcher")
stop
}
}

actor GalaxyAmmoWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
reactiontime 28
States
{
Spawn:
TNT1 A 0
TNT1 AA 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_GiveToTarget("Base28Ammo",1)
TNT1 A 0 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}

actor GalaxyWarpSpeed : PowerSpeed
{
	+POWERSPEED.NOTRAIL
	Powerup.Duration 350
	Speed  1.5
}

actor GalaxyFlySlow : PowerSpeed
{
	+POWERSPEED.NOTRAIL
	Powerup.Duration 999
	Speed  0.5
}

actor GalaxyWarpHitbox
{
species "DustManType"
+THRUSPECIES
Obituary "$OB_GALAXYMAN2"
PROJECTILE
+SKYEXPLODE
-DONTBLAST
damagetype "GalaxymanWarp"
Speed 0
Damage (0)
radius 1
height 1
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(20,96,0,0,96)
stop
}
}

actor GalaxyWarpFX : BasicClientSide
{
States
{
Spawn:
GALX O 0
GALX O 0 A_PlaySoundEx("weapon/galaxywarp","Body")
GALX OPQ 2
stop
}
}

actor GalaxyFlySoundPlayer : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+INVENTORY.AUTOACTIVATE
+COUNTITEM
+INVBAR
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("GalaxySoundSkip",1,"Death")
goto Pickup2
Pickup2:
TNT1 A 0 A_PlaySoundEx("weapon/galaxyufo","SoundSlot7")
stop
Death:
TNT1 A 0
stop
}
}

actor GalaxySwoopHitbox
{
species "DustManType"
+THRUSPECIES
scale 2.5
PROJECTILE
+NOINTERACTION
+NOCLIP
Obituary "$OB_GALAXYMAN3"
damagetype "GalaxymanSwoop"
damage(0)
radius 1
height 1
reactiontime 32
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(26,64,0,0,64)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 1 A_Warp(AAPTR_TARGET,0,0,16,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}

actor GalaxySwoopProtect : PowerProtection
{
powerup.duration 35
DamageFactor "GalaxymanSwoop", 0.0
}

actor GalaxySwoopFXWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
reactiontime 16
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("GalaxySwoopFXGiver")
TNT1 AA 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}

actor GalaxySwoopFXGiver : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+INVENTORY.AUTOACTIVATE
+COUNTITEM
+INVBAR
states
{
Pickup:
TNT1 AAAA 0 A_SpawnItemEx("GalaxySwoopFX",-24,random(-16,16),random(0,32),random(-6,-3),random(-4,4),random(-3,3),random(-20,20),1)
stop
}
}

actor GalaxySwoopFX : BasicClientSide
{
States
{
Spawn:
BLKH RSTSR 3
stop
}
}

Actor GalaxyAdamskiSpawner
{
PROJECTILE
+DONTREFLECT
+FORCEXYBILLBOARD
+RIPPER
+NOEXPLODEFLOOR
damagetype "GalaxymanUlt"
Speed 50
Damage (0)
radius 5
height 5
scale 2.5
ReactionTime 12
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_ScaleVelocity(SPEED_SCALAR/5)
TNT1 A 0 A_SpawnItemEx("GalaxyWormholeFX",0,0,0,0,0,0,0,1)
TNT1 A 0 A_PlaySoundEx("misc/galaxyteleport","Body")
Spawn2:
TNT1 A 0 A_SpawnItemEx("GalaxyAdamski",0,0,0,(momx/SPEED_SCALAR),(momy/SPEED_SCALAR),(momz/SPEED_SCALAR),45,1)
TNT1 A 0 A_SpawnItemEx("GalaxyAdamski",0,0,0,(momx/SPEED_SCALAR),(momy/SPEED_SCALAR),(momz/SPEED_SCALAR),135,1)
TNT1 A 0 A_SpawnItemEx("GalaxyAdamski",0,0,0,(momx/SPEED_SCALAR),(momy/SPEED_SCALAR),(momz/SPEED_SCALAR),225,1)
TNT1 A 0 A_SpawnItemEx("GalaxyAdamski",0,0,0,(momx/SPEED_SCALAR),(momy/SPEED_SCALAR),(momz/SPEED_SCALAR),315,1)
TNT1 AAAA 1 A_SetAngle(angle+5)
TNT1 A 0 A_Countdown
loop
Death:
TNT1 A 0 A_Stop
stop
}
}

actor GalaxyWormholeFX : BasicClientSide
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
WRMH ICICIFEDICICIFEDICICIFEDICICIFEDICICIFEDICICIFED 1
WRMH A 0 A_Stop
WRMH ICICIFED 1 A_FadeOut(0.11)
stop
}
}

actor GalaxyUltProtect : PowerProtection
{
powerup.duration 4
DamageFactor "GalaxymanUlt", 0.0
}

Actor GalaxyAdamski
{
PROJECTILE
Radius 16
Height 16
Scale 2.5
Damage (9)
+RIPPER
Obituary "$OB_GALAXYMAN4"
DamageType "GalaxymanUlt"
Speed 32
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_Jump(256,"S1","S2","S3")
S1:
TNT1 A 0 A_PlaySoundEx("weapon/adamskifly","Body")
TNT1 A 0 A_GiveToTarget("GalaxyUltCooldown")
UFOB AABBCCDD 1 A_Weave(1,0,4,0)
loop
S2:
TNT1 A 0 A_PlaySoundEx("weapon/adamskifly","Body")
TNT1 A 0 A_GiveToTarget("GalaxyUltCooldown")
UFOB EEFFGGHH 1 A_Weave(1,0,4,0)
loop
S3:
TNT1 A 0 A_PlaySoundEx("weapon/adamskifly","Body")
TNT1 A 0 A_GiveToTarget("GalaxyUltCooldown")
UFOB IIJJKKLL 1 A_Weave(1,0,4,0)
loop
Death:
TNT1 A 0 A_Stop
MMFX BCDE 2
Stop
}
}

actor GalaxyUltCooldown : UltBuildCooldownGiver
{
	Powerup.Duration 35
}

actor BHBHitCount : Inventory
{
    inventory.amount 1
    inventory.maxamount 10
}

actor BHBComboTimer : Powerup
{
Powerup.Duration -2
}

actor GalaxyAmmoTaker : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",24)
stop
}
}

actor GalaxyAmmoTaker2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",36)
stop
}
}