-- Script by ChrisFurry
-- Creates custom speedlines for a specific character
freeslot(
-- Sprite
"SPR_DFSL",
-- States
"S_DUFFY_SPEEDLINES1",
"S_DUFFY_SPEEDLINES2",
"S_DUFFY_SPEEDLINES3",
"S_DUFFY_SPEEDLINES4",
"S_DUFFY_SPEEDLINES5",
"S_DUFFY_SPEEDLINES6",
"S_DUFFY_SPEEDLINES7",
"S_DUFFY_SPEEDLINES8"

)

states[S_DUFFY_SPEEDLINES1] = {
	sprite	= SPR_DFSL,
	frame	= FF_FULLBRIGHT|FF_PAPERSPRITE, --FF_PAPERSPRITE
	tics	= 1,
	action	= nil,
	var1	= 0,
	var2	= 0,
	nextstate	= S_DUFFY_SPEEDLINES2
}
states[S_DUFFY_SPEEDLINES2] = {
	sprite	= SPR_DFSL,
	frame	= 1|FF_FULLBRIGHT|FF_PAPERSPRITE, --FF_PAPERSPRITE
	tics	= 1,
	action	= nil,
	var1	= 0,
	var2	= 0,
	nextstate	= S_DUFFY_SPEEDLINES3
}
states[S_DUFFY_SPEEDLINES3] = {
	sprite	= SPR_DFSL,
	frame	= 2|FF_FULLBRIGHT|FF_PAPERSPRITE, --FF_PAPERSPRITE
	tics	= 1,
	action	= nil,
	var1	= 0,
	var2	= 0,
	nextstate	= S_DUFFY_SPEEDLINES4
}
states[S_DUFFY_SPEEDLINES4] = {
	sprite	= SPR_DFSL,
	frame	= 3|FF_FULLBRIGHT|FF_PAPERSPRITE, --FF_PAPERSPRITE
	tics	= 1,
	action	= nil,
	var1	= 0,
	var2	= 0,
	nextstate	= S_DUFFY_SPEEDLINES5
}
states[S_DUFFY_SPEEDLINES5] = {
	sprite	= SPR_DFSL,
	frame	= 4|FF_FULLBRIGHT|FF_PAPERSPRITE, --FF_PAPERSPRITE
	tics	= 1,
	action	= nil,
	var1	= 0,
	var2	= 0,
	nextstate	= S_DUFFY_SPEEDLINES6
}
states[S_DUFFY_SPEEDLINES6] = {
	sprite	= SPR_DFSL,
	frame	= 5|FF_FULLBRIGHT|FF_PAPERSPRITE, --FF_PAPERSPRITE
	tics	= 1,
	action	= nil,
	var1	= 0,
	var2	= 0,
	nextstate	= S_NULL
}


addHook("MobjThinker",function(mo)
    if(not mo.target or not mo.target.valid)then return end
    if(mo.target.skin ~= "duffy" or mo.state ~= S_FASTLINE1)then return end
    mo.state = S_DUFFY_SPEEDLINES1
    mo.renderflags = $ | RF_FULLBRIGHT
    mo.color = mo.target.player.skincolor
    if mo.target.player.skincolor == SKINCOLOR_DAGGER
        mo.color = SKINCOLOR_DAGGERFIX
    else
        mo.color = mo.target.player.skincolor
    end
end,MT_FASTLINE)