Actor TargetIsAMastermind : Inventory
{
inventory.maxamount 1
}

actor SpiderMastermind_2 : SpiderMastermind//RGAMonster
{
  Obituary "%o stood in awe of the spider mastermind."
  Health 4875
  Radius 100
  Height 100
  Mass 2000
  Speed 12
  PainChance 30
  PainChance "Sniper", 60
  PainChance "Cyber", 90
  PainChance "Shotgungib", 19
  PainChance "Shotgun", 19
  PainChance "Dragon", 4
  PainChance "DragonF", 4
  PainChance "Dragonsplosion", 4
  PainChance "RGAFire", 4
  PainChance "Explosion", 28
  PainChance "ExplosionF", 28
  PainChance "ExplosionC", 28
  PainChance "NormalExplode", 28
  PainChance "Knife", 255
  PainChance "SewUpYou", 40
  PainChance "BuildFriendDamage", 40
  PainChance "ISABELLESROMANTICLOVE", 40
  SeeSound "spider/sight"
  AttackSound ""
  PainSound "spider/pain"
  DeathSound "spider/death"
  ActiveSound "spider/active"
  MONSTER
  +BOSS
  +FLOORCLIP
  -NORADIUSDMG
  +DONTMORPH
  +MISSILEMORE
  //+QUICKTORETALIATE
  +BOSSDEATH
  -DONTHURTSPECIES
  +NOICEDEATH
  Species "Spiderdemon"
  DamageFactor "RGABullet", 1.3
  DamageFactor "Shotgungib", 1.0
  DamageFactor "Shotgun", 1.0
  DamageFactor "Rifle", 1.45
  DamageFactor "Knife", 2.15
  DamageFactor "LMG", 1.8
  DamageFactor "BigPistol", 1.9
  DamageFactor "Stun", 1.2
  DamageFactor "Stun2", 1.2
  DamageFactor "Stun3", 1.2
  DamageFactor "BarrelBoom", 2.0
  DamageFactor "ScriptedMarine", 0.6
  DamageFactor "Revive", 0.0
  DamageFactor "Explosion", 2.0
  DamageFactor "ExplosionF", 3.0
  DamageFactor "ExplosionC", 2.0
  DamageFactor "NormalExplode", 1.4
  DamageFactor "Cyber", 3.44
  DamageFactor "Sniper", 1.15
  DamageFactor "Dragon", 0.6
  DamageFactor "DragonF", 0.9
  DamageFactor "Dragonsplosion", 0.5
  DamageFactor "RGAFire", 0.8//0.6
  DamageFactor "BuildFriendDamage", 1.4
  DamageFactor "SewUpYou", 1.4
  DropItem "Soulsphere3"
  Tag "Spider Mastermind"
  States
  {
  Spawn:
    SPID A 0
    SPID A 0 A_TakeInventory("Firing",1)
    SPID A 0 A_CheckFlag("Friendly",2)
    SPID A 0 Thing_SetSpecial(0,226,613,0,random(90,115))
	CYBR A 0 A_GiveInventory("TargetIsAMastermind",1)
    SPID A 35
  Idle:
    SPID A 10 A_Look
    Loop
  See:
    SPID A 0
	SPID A 0 BRIGHT A_ChangeFlag("NOPAIN",0)
    SPID A 0 A_TakeInventory("Firing",1)
    SPID A 0 A_PlaySound("spider/walk")
    SPID AABB 3 A_Chase("","Missile")
    SPID C 0 A_PlaySound("spider/walk")
    SPID CCDD 3 A_Chase("","Missile")
    SPID E 0 A_PlaySound("spider/walk")
    SPID EE 3 A_Chase("","Missile")
    SPID FF 3 A_Chase
    SPID A 0 A_PlaySound("spider/walk")
    SPID AABB 3 A_Chase("","Missile")
    SPID C 0 A_PlaySound("spider/walk")
    SPID CCDD 3 A_Chase("","Missile")
    SPID E 0 A_PlaySound("spider/walk")
    SPID EE 3 A_Chase("","Missile")
    SPID FF 3 A_Chase
    SPID F 0 A_SpawnItemEx("SpiderStepDamage",0,0,40,0,0,0,0,0,0)
    Goto See+3
  Melee:
  Missile:
    SPID A 10 A_FaceTarget
	SPID G 0 BRIGHT A_ChangeFlag("NOPAIN",0)
    SPID G 0 BRIGHT A_FaceTarget
    SPID G 0 BRIGHT A_GiveInventory("Firing",1)
    SPID H 0 BRIGHT A_PlayWeaponSound("aa12/fire")
    SPID H 2 BRIGHT A_CustomBulletAttack(17.5, 5, 3, 7, "MonsterBulletPuff", 3072, FBF_NORANDOM)
    SPID G 2 BRIGHT A_FaceTarget
    SPID H 0 BRIGHT A_PlayWeaponSound("aa12/fire")
    SPID H 2 BRIGHT A_CustomBulletAttack(17.5, 5, 3, 7, "MonsterBulletPuff", 3072, FBF_NORANDOM)
    SPID G 2 BRIGHT A_FaceTarget
    SPID G 0 BRIGHT A_MonsterRefire(20,"See")
    goto Missile+2
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    SPID I 0
    SPID I 0 A_Jump(71,2)
    SPID I 0 A_JumpIfInventory("Firing",1,"PainFiring.Explosion")
    SPID I 0 A_TakeInventory("Firing",1)
    SPID I 3 A_GiveToTarget("CyberXP2",1)
    SPID I 15 A_Pain
    goto See
  PainFiring.Explosion:
    SPID T 0
    SPID T 0 BRIGHT A_GiveToTarget("CyberXP2",1)
    SPID T 2 BRIGHT
    SPID U 0 BRIGHT A_PlayWeaponSound("aa12/fire")
    SPID U 2 BRIGHT A_CustomBulletAttack(35, 10, 2, 6, "MonsterBulletPuff", 3072, FBF_NORANDOM)
    SPID T 2 BRIGHT A_Pain
    SPID U 0 BRIGHT A_PlayWeaponSound("aa12/fire")
    SPID U 2 BRIGHT A_CustomBulletAttack(35, 10, 2, 6, "MonsterBulletPuff", 3072, FBF_NORANDOM)
    SPID T 2 BRIGHT
    SPID T 0 BRIGHT A_Jump(63,"See","PainFiringMore")
    SPID T 0 BRIGHT A_MonsterRefire(20,"See")
    goto Missile+1
  Pain:
    SPID I 0
    SPID I 0 A_Jump(71,2)
    SPID I 0 A_JumpIfInventory("Firing",1,"PainFiring")
    SPID I 0 A_TakeInventory("Firing",1)
    SPID I 0 BRIGHT A_Jump(127,2)
    SPID I 3 A_GiveToTarget("CyberXP2",1)
    SPID I 3 A_Pain
    goto See
  PainFiring:
    SPID T 0
    SPID T 0 BRIGHT A_Jump(127,2)
    SPID T 0 BRIGHT A_GiveToTarget("CyberXP2",1)
    SPID T 2 BRIGHT
    SPID U 0 BRIGHT A_PlayWeaponSound("aa12/fire")
    SPID U 2 BRIGHT A_CustomBulletAttack(35, 10, 2, 6, "MonsterBulletPuff", 3072, FBF_NORANDOM)
    SPID T 2 BRIGHT A_Pain
    SPID U 0 BRIGHT A_PlayWeaponSound("aa12/fire")
    SPID U 2 BRIGHT A_CustomBulletAttack(35, 10, 2, 6, "MonsterBulletPuff", 3072, FBF_NORANDOM)
    SPID T 2 BRIGHT
    SPID T 0 BRIGHT A_Jump(63,"See","PainFiringMore")
    SPID T 0 BRIGHT A_MonsterRefire(20,"See")
    goto Missile+1
  PainFiringMore:
    SPID U 0 BRIGHT A_PlayWeaponSound("aa12/fire")
    SPID U 2 BRIGHT A_CustomBulletAttack(35, 10, 2, 6, "MonsterBulletPuff", 3072, FBF_NORANDOM)
    SPID T 2 BRIGHT
    SPID U 0 BRIGHT A_PlayWeaponSound("aa12/fire")
    SPID U 2 BRIGHT A_CustomBulletAttack(35, 10, 2, 6, "MonsterBulletPuff", 3072, FBF_NORANDOM)
    SPID T 2 BRIGHT
    SPID T 0 BRIGHT A_Jump(31,"See")
    SPID T 0 BRIGHT A_MonsterRefire(20,"See")
    goto Missile+1
  Pain.Cyber:
    SPID I 0
    SPID I 0 A_Jump(87,2)
    SPID I 0 A_JumpIfInventory("Firing",1,"PainFiring.Crush")
    SPID I 0 A_TakeInventory("Firing",1)
    SPID I 3
    SPID I 3 A_Pain
    goto See
  Pain.DeathExplosionCard:
  Pain.NormalExplode:
  Pain.Stun3:
  Pain.Stun2:
  Pain.Stun:
    SPID I 0
    SPID I 0 A_Jump(103,2)
    SPID I 0 A_JumpIfInventory("Firing",1,"PainFiring.Crush")
    SPID I 0 A_TakeInventory("Firing",1)
    SPID I 3
    SPID I 15 A_Pain
    goto See
  Pain.SewUpYou:
  Pain.BuildFriendDamage:
  Pain.CCardsPoison:
  Pain.CCSpider:
  Pain.Normal:
  Pain.RGAFire:
  Pain.RevenantBall:
  Pain.Ice:
  Pain.Step:
  Pain.Telefrag:
  Pain.Fire:
  Pain.Crush:
    SPID I 0
    //SPID I 0 A_Jump(71,2)
    //SPID I 0 A_JumpIfInventory("Firing",1,"PainFiring.Crush")
    SPID I 0 A_TakeInventory("Firing",1)
    SPID I 3
    SPID I 3 A_Pain
    goto See
  PainFiring.Crush:
    SPID T 0
	SPID T 0 BRIGHT A_ChangeFlag("NOPAIN",1)
    SPID T 2 BRIGHT
    SPID U 0 BRIGHT A_PlayWeaponSound("aa12/fire")
    SPID U 2 BRIGHT A_CustomBulletAttack(35, 10, 2, 6, "MonsterBulletPuff", 3072, FBF_NORANDOM)
	SPID U 0 BRIGHT A_ChangeFlag("NOPAIN",0)
    SPID T 2 BRIGHT A_Pain
    SPID U 0 BRIGHT A_PlayWeaponSound("aa12/fire")
    SPID U 2 BRIGHT A_CustomBulletAttack(35, 10, 2, 6, "MonsterBulletPuff", 3072, FBF_NORANDOM)
    SPID T 2 BRIGHT
    SPID T 0 BRIGHT A_Jump(63,"See","PainFiringMore")
    SPID T 0 BRIGHT A_MonsterRefire(20,"See")
    goto Missile+1
  Pain.Shotgungib:
  Pain.Shotgun:
    SPID I 0
    SPID I 0 A_Jump(143,2)
    SPID I 0 A_GiveToTarget("CyberXP",1)
    SPID I 0 A_Jump(71,2)
    SPID I 0 A_JumpIfInventory("Firing",1,"PainFiring.Shotgun")
    SPID I 0 A_TakeInventory("Firing",1)
    SPID I 3
    SPID I 3 A_Pain
    goto See
  PainFiring.Shotgun:
    SPID T 0
	SPID T 0 BRIGHT A_ChangeFlag("NOPAIN",1)
    SPID T 2 BRIGHT
    SPID U 0 BRIGHT A_PlayWeaponSound("aa12/fire")
    SPID U 2 BRIGHT A_CustomBulletAttack(35, 10, 2, 6, "MonsterBulletPuff", 3072, FBF_NORANDOM)
	SPID U 0 BRIGHT A_ChangeFlag("NOPAIN",0)
    SPID T 2 BRIGHT A_Pain
    SPID U 0 BRIGHT A_PlayWeaponSound("aa12/fire")
    SPID U 2 BRIGHT A_CustomBulletAttack(35, 10, 2, 6, "MonsterBulletPuff", 3072, FBF_NORANDOM)
    SPID T 2 BRIGHT
    SPID T 0 BRIGHT A_Jump(63,"See","PainFiringMore")
    SPID T 0 BRIGHT A_MonsterRefire(20,"See")
    goto Missile+1
  Pain.Dragonsplosion:
  Pain.DragonF:
  Pain.Dragon:
    SPID I 0
    SPID I 0 A_Jump(179,2)
    SPID I 0 A_GiveToTarget("CyberXP",1)
    SPID I 0 A_Jump(71,2)
    SPID I 0 A_JumpIfInventory("Firing",1,"PainFiring.Dragon")
    SPID I 0 A_TakeInventory("Firing",1)
    SPID I 3
    SPID I 3 A_Pain
    goto See
  PainFiring.Dragon:
    SPID T 0
	SPID T 0 BRIGHT A_ChangeFlag("NOPAIN",1)
    SPID T 2 BRIGHT
    SPID U 0 BRIGHT A_PlayWeaponSound("aa12/fire")
    SPID U 2 BRIGHT A_CustomBulletAttack(35, 10, 2, 6, "MonsterBulletPuff", 3072, FBF_NORANDOM)
	SPID U 0 BRIGHT A_ChangeFlag("NOPAIN",0)
    SPID T 2 BRIGHT A_Pain
    SPID U 0 BRIGHT A_PlayWeaponSound("aa12/fire")
    SPID U 2 BRIGHT A_CustomBulletAttack(35, 10, 2, 6, "MonsterBulletPuff", 3072, FBF_NORANDOM)
    SPID T 2 BRIGHT
    SPID T 0 BRIGHT A_Jump(63,"See","PainFiringMore")
    SPID T 0 BRIGHT A_MonsterRefire(20,"See")
    goto Missile+1
  Death.Ice:
  Death:
  XDeath:
	SPID J 0
	SPID I 0 A_GiveToTarget("RandomKillstreak",1)
	SPID J 0 A_ChangeFlag("NOPAIN",0)
    SPID J 20 A_Scream
    SPID K 10
    SPID K 0 Radius_Quake(2,80,0,7,0)
    SPID LLMMNN 5 BRIGHT A_SpawnItemEx("ExplosionMain",random(-30,30),random(-30,30),random(20,60),0,0,0,0,128,80)
    SPID O 0 BRIGHT A_NoBlocking
    SPID OOPPQQ 5 BRIGHT A_SpawnItemEx("ExplosionMain",random(-45,45),random(-45,45),random(0,40),0,0,0,0,128,64)
    SPID RRRR 0 BRIGHT A_SpawnItemEx("ExplosionMain",random(-45,45),random(-45,45),random(0,40),0,0,0,0,128,64)
    SPID R 10
    SPID S 30
    SPID S -1 A_KillMaster
    Stop
  }
}

actor ArachnidOverlord : SpiderMastermind_2
{
  Health 5250
  Radius 100
  Height 100
  Mass 2000
  Speed 12
  PainChance 25
  PainChance "Sniper", 50
  PainChance "Cyber", 80
  PainChance "Shotgungib", 16
  PainChance "Shotgun", 16
  PainChance "Dragon", 3
  PainChance "DragonF", 3
  PainChance "Dragonsplosion", 3
  PainChance "RGAFire", 3
  PainChance "Explosion", 26
  PainChance "ExplosionF", 26
  PainChance "ExplosionC", 26
  PainChance "NormalExplode", 26
  PainChance "Knife", 255
  PainChance "SewUpYou", 33
  PainChance "BuildFriendDamage", 33
  PainChance "ISABELLESROMANTICLOVE", 33
  MONSTER
  +FLOORCLIP
  +BOSS
  -NORADIUSDMG
  //+QUICKTORETALIATE
  +BOSSDEATH
  +NOICEDEATH
  SeeSound "spider2/sight"
  PainSound "spider/pain"
  DeathSound "spider2/death"
  ActiveSound "spider/active"
  Obituary "%o rightfully feared the arachnid overlord."
  Species "SpiderBoss2"
  DamageFactor "Explosion", 2.0
  DamageFactor "ExplosionF", 3.0
  DamageFactor "ExplosionC", 2.0
  DamageFactor "NormalExplode", 1.4
  DamageFactor "Cyber", 3.64//3.44
  DamageFactor "Sniper", 1.15
  DamageFactor "Dragon", 0.6
  DamageFactor "DragonF", 0.9
  DamageFactor "Dragonsplosion", 0.5
  DamageFactor "RGAFire", 0.8//0.6
  DamageFactor "BuildFriendDamage", 1.4
  DamageFactor "SewUpYou", 1.4
  DropItem "Soulsphere3"
  Tag "Arachnid Overlord"
  States
  {
  Spawn:
    DEMO A 0
    DEMO A 0 A_CheckFlag("Friendly",2)
    DEMO A 0 Thing_SetSpecial(0,226,613,0,random(100,125))
	CYBR A 0 A_GiveInventory("TargetIsAMastermind",1)
    DEMO A 35
  Idle:
    DEMO A 10 A_Look
    Loop
  See:
    DEMO A 0 A_PlaySound("spider/walk")
    DEMO AABB 3 A_Chase("","Missile")
    DEMO C 0 A_PlaySound("spider/walk")
    DEMO CCDD 3 A_Chase("","Missile")
    DEMO E 0 A_PlaySound("spider/walk")
    DEMO EE 3 A_Chase("","Missile")
    DEMO FF 3 A_Chase
    DEMO A 0 A_PlaySound("spider/walk")
    DEMO AABB 3 A_Chase("","Missile")
    DEMO C 0 A_PlaySound("spider/walk")
    DEMO CCDD 3 A_Chase("","Missile")
    DEMO E 0 A_PlaySound("spider/walk")
    DEMO EE 3 A_Chase("","Missile")
    DEMO FF 3 A_Chase
    DEMO F 0 A_SpawnItemEx("SpiderStepDamage",0,0,40,0,0,0,0,0,0)
    loop
  Melee:
  Missile:
    DEMO A 0 A_Jump(79,"Missile2")
  Missile1:
    DEMO A 10 A_FaceTarget
    DEMO H 0 BRIGHT A_FaceTarget
    DEMO H 0 BRIGHT A_PlayWeaponSound("ranger/fire")
    DEMO H 2 BRIGHT A_CustomBulletAttack(17.5, 5, 3, 8, "MonsterBulletPuff", 3072, FBF_NORANDOM)
    DEMO G 0 BRIGHT A_PlaySoundEx("ranger/fire","SoundSlot6")
    DEMO G 2 BRIGHT A_FaceTarget
    DEMO H 0 BRIGHT A_PlayWeaponSound("ranger/fire")
    DEMO H 2 BRIGHT A_CustomBulletAttack(17.5, 5, 3, 8, "MonsterBulletPuff", 3072, FBF_NORANDOM)
    DEMO G 0 BRIGHT A_PlaySoundEx("ranger/fire","SoundSlot6")
    DEMO G 2 BRIGHT A_FaceTarget
    DEMO G 0 BRIGHT A_MonsterRefire(20,"See")
    DEMO G 0 BRIGHT A_Jump(7,"Missile2")
    goto Missile1+1
  Missile2:
    DEMO A 6 A_PlaySound("weapons/bfgf2")
    DEMO AAAAI 6 A_FaceTarget
    DEMO I 6 BRIGHT A_FaceTarget
    DEMO J 9 BRIGHT A_CustomMissile("SpiderBFGBall",36,0,random(-475,475)/100.00,0,random(-166,167)/100.00)
    DEMO I 6 BRIGHT A_MonsterRefire(20,"See")
    DEMO I 0 BRIGHT A_Jump(15,"Missile1")
    Goto Missile2+7
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    DEMO K 0
    DEMO K 4 A_GiveToTarget("CyberXP2",1)
    DEMO K 20 A_Pain
    goto See
  Pain:
    DEMO K 0
    DEMO K 0 A_Jump(127,2)
    DEMO K 4 A_GiveToTarget("CyberXP",1)
    DEMO K 4 A_Pain
    goto See
  Pain.DeathExplosionCard:
  Pain.NormalExplode:
  Pain.Stun3:
  Pain.Stun2:
  Pain.Stun:
    DEMO K 4
    DEMO K 20 A_Pain
    goto See
  Pain.SewUpYou:
  Pain.BuildFriendDamage:
  Pain.CCardsPoison:
  Pain.CCSpider:
  Pain.Normal:
  Pain.Cyber:
  Pain.RGAFire:
  Pain.RevenantBall:
  Pain.Ice:
  Pain.Step:
  Pain.Telefrag:
  Pain.Fire:
  Pain.Crush:
    DEMO K 4
    DEMO K 4 A_Pain
    goto See
  Pain.Shotgungib:
  Pain.Shotgun:
    DEMO K 0
    DEMO K 0 A_Jump(123,2)
    DEMO K 0 A_GiveToTarget("CyberXP",1)
    DEMO K 4
    DEMO K 4 A_Pain
    goto See
  Pain.Dragonsplosion:
  Pain.DragonF:
  Pain.Dragon:
    DEMO K 0
    DEMO K 0 A_Jump(171,2)
    DEMO K 0 A_GiveToTarget("CyberXP",1)
    DEMO K 4
    DEMO K 4 A_Pain
    goto See
  Death.Ice:
  Death:
  XDeath:
    SPID I 0 A_GiveToTarget("RandomKillstreak",1)
    DEMO L 20 A_Scream
    DEMO M 10
    DEMO M 0 Radius_Quake(2,80,0,7,0)
    DEMO NNOOPP 5 BRIGHT A_SpawnItemEx("ExplosionMain",random(-30,30),random(-30,30),random(20,60),0,0,0,0,128,80)
    DEMO Q 0 BRIGHT A_NoBlocking
    DEMO QQRRSS 5 BRIGHT A_SpawnItemEx("ExplosionMain",random(-45,45),random(-45,45),random(0,40),0,0,0,0,128,64)
    DEMO TTTT 0 BRIGHT A_SpawnItemEx("ExplosionMain",random(-45,45),random(-45,45),random(0,40),0,0,0,0,128,64)
    DEMO T 10
    DEMO U 30
    DEMO U -1 A_KillMaster
    Stop
  }
}

actor SpiderBFGBall
{
  RenderStyle Add
  alpha 0.9
  Radius 10
  Height 8
  Speed 25
  Damage (25)
  SeeSound "bfg/fire"
  DeathSound "bfg/explode1"
  PROJECTILE
  -DONTHURTSPECIES
  +EXTREMEDEATH
  +FORCERADIUSDMG
  +SKYEXPLODE
  +FORCEXYBILLBOARD
  damagetype "NormalExplode"
  Decal BFGLightning
  Scale 0.175
  States
  {
  Spawn:
	BFG2 AAAAA 2 BRIGHT A_SpawnItemEx("ImpactSpark2BGreen", -2, random(-4,4), random(-4,4), random(-3,-1), random(-2,2), random(-2,2), 0, 128, 64)
    loop
  Death:
    TNT1 A 0 A_RadiusThrust(160,128,RTF_NOIMPACTDAMAGE)
    TNT1 A 0 Radius_Quake(1,9,0,24,0)
    TNT1 A 0 A_SpawnItemEx("AcubusBFGBoom",0,0,0,0,0,0,0,128,0)
	TNT1 A 0 A_PlaySoundEx("distant/explosion","SoundSlot5")
	TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2BGreen", random(-24,24), random(-24,24), random(-12,18), random(-4,4), random(-4,4), random(-1,4), 0, 128, 0)
    TNT1 A 10 A_Explode(50,288,0)
    TNT1 A 15
    Stop
  }
}