-- Persona Support --

if not srb2p return end

-- Stats
charStats["flchan"] = {
	name = "FL Chan",
	basehp = 52,
	basesp = 90,
	persona = "sirius",
	persona_pvp = "sirius_pvp",
	melee_natk = "flchan_atk1",
	melee_satk = "flchan_atk2",
	supercolor_start = SKINCOLOR_SUPERPERIDOT1,
	atk = 25,
	acc = 75,
	crit = 5,
	anim_stand = {SPR_PLAY, A, 8, "SPR2_STND"},
	anim_stand_hurt = {SPR_PLAY, A, 1, "SPR2_STND"},
	anim_stand_bored = {SPR_PLAY, A, B, A, B, A, B, A, B, 15, "SPR2_WAIT"},
	anim_guard = {SPR_PLAY, C, 2, "SPR2_RUN"},
	anim_move = {SPR_PLAY, A, B, C, D, E, F, G, H, 2, "SPR2_WALK"},
	anim_run = {SPR_PLAY, A, B, C, D, E, F, G, H, 2, "SPR2_RUN"},
	anim_atk = {SPR_PLAY, A, B, C, D, E, F, G, H, 1, "SPR2_ROLL"},
	anim_aoa_end = {SPR_PLAY, H, G, F, E, D, C, B, A, 1, "SPR2_ROLL"},
	anim_hurt = {SPR_PLAY, A, 35, "SPR2_PAIN"},
	anim_getdown = {SPR_PLAY, A, 1, "SPR2_PAIN"},
	anim_downloop = {SPR_PLAY, A, 1, "SPR2_PAIN"},
	anim_getup = {SPR_PLAY, A, 1, "SPR2_SPNG"},
	anim_death = {SPR_PLAY, A, 30, "SPR2_DEAD"},
	anim_revive = {SPR_PLAY, A, 1, "SPR2_SPNG"},
	anim_evoker = {SPR_PLAY, A, 8, "SPR2_BACT"},
	anim_evoker_shoot = {SPR_PLAY, B, 8, "SPR2_BACT"},
	anim_special1 = {SPR_PLAY, A, B, C, D, E, 2, "SPR2_MICG"},
	anim_special2 = {SPR_PLAY, A, 8, "SPR2_SONG"},
	anim_special3 = {SPR_PLAY, B, 8, "SPR2_SONG"},
	icon = "ICO_FLCH",
	hudbust = "H_FLCBAR",
	hudaoa = "H_FLCAOA",
	aoa_quote = "Let's make these guys \nchange their tune!",
	hudcutin = "FLCH_A",
	tip = "This cutie learns Psy and Elec skills \nalong with two status spells, an agility \nbuff, and a physical debuff. With \nan extremely high SP, you can't really \ngo wrong. One more thing to note is \nthat she learns through a tier system."
}

-- Persona
personaList["sirius"] = {
	name = "Sirius",
	arcana = ARCANA_MOON,
	sprite = SPR_SIRI,
	startframe = 0,
	anim_idle = {SPR_SIRI, A, B, C, D, E, F, 10},
	anim_atk = {SPR_SIRI, A, G, H, I, J, K, H, 2},
	strength = 3,
	magic = 13,
	endurance = 5,
	luck = 9,
	agility = 10,
	weak = ATK_SLASH|ATK_NUCLEAR, -- She hates it when the music suddenly cuts off. Also, Nuke is the only thing I can't think of a music/dance-based joke for.
	resist = ATK_ELEC, -- While she is technically made out of electricity, it's still lightning at the end of the day.
	block = ATK_BLESS, -- She's used to partying with bright lights. (Also, fuck instant kills)
	repel = ATK_PSY, -- She converts Psy energy into music in which she sends back at the enemy.
	skills = {
		{"marin karin", 1}, {"psi", 1},
		{"sukukaja", 3}, {"zio", 6},
		{"pulinpa", 9}, {"mapsi", 12},
		{"tarunda", 15}, {"mazio", 18},
		
		{"sexy dance", 21, "marin karin"}, {"psio", 24, "psi"},
		{"masukukaja", 27, "sukukaja"}, {"zionga", 30, "zio"},
		{"tentarafoo", 33, "pulinpa"}, {"mapsio", 36, "mapsi"},
		{"matarunda", 39, "tarunda"}, {"mazionga", 42, "mazio"},
		
		{"psy boost", 45, "sexy dance"}, {"psiodyne", 48, "psio"},
		{"heat riser", 51, "masukukaja"}, {"ziodyne", 54, "zionga"},
		{"elec amp", 57, "tentarafoo"}, {"mapsiodyne", 60, "mapsio"},
		{"debilitate", 63, "matarunda"}, {"maziodyne", 66, "mazionga"},
	},
}

-- PvP persona
personaList["sirius_pvp"] = {
	name = "Sirius",
	arcana = ARCANA_MOON,
	sprite = SPR_SIRI,
	startframe = 0,
	anim_idle = {SPR_SIRI, A, B, C, D, E, F, 10},
	anim_atk = {SPR_SIRI, A, G, H, I, J, K, H, 2},
	strength = 3,
	magic = 13,
	endurance = 5,
	luck = 9,
	agility = 10,
	weak = ATK_SLASH|ATK_NUCLEAR|ATK_FIRE, -- She's always open to hear some fire mixtapes.
	resist = ATK_ELEC,
	block = ATK_BLESS,
	repel = ATK_PSY,
	skills = {
		{"marin karin", 1}, {"psi", 1},
		{"evade nuke", 3}, {"zio", 6},
		{"pulinpa", 9}, {"mapsi", 12},
		{"evade slash", 15}, {"mazio", 18},
		
		{"sexy dance", 21, "marin karin"}, {"psio", 24, "psi"},
		{"sukukaja", 27, "evade nuke"}, {"zionga", 30, "zio"},
		{"tentarafoo", 33, "pulinpa"}, {"mapsio", 36, "mapsi"},
		{"tarunda", 39, "evade slash"}, {"mazionga", 42, "mazio"},
		
		{"psy boost", 45, "sexy dance"}, {"psiodyne", 48, "psio"},
		{"masukukaja", 51, "sukukaja"}, {"ziodyne", 54, "zionga"},
		{"elec amp", 57, "tentarafoo"}, {"mapsiodyne", 60, "mapsio"},
		{"matarunda", 63, "tarunda"}, {"maziodyne", 66, "mazionga"},
	},
}

-- Bionis support
if bionis
	personaList["sirius"].drain = ATK_WATER -- Since she dances all the time, she appreciates a drink of water.
	personaList["sirius_pvp"].drain = ATK_WATER
end

-- Dungeon ability (It's an edited version of Sonic's)
DNG_Abilities["flchan"] = {

	jfunc = 	function(p)
					local mo = p.mo

					P_SetObjectMomZ(mo, FRACUNIT*10)
					mo.state = S_MICDROP_MIDAIR
					local pmic = P_SpawnMobjFromMobj(mo, 0, 0, 0, MT_DROPPEDMIC)
					pmic.momz = -30*FRACUNIT
					S_StartSound(pmic, sfx_brakrl)
				end,

	func =		function(p)
					local mo = p.mo

					if mo.p_abl
						if ((mo.eflags & MFE_VERTICALFLIP) and mo.momz < 0)
						or (not (mo.eflags & MFE_VERTICALFLIP) and mo.momz > 0)
						else
							mo.state = S_PLAY_FALL
							p.pflags = $ & ~PF_JUMPED
							mo.p_abl = false
						end
					end
				end,
}

-- Melee attack (It's an edited version of Heat Wave)
attackDefs["flchan_atk1"] = {
	name = "Mic Drop",
	type = ATK_STRIKE,
	power = 45,
	accuracy = 999,
	statuschance = 5,
	status = COND_SHOCK,
	costtype = CST_HP,
	cost = 0,
	desc = "A hard-hitting beat in \nthe truest sense.\nMay inflict shock.",
	target = TGT_ALLENEMIES,
	physical = true,
	anim_norepel = true,
	anim = function(mo, targets, hittargets, timer)
		if timer == TICRATE/3
			ANIM_set(mo, mo.anim_special1, false)
		end
		if timer == TICRATE/2
		or timer == TICRATE/2 + 8
			if timer == TICRATE/2
				localquake(mo.battlen, 30*FRACUNIT, 5)
				playSound(mo.battlen, sfx_pstop)
			end
			local ang = 0
			for i = 1, 24 do
				local m = P_SpawnMobj(mo.x, mo.y, mo.z, MT_DUMMY)
				m.state = S_MUSICNOTE2
				m.scale = FRACUNIT/2
				m.fuse = TICRATE
				m.destscale = FRACUNIT*4
				m.friction = FRACUNIT
				m.angle = ang
				P_InstaThrust(m, m.angle, 50*FRACUNIT)
				m = P_SpawnMobj(mo.x, mo.y, mo.z, MT_DUMMY)
				m.state = S_QUICKBOOM1
				m.scale = FRACUNIT
				m.fuse = TICRATE
				m.friction = FRACUNIT
				m.destscale = FRACUNIT*4
				m.angle = ang
				m.color = SKINCOLOR_LAVENDER
				P_InstaThrust(m, m.angle, 60*FRACUNIT)
				for i = 1, 8
					m = P_SpawnMobj(mo.x, mo.y, mo.z + (mo.height*2), MT_DUMMY)
					m.state = S_MUSICNOTE1
					m.fuse = TICRATE
					m.friction = FRACUNIT
					m.scale = FRACUNIT
					m.destscale = FRACUNIT*4
					m.angle = ang + P_RandomRange(-15, 15)*ANG1
					P_InstaThrust(m, m.angle, 50*FRACUNIT + P_RandomRange(-16, 16)*FRACUNIT)
				end
				ang = $ + (360/24)*ANG1
			end
		end
		if timer == TICRATE/2 + 10
			for k,v in ipairs(hittargets)
				damageObject(v)
			end
		end
		if timer == TICRATE*2
			return true
		end
	end,
}

-- Super melee attack (It's an edited version of Howling.)
attackDefs["flchan_atk2"] = {
	name = "Siren Song",
	type = ATK_ALMIGHTY,
	power = 650,
	accuracy = 999,
	costtype = CST_HP,
	statuschance = 100,
	status = COND_SILENCE,
	cost = 0,
	physical = true,
	critical = 50,
	desc = "Severe Almighty damage to\nall enemies. Always \ninflict Silence.",
	target = TGT_ALLENEMIES,
	anim = function(mo, targets, hittargets, timer)
		local avgx, avgy = 0, 0
		for i = 1, #targets
			avgx = $ + targets[i].x/FRACUNIT
			avgy = $ + targets[i].y/FRACUNIT
		end
		avgx = ($/#targets)	*FRACUNIT
		avgy = ($/#targets)	*FRACUNIT
		local cam = server.P_BattleStatus[mo.battlen].cam
		if timer == 1
			mo.oldangle = mo.angle
			mo.angle = R_PointToAngle2(mo.x, mo.y, avgx, avgy)
			local tgtx = mo.x + 256*cos(mo.angle)
			local tgty = mo.y + 256*sin(mo.angle)
			P_TeleportMove(cam, tgtx, tgty, mo.z + FRACUNIT*16)
			cam.angle = R_PointToAngle2(cam.x, cam.y, mo.x, mo.y)
			CAM_stop(cam)
			ANIM_set(mo, mo.anim_special2)
		elseif timer == TICRATE
			ANIM_set(mo, mo.anim_special3)
			local thean = mo.angle
			local tgtx = avgx + 512*cos(thean)
			local tgty = avgy + 512*sin(thean)
			playSound(mo.battlen, sfx_csimia)
			localquake(mo.battlen, FRACUNIT*64, 10)
			CAM_goto(cam, tgtx, tgty, mo.z + FRACUNIT*128, FRACUNIT*20)
		elseif timer >= TICRATE
		and timer <= TICRATE*3
			if leveltime%5 == 0
				local d = P_SpawnMobj(mo.x, mo.y, mo.z + FRACUNIT*64, MT_THOK)
				d.state = S_HOWL1
				d.color = SKINCOLOR_AETHER
				d.angle = mo.angle + ANG1*90
				d.scale = mo.scale*2
				d.destscale = mo.scale*7
				d.scalespeed = FRACUNIT/4
				P_InstaThrust(d, mo.angle, FRACUNIT*32)
			end
		elseif timer == TICRATE*3 + 1
			for i = 1, #hittargets
				damageObject(hittargets[i])
			end
		elseif timer == TICRATE*4
			return true
		end
	end,
}

-- Challenge battle stuff
enemyList["flchan_tier1"] = {
	name = "FL Studio Chan?",
	skillchance = 50,
	level = 18,
	hp = 1500,
	sp = 3000,
	strength = 5,
	magic = 13,
	endurance = 6,
	agility = 10,
	luck = 8,
	melee_natk = "flchan_atk1",
	boss = true,
	thinker = generalEnemyThinker,
	skin = "flchan",
	color = SKINCOLOR_BLACK,
	hudcutin = "FLCH_A",
	weak = ATK_SLASH|ATK_NUCLEAR|ATK_FIRE,
	resist = ATK_ELEC,
	block = ATK_BLESS,
	repel = ATK_PSY,
	persona = "sirius",
	anim_stand = {SPR_PLAY, A, 8, "SPR2_STND"},
	anim_stand_hurt = {SPR_PLAY, A, 1, "SPR2_STND"},
	anim_stand_bored = {SPR_PLAY, A, B, A, B, A, B, A, B, 15, "SPR2_WAIT"},
	anim_guard = {SPR_PLAY, C, 2, "SPR2_RUN"},
	anim_move = {SPR_PLAY, A, B, C, D, E, F, G, H, 2, "SPR2_WALK"},
	anim_run = {SPR_PLAY, A, B, C, D, E, F, G, H, 2, "SPR2_RUN"},
	anim_atk = {SPR_PLAY, A, B, C, D, E, F, G, H, 1, "SPR2_ROLL"},
	anim_aoa_end = {SPR_PLAY, H, G, F, E, D, C, B, A, 1, "SPR2_ROLL"},
	anim_hurt = {SPR_PLAY, A, 35, "SPR2_PAIN"},
	anim_getdown = {SPR_PLAY, A, 1, "SPR2_PAIN"},
	anim_downloop = {SPR_PLAY, A, 1, "SPR2_PAIN"},
	anim_getup = {SPR_PLAY, A, 1, "SPR2_SPNG"},
	anim_death = {SPR_PLAY, A, 30, "SPR2_DEAD"},
	anim_revive = {SPR_PLAY, A, 1, "SPR2_SPNG"},
	anim_evoker = {SPR_PLAY, A, 8, "SPR2_BACT"},
	anim_evoker_shoot = {SPR_PLAY, B, 8, "SPR2_BACT"},
	anim_special1 = {SPR_PLAY, A, B, C, D, E, 2, "SPR2_MICG"},
	anim_special2 = {SPR_PLAY, A, 8, "SPR2_SONG"},
	anim_special3 = {SPR_PLAY, B, 8, "SPR2_SONG"},
	skills = {"marin karin", "psi", "sukukaja", "zio", "pulinpa", "mapsi", "tarunda", "mazio"},
}

enemyList["flchan_tier2"] = {
	name = "FL Studio Chan?",
	skillchance = 50,
	level = 42,
	hp = 750,
	sp = 1000,
	strength = 21,
	magic = 30,
	endurance = 22,
	agility = 26,
	luck = 22,
	melee_natk = "flchan_atk1",
	thinker = generalEnemyThinker,
	boss = true,
	skin = "flchan",
	color = SKINCOLOR_BLACK,
	hudcutin = "FLCH_A",
	weak = ATK_SLASH|ATK_NUCLEAR|ATK_FIRE,
	resist = ATK_ELEC,
	block = ATK_BLESS,
	repel = ATK_PSY,
	persona = "sirius",
	anim_stand = {SPR_PLAY, A, 8, "SPR2_STND"},
	anim_stand_hurt = {SPR_PLAY, A, 1, "SPR2_STND"},
	anim_stand_bored = {SPR_PLAY, A, B, A, B, A, B, A, B, 15, "SPR2_WAIT"},
	anim_guard = {SPR_PLAY, C, 2, "SPR2_RUN"},
	anim_move = {SPR_PLAY, A, B, C, D, E, F, G, H, 2, "SPR2_WALK"},
	anim_run = {SPR_PLAY, A, B, C, D, E, F, G, H, 2, "SPR2_RUN"},
	anim_atk = {SPR_PLAY, A, B, C, D, E, F, G, H, 1, "SPR2_ROLL"},
	anim_aoa_end = {SPR_PLAY, H, G, F, E, D, C, B, A, 1, "SPR2_ROLL"},
	anim_hurt = {SPR_PLAY, A, 35, "SPR2_PAIN"},
	anim_getdown = {SPR_PLAY, A, 1, "SPR2_PAIN"},
	anim_downloop = {SPR_PLAY, A, 1, "SPR2_PAIN"},
	anim_getup = {SPR_PLAY, A, 1, "SPR2_SPNG"},
	anim_death = {SPR_PLAY, A, 30, "SPR2_DEAD"},
	anim_revive = {SPR_PLAY, A, 1, "SPR2_SPNG"},
	anim_evoker = {SPR_PLAY, A, 8, "SPR2_BACT"},
	anim_evoker_shoot = {SPR_PLAY, B, 8, "SPR2_BACT"},
	anim_special1 = {SPR_PLAY, A, B, C, D, E, 2, "SPR2_MICG"},
	anim_special2 = {SPR_PLAY, A, 8, "SPR2_SONG"},
	anim_special3 = {SPR_PLAY, B, 8, "SPR2_SONG"},
	skills = {"sexy dance", "psio", "masukukaja", "zionga", "pulinpa", "mapsio", "matarunda", "mazionga"},
}

enemyList["metalsonic_boss"] = {
	name = "Metal Sonic?",
	skillchance = 50,
	level = 42,
	hp = 1225,
	sp = 1000,
	strength = 30,
	magic = 22,
	endurance = 26,
	agility = 22,
	luck = 21,
	melee_natk = "metal_atk1",
	thinker = generalEnemyThinker,
	boss = true,
	skin = "metalsonic",
	color = SKINCOLOR_BLACK,
	hudcutin = "MSON_A",
	weak = ATK_ELEC|ATK_BLESS,
	resist = ATK_STRIKE|ATK_PIERCE|ATK_SLASH|ATK_NUCLEAR,
	persona = "palladion",
	anim_stand = {SPR_PLAY, A, 8, "SPR2_STND"},
	anim_stand_hurt = {SPR_PLAY, A, 1, "SPR2_STND"},
	anim_stand_bored = {SPR_PLAY, A, B, A, B, A, B, A, B, 10, "SPR2_WAIT"},
	anim_guard = {SPR_PLAY, A, 1, "SPR2_WALK"},
	anim_move = {SPR_PLAY, A, 2, "SPR2_WALK"},
	anim_run = {SPR_PLAY, A, 2, "SPR2_RUN"},
	anim_atk = {SPR_PLAY, A, B, C, D, E, 1, "SPR2_ROLL"},
	anim_aoa_end = {SPR_PLAY, E, D, C, B, A, 1, "SPR2_ROLL"},
	anim_hurt = {SPR_PLAY, A, 35, "SPR2_PAIN"},
	anim_getdown = {SPR_PLAY, A, 1, "SPR2_PAIN"},
	anim_downloop = {SPR_PLAY, A, 1, "SPR2_PAIN"},
	anim_getup = {SPR_PLAY, A, B, C, D, E, F, 1, "SPR2_ROLL"},
	anim_death = {SPR_PLAY, A, 30, "SPR2_DEAD"},
	anim_revive = {SPR_PLAY, A, B, C, D, E, F, 1, "SPR2_ROLL"},
	anim_evoker = {SPR_PLAY, A, 8, "SPR2_SPNG"},
	anim_special1 = {SPR_PLAY, A, 2, "SPR2_SPNG"},
	anim_sepcial2 = {SPR_PLAY, A, 2, "SPR2_DASH"},
	vfx_summon = {"sfx_mssum1", "sfx_mssum2"},
    vfx_skill = {"sfx_msskl1", "sfx_msskl2"},
    vfx_item = {"sfx_mssum1", "sfx_mssum2"},
    vfx_hurt = {"sfx_mshrt1", "sfx_mshrt2"},
    vfx_hurtx = {"sfx_msskl2"},
    vfx_die = {"sfx_msmis1"},
    vfx_heal = {"sfx_mssum1", "sfx_mssum2"},
    vfx_healself = {"sfx_mssum1", "sfx_mssum2"},
    vfx_kill = {"sfx_mssum1", "sfx_mssum2"},
    vfx_1more = {"sfx_msdge1"},
    vfx_crit = {"sfx_msskl2"},
    vfx_aoaask = {"sfx_msaoi1"},
    vfx_aoado = {"sfx_msskl2"},
    vfx_aoarelent = {"sfx_msmis1"},
    vfx_miss = {"sfx_msmis1"},
    vfx_dodge = {"sfx_msdge1"},
    vfx_win = {"sfx_mswin1"},
    vfx_levelup = {"sfx_mswin1"},
	skills = {"dekunda", "kill rush", "assault dive", "freila", "masukukaja", "marukukaja", "matarukaja", "heat wave"},
}

enemyList["flchan_tier3"] = {
	name = "FL Studio Chan?",
	skillchance = 50,
	level = 66,
	hp = 1250,
	sp = 2000,
	strength = 38,
	magic = 50,
	endurance = 40,
	agility = 47,
	luck = 40,
	melee_natk = "flchan_atk1",
	thinker = generalEnemyThinker,
	boss = true,
	skin = "flchan",
	color = SKINCOLOR_BLACK,
	hudcutin = "FLCH_A",
	weak = ATK_SLASH|ATK_NUCLEAR|ATK_FIRE,
	resist = ATK_ELEC,
	block = ATK_BLESS,
	repel = ATK_PSY,
	persona = "sirius",
	anim_stand = {SPR_PLAY, A, 8, "SPR2_STND"},
	anim_stand_hurt = {SPR_PLAY, A, 1, "SPR2_STND"},
	anim_stand_bored = {SPR_PLAY, A, B, A, B, A, B, A, B, 15, "SPR2_WAIT"},
	anim_guard = {SPR_PLAY, C, 2, "SPR2_RUN"},
	anim_move = {SPR_PLAY, A, B, C, D, E, F, G, H, 2, "SPR2_WALK"},
	anim_run = {SPR_PLAY, A, B, C, D, E, F, G, H, 2, "SPR2_RUN"},
	anim_atk = {SPR_PLAY, A, B, C, D, E, F, G, H, 1, "SPR2_ROLL"},
	anim_aoa_end = {SPR_PLAY, H, G, F, E, D, C, B, A, 1, "SPR2_ROLL"},
	anim_hurt = {SPR_PLAY, A, 35, "SPR2_PAIN"},
	anim_getdown = {SPR_PLAY, A, 1, "SPR2_PAIN"},
	anim_downloop = {SPR_PLAY, A, 1, "SPR2_PAIN"},
	anim_getup = {SPR_PLAY, A, 1, "SPR2_SPNG"},
	anim_death = {SPR_PLAY, A, 30, "SPR2_DEAD"},
	anim_revive = {SPR_PLAY, A, 1, "SPR2_SPNG"},
	anim_evoker = {SPR_PLAY, A, 8, "SPR2_BACT"},
	anim_evoker_shoot = {SPR_PLAY, B, 8, "SPR2_BACT"},
	anim_special1 = {SPR_PLAY, A, B, C, D, E, 2, "SPR2_MICG"},
	anim_special2 = {SPR_PLAY, A, 8, "SPR2_SONG"},
	anim_special3 = {SPR_PLAY, B, 8, "SPR2_SONG"},
	skills = {"psy boost", "psiodyne", "heat riser", "ziodyne", "elec amp", "mapsiodyne", "debilitate", "maziodyne"},
}

enemyList["kanade_boss"] = {
	name = "Kanade?",
	skillchance = 50,
	level = 66,
	hp = 2000,
	sp = 2000,
	strength = 65,
	magic = 50,
	endurance = 40,
	agility = 40,
	luck = 25,
	melee_natk = "hand sonic",
	boss = true,
	weak = ATK_CURSE,
	resist = ATK_SLASH|ATK_BLESS,
	block = ATK_PIERCE,
	hudcutin = "REPL_A",
	thinker = generalEnemyThinker,
	color = SKINCOLOR_BLACK,
	anim_stand = {SPR_KNDR, A, 10},
	anim_stand_hurt = {SPR_KNDR, A, 10},
	anim_move = {SPR_KNDR, B, C, D, E, F, G, 2},
	anim_run = {SPR_KNDR, B, C, D, E, F, G, 2},
	anim_hurt = {SPR_KNDR, L, 20},
	anim_getdown = {SPR_KNDR, T, 1},
	anim_downloop = {SPR_KNDR, T, 1},
	anim_getup = {SPR_KNDR, A, 5},
	anim_special1 = {SPR_KNDR, K, TICRATE*8},
	anim_special2 = {SPR_KNDR, H, TICRATE*8},
	anim_special3 = {SPR_KNDR, I, J, 2},
	anim_special4 = {SPR_KNDR, U, TICRATE},
	anim_sepcial5 = {SPR_KNDR, V, TICRATE},
	anim_special6 = {SPR_KNDR, W, X, 2},
	skills = {"dekunda", "virus cutter", "fatal end", "howling", "vile assault", "deathbound", "delay"},
}

-- Yes. I really did this for the sake of a joke.
enemyList["knuckles_boss"] = {
	name = "Knuckles?",
	skillchance = 50,
	level = 66,
	hp = 1550,
	sp = 1000,
	strength = 50,
	magic = 40,
	endurance = 47,
	agility = 40,
	luck = 38,
	melee_natk = "knuckles_atk1",
	thinker = generalEnemyThinker,
	boss = true,
	skin = "knuckles",
	color = SKINCOLOR_BLACK,
	hudcutin = "KNUX_A",
	weak = ATK_ICE,
	resist = ATK_ELEC,
	persona = "polydeuces",
	anim_stand = {SPR_PLAY, A, 8, "SPR2_STND"},
	anim_stand_hurt = {SPR_PLAY, A, 1, "SPR2_STND"},
	anim_stand_bored = {SPR_PLAY, A, B, A, B, A, B, A, B, 10, "SPR2_WAIT"},
	anim_guard = {SPR_PLAY, A, 1, "SPR2_WALK"},
	anim_move = {SPR_PLAY, A, B, C, D, E, F, G, H, 2, "SPR2_WALK"},
	anim_run = {SPR_PLAY, A, B, C, D, 2, "SPR2_RUN"},
	anim_atk = {SPR_PLAY, A, B, C, D, E, F, 1, "SPR2_ROLL"},
	anim_aoa_end = {SPR_PLAY, F, E, D, C, B, A, 1, "SPR2_ROLL"},
	anim_hurt = {SPR_PLAY, A, 35, "SPR2_PAIN"},
	anim_getdown = {SPR_PLAY, A, 1, "SPR2_PAIN"},
	anim_downloop = {SPR_PLAY, A, 1, "SPR2_PAIN"},
	anim_getup = {SPR_PLAY, A, B, C, D, 1, "SPR2_ROLL"},
	anim_death = {SPR_PLAY, A, 30, "SPR2_PAIN"},
	anim_revive = {SPR_PLAY, A, B, C, D, E, F, 1, "SPR2_ROLL"},
	anim_special1 = {SPR_PLAY, A, 2, "SPR2_SPNG"},
	anim_special2 = {SPR_PLAY, A, B, 2, "SPR2_FALL"},
	vfx_summon = {"sfx_knsum1", "sfx_knsum2", "sfx_knsum3", "sfx_knsum4", "sfx_knsum5"},
    vfx_skill = {"sfx_knskl1", "sfx_knskl2", "sfx_knskl3", "sfx_knskl4"},
    vfx_item = {"sfx_knhes1", "sfx_knhes2"},
    vfx_hurt = {"sfx_knhrt1"},
    vfx_hurtx = {"sfx_knhrx1"},
    vfx_die = {"sfx_kndie1"},
    vfx_heal = {"sfx_knhel1", "sfx_knhel2", "sfx_knhel3"},
    vfx_healself = {"sfx_knhes1", "sfx_knhes2"},
    vfx_kill = {"sfx_knkll1", "sfx_knkll2", "sfx_knkll3", "sfx_knkll4", "sfx_knkll5"},
    vfx_1more = {"sfx_kn1mr1", "sfx_kn1mr2", "sfx_kn1mr3"},
    vfx_crit = {"sfx_kncrt1", "sfx_kncrt2", "sfx_kncrt3", "sfx_kncrt4"},
    vfx_aoaask = {"sfx_knaoi1", "sfx_knaoi2", "sfx_knaoi3"},
    vfx_aoado = {"sfx_knaoa1", "sfx_knaoa2"},
    vfx_aoarelent = {"sfx_knhes1"},
    vfx_miss = {"sfx_knmis1"},
    vfx_dodge = {"sfx_kndge1", "sfx_kndge2"},
    vfx_win = {"sfx_knwin1", "sfx_knwin2", "sfx_knwin3", "sfx_knwin4", "sfx_knwin5"},
    vfx_levelup = {"sfx_knlvl1", "sfx_kn1mr1", "sfx_kn1mr2", "sfx_kncrt2", "sfx_knhel3"},
	skills = {"marakunda", "diarama", "matarunda", "masukunda", "ziodyne", "megaton raid", "dekaja", "iron fist"},
}

-- Battles
BTL_challengebtllist[#BTL_challengebtllist+1] = {
	name = "FL Chan Tier I",
	description = {"Fight FL Chan with all", "of her Tier I skills."},
	level = 18,
	music = "MBOSS1",
	time = TICRATE*600,
	items = {{"supercombiring", 5}, {"snuffsoul", 5}, {"1up", 5}, {"me patra gem", 5}},
	subpersonas = nil,
	waves = {
		{"flchan_tier1"}
	},
}

BTL_challengebtllist[#BTL_challengebtllist+1] = {
	name = "FL Chan Tier II",
	description = {"Fight FL Chan with all", "of her Tier II skills AND", "with Metal Sonic in tow."},
	level = 42,
	music = "EADVN1",
	time = TICRATE*900,
	items = {{"silvercombiring", 5}, {"chewing soul", 5}, {"super1up", 5}, {"dekaja gem", 5}},
	subpersonas = nil,
	waves = {
		{"flchan_tier2", "metalsonic_boss"}
	},
}

BTL_challengebtllist[#BTL_challengebtllist+1] = {
	name = "FL Chan Tier III and Knuckles",
	description = {"These two waifus pair up well together", "when FL Chan has reached her full", "potential. (Knuckles is also here as well.)"},
	level = 66,
	music = "BOSS3",
	time = TICRATE*1200,
	items = {{"hypercombiring", 5}, {"soul food", 5}, {"dekunda gem", 5}},
	subpersonas = nil,
	waves = {
		{"flchan_tier3", "kanade_boss", "knuckles_boss"}
	},
}