Actor VexedNemesisExileEvent
{
  Monster
  Health 1
  Radius 20
  Height 56
  Speed 20
  -SHOOTABLE
  -COUNTKILL
  +NODAMAGE
  +BOSS
  +FLOAT
  +NOGRAVITY
  +THRUSPECIES
  +LOOKALLAROUND
  Species "Player"
  SeeSound "VexedExile/Sight"
  var int user_death;
  var int user_summoned;
  var int user_summondelay;
  var int user_music;
  Tag "\c[w2]The Vexed Exiled\c-"
  States
  {
  Spawn:
	TNT1 A 0 NoDelay A_SetUserVar(user_summondelay,800)
  Idle:
	TNT1 A 0 A_Wander
	TNT1 A 1 A_Look
	Loop
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,748)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_JumpIf(user_summondelay >= 1050,"SummonExile")
	TNT1 A 0 A_SetUserVar(user_summondelay,user_summondelay+1)
	TNT1 A 1 A_Chase
	Loop
  SummonExile:
	TNT1 A 0 A_JumpIf(user_summoned == 3,"SummonFinalExile")
	TNT1 A 50
	TNT1 AAAAAAAAAAAAAA 4 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_PlaySound("brain/spit",1,1.0,0,ATTN_NONE)
	TNT1 AAAAAAAA 3 A_SpawnItemEx("NemesisSoulFlameSpawner")
	TNT1 A 0 A_SpawnItemEx("VexedNemesisExile",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SetUserVar(user_summoned,user_summoned+1)
	TNT1 A 0 A_SetUserVar(user_summondelay,0)
	Goto See
  SummonFinalExile:
	TNT1 A 50
	TNT1 AAAAAAAAAAAAAA 4 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_PlaySound("brain/spit",1,1.0,0,ATTN_NONE)
	TNT1 AAAAAAAA 3 A_SpawnItemEx("NemesisSoulFlameSpawner")
	TNT1 A 0 A_SpawnItemEx("VexedNemesisExileFinal",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SetUserVar(user_summoned,user_summoned+1)
	TNT1 A 0 A_SetUserVar(user_summondelay,0)
	Goto Dormant
  Dormant:
	TNT1 A 1 A_JumpIfInventory("VexedNemesisExileDeathToken",4,"WhatATragicDeath")
	Loop
  WhatATragicDeath:
	TNT1 A 0 A_ChangeFLag("NODAMAGE",0)
	TNT1 A 1 A_Die
	Goto Death
  Death:
	TNT1 A 10
	Stop
	}
}

Actor VexedNemesisExileDeathToken : Inventory { Inventory.MaxAmount 4 }

Actor VexedNemesisExile : NemesisExile 28030
{
  Health 2500
  Speed 30
  Mass 100000
  DamageType "VileFires"
  DamageFactor "Explosion", 0.0001
  DamageFactor "PlayerDTRG", 0.0001
  DamageFactor "DTRailgun", 0.0001
  DamageFactor "PDTPuff", 0.0001
  DamageFactor "RailG", 0.0001
  DamageFactor "PyroShot", 0.0001
  DamageFactor "PlayerPyro", 0.0001
  DamageFactor "PlayerBHole", 0.025
  DamageFactor "PlayerDBFG", 0.015
  DamageFactor "PlayerDBFG2", 0.015
  +FLOAT
  +NOGRAVITY
  +THRUSPECIES
  DropItem "NemesisHealthBonusMax" 256 32
  DropItem "NemesisArmorBonus32" 256
  DropItem "NemesisHealthBonusMax" 256 32
  DropItem "NemesisArmorBonus32" 256
  SeeSound "VexedExile/Attack" 
  PainSound "VexedExile/Pain" 
  DeathSound "VexedExile/Death" 
  ActiveSound "VexedExile/Active" 
  Obituary "%o fell victim to the abyss of the Vexed Nemesis Exile."
  Tag "\c[w2]Vexed Nemesis Exile\c-"
  States 
  { 
  Spawn:
  Idle:
    TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
    VVIL A 10 A_Look 
    Loop 
  See:
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(82,"Rush")
    VVIL A 0 A_SpawnItem("HumanishStep",0,0,0,0)
	TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
    VVIL AA 2 A_VileChase
	TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
    VVIL BB 2 A_VileChase
	TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
    VVIL CC 2 A_VileChase
    VVIL A 0 A_SpawnItem("HumanishStep",0,0,0,0)
	TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
    VVIL DD 2 A_VileChase
	TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
    VVIL EE 2 A_VileChase
	TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
    VVIL FF 2 A_VileChase
	TNT1 A 0 A_Jump(48,"Teleport")
    Loop
  Rush:
	TNT1 A 0 A_SpawnItemEx("VexedExileGhostA",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	VVIL A 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("VexedExileGhostA",0,0,0,0,0,0,0,128)	
	TNT1 A 0 A_VileChase	
	VVIL A 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("VexedExileGhostB",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	VVIL B 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("VexedExileGhostB",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	VVIL B 1 A_VileChase	
	TNT1 A 0 A_SpawnItemEx("VexedExileGhostC",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	VVIL C 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("VexedExileGhostC",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	VVIL C 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("VexedExileGhostD",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	VVIL D 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("VexedExileGhostD",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	VVIL D 1 A_VileChase	
	TNT1 A 0 A_SpawnItemEx("VexedExileGhostE",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	VVIL E 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("VexedExileGhostE",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	VVIL E 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("VexedExileGhostF",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	VVIL F 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("VexedExileGhostF",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	VVIL F 1 A_VileChase
	TNT1 A 0 A_JumpIfTargetinLOS("Missile")
	TNT1 A 0 A_Jump(28,"Teleport")
	TNT1 A 0 A_Jump(32,"See")
	Loop
  Teleport:
    VVI2 A 1 A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VVI2 AAAAAABBBB 1 A_FadeOut(0.1,0)
	VVI2 B 2 
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    VVI2 B 1 A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VVI2 BBBBBCCCCCC 1 A_FadeIn(0.1)
    VVI2 C 1 A_SetShootable
    Goto See
  Missile:
    TNT1 A 0 A_Jump(70,"EffectVoid","VeloFire","Catalyst")
    TNT1 A 0 A_Jump(128,"Skullshots","MimicShot")
	Goto BasicVoid
  BasicVoid:
    TNT1 A 0 A_FaceTarget
    VVIL G 10 A_PlaySound("exile/voidstart")
    VVIL H 8 A_VileTarget("NemesisVileFire1")
    VVIL IJ 8 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
	TNT1 A 0 A_JumpIfCloser(300,"TeleportVoid")
	TNT1 A 0 A_Jump(128,"TeleportVoid")
	VVIL KLM 8 A_FaceTarget
	VVIL N 4 A_FaceTarget
  BasicVoidLoop:
    VVIL N 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    VVIL O 4 A_VileAttack("vile/stop",10,50,70,1.2,"Legendary")
    VVIL N 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    VVIL O 4 A_VileAttack("vile/stop",10,50,70,-1.2,"Legendary")
    VVIL N 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    VVIL O 4 A_VileAttack("vile/stop",10,50,70,1.2,"Legendary")
    VVIL N 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    VVIL O 4 A_VileAttack("vile/stop",10,50,70,-1.2,"Legendary")
    VVIL N 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    VVIL O 4 A_VileAttack("vile/stop",10,50,70,1.2,"Legendary")
    VVIL N 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    VVIL O 4 A_VileAttack("vile/stop",10,50,70,-1.2,"Legendary")
    VVIL N 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    VVIL O 4 A_VileAttack("vile/stop",10,50,70,1.2,"Legendary")
	Goto BasicVoidEnd
  BasicVoidEnd:
    VVIL P 20
    TNT1 A 0 A_Jump(64,"SkullShots")
    Goto See
  TeleportVoid:
    TNT1 A 0 A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VVIL KKKKKKKKLL 1 A_FadeOut(0.1,0)
	VVIL L 2 
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    TNT1 A 0 A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VVIL LLLLMMMMMMMM 1 A_FadeIn(0.1)
    TNT1 A 0 A_SetShootable
    VVIL N 4 A_FaceTarget
	Goto BasicVoidLoop
  SkullShots:
	VVIL GHIJKLMN 2 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
  SkullShotsLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 8,"SkullShotsEnd")
	TNT1 A 0 A_SetUserVar(user_missile,user_missile+1)
	TNT1 A 0 A_FaceTarget
	VVIL O 4 A_CustomMissile("NemesisExileSkullShot",50,0,random(-20,20))
	TNT1 A 0 A_FaceTarget
	VVIL N 4 A_CustomMissile("NemesisExileSkullShot",50,0,random(-20,20))
	Loop
  SkullShotsEnd:
	VVIL OP 5
    TNT1 A 0 A_Jump(64,"BasicVoid")
	Goto See
  EffectVoid:
    TNT1 A 0 A_FaceTarget
    VVIL G 10 A_PlaySound("exile/voidstart")
	TNT1 A 0 A_GiveToTarget("NemesisExileVoidEffect1",1)
    VVIL H 16 A_VileTarget("NemesisExileEffectFire")
    VVIL IJKLMN 16 A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    VVIL O 12 A_VileAttack("vile/stop",30,70,70,1.0,"Legendary")
    VVIL P 20
    Goto See
  VeloFire:
	TNT1 A 0 A_FaceTarget
	VVIL G 10 A_VileStart
    VVIL H 8 A_VileTarget("NemesisExileFire2")
    VVIL IJKLMN 8 A_FaceTarget
	VVIL O 8 A_VileAttack("vile/stop",20,70,70,2.0,"Legendary")
    Goto See
  Catalyst:
	TNT1 A 0 A_FaceTarget
	VVIL G 10 A_VileStart
    VVIL H 10 A_VileTarget("NemesisVileSpikeSpawner")
    VVIL IJKLMNO 10 A_FaceTarget
    VVIL P 20
    Goto See
  MimicShot:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_Jump(256,"MimicImp","MimicZombie","MimicCaptain","MimicRevenant","MimicCydestroyer")
	Goto See
  MimicImp:
	TNT1 A 0 A_PlaySound("NemesisExile/Attack",2)
	TNT1 A 0 A_PlaySound("VexedNemesisImp/Sight",1)
	TNT1 A 0 A_CustomMissile("VexedExileImpGhost",40)
	VVIL GHIJKLMN 6 A_FaceTarget
	VVIL O 6 A_CustomMissile("VexedExileLaserBall",50,0,0)
	VVIL P 6
	Goto See
  MimicZombie:
	TNT1 A 0 A_PlaySound("NemesisExile/Attack",2)
	TNT1 A 0 A_PlaySound("VexedNemesisZombie/Sight",1)
	TNT1 A 0 A_CustomMissile("VexedExileZombieGhost",40)
	VVIL GHIJKLMN 4 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
  MimicZombieLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 15,"See")
	TNT1 A 0 A_SetUserVar(user_missile,user_missile+1)
	TNT1 A 0 A_FaceTarget
	TNT1 AA 0 A_CustomMissile("NemesisRifleShotEnemy",32,0,random(-4,4),0)
	VVIL O 2 A_PlaySound("NemesisRifle/Fire",1)
	TNT1 AA 0 A_CustomMissile("NemesisRifleShotEnemy",32,0,random(-4,4),0)
	VVIL P 2 A_PlaySound("NemesisRifle/Fire",1)
	Loop
  MimicCaptain:
	TNT1 A 0 A_PlaySound("NemesisExile/Attack",2)
	TNT1 A 0 A_PlaySound("VexedNemesisCaptain/Sight",1)
	TNT1 A 0 A_CustomMissile("VexedExileCaptainGhost",40)
	VVIL GHIJKLMN 4 A_FaceTarget
	TNT1 AAAAAAAA 0 A_CustomMissile("NemesisSpringMineSet",32,0,random(0,360),2,15)
	TNT1 A 0 A_SetUserVar("user_missile",0)
  MimicCaptainLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 6,"See")
	TNT1 A 0 A_SetUserVar(user_missile,user_missile+1)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/GrenadeFire",0,1.0,0,0.4)
	VVIL O 4 A_CustomMissile("NemesisGrenadeLowGrav",32,0,0,CMF_OFFSETPITCH,4)
	TNT1 A 0 A_PlaySound("Weapons/GrenadeFire",0,1.0,0,0.4)
	VVIL P 4 A_CustomMissile("NemesisGrenadeLowGrav",32,0,0,CMF_OFFSETPITCH,4)
	Loop
  MimicRevenant:
	TNT1 A 0 A_PlaySound("NemesisExile/Attack",2)
	TNT1 A 0 A_PlaySound("VexedRevenant/Sight",1)
	TNT1 A 0 A_CustomMissile("VexedExileRevenantGhost",40)
	TNT1 A 0 A_SetUserVar("user_missile",0)
  MimicRevenantLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 10,"See")
	TNT1 A 0 A_SetUserVar(user_missile,user_missile+1)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("NemesisCannon/Fire",1) 
	VVIL O 2 A_CustomMissile("NemesisRevCannonProj",40,13,random(0,359))
	TNT1 A 0 A_PlaySound("NemesisCannon/Fire",1) 
	VVIL P 2 A_CustomMissile("NemesisRevCannonProj",40,13,random(0,359))
	Loop
  MimicCydestroyer:
	TNT1 A 0 A_PlaySound("NemesisExile/Attack",2)
	TNT1 A 0 A_PlaySound("VexedNemesisCydestroyer/Rage",1)
	TNT1 A 0 A_CustomMissile("VexedExileCydestroyerGhost",40)
	TNT1 A 0 A_SetUserVar("user_missile",0)
  MimicCydestroyerLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 15,"See")
	TNT1 A 0 A_SetUserVar(user_missile,user_missile+1)
	TNT1 A 0 A_CustomMissile("NemesisNobleHomingRocket",67,17,frandom(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	TNT1 A 0 A_CustomMissile("NemesisNobleHomingRocket",67,-17,frandom(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	VVIL O 3 A_FaceTarget
	TNT1 A 0 A_CustomMissile("NemesisNobleHomingRocket",67,17,frandom(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	TNT1 A 0 A_CustomMissile("NemesisNobleHomingRocket",67,-17,frandom(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	VVIL P 3 A_FaceTarget
	Loop
  Heal:
	TNT1 A 0 A_PlaySound("brain/spit")
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,0,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,20,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,40,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,60,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,80,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,100,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,120,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,140,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,160,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,180,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,200,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,220,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,240,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,260,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,280,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,300,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,320,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,340,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,360,0)
	TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
    VVI2 AA 2
	TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
    VVI2 AA 2
	TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
    VVI2 BB 2
	TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
    VVI2 BB 2
	TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
    VVI2 CC 2
	TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
    VVI2 CC 2
    Goto See
  Pain: 
	TNT1 A 0 A_StopSound(7)
  	TNT1 A 0 A_Jump(90,"Teleport")	
    VVIL Q 5 
    VVIL Q 5 A_Pain 
    TNT1 A 0 A_Jump(128,"Missile")
    Goto Rush 
  Death:
	TNT1 A 0 A_GiveInventory("VexedNemesisExileDeathToken",1,AAPTR_MASTER)
    VVIL Q 6 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
    VVIL R 5 A_Scream
    VVIL S 5 A_Fall
    VVIL TUV 5
	VVIL W 4 A_SpawnItem("BodyCrash",0,0,0,0)
    VVIL XY 4
    VVIL Z -1
    Stop
	}
}

Actor VexedExileLaserBall : VexedNemesisImpLaserBall
{
States
  {
  Spawn:
	TNT1 A 0 NoDelay A_Playsound("exile/voidsuck",6,1.0,1)
  Fly:
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-8,0),frandom(-8,8),frandom(-4,4))
	CLBB D 3 Bright A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-8,0),frandom(-8,8),frandom(-4,4))
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-8,0),frandom(-8,8),frandom(-4,4))
	CLBB D 3 Bright A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-8,0),frandom(-8,8),frandom(-4,4))
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-8,0),frandom(-8,8),frandom(-4,4))
	CLBB D 3 Bright A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-8,0),frandom(-8,8),frandom(-4,4))
	TNT1 AA 0 A_CustomMissile("VexedExileDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_CustomMissile("VexedExileLaserBallAttack",random(-1,1),random(-2,2),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	Loop
	}
}

ACTOR VexedExileLaserBallAttack : VexedNemesisImpLaserBallAttack
{
  Obituary "%o fell victim to the abyss of the Vexed Nemesis Exile."
  States
  {
  Attack:
	TNT1 A 0
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_RearrangePointers(AAPTR_MASTER, AAPTR_MASTER, AAPTR_NULL)
	TNT1 A 1 Bright A_CustomRailgun(30,0,None,None,RGF_SILENT|RGF_FULLBRIGHT,0,2,"LegendaryImpPuff",0,0,0,0,3.0,0,"NemesisBFGRailParticle")
	Goto Death
  }
}

Actor VexedExileDevastatorBolt : VexedNemesisImpDevastatorBolt
{
  Species "Viles"
  Damagetype "VileFires"
  Obituary "%o fell victim to the abyss of the Vexed Nemesis Exile."
}


ACTOR VexedExileImpGhost : NemesisExileSoulGhost
{   
  Scale 1.2
  States
  {
  Spawn:
	VSI2 FFFFFFFF 5 A_FaceTracer
	TNT1 A 0 A_FaceTracer
	VSI2 F 5 A_FadeOut(0.1)
	Goto Spawn+8
	}
}

ACTOR VexedExileZombieGhost : NemesisExileSoulGhost
{   
  Scale 1.5
  States
  {
  Spawn:
	VNZO EEEEEEEE 5 A_FaceTracer
	TNT1 A 0 A_FaceTracer
	VNZO E 5 A_FadeOut(0.1)
	Goto Spawn+8
	}
}

ACTOR VexedExileCaptainGhost : NemesisExileSoulGhost
{   
  Scale 1.5
  States
  {
  Spawn:
	VNAS EEEEEEEE 5 A_FaceTracer
	TNT1 A 0 A_FaceTracer
	VNAS E 5 A_FadeOut(0.1)
	Goto Spawn+8
	}
}

ACTOR VexedExileRevenantGhost : NemesisExileSoulGhost
{   
  Scale 1.4
  States
  {
  Spawn:
	VNRV JJJJJJJJ 5 A_FaceTracer
	TNT1 A 0 A_FaceTracer
	VNRV J 5 A_FadeOut(0.1)
	Goto Spawn+8
	}
}

ACTOR VexedExileCydestroyerGhost : NemesisExileSoulGhost
{   
  Scale 1.4
  States
  {
  Spawn:
	VC2S EEEEEEEE 5 A_FaceTracer
	TNT1 A 0 A_FaceTracer
	VC2S E 5 A_FadeOut(0.1)
	Goto Spawn+8
	}
}

Actor VexedNemesisExileFinal : VexedNemesisExile 28031
{
  DropItem "NemesisHealthBonusMax" 256 32
  DropItem "NemesisArmorBonus32" 256
  DropItem "NemesisHealthBonusMax" 256 32
  DropItem "NemesisArmorBonus32" 256
  DropItem "NemesisSuperSphere" 160
  DropItem "LegendarySalvationSphere" 240
  DropItem "LegendaryRune" 230
  DropItem "LDemonAmmoBox" 256
  DropItem "LDemonAmmo" 256
  DropItem "BossLifeEssence" 256
  DropItem "BossArmorBonusMax" 256
  DropItem "Nemesis Rifle" 256
  DropItem "Nemesis Plasmatic Cannon" 256
  States
  {
  Death:
	TNT1 A 0 A_GiveInventory("VexedNemesisExileDeathToken",1,AAPTR_MASTER)
    VVIL Q 6 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
    VVIL R 5 A_Scream
    VVIL S 5 A_Fall
    VVIL TUV 5
	VVIL W 4 A_SpawnItem("BodyCrash",0,0,0,0)
    VVIL XY 4
	TNT1 A 0 A_Jump(100,"MoreStuff")
	VVIL Z 100
	TNT1 A 0 A_JumpIfInTargetInventory("NemesisFragmentToken",1,3)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NemesisFragment") == 0,2)
	TNT1 A 0 A_SpawnItemEx("NemesisFragmentSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,192)
    VVIL Z -1
    Stop
  MoreStuff:
	VVIL Z 100
	TNT1 A 0 A_JumpIfInTargetInventory("NemesisFragmentToken",1,3)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NemesisFragment") == 0,2)
	TNT1 A 0 A_SpawnItemEx("NemesisFragmentSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,192)
	TNT1 A 0 A_SpawnItem("HellionSmokeAttack")
	VVIL ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 1 A_SpawnItem("NemesisCYNItemRandomizer")
	VVIL ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 1 A_SpawnItem("NemesisCYNItemRandomizer")
	VVIL Z 1 A_SpawnItem("NemesisHKSuperItemRandomizer")
	VVIL Z -1
	Stop
	}
}


Actor VexedExileGhostA
{
  Renderstyle Translucent
  Alpha 0.75
  Scale 1.15
  +CLIENTSIDEONLY
  +NOINTERACTION
  +NOTIMEFREEZE
  +BRIGHT
  States
  {
  Spawn:
    VVIL A 2 A_FadeOut(0.18)
    Loop
    }
}

Actor VexedExileGhostB : NemesisExileGhostA
{
States
{
Spawn:
    VVIL B 2 A_FadeOut(0.18)
    Loop
    }
}

Actor VexedExileGhostC : NemesisExileGhostA
{
States
{
Spawn:
    VVIL C 2 A_FadeOut(0.18)
    Loop
    }
}

Actor VexedExileGhostD : NemesisExileGhostA
{
States
{
Spawn:
    VVIL D 2 A_FadeOut(0.18)
    Loop
    }
}

Actor VexedExileGhostE : NemesisExileGhostA
{
States
{
Spawn:
    VVIL E 2 A_FadeOut(0.18)
    Loop
    }
}

Actor VexedExileGhostF : NemesisExileGhostA
{
States
{
Spawn:
    VVIL F 2 A_FadeOut(0.18)
    Loop
    }
}