actor Bluewyvern : RedWyvern
{
    Speed 14
	+missilemore
    PainChance 200
	Obituary "%o was blitzed by a thunder Wyvern."
	translation "16:39=195:207", "40:47=240:247"
	states
	{
	missile:
		TNT1 A 0 a_playsound ("wyvern/attack",0)
		WYRN E 8 a_facetarget
		TNT1 A 0 a_jumpifcloser (400, "ThunderBelch")
		TNT1 A 0 a_spawnitemex ("ThunderRing",40,0,30,0,0,0,0,SXF_NOCHECKPOSITION)
		WYRN E 3 A_custommissile ("WyvernThunderBall")
		TNT1 A 0 a_jump (80,"missile")
		goto see
	ThunderBelch:
		WYRN E 8 a_facetarget
		TNT1 A 0 A_custommissile ("ThunderBreath")
		WYRN E 2 
		TNT1 A 0 A_custommissile ("ThunderBreath")
		WYRN E 2 a_facetarget
		TNT1 A 0 A_custommissile ("ThunderBreath")
		WYRN E 2
		TNT1 A 0 A_custommissile ("ThunderBreath")
		WYRN E 2 a_facetarget
		TNT1 A 0 A_custommissile ("ThunderBreath")
		WYRN E 2
		TNT1 A 0 A_custommissile ("ThunderBreath")
		WYRN E 2 a_facetarget
		TNT1 A 0 A_custommissile ("ThunderBreath")
		WYRN E 2
		TNT1 A 0 A_custommissile ("ThunderBreath")
		WYRN E 2 a_facetarget
		goto see

	death:
		WYRN K 4 a_scream
		WYRN L 3 a_fall
		WYRN MN 4
		WYRN OP 4
		TNT1 A 0 a_jump (10, "DarkPortal")
		WYRN P -1
		stop
	DarkPortal:
		TNT1 A 0
		WYRN P random(50,180)  
		TNT1 A 0 a_playsound ("Darkportal/form",0)
		WYRN P 3 Thing_SetTranslation(0, 4242)
		HWRP ABCD 1
		TNT1 A 1 a_spawnitemex ("WeakPortal")
		stop		
	SkulDed:
		WYRN Q 1 a_playsound ("gibs/bones",0)
		TNT1 A 0 thrustthingz (0,20,0,0)
		WYRN RSTQ 2
		TNT1 A 0 a_jump (10,"GibbedDarkPortal")
		WYRN Q -1
		stop
	GibbedDarkPortal:
		TNT1 A 0
		WYRN Q random(50,180) 
		TNT1 A 0 a_playsound ("Darkportal/form",0)
		WYRN Q 3 Thing_SetTranslation(0, 4242)
		HWRP ABCD 1
		TNT1 A 1 a_spawnitemex ("WeakPortal")
		stop		
	}
}
	
	
actor WyvernThunderBall
{
	Projectile
	speed 30
	+thruspecies
	+bright
	+forcepain
	height 9
	radius 18
	damage (20)
	projectilekickback 3000
	decal doomimpscorch
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 0 a_playsound ("GeneralFX/Zapping",CHAN_VOICE)
		GLIT ABCDE 1
		GLIT ACABDEA 1
		loop
	death:
		TNT1 A 0
		TNT1 A 0 radius_quake (2,3,0,10,0)
		VFX2 A 2 a_playsound ("subweapons/thundercrack",CHAN_VOICE)
		FAXE RSTUVWX 2 bright
		TNT1 A 4
		stop
	}
}


ACTOR ThunderBreath : fastprojectile
{
	Speed 25
	Damage (3)
	Radius 10
	Height 12
	RenderStyle Add
	Alpha 0.45
	Scale 0.8
	PROJECTILE
	+BRIGHT
	MissileHeight 8
	MissileType "LitBoltFX"
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_Jump(256,"Var1","Var2","Var3")
		Loop
   Var1:
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("BreathRange",8,"StopBreath")
		TNT1 A 0
		TNT1 A 0 a_playsound ("GeneralFX/Zapping",0)
		GRLT A 1
		TNT1 A 0 A_Weave(3, 3, random(-3,1), random(-2,2))
		GRLT B 1
		TNT1 A 0 A_Weave(3, 3, random(-2,2), random(-2,2))
		GRLT C 1
		TNT1 A 0 A_Weave(3, 3, random(-4,3), random(-2,2))
		GRLT B 1
		TNT1 A 0 A_Weave(3, 3, random(-2,3), random(-2,2))
		GRLT C 1
		TNT1 A 0 A_Weave(3, 3, random(-4,2), random(-2,2))
		GRLT A 1
		TNT1 A 0 A_Weave(3, 3, random(-3,4), random(-2,2))
		GRLT C 1
		TNT1 A 0 A_Weave(3, 3, random(-1,2), random(-2,2))
		GRLT A 1
		TNT1 A 0 A_Weave(3, 3, random(-4,2), random(-2,2))
		GRLT B 1
		TNT1 A 0 A_Weave(3, 3, random(-2,4), random(-2,2))
		GRLT C 1
		TNT1 A 0 A_Weave(3, 3, random(-3,3), random(-2,2))
		GRLT B 1
		TNT1 A 0 A_Weave(3, 3, random(-2,4), random(-2,2))
		GRLT A 1
		TNT1 A 0 a_giveinventory ("BreathRange",1)
		Loop
   Var2:
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("BreathRange",8,"StopBreath")
		TNT1 A 0 a_playsound ("GeneralFX/Zapping",0)
		GRLT C 1
		TNT1 A 0 A_Weave(3, 3, random(-3,1), random(-2,2))
		GRLT B 1
		TNT1 A 0 A_Weave(3, 3, random(-2,2), random(-2,2))
		GRLT C 1
		TNT1 A 0 A_Weave(3, 3, random(-4,3), random(-2,2))
		GRLT B 1
		TNT1 A 0 A_Weave(3, 3, random(-2,3), random(-2,2))
		GRLT A 1
		TNT1 A 0 A_Weave(3, 3, random(-4,2), random(-2,2))
		GRLT B 1
		TNT1 A 0 A_Weave(3, 3, random(-3,4), random(-2,2))
		GRLT A 1
		TNT1 A 0 A_Weave(3, 3, random(-1,2), random(-2,2))
		GRLT C 1
		TNT1 A 0 A_Weave(3, 3, random(-3,3), random(-2,2))	   
		TNT1 A 0 A_Weave(3, 3, random(-4,2), random(-2,2))
		GRLT B 1
		TNT1 A 0 A_Weave(3, 3, random(-2,4), random(-2,2))
		GRLT A 1
		TNT1 A 0 A_Weave(3, 3, random(-3,3), random(-2,2))
		GRLT B 1
		TNT1 A 0 A_Weave(3, 3, random(-2,4), random(-2,2))
		GRLT A 1
		TNT1 A 0 a_giveinventory ("BreathRange",1)
		Loop
	Var3:
		TNT1 A 0
		TNT1 A 0 a_jumpifinventory ("BreathRange",8,"StopBreath")
		TNT1 A 0 a_playsound ("GeneralFX/Zapping",0)
		GRLT B 1
		TNT1 A 0 A_Weave(3, 3, random(-3,1), random(-2,2))
		GRLT C 1
		TNT1 A 0 A_Weave(3, 3, random(-2,2), random(-2,2))
		GRLT A 1
		TNT1 A 0 A_Weave(3, 3, random(-4,3), random(-2,2))
		GRLT B 1
		TNT1 A 0 A_Weave(3, 3, random(-2,3), random(-2,2))
		GRLT A 1
		TNT1 A 0 A_Weave(3, 3, random(-4,2), random(-2,2))
		GRLT C 1
		TNT1 A 0 A_Weave(3, 3, random(-3,4), random(-2,2))
		GRLT B 1
		TNT1 A 0 A_Weave(3, 3, random(-1,2), random(-2,2))
		GRLT C 1
		TNT1 A 0 A_Weave(3, 3, random(-4,2), random(-2,2))
		GRLT A 1
		TNT1 A 0 A_Weave(3, 3, random(-2,4), random(-2,2))
		GRLT C 1
		TNT1 A 0 A_Weave(3, 3, random(-3,3), random(-2,2))
		GRLT A 1
		TNT1 A 0 A_Weave(3, 3, random(-2,4), random(-2,2))
		GRLT B 1
		TNT1 A 0 a_giveinventory ("BreathRange",1)
		loop
   Death:
		TNT1 A 0
		FAXE R 1 bright
		FAXE STUVWX 2 bright
		stop
	StopBreath:
		TNT1 A 0
		TNT1 A 2
		stop
	}
}



actor ThunderRing
{
	+dontblast
	+notimefreeze
	+nointeraction
	+clientsideonly
	projectile
    +FORCEXYBILLBOARD	
	+LOOKALLAROUND
	+NOTELEPORT
	radius 2
	speed 3
    Scale 2
	renderstyle add
	alpha 0.80
	translation "16:47=192:196", "168:191=192:207"
	states
	{
	spawn:
		RRNG E 5 bright
		RRNG D 4 bright
		RRNG C 3 bright
		RRNG B 2 bright
		stop
	death:
		TNT1 A 0
		stop
	}
}

actor BreathRange : inventory
{inventory.maxamount 8}