Actor Bulwarker : BullFiend
{
//Creator: Titanium
//Origin: Nexus Infinity
//Sprite: BUKR/BUK2
//Title: "Bulwarker" 
Health 850
Mass 300
Speed 12
Scale 1.2
PainChance 30
Damagefactor 0.7
+QUICKTORETALIATE
+MISSILEMORE
+MISSILEEVENMORE
+NORADIUSDMG
+DONTHARMSPECIES
+DONTHARMCLASS
+AVOIDMELEE
+SEEINVISIBLE
+DONTRIP
+NOICEDEATH
Species "Fiends"
DamageFactor "FiendFire", 0.0
DamageFactor "DTFiendEx", 0.0
DamageFactor "Fire", 0.0
DropItem "BossLifeEssence", 200, 15
DropItem "HEMBossArmorBonusMax25", 200
DropItem "HEMArmorBonusMax5", 100
DropItem "HEMArmorBonusMax5", 75
DropItem "HEMArmorBonusMax5", 50
DropItem "Missile" 125 5
DropItem "ProxyAmmo" 100 2
DropItem "ProxyAmmo" 50 2
SeeSound "Bulwarker/sight"
PainSound "Bulwarker/pain"
DeathSound "Bulwarker/death"
ActiveSound "Bulwarker/active"
AttackSound ""
Obituary "%o was targeted from a distance by a Bulwarker's advanced weaponry."
HitObituary "Null"
Tag "\c[a4]Bulwarker\c-"
//var int user_mine;
States
{
  Spawn:
	BUK2 A 7 A_Look
	BUKR A 7 A_Look
	BUK2 B 7 A_Look
	BUKR A 7 A_Look
	Loop
  See:
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 A_PlaySound("blooddemon/walk")
	BUKR AABB 2 A_Chase
	TNT1 A 0 A_JumpIfCloser(32,"MineLand")
	TNT1 A 0 A_PlaySound("blooddemon/walk")
	BUKR CCDD 2 A_Chase
	TNT1 A 0 A_JumpIfCloser(32,"MineLand")
	Loop
  Missile:
	TNT1 A 0 A_JumpIfCloser(400,"Grenades")
	TNT1 A 0 A_Jump(142,"Rocket","RapidRocket","Homing")
	Goto MiniRocket
  Melee:
  MiniRocket:
	BUKR E 10 A_FaceTarget
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
  AlsoMiniRocket:
	BUKR E 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("MiniRocketFire",CHAN_AUTO,1.0,0)
	TNT1 A 0 A_CustomMissile("FiendMiniRocket")
	BUKR F 3 Bright
	BUKR E 1 A_FaceTarget
	TNT1 A 0 A_PlaySound("MiniRocketFire",CHAN_AUTO,1.0,0)
	TNT1 A 0 A_CustomMissile("FiendMiniRocket")
	BUKR F 3 Bright
	BUKR E 1 A_FaceTarget
	TNT1 A 0 A_PlaySound("MiniRocketFire",CHAN_AUTO,1.0,0)
	TNT1 A 0 A_CustomMissile("FiendMiniRocket")
	BUKR F 3 Bright
	TNT1 A 0 A_Jump(32,"Pause")
	TNT1 A 0 A_SpidRefire
	Goto AlsoMiniRocket
  Rocket:
	BUKR EE 4 A_FaceTarget
	BUKR F 6 Bright A_CustomMissile("FiendRocket")
	BUKR EE 4 A_FaceTarget
	BUKR F 6 Bright A_CustomMissile("FiendRocket")
	BUKR E 3 A_FaceTarget
	Goto See
  Homing:
	BUKR EE 4 A_FaceTarget
	BUKR F 6 Bright A_CustomMissile("FiendHoming")
	BUKR EE 4 A_FaceTarget
	BUKR F 6 Bright A_CustomMissile("FiendHoming")
	BUKR E 3 A_FaceTarget
	Goto See
  RapidRocket:
	BUKR EE 8 A_FaceTarget
	BUKR F 6 Bright A_CustomMissile("FiendRapidRocket")
	BUKR E 3 A_FaceTarget
	Goto See
  Grenades:
	BUKR EE 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/GrenadeFire")
	BUKR F 6 Bright A_CustomMissile("FiendGrenade")
	BUKR EE 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/GrenadeFire")
	BUKR F 6 Bright A_CustomMissile("FiendGrenade")
	BUKR E 3 A_FaceTarget
	Goto See
  MineLand:
	BUKR EE 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/ProxFire")
	BUKR F 6 Bright A_CustomMissile("FiendThrownMine")
	BUKR E 8 A_FaceTarget
	Goto See
  Pause:
	BUKR E 3
	Goto See
  Pain:
	TNT1 A 0 A_Jump(98,"PainMissile")
	BUKR G 4 A_Pain
	Goto See
  PainMissile:
	TNT1 A 0 A_ChangeFlag(NOPAIN,1)
	BUKR G 4 A_Pain
	Goto Missile
  XDeath:
  Death:
	BUKR H 2 Bright A_Scream
	TNT1 A 0 A_CustomMissile("BulwarkerDeath",0,0,random(0,360),2,random(0,360))
	BUKR IJ 2 Bright
	TNT1 AA 0 A_CustomMissile("BlueBloodCloud",FRandom(30,60),0,FRandom(0,360),2,FRandom(0,360))
	BUKR K 4 Bright A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	BUKR L 4 Bright A_NoBlocking
	BUKR M 4 Bright A_SpawnItem("BodyCrash",0,0,0,0)
	BUKR N -1
	Stop
  Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	BUKR NMLKJIH 5
	Goto See
}
}

Actor FiendMiniRocket : MiniRocket
{
Species "Fiends"
Damagetype "DTFiendEx"
}

ACTOR FiendRocket : CyNobleRocket
{
DamageType "DTFiendEx"
}

ACTOR FiendHoming : BruiserMissile 
{
DamageType "DTFiendEx"
}

ACTOR FiendGrenade : RifleGrenade
{
FastSpeed 24
Damage 20
-THRUSPECIES
DamageType "DTFiendEx"
}

Actor FiendRapidRocket : MRLFastRocket
{
-MTHRUSPECIES
Damage 22
Speed 65
FastSpeed 75
Damagetype "DTFiendEx"
SeeSound "rocket/fire"
States
{
  Spawn:
    MIS0 A 0 A_CustomMissile("RocketSmoke",Random(4,6),Random(-2,2)) 
	MIS0 AAA 0 A_CustomMissile("NewRockeParticleTrail",Random(4,6),Random(-2,2)) 
    MIS0 A 1 Bright A_PlaySoundEx("rpg/fly","SoundSlot7",1)
    Loop
  Death:
	TNT1 A 0
    TNT1 A 0 A_StopSoundEx("SoundSlot7")
	TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
    TNT1 AAA 0 A_CustomMissile("Kaboom3", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
    TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
    TNT1 A 0 A_Explode
    TNT1 A 1 A_SpawnItem("RocketEx")
    Stop
}
}

ACTOR FiendThrownMine : LACThrownMine
{
Species "Fiends"
DamageType "DTFiendEx"
-NOTIMEFREEZE
+BRIGHT
Obituary "%o stepped on a Bulwaker's Mine."
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0 A_StopSound
    Goto Thrown
Thrown:
	BUMX ABC 5
	Loop
Death:
	BUMX A 1
	BUMX A 1 A_SpawnItem("FiendLiveMine")
	Stop
	}
}

ACTOR FiendLiveMine : LACLiveMine
{
Species "Fiends"
DamageType "DTFiendEx"
-NOTIMEFREEZE
+BRIGHT
Obituary "%o stepped on a Bulwaker's Mine."
//var int user_missile;
States
{
Spawn:
    //TNT1 A 0 A_JumpIf(user_missile >= 1000,"Death")
	BUMX AB 5 A_ChangeFlag(NOBLOCKMAP,0)
	BUMX C 5 A_ChangeFlag(NOBLOCKMAP,1)
    //TNT1 A 0 A_SetUserVar(user_missile,user_missile+1)
	Loop	
Death:
	TNT1 A 0 A_Die
Explode:
	TNT1 A 0
	BUMX A 2 A_PlaySound("Weapons/ProxBeep")
	BUMX BCABC 2
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("Weapons/RockLX")
	TNT1 A 0 A_NoGravity
	TNT1 A 0 A_ChangeFlag(OLDRADIUSDMG,1)
	TNT1 A 0 A_Explode(100,50,1,0,10)
	TNT1 A 0 Radius_Quake(2,24,0,15,0)
	TNT1 A 0 A_PlaySound("weapons/mineexplode",CHAN_BODY)
	TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 AAAA 0 A_CustomMissile("Kaboom3",0,0,random(0,360),2,random(20,160))
	TNT1 AAAA 0 A_CustomMissile("SmokeFX2",0,0,random(0,360),2,random(20,160))
	TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,SXF_CLIENTSIDE)
	TNT1 A 0 A_ChangeFlag(OLDRADIUSDMG,0)
	TNT1 A 1 A_SpawnItem("RocketEx")
	TNT1 A 0 A_Explode(150,162,1,0,10)
	TNT1 A 0 A_AlertMonsters
	TNT1 A 0 A_PlaySound("Explosion",CHAN_WEAPON)
	TNT1 A 0 A_PlaySound("FAREXPL",CHAN_VOICE)
	TNT1 A 0 A_SpawnItemEx("PlantedProxExplodeEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 AAAA 1 A_SpawnItemEx("RocketEx",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,SXF_CLIENTSIDE,0)
	TNT1 A 40
	Stop
    }
}

Actor BulwarkerDeath : HeavyRocket
{
Damage 40
//DamageType "DTFiendEx"
Damagetype "MonsterDying"
-MTHRUSPECIES
States
{
  Spawn:
  Death:
    TNT1 A 0 A_StopSoundEx("SoundSlot7")
	TNT1 A 0 A_Explode(9,328)
	TNT1 A 0 A_Explode(48,225)
	TNT1 A 0 A_Explode(144,148)
	TNT1 A 0 Radius_Quake(6,28,0,32,0)
    TNT1 A 0 A_PlaySound("digger/explode")
	TNT1 AAA 0 A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_CustomMissile("SmokeFX3",0,0,random(80,100),2,random(80,100))
    TNT1 AAAAAAAA 0 A_CustomMissile("Kaboom3",random(-16,16),random(20,-20),random(0,360),2,random(0,360))
    MISL B 4 Bright
    MISL CD 4 Bright A_SetTranslucent(0.75,1)
	Stop
  }
}