actor lilspider : Arachnotron replaces arachnotron
{
 	SeeSound "lilspider/see"
	PainSound "lilspider/pain"
	ActiveSound "lilspider/idle"
	DeathSound "lilspider/die"
	Obituary  "%o had a spider-laser induced seizure"

	var int user_KrangCharge;
	states
	{
	Spawn:
		BSPI AB 10 A_Look
		Loop	
	See:
		BSPI A 20
		BSPI A 3 a_playsound ("lilspider/walk")
		BSPI ABBCC 3 A_Chase
		BSPI D 3 a_playsound ("lilspider/walk")
		BSPI DEEFF 3 A_Chase
		Goto See+1	
	Missile:
		BSPI A 20 Bright A_FaceTarget
		TNT1 A 0 a_jumpifcloser (250,"CloseBeamCharge")
		TNT1 A 0 a_playsound ("lilspider/Shoot",CHAN_VOICE)
		BSPI G 4 Bright A_BspiAttack
		BSPI H 4 Bright
		BSPI H 1 Bright A_MonsterRefire (10,"see")
		TNT1 A 0 a_setuservar("user_KrangCharge", user_KrangCharge+1)
		TNT1 A 0 a_jumpif (user_KrangCharge >= 25, "SuperShotWindUp")
		TNT1 A 0 A_MonsterRefire (3,"SuperShotWindup")
		Goto Missile+1
	CloseBeamCharge:
		TNT1 A 0 A_playsound ("lilspider/see",0)
		BSPI G 4 bright a_facetarget
		TNT1 AA 0 a_spawnitemex ("spidercharge",Frandom(-4,4),Frandom(-4,4),25,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		TNT1 A 0 a_setuservar("user_KrangCharge", user_KrangCharge+1)
		TNT1 A 0 a_jumpif (user_KrangCharge >= 9, "CloseBeam")
		Goto CloseBeamCharge+1
	CloseBeam:
		TNT1 A 0 a_setuservar("user_KrangCharge",0)
		BSPI G 2 bright a_facetarget
		TNT1 A 0 a_custommissile ("MalefactorsDoubleShot",28,-9,0,CMF_AIMOFFSET)
		TNT1 A 0 a_playsound ("lilspider/DoubleShot",CHAN_VOICE)
		BSPI H 2 bright a_custommissile ("MalefactorsDoubleShot",28,9,0,CMF_AIMOFFSET)
		BSPI G 7 bright a_facetarget

		TNT1 A 0 a_custommissile ("MalefactorsDoubleShot",28,-9,0,CMF_AIMOFFSET)
		TNT1 A 0 a_playsound ("lilspider/DoubleShot",CHAN_VOICE)
		BSPI H 2 bright a_custommissile ("MalefactorsDoubleShot",28,9,0,CMF_AIMOFFSET)
		BSPI G 7 bright a_facetarget

		TNT1 A 0 a_custommissile ("MalefactorsDoubleShot",28,-9,0,CMF_AIMOFFSET)
		TNT1 A 0 a_playsound ("lilspider/DoubleShot",CHAN_VOICE)
		BSPI H 2 bright a_custommissile ("MalefactorsDoubleShot",28,9,0,CMF_AIMOFFSET)
		BSPI G 7 bright a_facetarget

		TNT1 A 0 a_custommissile ("MalefactorsDoubleShot",28,-9,0,CMF_AIMOFFSET)
		TNT1 A 0 a_playsound ("lilspider/DoubleShot",CHAN_VOICE)
		BSPI H 2 bright a_custommissile ("MalefactorsDoubleShot",28,9,0,CMF_AIMOFFSET)
		BSPI G 7 bright a_facetarget
		goto see+1
	SuperShotWindup:
		TNT1 A 0 a_setuservar("user_KrangCharge",0)
		TNT1 A 0 A_playsound ("lilspider/see",0)
		TNT1 A 0 A_playsound ("Lilspider/ChargeUp",CHAN_VOICE,1,0,0.60)
		BSPI G 4 bright a_facetarget
		TNT1 AAAA 0 a_spawnitemex ("spidercharge",Frandom(-4,4),Frandom(-4,4),25,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		TNT1 A 0 a_setuservar("user_KrangCharge", user_KrangCharge+1)
		TNT1 A 0 a_jumpif (user_KrangCharge >= 12, "SuperShot")
		Goto SuperShotWindup+3
	SuperShot:
		TNT1 A 0
		BSPI G 4 bright a_facetarget
		BSPI G 2 bright a_facetarget
		TNT1 A 0 a_setuservar("user_KrangCharge",0)
		TNT1 A 0 a_playsound ("lilspider/SuperPlasmaShot",CHAN_VOICE)
		BSPI G 4 Bright a_custommissile ("MalefactorsKrangBeam",28)
		BSPI H 4 Bright
		BSPI H 1 Bright 
		goto see+1
	Pain:
		BSPI I 3
		TNT1 A 0 a_setuservar("user_KrangCharge",0)
		BSPI I 3 A_Pain
		Goto See+1
	Death:
		BSPI I 19 a_facetarget
		TNT1 A 0 a_setuservar("user_KrangCharge",0)
		BSPI I 1 A_Scream
		BSPI I 9
		BSPI J 2 A_NoBlocking
		TNT1 AAA 0 a_spawnitemex("CAXblood",0,0,10,random(-7,7),random(-6,6),random(10,12))
		TNT1 AAA 0 a_spawnitemex("CAXblood",0,0,10,random(-8,8),random(-10,10),random(9,14))
    	TNT1 A 0 BRIGHT a_spawnitemex("CAMonsterBlud",0,0,0,random(-3,8),random(-6,8),random(10,12))
    	TNT1 A 0 BRIGHT a_spawnitemex("CAMonsterBlud",0,0,0,random(-6,12),random(-10,10),random(10,12))
    	TNT1 A 0 BRIGHT a_spawnitemex("cs_go",0,0,0,random(-7,10),random(-9,12),random(10,12))
    	TNT1 A 0 BRIGHT a_spawnitemex("cs_go",0,0,0,random(-3,16),random(-10,16),random(10,12))
    	TNT1 A 0 BRIGHT A_PlaySound("CABsplat")	
		BSPI K 7 
		BSPI LMNO 7
		BSPI P -1 A_BossDeath
		Stop	
	Death.CALinkedBomb:
	Death.CALinked:
		TNT1 A 0
		TNT1 A 0 a_scream
		TNT1 A 0 a_noblocking
		TNT1 A 0 a_setscale (1.80)
		TNT1 A 0 a_stop
		TNT1 A 0 A_ChangeFlag ("THRUACTORS",1)
		TNT1 A 0 a_setuservar("user_KrangCharge",0)
		TNT1 A 0 a_playsound ("Malefactors/LinkedHurt",0,0.80)
		TNT1 A 0 a_setuservar("user_KrangCharge",0)
		TNT1 A 1 a_spawnitemex ("CALinkedKill",0,0,35)
		TNT1 A 0 a_playsound ("Malefactors/LinkedDeath",0,1,0,0.90)
		TNT1 A 2
		TNT1 A 3 ThrustThingZ (0,30,0,1)
		L1ST K 2
		L1ST K -1 A_BossDeath
		wait
	Death.CABladeBeam:
		TNT1 A 0
		TNT1 A 0 a_facetarget
		TNT1 A 0 a_scream
		TNT1 A 0 a_noblocking
		TNT1 A 0 a_bossdeath
		TNT1 A 0 a_spawnitemex ("MalefactorKrangTorso",0,0,36,random(-3,3),random(-3,3),random (1,2),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_playsound ("Malefactors/BladeBeamDeath2",0,1,0,0.90)
		8D13 B random (45,50)
		TNT1 AAA 0 a_spawnitemex("BigFireDebris",0,0,random(3,8),random(-8,8),random(-7,7),random(6,7),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_playsound ("Malefactors/BladeBeamExplosion",0,0.60,0)
		TNT1 A 0 A_SpawnItemEx("MonsterFireExplosion",0,0,30)
		stop
	Raise:
		TNT1 A 0
		TNT1 A 0 a_setscale (1)
		TNT1 A 0 A_ChangeFlag ("THRUACTORS",0)
		BSPI P 5
		BSPI ONMLKJ 5
		Goto See+1	
	}
}


//Normal shot

actor spidershot : arachnotronplasma replaces arachnotronplasma
{
	seesound "lilspider/plasma"
	DeathSound "lilspider/plasmahit"
}

//Charge particles

actor spidercharge : cacocharge
{
	scale 0.80
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 6
		TNT1 A 0 a_scalevelocity (-2)
		APBX E 5 
		goto death
	}
}



//Double shot

actor MalefactorsDoubleShot : arachnotronplasma
{
	+bright
	seesound "lilspider/plasma"
	DeathSound "lilspider/plasmahit"
	states
	{
	spawn:
		APLS A 1 a_spawnitemex ("spiderwavetrail")
		APLS B 1 a_spawnitemex ("spiderwavetrail")
		loop
	}
}

actor spiderwavetrail
{
	+NOINTERACTION
	+clientsideonly
	Radius 4
	Height 5
	+bright
	scale 0.25
	States
	{
	spawn:
		TNT1 A 0
		TNT1 A 2
		APLS A 3
		APLS B 3
		goto death
	death: 
		APLS A 2 a_fadeout (0.30)
		wait
	}
}

//The big shot
	
actor MalefactorsKrangBeam : fastprojectile
{
	projectile
    +dontblast
	+FORCEXYBILLBOARD	
	+LOOKALLAROUND
	+bright
	radius 6
	height 8
	speed 40
	damage (25)
    missileheight 8
	renderstyle add
	deathsound "Lilspider/SuperPlasmaHit"
	decal "BFGLightning"
	alpha 0.80
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 1 a_playsound ("LilSpider/SuperPlasmaHum",CHAN_VOICE,1,1)
		goto flying
	Flying:
		APBX A 1 a_setscale (1.10)
		TNT1 AAAA 0 a_spawnitemex ("spiderwavetrail",Frandom(-4,4),Frandom(-4,4),0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		APBX A 1 a_setscale (1.20)
		TNT1 AAAA 0 a_spawnitemex ("spiderwavetrail",Frandom(-4,4),Frandom(-4,4),0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		APBX A 1 a_setscale (1.30)
		TNT1 AAAA 0 a_spawnitemex ("spiderwavetrail",Frandom(-4,4),Frandom(-4,4),0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		APBX A 1 a_setscale (1.40)
		TNT1 AAAA 0 a_spawnitemex ("spiderwavetrail",Frandom(-4,4),Frandom(-4,4),0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		APBX A 1 a_setscale (1.30)
		TNT1 AAAA 0 a_spawnitemex ("spiderwavetrail",Frandom(-4,4),Frandom(-4,4),0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		APBX A 1 a_setscale (1.20)
		TNT1 AAAA 0 a_spawnitemex ("spiderwavetrail",Frandom(-4,4),Frandom(-4,4),0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		APBX A 1 a_setscale (1.10)
		TNT1 AAAA 0 a_spawnitemex ("spiderwavetrail",Frandom(-4,4),Frandom(-4,4),0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,Frandom(-100,100)/20.0,0)
		APBX A 1 a_setscale (1)
		loop
	death:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("MonsterFireExplosion",0,0,2)
		TNT1 A 0 a_explode (50,250,0,0,60)
		TNT1 A 0 a_quake (5,20,0,300,0)
		TNT1 A 0 a_quake (3,20,0,1200,0)
		TNT1 A 0 a_setscale (2)
		APBX E 2
		TNT1 A 0 a_fadeout (0.10)
		MISL BCD 1
		TNT1 A 40
		stop
	}
}


//for the blade beam death

actor MalefactorKrangTorso : MalefactorRiflemanTorso
{
	gravity 0.80
    States
    {
    Spawn:
		TNT1 A 0
		8D13 A 6
		TNT1 A 0 a_scalevelocity (0.30)
		8D13 A 6
		TNT1 A 0 a_scalevelocity (0.50)
		8D13 A 6
		TNT1 A 0 a_stop
		8D13 A 10
		TNT1 A 0 a_changeflag ("NOGRAVITY",0)
		TNT1 A 0 a_changeflag ("HEXENBOUNCE",0)
	Falling:
		8D13 A 1
		TNT1 A 0 A_CheckFloor ("Death")
		loop
	Death:
		TNT1 AAA 0 a_spawnitemex("BigFireDebris",0,0,random(3,8),random(-8,8),random(-7,7),random(6,7),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_playsound ("Malefactors/BladeBeamExplosion",0,0.60,0)
		TNT1 A 1 A_SpawnItemEx("MonsterFireExplosion",0,0,30)
		stop
    }
}
	