Эм. к сожалению тут труднее ответить что-либо кроме
http://ru2.php.net/manual/ru/function.mt-rand.php
это лучшее что есть в пхп

(хотя и у нее есть глючки на небольших выборках. Например: 3 раза подряд зеро выпадало в казино)
Как я указал, у нас много параметров, в рассчете многих из них есть случайная величина, и поэтому от случайности может выйти очень большая зависимость. Ну что-то на вроде:
по персу бьют, увернется ли? РАНДОМ
не увернулся, бьют в блок? нет. парировал? РАНДОМ
парировал, пробили ли блок? РАНДОМ
ага блок пробили, а пробой брони сработает? РАНДОМ
ага броню тоже пробили, а концентрация сработает? РАНДОМ
не сработала. а у перса сработает зеркальный удар? РАНДОМ
а поглощение души? РАНДОМ
а... и так далее.
P.S. за точность порядка обсчета не ручаюсь
