Also PFT isn't the only thing that is used to do chains for assassins. You have concealment and or In Plan Sight. In Plan Sight could be treated like PFT but way concealment works is, it puts you in stealth after every ca or auto attack. IPS and concealment are tied to the same timer so you use one or the other.
When assassins run chains most run 2 pirmary chains. The main one is the PFT chain that they use every invis attack in the book fallowed by FF. When FF is usable again they then use the IPS/Concealment chain that uses any invis CA that is ready to be used fallowed by FF. In theory You do one PFT chain fallowed by the IPC/Concealment chain when FF is ready. By the next time FF is ready so is PFT and ALL invis attacks so you start your chain rotation over again.
If it was me coding it and didn't want the chain tabs. I would change ranger/assassin tab to predator and put a PFT list and add an IPS/Con list for assassins. Then you would just have two extra loops you would have to deal with on two classes. I wouldn't worry about looping priority checks while in the chain because once you start one you are committed to it. Of course you would have to adds some basic break checks for this and that but I don't think it would have to be as complicated logic as the current chain code is. Yes I know this is still basic chain tabs but I don't see any way around it if you want your bot to support every class.