//===========================================================================
//
// Arachnotron
//
//===========================================================================
ACTOR Arachnotron1: Arachnotron replaces Arachnotron
{
	Monster
	+FLOORCLIP
	+BOSSDEATH
    GibHealth 20
	Radius 48
    damagefactor "Crush", 10.0
	damagefactor "Avoid", 0.0
	damagefactor "Saw", 0.6
	SeeSound "baby/sight"
	PainSound "baby/pain"
	DeathSound "baby/death"
	ActiveSound "baby/active"
	Obituary "$OB_BABY"
    BloodType "NashGore_Blood", "BloodSPlatterReplacer", "SawBlood"
	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
	{
	Death.KillMe:
	Death.Taunt:
	    TNT1 A 0 A_ChangeFlag("SOLID", 0)
        TNT1 A 0 A_SpawnItem("Arachnotron1")
        Stop
	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 AAAA 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.Cutless:
	TNT1 A 0
	TNT1 A 0 A_Jump(128,"XDeath")
	Goto Death
	
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 ("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_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_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.Cut:
	Death.Saw:
	TNT1 AAAAA 0 A_CustomMissile ("Instestin2", 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 AAAAAAAAAAAAA 0 A_CustomMissile ("PlayerFlyingBlood", 50, 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)
Stop
    Death.Crush:
	XDeath:
		BSPI J 4
		TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_SpawnItemEx ("BarrelKaboom",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		
		TNT1 A 0 A_Jump(64, "XDeathRare")
        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 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
    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
	
	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 ("MediumBloodSpot")
        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 
	}
}

Actor EnemyPlasmaBall : PlasmaBall75
{
Damage (random(15,25))
DamageType Plasma
Speed 40
+DONTHURTSPECIES
}

Actor DeadSpider
{
    Radius 0
    Height 18
    Scale 1.3
    +SHOOTABLE
    +NOTELEPORT
    +MOVEWITHSECTOR
    +CORPSE
	-SOLID
	+THRUACTORS
	damagefactor "Crusher", 50.0
    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 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 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 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 NoLegsSpider: DeadSpider

{Scale 1.0
+NOBLOOD
Health 999999999999
States{Spawn:
        ARF2 H -1
        Stop    
     }}		


ACTOR SpiderPart1
{
    Radius 1
    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 1
    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
    }
}













ACTOR CrawlingDyingSpider
{
    Radius 12
    Height 24
    Speed 9
	Health 100
	PainSound "grunt/pain"
	damagefactor "Kick", 0.1
	damagefactor "Melee", 0.1
	damagefactor "SuperPunch", 0.1
	damagefactor "SuperKick", 0.1
	damagefactor "Extremepunches", 0.1
	PainChance "Kick", 255
	PainChance "SuperKick", 255
	PainChance "SuperPunch", 255
	PainChance "Extremepunches", 255
	PainChance 255
	damagefactor "trample", 2.0
	+SHOOTABLE
    +FLOORCLIP
	//+NOBLOCKMAP
    +LOOKALLAROUND
	+FRIGHTENED
	+SOLID
    States
    {
	
    Spawn:
	NAHC B 1 A_Look
	Goto See
    See:
		NAHC ABCD 10 A_Chase
        NAHC A 0 A_Pain
		TNT1 A 0 A_SpawnItemEx("NashGore_FlyingBlood", 0, 0, 10, 0, 0)
	    
		TNT1 A 0 A_GiveInventory("DeathTimer1", 1)
		TNT1 A 0 A_JumpIfInventory("DeathTimer1", 12, "GotoDeath")
		Loop
		
	GotoDeath:
	TNT1 A 0
	TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
	NAHC EFGH 5
	NAHC H -1
	Stop
	
		Death:
		TNT1 A 0 A_NoBlocking
		TNT1 AAAAAAAAAAAA 0 A_CustomMissile ("SmallBrainPiece", 10, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAA 0 A_CustomMissile ("XDeath1", 10, 0, random (0, 360), 2, random (0, 160))
		NAHC IJKLMN 5
		NAHC N -5
		Stop
	Pain.SuperPunch:
	Pain.SuperKick:
	Pain.Kick:
	Pain.Extremepunches:
	TNT1 A 0 A_FaceTarget
	NAHA A 1 A_Pain
	TNT1 A 0 ThrustThing(angle*256/360+128, 5, 0, 0)
	Pain.ExplosiveImpact:
	TNT1 A 0 ThrustThingZ(0,50,0,1)
	
	NAHA A 2 A_FaceTarget
	Goto Fly
	
	Fly:
	NAHA ABCDEFGH 3 A_CheckFloor("See")
	NULL A 0 A_JumpIf (momz == 0, "See")
	TNT1 A 0
	Loop
	
	}
}