//Double Jian

ACTOR ChainGunner : ChainGunGuy replaces ChainGunGuy
{
	Speed 9
	Obituary "%o was riddled full of holes"
	Dropitem "Chaingun"
	+DOHARMSPECIES
	SeeSound "jiangunner/see"
	PainSound "jiangunner/pain"
	DeathSound "jiangunner/die"
	AttackSound "jiangunner/attack"
	ActiveSound "zomrfile/idle"
	States
	{
	Spawn:
		JCHG AB 10 A_Look
		Loop
	See:
		JCHG AABBCCDD 3 A_Chase
		Loop
	Missile:
		JCHG X 10 A_FaceTarget
		TNT1 A 0 A_CustomMissile("Monstercasingspawner",30,3)
		JCHG FE 4 A_CPosAttack
		TNT1 A 0 A_CustomMissile("Monstercasingspawner",30,3)
		JCHG F 1 A_CPosRefire
		TNT1 A 0 a_jump (190, "ConsiderGrenade")
		Goto Missile+1
	ConsiderGrenade:
		JCHG X 1 A_FaceTarget
		TNT1 A 0 a_jumpifcloser (220,"See") //If target's too close, don't shoot the grenade, you might blow yourself up, idiot.
		JCHG X 1 a_jumpifcloser (650,"FireGrenade")
		JCHG X 10 A_FaceTarget
		JCHG X 9 A_FaceTarget	
		goto See
	FireGrenade:
		TNT1 A 0
		TNT1 A 0 a_playsound ("Malefactors/GrenadeReady",0,1,0,0.6)
		JCHG X 6 A_FaceTarget 
		JCHG X 8 A_FaceTarget
		TNT1 A 0 a_jumpifcloser (220,"CancelGrenade") //If target's too close, don't shoot the grenade, you might blow yourself up, idiot.
		JCHG X 15 A_FaceTarget
		TNT1 A 0 a_playsound ("Malefactors/GrenadeShot",0)
		TNT1 A 0 A_CustomMissile("CAZombieGrenade",30,3)
		TNT1 A 0 a_recoil (5)
		JCHG FE 4 bright 
		JCHG X 5 A_FaceTarget
		JCHG X 5 
		TNT1 A 0 a_jumpifcloser (220,"CancelGrenade") //If target's too close, don't shoot the grenade, you might blow yourself up, idiot.

		TNT1 A 0 a_playsound ("Malefactors/GrenadeShot",0)
		TNT1 A 0 A_CustomMissile("CAZombieGrenade",30,3)
		TNT1 A 0 a_recoil (5)
		JCHG FE 4 bright 
		JCHG X 5 A_FaceTarget
		JCHG X 5 
		TNT1 A 0 a_jumpifcloser (220,"CancelGrenade") //If target's too close, don't shoot the grenade, you might blow yourself up, idiot.

		TNT1 A 0 a_playsound ("Malefactors/GrenadeShot",0)
		TNT1 A 0 A_CustomMissile("CAZombieGrenade",30,3)
		TNT1 A 0 a_recoil (5)
		JCHG FE 4 bright 
		JCHG X 5 A_FaceTarget
		JCHG X 5 

		JCHG X 10
		goto see		
	CancelGrenade:
		JCHG G 3
		JCHG G 3 A_Pain
		JCHG X 10 a_playsound ("Malefactors/GrenadeCancel",0,1,0,0.6)
		Goto See		


	Pain:
		JCHG G 3
		JCHG G 3 A_Pain
		Goto See
	Death:
		JCHG H 5
		JCHG I 5 A_Scream
		JCHG J 5 A_NoBlocking
		JCHG KL 5
		JCHG M -1
		Stop
	Death.CABladeBeam:
		TNT1 A 0
		TNT1 A 0 a_facetarget
		TNT1 A 0 a_spawnitemex ("MalefactorChaingunnerTorso",0,0,36,random(-3,3),random(-3,3),random (1,2),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_scream
		TNT1 A 0 a_noblocking
		TNT1 A 0 a_playsound ("Malefactors/BladeBeamDeath1",0,1,0,0.90)
		8DX3 B random (45,50)
		TNT1 AAA 0 a_spawnitemex("FireDebris",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.80,0)
		TNT1 A 0 A_SpawnItemEx("MonsterFireExplosion",0,0,30)
		stop

	XDeath:
		JCHG N 5 A_NoBlocking
		TNT1 A 0 a_playsound ("MaleFactors/Gib",0,0.80)
		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")	
		JCHG O 5 A_XScream
		JCHG P 5 
		JCHG QR 5
		JCHG S -1
		Stop
	Death.CALinkedBomb:
	Death.CALinked:
		TNT1 A 0
		TNT1 A 0 a_scream
		TNT1 A 0 a_noblocking
		TNT1 A 0 a_stop
		TNT1 A 0 a_setscale (1.25)
		TNT1 A 0 a_playsound ("Malefactors/LinkedHurt",0,0.80)
		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 C 2
		L1ST C -1
		wait
	Raise:
		TNT1 A 0
		TNT1 A 0 a_setscale (1)
		JCHG M 5
		JCHG LKJIH 5
		Goto See
	}
}

actor chaingunnerslug 
{
	Radius 11
	Height 8
	Speed 30
	Damage 10
	scale 2
	Projectile
	+RANDOMIZE
	+bloodsplatter
	+forcepain
	Obituary "%o got slugged by a chaingunner"
	mass 7000
	projectilekickback 100
	States
	{
	spawn:
		SGRN A 1 bright
		loop
	death:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("slugshot/wall", CHAN_AUTO)
		TNT1 A 0 A_SpawnDebris("MonsterSpark")
		TNT1 A 1 a_spawnitemex ("fallengunnerslug")
		stop
	crash:
	xdeath:
		TNT1 A 0
		TNT1 A 0 A_radiusthrust (7000,30,RTF_NOIMPACTDAMAGE)
		TNT1 A 0 A_PlaySound("Slugshot/hit", CHAN_AUTO)
		TNT1 A 1 a_spawnitemex ("fallengunnerslug")
		stop
	}
}


actor fallengunnerslug
{
	Radius 10
	Height 35
	scale 2
	speed 10
	-solid
	mass 1200
	states
	{
	spawn:
		SGRN A 99 bright
		SGRN A 4 bright thrustthingz (0,40,0,0)
		goto death
	death:
		TNT1 A 0
		TNT1 A 0 a_fall
		TNT1 A 1 A_spawnitemex ("slugfire")
		stop
	}
}

actor slugfire
{
	+NOGRAVITY
	renderstyle add
	alpha 0.95
	scale 0.75
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 0 radius_quake (3,5,0,40,0)
		TNT1 A 0 a_playsound ("weapons/rocklx",0)
		TNT1 AAAAAAAAAAAAAA 0 a_spawnitemex("EvilPellet",0,0,0,Frandom(-50,50),Frandom(-50,50),Frandom (-5,5))
		TNT1 A 0 a_explode (50,140,1)
		MISL BCD 5 bright
		stop
	death:
		TNT1 A 1
		stop
	}
}



actor MalefactorChaingunnerTorso : MalefactorRiflemanTorso
{
	gravity 0.80
    States
    {
    Spawn:
		TNT1 A 0
		8DX3 A 6
		TNT1 A 0 a_scalevelocity (0.30)
		8DX3 A 6
		TNT1 A 0 a_scalevelocity (0.50)
		8DX3 A 6
		TNT1 A 0 a_stop
		8DX3 A 10
		TNT1 A 0 a_changeflag ("NOGRAVITY",0)
		TNT1 A 0 a_changeflag ("HEXENBOUNCE",0)
	Falling:
		8DX3 A 1
		TNT1 A 0 A_CheckFloor ("Death")
		loop
    }
}
	
