actor Galaxyman : ClassBase //85
{
Player.StartItem "IFMM09", 1
Player.ScoreIcon "C_09H0X"
player.displayname "Galaxyman"
player.soundclass "galaxymanc"
player.startitem "BlackholebombBoss"
player.startitem "SpaceTravelAmmo", 112
player.startitem "PortalItem",1

player.maxhealth 80
health 80
player.jumpz 10
player.forwardmove 0.8, 0.8
player.sidemove 0.78, 0.78

player.startitem "ConcreteShotWeakness2", 1

player.startitem "SuperArmWeakness", 1
player.startitem "HardKnuckleWeakness", 1
player.startitem "PowerStoneWeakness", 1
player.startitem "AstroCrushWeakness", 1
player.startitem "SpreadDrillWeakness", 1
player.startitem "ConcreteShotWeakness", 1
player.startitem "DeepDiggerWeakness", 1
States
{
Spawn:
GALX A 0
GALX R 1 A_JumpIfInventory("GalaxyAltFlag",1,"Woosh")
GALX A 1 A_JumpIfInventory("GalaxyAltFlag",1,"Woosh")
Goto Spawn+2
See:
GALX RSTS 5
Goto Spawn
Missile:
GALX B 1
GALX B 0 A_JumpIfInventory("GalaxyAltFlag",1,"Woosh")
GALX B 4
GALX G 4 
goto Spawn
Woosh:
GALX BCDE 4
GALX E 2 A_JumpIfInventory("GalaxyAltFlag",1,"Woosh")
goto Spawn
ClassPain:
GALX H 0
goto PainContinue

ClassDeath:
GALX H 0 A_JumpIfInventory("GalaxyAltFlag",1,1)
goto DeathContinue
GALX H 0
GALX H 0 A_JumpIfInventory("InstagibFlag",1,"GibDeath")
GALX H 0 A_JumpIfInventory("FlingDeathFlag",1,"ClassDeathF")
GALX Z 5 A_GiveInventory("GalaxyM_FlingCorpse_P")
goto DeathWait
ClassDeathF:
GALX "]" 0 A_PlaySoundEx("weapon/junkend","Voice")
GALX "]" 3
GALX Z 5 A_GiveInventory("GalaxyM_FlingCorpse_P")
goto DeathWait
}
}

actor GalaxyM_FlingCorpse_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("InstagibFlag",1,"No")
TNT1 A 0 A_JumpIfInventory("FlingDeathFlag",1,"P_Fling")
TNT1 A 0 A_PlaySoundEx("weapon/junkend","Voice")
TNT1 A 0 A_JumpIfInventory("IceDeathFlag",1,"P_Ice")
TNT1 A 0 A_JumpIfInventory("RiseDeathFlag",1,"P_Rise")
TNT1 A 0 A_SpawnItemEx("GalaxymanBoomFlingCorpse",0,0,0,momx,momy,momz+5,0,9)
stop
P_Fling:
TNT1 A 0 A_JumpIfInventory("IceDeathFlag",1,"P_Ice")
TNT1 A 0 A_JumpIfInventory("RiseDeathFlag",1,"P_Rise")
TNT1 A 0 A_SpawnItemEx("GalaxymanBoomFlingCorpse",0,0,0,momx*0.8,momy*0.8,momz*0.8+1,0,9)
stop
P_Ice:
TNT1 A 0 A_SpawnItemEx("GalaxymanIceFlingCorpse",0,0,0,momx,momy,momz+5,0,8)
stop
P_Rise:
TNT1 A 0 A_SpawnItemEx("GalaxymanRiseFlingCorpse",0,0,0,momx*0.5,momy*0.5,momz+5,0,9)
TNT1 A 0 A_Stop
stop
No:
TNT1 A 0
stop
}
}


actor GalaxymanBoomFlingCorpse
{
+MISSILE
+THRUACTORS
+NOBLOCKMAP
-SOLID
Damage(0)
Gravity 0.8
radius 16
height 56
renderstyle translucent
scale 2.5
States
{
Spawn:
GALX "]" 0
GALX "]" 0 A_JumpIfInventory("CriticalDeath",1,"SpawnCheckGib",2)
goto SpawnL
SpawnCheckGib:
GALX "]" 0 A_GiveInventory("CriticalDeath",1)
goto SpawnL
SpawnL:
GALX "]" 1
wait
Death:
TNT1 A 0 A_Stop
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_SpawnItemEx("FakeDeathFX_CBM",0,0,32,0,0,0,0,1)
TNT1 A 0 A_JumpIfInventory("CriticalDeath",1,"DeathGibbed")
TNT1 A 4 A_PlaySoundEx("misc/devildeath","Body")
stop
DeathGibbed:
TNT1 A 0 A_PlaySoundEX("misc/gib","SoundSlot6")
TNT1 A 4 A_SpawnItemEX("CriticalDeathSpawner",0,0,0,0,0,0,0,1)
stop
}
}


actor GalaxymanRiseFlingCorpse : GalaxymanBoomFlingCorpse
{
+NOGRAVITY
+SKYEXPLODE
ReactionTime 7
States
{
Spawn:
GALX "]" 0
GALX "]" 0 A_JumpIfInventory("CriticalDeath",1,"SpawnCheckGib",2)
goto SpawnL
SpawnCheckGib:
GALX "]" 0 A_GiveInventory("CriticalDeath",1)
goto SpawnL
SpawnL:
GALX "]]]]]" 1 ThrustThingZ(0,4,0,1)
GALX "]" 0 A_CountDown
loop
}
}

actor GalaxymanIceFlingCorpse : GalaxymanBoomFlingCorpse
{
Translation "192:192=4:4", "198:198=201:201", "3:8=72:72", "243:247=72:72", "208:215=4:4", "202:202=4:4", "199:199=201:201", "204:204=4:4", "195:195=201:201"
States
{
Spawn:
GALX "]" 0
GALX "]" 0 A_PlaySoundEx("CBM/freeze","Body")
GALX "]" 0 A_JumpIfInventory("CriticalDeath",1,"SpawnCheckGib",2)
goto SpawnL
SpawnCheckGib:
GALX "]" 0 A_GiveInventory("CriticalDeath",1)
goto SpawnL
SpawnL:
GALX "]" 1 A_SpawnItemEx("FrozenDeathBitFX",frandom(16,48),0,fRandom(16,48),0,0,0,random(0,359))
wait
Death:
TNT1 A 0 A_Stop
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_PlaySoundEx("CBM/icebreak","Body")
TNT1 A 0 A_SpawnItemEx("FrozenDeathFXC",0,0,0)
TNT1 A 0 A_JumpIfInventory("CriticalDeath",1,"DeathGibbed")
TNT1 A 4
stop
}
}