Guarda ajax e javascript usalo solo ed esclusivamente per visualizzare non fargli mai fare nulla di critico senno possono nascere enormi problemi.
E cmq nn saprei io farei fare tutto lato server con ajax che ogni tot secondi controlla lo stato e aggiorna la pagina.
Per le temporizzazioni io farei circa come dici te ma con un'accorgimento.
1 script lato server di controllo personaggio.
2 ajax che invoca tale script
Lancio lo script js con window.setInterval o setTimeout e gli faccio eseguire lo script di controllo.
Leggo i risultati dello script e li gestisco nella pagina.
Cosi' non sara' mai js a temporizzare ma lo script di controllo che puo' essere invocato e controllato meglio. COsi' se una cosa deve rompersi a tempo x sara' il server a deciderlo. Non la chiamata ajax. Che succede se disabilito i js sulla pagina ?? e Inizio a inviare request a mano nel server?????
Pensaci.
Eppoi joomla a me non piace.