Actor TSIMinionBase
{
Monster
Species "Imps"
DamageFactor "Legendary", 0.5
DamageFactor "VileFires", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "AdvancedImp", 0.0 //Add to shaman imp
-COUNTKILL
//+NOKILLSCRIPTS
+DONTHARMSPECIES
}

Actor TSIMinionBossBase : TSIMinionBase
{
PainChance 15
DamageFactor 0.5
DamageFactor "Legendary", 0.1
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuru", 0.1
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor "PDTBFG", 0.25
DamageFactor "PDTBFGTracer", 0.25
DamageFactor "PlayerDevBall", 0.125
DamageFactor "PlayerDevBall2", 0.125
DamageFactor "PlayerDTBFGRailgunSlug", 0.125
DamageFactor "PlayerDevTracer", 0.125
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DamageFactor "Legendary1", 0.1
+NOICEDEATH
+DONTGIB
+DONTMORPH
+NORADIUSDMG
+MISSILEMORE
+MISSILEEVENMORE
+QUICKTORETALIATE
+NOTIMEFREEZE
+BOSS
+BOSSDEATH
+AVOIDMELEE
}

//Mucosa Raider
ACTOR MucosaRaider : TSIMinionBase
{
//Creator: Fluffy
//Origin: Nexus Infinity
//Sprite: MUCR
//Title: "Mucosa Raider"
Health 380
Radius 20
Height 64
Mass 75
Speed 14
PainChance 32
MeleeRange 64
MaxTargetRange 500
MeleeDamage 10
//Minmissilechance 20
DropItem "BossLifeEssence", 180
DropItem "HEMArmorBonusMax5", 180
DropItem "HEMArmorBonusMax5", 180
SeeSound "mucosa/see"
AttackSound "DUALCLI2"
PainSound "mucosa/pain"
DeathSound "mucosa/death"
ActiveSound "mucosa/active"
Tag "\c[d4]Mucosa Raider\c-"
Obituary "%o was killed and then eaten by a Mucosa Raider."
+FLOORCLIP
var int user_fear;
//+MissileMore
//+MissileEvenMore
States
{
  Spawn:
    MUCR AB 10 A_Look
  Idle:
    TNT1 A 0 A_Jump(200,2)
	TNT1 A 0 A_PlaySound("mucosa/idle",CHAN_VOICE)
    MUCR AB 10 A_Look
    Loop
  PainRestore:
    TNT1 A 0 A_ChangeFlag(FRIGHTENED,0)
	TNT1 A 0 A_SetUserVar("user_fear",0)
  See:
	TNT1 A 0 A_JumpIf(user_fear == 1,2)
	TNT1 A 0 A_JumpIfHealthLower(100,"PainFear")
	TNT1 A 0 A_JumpIf(user_fear == 1,"HealSee")
    TNT1 A 0 A_PlaySound("mucosa/step")
    MUCR AABBCCDDAABBCCDD 1 A_Chase
    Loop
  HealSee:
    TNT1 A 0 A_JumpIfHealthLower(380,1)
	Goto PainRestore
    TNT1 A 0 A_PlaySound("mucosa/step")
    MUCR AA 1 A_Chase("","")
	TNT1 A 0 HealThing(1)
	MUCR BB 1 A_Chase("","")
	TNT1 A 0 HealThing(1)
	MUCR CC 1 A_Chase("","")
	TNT1 A 0 HealThing(1)
	MUCR DD 1 A_Chase("","")
    TNT1 A 0 A_JumpIfHealthLower(380,1)
	Goto PainRestore
	TNT1 A 0 HealThing(1)
    MUCR AA 1 A_Chase("","")
	TNT1 A 0 HealThing(1)
	MUCR BB 1 A_Chase("","")
	TNT1 A 0 HealThing(1)
	MUCR CC 1 A_Chase("","")
	TNT1 A 0 HealThing(1)
	MUCR DD 1 A_Chase("","")
	TNT1 A 0 HealThing(1)
    Loop
  Melee:
    MUCR EF 2
	MUCR G 2 A_MeleeAttack
	Goto See
  Missile:
    MUCR EF 8 A_FaceTarget
	TNT1 A 0 A_Jump(136,"RedShot")
	TNT1 A 0 A_PlayWeaponSound("Cybersmith/Railfire")
    MUCR G 6 A_CustomRailgun(Random(50, 90), 12, "red", None, RGF_SILENT|RGF_NOPIERCING, 1, 0, "CyberSmithRailPuff",5,1,0,0,1.0,1.0,"RedNewRailgunTrail")
    Goto See
  RedShot:
    MUCR G 6 A_CustomMissile("ArcradShot",38,12)
	Goto See
  Pain:
	TNT1 A 0 A_JumpIf(user_fear == 1,2)
	TNT1 A 0 A_JumpIfHealthLower(100,"PainFear")
    MUCR H 3
    MUCR H 3 A_Pain
    Goto See
  PainFear:
	TNT1 A 0 A_ChangeFlag(FRIGHTENED,1)
	TNT1 A 0 A_SetUserVar("user_fear",1)
    MUCR H 3
    MUCR H 3 A_Pain
    Goto See
  Death:
    MUCR I 6
    MUCR J 5 A_Scream
	TNT1 A 0 A_SpawnItemEx("GibbedGenerator")
    MUCR K 5 A_NoBlocking
    MUCR L 5
    MUCR M -1
    Stop
  }
}

Actor MucosaRaider2 : MucosaRaider { Tag "\c[d4]Mucosa Raider\c-" +COUNTKILL }

//Beholder
ACTOR Beholder : TSIMinionBase
{
//Creator: Fluffy
//Origin: Nexus Infinity
//Sprite: BEHX
//Title: "Beholder"
Health 180
Radius 20
Height 56
Mass 100
Speed 7
FloatSpeed 7
scale 0.85
PainChance 200
DropItem "BossLifeEssence", 180
DropItem "HEMArmorBonusMax5", 180
DropItem "HEMArmorBonusMax5", 180
SeeSound "beholder/sight"
PainSound "beholder/pain"
DeathSound "beholder/death"
ActiveSound "beholder/idle"
HitObituary "%o was slapped by a beholder."
Obituary "%o was stared at by a beholder."
Tag "\c[m9]Beholder\c-"
-FLOORCLIP
+NoGravity
+Float
var int user_laser;
States
{
  Spawn:
    BEHX A 1 A_Wander
	TNT1 A 0 A_Look
    BEHX A 1 A_Wander
	TNT1 A 0 A_Look
    BEHX A 1 A_Wander
	TNT1 A 0 A_Look
    BEHX A 1 A_Wander
	TNT1 A 0 A_Look
    BEHX B 1 A_Wander
	TNT1 A 0 A_Look
    BEHX B 1 A_Wander
	TNT1 A 0 A_Look
    BEHX B 1 A_Wander
	TNT1 A 0 A_Look
    BEHX B 1 A_Wander
	TNT1 A 0 A_Look
    BEHX C 1 A_Wander
	TNT1 A 0 A_Look
    BEHX C 1 A_Wander
	TNT1 A 0 A_Look
    BEHX C 1 A_Wander
	TNT1 A 0 A_Look
    BEHX C 1 A_Wander
	TNT1 A 0 A_Look
    BEHX D 1 A_Wander
	TNT1 A 0 A_Look
    BEHX D 1 A_Wander
	TNT1 A 0 A_Look
    BEHX D 1 A_Wander
	TNT1 A 0 A_Look
    BEHX D 1 A_Wander
	TNT1 A 0 A_Look
    Loop
  See:
    BEHX AAAABBBBCCCCDDDD 1 A_Chase
    Loop
 Melee:
    BEHX J 6 a_facetarget
    BEHX KKK 0 //a_custommissile("beholdermeleelightning",random(24,48),random(16,16),random(-80,80))
    BEHX K 6 A_CustomMeleeAttack(random(2,7)*3,"skeleton/melee","Melee")
    BEHX L 6 a_facetarget
    BEHX MMM 0 //a_custommissile("beholdermeleelightning",random(24,48),random(16,16),random(-80,80))
    BEHX M 6 A_CustomMeleeAttack(random(2,7)*3,"skeleton/melee","Melee")
    goto see  
 Missile:
    BEHX B 15 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_laser",0)
 Laser:
    BEHX D 2 A_custommissile("BeholderLaserBeam",54,0,0)
	TNT1 A 0 A_JumpIf(user_laser >= 15,"LaserStop")
	TNT1 A 0 A_SetUserVar(user_laser,user_laser+Random(1,3))
	Loop
 LaserStop:
    BEHX D 5 A_FaceTarget
    Goto See
 Pain:
    BEHX A 2
    BEHX C 2 A_Pain
    Goto See
 Death:
    BEHX E 8
    BEHX F 8 A_Scream
    BEHX G 5 //A_SpawnItemEx("GibbedGenerator")
    BEHX H 5 A_NoBlocking
    BEHX I -1
    Stop  
  }
}

Actor Beholder2 : Beholder { Tag "\c[m9]Beholder\c-" +COUNTKILL }

Actor BeholderLaserBeam : ELegBanishedLaserBeam
{
Damage 1
DamageType "AdvancedImp"
Species "Imps"
MissileType "BeholderBeamTrailSpawner"
Obituary "%o was stared at by a beholder."
Scale 0.7
States
  {
    Spawn:
	  TNT1 A 0
	  TNT1 A 4 A_PlaySound("beholder/laser", CHAN_AUTO|CHAN_NOPAUSE)
	  Loop
    Death:
      TNT1 A 0
	  TNT1 A 0 Radius_Quake(2, 6, 0, 12, 0)
	  TNT1 A 0 A_Explode(6, 128, 0, False, 64)
	  TNT1 A 0 A_SpawnItemEx("BeholderFlare")
      E3FS ABCABCABCABCABC 2 bright A_FadeOut(0.06)
      Stop
  }
}

ACTOR BeholderBeamTrailSpawner : TrueLegendaryLaserBeamTrailSpawner
{
  DamageType "AdvancedImp"
  Obituary "%o was stared at by a beholder."
  States
  {
    Spawn:
      TNT1 A 0
	  TNT1 A 0 A_Explode(2,128,0,False,64)
      TNT1 A 2 A_SpawnItemEx("BeholderLaserBeamTrail", random (-3, 3), 0, random (-3, 3), 0, 0, 0, 0, 160)
      Stop
  }
}

ACTOR BeholderLaserBeamTrail : EnragedLaserBeamTrail
{
  Radius 8
  Height 8
  Scale 1
  Alpha 0.75
  Species "Imps"
}

ACTOR BeholderFlare : EnragedFlare { Scale 0.2 }