local function thicc(p)
	if p.jt == nil then
		p.jt = 0
		p.jp = false
		p.sp = false
		p.tk = false
		p.tr = false
	end
	if p.jt > 0 then
		p.jt = p.jt - 1
	end
	if p.jt < 0 then
		p.jt = p.jt + 1
	end
	if p.mo.momz < 1 then
		p.jp = false
	end
	if p.mo.state != S_PLAY_CLIMB and p.mo.eflags != p.mo.eflags | MFE_GOOWATER then
		if p.mo.momz > 0 and p.jp == false and p.mo.state != S_PLAY_FLY and p.mo.state != S_PLAY_SWIM and p.mo.state != S_PLAY_FLY_TIRED and p.mo.state != S_PLAY_WALK and p.mo.state != S_PLAY_RUN and p.mo.state != S_PLAY_WALK and p.mo.state != S_PLAY_BOUNCE_LANDING then
			p.jp = true
			p.jt = 5
		end
		if p.mo.momz > 0 and p.jt < 0 and p.mo.state != S_PLAY_FLY and p.mo.state != S_PLAY_SWIM and p.mo.state != S_PLAY_FLY_TIRED and p.mo.state != S_PLAY_WALK and p.mo.state != S_PLAY_RUN and p.mo.state != S_PLAY_WALK and p.mo.state != S_PLAY_BOUNCE_LANDING then
			p.jp = true
			p.jt = 5
		end
	elseif p.mo.eflags == p.mo.eflags | MFE_GOOWATER
		p.jp = true
	end
	if p.mo.state == S_PLAY_BOUNCE_LANDING then
		p.jt = -5
	end
	/*
	if p.pflags != p.pflags | PF_SPINNING or p.pflags == p.pflags | PF_JUMPED then
		p.sp = false
	end
	if p.pflags == p.pflags | PF_SPINNING and p.pflags != p.pflags | PF_JUMPED and p.sp == false and p.jt < 1 then
		p.sp = true
		p.jt = -5
	end
	*/
	if p.pflags != p.pflags | PF_THOKKED then
		p.tk = false
	end
	if p.pflags == p.pflags | PF_THOKKED and p.tk == false then
		p.tk = true
		p.jt = 5
	end
	if p.mo.state != S_PLAY_FLY_TIRED then
		p.tr = false
	end
	if p.mo.state == S_PLAY_FLY_TIRED and p.tr == false then
		p.tr = true
		p.jt = 5
	end
	p.maths = p.jt*FRACUNIT
	p.maths = p.maths / 10
	p.mo.spriteyscale = p.maths + FRACUNIT
	
	p.maths = p.jt*p.spinheight
	if p.mo.state != S_PLAY_ROLL then
		p.maths = p.jt*p.height
	end
	p.maths = p.maths / 20
	p.mo.spriteyoffset = -1*p.maths
	
	p.maths = p.jt*FRACUNIT
	p.maths = p.maths / 10
	p.maths = p.maths*-1
	p.mo.spritexscale = p.maths + FRACUNIT
end
addHook("PlayerThink", thicc)
local function tailsthink(mo)
	mo.spriteyscale = mo.tracer.spriteyscale
	mo.spritexscale = mo.tracer.spritexscale
	mo.spriteyoffset = mo.tracer.spriteyoffset
end
addHook("MobjThinker", tailsthink, MT_TAILSOVERLAY)