Pickpocket’инг
К вопросу об автоатаке, кстати.Ни в одной синглплеерской RPG не сделан правильно пикпокетинг (и все остальные события с вероятностями). Потому что украден из настолок. В настолках игрок говорит «а теперь я нежно запускаю руку в его карман» и бросает кубик. Если получилось — то получилось.
В компьютерных РПГ все так же, с «маленьким» нюансом — есть кнопка «save/load». При достаточном терпении бросание кубика теряет смысл.
А теперь — как правильно. При генерации игрового мира в начале игры каждому персонажу прописывается не только сложность пикпокетинга, но и твой «бросок кубика» на все случаи.
Voila!
Update. Понятно, что «хранить все броски» — это условность, в реальности же генератор случайных чисел псевдослучаен и даже seed можно не хранить, не говоря уже о каждом броске. Вместо seed-а можно использовать дату начала игры * ID персонажа * ID действия. Так и результат будет и постоянен при загрузке и случаен в каждой игре.