


//===========================================================================
//
// Projectile
//
//===========================================================================
ACTOR BigJohn_Bullet
{
	Game Doom
//	SpawnID 10
	Radius 6
	Height 8
	Speed 35
	Damage 2
	Projectile
	+RANDOMIZE
//	RenderStyle Stencil
//	StencilColor Red
//	Alpha 1
//	SeeSound "Bullet/Air"
	DeathSound "sil/encio"
DamageType "BigJohnBulProj"

Scale 0.08
	States
	{
	Spawn:
		BLLT A 1 A_SpawnItemEx("Soldier_BulletFX", random2[BoltSpark]()*0.015625, random2[BoltSpark]()*0.015625, 0, 0,0,0,0,SXF_ABSOLUTEPOSITION, 50)//A_SpawnItem("Blood")
		Loop
	Death:
		"####" "#" 1 Thing_ChangeTid(0,1998)
		"####" "#" 1 BRIGHT

	TNT1 A 0 A_PlaySound("bullet/wall")
		BLLT A 0 BRIGHT A_SpawnItem("Soldierpuff")
		Stop

	Crash:
		TNT1 A 1 BRIGHT 
		Stop


	}
}



//Same as above, but with a different see sound.
//So sickles monster doesn't play the fire sound while attacking.

ACTOR BigJohn_BulletDeflect : BigJohn_Bullet
{
DamageType "DeflectedProjectile"
	SeeSound "Sil/Encio"//"Sword/Deflect"
States
	{
	Death:
	TNT1 A 0 A_PlaySound("bullet/wall")
		BLLT A 0 BRIGHT A_SpawnItem("Soldierpuff")
		Stop
	}
}




ACTOR Dusk_BigJohn_Rocket
{
	Game Doom
	SpawnID 127
	Radius 11
	Height 8
	Speed 35
	Damage 5
	Projectile
	+RANDOMIZE
	+DEHEXPLOSION
	-ROCKETTRAIL
	SeeSound "cowgirl/fire"
	DeathSound "Projectile/explosive"
	DamageType "BigJohnAntiXplod"
//	Obituary "$COWGRL_PRJ"
Scale 0.35
	States
	{
	Spawn:
		RIVP A 1 Bright Light("OrangeSmallPoint1")
		Loop

	XDeath:	
	Death: 
		TNT1 A 0 A_Explode(50,128,1,0,18)	//max damage taken by self rocket (rocket jump) is 50
		TNT1 A 0 A_Explode(30,144,0,0,128)	//then another 34 extra damage for impacting a player + (16)dmg on the projectile =100dmg

		MISL B 1 A_SpawnItemEx("Dusk_RocketExplodeVisualAir",0,0,0,0,0,0,0,32)
		Stop
	}
}




//===========================================================================
//
// Big John
//
//===========================================================================
ACTOR BigJohn //501//replaces cyberdemon
{
	//$Category Doosk Monsters/Meme
	//$Sprite BIGZA0
	//$Title Big john
	//$Color 6
	Game Doom
	SpawnID 114
	Health 2500//2200
	PainChance 25

//	+FORCEPAIN
	+nopain
	Speed 5
	Radius 40
	Height 110
	Mass 1000
	Monster
	ReactionTime 70
	MinMissileChance 160
	+FLOORCLIP

	+BOSS 
	+MISSILEMORE
	+FLOORCLIP
//	+NORADIUSDMG
	+DONTMORPH
	+BOSSDEATH

	SeeSound "bigjohn/sight"
	AttackSound "soldier/fire"
	PainSound "bigjohn/pain"
	DeathSound "bigjohn/death"
	ActiveSound "bigjohn/active"
	Obituary "$BIGJ_DTH"

	DamageFactor "BigJohnAntiXplod", 0.0
	DamageFactor "Deflectedprojectile", 5.0

	DropItem Medikit
	Scale 0.35
	States
	{
	Spawn:
		BIGZ A 10 A_Look
		Loop
	See:
        BIGA AACCEEGGIIJJLLMMOOQQSSUUWWYY 1 A_Chase
		BIGB AACCEEGGIIKKMM 1 A_Chase
		Loop

	Missile://Bullet iteration. Random chances to jump into rocket state.
TNT1 A 0 A_PlaySound("soldier/pre_fire")
		BIGC ABCCDDEFGHHIJJ 1 bright A_FaceTarget
TNT1 A 0 A_Jump(96,"BigMissile")

		BIGC JJJJ 0 bright A_CustomMissile("BigJohn_Bullet",48,0,random(-10,10),CMF_OFFSETPITCH,random(-4,4))
TNT1 A 0 A_FaceTarget	BIGC J 3 A_PlaySound("soldier/fire")
		BIGC JJJJ 0 bright A_CustomMissile("BigJohn_Bullet",48,0,random(-10,10),CMF_OFFSETPITCH,random(-4,4))
TNT1 A 0 A_FaceTarget	BIGC J 3 A_PlaySound("soldier/fire")
		BIGC JJJJ 0 bright A_CustomMissile("BigJohn_Bullet",48,0,random(-10,10),CMF_OFFSETPITCH,random(-4,4))
TNT1 A 0 A_FaceTarget	BIGC J 3 A_PlaySound("soldier/fire")
		BIGC JJJJ 0 bright A_CustomMissile("BigJohn_Bullet",48,0,random(-10,10),CMF_OFFSETPITCH,random(-4,4))
TNT1 A 0 A_FaceTarget	BIGC J 3 A_PlaySound("soldier/fire")
		BIGC JJJJ 0 bright A_CustomMissile("BigJohn_Bullet",48,0,random(-10,10),CMF_OFFSETPITCH,random(-4,4))
TNT1 A 0 A_FaceTarget	BIGC J 3 A_PlaySound("soldier/fire")
		BIGC JJJJ 0 bright A_CustomMissile("BigJohn_Bullet",48,0,random(-10,10),CMF_OFFSETPITCH,random(-4,4))
TNT1 A 0 A_FaceTarget	BIGC J 3 A_PlaySound("soldier/fire")
TNT1 A 0 A_Jump(96,"BigMissile_Warmup")
		Goto See

	BigMissile_Warmup://Plays meme sound if full attack sequence is launched.
TNT1 A 0 A_PlaySound("bigjohn/audio",8)
		BIGC JJJJ 4 bright A_FaceTarget

	BigMissile://Throws bunch of missiles.
TNT1 A 0 A_PlaySound("soldier/fire")
TNT1 A 0 A_FaceTarget			BIGC J 6 bright A_CustomMissile("Dusk_BigJohn_Rocket",48,0,random(-3,3))
TNT1 A 0 A_PlaySound("soldier/fire")
TNT1 A 0 A_FaceTarget			BIGC J 6 bright A_CustomMissile("Dusk_BigJohn_Rocket",48,0,random(-3,3))
TNT1 A 0 A_PlaySound("soldier/fire")
TNT1 A 0 A_FaceTarget			BIGC J 16 bright A_CustomMissile("Dusk_BigJohn_Rocket",48,0,random(-3,3))
		Goto See


	Pain:
		BIGD A 0 A_Pain
		BIGD ABCCDDEFGHHIJJ 1
		Goto See


	XDeath:
	Death:
		BPLZ A 0 A_ChangeFlag("noclip",true)
TNT1 A 0 A_PlaySound("monster/explodegore")
		BIGZ A 0 A_ScreamAndUnblock
				WNDB P 0 Fast A_CustomBulletAttack(1, 1, 1, 10,"BulletPuff",128)//Using this, so melee activates at 64px while making effect up to 128 px. Silly, but it works.

TNT1 A 0 A_ChangeVelocity(0.0, 0.0, 7.5,CVF_RELATIVE)

//        TNT1 A 1 A_SpawnItemEx("Dusk_GenericMonsterExplosion",0,0,0,0,0,0,0,32)
		TNT1 A 0 A_CustomMissile("Dusk_GenericMonsterExplosion")
        TNT1 A 1 A_SpawnItemEx("Dusk_ExplosiveMonsterGore",0,0,0,0,0,0,0,32)
		TNT1 AAAA 35

		TNT1 A -1 A_BossDeath
		Stop



	}
}




