vom prinzip her is das eigentlich dem atb gar nicht so unähnlich.

du legst dir eine feste grenze fest, die die kämpfer überschreiten müssen. das machst du, in dem du zu einer variablen die agilität immer wieder addierst, nur diesmal eben ohne wartezeit zwischendrin. wenn einer über dem limit ist, ziehst du genau dieses von seiner variablen ab.
dann brauchst du noch variablen für die verschiedenen plätze der ctb leiste. wie viele das sind, kannst du ja selbst entscheiden.
also wenn der 1. kämpfer z.B. über dem limit ist, gibst du der variablen für den ersetn platz den wert 1, beim 2. kämpfer 2, beim 3. 3 usw.
wenn du das limit von seinem ctb wert wieder abgezogen hast (er muss ja "neu anfangen") gehst du wieder an den anfang des events und erhöhst die ctb werte der kämpfer wieder um ihre agilitätswerte, bis der nächste über dem limit ist.
dann machst du das selbe wie oben beschrieben, nur musst du die ID eben in die variable für den 2. platz speichern.
das ganze dann solange wiederholen, bis alle plätze voll sind.

das is so der grobe aufbau, vielleicht kannste ja was damit anfangen ^^