//animation behaviors. all animation related tweaks go here
addHook("ThinkFrame", do
	for player in players.iterate
		if player.mo.skin == "demosonic" and player.mo.valid
			if player.mo.sprung == nil
			or (player.mo.eflags & MFE_JUSTHITFLOOR)
				player.mo.sprung = false
			end
			if (player.mo.eflags & MFE_SPRUNG)
				player.mo.sprung = true
			end

		//spring falling animation handler
			if (player.mo.skin == "demosonic" and player.mo.valid)
				if (player.mo.state == S_PLAY_FALL)
				and not (player.pflags & PF_JUMPED)
				and not (player.pflags & PF_THOKKED)
				and player.mo.sprung == true
					player.mo.state = S_PLAY_WALK
				end
			end
		end
	end
end)
