actor redwyvern : actor replaces cacodemon
{
    Health 650
    Radius 28
    Height 52
    Speed 12
    PainChance 200
 	Painchance "grappler", 256
	Mass 600
    scale 1.5
	MONSTER 
	+FLOAT
	+NOGRAVITY
    SeeSound "wyvern/see"
    PainSound "wyvern/pain"
    DeathSound "wyvern/die"
    ActiveSound "wyvern/idle"
    bloodtype newbloodsplatter
	Obituary "%o was scorched by a Wyvern."
	dropitem "smallsubrefresh" 15
	states
	{
	spawn:
		WYRN ABCD 8 a_look
		loop
	see:
		WYRN AABBCCDD 3 a_chase
		TNT1 A 0 a_playsound ("wyvern/fly",0)
		loop
	missile:
		TNT1 A 0 a_playsound ("wyvern/attack",0)
		WYRN E 8 a_facetarget
		TNT1 A 0 a_jumpifcloser (300, "flamethrower")
		WYRN F 3 A_custommissile ("Wyvernfireball")
		WYRN FGHI 5
		goto see
	flamethrower:
		WYRN E 8 a_facetarget
		TNT1 A 0 A_custommissile ("Wyvernflame")
		WYRN E 4 
		TNT1 A 0 A_custommissile ("Wyvernflame")
		WYRN E 4 a_facetarget
		TNT1 A 0 A_custommissile ("Wyvernflame")
		WYRN E 4
		TNT1 A 0 A_custommissile ("Wyvernflame")
		WYRN E 4 a_facetarget
		TNT1 A 0 A_custommissile ("Wyvernflame")
		WYRN E 4
		TNT1 A 0 A_custommissile ("Wyvernflame")
		WYRN E 4 a_facetarget
		TNT1 A 0 A_custommissile ("Wyvernflame")
		WYRN E 4
		TNT1 A 0 A_custommissile ("Wyvernflame")
		WYRN E 4 a_facetarget
		goto see
	pain:
		WYRN J 4 
		WYRN J 4 a_pain
		goto see
	death:
		WYRN K 4 a_scream
		WYRN L 3 a_fall
		WYRN MN 4
		WYRN OP 4
		WYRN P -1
		stop
	death.sunder:
		TNT1 A 0
		TNT1 AAA 0 a_spawnitem ("drumstick",10)
		WYRN K 4 a_scream
		WYRN L 3 a_fall
		WYRN MN 4
		WYRN OP 4
		WYRN P -1
		stop
	death.slayermelee:
	death.slayersupermelee:
		TNT1 A 0
		TNT1 A 0 a_spawnitemex ("sunderlootorb", 0, 0, 0, random (-4, 7), random (-6, 3), random (3,6))
		TNT1 A 0 a_spawnitemex ("sunderlootorb", 0, 0, 0, random (-3, 6), random (-8, 8), random (3,5))
		WYRN K 4 a_scream
		WYRN L 3 a_fall
		WYRN MN 4
		WYRN OP 4
		WYRN P -1
		stop
		
	death.blazice:
		WYRN K 2 a_scream
		WYIC A 1 A_noblocking
		TNT1 A 0 thrustthingz (0,25,0,0)
		TNT1 A 0 a_playsound ("swordtech/freezedeath")
		TNT1 A 0 a_fadeout (0.20)
		TNT1 AAAAAAAAAAAA 0 a_spawnitemex ("iceparticle",random(-8,8),random(-8,8),32,random(-100,100)/10.0,random(-100,100)/10.0,random(-100,100)/20.0,0,160)
	falling:
		TNT1 A 0 A_JumpIf(floorz == z, "shatter")
		WYIC B 1 bright A_JumpIf(floorz == z, "shatter")
		TNT1 A 0 A_JumpIf(floorz == z, "shatter")		
		loop
	shatter:
		WYIC C 2 bright
		TNT1 A 0 a_playsound ("swordtech/iceshatter")
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 0, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 45, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 90, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 180, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 270, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 360, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 a_dropitem ("treatspawner",1,140)
		TNT1 AAA 0 a_spawnitemex ("icefragment",0,0,0,random(-10,10),random(-10,10),10) 
		TNT1 AAAA 0 a_spawnitemex ("icefragment",0,0,0,random(-4,13),random(-8,13),8) 
		stop
	death.fatalslash:
		TNT1 A 0
		TNT1 A 0 a_changeflag ("nogravity",1)
		TNT1 A 0 a_stop
		WYRN J 2 a_scream
		WYIC A 4 a_noblocking
		TNT1 A 0 a_stop
		FDWV A 15
	randomwait:
		FDWV A 1 a_jump (20,"split")
		loop
	split:
		FDWV AABBCC 5
		FDWV DE 2
		FDWV FGHIJ 3 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDWV J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDWV J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDWV J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDWV J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDWV J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
	exploding:
		FDWV J 1 Bright 
		TNT1 A 1 Bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDWV J 1 Bright 
		TNT1 A 1 Bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDWV J 1 Bright 
		TNT1 A 1 Bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDWV J 1 Bright a_jump (100,"reallydie")
		TNT1 A 1 Bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		loop
	reallydie:	
		TNT1 A 0
		TNT1 A 1 a_spawnitemex ("fataldrawdeath",0,0,0)
		stop
	raise:
		WYRN PONMLK 4
		TNT1 A 0 a_jump (40,"chaosexplode")
		goto see
	chaosexplode:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
    	WYRN A 8
        WYRN J 6 A_Pain
    	WYRN A 8
        WYRN J 6 A_Pain
    	WYRN A 8
        WYRN J 6 A_Pain
        TNT1 A 0 a_scream
        TNT1 A 0 A_NoBlocking
		TNT1 A 0 a_radiusgive ("chaoslaugh",650,RGF_MONSTERS)
		TNT1 A 0 a_spawnitemex("Skuttle",0,0,12,random(-6,6),random(-8,8),random(6,10),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_playsound ("bonelord/explode",0,1,0,0.6)
		TNT1 A 0 Radius_Quake (4,20,0,32,0)
		TNT1 A 0 a_spawnitem ("bigbloodsplatter")
		TNT1 AAAAAAAAAAAA 0 a_spawnitem ("newbloodsplatter") 
		TNT1 AAAAAAAA 0 a_spawnitemex("bonegib",0,0,0,random(-30,30),random(-30,30),10)
		ISKL AAAAAAA 0 a_spawnitemex("hipbonegib",0,0,32,random(-10,10),random(-10,10),10)
		ISKL AAAAA 0 a_spawnitemex("ribbonegib",0,0,32,random(-10,10),random(-10,10),12)
		TNT1 AAA 0 a_spawnitemex("bonegib",0,0,0,random(-30,30),random(-30,30),10)
		TNT1 A 4
		TNT1 A 0 a_spawnitemex("Skuttle",0,0,12,random(-6,6),random(-8,8),random(6,10),0,SXF_NOCHECKPOSITION)
		TNT1 A 4
		TNT1 A 0 a_spawnitemex("Skuttle",0,0,12,random(-6,6),random(-8,8),random(6,10),0,SXF_NOCHECKPOSITION)
		TNT1 A 20
		stop
	

	}
}

actor wyvernfireball 
{
    +notimefreeze
	+FORCEXYBILLBOARD	
	+THRUSPECIES
	species "enemyshot"
	Radius 11
	Height 8
	Speed 20
	Damage (20)
	seesound "wyvern/fireball"
	deathsound "wyvern/fireballhit"
	Projectile
	states
	{
	spawn:
		DMFX ABC 3 bright
		loop
	death:
		DMFX DEFGH 5
		stop
	}
}

actor wyvernflame : wyvernfireball
{
	speed 25
	damage (3)
	states
	{
	spawn:
		FX04 AAAAA 3 bright
		goto death
	death:
		TNT1 A 0 a_stop
		FX04 BCDEF 2
		stop
	}
}