//===========================================================================
//
// Arachnotron
//
//===========================================================================
ACTOR Arachnotron1: Arachnotron replaces Arachnotron
{
	Monster
	+FLOORCLIP
	+BOSSDEATH
    GibHealth 20
    damagefactor "Crush", 10.0
	SeeSound "baby/sight"
	PainSound "baby/pain"
	DeathSound "baby/death"
	ActiveSound "baby/active"
	Obituary "$OB_BABY"
    BloodType "NashGore_Blood"
	MaxStepHeight 24
	DropItem "Berserker" 5
	MaxDropOffHeight 24
	PainChance "Kick", 255
damagefactor "Blood", 0.0 damagefactor "BlueBlood", 0.0 damagefactor "GreenBlood", 0.0
    Damage 25
	Speed 7
+DONTHURTSPECIES
    Scale 1.3
	States
	{
	Spawn:
		BSPI A 10 A_Look
		Loop
	See:
        TNT1 A 0 A_SpawnItemEx("FootStep", 0, 0, 20, 0, 0)
		BSPI A 1 A_BabyMetal
		BSPI AABBBCCC 1 A_Chase("", "")
		BSPI D 1 A_BabyMetal
		BSPI DDDEEEFFF 1 A_Chase
		Goto See+1
	Missile:
		BSPI A 20 BRIGHT A_FaceTarget
        TNT1 AAAAAAAA 0
		BSPI G 4 BRIGHT A_CustomMissile("EnemyPlasmaBall",45,0,0,0)
		BSPI H 4 BRIGHT
		BSPI H 1 BRIGHT A_SpidRefire
		Goto Missile+5

	Pain:
		BSPI I 3
		BSPI I 3 A_Pain
		Goto See+1

	Pain.Kick:
        TNT1 A 0 A_FaceTarget
		BSPI I 6
		BSPI I 6 A_Pain
		Goto See+1
	Death:
		BSPI J 8 A_Scream
         TNT1 AAAAAAAAA 0 A_CustomMissile ("CeilBloodLauncherLong", 0, 0, random (0, 360), 2, random (50, 130))
		 TNT1 AAA 0 A_CustomMissile ("Instestin", 32, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAA 0 A_CustomMissile ("XDeathBrain1", 32, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAA 0 A_CustomMissile ("XDeathBrain2", 32, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("NashGore_FlyingBlood", 32, 0, random (0, 360), 2, random (0, 160))
        TNT1 AAA 0 A_CustomMissile ("SpiderPart1", 32, 0, random (0, 360), 2, random (0, 160))
        TNT1 AA 0 A_CustomMissile ("SpiderPart2", 32, 0, random (0, 360), 2, random (0, 160))
		BSPI K 6 A_NoBlocking
		BSPI LMNO 8
		BSPI P 1 A_BossDeath
		TNT1 A 0 A_SpawnItem ("MediumBloodSpot")
        TNT1 A 0 A_SpawnItem ("DeadSpider", 1)
        Stop

    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 ("Nashgore_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_JumpIfInventory("BrutalCounter", 30, "Smokes")
		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))
        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 A_GiveToTarget("ArachnotronFatality", 1)
        TNT1 A 1 A_BossDeath
        TNT1 A 0 
		Stop

	XDeath:
		BSPI J 4
        TNT1 AAAAA 0 A_CustomMissile ("SuperGoreSpawner", 10, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAAAAAAAA 0 A_CustomMissile ("SuperGoreSpawner", 0, 0, random (0, 180), 2, random (0, 180))
        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 ("Instestin", 32, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAAAAA 0 A_CustomMissile ("XDeathBrain1", 32, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAAAAAA 0 A_CustomMissile ("XDeathBrain2", 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 AA 0 A_CustomMissile ("SpiderPart2", 32, 0, random (0, 360), 2, random (0, 160))
        TNT1 AAA 0 A_CustomMissile ("PEPart2", 32, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAAAA 0 A_CustomMissile ("NashGore_FlyingBlood", 32, 0, random (0, 360), 2, random (0, 160))
		XBSP A 6 A_NoBlocking
		XBSP BCD 6
		XBSP D 1 A_BossDeath
		TNT1 A 0 A_SpawnItem ("MediumBloodSpot")
        TNT1 A 0 A_SpawnItem ("XDeadSpider", 1)
        		Goto Burns
	Burns:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("BrutalCounter", 20, "Smokes")
		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
	Smokes:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("BrutalCounter", 100, "Rest")
		TNT1 A 0 A_GiveInventory("BrutalCounter")
	    TNT1 D 5 A_CustomMissile ("PlasmaSmoke", 40, 0, random (0, 360), 2, random (70, 110))
        Loop	
	Rest:	
		TNT1 A 0
        Stop
    Raise:
		BSPI P 5
		BSPI ONMLKJ 5
		Goto See+1
    Crush:
        TNT1 A 0 A_PlaySound("misc/xdeath4")
        CRS3 A 5 A_BossDeath
        CRS3 A -1
        Stop
	}
}

Actor EnemyPlasmaBall : PlasmaBall75
{
Damage 4
DamageType Plasma
Speed 40
+DONTHURTSPECIES
}

Actor DeadSpider
{
    Radius 12
    Height 18
    Scale 1.3
    +SHOOTABLE
    -SOLID
    +NOTELEPORT
    +MOVEWITHSECTOR
    +CORPSE
    Mass 1000
    Health 100
    damagefactor "Blood", 0.0
    damagefactor "Trample", 0.0
States
    {
    Spawn:
		BSPI P -1
        Stop
	Raise:
		BSPI P 5
		BSPI ONMLKJ 5
        TNT1 A 0 A_SpawnItem ("Arachnotron1", 3)
		Stop
	Death.Cut:
	Death.Cutless:
    Death:
  	    TNT1 AAAA 0 A_CustomMissile ("BloodSplasher", 0, 0, random (0, 360), 2, random (0, 160))		 TNT1 AAA 0 A_CustomMissile ("XDeath1", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath2", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath3", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath4", 5, 0, random (0, 360), 2, random (0, 160))
         Stop}}

Actor XDeadSpider: DeadSpider
{Scale 1.0
Health 200 States{Spawn:
        XBSP D -1
        Stop    
       Death.Cut:        Death.Cutless:	        Death:
  	    TNT1 AAAA 0 A_CustomMissile ("BloodSplasher", 0, 0, random (0, 360), 2, random (0, 160))		 TNT1 AAA 0 A_CustomMissile ("XDeath1", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath2", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath3", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath4", 5, 0, random (0, 360), 2, random (0, 160))
		Stop}}


Actor RapedArachnotron: DeadSpider

{Scale 1.0
Health 200 States{Spawn:
        ARF1 O -1
        Stop    
       Death.Cut:        Death.Cutless:	        Death:
  	    TNT1 AAAA 0 A_CustomMissile ("BloodSplasher", 0, 0, random (0, 360), 2, random (0, 160))		 TNT1 AAA 0 A_CustomMissile ("XDeath1", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath2", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath3", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAA 0 A_CustomMissile ("XDeath4", 5, 0, random (0, 360), 2, random (0, 160))
		Stop}}


ACTOR SpiderPart1
{
    Radius 8
    Height 8
    Speed 12
    Scale 1.3
	Mass 1
    +NOBLOCKMAP
	+MISSILE
    +NOTELEPORT
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    +RIPPER
    +BLOODLESSIMPACT 
damagetype Blood
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath1"
	Decal BloodSuper
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        ID22 ABCD 2 A_CustomMissile("BloodTrails",0,0,180,2)
        Loop
    Death:
        ID22 E 1 A_SpawnItem("NashGore_BloodSpot",0,0,0,1)
        ID22 E -1
        Stop
        TNT1 A 1
     Splash:
        TNT1 A 0
        Stop
    }
}


ACTOR SpiderPart2
{
    Radius 8
    Height 8
    Speed 12
    Scale 2.0
	Mass 1
    +NOBLOCKMAP
	+MISSILE
    +NOTELEPORT
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    +RIPPER
    +BLOODLESSIMPACT 
    +DOOMBOUNCE
    BounceFactor 0.5
damagetype Blood
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath1"
	Decal BloodSuper
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        ID22 ABCD 2 A_CustomMissile("BloodTrails",0,0,180,2)
        Loop
    Death:
        ID22 F 1 A_SpawnItem("NashGore_BloodSpot",0,0,0,1)
        ID22 F -1
        Stop
        TNT1 A 1
     Splash:
        TNT1 A 0
        Stop
    }
}