ACTOR "Octabrain" 31082
{
    //$Category DN3D Aliens //Octabrains
	Obituary "%o brain turned into mush by an Octobrain."
    HitObituary "%o was bit by an Octobrain."
	Health 450
    Radius 31
	Height 56
    Mass 550
    Speed 7
    PainChance 64
	MeleeDamage 3
    SeeSound "OctoBrain/Sight"
    PainSound "OctoBrain/Pain"
    DeathSound "OctoBrain/Death"
    ActiveSound "OctoBrain/Active"
    Monster
	+NOTARGET
    +FLOAT
    +NOGRAVITY
	+DROPOFF
	+SPAWNFLOAT
	+DONTOVERLAP
	BloodColor "D1 0C 00" 
	DamageFactor "Damage_Foot", 0.36
	DamageFactor "Damage_Pistol", 1.15
    DamageFactor "Damage_DualPistol", 1.15
	DamageFactor "Damage_BlackTail", 1.19
    DamageFactor "Damage_DualBlackTail", 1.19
	DamageFactor "Damage_DesertEagle", 1.32
    DamageFactor "Damage_Shotgun", 1.14
	DamageFactor "Damage_SuperShotgun", 1.15
	DamageFactor "Damage_ExplosiveShotgun", 1.11
    DamageFactor "Damage_ChaingunCannon", 1.17
	DamageFactor "Damage_Minigun", 1.18
	DamageFactor "Damage_LMGBullet", 1.19
    DamageFactor "Damage_Explosion", 2.3
	DamageFactor "Damage_Shock", 2.0
	DamageFactor "Damage_BigShock", 2.5
	DamageFactor "Damage_Thunder", 2.0
	DamageFactor "Damage_BigThunder", 2.5
	DamageFactor "LaserExplosion", 0.0
    DamageFactor "Damage_Shrinker", 2.0
	DamageFactor "Damage_Expander", 1.05
	DamageFactor "Damage_Laser", 1.52
	DamageFactor "Damage_Railgun", 1.8
    DamageFactor "Ice", 0.75
    DamageFactor "Fire", 0.47
	DamageFactor "Damage_Pulse", 1.57
	DamageFactor "Trip_Punch", 0.0
	DamageFactor "Damage_Step", 0.0
	Painchance "Damage_Laser", 128
	Painchance "Radial", 256
	Painchance "LaserShot", 256
	Painchance "Fire", 256
	Painchance "Damage_Foot", 128
	DamageFactor "AlienPoison", 0.0
	Species "Alien"
	Scale 0.7
	MaxTargetRange 860
	Monster
    States
    {
    Spawn:
        OCTA A 0
        OCTA A 0 Thing_ChangeTID(0,1000)
        OCTA A 2 A_Look
        Loop
    See:
	    OCTA A 0
		OCTA A 0 A_Jump(64,"See2")
		OCTA A 0 A_StopSoundEx("SoundSlot7")
		OCTA A 0 A_ChangeFlag("NOPAIN",0)
        OCTA AAABBBCCCBBB 2 A_Chase
        Goto See+2
	See2:
		OCTA A 0
		OCTA A 0 A_JumpIfTargetinLOS(1,256)
        OCTA A 0 A_Sentinelbob
		OCTA A 0 A_StopSoundEx("SoundSlot7")
		OCTA A 0 A_ChangeFlag("NOPAIN",0)
        OCTA AAA 2 A_Chase
		OCTA B 0 A_JumpIfTargetinLOS(1,256)
        OCTA B 0 A_Sentinelbob
		OCTA BBB 2 A_Chase
		OCTA C 0 A_JumpIfTargetinLOS(1,256)
        OCTA C 0 A_Sentinelbob
		OCTA CCC 2 A_Chase
		OCTA B 0 A_JumpIfTargetinLOS(1,256)
        OCTA B 0 A_Sentinelbob
		OCTA BBB 2 A_Chase
		Loop
    Missile:
	    OCTA D 0 A_Stop
	    OCTA D 15 A_FaceTarget
		OCTA D 0 A_PlaySound("OctoBrain/Attack")
		OCTA D 0 A_FaceTarget
        OCTA E 14 Bright A_CustomMissile("OctaBrainAttack1",32,0,0)
        OCTA D 13
        Goto See
    Melee:
	    OCTA C 0 A_Stop
        OCTA C 0 A_PlaySound("OctoBrain/Melee")
        OCTA C 5 A_FaceTarget
        OCTA B 5 A_MeleeAttack
        OCTA A 5 
        Goto See
    Pain:
        OCTA L 3
        OCTA L 3 A_Pain
        Goto Missile
    Pain.Radial:
        OCTA L 0
        OCTA L 0 HealThing(2)
        Goto See	
	Pain.LaserShot:
	    OCTA L 0
		OCTA L 0 A_SpawnItemEx("PainTripLaser",0,0,5)
		OCTA L 0 HealThing(2)
		Goto See
	Pain.Fire:
	    OCTF A 0
		OCTF A 0 A_GiveInventory("FireCheck",1)
		OCTF A 0 A_GiveInventory("FireCheckDeath",1)
		OCTF A 0 A_PlaySoundEx("FireLoop/Monsters","SoundSlot7",1)
		OCTF A 0 A_PlaySound("OctoBrain/Pain",10)
		OCTF A 0 A_ChangeFlag("NOPAIN",1)
		OCTF A 0 A_ChangeFlag("FRIGHTENED",1)
		OCTF A 0 A_Wander
		OCTF A 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF A 0 A_Wander
		OCTF A 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF B 0 A_Wander
		OCTF B 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF B 0 A_Wander
		OCTF B 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF C 0 A_Wander
		OCTF C 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF C 0 A_Wander
		OCTF C 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF B 0 A_Wander
		OCTF B 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF B 0 A_Wander
		OCTF B 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        OCTF A 0 A_Wander
		OCTF A 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF A 0 A_Wander
		OCTF A 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF B 0 A_Wander
		OCTF B 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF B 0 A_Wander
		OCTF B 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF C 0 A_Wander
		OCTF C 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF C 0 A_Wander
		OCTF C 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF B 0 A_Wander
		OCTF B 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF B 0 A_Wander
		OCTF B 0 A_SpawnItemEx("FireRadiusDamage4",0,0,38)
		OCTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		OCTF B 0 A_JumpIfInventory("FireCheck",8,"PainFireStop")
		Loop	
	PainFireStop:
	    OCTF A 0 
		OCTF A 0 A_ChangeFlag("NOPAIN",0)
		OCTF A 0 A_ChangeFlag("FRIGHTENED",0)
		OCTF A 0 A_TakeInventory("FireCheck",999)
		OCTF A 0 A_TakeInventory("FireCheckDeath",999)
		OCTF A 0 A_StopSoundEx("SoundSlot7")
		Goto See
	Death:
	    OCTA F 0
		OCTA F 0 A_JumpIfInventory("FireCheckDeath",1,"Burn")
		OCTA F 0 A_ChangeFlag("NOPAIN",0)
		OCTA F 0 A_StopSoundEx("SoundSlot7")
	    OCTA F 0 A_Jump(256,1,7)
		OCTA F 5 
		OCTA G 5 A_Scream
		OCTA H 5 
		OCTA I 5 A_NoBlocking
		OCTA J 5
		OCTA K -1
		Stop
		OCT2 F 5
		OCT2 G 5 A_Scream
		OCT2 H 5 
		OCT2 I 5 A_NoBlocking
		OCT2 J 5
		OCT2 K 1 A_GiveInventory("Death2Check",1)
		OCT2 K -1 
		Stop
	Death.Damage_Shrinker:
        OCTA A 0
		OCTA A 0 A_StopSoundEx("Body")
		OCTA A 0 A_StopSoundEx("SoundSlot7")
		OCTA A 0 A_ChangeFlag("NOPAIN",0)
		OCTA A 0 A_Stop
		OCTA A 0 A_NoGravity
        OCTA A 10 A_PlaySound("Shrinker/Shrink")
		OCTA A 1 A_SetScale(0.70,0.70)
        OCTA A 1 A_SetScale(0.68,0.68)
        OCTA A 1 A_SetScale(0.66,0.66)
        OCTA A 1 A_SetScale(0.64,0.64)
        OCTA A 1 A_SetScale(0.62,0.62)
        OCTA A 1 A_SetScale(0.60,0.60)
        OCTA A 1 A_SetScale(0.58,0.58)
        OCTA A 1 A_SetScale(0.56,0.56)
        OCTA A 1 A_SetScale(0.54,0.54)
        OCTA A 1 A_SetScale(0.52,0.52)
        OCTA A 1 A_SetScale(0.50,0.50)
        OCTA A 1 A_SetScale(0.48,0.48)
        OCTA A 1 A_SetScale(0.46,0.46)
        OCTA A 1 A_SetScale(0.44,0.44)
        OCTA A 1 A_SetScale(0.42,0.42)
        OCTA A 1 A_SetScale(0.40,0.40)
        OCTA A 1 A_SetScale(0.38,0.38)
        OCTA A 1 A_SetScale(0.36,0.36)
        OCTA A 1 A_SetScale(0.34,0.34)
        OCTA A 1 A_SetScale(0.32,0.32)
        OCTA A 1 A_SetScale(0.30,0.30)
        OCTA A 1 A_SetScale(0.28,0.28)
        OCTA A 1 A_SetScale(0.26,0.26)
        OCTA A 1 A_SetScale(0.24,0.24)
        OCTA A 1 A_SetScale(0.22,0.22)
        OCTA A 1 A_SetScale(0.20,0.20)
		OCTA A 0 A_SpawnItemEx("Octabrain Shrunken",0,0,0,0,0,0,0,32,0)
        Stop
    Death.Damage_Explosion:
	Death.Damage_BigShock:
		OCTA A 0
		OCTA A 0 A_ChangeFlag("NOPAIN",0)
		OCTA A 0 A_StopSoundEx("Body")
		OCTA A 0 A_StopSoundEx("SoundSlot7")
        OCTA A 0 A_PlaySound("Gib/Explode",5)
        OCTA A 0 A_NoBlocking
        OCTA AAA 0 A_SpawnDebris("DukeGibs1")
        OCTA AAA 0 A_SpawnDebris("DukeGibs2")
		OCTA AAA 0 A_SpawnDebris("DukeGibs3")
        OCTA AAA 0 A_SpawnDebris("DukeGibs4")
        OCTA AAA 0 A_SpawnDebris("DukeGibs5")		
        OCTA AAAAAAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
    Death.Damage_Expander:
        OCTA A 0
		OCTA A 0 A_StopSoundEx("Body")
		OCTA A 0 A_StopSoundEx("SoundSlot7")
		OCTA A 0 A_Stop
		OCTA A 0 A_NoGravity
		OCTA A 1 A_PlaySound("Expander/Expand",5)
		OCTA A 1 A_SetScale(0.71,0.71)
        OCTA A 1 A_SetScale(0.72,0.72)
		OCTA A 1 A_SetScale(0.73,0.73)
		OCTA A 1 A_SetScale(0.74,0.74)
		OCTA A 1 A_SetScale(0.75,0.75)
		OCTA A 1 A_SetScale(0.76,0.76)
		OCTA A 1 A_SetScale(0.77,0.77)
		OCTA A 1 A_SetScale(0.78,0.78)
		OCTA A 1 A_SetScale(0.79,0.79)
		OCTA A 1 A_SetScale(0.80,0.80)
		OCTA A 1 A_SetScale(0.81,0.81)
		OCTA A 1 A_SetScale(0.82,0.82)
		OCTA A 1 A_SetScale(0.83,0.83)
		OCTA A 1 A_SetScale(0.84,0.84)
		OCTA A 1 A_SetScale(0.85,0.85)
		OCTA A 1 A_SetScale(0.86,0.86)
		OCTA A 1 A_SetScale(0.87,0.87)
		OCTA A 1 A_SetScale(0.88,0.88)
		OCTA A 1 A_SetScale(0.89,0.89)
		OCTA A 1 A_SetScale(0.90,0.90)
		OCTA A 1 A_SetScale(0.91,0.91)
		OCTA A 1 A_SetScale(0.92,0.92)
		OCTA A 1 A_SetScale(0.93,0.93)
		OCTA A 1 A_SetScale(0.94,0.94)
		OCTA A 1 A_SetScale(0.95,0.95)
		OCTA A 1 A_SetScale(0.96,0.96)
		OCTA A 1 A_SetScale(0.97,0.97)
		OCTA A 1 A_SetScale(0.98,0.98)
		OCTA A 1 A_SetScale(0.99,0.99)
		OCTA A 1 A_SetScale(1.00,1.00)
		OCTA A 1 A_SetScale(1.01,1.01)
		OCTA A 1 A_SetScale(1.02,1.02)
		OCTA A 1 A_SetScale(1.03,1.03)
		OCTA A 1 A_SetScale(1.04,1.04)
		OCTA A 1 A_SetScale(1.05,1.05)
		OCTA A 1 A_SetScale(1.06,1.06)
		OCTA A 1 A_SetScale(1.07,1.07)
		OCTA A 1 A_SetScale(1.08,1.08)
		OCTA A 1 A_SetScale(1.09,1.09)
		OCTA A 1 A_SetScale(1.10,1.10)
		OCTA A 1 A_SetScale(1.11,1.11)
		OCTA A 1 A_SetScale(1.12,1.12)
		OCTA A 1 A_SetScale(1.13,1.13)
		OCTA A 1 A_SetScale(1.14,1.14)
        OCTA A 25 A_SetScale(1.15,1.15)
        OCTA A 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        Goto Death.Damage_Explosion
	Burn:
	    OCTF F 0
		OCTF F 0 A_ChangeFlag("NOPAIN",0)
		OCTF F 0 A_StopSoundEx("SoundSlot7")
		OCTF F 0 A_Jump(256,1,31)
		OCTF F 0 A_Scream
		OCTF FFFFF 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        OCTF G 0 
		OCTF GGGGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,42),0,0,1,0,32)
        OCTF H 0 A_NoBlocking
		OCTF HHHHH 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,30),0,0,1,0,32)
		OCTF IIIII 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,30),0,0,1,0,32)
		OCTF JJJJJ 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,30),0,0,1,0,32)		
		OCTF K 1 A_SpawnItemEx("FireintheFloor")
        OCTF K -1 
        Stop
		OCF2 F 0 A_Scream
		OCF2 FFFFF 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        OCF2 G 0 
		OCF2 GGGGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,42),0,0,1,0,32)
        OCF2 H 0 A_NoBlocking
		OCF2 HHHHH 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,30),0,0,1,0,32)
		OCF2 IIIII 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,30),0,0,1,0,32)
		OCF2 JJJJJ 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,30),0,0,1,0,32)		
		OCF2 K 1 A_SpawnItemEx("FireintheFloor")
        OCF2 K 1 A_GiveInventory("Death2CheckFire",1)
		OCF2 K -1 
        Stop
	Raise:
	    TNT1 A 0 
	    TNT1 A 0 A_UnSetShootable
		TNT1 A 0 A_ChangeFlag("COUNTKILL",0)
		TNT1 A 0 A_ChangeFlag("SOLID",0)
	    OCTA K 0 A_JumpIfInventory("FireCheckDeath",1,"Raise2")
		OCTA K 0 A_JumpIfInventory("Death2Check",1,2)
		OCTA K 35
		Stop
		OCT2 K 0
		OCT2 K 35
		Stop
	Raise2:
		OCTF K 0
		OCTF K 0 A_JumpIfInventory("Death2CheckFire",1,2)
		OCTF K 35
		Stop
		OCF2 K 0
		OCF2 K 35
		Stop
        }
}

ACTOR FireRadiusDamage4
{
     Speed 0
     Radius 1
     Height 1
     DamageType "Fire"
     Damage 0
     +RIPPER
     +NOGRAVITY
     +THRUGHOST
     +FORCERADIUSDMG
	 +BLOODLESSIMPACT
     States
     {
     Spawn:
          TNT1 A 0
          Goto Death
     Death:
          TNT1 A 1 A_Explode(10,2)
          Stop
          }
}

ACTOR "Octabrain Shrunken" 
{
    Health 30
    Radius 31
    Height 16
    Mass 0x7FFFFFFF
    Speed 2.2
    PainChance 128
    SeeSound "OctoBrain/Sight"
    PainSound "OctoBrain/Pain"
    DeathSound "OctoBrain/Death"
    ActiveSound "OctoBrain/Active"
	BloodColor "D1 0C 00" 
	Species "Alien"
    Scale 0.20
	DamageFactor "Damage_Foot", 5.0
	DamageFactor "LaserExplosion", 0.0
    DamageFactor "Damage_Shrinker", 0.0
	DamageFactor "Trip_Punch", 0.0
	Painchance "LaserShot", 256
	+ISMONSTER
	+SHOOTABLE
    +SOLID
	+NOTARGET
	+FRIGHTENED
	+SPAWNFLOAT
	+DROPOFF
	+DONTOVERLAP
	+FLOAT
	+NOGRAVITY
    States
    {
    Spawn:
		OCTA A 0 
		OCTA A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		OCTA A 0 A_GiveInventory("ShrunkenCheck",1)
        OCTA AAAAAAAA 3 A_Look
		Loop
    See:
	    OCTA A 0 
	    OCTA A 0 A_ChangeFlag("NOPAIN",0)
		OCTA A 0 A_StopSoundEx("Body")
		OCTA A 0 A_StopSoundEx("SoundSlot7")
		OCTA A 0 A_Jump(64,"See2")
		OCTA A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		OCTA A 0 A_GiveInventory("ShrunkenCheck",1)
		OCTA AAABBBCCCBBB 2 A_Chase
        Goto See+5
	See2:
		OCTA A 0
		OCTA A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		OCTA A 0 A_GiveInventory("ShrunkenCheck",1)
		OCTA A 0 A_JumpIfTargetinLOS(1,256)
        OCTA A 0 A_Sentinelbob
        OCTA AAA 2 A_Chase
		OCTA B 0 A_JumpIfTargetinLOS(1,256)
        OCTA B 0 A_Sentinelbob
		OCTA BBB 2 A_Chase
		OCTA C 0 A_JumpIfTargetinLOS(1,256)
        OCTA C 0 A_Sentinelbob
		OCTA CCC 2 A_Chase
		OCTA B 0 A_JumpIfTargetinLOS(1,256)
        OCTA B 0 A_Sentinelbob
		OCTA BBB 2 A_Chase
		Loop	
    Pain:
		OCTA L 6 A_Pain
        Goto See 
	Pain.LaserShot:
	    OCTA L 0 
		OCTA L 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		OCTA L 0 HealThing(2)
		Goto See
	Pain.Radial:
        OCTA L 0
        OCTA L 0 HealThing(2)
        Goto See
	Restore:
	    OCTA A 0
		OCTA A 0 A_StopSoundEx("Body")
		OCTA A 0 A_StopSoundEx("SoundSlot7")
		OCTA A 0 A_ChangeFlag("NOPAIN",0)
        OCTA A 10 A_PlaySound("Shrinker/Shrink")
		OCTA A 1 A_SetScale(0.20,0.20)
        OCTA A 1 A_SetScale(0.22,0.22)
        OCTA A 1 A_SetScale(0.26,0.24)
        OCTA A 1 A_SetScale(0.24,0.24)
        OCTA A 1 A_SetScale(0.28,0.28)
        OCTA A 1 A_SetScale(0.30,0.30)
        OCTA A 1 A_SetScale(0.32,0.32)
        OCTA A 1 A_SetScale(0.34,0.34)
        OCTA A 1 A_SetScale(0.36,0.36)
        OCTA A 1 A_SetScale(0.38,0.38)
        OCTA A 1 A_SetScale(0.40,0.40)
        OCTA A 1 A_SetScale(0.42,0.42)
        OCTA A 1 A_SetScale(0.44,0.44)
        OCTA A 1 A_SetScale(0.46,0.46)
        OCTA A 1 A_SetScale(0.48,0.48)
        OCTA A 1 A_SetScale(0.50,0.50)
        OCTA A 1 A_SetScale(0.52,0.52)
        OCTA A 1 A_SetScale(0.54,0.54)
        OCTA A 1 A_SetScale(0.56,0.56)
        OCTA A 1 A_SetScale(0.58,0.58)
        OCTA A 1 A_SetScale(0.60,0.60)
        OCTA A 1 A_SetScale(0.62,0.62)
        OCTA A 1 A_SetScale(0.64,0.64)
        OCTA A 1 A_SetScale(0.66,0.66)
        OCTA A 1 A_SetScale(0.68,0.68)
        OCTA A 1 A_SetScale(0.70,0.70)
		OCTA A 0 A_SpawnItemEx("OctaQueen",0,0,0,0,0,0,0,32,0)
        Stop
	Death:
	    OCTA A 0
		OCTA A 0 A_StopSoundEx("Body")
		OCTA A 0 A_StopSoundEx("SoundSlot7")
		OCTA A 0 A_ChangeFlag("NOPAIN",0)
		OCTA A 0 A_Stop
        OCTA A 0 A_PlaySound("DukeNukem/DeathLittle",5)
        OCTA A 0 A_NoBlocking
        OCTA A 0 A_SpawnDebris("DukeGibs1")
        OCTA A 0 A_SpawnDebris("DukeGibs2")
		OCTA A 0 A_SpawnDebris("DukeGibs3")
        OCTA A 0 A_SpawnDebris("DukeGibs4")
        OCTA A 0 A_SpawnDebris("DukeGibs5")		
        OCTA AAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
    }
}

ACTOR OctaBrainAttack1
{
    Radius 6
    Height 6
    Speed 12
    Scale 0.35
    Damage (22)
	DamageType "Brain"
	SeeSound "OctoBrain/Attack"
	DeathSound "Shrinker/Hit"
    Projectile
    Renderstyle Add
	ReactionTime 5
	+THRUGHOST
    States
    {
    Spawn:
		EN5X A 1 Bright A_SpawnItemEx("OctaBrainAttackT",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X B 1 Bright A_SpawnItemEx("OctaBrainAttackS",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X C 1 Bright A_SpawnItemEx("OctaBrainAttackR",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X D 1 Bright A_SpawnItemEx("OctaBrainAttackQ",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X E 1 Bright A_SpawnItemEx("OctaBrainAttackP",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X F 1 Bright A_SpawnItemEx("OctaBrainAttackO",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X G 1 Bright A_SpawnItemEx("OctaBrainAttackN",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X H 1 Bright A_SpawnItemEx("OctaBrainAttackM",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X I 1 Bright A_SpawnItemEx("OctaBrainAttackL",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X J 1 Bright A_SpawnItemEx("OctaBrainAttackK",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X K 1 Bright A_SpawnItemEx("OctaBrainAttackJ",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X L 1 Bright A_SpawnItemEx("OctaBrainAttackI",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X M 1 Bright A_SpawnItemEx("OctaBrainAttackH",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X N 1 Bright A_SpawnItemEx("OctaBrainAttackG",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X O 1 Bright A_SpawnItemEx("OctaBrainAttackF",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X P 1 Bright A_SpawnItemEx("OctaBrainAttackE",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X Q 1 Bright A_SpawnItemEx("OctaBrainAttackD",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X R 1 Bright A_SpawnItemEx("OctaBrainAttackC",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X S 1 Bright A_SpawnItemEx("OctaBrainAttackB",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
		EN5X T 1 Bright A_SpawnItemEx("OctaBrainAttackA",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138) 
		EN5X A 0 A_Countdown 
		Loop
    Death:
		EN6X AAAA 0 A_CustomMissile("OctaSparklePurple",0,0,Random(0,360),2,Random(0,360))	
		EN6X AAAA 0 A_CustomMissile("OctaSparkleBlue",0,0,Random(0,360),2,Random(0,360))	
		EN6X AAAA 0 A_CustomMissile("OctaSparkleRed",0,0,Random(0,360),2,Random(0,360))	
		EN6X AAAA 0 A_CustomMissile("OctaSparkleWhite",0,0,Random(0,360),2,Random(0,360))	
		EN6X AAAA 0 A_CustomMissile("SmokeOcto",0,0,FRandom(0,360),2,FRandom(0,360))
		EN6X A 1 Bright A_SetScale(0.36,0.36)
	    EN6X B 1 Bright A_SetScale(0.37,0.37)
		EN6X C 1 Bright A_SetScale(0.38,0.38)
		EN6X D 1 Bright A_SetScale(0.39,0.39)
		EN6X E 1 Bright A_SetScale(0.40,0.40)
		EN6X F 1 Bright A_SetScale(0.41,0.41)
		EN6X G 1 Bright A_SetScale(0.42,0.42)
		EN6X H 1 Bright A_SetScale(0.43,0.43)
		EN6X I 1 Bright A_SetScale(0.44,0.44)
		EN6X I 0 A_SpawnItemEx("OctaShockWave",0,0,-3)
		EN6X J 1 Bright A_SetScale(0.45,0.45)
		EN6X K 1 Bright A_SetScale(0.46,0.46)
		EN6X L 1 Bright A_SetScale(0.47,0.47)
		EN6X M 1 Bright A_SetScale(0.48,0.48)
		EN6X N 1 Bright A_SetScale(0.49,0.49)
		EN6X O 1 Bright A_SetScale(0.50,0.50)
		EN6X P 1 Bright A_SetScale(0.51,0.51)
	    EN6X Q 1 Bright A_SetScale(0.52,0.52)
		EN6X R 1 Bright A_SetScale(0.53,0.53)
		EN6X S 1 Bright A_SetScale(0.54,0.54)
		EN6X T 1 Bright A_SetScale(0.55,0.55)
        Stop
        }
}

ACTOR SmokeOcto  
{
	Speed 2.5
	Scale 0.35
	VSpeed 1
	Projectile
	Renderstyle Add
	+NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
    +NOGRAVITY
    +MISSILE
    +FORCEXYBILLBOARD
    +CLIENTSIDEONLY
    +NOINTERACTION
    +NOCLIP
	States
	{
	Spawn:
		SMOK ABCDEFGHIJKLMNOPQ 1
		Stop
	    }
}

ACTOR OctaShockWave
{
    Radius 1
	Height 1
	RenderStyle Add
	Scale 0.45
	Speed 0
	+NOINTERACTION
	+NOBLOCKMAP
	+CLIENTSIDEONLY
	States
	{
	Spawn:
	    PHS2 ABCDEFGHIJKLMNOP 1 Bright A_FadeOut(0.065)
		Stop
	    }
}

ACTOR OctaSparkleWhite
{
	Speed 3.5
    Height 0
    Radius 0
    Mass 0
    BounceFactor 0.3
    Gravity 0.7
    Scale 0.025
    RenderStyle Add
	+MISSILE
    -NOGRAVITY
    +LOWGRAVITY
    +BOUNCEONACTORS
    +NOTELEPORT
    +FORCEXYBILLBOARD
	+ALLOWPARTICLES
	+PUFFONACTORS
    +NOBLOCKMAP
    +CLIENTSIDEONLY
	States
	{
	Spawn:
		LENS AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 Bright A_FadeOut(0.025)
	    Stop
	    }
}

ACTOR OctaSparkleRed : OctaSparkleWhite
{
	States
	{
	Spawn:
		LENR BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1 Bright A_FadeOut(0.025)
	    Stop
	    }
}

ACTOR OctaSparkleBlue : OctaSparkleWhite
{
	States
	{
	Spawn:
		LENB BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1 Bright A_FadeOut(0.025)
	    Stop
	    }
}

ACTOR OctaSparklePurple : OctaSparkleWhite
{
	States
	{
	Spawn:
		LENP BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1 Bright A_FadeOut(0.025)
	    Stop
	    }
}


ACTOR OctaBrainAttackA
{
	Projectile
	Height 6
	Radius 6
	RenderStyle Add
	Scale 0.35
	+NOGRAVITY
    +DONTSPLASH
    +CLIENTSIDEONLY
	States
	{
	Spawn:
	    EN5X AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackB : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackC : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackD : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackE : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackF : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackG : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackH : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackI : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X IIIIIIIIIIIIIIIIIIIIIIIIIIIIII 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackJ : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackK : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X KKKKKKKKKKKKKKKKKKKKKKKKKKKKKK 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackL : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackM : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackN : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackO : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackP : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X PPPPPPPPPPPPPPPPPPPPPPPPPPPPPP 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackQ : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackR : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackS : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS 1 Bright A_FadeOut(0.035)
	    Stop
		}
}

ACTOR OctaBrainAttackT : OctaBrainAttackA
{
	States
	{
	Spawn:
	    EN5X TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 1 Bright A_FadeOut(0.035)
	    Stop
		}
}