// Flickies 2.1 - Ported by Endless

freeslot(
	"MT_OLDBIRD",
	"S_OLDBIRD_STND",
	"S_OLDBIRD_WAT1",
	"S_OLDBIRD_WAT2",
	"S_OLDBIRD_WAT3",
	"SPR_BIRD"
)

mobjinfo[MT_FLICKY_01] = {
	//$Name Old Blue Bird
	//$Sprite BIRDA1
	//$Category Legacy
	doomednum = 194,
	spawnstate = S_OLDBIRD_STND,
	spawnhealth = 3,
	seestate = S_OLDBIRD_STND,
	reactiontime = 32,
	painchance = 200,
	raisestate = S_NULL,
	deathstate = S_NULL,
	deathsound = NULL,
	speed = 8,
	radius = 16*FRACUNIT,
	height = 16*FRACUNIT,
	flags = MF_NOCLIPTHING|MF_FLOAT|MF_NOGRAVITY
}

states[S_OLDBIRD_STND] =	{SPR_BIRD,	A,	1,	A_FaceTarget,	0,	0,	S_OLDBIRD_WAT1}
states[S_OLDBIRD_WAT1] =	{SPR_BIRD,	A,	1,	A_Forcestop,	0,	0,	S_OLDBIRD_WAT2}
states[S_OLDBIRD_WAT2] =	{SPR_BIRD,	A,	4,	A_Chase,	0,	0,	S_OLDBIRD_WAT3}
states[S_OLDBIRD_WAT3] =	{SPR_BIRD,	B,	4,	A_Chase,	0,	0,	S_OLDBIRD_WAT2}

//Blue bird is fixed and can spawn in game

freeslot(
	"MT_OLDBUN",
	"S_OLDBUN_STND",
	"S_OLDBUN_WAT1",
	"S_OLDBUN_WAT2",
	"S_OLDBUN_WAT3",
	"S_OLDBUN_WAT4",
	"S_OLDBUN_WAT5",
	"S_OLDBUN_WAT6",
	"S_OLDBUN_WAT7",
	"S_OLDBUN_WAT8",
	"S_OLDBUN_WAT9",
	"S_OLDBUN_WAT10",
	"SPR_BUNY"
)

mobjinfo[MT_FLICKY_02] = {
	//$Name Old Bunny
	//$Sprite BUNYA1
	//$Category Legacy
	doomednum = 195,
	spawnstate = S_OLDBUN_STND,
	spawnhealth = 3,
	seestate = S_OLDBUN_WAT1,
	reactiontime = 32,
	painchance = 200,
	raisestate = S_NULL,
	deathstate = S_NULL,
	deathsound = NULL,
	speed = 8,
	radius = 16*FRACUNIT,
	height = 16*FRACUNIT,
	flags = MF_NOCLIPTHING
}

states[S_OLDBUN_STND] =	{SPR_BUNY,	A,	4,	A_FaceTarget,	0,	0,	S_OLDBUN_WAT1}
states[S_OLDBUN_WAT1] =	{SPR_BUNY,	B,	2,	A_BunnyHop,	6,	3,	S_OLDBUN_WAT2}
states[S_OLDBUN_WAT2] =	{SPR_BUNY,	B,	2,	A_BunnyHop,	6,	3,	S_OLDBUN_WAT3}
states[S_OLDBUN_WAT3] =	{SPR_BUNY,	B,	2,	A_Chase,	0,	0,	S_OLDBUN_WAT4}
states[S_OLDBUN_WAT4] =	{SPR_BUNY,	B,	2,	A_Chase,	0,	0,	S_OLDBUN_WAT5}
states[S_OLDBUN_WAT5] =	{SPR_BUNY,	B,	2,	A_Chase,	0,	0,	S_OLDBUN_WAT6}
states[S_OLDBUN_WAT6] =	{SPR_BUNY,	B,	2,	A_Chase,	0,	0,	S_OLDBUN_WAT7}
states[S_OLDBUN_WAT7] =	{SPR_BUNY,	B,	2,	A_Chase,	0,	0,	S_OLDBUN_WAT8}
states[S_OLDBUN_WAT8] =	{SPR_BUNY,	B,	2,	A_Chase,	0,	0,	S_OLDBUN_WAT9}
states[S_OLDBUN_WAT9] =	{SPR_BUNY,	A,	64,	A_none,	0,	0,	S_OLDBUN_WAT2}

//Old bunny is fixed and will spawn in game

freeslot(
	"MT_BUBBIRD",
	"S_BUBBIRD_STND",
	"S_BUBBIRD_FLY1",
	"S_BUBBIRD_FLY2",
	"S_BUBBIRD_FLY3",
	"S_BUBBIRD_STND1",
	"S_BUBBIRD_FLY4",
	"S_BUBBIRD_FLY5",
	"S_BUBBIRD_FLY6",
	"SPR_RBRD",
	"SPR_ABRD"
)

mobjinfo[MT_BUBBIRD] = {
	//$Name Old Bubble Bird
	//$Sprite RBRDA1
	//$Category Legacy
	//$Flags8Text No Bubble
	doomednum = 193,
	spawnstate = S_BUBBIRD_STND,
	spawnhealth = 3,
	seestate = S_BUBBIRD_STND,
	reactiontime = 32,
	painchance = 200,
	raisestate = S_NULL,
	deathstate = S_NULL,
	deathsound = NULL,
	speed = 8,
	radius = 16*FRACUNIT,
	height = 16*FRACUNIT,
	flags = MF_NOCLIPTHING|MF_FLOAT|MF_NOGRAVITY
}

states[S_BUBBIRD_STND] =	{SPR_RBRD,	A,	1,	A_FaceTarget,	0,	0,	S_BUBBIRD_FLY1}
states[S_BUBBIRD_FLY1] =	{SPR_RBRD,	A,	1,	A_Forcestop,	0,	0,	S_BUBBIRD_FLY2}
states[S_BUBBIRD_FLY2] =	{SPR_RBRD,	A,	4,	A_Chase,	0,	0,	S_BUBBIRD_FLY3}
states[S_BUBBIRD_FLY3] =	{SPR_RBRD,	B,	4,	A_Chase,	0,	0,	S_BUBBIRD_FLY2}

addHook("MapThingSpawn", function(mo, mthing)
	if not (mo and mo.valid
	and mthing and mthing.valid)
		return
	end
	
	if (mthing.options & MTF_AMBUSH)
		mo.state = S_BUBBIRD_STND1
	end
end, MT_BUBBIRD)


states[S_BUBBIRD_STND1] =	{SPR_ABRD,	A,	1,	A_FaceTarget,	0,	0,	S_BUBBIRD_FLY4}
states[S_BUBBIRD_FLY4] =	{SPR_ABRD,	A,	1,	A_Forcestop,	0,	0,	S_BUBBIRD_FLY5}
states[S_BUBBIRD_FLY5] =	{SPR_ABRD,	A,	4,	A_Chase,	0,	0,	S_BUBBIRD_FLY6}
states[S_BUBBIRD_FLY6] =	{SPR_ABRD,	B,	4,	A_Chase,	0,	0,	S_BUBBIRD_FLY5}

//Bubble bird/Old red bird is fixed and will spawn in game

freeslot(
	"MT_OLDCOW",
	"S_OLDCOW_STND",
	"S_OLDCOW_WAT1",
	"S_OLDCOW_WAT2",
	"S_OLDCOW_WAT3",
	"S_OLDCOW_WAT4",
	"SPR_COWZ"
)

mobjinfo[MT_FLICKY_11] = {
	//$Name Old Cow
	//$Sprite COWZA1
	//$Category Legacy
	doomednum = 192,
	spawnstate = S_OLDCOW_STND,
	spawnhealth = 3,
	seestate = S_OLDCOW_STND,
	reactiontime = 32,
	painchance = 200,
	raisestate = S_NULL,
	deathstate = S_NULL,
	deathsound = NULL,
	speed = 4,
	radius = 16*FRACUNIT,
	height = 16*FRACUNIT,
	flags = MF_NOCLIPTHING
}

states[S_OLDCOW_STND] =	{SPR_COWZ,	A,	4,	A_FaceTarget,	0,	0,	S_OLDCOW_WAT1}
states[S_OLDCOW_WAT1] =	{SPR_COWZ,	A,	4,	A_Chase,	0,	0,	S_OLDCOW_WAT2}
states[S_OLDCOW_WAT2] =	{SPR_COWZ,	B,	4,	A_Chase,	0,	0,	S_OLDCOW_WAT3}
states[S_OLDCOW_WAT3] =	{SPR_COWZ,	C,	4,	A_Chase,	0,	0,	S_OLDCOW_WAT4}
states[S_OLDCOW_WAT4] =	{SPR_COWZ,	D,	4,	A_Chase,	0,	0,	S_OLDCOW_WAT1}

//Old cow is broken and can't spawn in game //update Old Cow is now fixed so it can now spawn in game

freeslot(
	"MT_CHIC",
	"S_CHIC_STND",
	"S_CHIC1",
	"S_CHIC_HOP",
	"S_CHIC_FLY1",
	"S_CHIC_FLY2",
	"SPR_CHIC"
)

mobjinfo[MT_FLICKY_03] = {
	//$Name Old Chicken
	//$Sprite CHICA1
	//$Category Legacy
	doomednum = 191,
	spawnstate = S_CHIC_STND,
	spawnhealth = 3,
	seestate = S_CHIC_STND,
	reactiontime = 32,
	painchance = 200,
	raisestate = S_NULL,
	deathstate = S_NULL,
	deathsound = NULL,
	speed = 1,
	radius = 16*FRACUNIT,
	height = 16*FRACUNIT,
	flags = MF_NOCLIPTHING|MF_FLOAT
}
states[S_CHIC_STND] =	{SPR_CHIC,	A,	2,	A_FaceTarget,	0,	0,	S_CHIC1}
states[S_CHIC1] =	{SPR_CHIC,	A,	7,	A_Chase,	3,	0,	S_CHIC_HOP}
states[S_CHIC_HOP] =	{SPR_CHIC,	A,	1,	A_BunnyHop,	4,	2,	S_CHIC_FLY1}
states[S_CHIC_FLY1] =	{SPR_CHIC,	B,	2,	A_ChickenCheck,	0,	0,	S_CHIC_FLY2}
states[S_CHIC_FLY2] =	{SPR_CHIC,	C,	2,	A_none,	0,	0,	S_CHIC1}

//Old chicken is broken and can't spawn in game //update Old chicken is now fixed so it can now spawn in game

freeslot(
	"MT_MOUSE",
	"S_MOUSE_STND",
	"S_MOUSE_WAT1",
	"S_MOUSE_WAT2",
	"SPR_MOUS"
)

mobjinfo[MT_FLICKY_12] = {
	//$Name Old Mouse
	//$Sprite MOUSA1
	//$Category Legacy
	doomednum = 190,
	spawnstate = S_MOUSE_STND,
	spawnhealth = 3,
	seestate = S_MOUSE_STND,
	reactiontime = 32,
	painchance = 200,
	raisestate = S_NULL,
	deathstate = S_NULL,
	deathsound = NULL,
	speed = 20*FRACUNIT,
	radius = 16*FRACUNIT,
	height = 16*FRACUNIT,
	flags = MF_NOCLIPTHING
}

states[S_MOUSE_STND] =	{SPR_MOUS,	A,	4,	A_FaceTarget,	0,	0,	S_MOUSE_WAT1}
states[S_MOUSE_WAT1] =	{SPR_MOUS,	A,	2,	A_MouseThink,	0,	0,	S_MOUSE_WAT2}
states[S_MOUSE_WAT2] =	{SPR_MOUS,	B,	2,	A_MouseThink,	0,	0,	S_MOUSE_WAT1}

//Old mouse is REALLY broken and WILL GLITCH the other flickies and make they not spawn //update Old mouse is now fixed so it can now spawn in game

freeslot(
	"MT_BSZFISH",
	"S_BSZFISH",
	"SPR_OFIH" //It's a fish/animal and it's from 2.1 so it counts lol
)

mobjinfo[MT_BSZFISH] = {
	//$Name BSZ FISH
	//$Sprite OFIH80
	//$Category Legacy
	doomednum = 1472,
	spawnstate = S_BSZFISH,
	spawnhealth = 1,
	seestate = S_BSZFISH,
	reactiontime = 32,
	painchance = 200,
	raisestate = none,
	deathstate = none,
	deathsound = none,
	speed = 3,
	radius = 24*FRACUNIT,
	height = 32*FRACUNIT,
	flags = MF_NOCLIP|MF_SCENERY|MF_NOGRAVITY
}

states[S_BSZFISH] =	{SPR_OFIH,	A,	-1,	A_None,	0,	0,	S_BSZFISH}