actor CGSpider : Arachnotron
{
  obituary "%o was filled full of lead by an Arachnotron."
  health 550 //450

  radius 36
  height 64
  mass 600
  speed 12
  painchance 128
PainChance "Kick", 255
  seesound "CGunSpider/Sight"
  painsound "baby/pain"
  deathsound "CGunSpider/Death"
  activesound "baby/active"
  attacksound "CGunSpider/Attack"
  //dropitem "ClipBox" 64
  decal "bulletchip"
  MONSTER
	+FLOORCLIP
	+BOSSDEATH
GibHealth 20
    BloodType "ArachnotronBlood", "ArachnotronSawBlood", "ArachnotronBlood"
	damagefactor "Blood", 0.0 damagefactor "BlueBlood", 0.0 damagefactor "GreenBlood", 0.0
	Species "Spider"
	+DONTHURTSPECIES
Scale 1.1


  states
  {
  Spawn:
    CSPI AB 10 A_Look
    loop
  See:
    CSPI A 20
    CSPI A 3 A_BabyMetal
    CSPI ABBCC 3 A_Chase
    CSPI D 3 A_BabyMetal
    CSPI DEEFF 3 A_Chase
    goto See+1
 

 Missile:
CSPI A 8 A_FaceTarget
CSPI A 2 A_PlaySound("CHAINSTA",7)
//CSPI A 1 A_FaceTarget
CSPI Q 4
CSPI Q 10 A_PlaySound("CHAINSPI", 5)

 MissileContinue:
    CSPI Q 1 bright A_FaceTarget
CSPI G 1 A_CustomMissile("MonsterMinigunTracer", 24, 0, random(-3, 3), 1, random(-2, 2))
TNT1 A 0 A_CustomMissile("EnemyMinigunBrass", 30, 0, -60, 2, random(20, 55)) 
        TNT1 A 0 A_CustomMissile("EmptyBrass", 30, 0, -60, 2, random(20, 55)) //50CaseSpawn

		TNT1 A 0 A_PlaySound("FARMGN", 6)
		TNT1 A 0 A_PlaySound("CHGNSHOT", 5)

    CSPI H 1 bright //A_CPosAttack
    CSPI G 1 bright //A_CPosAttack

    CSPI H 1 bright A_CustomMissile("MonsterMinigunTracer", 24, 0, random(-3, 3), 1, random(-2, 2))
    TNT1 A 0 A_CustomMissile("EnemyMinigunBrass", 30, 0, -60, 2, random(20, 55)) 
		TNT1 A 0 A_PlaySound("FARMGN", 6)
		TNT1 A 0 A_PlaySound("CHGNSHOT", 5)


    CSPI G 1 bright //A_CPosAttack
    CSPI H 1 bright //A_CPosAttack

    CSPI G 1 bright A_CustomMissile("MonsterMinigunTracer", 24, 0, random(-3, 3), 1, random(-2, 2))
    TNT1 A 0 A_CustomMissile("EnemyMinigunBrass", 30, 0, -60, 2, random(20, 55)) 
		TNT1 A 0 A_PlaySound("FARMGN", 6)
		TNT1 A 0 A_PlaySound("CHGNSHOT", 5)

    //CSPI H 1 bright //A_CPosAttack
    //CSPI G 1 bright //A_CPosAttack

    CSPI H 1 bright A_SpidRefire
    goto MissileContinue+1

  Pain:
    CSPI I 3
    CSPI I 3 A_Pain
	TNT1 A 0 A_TakeInventory("ArachnotronChasisLastHit")
    goto See+1

Pain.Kick:
    CSPI I 6
    CSPI I 6 A_Pain
    goto See+1

Death:
		CSPI I 4 A_Scream
		TNT1 A 0 A_JumpIfInventory("ArachnotronChasisHits", 4, "CheckXDeath")
       Goto NormalDeath


  NormalDeath:
    CSPI J 20 A_Scream

TNT1 AAAAAAAAA 0 A_CustomMissile ("CeilBloodLauncherLong", 0, 0, random (0, 360), 2, random (50, 130))
		TNT1 AAAA 0 A_CustomMissile ("Guts", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAA 0 A_CustomMissile ("SmallBrainPiece", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAAA 0 A_CustomMissile ("BloodMist", 50, 0, random (0, 360), 2, random (40, 90))
        TNT1 AAA 0 A_CustomMissile ("XDeathSpiderNew1", 42, 0, random (0, 360), 2, random (40, 90))
        TNT1 AA 0 A_CustomMissile ("XDeathSpiderNew2", 42, 0, random (0, 360), 2, random (40, 90))
		TNT1 A 0 A_SpawnItem("BigBloodSpot")
    CSPI K 7 A_NoBlocking
    CSPI LMNO 7
TNT1 A 0 A_SpawnItem ("GrowingBloodPool")
   
TNT1 A 0 A_SpawnItem ("DeadSpider", 1)
		Stop

// CSPI P -1 A_BossDeath
//    stop


  Raise:
    CSPI PONMLKJ 5
    goto See+1



	CheckXDeath:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("ArachnotronChasisLastHit", 2, "dEATH.stOMP")
	NormalDeath:
		TNT1 AAAAAAAAA 0 A_CustomMissile ("CeilBloodLauncherLong", 0, 0, random (0, 360), 2, random (50, 130))
		TNT1 AAAA 0 A_CustomMissile ("Guts", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAA 0 A_CustomMissile ("SmallBrainPiece", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAAA 0 A_CustomMissile ("BloodMist", 50, 0, random (0, 360), 2, random (40, 90))
        TNT1 AAA 0 A_CustomMissile ("XDeathSpiderNew1", 42, 0, random (0, 360), 2, random (40, 90))
        TNT1 AA 0 A_CustomMissile ("XDeathSpiderNew2", 42, 0, random (0, 360), 2, random (40, 90))
		TNT1 A 0 A_SpawnItem("BigBloodSpot")
		BSPI K 6 A_NoBlocking
		BSPI LMNO 8
		BSPI P 1 A_BossDeath
		TNT1 A 0 A_SpawnItem ("GrowingBloodPool")
        TNT1 A 0 A_SpawnItem ("DeadSpider", 1)
		Stop
		
	
	
	Death.SuperPlasma:
    Death.Plasma: Death.Plasma2:
        TNT1 A 0 A_BossDeath
		TNT1 A 0 A_BossDeath
        TNT1 A 0 A_Scream
        TNT1 A 0 A_NoBlocking
        TNT1 AAA 0 A_CustomMissile ("Brutal_FlyingBlood", 50, 0, random (0, 360), 2, random (0, 160))
	    TNT1 AA 0 A_CustomMissile ("XDeathBurnedMeat3", 32, 0, random (0, 360), 2, random (0, 160))
		EXPL AAAAAA 0 A_CustomMissile ("ExplosionSmoke", 32, 0, random (0, 360), 2, random (0, 360))
        CARB KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK 7 A_CustomMissile ("PlasmaSmoke", 15, 0, random (0, 360), 2, random (70, 110))
        CARB K -1
        Stop
		
		Death.Fire:
        TNT1 A 0
		TNT1 A 0 A_BossDeath
		TNT1 A 0 A_Scream
        TNT1 A 0 A_NoBlocking
		TNT1 AAA 0 A_CustomMissile ("PEPart2", 32, 0, random (0, 360), 2, random (0, 160))
		BSPI LLLL 2 A_CustomMissile ("FlameTrails", 45, 0, random (0, 360), 2, random (50, 130))
		BSPI MMMM 2 A_CustomMissile ("FlameTrails", 30, 0, random (0, 360), 2, random (50, 130))
		BSPI NNNN 2 A_CustomMissile ("FlameTrails", 25, 0, random (0, 360), 2, random (50, 130))
		BSPI OOOO 2 A_CustomMissile ("FlameTrails", 25, 0, random (0, 360), 2, random (50, 130))
        TNT1 A 0 A_Playsound("props/redfire")
		Goto Burns
	Burns:
	    TNT1 A 0
		TNT1 A 0 A_GiveInventory("BrutalCounter")
	    CARB KK 2 A_SpawnItem("YellowFlare",0,20)
        ID22 F 0 A_CustomMissile ("FlameTrails", 20, 0, random (0, 360), 2, random (70, 110))
		CARB KK 2 A_SpawnItem("YellowFlare",0,20)
		ID22 F 0 A_CustomMissile ("FlameTrails", 20, 0, random (0, 360), 2, random (70, 110))
		ID22 F 0 A_CustomMissile ("PlasmaSmoke", 30, 0, random (0, 360), 2, random (70, 110))
        TNT1 A 0 A_JumpIfInventory("BrutalCounter", 30, "Smokes")
		Loop
	Smokes:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("BrutalCounter", 60, "Rest")
		TNT1 A 0 A_GiveInventory("BrutalCounter")
	    CARB K 5 A_CustomMissile ("PlasmaSmoke", 30, 0, random (0, 360), 2, random (70, 110))
        Loop	
	Rest:	
		CARB K -1
        Stop

    Death.Fatality:
	    TNT1 A 0
		TNT1 A 0 A_Pain
		TNT1 A 0 A_JumpIfIntargetInventory("FistsSelected", 1, 1)
		Goto Death
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("Cell", 0, 0, 40, 0, 0, 0, 0, 0, 128)
		TNT1 AA 0 A_SpawnItemEx("HealthCrueltyBonus2", 0, 0, 32, random (-2.5, 2.5), random (-2.5, 2.5), 5)
		TNT1 AA 0 A_SpawnItemEx("ArmorCrueltyBonus2", 0, 0, 32, random (-2.5, 2.5), random (-2.5, 2.5), 5)
	    TNT1 A 0 A_Jump(128, "Death.Fatality2")
	    TNT1 A 0 A_GiveToTarget("GoFatality", 1)
        TNT1 A 0 A_GiveToTarget("ArachnotronFatality", 1)
        TNT1 A 1 A_BossDeath
        TNT1 A 0 
		Stop
	Death.Fatality2:	
	TNT1 A 0 A_GiveToTarget("GoFatality", 1)
        TNT1 A 0 A_GiveToTarget("ArachnotronFatality2", 1)
        TNT1 A 1 A_BossDeath
        TNT1 A 0 
		Stop

		Death.Saw:
TNT1 AA 0 A_SpawnItemEx("ArmorCrueltyBonus2", 0, 0, 32, random (-2.5, 2.5), random (-2.5, 2.5), 5)
TNT1 AA 0 A_SpawnItemEx("HealthCrueltyBonus2", 0, 0, 12, random (-2.5, 2.5), random (-2.5, 2.5), 5)
	TNT1 AAAAAAAAA 0 A_CustomMissile ("CeilBloodLauncherLong", 0, 0, random (0, 360), 2, random (50, 130))
		TNT1 AAAA 0 A_CustomMissile ("Guts", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAA 0 A_CustomMissile ("SmallBrainPiece", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAAA 0 A_CustomMissile ("BloodMist", 50, 0, random (0, 360), 2, random (40, 90))
        TNT1 AAA 0 A_CustomMissile ("XDeathSpiderNew1", 42, 0, random (0, 360), 2, random (40, 90))
        TNT1 AA 0 A_CustomMissile ("XDeathSpiderNew2", 42, 0, random (0, 360), 2, random (40, 90))
		TNT1 A 0 A_SpawnItem("BigBloodSpot")
		BSPI K 6 A_NoBlocking
		BSPI LMNO 8
		BSPI P 1 A_BossDeath
		TNT1 A 0 A_SpawnItem ("GrowingBloodPool")
        TNT1 A 0 A_SpawnItem ("DeadSpider", 1)
		Stop


    Death.Cut:
TNT1 A 0 A_Jump(128, "Death.Saw")
	TNT1 AAAAA 0 A_CustomMissile ("Guts2", 14, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAA 0 A_CustomMissile ("CeilBloodLauncher", 40, 0, random (0, 360), 2, random (50, 130))
         TNT1 AAAAA 0 A_CustomMissile ("XDeath1", 10, 0, random (0, 360), 2, random (0, 160))
         TNT1 AAAAA 0 A_CustomMissile ("XDeath2", 10, 0, random (0, 360), 2, random (0, 160))
        TNT1 A 0 A_CustomMissile ("XDeathArachnotronHead", 50, 0, random (0, 360), 2, random (40, 130))
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		ARF2 F 16
		ARF2 G 8
		TNT1 A 0 A_SpawnItemEx("NoLegsSpider", 0, 1, 1, 1, 1)
TNT1 AA 0 A_SpawnItemEx("ArmorCrueltyBonus2", 0, 0, 32, random (-2.5, 2.5), random (-2.5, 2.5), 5)

		Stop
		
	
	Death.Stomp:
		TNT1 A 0
		ARXD ABCD 4
	XDeath:
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_SpawnItemEx ("DetectFloorCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 AAA 0 A_CustomMissile ("BDExplosionparticles", 0, 0, random (0, 360), 2, random (40, 90))
		TNT1 AA 0 A_CustomMissile ("BDExplosionparticles2", 0, 0, random (0, 360), 2, random (40, 90))
		TNT1 AA 0 A_CustomMissile ("BDExplosionparticles3", 10, 0, random (0, 360), 2, random (40, 90))
		TNT1 AAA 0 A_CustomMissile ("MediumExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
        EXPL A 0 A_CustomMissile ("BigNeoSmoke", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_SpawnItem ("SplatteredLarge")
		
        TNT1 AA 0 A_CustomMissile ("SpiderLeg", 32, 0, random (0, 360), 2, random (0, 160))
        TNT1 AAAAAAAAA 0 A_CustomMissile ("CeilBloodLauncherLong", 0, 0, random (0, 360), 2, random (50, 130))
		TNT1 AAAA 0 A_CustomMissile ("Guts", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAAAAAA 0 A_CustomMissile ("SmallBrainPiece", 32, 0, random (0, 360), 2, random (0, 160))
        TNT1 AAAAAAAA 0 A_CustomMissile ("SpiderPart1", 32, 0, random (0, 360), 2, random (0, 160))
        TNT1 AAAA 0 A_CustomMissile ("XDeathSpiderNew1", 32, 0, random (0, 360), 2, random (60, 90))
        TNT1 AAA 0 A_CustomMissile ("XDeathSpiderNew2", 32, 0, random (0, 360), 2, random (60, 90))
        TNT1 AAA 0 A_CustomMissile ("PEPart2", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAAA 0 A_CustomMissile ("BloodMistExtraBig", 50, 0, random (0, 360), 2, random (40, 90))
		ARXD I 1 A_BossDeath
        TNT1 A 0 A_SpawnItem ("XDeadSpider", 1)
        Goto XBurns
	XBurns:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("BrutalCounter", 20, "XSmokes")
		TNT1 A 0 A_GiveInventory("BrutalCounter")
	    TNT1 DD 2 A_SpawnItem("YellowFlare",0,20)
        ID22 F 0 A_CustomMissile ("FlameTrails", 20, 0, random (0, 360), 2, random (70, 110))
		TNT1 DD 2 A_SpawnItem("YellowFlare",0,20)
		XBSP D 0 A_CustomMissile ("FlameTrails", 20, 0, random (0, 360), 2, random (70, 110))
		XBSP D 0 A_CustomMissile ("PlasmaSmoke", 30, 0, random (0, 360), 2, random (70, 110))
        Loop
	XSmokes:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("BrutalCounter", 100, "XRest")
		TNT1 A 0 A_GiveInventory("BrutalCounter")
	    TNT1 D 5 A_CustomMissile ("PlasmaSmoke", 40, 0, random (0, 360), 2, random (70, 110))
        Loop	
	XRest:	
		TNT1 A 0
        Stop

   Crush:
		TNT1 A 0
		TNT1 AAAAA 0 A_CustomMissile ("Brutal_FlyingBloodTrail8", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 AAAA 0 A_SpawnItemEx ("BodyRemovalThing",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 1 A_XScream
		Stop
	
	XDeathRare:
		TNT1 A 0 A_CustomMissile ("XDeathArachnotronHead", 50, 0, random (0, 360), 2, random (40, 130))
         TNT1 AA 0 A_CustomMissile ("SpiderLeg", 32, 0, random (0, 360), 2, random (0, 160))
         TNT1 AAAAAAAAA 0 A_CustomMissile ("CeilBloodLauncherLong", 0, 0, random (0, 360), 2, random (50, 130))
		 XBSP A 6 A_NoBlocking
		XBSP BCD 6
		XBSP D 1 A_BossDeath
		TNT1 A 0 A_SpawnItem ("GrowingBloodPool")
        TNT1 A 0 A_SpawnItem ("XDeadSpider", 1)
       Goto XBurns
	   
	  Death.Ice:
	Death.Freeze:
	Death.Frost:
	TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
	TNT1 A 0 A_ChangeFlag("SOLID", 0)
	TNT1 A 0 A_SpawnItem("FrozenArachnotron")
	Stop 
	
	Death.Massacre:
	Goto Death
	
	Raise:
    BSPI P 5
    BSPI ONMLKJ 5
    Goto See+1



  }
}
